Inspiration
Every student developer team knows the pain: tasks live in Notion, code reviews happen in GitHub comments, standups get lost in WhatsApp groups, and documentation is scattered across Google Docs. We asked ourselves — why does collaboration have to be this fragmented?
We were inspired by tools like Linear, Notion, and GitHub, but none of them were built for students — affordable, unified, and AI-native from the ground up. That gap became DevCollab.
What it does
DevCollab is a unified workspace for student developer teams. In one platform, teams can:
- 📋 Manage tasks on a drag-and-drop Kanban board with P0/P1/P2 priorities, due dates, assignees, and real-time updates
- 📝 Write documentation in a Notion-style wiki with rich text, version history, and linked pages
- 💾 Save and review code snippets with syntax highlighting, tags, and an AI code reviewer that scores quality (1–10) and flags bugs, security issues, and performance problems
- 🤖 Talk to an AI Project Assistant that summarises progress, identifies blockers, generates standup reports, and breaks features into subtasks automatically
- 🔔 Stay in sync with real-time presence indicators, live notifications, @mentions, and a global activity feed
- 💳 Scale with a Pro plan — unlimited workspaces, projects, members, and AI features
How we built it
The entire frontend is built with React + TypeScript + Vite, using Tailwind CSS and shadcn/ui for a clean, fast UI.
Real-time features (live board updates, presence indicators, notifications) are powered by Supabase Realtime — we leveraged Postgres row-level changes broadcast over WebSockets so every team member sees updates instantly without polling.
The database and auth layer run on Supabase — PostgreSQL under the hood, with Row Level Security policies enforcing our Owner / Admin / Member / Viewer role system at the database level.
The AI features call the Anthropic Claude API — the project assistant, standup generator, blocker detector, and code reviewer are all Claude-powered prompts that receive structured project context and return actionable output.
The rich text wiki editor is built with a headless editor integrated directly into the React component tree, with page version snapshots stored as JSON blobs in Supabase.
Payments and plan enforcement use Stripe in sandbox/test mode —
webhooks update a subscriptions table that gates Pro features.
Challenges we ran into
Real-time conflict resolution on the Kanban board was the hardest problem. When two users drag the same card simultaneously, we needed an optimistic UI with server-reconciled state — we solved this with Supabase Realtime broadcasts + a
positionfloat field that re-orders on every move.Row Level Security at scale — designing RLS policies that correctly enforce workspace → project → role hierarchies without N+1 query problems took several iterations. We ended up using Postgres functions to resolve membership efficiently.
Prompt engineering for the AI assistant — getting Claude to produce structured, actionable standup reports and task breakdowns (not generic fluff) required careful system prompts with explicit JSON output schemas and few-shot examples.
Rich text editor + version history — storing diffs vs. full snapshots was a real trade-off. We ultimately store full JSON snapshots on every save with a 30-version cap per page.
Accomplishments that we're proud of
- ✅ Built a fully functional real-time Kanban board — drag, drop, and every connected user sees it move in under 100ms
- ✅ AI code reviewer that gives genuinely useful feedback with a quality score, not just linting warnings
- ✅ A role-based permission system enforced at the database layer — Viewers literally cannot write to protected tables
- ✅ AI standup generation that reads actual task movement from the last 24 hours and produces a formatted report teams can paste straight into Slack
- ✅ Shipped a complete payments flow with Stripe, including plan enforcement (free tier limits: 1 workspace, 3 projects, 5 members)
What we learned
- Supabase Realtime is remarkably powerful for collaborative apps — but you have to design your schema around what you want to broadcast, not retrofit it later
- RLS is the right place to enforce permissions, but it requires thinking like a DBA, not just a frontend developer
- LLMs work best as project assistants when they receive structured context (JSON task lists, timestamps, statuses) rather than free-form descriptions — prompt structure matters as much as the model
- Building for students means performance and cost matter just as much as features — we kept the free tier generous on purpose
What's next for DevCollab — AI-powered collaborative workspace for developers
- 🔗 GitHub integration — link pull requests directly to Kanban tasks; auto-move to "In Review" when a PR is opened
- 📊 Velocity charts — sprint burndown and cycle time analytics powered by task history
- 🧠 Persistent AI memory — the assistant remembers past standups and project context across sessions
- 📱 Mobile app — React Native client for on-the-go task updates and notifications
- 🎓 Student verification —
.eduemail discount unlocking Pro features free for verified students
Built With
- ai
- api
- css
- editor
- express.js
- monaco
- node.js
- postgresql
- react
- socket.io
- supabase
- tailwind
- typescript
- vite
- websockets
Log in or sign up for Devpost to join the conversation.