Case study
Finqu Commerce
Long-running full-stack work on the merchant-facing application of a multi-tenant ecommerce platform, across catalog, orders, customers, pricing, integrations, and background processing.
overview
The merchant-facing core
Finqu Commerce is the merchant-facing application used to run an online business. It brings together product and catalog work, inventory, pricing, orders, customers, discounts, sales channels, integrations, domains, and account-related workflows.
Over multiple generations of the application, I worked across its JavaScript and Vue frontend, PHP backend, APIs, data, integrations, and background processing. A lot of that work also crossed into the shared backend and domain services used by Commerce, APIs, and other parts of the platform.
architecture
One product, several technical generations
The application carries established jQuery and Handlebars interfaces alongside newer Vue surfaces, all connected to a PHP application and shared services. Product work often means understanding which generation owns the behavior before deciding where a change belongs.
system flow
Following a feature through the stack
- 01Merchant workflow
Start with the operation the merchant needs to complete.
- 02Application logic
Trace frontend state, validation, and PHP behavior.
- 03Domain and data
Follow rules into shared services and SQL-backed persistence.
- 04External path
Connect APIs, integrations, sales channels, or delivery work.
- 05Background work
Move imports, exports, and other asynchronous tasks off the request path.
engineering
Representative product areas
- Products, categories, variants, inventory, media, and pricing
- Orders, customers, discounts, and merchant workflows
- Apps, integrations, domains, and sales-channel configuration
- Imports, exports, scheduled processing, and integration delivery
- Frontend and backend evolution across JavaScript, Vue, PHP, and shared services
implementation
Working safely in a mature product
Changes in a long-running commerce product rarely stay inside one file or service. The useful work is tracing the current promise across layers, preserving the rules that still matter, and testing the path merchants actually use.
Next step
Interested in this kind of work?
I'd be happy to talk through the decisions behind this case or the kind of problem your team is working on.