mivanchenko 4b7e201b91 Phase 4: wire demo lead forms to live n8n webhook
- demo-tier-a / demo-tier-b: forms POST JSON to /webhook/lead-intake
  (hidden client_id + source, named fields), async submit with
  success/error toast.
- lead-intake webhook: enable CORS (allowedOrigins=*) so the static
  demos (different origin) can submit; re-export n8n/lead-intake.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 14:48:56 +02:00

smb-online — "Get Your Small Business Online"

A productized service that gets local small businesses online: landing page + online booking + online reception + small automations. Built to be thoroughly tracked and logged — every client, lead, booking and invoice lives in a Google Sheets CRM, driven by n8n on the homelab.

Full plan: ~/.claude/plans/pitch-me-some-ideas-breezy-swing.md

Two delivery tiers

Tier A — Google stack Tier B — Self-hosted / privacy
For casual businesses, no data-residency concern privacy-sensitive (health, legal, tax)
Site static page / Google Sites static page (Astro) on free host
Booking Google Calendar Appointment Schedule self-hosted Cal.com
Lead capture Google Forms self-hosted form → n8n
Reception Gmail self-hosted + AI receptionist
Infra cost ≈ €0 small (homelab + domain)

Both tiers feed the same Google Sheets CRM via n8n webhooks.

Repository layout

templates/landing/        Reusable landing-page template + the two tier demos
  demo-tier-a/            Tier A demo — "Schnittpunkt" barbershop (Google stack)
  demo-tier-b/            Tier B demo — "PhysioVital" physio practice (self-hosted/privacy)
sheets/SCHEMA.md          Google Sheets CRM workbook spec (tabs + columns)
n8n/                      Exported n8n workflow JSON (lead-intake, booking-sync, renewals, …)
stacks/selfhosted/        docker-compose for Tier-B services (Cal.com, Vaultwarden, lead form)
playbooks/                Per-client setup checklists (tier-a-google.md, tier-b-selfhosted.md)

View the demos

They are self-contained HTML — open directly:

xdg-open templates/landing/demo-tier-a/index.html   # barbershop / Google stack
xdg-open templates/landing/demo-tier-b/index.html   # physio practice / self-hosted

Or serve both with a chooser page:

python3 -m http.server 8080 --directory templates/landing
# → http://localhost:8080/   (links to both demos)

Forms and booking are stubbed until Phase 4 wires them to the n8n webhooks.

Phases (status)

  • Phase 1 — Two demo landing pages (this commit)
  • Phase 2 — Accounts & setup: fresh Google account → connect Drive MCP → master workbook; secure n8n; bind Google creds; Vaultwarden; domain
  • Phase 3 — CRM workbook + n8n lead-intake & renewal workflows + Looker Studio dashboard
  • Phase 4 — Wire demo forms/booking to n8n webhooks (live end-to-end proof)
  • Phase 5 — First real client + reception v1
  • Phase 6 — AI receptionist (Claude Haiku 4.5)

Operator is in an Ausbildung as Cloud Engineer at NETWAYS. This offering deliberately stays out of NETWAYS's lane (no managed cloud hosting / monitoring / OpenStack/K8s hosting for clients). Before taking paying clients: (1) check the Ausbildungsvertrag for a Nebentätigkeit clause and get written employer approval if required; (2) Gewerbeanmeldung + Kleinunternehmerregelung (§19 UStG) once revenue starts; (3) confirm with the IHK / a Steuerberater if unsure.

S
Description
No description provided
Readme 860 KiB
Languages
HTML 56.3%
Python 39.7%
PLpgSQL 2%
CSS 1%
JavaScript 0.6%
Other 0.4%