A label read from the controls
Lyrical, strong
Correct only while nothing has changed.
Second Voice, design and engineering, independent product, 2026
Generating a rewrite is easy. Trusting one is not. The original stays close, and every edit stays inspectable.
Your draft
The street was empty when she arrived. She waited by the door and checked her phone again.
Voice
Longer rhythm, more image.
Strength
Rewrite
Lyrical, strongRun 1The street was empty when had emptied itself by the time she arrived. She waited by lingered at the door and checked her, the phone again glowing in her palm, as if it might change its mind.
8 of 17 words kept4 replaced0 added0 removedaddedremoved
Prepared examples. This page doesn't call a model; every rewrite is authored and every diff is computed live.
Change the voice without pressing Rewrite. A naive interface relabels the old rewrite with the new controls. Second Voice keeps a snapshot of what was actually submitted.
Lyrical, strong
Correct only while nothing has changed.
Lyrical, strong
Run 1, from the snapshot taken at submit.
Comparison only means something when the source is fixed. Each voice rewrites the same two sentences, and the diff shows how far it travelled.
The street was empty when she arrived. She waited by the door and checked her phone again.
Fewer words, harder edges.
The Empty street was empty when she arrived. She waited by at the door and checked. Checked her phone again.
41%of the original's words kept
3 replaced, 0 added, 2 removed
Longer rhythm, more image.
The street was empty when had emptied itself by the time she arrived. She waited by lingered at the door and checked her, the phone again glowing in her palm, as if it might change its mind.
47%of the original's words kept
4 replaced, 0 added, 0 removed
Clipped, wry and shadowed.
The Nobody on the street was empty when she arrived showed up. She waited by leaned on the door and checked her phone again, like it owed her money.
65%of the original's words kept
3 replaced, 1 added, 1 removed
Generation costs real resources, so the server, not the button, decides. Run a request, then replay it: an operation that already exists never reaches the model twice.
Send
Illustrative model of the release rules.
Operations
A writing tool holds personal text. A feature called share is also an authorisation problem, so public has to be a deliberate act.
Create a public link for this rewrite? Nothing else in your account becomes public.
Public link created /r/7f3a9c
The blocker. An earlier migration could have treated historical content as public. It was caught before release and treated as a deployment blocker, and visibility became an explicit, first-class state.
Enough to trace a bad rewrite to its request.
Hashes stand in for text wherever that is enough. Observability is not a reason to read people's writing.
Local verification and production readiness turned out to be different claims. The page states which one holds today.
Verified
Auth and sessions, quota rules, replay and idempotency, logout and revocation, and one real rewrite on Groq's free tier. Deployment readiness still waited on production checks.
Repaired and merged
One security-environment expectation failed, and the install reported dependency vulnerabilities, one of them critical. Both were fixed and merged before moving on.
Live generation unverified
A sample live rewrite returned Request blocked. Until that is resolved, live generation is not claimed as production-verified, and this page uses prepared examples.
Limits for the free public release
Next.js, React, TypeScript, server routes, Supabase, Zod and Playwright.
GitHub OAuth with PKCE, HttpOnly verifier and session cookies, fixed callback origins, durable sessions, revocation and stale-cookie cleanup. No anonymous generation.
Bounded reads, cancellation, a deadline of about 30 seconds, zero automatic retries and one model call per operation. Ambiguous operations stay reserved instead of running again.
Validated against a schema before it becomes product state. Generative output is treated as untrusted input.