How I Build AI-Enabled Learning Apps

By Shohei Komatsu (shokoma) · February 2026

Ace the Test interface — AI-generated quiz from uploaded notes

Why AI + Education?

Studying is one of those activities where the feedback loop is painfully slow. You read, you highlight, you hope you remember. Large-language models (LLMs) change the equation: they can instantly transform raw notes into structured quizzes, flashcards, and explanations — giving learners active recall practice within seconds of uploading their material.

I've built two AI-enabled learning apps — Ace the Test and Learn Addic — each taking a different approach to the problem.

Ace the Test: LLM-Driven Quiz Generation

Ace the Test is a web application that lets you upload notes or PDFs, and then automatically generates multiple-choice (MCQ) and true/false quizzes using a language model. The core workflow:

  1. User uploads a PDF or pastes plain-text notes
  2. The backend extracts and chunks the text
  3. Each chunk is sent to the LLM with a prompt that requests structured quiz output (JSON format)
  4. Results are parsed, validated, and stored
  5. The frontend renders an interactive quiz with scoring and review

Architecture

The stack is React + TypeScript on the frontend, backed by Python / FastAPI running on Google Cloud Run. The LLM calls go through a thin abstraction layer so the model provider can be swapped without touching business logic.

Prompt Engineering Lessons

Learn Addic: Offline-First Study Companion

Learn Addic takes a different angle — it's a native iOS/macOS app built with Swift and SwiftUI, focused on organizing study material with iCloud sync so you can study on any Apple device, online or offline.

Core Data handles local persistence, CloudKit handles sync, and the app uses spaced-repetition scheduling to surface cards when your memory is about to fade. The emphasis is on a fast, fluid native experience rather than a web-first approach.

Key Trade-offs: Web vs. Native

Ace the Test (Web)Learn Addic (Native)
PlatformAny browseriOS & macOS
OfflineLimited (needs LLM call)Full offline support
AI roleQuiz generation at uploadSpaced-repetition scheduling
SyncCloud-based (PostgreSQL)iCloud / CloudKit
Update cycleContinuous deployApp Store review

Takeaways

Explore Further

Last updated: February 2026