System Overview
Ideon is built with a modern stack designed for performance, portability, and self-hosting.
Technology Stack
Backend / Frontend
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Components: Radix UI (via shadcn/ui)
Database
- Primary (Production): PostgreSQL
- Development: SQLite (via
better-sqlite3) - Query Builder: Kysely
- Migrations: Kysely migrations
Realtime & State
- CRDTs: Yjs for conflict-free realtime collaboration.
- WebSocket:
ws+y-websocketcustom server implementation. - Canvas: React Flow (xyflow) for the visual graph.
Architecture
Ideon runs as a single container (monolith) for simplicity.
- Next.js Server: Handles API requests, SSR pages, and static assets.
- WebSocket Server: Runs alongside Next.js (custom server entry point) to handle realtime connections for project canvases.
- Database: PostgreSQL (recommended) or SQLite (dev) stores persistent data.
- Y-LevelDB: Persists Yjs updates to disk efficiently.
This architecture ensures that Ideon is easy to deploy (just one container) while supporting advanced features like realtime collaboration.