SlopScore
00 crowd

CoinFlip2 (github.com/banasiak/CoinFlip2)

15 years later... an AI-assisted refactor of the modern rewrite of the app that started it all.
Kotlin · ★ 10 · 3 forks · Unlicense · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 3 hours ago by banasiak · last checked 3 hours ago · demo
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-11: a coin flip Android app with 82 coins that was rebuilt in 2026 "this time with a coding assistant doing the typing.". 10 stars; Unlicense license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as banasiak. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
15 years later... an AI-assisted refactor of the modern rewrite of the app that started it all.
website
https://play.google.com/store/apps/details?id=com.banasiak.coinflip
topics
android-appandroid-jetpackkotlin-androidmvvm-androidrandomviewmodel
created
2023-12-26 · pushed 1 day ago · 178 commits · 2 contributors
languages
Kotlin 100%
paperwork
licensereadme 42% health
dependencies
no mappable packages · OSV.dev, checked 3 hours ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
kotlin
topic (detected)
android-appandroid-jetpackkotlin-androidmvvm-androidrandomviewmodel
license (detected)
unlicense

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: a coin flip Android app with 82 coins that was rebuilt in 2026 "this time with a coding assistant doing the typing.". It carries the Unlicense license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README (read the rest on GitHub)

Coin Flip

15 years later... an AI-assisted refactor of the modern rewrite of the app that started it all.

The original Simple Coin Flip landed on Android in 2011. In 2023 it was thrown away and rebuilt from scratch as a MAD (Modern Android Development) app. In 2026 that rewrite got taken apart and put back together again — this time with a coding assistant doing the typing.

It is still, fundamentally, an app that shows you a picture of a coin.

Available on the Google Play Store.

What it does

Tap the coin or shake the phone. It flips, lands, and tells you which side came up. That's the whole pitch, and everything else exists to make that one interaction pleasant:

  • 82 coins to flip — all 51 state quarters (District of Columbia included), the George Washington dollar, JFK half-dollar and Sacagawea dollar, 24 national euro designs, the Canadian loonie and toonie, a two-headed dollar for when you'd rather not leave things to chance, and a Claude Code coin. Or pick Random and let the app choose a different one every flip.
  • Favorites — star the coins you actually use and they collect in their own section at the top of the picker, so you're not scrolling past every state quarter to find the loonie.
  • Your own coin — put your own artwork on the two faces. Pick a photo, frame it in a circular crop with pan, zoom, rotate and mirror, and it joins the picker pinned to the top of your favorites. The app rings it in the same colors it writes HEADS and TAILS in, so an arbitrary picture still reads as a coin — switch the ring off if you photographed a real one.
  • Custom labels — call the sides whatever you like. Yes / No, Beer / Tacos, Ship / Crown.
  • Heads and tails tallies, with a quick-reset button if you want it.
  • Streaks — turn it on and a run of identical results counts up beside the result as HEADS ×7. Your best run for each side is kept in Settings, and setting a new record of ten or more plays a fanfare.
  • Material You dynamic color on Android 12+, light and dark, portrait and landscape.
  • Secure random — swap kotlin.random.Random for java.security.SecureRandom if you have strong feelings about entropy sources in a coin-flipping app. (You might!)
  • A diagnostics screen that flips the coin up to ten million times and reports the distribution, for exactly those people.
  • 13 languages, and sound, haptics and animation you can each turn off.

Under the hood

Single-module Kotlin app, Jetpack Compose throughout, MVI-ish state management.

UI Jetpack Compose (Material 3), one Activity hosting Navigation Component fragments that each render a Compose screen
State Per-feature State / Action / Effect triads; ViewModels expose StateFlow and a SharedFlow of one-shot effects
DI Hilt
Persistence SharedPreferences behind a typed SettingsManager
Testing JUnit 5, MockK, Kluent, Turbine
Coverage Kover, reported into every CI run's summary
Toolchain Versions live in gradle/libs.versions.toml; SDK levels in coinflip/build.gradle.kts

The coin animation is the one deliberate holdout: it's still an ImageView driven by a frame-by-frame AnimationDrawable, wrapped in an AndroidView. It was written that way in 2011, it works, and nothing about Compose makes it better.

Two supporting documents are worth reading before touching related code:

  • CLAUDE.md — architecture notes and the non-obvious constraints, aimed at coding agents
  • I18N.md — which coin face is "heads" in each language, and the two idioms that run backwards

Building

./gradlew :coinflip:assembleDebug
./gradlew :coinflip:check

check runs the build, unit tests, Android lint and ktlint. CI runs the same thing on every pull request and reports coverage into the run summary.

Credits

The 2026 refactor was done by Claude — landscape support, the rebuilt Settings screen, the searchable coin picker and favorites, custom coin faces, corrections to all 13 translations, the bulk of the unit test suite, the AGP 9 / Gradle 9 / SDK 37 migration, and most of the code in between — working from direction, design decisions, and on-device testing by @banasiak. The commit messages in that stretch were written by Claude as well, which goes some way toward explaining their length.

Coin images are from the United States Mint and the European Central Bank, except the Claude Code coin, which wears Claude Code's own mascot.

License

The source code is public domain, via the Unlicense. Do whatever you want with it.

The binaries are not: the coin images come from the sources named above and carry their own terms, which are not mine to waive.

Scan report · 2026-09-11
  • Prohibited terms or links
  • Repository eligibility
  • slopscore.md paperwork
  • Content policy
  • Risk review — +25 binaries at repo root (gradlew.bat)

0 comments

log in to comment.

report this listinglog in to report