Skip to content

breadback00-dev/one-system

Repository files navigation

One System

An operator platform for appointment-based businesses. Capture, nurture, reactivate, review, and convert — on one platform with shared data and workflows.

Status: Reactivation module shipped end-to-end. Modules 1, 3, 4, 5 scoped, architected, and surface-complete. Portfolio build — actively under development.


Demo status

  • Local demo: npm run dev starts the dashboard app at http://localhost:3000.
  • Public demo: not published yet.
  • Dashboard route: /dashboard
  • Deepest module: /reactivation

The repo should not be treated as a fully deployed SaaS. It is a portfolio build with a substantial local dashboard and operator-platform architecture, but the public demo and walkthrough still need to be published.


What it is

Local appointment businesses (dental, home services, law, fitness, clinics, salons — any business that lives on leads, reviews, and repeat visits) run their growth stack across five disconnected tools: CRM, SMS gateway, review platform, ad accounts, booking tool. Revenue leaks in the gaps — dormant customers never reactivated, reviews never requested, leads followed up too slowly, and no single answer to "what actually drove this month?"

One System is the operator surface that unifies those flows on one shared data model.

Platform shape

Five modules on one platform:

  1. Lead Capture + Instant Follow-Up — inbound intake, missed-call text-back, qualification, booking handoff
  2. Database Reactivation — dormant audience selection, cooldown-aware outreach, reply + booking tracking (flagship, fully shipped)
  3. Reviews & Referrals — post-visit trigger flows, AI-drafted responses, referral loop
  4. Paid Ads + Lead Nurturing — source attribution, cost-per-booking, nurture sequences
  5. Sales Enablement — consultation transcripts, objection libraries, post-call follow-up

All five share a single workspace, contact graph, and event timeline.


Stack

  • Next.js 15 (App Router, server components, server actions) + React 19
  • TypeScript strict, Prisma 6 + PostgreSQL for persistence
  • Twilio for SMS, Clerk for auth (integration in progress)
  • Vercel + Neon for hosting
  • Monorepo with isolated domain / database / workflows / integrations / UI packages

Repo shape

apps/
  dashboard/              Next.js app (marketing + authed surface)
    app/
      page.tsx            Landing page
      pricing/            Pricing page
      (app)/              Authed route group
        dashboard/        Overview
        reactivation/     Flagship module (end-to-end)
        leads/ reviews/ ads/ sales/ platform/
    components/           Shared UI (Card, MetricCard, Sidebar, Topbar, ...)
  api/                    HTTP APIs, webhooks
  worker/                 Durable async execution
packages/
  domain/                 Canonical entities + business rules
  database/               Prisma schema + data access
  workflows/              Triggers, sequencing, retries
  integrations/           External adapters (Twilio, CRM sync)
  messaging/ ai/ analytics/ config/ shared/ ui/
modules/                  Module-specific business logic

Running locally

npm install
npm run db:up          # docker postgres
npm run db:push        # prisma schema push
npm run dev            # dashboard on :3000

Env vars live in .env at the repo root. A sample template is in .env.example.

Running the tests

npm run db:generate     # generate Prisma client first
npm test               # across all workspaces

Some integration tests expect a configured DATABASE_URL. The dashboard, domain, database utility, paid ads, reviews/referrals, and sales enablement tests can run locally after Prisma generation; the API integration path needs database configuration.


Design

Warm neutral palette (cream surface, terracotta accent), dark rail sidebar, semantic status colours (green / amber / blue / red with bg variants), DM Sans for UI and data, Georgia for brand headlines. Dark mode included. Tokens in apps/dashboard/app/globals.css.

The first-pass UI was designed in Claude Design; implementation handed off to Claude Code. Source handoff HTML preserved at apps/dashboard/design/One System Dashboard.html for reference.


What's portable

The platform is deliberately vertical-agnostic — "appointment business" is the archetype, not a specific industry. The same model fits dental practices, chiropractors, physiotherapy, vet clinics, law firms (personal injury), home services (HVAC, roofing), real estate, auto dealerships, salons, fitness studios, and coaching practices. The demo workspace uses generic seed data.

Project docs

Honest status

This is a portfolio build — one developer, ~6 months, deliberately disciplined architecture on top of a small real feature surface. The polish target is "near-shippable demo," not "production SaaS."

Current validation caveat: the dashboard build succeeds after Prisma generation, but the full monorepo build still needs cleanup in packages/database/src/seed-demo.ts, and API integration tests need DATABASE_URL. This repo has enough substance to keep polishing, but it should not be pinned until those validation issues and the public demo are fixed.

About

Operator platform prototype for appointment businesses: lead capture, reactivation, reviews, ads, and sales workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors