Inspiration

Tipped workers never know their real hourly rate until payday. Base pay says almost nothing about what a shift was actually worth, and nobody wants to keep a spreadsheet after a double.

What it does

TrueShift tracks your shifts and earnings in real time.

  • Live effective rate: clock in and watch your true hourly rate update as tips come in.
  • Quick-tip logging: log cash or card tips with one tap from the dashboard.
  • Shift history: every completed shift, with base wage, tips and total broken down.
  • Earnings analytics: total earnings, hours worked, and your average true rate over time.
  • On your wrist: your live rate syncs to Apple Watch and Wear OS.

TrueShift Pro (7-day free trial, monthly or annual) removes the 3-shifts-a-week limit and adds live watch sync, custom tip presets, week-over-week comparisons and CSV export.

How I built it

TrueShift is Kotlin Multiplatform. A shared KMP module holds the data layer, domain logic (shift timing, tips, effective-rate math), presentation state and monetization, and it's used by four apps: Android and Wear OS (Jetpack Compose), and iOS and watchOS (SwiftUI). Purchases and the paywall run through RevenueCat's KMP SDK (purchases-kmp) from shared code, so the entitlement logic is written once for both stores.

Challenges

Keeping a live-updating rate in sync between a phone and a watch on two different ecosystems, and making the free tier genuinely useful while still giving full-time workers a reason to upgrade.

What's next

Growing through user-generated content from servers and bartenders showing their real hourly rate mid-shift, plus more analytics for comparing venues and shifts.

Built With

  • jetpack-compose
  • kotlin
  • kotlin-multiplatform
  • revenuecat
  • swiftui
  • watchos
  • wear-os
Share this project:

Updates

Submission history