Foyshal Sarkar
← All work

Case study · Client project · Sep 2026

Repair By Engineer: booking, tracking and a workshop console

A live web system for an earbud and headphone repair shop in Dhaka. Customers book and track repairs without an account; the shop's staff run every job, payment and printed document from one console.

Role
Freelance developer: requirements with the shop, data model, build, deployment and data migration
Stack
Next.js 16 (App Router), React, Auth.js v5, PostgreSQL (postgres.js), Tailwind CSS, Vercel
Links
Live site · code is private because it belongs to the client
Home page of the Repair By Engineer website showing earbud cases and a Book a repair button
The public site. Booking, tracking and the staff sign-in sit on the same app.

Problem

The shop's first version stored its entire dataset as one JSON value. Every save rewrote everything, so two people saving at once could overwrite each other, and there was no sign-in. Customers had no online way to book a repair or check its progress.

Who uses it

Architecture

Requests from customers and staff go through Next.js route handlers and one repository module to PostgreSQL Customer browserbook, track (no account) Staff consoleadmin / engineer, phone-first Next.js 16 on Vercelpublic pages20 route handlersAuth.js sessions + role checksper-job authorizationrate-limited public trackingprintable memos, invoices Repository moduleall SQL in one placewrites the audit log PostgreSQL10 tables, unique phone keyself-running migrations

Key decisions

Security

Result

The system is live at repair-by-engineer-inky.vercel.app with public booking and tracking, and the shop's data was migrated into the new schema. It was built in 32 commits between 10 and 20 September 2026.

What I would do next

What I learned

← All work