Issue → RMA → resolution
Order-linked cases, return instructions, exchanges and separate refund records.
Your customers, returns, warehouse and stock — connected in one operating platform.
Built around the way your team works. Delivered in stages you can see, test and approve.
Explore the conceptLabel and contents photos stay with the package.
Concept animation · illustrative dataShopify remains the sales system. ShipStation keeps its picking and packing workflows. CTT Ops becomes the place where your team resolves exceptions, receives goods and manages physical stock.
Order-linked cases, return instructions, exchanges and separate refund records.
Required photos, internal labels and a review queue for unknown shipments.
Partial deliveries, inspection, accepted stock and auditable landed costs.
Warehouse or dropship sourcing, bundle components and controlled channel sync.
These original concept screens use sample data. They illustrate the proposed workflows and visual direction; they are not a working Shopify or warehouse integration.
Concept direction: clear hierarchy, generous spacing, consistent rounded surfaces and restrained color, informed by your design reference. The interface here is newly created for this proposal.
Unidentified packages, unmatched products and failed syncs stay visible until someone resolves them.
Customer refunds, supplier reimbursements and physical inventory each have their own state and history.
A package arriving does not automatically make its contents sellable stock.
Each estimate covers implementation, relevant tests, documentation and a staging demo. These are planning ranges, not a fixed quote for an unreviewed integration. We confirm each milestone's scope and cap before starting it.
Release A gives your team customer issues, returns, package intake and labels. Then we add stock control, connected channels and replenishment.
Timing basis: finish windows are cumulative working weeks from an agreed kickoff at 30 hours/week, not calendar commitments. Client review, API approval and access delays are additional. The 1–3 month job window is best treated as the first release. Extra team capacity can shorten the programme after we agree staffing, responsibilities and a weekly budget; it is not assumed in these dates.
An initial, explicitly selected automation package: for example Zoho Mail thread ingestion or Discord alerts. Advanced forecasting, seasonality and additional integrations need their own discovery and estimate. This allowance does not cover every potential M12 feature. M10 uses transparent formulas; AI forecasting is not required.
React and TypeScript, with Supabase and PostgreSQL. Server-side business rules, private files and a traceable history of important changes.
Responsive employee and admin interfaces; Supabase authentication, row-level permissions and private file storage. Shared records link issues, packages, purchase orders, inventory movements and fulfillment. Global search and notifications build on the same access rules.
Server-side Shopify, ShipStation and eBay adapters with verified events, background processing, retries and reconciliation. One agreed fulfillment source of truth prevents the same shipment reducing stock twice. Secrets remain server-side.
Master inventory owns physical stock. Shopify variants, supplier SKUs, aliases and kit components map to it. Unmapped listings are held for review before stock is published.
Use transactional inventory movements, stable event identifiers and reconciliation. Warehouse reservations release on source changes; dropship items do not deduct warehouse stock.
Mark estimates and provisional costs explicitly. Apply quantity-based freight allocation by default, preserve original movements, and record later cost corrections with an audit trail. Agree the treatment of already-sold units before implementation.
Validate a 4×6 print on your LP320 and Mac in M4. Start with a browser/PDF print workflow; unattended printing or a custom driver bridge would be a separate scope if the warehouse requires it.
You work directly with Rashin. Development and QA support are agreed around each release. We use Claude Code and Codex to help with implementation, debugging and tests, while reviewing the code and checking real workflows.
Review real examples, data and permissions. Agree the milestone scope, acceptance checks, estimate and spend cap.
Work in small branches and pull requests. Share progress and decisions, with an early staging walkthrough.
Check permissions, retries, duplicates, partial receipts, source changes and cost corrections—not only the happy path.
Demo the agreed scenarios, record limitations, provide handover notes and obtain acceptance before the next scope.
These projects show our experience with operational workflows, permissions, payments and traceable data. The CTT Ops warehouse and channel integrations would be built specifically for your business.
Customers, quotes, scheduling, jobs, invoices and payments in one platform, built with Next.js, TypeScript and PostgreSQL.
Relevant here: connected records, role-based workflows, payment handling and business operations. Rashin's work includes checkout shared by the website and voice agent, with tests around payment branches and customer context.
View BookingOps ↗Our team's laboratory operations portal connects submissions, sample records, CSV imports, review and approval workflows, and reporting.
Relevant here: data validation, exceptions requiring review, organization-level access and reports tied to the underlying records. Rashin's contribution includes workflow definition, acceptance criteria and delivery handoff.
A walkthrough can be discussed through Upwork, subject to client permission.Rashin leads the engagement and technical decisions, with up to 30 hours/week of personal availability. Additional developers and QA are scheduled by agreement and included in the approved work budget. We do not assume an unlimited team or silently add parallel billable hours.
The listing is hourly. The default proposal is $40/hour, organized into separately approved milestones. No commitment to all 12 milestones is needed to begin.