← All projects

Flashcard App

An Android flashcard app with gyroscope- and accelerometer-driven gestures for moving through a study deck, built on Jetpack Compose and Room.

Overview

A flashcard app for Android with a modern Compose-based interface and an on-device Room database, so decks and progress are saved locally rather than needing a server. It supports extensible deck management and spaced-repetition study flows, and layers in gesture controls: the phone's gyroscope and accelerometer let you move through cards with a tilt or a shake instead of a tap. It's structured as a standard multi-module Android Studio project with centrally managed dependency versions.

Architecture & Implementation

The app is a standard multi-module Android Studio project: a launcher activity and a custom Application class provide one place to initialize app-wide dependencies - the Room database and its repositories - at startup, and the UI is built entirely in Jetpack Compose, including preview tooling for debug builds.

Navigation Compose handles routing between screens, and Room (with its KTX extensions and KAPT annotation processing) provides local, coroutine-friendly persistence backed by SQLite; LiveData support for Compose keeps the UI driven by observable state rather than manually refreshed.

Gyroscope and accelerometer input from the Android Sensor API drives gesture-based card interactions, so moving through a lesson doesn't require tapping through every card by hand.

Dependency versions are centralized through a Gradle Version Catalog rather than pinned per-module, packaging rules exclude license metadata that would otherwise create merge conflicts between Compose/AndroidX artifacts, and the release build is wired with a ProGuard/R8 configuration alongside explicit backup and data-extraction rules.