"Don't use AI as a crutch. Use it as a benchmark."
UnVibe is an open-source AI-powered learning platform that trains developers to deeply understand code — not just generate it.
The application is deployed with:
- Frontend: Vercel (main branch)
- Backend: Render (Node.js + Express)
- AI Service: Render (Python + FastAPI)
- Database: Upstash PostgreSQL
- Cache: Upstash Redis
UnVibe implements a Decode → Rebuild → Defend learning loop:
- Decode — Analyze AI-generated production code, annotate it, and pass a comprehension quiz
- Rebuild — Rewrite the solution from memory without AI assistance
- Defend — Explain and modify your code under Socratic questioning
Your progress is tracked through an Irreplaceability Score (IRS) that measures code comprehension depth versus AI dependency.
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, TypeScript, Tailwind CSS, shadcn/ui |
| Backend | Node.js, Express, tRPC, Prisma |
| AI Service | Python, FastAPI, OpenRouter (Claude, Gemini, Llama) |
| Database | Upstash PostgreSQL 16 |
| Cache | Upstash Redis 7 |
| Storage | Cloudflare R2 |
| Infrastructure | Turborepo, pnpm, Vercel, Render, GitHub Actions |
- Node.js 20+ and pnpm 9+
- Python 3.12+
- Docker & Docker Compose (for local development)
# Clone and install
git clone https://github.com/Omnikon-Org/UnVibe.git
cd UnVibe
pnpm install
# Set up environment
cp .env.example .env
# Edit .env with your configuration
# Start infrastructure (PostgreSQL + Redis)
docker-compose -f infra/docker-compose.yml up -d
# Run migrations and seed
pnpm db:migrate
pnpm db:seed
# Start development servers
pnpm devapps/
├── web/ # Next.js 14 frontend (App Router)
├── api/ # Node.js + Express backend (tRPC)
└── ai-service/ # Python FastAPI AI service
packages/
├── types/ # Shared TypeScript types
└── config/ # Shared ESLint, Prettier, tsconfig
infra/
└── docker-compose.yml # Local PostgreSQL + Redis
Required for local development:
DATABASE_URL=postgresql://user:password@localhost:5432/unvibe
REDIS_URL=redis://localhost:6379
NEXTAUTH_SECRET=<generate-with-openssl>
OPENROUTER_API_KEY=<your-key>See .env.example for complete configuration options including:
- GitHub & Google OAuth credentials
- Upstash Redis/PostgreSQL connection strings
- Cloudflare R2 storage credentials
- Sentry monitoring DSNs
- PostHog analytics key
| Component | Platform | Branch |
|---|---|---|
| Frontend | Vercel | main |
| Backend API | Render | main |
| AI Service | Render | main |
| Database | Upstash PostgreSQL | — |
| Cache | Upstash Redis | — |
Changes merged to main trigger automatic deployment via GitHub Actions.
- Comment on an issue to claim it
- Create a branch:
feat/your-featureorfix/bug-description - Make focused changes, follow conventional commits
- Run
pnpm lintandpnpm testbefore pushing - Open a PR with one review required
MIT — see LICENSE for details.
Built for developers who want to be irreplaceable.
UnVibe — Stop vibing. Start understanding.