A production-ready, open-source developer content platform with AI-powered personalization.
DevOci is a content aggregation and personalization platform designed for developers. Think of it as your personalized developer news feed that learns what you like and serves relevant content.
Key Highlights:
- 📰 Aggregates content from 50+ developer sources
- 🤖 AI-powered content scoring and personalization
- 🎯 Role-based feeds (Frontend, Backend, DevOps, etc.)
- 🏆 Gamification with streaks and achievements
- 💳 Built-in subscription billing
| Category | Features |
|---|---|
| API | GraphQL with 60+ endpoints, REST webhooks |
| Auth | JWT + OAuth (Google, GitHub) |
| Database | MongoDB with Redis caching |
| AI | Gemini-powered content scoring |
| Billing | Stripe subscriptions & invoices |
| Resend + Gmail SMTP fallback | |
| Workers | Background jobs for RSS, email, scoring |
| Security | Rate limiting, Sentry error tracking |
| Realtime | WebSocket notifications via Redis Pub/Sub |
| Layer | Technology |
|---|---|
| Runtime | Node.js 18+ |
| Language | TypeScript |
| API | Apollo GraphQL + Express |
| Database | MongoDB (Mongoose ODM) |
| Cache | Redis (ioredis) |
| Auth | JWT + Passport.js |
| Resend / Nodemailer | |
| Billing | Stripe |
| AI | Google Gemini |
| Monitoring | Sentry |
| Process | PM2 Clustering |
devoci/
├── apps/
│ ├── api/ # GraphQL API Server (@devoci/api)
│ ├── ws/ # WebSocket Gateway (@devoci/ws)
│ └── web/ # Next.js Frontend (Coming Soon)
├── docs/ # Documentation
│ ├── OPEN_CORE.md # Architecture Guide
│ └── DEPLOYMENT_GUIDE.md
├── .github/ # Issue templates, CI workflows
├── .env.example # Environment template
├── docker-compose.yml # Local dev with Docker
└── ecosystem.config.js # PM2 config
- Node.js 18+
- pnpm (
npm install -g pnpm) - MongoDB (local or Atlas)
- Redis (local or cloud)
# Clone
git clone https://github.com/akradadiya28/devoci.in.git
cd devoci
# Install
pnpm install
# Configure
cp .env.example .env
# Edit .env with your values
# Run API
cd apps/api
pnpm dev
# → http://localhost:4000/graphqlCopy .env.example to .env and configure:
| Variable | Description | Required |
|---|---|---|
MONGODB_URI |
MongoDB connection string | ✅ |
REDIS_URL |
Redis connection string | ✅ |
JWT_SECRET |
Secret for JWT signing | ✅ |
GEMINI_API_KEY |
Google AI API key | |
STRIPE_SECRET_KEY |
Stripe API key | |
RESEND_API_KEY |
Resend email API key | |
GOOGLE_CLIENT_ID |
OAuth client ID | |
GITHUB_CLIENT_ID |
OAuth client ID |
See .env.example for all available options.
We welcome contributions! Please read our Contributing Guide first.
Quick Start:
- Fork the repo
- Create a branch:
git checkout -b feat/my-feature - Make changes & test
- Submit a PR
⚠️ This project uses Open Core architecture. Do not modifyapps/api/src/ee/- it's proprietary and gitignored.
This project is licensed under the Elastic License 2.0 (ELv2).
- ✅ Self-host for personal/internal use
- ✅ Modify and contribute
- ❌ Cannot offer as a managed service
See LICENSE for full terms.