An autonomous AI writing partner that earns the right to interrupt.
Built with Gemini 3.
Most AI writing tools feel like an overexcited intern—constantly interrupting, flooding the screen with suggestions, and breaking flow.
The inspiration behind Co-Author came from a simple question: What if AI behaved like a disciplined, thoughtful co-author instead of a reactive chatbot?
"I wanted silence to mean intelligence, and intervention to mean value."
Observes writing in real-time, contributing only when genuinely useful using a Notion-style research editor.
Treats the entire document as living context, allowing for deep analysis and paraphrasing without hijacking.
Talk through ideas while the AI quietly handles background research using WebSockets & AudioWorklets.
Delegated authorship with complete transparency. For the first time, hand over full editorial control to an AI that thinks, plans, executes, and self-critiques—just like a human co-author.
Reads your instructions and formulates a deep editorial strategy.
Rewrites, continues, or polishes your work directly in the editor.
Self-evaluates the output against your goals and finds weak points.
Makes final surgical adjustments to ensure absolute perfection.
Most AI writes too much. This stack is designed to teach the AI when not to speak.
The AI silently watches keystrokes, building context without acting.
Enforces a mandatory cooldown to ensure it doesn't block the writer's flow.
Analyzes the text: Is the user stuck? Or just pausing for thought?
Generates a potential contribution in a hidden buffer.
Is this genuinely useful? If the score is low, discard immediately.
Calculates the cost of breaking the user's focus.
Subtly renders the suggestion in the side margin, never the main text.
Real-time systems demand real engineering. Shortcuts in audio, scheduling, or buffering always surface as UX problems.
App Router Framework
Headless Editor
State Management
Persistence & Auth
Reasoning & Context
Real-time Voice Playback
Preventing prompt injection was critical. I implemented a security layer that actively blocks jailbreak attempts while allowing "Shadow Prompts" for intent scanning.
To solve jitter and buffering, I moved playback logic off the main thread entirely using AudioWorklets, achieving smooth, uninterrupted audio.
"I learned that good AI UX is more about restraint than raw intelligence. Latency, silence, and timing matter just as much as model quality. Users trust AI more when it behaves like a collaborator, not a performer."