My own product · App Store
Surfcast — Waves, Wind & Tides
Surf forecasting: waves, wind, precipitation and tides. Designed, built and shipped solo — including the app icon and visual identity.
Swift / SwiftUIMVVMWidgetKitFirebaseAI recommendations
- Disk cache, request coalescing and background refresh to cut redundant network calls
- Home screen and lock screen widgets built with Swift Charts
- AI spot recommendations: forecast data and user profile go to the model, the response renders as native UI
- Firebase Analytics, Crashlytics, Performance, Remote Config and App Check
My own product · 6 years in production
BaliTideForecast (iOS)
Tide, swell and wind forecasting for surfers. In production since 2020 and generating revenue.
4.8★~1,000 MAU~237 DAUReal MRR
- Grew it to a 4.8-star rating through iterative releases, A/B-tested subscription pricing and analytics-driven decisions
- Hybrid SwiftUI/UIKit architecture with a cache-then-network strategy and graceful fallback to stale data
- Subscriptions (StoreKit / RevenueCat) with Remote Config–driven paywalls
- Widgets, an Apple Watch companion app, HealthKit, and a Firebase backend I built and own
My own product · Android
BaliTideForecast (Android)
I wrote the Android version from scratch, alone.
KotlinJetpack ComposeMaterial 3StateFlow
- Custom hand-drawn tide chart on Compose Canvas with interactive time scrubbing
- Coroutine-based HTTP client, multiple REST integrations, offline caching
- Secure keystore and API-key handling, signed AAB release pipeline for Google Play
Automation · My own project
Content generation and auto-publishing pipeline
A system that writes the copy, generates the images and publishes to Instagram, Telegram and Facebook — with human approval before anything goes live.
- Minimal infrastructure: no unnecessary servers, no third-party subscriptions
- One-tap moderation directly in the messenger
- Full ownership: all code and all keys stay with the owner
Automation · My own project
Revenue growth analytics loop
A pipeline that pulls product data, sends it to the model and returns ready-to-run A/B test hypotheses.
GA4 → BigQuery → AI → hypothesis queueRevenueCat ExperimentsRemote Config
Client work · Real-time
POKS — real-time poker
Mobile poker with real money transactions. Senior iOS Developer, 2.5 years.
900+ commits0% crash rateWebSocketgRPC
- Layered networking architecture and a typed client with request idempotency
- Diagnosed and fixed critical race conditions in concurrent multi-session real-time flows
- Improved SwiftUI rendering performance by over 10x — zero downtime
Earlier on the same product — iOS Team Lead, a team of 5 engineers App Store → Client work · High load
PlanetVPN
A VPN app with up to 1,500,000 daily active users. Senior iOS Developer.
- Reduced the crash rate to 0% using Instruments, crash reports and third-party analytics
- Researched and rebuilt the networking framework, then integrated it into the project
- Refactored legacy code; integrated Appodeal and AppsFlyer
Client work · Social
DaGama
A location-based social app: interactive map of places, personalised feed, profiles, notifications.
UIKitMVVMApollo GraphQLGoogle Maps SDK