Case Study: Simply Spin™

Frictionless Decisions

Engineering a physics-driven, ad-free randomization suite for Android.

01. The Problem

The Google Play Store is saturated with Random Name Picker and Decision Maker apps. However, almost all share a fatal flaw: they are bloated data-miners. Users shouldn't have to endure a 50MB download and unskippable video ads just to figure out who is paying for dinner.

I built Simply Spin™ to be Invasive Ad-Free. While the app utilizes a minimal, static banner to support ongoing development, it strictly prohibits pop-ups, interstitials, or any monetization that interferes with the user's workflow. It is a lightweight, strictly local randomization suite that executes instantly with zero bloat.

02. The Tech Stack

Creating a digital wheel that feels "real" requires moving beyond basic views and into physics-based rendering using 100% native Kotlin and Jetpack Compose.

  • Physics-Driven Animation By utilizing Compose's Animatable with a custom DecayAnimationSpec, the wheel naturally decelerates based on simulated friction, behaving exactly like a physical object.
  • Dynamic Haptic Feedback A custom haptic engine tracks the exact rotation angle, firing a precise vibration event exactly when the digital "peg" crosses a segment boundary to create a mechanical clicking sensation.
  • Cryptographic Fairness Simply Spin uses java.security.SecureRandom to generate enterprise-grade entropy, ensuring every spin, flip, and roll is statistically impartial.

03. The Aesthetic

To maintain a frictionless interface, segment customization is handled via an inline ModalBottomSheet. Users can add, edit, or delete options in real-time without navigating away from the wheel. It is distraction-free utility in its purest form.

04. Data Sovereignty

Like all tools in the collection, Simply Spin™ requires no accounts, no cloud sync, and no tracking. Custom wheels are stored locally using Jetpack DataStore. Your data remains your property, and the app functions flawlessly offline.

Back to Collection

Status: Final Polish | Coming Soon to Google Play