Write one good thing. Watch your story grow.
Recounts is a calm daily journal that turns a single line about your day into a warm, first-person story — so users can watch their past unfold instead of chasing productivity scores.
I wanted to journal at least one good thing that happened in my life every day but hated writing long paragraphs, so I built a tool that turns 1 sentence into a narrative.
Recounts was built around a simple idea: journaling shouldn't feel like homework.
Most productivity apps measure you, rank you, and make you feel behind. Recounts does the opposite. You write one rough line about your day, and the app shapes it into a story worth keeping. No blank-page dread, no scoreboards — just a record of a life that actually happened.
A person spent years jumping between productivity apps, ending most weeks convinced nothing had been accomplished. Then one night, he wrote a single line about his day. The next night, another. A gentle streak formed on its own — and within a month, he had proof of progress he'd never seen before.
Recounts is that idea, shaped into software.
Need to remember what you did this month? It's already there — written as a story, not a spreadsheet.
Want to build a habit without a harsh streak punishing you? Miss a day and your streak pauses, not breaks.
The goal is simple: give people a warm, honest record of their days — without making them work for it.
A single line is enough. No blank-page dread, no title field, no pressure to write an essay about your Tuesday.
Every raw line is expanded into a short, warm, first-person story with a title — generated by an LLM tuned to a calm, "proud-of-small-things" voice. The model is instructed to never invent events; it enriches how it felt, never what happened.
One missed day pauses your streak instead of breaking it. A second consecutive miss ends it. The streak is a nudge, never a punishment.
A GitHub-style "Daily record" shows your last 16 weeks at a glance — proof of the ordinary days adding up.
Entries read like a book, newest first. No cards, no dashboards — just your story, growing.
A 6-digit code emailed to you (no passwords to remember or leak). Sign in on any device and your journal follows you.
Write before signing in — entries stay in your browser. When you're ready, sign in and everything syncs to the cloud.
Deleting an entry asks for confirmation — and warns you if it would affect your active streak.
A complete theme system in a warm amber-and-stone palette, with Fraunces and Inter typography.
Recounts works across desktop, tablet, and mobile — with a floating composer so you can write anywhere on the page.
"Went for the walk I kept postponing."
The AI expands it into a short, warm story with a title, faithful to what you wrote.
Your streak lights up, the heatmap fills in, and your story timeline grows day by day.
Sign in with a code to sync across devices, or keep it local. Your words stay yours.
Recounts is designed around a few principles:
Effortless input One line is the minimum. A paragraph is welcome. Both belong in your story.
Faithful stories The AI enriches the feeling, never invents the facts. A journal you can't trust defeats the whole point.
Gentle streaks Miss a day and your streak pauses, not breaks. No scoreboards, no guilt trips.
Private by default Your journal stays yours. Encrypted in transit, Row-Level Security at rest, and no ads selling your little wins.
Recounts keeps your data safe at every layer:
- No social logins, no third-party trackers
- Guest entries never leave your browser until you sign in
- Row-Level Security means every user can only read/write their own entries
- A database trigger auto-assigns ownership — clients can never spoof it
- AI API keys live only on the server, never in the browser bundle
- React — application architecture and UI
- JavaScript — application logic
- Vite — development and build tooling
- Tailwind CSS — styling and responsive design
- Node.js / Express — local storycraft server
- Vercel serverless functions — AI story generation + contact form in production
- Supabase (PostgreSQL) — cloud storage with Row-Level Security
- Supabase Auth — email OTP, no passwords
- Groq LLM — server-side story generation
- Resend — transactional email / SMTP
- Storage-agnostic journal layer — writes to Supabase when signed in, localStorage when not.
- Offline fallback — if the AI API is down, a deterministic offline generator keeps the journal working at zero cost.
Recounts follows a warm, paper-like visual language — soft stone backgrounds, amber accents, and editorial serif typography that feels like a book rather than an app.
- Amber as a warm, gentle accent — never aggressive
- Floating composer that follows you down the page
- Proper modal dialogs that can't be dismissed by accident
The intention was to create something that feels like a calm evening ritual rather than another productivity dashboard.
Recounts was built to explore how much emotional warmth a utility app can carry.
The project focuses on:
- Thoughtful UX
- Faithful AI story generation
- Privacy-first architecture
- Gentle habit mechanics
- Responsive interfaces
- Storage-agnostic engineering
- Polished micro-interactions
Try Recounts directly in your browser:
No installation or account required — write a line and watch the AI shape it into a story.
Vatsal Chevli (VatsalDC)
Recounts
Your past, in a story.