ComingUp
MedStudy — AI-Powered Medical Study Platform

MedStudy — AI-Powered Medical Study Platform

AI study platform: upload any PDF, get instant quizzes, flashcards & analytics.

Mar 12, 2026 Other

Gallery

MedStudy — AI-Powered Medical Study Platform

About

OverviewA full-stack web application designed for medical students to study smarter using AI-powered question generation, spaced repetition, collaborative study rooms, and detailed performance analytics. Built as a complete SaaS-ready product.Codebase Stats165 files | ~20,000 lines of TypeScript/TSX25+ API routes | 18 pages | 20+ database tablesFully deployed on Railway with persistent SQLite storageTech StackLayerTechnologyFrameworkNext.js 16 (App Router, Server Components)LanguageTypeScript (strict)DatabaseSQLite via better-sqlite3 + Drizzle ORMAI EngineGroq SDK (LLaMA 3.3 70B) — JSON mode + streamingStylingTailwind CSS 4 + shadcn/ui (Radix primitives)AuthCustom JWT (jose) + bcrypt password hashingEmailResend (password reset flows)ChartsRechartsDeploymentRailway (auto-deploy from GitHub)Core Features1. AI Question Generation (5 Types)MCQ — Multiple choice with explanationsFlashcards — Front/back with card types (definition, mechanism, clinical, mnemonic)Fill in the Blank — With alternative accepted answersShort Answer — AI-evaluated with key points scoringClinical Cases — Full scenario + examination + investigations + rationaleAll generated from uploaded content with configurable:Difficulty (easy/medium/hard)Count (3–30 per type)Focus topic filteringPage range selection (for multi-lesson PDFs)2. Content LibraryPDF upload with automatic text extractionMCQ Bank PDF import — AI parses existing exam papers into structured questionsYouTube video import — transcript extraction + question generationPer-source question management with delete capabilitySubject/topic auto-detection3. Study SessionsMixed activity types in a single sessionReal-time scoring and progress trackingQuestion flagging during examsSession summary with score breakdownXP rewards on completion4. AI Tutor (Chat)Streaming chat interfacePersonalized system prompt built from:User's weak topics (from analytics)Wrong answer historyUploaded content contextContextual medical explanations5. Spaced Repetition (SM-2 Algorithm)Automatic card scheduling based on recall qualityDue card queue with review interfaceStats dashboard (cards due, reviewed, retention rate)6. Exam LabUpload doctor's past exams → AI analyzes the exam styleGenerate new questions that mimic the professor's styleExam profiles saved per professorTimed exam mode with flagging7. AI Lesson GeneratorEnter any medical topic → AI generates a full structured lesson:Overview, multiple sections, summary, clinical relevanceAI-generated SVG diagrams for visual learningIn-lesson AI chat for Q&A8. Question FoldersCreate custom folders (with color coding)Save any question to folders during study sessions"Study All" — start a session from folder contentsRename, recolor, delete folders9. Wrong Answers ReviewDedicated page listing all incorrectly answered questions"Quiz on All" — retry only the questions you got wrongTracks improvement over time10. Analytics DashboardPerformance line chart — score trends over timeSubject radar chart — strengths/weaknesses visualizationTopic breakdown bar — per-topic accuracyWeakness remediation — AI-suggested topics to focus on11. Study PlanCalendar-based daily study plannerAssign sources + activity types per dayTrack plan completionIntegrated with dashboard "Today's Plan" card12. Collaborative Study RoomsCreate/join rooms with invite codesReal-time group chat (polling-based)Per-member study timerVoice chat (WebRTC signaling)Admin controls (mute members)13. Social FeaturesFriends system — send/accept requests by usernameDirect messaging — real-time chat with friendsUser profiles — name, username, bio14. Gamification (Valorant-Style Ranking)24-level ranking system: Unranked → Iron 1-3 → Bronze 1-3 → Silver 1-3 → Gold 1-3 → Platinum 1-3 → Diamond 1-3 → Immortal 1-3 → Radiant → ProfessorXP earned from: correct answers, session completion, perfect scores, examsProfessor rank requires 100,000 XP (extremely hard)Progress bar showing XP to next rank15. Streak SystemDaily study streak trackingVisual streak widget on dashboardEncourages consistent study habits16. Summaries (Whiteboard)Create text/canvas summaries for topicsAI evaluation — scores your summary completenessSubject/topic tagging17. Admin PanelUser management overviewDatabase Schema (20 tables)users · content_sources · questions · study_sessions · session_responses · study_plan_items · streak_records · topic_performance · sr_cards · study_goals · user_xp · exam_profiles · lessons · summaries · study_rooms · room_members · room_messages · voice_signals · password_reset_codes · friend_requests · friendships · direct_messages · doctor_pdfs · question_folders · folder_questionsAuthentication & SecurityCustom JWT-based auth (no third-party auth provider dependency)bcrypt password hashingEmail verification / password reset via ResendPer-user data isolation (all queries scoped to userId)Cascade deletes for data integrityDeploymentPlatform: Railway (one-click deploy from GitHub)Database: SQLite with persistent volume mountMigrations: Drizzle auto-migration on startup (prestart script)Cost: Minimal — SQLite = no separate DB service neededMonetization PotentialFreemium model: Free tier (limited generations) + Pro tier (unlimited)Per-university licensing: Customize for specific curriculaMCQ Bank marketplace: Students share/sell question banksGroup subscriptions: Study room features for study groupsAPI access: Sell the AI generation engine as an APICompetitive AdvantagesAll-in-one — replaces Anki + Quizlet + Notion + Discord study serversAI-native — every feature is AI-powered, not bolted onExam-style matching — unique feature that mimics specific professorsZero vendor lock-in — SQLite, self-hostable, no proprietary servicesMedical-specific — prompts tuned for clinical content, not genericLow infrastructure cost — SQLite + Groq (free tier available)

Comments (0)

No comments yet. Be the first to comment!