A personal AI assistant with voice mode, conversation history, file access, web search, and Obsidian memory integration. Built to run self-hosted with your own backend.
Note: Nova is designed to connect to a self-hosted backend. This repository contains only the frontend (React/Vite). You will need to deploy your own backend API to use it.
- Voice Mode — Full-screen voice interface with speech-to-text (STT) and text-to-speech (TTS). Auto-send on silence detection, visual orb animation.
- Conversation History — Persistent multi-conversation sidebar with auto-generated titles.
- File Access — Browse and download files from your backend server.
- Web Search — Integrated DuckDuckGo search with results fed into the AI context.
- Obsidian Memory — Nova reads from and writes to your Obsidian vault as long-term memory.
- PWA — Installable on iOS and Android with offline cache support.
- Auth — JWT-based authentication. Restricted to authorized users.
- NTFY Notifications — Push notifications via self-hosted or public ntfy.sh.
| Layer | Tech |
|---|---|
| Frontend | React 18 + TypeScript + Vite |
| UI | Tailwind CSS + shadcn/ui + Lucide |
| Voice | Web Speech API (STT) + SpeechSynthesis (TTS) |
| State | TanStack Query |
| Auth | JWT (custom backend) |
| Mobile | React Native (Expo) — /mobile folder |
| CI/CD | GitHub Actions + Release Please |
- Node.js 20+ or Bun
- A running Nova backend (self-hosted)
- Clone the repository:
git clone https://github.com/Tcordeir0/nova.git
cd nova- Install dependencies:
npm install
# or
bun install- Configure environment variables:
cp .env.example .envEdit .env with your backend details:
VITE_API_URL=https://your-backend.example.com
VITE_API_TOKEN=your-secret-token-here- Start the dev server:
npm run devAccess at http://localhost:8080.
npm run buildsrc/
components/ # UI components
contexts/ # Auth context
hooks/ # useChat, useTTS, etc.
lib/ # API client, utilities
pages/ # Login, Index, ResetPassword
mobile/ # React Native (Expo) app
Versioning follows Conventional Commits and releases are automated via Release Please.
MIT
Built by Tcordeiro