Dating app · iOS · API live on Railway
Ghostn't
The dating app where ghosting is impossible. One hour a night, answers before faces, then you both choose: hold or cut.
Founder, sole engineer & designer · 2026 · Designed, built and deployed by Alexus Karl Joaquin.
Window
1 hour / nightLines
max 3Reveal
3-night ladderBackend
Express + WSWhat I built
- A product with real rules: the room opens for one hour a night (Asia/Manila), one answered question is your ticket in, you pick people by their answers, and held lines climb a reveal ladder: voices, first names, then faces. Miss two nights and the line flatlines. Three lines max.
- Live chat over WebSockets with heartbeat reaping, server-authoritative countdowns (clock skew measured on every API call), and in-app calls with native CallKit integration.
- Backend built for cost and speed: one pg pool with statement timeouts, every endpoint a single round-trip (CTEs, lateral joins, no N+1), keyset pagination, partial indexes, advisory locks to serialize competing line-opens, per-user rate buckets.
- Frontend performance baked in: route-level code splitting (1–5 KB per screen), system font stack, sockets only while a line is alive, GPU-friendly animations with reduced-motion support.
- Shipped through the same headless App Store pipeline as Cashn't: automated provisioning, archive, export and upload. Demo personas keep the room alive for App Review.
Skills demonstrated
- React 19
- TypeScript
- Vite
- Capacitor 8
- Swift (CallKit integration)
- Express 5
- PostgreSQL (CTEs, lateral joins)
- SQL schema migrations
- WebSockets with heartbeat
- Firebase Authentication
- Keyset pagination & partial indexes
- Advisory locks (concurrency control)
- Rate limiting
- Route-level code splitting
- Push notifications
- Geolocation (Nearby)
- E2E smoke testing
- Railway with health checks
- TestFlight / App Store Connect automation
Stack
React 19TypeScriptViteCapacitor 8Express 5PostgreSQLWebSocketsFirebase AuthCallKit (Swift)RailwayApp Store Connect
Screens






More
All projects · Experience · LinkedIn · GitHub