Business management software
Live
Web · Progressive Web App
Fits, services, quotes, invoices and parts in one system: with the cost of every line beside the price, so you know the margin before the job leaves.
02 · Spec
| Platform | Web · Progressive Web App |
|---|---|
| Version | 2.3.0as of Aug 2026 |
| Status | Live |
| Audience | Independent bike shopsBike fitters · Mobile bike mechanics · Service departments in bike retail |
| Stack | Next.js 16 · React 19 · TypeScript · SupabasePostgreSQL · Tailwind CSS v4 · Vercel |
| Replaced | Setmore, Xero, spreadsheets, paperTenacious Systems manifest · as of Jul 2026 |
| Fit record | 14+ measurement pointsTenacious Systems manifest · as of Jul 2026 |
| Service workflow | 6 stagesTenacious Systems manifest · as of Jul 2026 |
03 · About
A bike-fitting and bike-service shop management system that keeps customers, bikes, fits, jobs, quotes, invoices and parts in one place: with cost and price on every line so profit is visible per job.
The Tenacious System runs a bike shop that does both fitting and mechanical service. A bike is checked in, scoped at the bench, quoted for the customer's approval, worked, billed and picked up: and every step stays attached to the bike rather than to a piece of paper. Each quote and invoice line carries what the shop paid as well as what the customer pays, so margin is visible while the job is being built rather than at year end. Cost and profit are internal only and never appear on the customer's copy. It is in daily production use at a single shop, on real customer and money data, and is built mobile-first for a mechanic holding a phone or an iPad at the stand, and ships with light and dark themes.
04 · Figures
Screenshots from the live site. No browser mockups: the product as deployed.





















05 · Features
Mechanics that are in the current build. Planned work stays out of this table until it ships.
Every bike in the shop moves through one explicit set of stages, from booked to picked up.
Build a quote from the work list and send the customer a link to approve it.
Every line carries what the shop paid as well as what the customer pays.
Convert an approved quote into an invoice and record how it was paid.
The bike is the record: fits, services, parts and ownership all hang off it.
Durable bike-pinned notes for near-future work, with a next-visit warning banner and an optional scheduled customer reminder email.
Record a full fit against the bike and compare it against the last one.
Check a whole household in at once; each bike becomes its own job.
One customer, every bike, and the history behind them.
A parts and labour catalogue with stock levels, and a list of what needs ordering.
Appointments on a calendar so the bench is not over-booked.
Revenue against cost for the period, not just what was billed.
What is in the shop, what is owed, and what is booked: on one screen.
06 · Updates
| Aug 2026 | Future Notes: durable bike notes, next-visit banner and optional reminder emailNear-future work pins to the bike and survives across visits. Active notes raise a warning banner at check-in and in service. Optional customer reminder emails use 1/2/3/6 month presets and send in a morning batch once Resend is connected. Product version remains 2.3.0. |
|---|---|
| Jul 2026 | Supplementary billing, approval history and a clearer build listWork added to a job after the customer has approved it is now tracked and billed properly, approvals are recorded as an auditable history, and removed lines can be undone from the build list. |