Skip to content

Repository files navigation

🎓 Gradelytics

AI-powered teaching copilot for educators — design syllabi, grade essays, and track class performance in minutes, not weekends.

Built for the AMD Hackathon on lablab.ai (Unicorn Track), powered by Fireworks AI serverless inference.


The Problem

Educators spend 10–20 hours per week on non-teaching work: writing syllabi from scratch, grading stacks of essays by hand, and manually tracking student performance. This work is repetitive, subjective, and burns out the people we need most in classrooms.

The Solution

Gradelytics packages three AI workflows into one clean dashboard:

Feature What it does
📚 Syllabus Architect Generates a complete week-by-week syllabus (topics, readings, assignments, rubrics) from a course title, department, and learning objectives. Supports custom departments/majors. Exports to PDF and Markdown.
🧠 VibeGrading Simulator Grades student essays against a fully customizable rubric. Returns per-criterion scores, a letter grade, three strengths, three improvement areas, and suggested readings — as an exportable grading report.
📊 Dashboard & Analytics Interactive charts (Recharts) for grade distribution, class performance trends, and a searchable grading-record table.

⚡ Fireworks AI Integration

Gradelytics runs all AI workloads on the Fireworks AI Serverless Inference API (https://api.fireworks.ai/inference/v1/chat/completions):

  • Configurable model — any Fireworks-hosted model works; default is accounts/fireworks/models/deepseek-v4-flash. Change it live in the in-app Settings (no rebuild needed).
  • JSON-constrained prompting — system prompts enforce a strict JSON schema; responses are defensively parsed, validated, and coerced before rendering, with an automatic one-shot retry if the model returns malformed JSON.
  • Robust client — 60-second request timeout with abort, friendly error mapping (invalid key, model not found, rate limit, service errors), and graceful degradation.
  • Bring-your-own-key — the API key and model ID are stored in the browser's localStorage only. No backend, no key ever leaves the client except to Fireworks.

Demo mode: without an API key, the app runs on realistic sample data and clearly labels results with a "Demo data" badge — so you can explore the full UX before connecting a key.

🔴 AMD ROCm Inference Backend

I designed the client to be provider-agnostic, and to prove it I ran our own Gemma model on an AMD Instinct GPU via ROCm — behind the same OpenAI-compatible API the frontend already speaks. Because the HTTP shape is identical to Fireworks, pointing the app at our AMD box is just a base-URL swap; no client code changes.

The full backend I ran on the AMD hardware lives in amd-rocm/:

  • serve_gemma.py — FastAPI server loading Gemma on the AMD GPU, exposing POST /v1/chat/completions.
  • gemma_rocm.ipynb — the notebook I ran on the AMD box: rocm-smi / torch.version.hip GPU checks, model load, a sample generation, and launching the server behind a public Serveo tunnel.
  • Dockerfile — reproducible image on the rocm/pytorch base with the GPU passed through.

One lesson baked into that folder: on AMD, PyTorch keeps the cuda device names but routes them to the GPU through HIP, so I install the ROCm torch build (not the default CUDA wheel) and confirm the card with torch.version.hip. See amd-rocm/README.md for the run steps.

🚀 Quick Start

npm install
npm run dev

Open http://localhost:5173, click Settings in the sidebar, and paste your Fireworks AI API key.

Docker

docker build -t gradelytics .
docker run -p 8080:80 gradelytics

Open http://localhost:8080.

Scripts

Command Purpose
npm run dev Vite dev server
npm run build Production build to dist/
npm run typecheck TypeScript strict check
npm run preview Preview the production build

🏗️ Tech Stack

  • React 18 + TypeScript — strict, fully typed
  • Tailwind CSS 4 — design system with emerald brand palette
  • Recharts — interactive analytics charts
  • jsPDF — client-side PDF report generation
  • Lucide — iconography
  • Vite 7 — build tooling
  • Fireworks AI — serverless LLM inference (default runtime)
  • AMD ROCm + Gemma — our own model served on AMD hardware behind an OpenAI-compatible API (see amd-rocm/)

100% client-side — deploys as static files anywhere (nginx, Vercel, S3, GitHub Pages).

📈 Market Potential

Gradelytics starts as a single-educator tool and scales into an institutional platform:

  1. Freemium for individual educators — bring-your-own-key, zero infrastructure cost.
  2. Department license — shared rubric libraries, custom major/department taxonomies (already supported), and consistent grading standards across sections.
  3. Institutional analytics layer — the Dashboard and Analytics views become the upsell: aggregate grading data across courses to surface at-risk students, grading consistency metrics, and curriculum outcome tracking.

The global EdTech market exceeds $300B; AI grading assistance alone addresses the #1 reported cause of teacher burnout — workload.

📄 License

Built for the AMD Hackathon 2026. All rights reserved by the Gradelytics team.

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages