M.E.R.L.I.N.

My Efficient, Rather Loyal, Intelligent Navigator

A personal AI assistant — a private JARVIS — designed, built, and shipped from scratch by Dustin Mooney.

6 daysfirst commit → full platform
20milestones shipped
130+plain-English commits
~$20/mofixed infrastructure

This page is the tour, not the door. Merlin itself is a private, invite-only system — passkey login, no public signup. Nothing here grants access.

One brain, many mouths

What is Merlin?

Merlin is a self-hosted AI assistant platform. A single "brain" — with its own long-term memory, personality dials, cost-tiered model routing, and hard security walls — answers everywhere its owner happens to be. And it isn't built for just one person: the platform supports multiple individual accounts, each with its own assistant name, personality, voice, memory, and integrations — walled off from every other account at the database layer.

💬 Web app — glass "JARVIS board" UI 📱 Telegram 📞 Real-time phone calls — interrupt him mid-sentence 🎙 Voice in the browser 🗣 "Hey Siri, ask Merlin" 📨 SMS 🤖 Delegates to a physical robot intern — via Discord

Capabilities

What it can do

👥

Multi-user by design

Every account is its own assistant — name, personality dials, voice, memories, connected services, and billing — enforced as separate worlds by row-level security, not habit.

🧠

Cost-tiered intelligence

A router judges every message and picks the cheapest model that can do the job well — four tiers from open-source workhorses to frontier Claude. Explicit "ask GPT / Gemini / Grok" summons override everything.

📔

Long-term memory

Durable facts are extracted from conversation and recalled semantically (vector search). A 3D "memory galaxy" renders it all as an explorable starfield.

🔎

Live research, cited

Current-events questions automatically route to live web search; every claim gets a clickable numbered citation.

📚

Deep Research agent

Quotes its price up front, then plans sub-questions, runs multiple searches, chases gaps, and delivers a long, fully-cited report asynchronously.

🗳

"Ask everyone"

One question fanned out to four flagship AI models in parallel — answers side-by-side, each metered.

📅

Acts on your accounts

Reads Gmail, Calendar, Drive, Notion, Microsoft 365 — and can send or schedule only after an explicit yes through a code-enforced confirmation gate.

🎨

Images & video

Generates and edits images in chat; generates video clips behind a per-clip price quote and a monthly budget cap.

📄

Reads documents

Attach a PDF and interrogate it; paste a YouTube link for a time-stamped summary you can then chat with.

👁

Watches the web

"Keep an eye on this page" — scheduled checks with an AI judge that pings only on meaningful change (price, stock, content — not ad noise).

🏭

Builds documents

Writes and runs code in a network-less sandbox to produce real spreadsheets, Word docs, and PDFs — each run security-gated and archived.

🔌

MCP connectors

Speaks the open Model Context Protocol to connect external tools — every write action still passes the same confirmation gate.

📋

Daily briefs & tasks

A morning brief, a Notion HQ it maintains, and an email inbox it sweeps into actionable tasks.

🌐

Browser copilotNEXT UP

A Chrome extension that reads and explains the page you're on, translates it inline, and answers beside your search results — with a strictly-gated "drive the browser" mode to follow.

📲

Outbound callsNEXT UP

"Call me in ten minutes" — Merlin rings you and holds a live spoken conversation, plus a talk-live mode right in the browser.

🗂

Project workspacesNEXT UP

Per-topic knowledge bases: give a project its own folder of context — documents, notes, links — and conversations scoped to just that world.

No single-vendor brain

One assistant, many models

Merlin isn't tied to Claude — or to any one AI. A router weighs every message and picks the best model for the job; saying "ask GPT" or "ask Gemini" summons a specific one; and specialist models handle search, images, video, and voice. Every call, whoever answers, lands on the same usage ledger.

Claude Sonnet · Opus · Haiku — Anthropic GPT-5.5 — OpenAI Gemini Pro · Flash — Google Grok — xAI Nemotron — NVIDIA, the everyday workhorse Sonar — Perplexity, live web search Veo — video generation Gemini Image — image generation & editing ElevenLabs — voice in & out

Screenshots

See it in action

Principle #1, from the first commit

Security-first, by design

The spec's opening rule: never bolt security on later. Every feature was built inside these walls, not around them.

🔑
Passkeys, no passwordsWebAuthn login with TOTP fallback; invite-only registration; secure httpOnly sessions.
🧱
Database-enforced privacy wallsRow-level security keyed to the requesting user — one user's data physically cannot appear in another's context. Proven by tests, not promises.
Confirmation gates in codeSending email, spending money, running generated code — all require an explicit "yes," enforced by deterministic code, never by model judgment.
🧾
Complete audit logEvery action taken on a user's behalf is recorded: who, what, when, and what it cost.
🔐
Secrets hygieneOAuth tokens encrypted at rest; zero secrets in git from commit one; webhooks HMAC-verified and fail-closed.
📦
Sandboxed code executionDocument-generating code runs in a fresh, network-less container per job — designed from a written security review, then attacked with escape tests.
💳
Pay-your-own-way billingEach member's AI usage bills their own API key — with a hard no-silent-fallback rule, machine-verified.
🕶
Radical AI transparencyMerlin identifies as an AI to everyone, always — on calls, in email signatures, everywhere. Non-negotiable.

Under the hood

Architecture

TypeScript throughout. Next.js brain + background worker + Postgres/pgvector, packaged with Docker Compose behind Caddy's automatic HTTPS. Images build in CI; the server only runs them.

Channels 💬 Web (passkeys) 📱 Telegram 📞 Live voice calls 📨 SMS 🗣 Siri Shortcut 🤖 Robot intern Every mouth reaches the same brain over authenticated HTTPS Caddy auto-HTTPS reverse proxy The Brain — Next.js Intent router (LLM-judged) 4-tier model routing Memory recall + extraction Confirmation gates Agents & tools + audit log Per-user billing context Usage metering (ledger) Research / media pipelines Worker bots · schedules · monitors · async jobs Postgres 16 + pgvector memories · conversations · audit row-level security walls nightly tested backups Model providers Claude family · open models live search · image · video · voice every call metered per user Sandbox runner network-less · fresh per job

The interesting part

How it was built

I'm not a professional developer. Merlin was built as a deep collaboration with Claude — Anthropic's AI — working through Claude Code as the hands-on engineer while I acted as owner, product director, and the human in every loop that mattered.

It started with a written spec: what Merlin is, the principles it must never violate (security first, radical AI transparency, per-user isolation, cost discipline), and a numbered milestone plan. Then we shipped the milestones one at a time — each one built, machine-verified end-to-end, deployed, and proven to me before the next began.

The collaboration ran both directions. I made every judgment call — budgets, model policy, what gets a confirmation gate, what's out of bounds. Claude wrote the code, reviewed its own security design before the riskiest pieces, tested by attacking its own sandbox, and kept a plain-English commit history I can actually read.

When the hosting platform twice falsely flagged our build process, we moved image-building to CI the same week and never compiled on the server again. When a vendor's dashboard silently failed to save a setting, we diagnosed it through their API and fixed it from the command line. Real engineering, at conversation speed.

The method, in six steps

  1. Spec first. A living document defines principles, architecture, and a numbered milestone plan — including the milestones that got cancelled, honestly recorded.
  2. One milestone at a time. Built → verified end-to-end by machine → deployed → demonstrated within a minute of finishing.
  3. Security reviews before risk. The sandboxed code-runner got a written review and six escape tests before its first real job.
  4. Boring technology. Postgres, Docker, Caddy, plain TypeScript. Clever is a liability in a system people depend on every day.
  5. Everything metered. Every model call lands in a ledger: who, which model, how many tokens, what it cost.
  6. Plain-English commits. 130+ of them — each explains why, so the owner can say "roll back to before we changed X" and mean it.

By the numbers

The scoreboard

6days, first commit → full platform
20milestones shipped
7channels to one brain
12+AI models orchestrated
24database migrations
~$20/mofixed infrastructure cost
100%actions behind confirm gates
0secrets ever committed

The company behind it

About Mooney & More

Mooney & More is the sole proprietorship of Dustin Mooney, based in North Carolina. Its product is Merlin — the private, personal AI assistant showcased on this page. Mooney & More designs, builds, and operates Merlin as a self-hosted software service for a small, private group of personally invited users; it is not a public or commercial product and has no open sign-up.

Merlin answers across several private channels — a web app, Telegram, voice calls, and an opt-in text-message program among them — always in reply to a registered user's own request (a reminder, a calendar answer, a weather check), and never with marketing or bulk messages. Its text-message program follows a published SMS disclosure.

Contact Mooney & More: legal@dustinmooney.com