A calm, warm, local-first productivity companion with AI.
Features • Screenshots • Getting Started • Tech Stack • Structure • Testing • Contributing
Aura blends a lightweight task, journal, and habit system with an AI chat companion that can act on your data — all stored on-device by default, with optional AI providers you control.
- Local-first. All tasks, habits, journal entries, chats, and memory live in your browser (IndexedDB via Dexie). Nothing leaves your device unless you turn on a cloud AI provider.
- Installable PWA. Add to home screen on iOS/Android, works offline, custom app icon and manifest.
- AI companion that can do things. The chat can create tasks, add habits, log journal entries, and search your own data through a tool-calling agent — not just talk.
- Bring your own AI or use the built-in gateway. Point it at NVIDIA (
integrate.api.nvidia.com) with your own key via a same-origin proxy, or use the built-in AI gateway with zero setup. - Voice input with Whisper. Hold-to-talk with a live audio-level waveform, streaming interim transcript, filler-word cleanup, auto-punctuation, and configurable TTS voice/speed/pitch.
- Focus, Life, Home, AI, Profile. Bottom-tab layout with Today / Board / Projects for tasks, Habits + Journal for reflection, and a Home dashboard with quick capture and daily brief.
- Privacy & safety. Optional PIN gate, encrypted export/import for backup, no telemetry.
| Screen | Description |
|---|---|
| Home | Daily brief, mood check-in, quick capture, streaks |
| Focus | Today list, Kanban Board, Projects with pagination |
| Life | Habits with streaks, Journal with mood trend |
| AI | Claude-style chat with slide-out history drawer, pinned/recent sessions, tool results inline, memory extraction |
| Profile | Theme, PIN, notifications, backup/export, AI provider settings, Voice & Audio settings |
| Layer | Technology |
|---|---|
| Framework | TanStack Start v1 (React 19, SSR-capable) on Vite 7 |
| Styling | Tailwind CSS v4 + shadcn/ui + Radix primitives |
| State / Data | TanStack Query, Dexie (IndexedDB), Zod |
| AI | Vercel AI SDK, streaming chat, tool-calling agent, on-device embeddings |
| Voice | Web Speech API + Whisper (on-device optional), custom level-meter visualizer |
| PWA | vite-plugin-pwa (Workbox), custom icons + manifest |
| Testing | Vitest + fake-indexeddb (66 tests) |
Requires Bun or Node 20+ with npm.
bun install
bun run dev # http://localhost:8080
bun run test # run the full test suite
bun run build # production build
bun run build:dev # dev-mode build (with source maps)Aura runs with zero configuration. Optional:
- NVIDIA API key — enter in Profile → AI → Use my own key. Requests are proxied through
/api/nvidia/*to bypass CORS; your key stays in your browser. - Built-in AI Gateway — used automatically when "Use my own key" is off.
src/
routes/ file-based routes (TanStack Router)
__root.tsx HTML shell, head metadata, favicon/manifest links
index.tsx Home dashboard
focus.tsx Today / Board / Projects
life.tsx Habits + Journal
ai.tsx Chat companion with history drawer
profile.tsx Settings (theme, PIN, AI, voice, backup)
api/ Server routes (NVIDIA proxy, chat API)
components/ UI, AppShell, BottomNav, QuickCapture, VoiceButton, modals
lib/ DB (Dexie), AI agent tools, SSE utilities, embeddings, recurrence, streaks
styles.css Tailwind v4 theme + custom keyframes
routeTree.gen.ts Auto-generated route tree (do not edit)
tests/ Vitest suites (agent tools, recurrence, streaks, review, memory, focus, chat)
public/ PWA icons, manifest.webmanifest
bun run test # 66 tests, 11 test files
bun run test:watch # watch modeTests use fake-indexeddb so no browser or server is required. The test suite covers:
- Agent tool calling (create tasks, habits, journal entries)
- Recurrence logic (daily, weekly, monthly, yearly)
- Streak calculation
- Weekly review aggregation
- Memory extraction and embeddings
- Focus timer state machine
- Chat session title generation
Contributions are welcome! See CONTRIBUTING.md for guidelines.
MIT — see LICENSE. Do what you want, credit appreciated.