Interactive demo · all data fictional

Siryous CRM

A local-first, AI-native personal CRM for relationship-driven business development. One SQLite file on your own computer, three doors in — a web app, Claude Desktop via MCP, and built-in AI that drafts the busywork on a local model while you keep the judgment.

Best experienced starting at the Dashboard — every page has an ⓘ explainer of what it does and how it works.

Local-first

Everything lives in one SQLite file on your own machine. No cloud, no accounts, no sync — the web app, the MCP server, and the AI features all read and write the same database, so nothing is ever stale.

AI where it pays

Drafting runs on a local model, so contacts and notes stay on the machine. Claude is called only to fetch — with explicit read-only grants: web search for intake and the news feed, Zoom/Meet/Gmail readers for logging and the inbox, Calendar+Gmail+web for prep. Every run streams into a live feed; a human review screen approves. Nothing writes itself.

Opinionated about relationships

Not a sales pipeline with contacts bolted on: urgency buckets ask "whose move is it?", cadences keep warm relationships warm, and profiles capture relationship intelligence — origin, mutuals, strategy — in editable markdown.

Tour the features

The demo is the real app's code running on a fictional dataset — 17 people, 11 companies, 11 deals, a month of activity, a week of news and a few forwarded emails. Click anything; changes are live and reset periodically. Live AI runs are switched off — instead the demo shows finished drafts you can review and confirm for real.

◧Dashboard

What needs you right now: late and due-this-week to-dos with the person, company, deal and last contact; deals by stage with days since contact; emails to review; news about your contacts; a quote to start the day.

📰News FeedAI

A daily web search for news about every person and company in the CRM — relevant stories only, newest first, dismissable, with deal-related news surfaced on the dashboard.

📥InboxAI

A CRM email address: forward or cc an email and it becomes a Log draft for people you know, an Intake draft for someone new — on the same review screens.

◎CoachAI

A weekly coaching session on the whole book of business: an objective read, earned praise, where you're dropping the ball. Talk it through; commitments become proposed CRM changes and next week's session holds you to them. Friendly, pushy or hardcore.

✨IntakeAI

Paste a LinkedIn profile or raw notes; the AI writes the profile in house style, finds network connections and proposes next steps — reviewed before saving.

✎LogAI

Turn a meeting or email thread into log entries on the right contacts — fetched from Zoom, Google Meet or Gmail, or pasted — and close stale to-dos.

🗓PrepAI

A 3-minute meeting brief: where things stand, what changed since last touch (calendar, mail, web — source-attributed), objectives, talking points, watch-outs. Downloads as a Word doc.

⚑Pipeline

Opportunities across consultant-shaped stages, typed as engagement, partnership, venture, referral — or job opportunity, kept visibly apart from business development.

☑Actions

Every promise and every wait in urgency buckets with real due dates — overdue, this week, awaiting the other party, log gaps — checked off in one click.

♨Keep Warm

Every contact scored against a per-person follow-up cadence; logging an interaction resets the clock.

❖Map

Live force-directed relationship graph — people, companies, made and owed intros. Hover isolates a node's network.

๛People & Companies

Rich profiles — Relationship Intelligence, Business Context, Engagement Strategy — editable in place, with interaction logs, plus LinkedIn/CSV import.

Under the hood

The production app is Next.js (App Router) with React Server Components and server actions over better-sqlite3 — no client-side state libraries, no ORM, forms are plain HTML posting to server actions. The database is the single source of truth for three clients: this web UI, Claude Desktop (through a 16-tool MCP server), and Claude Code sessions in the repo.

The AI writes on a local model via Ollama by default, so nothing about your contacts leaves the machine. Steps that need the outside world — a Zoom transcript, a Gmail thread, the calendar, the web — run the locally installed Claude Code CLI in headless mode with a minimal read-only tool grant, and private mail and the open web never share a run. Every step streams into a live activity feed, and every output lands on a review screen before anything is saved — including the coach's proposed changes.

This demo is the real app's code with an in-memory SQLite database seeded with fictional data, and with live AI runs switched off — so the pages, components, queries and server actions are the production ones.

System shape
┌─────────────┐  ┌────────────────┐  ┌──────────────┐
│   Web app   │  │ Claude Desktop │  │ Claude Code  │
│  (Next.js)  │  │  (MCP server,  │  │  (sessions   │
│             │  │   16 tools)    │  │   in repo)   │
└──────┬──────┘  └───────┬────────┘  └──────┬───────┘
       │                 │                  │
       ▼                 ▼                  ▼
            ┌─────────────────────────┐
            │   data/crm.db (SQLite)  │
            │   single source of truth │
            └─────────────────────────┘
       ▲
       │ drafts: local model (Ollama)
       │ fetches: headless claude -p, read-only grants
┌──────┴────────────────────────────────────────────┐
│ Coach      Intake     Log / Inbox       Prep      │
│ CRM only   web        Zoom/Meet/Gmail   Cal+Gmail │
│ News Feed: web search only, daily                 │
└───────────────────────────────────────────────────┘