- Support OpenRouter, OpenAI, and Anthropic providers
- Fetch available models after entering API key
- OpenRouter sorted by price (cheapest first)
- Store provider, model, and key per user
- Update reflections API to use selected provider/model
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Autosave was causing issues with race conditions creating
duplicate entries. Simpler to just require manual save.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use refs to track entry ID and prevent concurrent saves.
When a save is in progress, queue the next save instead of
starting a new one.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Multiple entries per day: Home page now starts fresh, Save & New button
- Admin user management: Add/delete users, reset passwords, toggle admin
- Daily reminders: Browser notifications at configurable time
- AI reflections: Generate insights from entries using Claude API
- Remove cloud sync placeholder (already have user accounts)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Assets need to be prefixed with /quietthanks so browsers request
them at the correct path when the app is served under /quietthanks.
Tailscale strips the prefix when proxying to the backend.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add users and sessions tables to database schema
- Add bcryptjs for password hashing
- Create auth API routes (login, register, logout, me)
- Add AuthProvider context for client-side auth state
- Update all API routes to require authentication and filter by userId
- Create login and register pages
- Add AppShell component for authenticated layout
- Update all pages to use AppShell and show user info
- Each user now has their own private entries and tags
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
A calm, private gratitude and mood log built with Next.js 16, TypeScript,
Tailwind CSS, and SQLite/Drizzle ORM.
Features:
- Quick check-in with autosave (800ms debounce)
- Optional mood selector (5 levels) with accessibility labels
- Optional tags with tap-to-add from recent
- Timeline with weekly reflection card
- Filters by mood, tag, and rough day
- Export to Markdown and JSON
- Dark mode default
- Delete with undo toast
- Docker deployment ready
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>