Inspiration
Students often have information that is technically available but practically inaccessible: dense explanations, jargon, overwhelming material, and no clear next step. Generic chatbots answer without knowing the learner's goal, level, style, or progress. AccessAI turns that barrier into a personalized path: confusion → understanding → action → progress.
What I Learned
How to structure a real AI product: server-side LLM calls with secrets kept off the client, Pydantic-validated APIs, a clean relational schema, honest labeled fallback mode, and an accessibility-first UI that works from 320px phones to desktop.
How I Built It
Frontend: React + TypeScript + Vite + Tailwind CSS v4, Recharts, Lucide icons. Onboarding (goal, level, style) generates a personalized workspace; Understand returns explanations, key ideas, terms, examples, steps, and quizzes; the planner turns goals into milestones and tasks; Progress shows charts plus AI insights that explain why each step is recommended. State persists in localStorage.
Backend: FastAPI with /api/understand and /api/plan endpoints calling an OpenAI-compatible model server-side, with clearly labeled mode: demo fallback when no key is set. PostgreSQL schema (schema.sql) covers users, profiles, goals, milestones, tasks, sessions, interactions, and progress.
Challenges
Making the app fully usable with zero API key without ever faking AI output; keeping the schema expressive yet simple; verifying the build on Windows PowerShell and on Vercel's Linux build machines.
What's Next
Supabase Auth, server-persisted plans, spaced repetition, PDF ingest, and multilingual simplification.
Built With
- accessibility
- fastapi
- localstorage
- lucide
- openai-api
- postgresql
- pydantic
- python
- react
- recharts
- tailwind-css
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.