inVariable
A daily card that teaches one IT or coding term in plain English.
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