Job tracker for a joinery workshop
The workshop ran its jobs from a notebook, a cork board and the owner's memory. I built an app where the whole team sees what needs doing, who is doing it and by when. Staff check it on their phones, in the workshop or on site.
- Client
- Joinery workshop
- Scope
- Screen design, phone version, job board, tasks, installation calendar, roles and permissions

- Next.js
- React
- TypeScript
- Tailwind CSS
- Java
- Spring
Where the workshop started
In a small workshop a lot lives in someone's head: who is going to measure up, whether the fronts are back from the paint shop, whether the client has paid the deposit. When the owner is on site or on holiday, everyone calls them with every question.
Off-the-shelf project tools are built for offices. They have dozens of options a joiner does not need, and they charge every month for every person.
What I built
An app that shows the work the way it really happens. Every job moves through stages: measuring, design, materials, production, painting and installation. You can see at a glance where each job is and what it is waiting for.
- A board of all jobs with stages, deadlines and installation days
- "My day" for each employee: what to do today and what is overdue
- A calendar of measurements, installations and deadlines
- Reporting problems from site, with comments and photos
- Roles: staff do not see prices or data they do not need
Easy to use on a phone
Most people in a workshop are not at a desk, so the app is designed for phones first. It opens like a normal website, with nothing to install.
Changing a task status takes two taps: open the task and pick "In progress" or "Done". The office sees the change straight away, without phone calls.
The app belongs to the workshop
The code and the database run on a server the workshop owns. The workshop only pays for its own hosting. There is no subscription, no fee per user and no risk of someone raising prices or shutting the service down.
Client and job data stay with the owner. They order new features when they need them, and until then everything keeps working as delivered.
Screenshots




