Three refund flows
Full, partial and general refunds — three separate branches of state, money and documents. They are easy to confuse at the UI level, so each flow walks the user down its own route with its own checks and confirmations.
A B2B platform for corporate travel: a company books trips for employees, approves them, and handles documents and refunds. Remix + React.
Companies send employees on business trips: booking, approvals, reporting. The platform needed a personal dashboard, company and employee management, a catalog, cart, chat, news, notifications, documents and a security section.
The stack was set by the client: Remix + React, styles in SCSS with a PostCSS pipeline.
Full, partial and general refunds — three separate branches of state, money and documents. They are easy to confuse at the UI level, so each flow walks the user down its own route with its own checks and confirmations.
On a platform with lots of screens, consistency is the cheapest thing to lose. Shared Remix layout routes, reusable forms and a single SCSS pipeline kept the platform whole: a new screen is assembled from existing parts.
The primary background is Vue. Here — Remix with its data loaders and nested routes: data loads on the route, not in the component. The framework thinks differently, and that thinking had to be adopted, not overridden by habit.
The platform covers the full business-trip cycle — from picking in the catalog to getting money back.
A B2B platform, many screens, complex flows — let’s talk.