// case study
Kuya Sharpens
A booking, job tracking, and shop management system for a mobile whetstone sharpening business, built to the same standard as software at large companies.
I built this for my own knife sharpening business.
- Next.js
- TypeScript
- Postgres
- Railway
- Square
// result
Under 3 weeks
from first commit to live in production
39
merged pull requests
65
automated test files
Nightly
database backups
As of November 2026.
// the business
The challenge
Kuya Sharpens is a mobile whetstone sharpening service. Knives get picked up, sharpened by hand, and brought back.
A sharpening job has more moving parts than an appointment. Someone has to know whose knives are in the shop, when each Pickup and Return happens, what was done to each knife, and how much life is left in each stone. A generic booking tool can schedule the visit, but it doesn't know what a knife is.
// decisions
What I decided
Model the real work
Each knife is its own record with a service history. Each job logs the steps, stone progressions, and time spent, so customers get a report of what was done.
Keep a person in charge of the schedule
Customers request a time, and the shop accepts it, suggests another, or declines. The software does the bookkeeping while the owner makes the call.
Measure what the business runs on
An insights dashboard shows time spent, stone usage, and compound usage, so pricing and purchasing can rest on recorded data.
Make every change safe
Each change runs through automated tests and gets its own preview environment. Database changes must succeed before a deploy goes out, and backups run every night.
// insights dashboard
See where the time and money go
Every logged job feeds a dashboard for the owner. It turns the work into plain answers, then calls out what's worth a look.
- Time per knife type and per step
- Materials cost per knife
- Stone and compound usage
- Wear forecast for every stone
- A weekly trend: is the work getting faster?

// tradeoffs considered
What I gave up, and why
Support multiple businesses from day one
the cost
More work up front, since every feature has to be scoped to a business.
why it was worth it
The app can be resold to other sharpeners on their own domains without a rewrite.
Web app first, native app later
the cost
No App Store presence for now.
why it was worth it
One codebase got the business running sooner.
Save booking drafts on the server
the cost
A little more backend work than saving them in the browser.
why it was worth it
Drafts will carry over to the native app instead of being stranded in one browser.
Take payment in person after the work
the cost
Less automation at checkout.
why it was worth it
The final price is confirmed at Pickup, and customers pay at Return once they have their knives back.
// shipped
What's running today
- Customer booking with shop approval
- Knife records with service history
- Work log with per-step timers
- Customer service reports
- Stone and compound tracking
- Insights dashboard
- Storefront with Square checkout
- Branded customer emails
- Nightly backups with a guarded restore
- A preview environment for every change


// what's next
- A dedicated admin app for running the shop on the go
- Offering the platform to other sharpeners
// next step
Tell me where the business is stuck.
Book a call and we'll find out whether custom software is the right fix. If it isn't, I'll tell you.