About the project
Client Portal is a commercial application for managing B2B and B2C orders for automotive ECU file modifications for motorsport use on closed circuits. Separate customer and admin panels cover the process from uploading a file and selecting services, through payment, to downloading the finished file.
The project brings orders, files, and communication into one place, giving customers a way to track their orders and administrators access to the full context of each request.

1 / 9
Key features
- Customer panel: placing orders, selecting modifications, uploading
.binfiles, and viewing order history and statuses. - Admin panel: viewing all orders, filtering, updating statuses, and uploading finished files.
- Online payments: Paynow integration with order status updates after payment confirmation.
- In-app messaging: conversations linked to individual orders, keeping discussions attached to the relevant request.
- Email notifications: order information, status updates, and payment reminders.
- Two languages: Polish and English interfaces and email messages.
Payment flow decision
The client proposed adding a wallet with a balance that could be used for future orders. I felt that, in this case, it would introduce an extra step without providing enough benefit to the user. I suggested paying directly for each order, which simplified the process of placing and paying for orders.
Order workflow
- Placing an order: the customer uploads a
.binfile, selects modifications, and adds any notes. - Payment: the application redirects to Paynow, and payment confirmation updates the order status.
- Processing: the administrator handles the order in the admin panel, updates its status, and modifies the file.
- Delivery: the finished file becomes available for download in the customer's order details.
Tech stack
- Next.js: the application interface and server logic.
- Prisma & Supabase: storage for users, orders, and messages.
- Better Auth: authentication and session management, with separate customer and admin access.
- Cloudflare R2: storage for original uploads and finished files.
- Paynow: online payments and webhook confirmations.
- Resend: email notifications.
- Tailwind CSS & shadcn/ui: panel interfaces.
- I18n: Polish and English versions of the application.
- Sentry and Cloudflare Turnstile: error monitoring and bot protection.
Key business benefits
- Organized order handling: files, payments, statuses, and discussions are linked to a single order.
- Customer self-service: access to order history, progress, and finished files without having to contact support each time.
- Less manual work: payment confirmations and email notifications support day-to-day order handling.
- International customer support: Polish and English interfaces and system emails.







