Clients:

Internal Project

Category:

Custom Software / Business Operations Platform

Link:

See The Result

MYOS — A Local-Only Business Command Centre Built to Replace an Entire Software Stack

Client: Internal project · Luke Duff · Business Operations & Lead Generation Software

1 | Brief

Running a small web design and development business means spending a surprising amount of time inside other people’s software. Client records in one tool, project notes in another, invoices somewhere else, spreadsheets holding the parts nothing else covered, and a scattering of freelance tools on top. Nothing talked to anything else, and every subscription was a monthly cost for a fraction of the features.

MYOS was built to replace all of it with one application. It handles the day-to-day running of the business — clients, projects, invoices, quotes, tasks, expenses, subscriptions and calendar — and it also generates work: finding leads, auditing their existing websites, scoring them, and drafting outreach messages ready to be reviewed and sent by hand.

Because it holds real client information, MYOS is deliberately local-only. It runs on one Mac, binds to localhost, stores everything in a single SQLite database on disk and never syncs to a cloud service. That constraint shaped the whole architecture. This case study covers the scope and the engineering decisions behind it — the application itself is not public and there is no live link.

2 | Key Goals

  • Replace several paid subscriptions with one owned tool that fits how the business actually works, not how a generic SaaS product assumes it works.
  • Keep every piece of client data on one machine, with no cloud storage, no third-party account and no external database.
  • Cover both sides of the business in one place — delivery and admin on one hand, lead generation and outreach on the other.
  • Make automation assistive rather than autonomous, with a hard rule that no email is ever sent without a human clicking send.
  • Run at effectively zero cost by default, using local AI models, with paid models available only as a deliberate opt-in.
  • Build tooling that genuinely reduces manual work — website auditing, SEO tracking, WordPress fleet monitoring and content drafting — rather than another set of forms to fill in.
  • Keep it fast and stable on a single desktop machine, since a runaway process here takes the whole business offline.

3 | Solution Snapshot

Problem Solution Implemented
Business data spread across several unconnected subscription tools Built a single Next.js 16 application over SQLite and Drizzle ORM, with a schema now past a hundred tables covering clients, projects, invoices, quotes, tasks, expenses, subscriptions, bank transactions and communications. Schema changes go through a versioned migration runner that checksums already-applied migrations and aborts on drift.
Client data could not safely sit in a hosted product Made the app local-only by design — no cloud, no external auth, pinned to localhost, with the database file kept out of version control. Access is gated behind a rate-limited PIN screen with hashed tokens, and a maintained credential ledger records every secret, its scope and how to revoke it.
Automation that sends messages on your behalf is a real business risk Wrote a hard product doctrine into the codebase: MYOS never sends an email automatically. Every send is a manual human click. Anything that would have been an automated email becomes a task with a draft body attached instead. The test suite enforces it too — send-route tests disable the mail transport before running and are built to fail safe, so a crashed test run leaves sending switched off rather than switched on.
Finding and qualifying new work was slow and manual Built a lead pipeline that imports prospects, audits their websites with a server-side parser for SSL, mobile, SEO, conversion and design-age signals, grades them, and drafts personalised outreach for email, Instagram or WhatsApp — all queued as drafts for review, never sent automatically.
Ongoing client work needed monitoring that no single off-the-shelf tool covered Added a set of purpose-built modules: a Website Intelligence engine running 63 deterministic rules over crawled pages behind an SSRF-guarded, DNS-pinned crawler; a WordPress fleet watchtower tracking versions, vulnerabilities, SSL and uptime across client sites; a visual breakage diff; an SEO command centre with rank tracking and index monitoring; a blog content engine; and a site builder that turns a brief into a structured intermediate format and then a deployable bundle. Findings from any of them become tasks.
AI features could easily turn into an unpredictable monthly bill Made local models via Ollama the default path so the standard cost is £0, with paid models as a per-job opt-in. Every generation writes to a cost ledger, builds carry a per-build cost, and a monthly cap stops spend running away unnoticed.

4 | Impact

  • The business now runs from one application instead of a spread of unconnected subscription tools, with all client data held on a single machine rather than across several third-party services.
  • Admin and delivery sit alongside lead generation, so an audit of a prospect’s website, the quote that follows it, the project that comes out of it and the invoices against it all live in the same system.
  • The manual-send rule means the outreach and reminder features can be built out aggressively without any risk of the software emailing a client unprompted — the safeguard is in the code and in the tests, not just in the documentation.
  • Routine monitoring that used to be done by memory — SSL expiry, WordPress updates, ranking drift, indexing problems, broken pages — now surfaces automatically as tasks.
  • Running costs stay at zero for normal use because the AI work defaults to local models, with paid model spend a conscious choice that is metered and capped.
  • As a piece of engineering it is the largest project in the portfolio: a full-stack application with its own design system, migration discipline, security ledger and performance rules, built and maintained by one person.
Need custom software building for your business? Get in touch →

What are you waiting waiting for?

Start Your Project Today
Book a FREE Call
footer shape