LearnWay
An AI learning companion for primary-school students. Seven services behind an API gateway.
Built for SPARKS Book Club · 2025

What it is
LearnWay is a learning companion aimed at primary-school students, built around the idea that a child will use a tool that feels like a game and abandon one that feels like homework. Inside the product it carries the name Spark Learning, and the tagline the folder is named after: learn your way.
The interface leads with a streak, stars and achievements, then progress per subject, then what is coming up. A study session with an AI tutor is one button away from the home screen.
How it is built
The interesting part is behind the dashboard. Rather than one application, it is seven services behind an API gateway, each owning one responsibility.
- User service for accounts and profiles
- AI orchestrator that routes requests to the model and assembles context
- Study buddy, the tutoring conversation itself
- Content service for lessons and reading material
- Lab service for practice exercises
- Gamification for streaks, stars and achievements
- Analytics for progress tracking
They are written in Python with FastAPI and Pydantic, share a PostgreSQL database through SQLAlchemy with Alembic migrations, and use Redis for caching and session state. The whole set runs under Docker Compose for development, and there are Kubernetes manifests for staging and production. The front end is Next.js and React with Tailwind.
Purpose
LearnWay started as a way to expand SPARKS Book Club and get the students more interested in reading, STEM, and academics generally. Many of them had learning disabilities or had checked out of school entirely, not because they couldn't learn, but because the classroom wasn't letting them learn what they actually cared about. I wanted to build something that could meet them where they were and make room for their interests.
Stack
Python, FastAPI, Pydantic, SQLAlchemy, Alembic, PostgreSQL, Redis, the Anthropic API, Docker Compose, Kubernetes, nginx, Next.js, React and Tailwind.