IPE-24 Classroom
The first real product I built: a class operating system designed to become the daily source of truth for IPE-24 students.

title: "IPE-24 Classroom: A Zero-Cost Academic Operating System" excerpt: "How a unified platform replaced scattered WhatsApp groups, lost Google Drive links, and messy schedules for an entire university batch." date: "Jun 2025 - Present" stage: "production" readTime: "8 min read" stack: ["Next.js", "TypeScript", "Prisma", "PostgreSQL", "Telegram Bot API"] liveUrl: "https://ipe24.vercel.app"
What problem does this product solve?
At surface level, this started because "students need a website." But the real problem was that one batch of students was coordinating academic life across too many inconsistent channels: verbal updates, WhatsApp threads, Google Drive folders, routine changes, exam notices, Discord messages, and Class Representative memory.
Important announcements were getting buried in chat streams. Routine changes were temporal, not permanent, so a simple timetable table was never enough. Files existed in Google Drive, but discoverability was weak and folder hygiene degraded over time. The Class Representative needed to publish quickly from mobile, not from a laptop admin panel every time. Students kept asking the same contextual questions: what classes are today, what changed this week, where is the file, what exam is next?
IPE-24 Classroom solves this by becoming a central coordination engine—a single source of truth for class state, featuring fast publishing across multiple communication channels, and strong guardrails to ensure academic workflows can't be corrupted.
Impact on Society (How people benefit)
While this was built for a single university batch, the operational impact is a blueprint for EdTech at large. By centralizing operations, students save hours of confusion every week. No one misses a deadline because an announcement got lost in a WhatsApp chat. The Class Representative saves massive administrative overhead by entering data once and letting the system fan it out everywhere. It eliminates the anxiety of "did I miss something?" that plagues modern students.
User Count
Currently serving 100+ active daily users (the entire IPE-24 university batch), with hundreds of operations, API requests, and automated bot dispatches handled weekly.
Tech Stack
- Next.js 14 (App Router)
- TypeScript
- Prisma (ORM)
- PostgreSQL 16 (Database)
- Redis (Cache & Rate Limiting)
- Telegram Bot API / WhatsApp (Baileys) / Discord Bots (Distribution Layer)
Justification of Tech Stack
Why did I choose this specific stack over others?
The Bottleneck of Legacy Approaches: The legacy "system" was entirely manual: WhatsApp groups and Google Drive folders. The bottleneck was human coordination and scattered state. To digitize this, a traditional CMS (like WordPress) or a low-code tool (like Notion) would fail because they lack the ability to model complex, temporal rules (like A/B week parity for routines) and they cannot easily push updates across multiple APIs (Telegram, Discord, WhatsApp) simultaneously based on specific triggers.
Why this stack:
- Next.js & TypeScript: Next.js provides seamless serverless API routes that run alongside the frontend, making it easy to create webhooks for the Telegram bot. TypeScript ensures strict type safety across complex data models like
RoutineOverrideandExamSubmission. - PostgreSQL & Prisma: The schema required strict relationships (Users, Courses, Exams, Submissions). NoSQL would have led to massive data duplication and integrity issues when routines change. Prisma makes the relational modeling clean and type-safe.
- Redis: Essential for rate limiting the bot endpoints and caching the routine, ensuring the system remains blazing fast even when 100 students check the schedule at the exact same minute before class.
- Multi-Bot Integration: The Telegram Bot is the highest-leverage feature. It allows the Class Representative to trigger complex database mutations entirely from their phone without logging into a web dashboard, directly updating the PostgreSQL database and immediately alerting the Discord and WhatsApp layers.