Hermes
Hermes is an AI writing tool built on a simple principle: the best writing assistant never writes for you.
Core trick
Streams an SSE assistant that reads the open document and returns typed highlights anchored to ranges of the user's own text.
Tags
Description
Hermes is an AI writing tool built on a simple principle: the best writing assistant never writes for you. Instead of generating text, Hermes reads alongside you and responds the way a sharp, attentive editor would — asking probing questions, flagging weak arguments, and pointing out where your voice drifts. Its feedback appears as color-coded inline highlights directly on your text: blue for questions, red for weaknesses, teal where evidence would help, orange where you're being wordy, and green for specific small edits it can suggest. The editor itself is distraction-free, inspired by iA Writer's focus mode that dims everything except the sentence you're working on. A collapsible chat window lets you have a running conversation with the assistant about your piece — discussing structure, working through ideas, or asking for a progress assessment.
README excerpt
# Hermes An AI-guided writing tool that structures your thinking without doing the writing for you. Built on the Dignified Technology design philosophy — AI deepens the creative process rather than replacing it. ## How It Works Hermes is a multi-page markdown editor with an AI assistant that reads your writing and gives contextual feedback directly on the text. - **5-tab editor** with focus mode — write in markdown with auto-save to Supabase and localStorage - **Contextual AI assistant** streams responses via SSE, reading your document in real time - **Inline highlights** (8 types: question, suggestion, edit, voice, weakness, evidence, wordiness, factcheck) placed directly on your text - **Accept or dismiss** each highlight, or reply to start a conversation about it - **Voice consistency** — prior completed essays are passed as context so the AI learns your style over time ## Stack **Frontend**: React 19, Vite 7, react-router-dom, CSS Modules **Backend**: Express 5, Anthropic Claude, TypeScript **Database**: Supabase (PostgreSQL, Auth) **CI**: GitHub Actions (typecheck, build, test, server deploy check, lint, staging deploy on PRs) **Observability**: Sentry (error tracking) ## Setup ```bash npm install # Web app (apps/web/.env.local) VITE_SUPABASE_URL=... VITE_SUPABASE_ANON_KEY=... VITE_CHAT_API_URL=http://localhost:3003 # Server (server/.env) ANTHROPIC_API_KEY=... SUPABASE_URL=... SUPABASE_SERVICE_KEY=... SUPABASE_ANON_KEY=... # Run both (web on 5176, server on 30