AcadFlow — I Built an AI Academic Operating System for My Friend Who Drowns in Deadlines Every Semester A developer built AcadFlow, an open-source AI academic planning platform that combines a deterministic scheduling engine with local LLM assistance via Ollama to help students manage coursework deadlines. The system uses a dual-intelligence architecture in which the LLM extracts tasks from unstructured text but is explicitly instructed never to invent deadlines, falling back to deterministic logic when uncertain, and supports models including Qwen 2.5:7b, Llama 3.2, Mistral 7B and Gemma 2. This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend https://dev.to/challenges/hacktoberfest-weekend-2026-10-01 My closest friend, Priya, is a third-year Computer Science student. Every semester, she drowns in the same chaos — missed assignment notifications buried in WhatsApp groups, half-remembered quiz dates, and study plans that collapse the moment a professor reschedules a lab. She does not lack information. She has too much , scattered across five apps, three portals, and a camera roll full of screenshots. I built AcadFlow — an AI Academic Operating System that solves exactly this problem. Instead of another generic planner or a ChatGPT wrapper that confidently invents fake deadlines, AcadFlow is a deterministic planning engine with open-source AI assistance . null — the system never invents one. Live Frontend Vercel : GitHub Pages Landing Showcase : Try the Pre-loaded Demo Student Account: demo@acadflow.dev demo123 Pre-loaded with 5 real CS courses, 12 realistic tasks, an active daily schedule, indexed study documents, and a collaborative AI project — ready to explore immediately. From academic chaos to clarity. AcadFlow is a production-quality, open-source AI academic productivity and planning platform. Designed for college and university students managing multiple courses, assignments, exams, projects, and extracurriculars, AcadFlow transforms fragmented academic information into an adaptive, personalized action plan. Students do not have a lack of academic information; they have an academic information overload problem . Academic information is scattered across: AcadFlow replaces manual planning with an academic decision and planning engine powered by open-source AI. INPUT ──► UNDERSTAND ──► PRIORITIZE ──► PLAN ──► EXECUTE ──► MONITOR ──► REPLAN When a student reports: "I only completed 45 minutes of DBMS." or "I lost 2 hours today." AcadFlow does not simply… Acadflow-devchallenge1/ ├── frontend/ Next.js 14 App Router + TypeScript + Tailwind │ └── src/ │ ├── app/ 17 pages: dashboard, tasks, inbox, courses, analytics... │ ├── components/ Sidebar, Navbar, ThemeToggle, Footer... │ └── lib/ api.ts, types.ts, utils.ts ├── backend/ Python 3.11 + FastAPI + SQLAlchemy │ └── app/ │ ├── main.py Application entry point │ ├── config.py Pydantic Settings + Supabase config │ └── routers/ Auth, tasks, courses, inbox, planner, AI endpoints │ └── ai.py Ollama LLM + deterministic fallback + RAG ├── backend/tests/ 13 test cases pytest ├── index.html Standalone self-contained landing page showcase ├── docker-compose.yml One-command stack: FastAPI + Next.js + PostgreSQL + Ollama └── .github/workflows/ CI + GitHub Pages automated deployment AcadFlow is built around a dual-intelligence architecture that decouples AI assistance from deterministic business logic: backend/app/routers/ai.py response = requests.post f"{settings.OLLAMA BASE URL}/api/generate", json={ "model": settings.OLLAMA MODEL, qwen2.5:7b, llama3.2, mistral, gemma2 "prompt": extraction prompt, "stream": False, }, timeout=60, Supported models: Qwen 2.5:7b , Llama 3.2 , Mistral 7B , Gemma 2 , plus any OpenAI-compatible local endpoint. The LLM is explicitly instructed: "If you are not 100% certain of the deadline from the text, set deadline to null." "Never invent, estimate, or assume deadlines." Inferred estimates are tagged ai estimate=True and shown visually in the UI. Priority Score = Urgency + Importance + Workload + Dependency Risk + Exam Proximity ───────────────────────────────────────────────────────────────────── Completion Progress Factor RED = 75 → Imminent deadline <24h , exam, or overdue ORANGE 50-74 → Due within 48h or blocking teammates YELLOW 25-49 → Standard runway assignments GREEN < 25 → Extended deadlines or completed python def replan student report: str, active tasks: list, today budget minutes: int : 1. Parse what was completed vs planned 2. Recalculate remaining workload per task 3. Identify tasks safely shiftable low priority, distant deadline 4. Preserve imminent exam revision and high-stakes deadlines 5. Return new schedule + plain-language trade-off explanation | Layer | Technology | |---|---| | Frontend | Next.js 14 App Router , TypeScript, Tailwind CSS, Lucide Icons | | Backend | Python 3.11, FastAPI, Pydantic v2, SQLAlchemy 2.0, Uvicorn | | Database | SQLite local dev / PostgreSQL + pgvector / Supabase | | AI Inference | Ollama — Qwen 2.5, Llama 3.2, Mistral, Gemma 2 + Deterministic Fallback | | Embeddings & RAG | BGE Embeddings + cosine similarity via pgvector | | UI Design | Cormorant Garamond + Poppins, cream/teal palette, dark/light theme | | Containerization | Docker + Docker Compose | | Deployment | Vercel frontend + GitHub Pages + GitHub Actions CI/CD | | Tests | Pytest — 13 test cases | A proprietary closed API like GPT-4 would mean sending every student's assignment text, course names, exam schedules, and study patterns to a third-party commercial server. With Ollama, no academic data ever leaves Priya's laptop . University students do not have budgets for $20/month API subscriptions. With open-weight models Llama, Qwen, Gemma — all free, all local , the entire system runs on a consumer laptop with 8–16GB RAM. A closed API would price out the exact students who need it most — those in emerging economies without premium subscription budgets. The most critical feature — the Priority Engine and Adaptive Replanning — uses zero AI . It runs deterministic math. This architectural decision was only possible because open-source models forced intentionality: use AI only where it adds value, hardcode everything where correctness is non-negotiable. Proprietary APIs tempt developers to "just ask GPT what priority this task should be" — leading to hallucinated urgency and fabricated deadlines. Open-source models prevented this anti-pattern. Any tool that affects a student's study plan and exam preparation must be transparent. With open-source models and a fully open-source codebase, any student, professor, or researcher can audit exactly how AcadFlow makes its recommendations. Closed APIs are black boxes. Open innovation means accountability. This project was built with Google Antigravity AGY AI coding assistant. The session covered: @/lib/api gitignore exclusion bug mid-deployment ✅ Register, login, and JWT session handling ✅ One-click seeded demo student account demo@acadflow.dev ✅ Academic Inbox raw text, PDF upload, voice input ✅ Open-source LLM extraction with zero-hallucination deterministic fallback ✅ Review & edit extracted items before saving ✅ Deterministic Priority Engine RED / ORANGE / YELLOW / GREEN ✅ Daily planner with study hour budget selector ✅ Signature Feature : Adaptive Replanning with plain-language trade-off explanation ✅ Workload estimation with personalized programming multipliers ✅ Course pages with strong/weak topic tracking and AI study recommendations ✅ Knowledge Base RAG with grounded source citations ✅ Project Mode with team roles and AI blocker warnings ✅ Long-term Goals with milestone checklists ✅ Workload Analytics with completion rates and insights ✅ Smart contextual notifications ✅ Docker Compose ready PostgreSQL + pgvector + Ollama ✅ 13 automated test cases pytest ✅ Light/Dark theme toggle with localStorage persistence ✅ Deployed live on Vercel and GitHub Pages Built with love for every student who has ever missed a deadline they were certain they remembered.