How We Built & Shipped Tonalyzer

The full build story of our AI writing-analysis SaaS — the problem, the stack (named), what shipped, and what we'd do differently. Proof of work, not marketing.

Every agency claims it can build software. Almost none can hand you a live product and say: we built this, we own it, it has paying tiers, go poke at it. This page exists because "have they actually built anything?" is the correct question to ask anyone selling custom software or AI automation — and we'd rather answer it with a product than an adjective.

So: Tonalyzer — what it solves, exactly how it's built, what shipped, and the part agencies never publish: what we got wrong.

The Problem Tonalyzer Solves

Workplace writing fails in ways spell-checkers can't see. The Slack message that reads as passive-aggressive to everyone but its author. The email with three paragraphs and no actual ask. The update so hedged with qualifiers that nobody can tell what the writer believes. These failures are invisible at send time and expensive afterward — friction, re-explanation, slow decisions, quiet resentment.

Tonalyzer is an AI tone coach: it analyzes a draft before it's sent and flags how the message is likely to land — not grammar, but the human-impact layer. It came from our own itch (we write for a living, technically and commercially), which shaped a founding constraint: it had to be useful in the flow of writing, not another tab to remember.

The Build — Stack Named, Reasons Given

We publish our stack for client work; the same courtesy applies to our own product:

  • Next.js + TypeScript — the application frame. Type safety across a codebase that manipulates other people's words was non-negotiable; entire bug categories never got to exist.
  • Supabase (PostgreSQL) — accounts, usage, and subscription state in real SQL. The same platform we recommend for client web applications, chosen for the same reason: modern conveniences on a database you're never trapped in.
  • Clerk — authentication. Sign-in, sessions, and org membership are solved problems; buying them bought weeks.
  • Polar — billing and subscriptions. Tiered seats, upgrades, and entitlements handled by a platform built for exactly that.
  • Anthropic Claude API — the analysis engine. Each detector is engineered prompting and structured-output handling on Claude models — the same AI layer we wire into client automations, exercised here at commercial stakes.
  • Vercel — deployment and hosting, matched to the Next.js frame.

The architecture decision that mattered most wasn't a technology — it was a privacy posture: analysis runs in memory, and drafts aren't stored. For a product whose input is people's unsent workplace messages, "we keep nothing" had to be structural, not a settings toggle. That constraint shaped the data model, the logging discipline (metadata, never content), and ultimately the sales story — the same design-for-privacy sequencing we preach for AI deployments generally.

What Shipped

Eight detectors, organized into three families — because "tone" is too vague to act on, and a flag is only useful when it names the specific failure:

  • Interpersonal Friction: passive-aggression, condescension, performative bluntness, and microaggression (deliberately opt-in — organizations differ on wanting it flagged, and defaults are policy decisions).
  • Clarity: unclear ask, fake urgency.
  • Calibration: anxious over-qualification, CYA hedging.

Four pricing tiers — Free ($0, 50 checks/month), Pro ($12/seat), Team ($18/seat), Business ($30/seat) — a real freemium ladder with usage metering, seat management, and entitlement gates, all running through Polar in production.

BYOK — bring your own key — $5/seat off any paid tier for customers who connect their own Anthropic API key. Unusual, and deliberate: cost-conscious teams get a lever, and it signals architectural confidence — the product's value is the detection engineering, not a markup on model calls.

Delivery where writing happens — built Slack-native and browser-extension-first, honoring the founding constraint: tone checks in the compose box, not in another tool.

What We'd Do Differently

The section that makes this a case study instead of a brochure:

We'd cut even harder at MVP. Tonalyzer launched leaner than it is today — that discipline is our MVP doctrine, and it held. But even so, some early detector work outran the evidence: usage data later reordered which detectors mattered most, and some polish hours went to detectors users engage with least. The lesson we now apply to client scoping: your priority guesses are wrong in ways only production traffic reveals — so buy the smallest slice of every guess.

Billing complexity arrived before it was needed. Four tiers plus BYOK is the right end state; it was more ladder than launch day required. One paid tier would have validated payment willingness identically. We now push founders toward exactly that simplification, with this build as the exhibit.

Prompt engineering is a product surface, and we under-versioned it early. Detector prompts evolved fast, and in the early weeks we treated them like config instead of like code. Version discipline arrived; the honest note is that it should have been there from commit one — advice we now give every AI integration client unprompted.

What we'd keep without hesitation: the privacy-first architecture (it's the moat and the sales story), the boring-stack discipline, and building the product on the exact tools we sell client work on — every recommendation on this site got debugged at our own expense first.

What This Proves, Specifically

For a prospective client, the transferable claims this build backs up: we can take a product from idea to paying customers end to end — design, engineering, AI integration, billing, deployment, operation; we've made the scope-discipline mistakes at our own expense, which is why the MVP advice reads the way it does; and the stack we'll propose for your project isn't a guess — it's what's running this one, in production, right now. What it doesn't prove: that we know your business — that's what the first conversation is for, and it's free.


That's the proof. If you're evaluating us for a software build or an AI automation project, this is what our work looks like when the client is us — same stack, same discipline, same published-numbers honesty. Talk to us about yours.