Skip to content

Tcordeir0/nova

Repository files navigation

Nova — Personal AI Assistant

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.

Features

  • 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.

Tech Stack

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

Getting Started

Prerequisites

  • Node.js 20+ or Bun
  • A running Nova backend (self-hosted)

Setup

  1. Clone the repository:
git clone https://github.com/Tcordeir0/nova.git
cd nova
  1. Install dependencies:
npm install
# or
bun install
  1. Configure environment variables:
cp .env.example .env

Edit .env with your backend details:

VITE_API_URL=https://your-backend.example.com
VITE_API_TOKEN=your-secret-token-here
  1. Start the dev server:
npm run dev

Access at http://localhost:8080.

Build for production

npm run build

Project Structure

src/
  components/     # UI components
  contexts/       # Auth context
  hooks/          # useChat, useTTS, etc.
  lib/            # API client, utilities
  pages/          # Login, Index, ResetPassword
mobile/           # React Native (Expo) app

Releases

Versioning follows Conventional Commits and releases are automated via Release Please.

License

MIT


Built by Tcordeiro

About

Personal AI assistant with voice mode, conversation history, file access and Obsidian memory. Self-hosted.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages