Woordjes

Live

An AI product builder project

Astro Case Study
Try the demo of this fully featured dutch learning flashcard app with teacher assigned word lists, progressive disclosure of pronunciation hints and word forms, and the ability to use AI to generate brand new word lists with rich embedded pronunciation and word form data on any topic you want right before your eyes. ## [Try woordjes without a login](https://woordjes.applikuapp.com/demo/?token=woordjes-portfolio-2026) > My wife and I started Dutch language courses after we moved to the Netherlands, and the study materials were trapped in PDFs attached to emails, both with Dutch titles that were hard to understand. So I built our teacher an app that turns lesson content into flashcards with rich pronunciation and word form data embedded in icons on the cards -- because the best way to test an AI product workflow is to solve a problem for someone who will actually tell you if it's bad. ## The Problem Learning Dutch is hard enough without fighting your study materials. Our teacher is excellent, but the language courses provide lesson content as PDFs and Word documents -- dense, unstructured, and not designed for active recall practice. She needed a way to extract vocabulary from her actual coursework and drill it as flashcards, including the notoriously tricky Dutch system for telling time. ## My Role Solo designer, developer, and deployer -- end to end, from design doc through production. ## The Approach I started with a brainstorming session to nail the architecture: data model, user flows, PDF parsing pipeline, AI powered custom wordlist generation, flashcard UI, and deployment strategy. I analyzed all 10 of Marielle's lesson content files (PDFs, docx, even audio files) to understand the shape of real course material before writing a line of code. Key early decisions: use the Djangitos template for fast Django scaffolding for authentication, permission, teacher and student management, build a shared DutchTerm table to support multi-language vocabulary lookups, use Claude's API for intelligent PDF parsing rather than brittle regex extraction, and skip Celery entirely since the processing load didn't warrant the complexity. From there, I had a working local prototype 36 hours after kickoff, and deployed the working prototype to production before the end of the week. Still adding features and shipping iteratively after new ideas and feature requests in each of our weekly session. getting it into Marielle's hands as fast as possible so real usage could drive refinement. ## What I Built - **Lesson ingestion pipeline** -- upload PDFs and docx files from Dutch language courses; Claude API parses and extracts vocabulary, phrases, and context - **Flashcard generation** -- automatically creates study cards from parsed lesson content, organized by lesson with rich pronunciation and word form data available through progressive disclosure on each flashcard - **Time-telling exercises** -- dedicated practice mode for Dutch clock expressions, which use a half-hour anchor system that trips up every learner - **Multi-language data model** -- shared DutchTerm table designed to support vocabulary lookups across source languages, not just English-Dutch - **Production deployment** -- live on Appliku with Django backend, ready for daily use ## The Result Woordjes is live in production and actively used by its target user. It solves a real problem -- Marielle uses it to study for her Dutch courses. Some edge cases around over/under the hour and half-hour anchors in the time exercises are still being refined, which is normal for a domain with genuinely irregular rules. What the project proves: I can go from a user's problem to a deployed, AI-powered application -- designing the system, building the pipeline, handling the deployment, and iterating based on real feedback. ## Tech Stack - **Backend:** Django (Djangitos template) - **AI/Parsing:** Claude API for PDF and document extraction - **Database:** PostgreSQL with shared DutchTerm vocabulary model - **Hosting:** Appliku - **Document Processing:** PDF and docx ingestion pipeline