Modern AI note-taking app, similar to Notion but open-source. Web app, desktop app (Tauri), and a mobile app (Expo) are in active development.
Still heavily work in progress but frequent updates!
Desktop installers are currently untested and likely broken. The only recommended way to use Ignita is the web app. Desktop/mobile should be built locally and may contain bugs.
-
Rich text editor with AI-powered features
-
Board view for kanban-style note organization
-
Directory view for traditional file organization (wip)
-
Workspace-based organization
-
Custom themes and styling
-
Authentication with email/password and Google
-
Web app (Next.js + React Router)
-
Cross-platform desktop app (Tauri) (in progress)
-
Mobile app (Expo + React Native) (in progress)
- Frontend:
- Web: Next.js, React Router, Tailwind CSS
- Desktop: Tauri (Rust), React Router
- Mobile: Expo, React Native, Expo Router, NativeWind
- Backend: tRPC, Next.js API routes, Drizzle ORM
- AI: OpenRouter (via
aiSDK) - Authentication: BetterAuth
- Email: Resend
- Analytics: PostHog
- Monorepo: TurboRepo, pnpm workspaces
- Node.js 22+
- pnpm
- Rust (for desktop app development)
- Android Studio (for Android dev builds) — see Expo environment setup
- Xcode (for iOS dev builds; iOS currently untested) — see Expo environment setup
- Clone the repository:
git clone https://github.com/leanderriefel/ignita.git
cd ignita- Install dependencies:
pnpm install- Set up environment variables (create a
.envfile in the repo root). All apps read from the top-level.envduring development:
# Copy the example env file
cp .env.example .env
# Edit .env with your configurationNotes:
- All variables inside the
.envfile are required for now. It is not tested if the variables are optional. - In development, set
EXPO_PUBLIC_API_URLto the LAN IP of your Next.js dev server (e.g.,192.168.x.x:3000). - Expo requirements and environment setup: see
https://docs.expo.dev/get-started/set-up-your-environment/. - Development builds (recommended for this project): see
https://docs.expo.dev/develop/development-builds/introduction/.
- Run the development servers:
# Web app (Next.js)
pnpm turbo dev --filter=@ignita/next
# Desktop app (Tauri). Requires the web app running.
pnpm turbo dev --filter=@ignita/tauri
# Mobile app (Expo dev build). Requires the web app running and EXPO_PUBLIC_API_URL pointing to your LAN IP.
# From apps/mobile (recommended):
pnpm expo run:android
# iOS (currently untested):
pnpm expo run:iosNotes for mobile:
- Use development builds (
expo run:*). Expo Go is untested and not recommended here. - During development, without tunneling or reverse-port setup, Google social login will not work on real devices.
pnpm turbo <script> [--filter=@ignita/<package>]:
pnpm turbo lint- Run lintingpnpm turbo typecheck- Run type checkingpnpm turbo format- Format codepnpm turbo build- Build packages/appspnpm db:push- Push database schema (Drizzle)pnpm db:studio- Open Drizzle Studio
ignita/
├── apps/
│ ├── next/ # Web app (Next.js)
│ ├── mobile/ # Mobile app (Expo + React Native)
│ └── tauri/ # Desktop app (Tauri)
├── packages/
│ ├── ai/ # OpenRouter provider and AI helpers
│ ├── auth/ # Authentication package
│ ├── components/ # Shared UI components
│ ├── database/ # Database schema and utilities
│ ├── emails/ # Email templates
│ ├── hooks/ # Shared React hooks
│ ├── lib/ # Shared utilities
│ ├── posthog/ # Analytics
│ └── trpc/ # tRPC routers and client
└── tooling/ # ESLint, Prettier, TypeScript configs
This project is being actively developed. At the moment, I am not accepting contributions.
- Editor Improvements
- Board Notes
- Latex/Paper Notes with Preview
- Audio Component
- Live-Sync (Convex/Websockets?)
- Transcribe
- Autocomplete ("tab tab tab")
- (Re)write with AI
- AI Summarization
- Notes Overview inside Workspace and Directory Notes
- Grid Layout / Multiple Notes on Screen
- Landing Page
- Continue from where you left off
- File Uploads (Uploadthing)
- Python/Javascript execution from Codeblocks
- Collaboration
- Custom Themes
- Offline Support
- Mobile App (in progress, not priority)
- Version History
- Resend Email