@crinkleit · indie app developer

Small apps, built for real problems, not portfolios.

I'm an enterprise IT engineer by day. Nights and weekends, I build Android apps in Kotlin and web apps on Node.js for things I actually use — a golf society app, a household organiser, a football club community site, and a couple of prediction games for the group chat that got competitive.

crinkleit — zsh
about

One developer, testing on his own phone.

Crinkleit isn't a studio — it's one person's workshop. By day I work in enterprise IT, building automation and infrastructure tooling. By night I build the opposite kind of software: small, personal, and shaped entirely by whether I'd actually use it.

Every app here started as an annoyance. Golf GPS exists because I wanted accurate hazard yardages on courses I actually play, mapped by hand, hole by hole. DIY Workbench exists because chores, DIY jobs, and "where did we put that" all lived in different apps that never talked to each other. Birdiogolf, Last Man Standing, Premier Predictor, and Sky Blues Terrace all started the same way — a group of us wanted somewhere better than a spreadsheet or a group chat to track it.

I ship in small pieces — one feature, tested on a real device, fixed when it breaks — rather than disappearing for months and hoping it works.

6
apps built
5
live & in use
1
developer, testing on his own phone
the work

What's actually shipping

Six apps, all built the same way — start with a real annoyance, design around the data, ship the smallest useful version first.

ON DEVICE

Golf GPS

A distance-to-pin app mapped hole-by-hole on real courses, built because I wanted hazard yardages I could trust more than the flag position.

  • Animated flag markers with bearing-aware camera positioning
  • Hazard pins with live distance panels, plus a long-press drop pin for any point on the hole
  • Course library with full scorecards — Ansty Golf Centre and Oakridge Golf Club mapped in, more on the way
  • CSV/JSON course data import and export, so new courses don't require a rebuild
KotlinJetpack ComposeMaps SDK
Oakridge Golf Club · Hole 7
142
YDS TO PIN
LIVE

DIY Workbench

A self-hosted household organiser — home maintenance jobs, a shared calendar and shopping lists, built for the whole household because homes aren't run by one person.

  • Home job tracking, with weather-aware suggestions for outdoor work and reminders drawn from what you've already completed
  • Shared calendar with a subscribable iCal feed that works in your normal calendar app
  • Categorised shopping lists with quick-add from the home screen
  • Owner, member and read-only guest roles, plus web push notifications
Node.jsExpressSQLiteWeb Push
diyworkbench.crinkleit.com →
DIY Workbench sign-in screen
LIVE

Sky Blues Terrace

A social hub for Coventry City FC supporters — match threads, live scores, and player ratings, all in one place instead of scattered across group chats.

  • Live match threads, score predictions, and player ratings for every game
  • Live scores and web push notifications, plus away day threads for travelling fans
  • Admin panel with moderation queue, analytics, and DB-managed news feeds
  • Home screen install as a PWA, with one-tap sharing to X and Facebook
Node.jsSQLiteWeb PushPWA
skybluesterrace.co.uk →
Sky Blues Terrace sign-in screen
ON PLAY STORE

Birdiogolf

A golf society management app — score your rounds, run tournaments and tee sheets, and keep your whole society's stats in one place.

  • Stableford, Stroke Play, Match Play and Ryder Cup formats
  • Anyone can start a society, and organisers can share the load with other members
  • Tournaments with player sign-up, tee times and per-tee-time leaderboards
  • Live scoring across devices, player stats, and a built-in Stableford calculator
Node.jsSQLitePWAAndroid
birdiogolf.co.uk →
Birdiogolf current round screen

ALSO_RUNNING —

LM
LIVE

Last Man Standing

A Last Man Standing pool for Premier League fixtures — pick a team each round and try to outlast the rest of your group. Built mobile-first, with web push reminders and five colour themes.

Node.jsSQLiteWeb Push
lms.crinkleit.com →
PP
LIVE

Premier Predictor

A private Premier League score-prediction game — predict scorelines each round and climb the leaderboards in leagues you run yourself. The app never handles any money; prize pots are between the players.

Node.jsExpressSQLiteWeb Push
premierpredictor.crinkleit.com →
how it's built

The stack, end to end

Kotlin for the Android apps, plain Node.js and SQLite for the web ones — several of which use nothing but Node's built-ins. Chosen for one developer to move fast without a team behind him.

Kotlin
Jetpack Compose
Google Maps SDK
Android Studio
Node.js
SQLite
Vanilla JS
Web Push
Caddy
Playwright