Skip to content
SoftwareData

LearnWay

An AI learning companion for primary-school students. Seven services behind an API gateway.

Built for SPARKS Book Club · 2025

Screenshot of the LearnWay dashboard. A sidebar lists classes, notes, calendar, reading and progress. The main panel greets a student, shows a learning streak, stars earned and achievements, a prompt to start a learning session, and progress bars for four subjects.
The student dashboard, running locally against demo data. Progress, streaks and reading sit on the home screen because they are what a nine-year-old will actually look at.

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.