Live projects

inVariable

A daily card that teaches one IT or coding term in plain English.

Android, not released yet

An Android "word a day" app for IT and coding terms, in development. It looks like Cards Against Humanity crossed with YouTube: black and white cards, a bold orange var icon and dry humour. Each day you get one term, explained without the jargon, with a quick quiz and spaced review to help it stick.

Tech stack

  • Kotlin
  • Jetpack Compose
  • Material 3
  • WorkManager
  • Glance
  • SharedPreferences
  • Gradle
  • JUnit

What it does

  • A daily card at your chosen level (Beginner, Intermediate or Advanced), with a definition, a tagline, a code example with highlighted lines, an "overheard" example sentence and related terms
  • 120 terms, each linked to the terms it builds on and the ones it leads to
  • A quiz where you tap the line of code that does something, plus up to four older cards back as fill-in-the-blank sentences on a spaced review schedule
  • A streak for finishing the first hand of the day, then up to three extra cards
  • A deck of every card you've been dealt, where you can save cards or mark them as learned
  • A three-step setup, a daily reminder at a time you choose, and a home screen widget with today's card

How it works

  • All the content lives in one bundled file, so adding terms is an update to that file with no code changes.
  • Progress stays on the device. There's no backend, no account and no internet permission.
  • Targets Android 16 and runs on Android 8.0 and up. Release builds are minified and signed with an upload key kept outside the repo.
  • The rules for dealing cards, streaks and spaced review are kept apart from the screens and covered by unit tests.

Planned next

  • On call, a timed card game in beta: tickets pile up and you clear each one by playing the right term, or "Not a bug" for a false alarm
  • A Play Store release, with the listing, screenshots and privacy policy already drafted