# AcadFlow — I Built an AI Academic Operating System for My Friend Who Drowns in Deadlines Every Semester

> Source: <https://dev.to/divyanshigupta491/acadflow-i-built-an-ai-academic-operating-system-for-my-friend-who-drowns-in-deadlines-every-7h6>
> Published: 2026-10-04 14:58:54+00:00

*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.*
