Ongoing

Scaling a Student Platform Used by 70% of Medical Students

Full-Stack Engineer · 2023 · Initial build: 2 weeks | Ongoing development · 1 person · 4 min read

Platform adopted by ~70% of the medical student body (1000+ monthly users) centralizing 300+ academic resources and evolving into the main academic hub for the community.

Overview

Designed and built a full-stack academic platform used by the majority of medical students to access study materials, past exams, and academic resources. The system organizes the entire medical curriculum (43 subjects) into a structured navigation model and provides tools for administrators to manage materials efficiently. Originally launched during a student election campaign, the platform evolved into the primary resource hub for the student community.

Problem

Before the platform existed, study materials were fragmented across Facebook posts, WhatsApp groups, Telegram chats, and private drives. Students struggled to locate specific documents and often paid for materials that were already freely available. The university did not provide any centralized repository, creating constant friction when searching for academic resources.

Constraints

  • Initial version had to be built in under 2 weeks during an active student election campaign.
  • Extremely limited operational budget.
  • System needed to be manageable by non-technical administrators.
  • Infrastructure costs had to remain minimal despite growing content.
  • Fast navigation and search engine visibility were critical.

Approach

The original platform was built using Astro with a static-first architecture optimized for SEO and navigation speed. As the project grew and new interactive features were required, I migrated the system to a full-stack architecture using Next.js while preserving the performance characteristics of the original system.

Key Decisions

Static-first architecture for academic navigation

Reasoning:

The academic hierarchy (year → subject → professor → exam → material) changes very rarely. Implementing this structure statically allowed extremely fast navigation while minimizing backend requests.

Alternatives considered:
  • Fully dynamic database-driven navigation
  • Traditional CMS taxonomy

Migration from Astro to Next.js full-stack architecture

Reasoning:

As the platform expanded with new interactive features such as dashboards, messaging, and administrative tools, a full-stack framework allowed easier backend logic management and better long-term scalability.

Alternatives considered:
  • Continue extending Astro with additional server endpoints
  • Move to a backend-heavy architecture with separate API services

External storage for documents

Reasoning:

Study materials are stored on Google Drive instead of the application server. This keeps hosting costs minimal while allowing hundreds of documents to be served without bandwidth limitations.

Alternatives considered:
  • Self-hosted storage
  • Cloud object storage (S3 or similar)

Backend powered by Supabase

Reasoning:

Supabase provides authentication, database, and real-time features with minimal infrastructure overhead, enabling rapid feature development for a solo project.

Alternatives considered:
  • Self-hosted PostgreSQL with custom API
  • Firebase

Tech Stack

  • Next.js
  • React
  • Supabase
  • WebSockets
  • Vercel
  • Google Analytics
  • Google Search Console

Result & Impact

  • ~70% of medical students
    Adoption
  • 1000+ active users
    Monthly Users
  • 300+ academic materials
    Study Resources
  • 43 subjects
    Subjects Covered
  • 50+ pages indexed by Google
    Indexed Pages

The platform became the main academic hub used by the medical student community. By consolidating materials that were previously scattered across multiple channels, students can now quickly locate resources and avoid paying for documents that are already available.

Learnings

  • Static-first architectures can scale surprisingly well when domain structures are predictable.
  • Migrating architecture is easier when the original system separates navigation from dynamic content.
  • Early decisions that minimize infrastructure cost allow projects to grow organically.
  • Platforms built for real communities evolve faster than typical side projects.

Platform Evolution

The project evolved through three major technical stages:

CLI prototype

Astro static-first platform

Next.js full-stack system

Each stage responded to the growing needs of the platform and the student community using it.

The CLI prototype initially allowed administrators to manage materials from the command line.
The Astro version introduced a fast static interface optimized for browsing academic resources.
The current Next.js version supports more complex backend logic and interactive features.

Core Navigation Model

The platform organizes academic materials using a hierarchical structure:

year
└ subject
└ professor
└ exam
└ material

This model makes it possible to browse the entire curriculum without relying on complex search queries.

Features Added Over Time

As the platform matured, several additional services were introduced:

  • real-time student chat
  • private admin dashboard
  • study material management tools
  • study room reservation system
  • lab coat rental management
  • custom search engine inspired by Algolia

Live platform
www.megaloblastos.com

Current repository
https://github.com/AndresEduardoRA/cli-megaloblastos-archived