Enjoy Software Logo
Software That Inspires.
← Selected Work

Borderline

Consumer product at scale · Design, build & operations

A consumer web product with a real, growing audience: over 220,000 games played by more than 23,000 registered users, adding roughly 3,000 new users every month. Players are shown a country outline on an interactive globe and have to name it. Everything behind that — the map engine, the accounts, the scoring, the leaderboards, the growth analytics and the infrastructure — was designed, built and is operated in-house.

borderlinequiz.com →
220,000+
Games played
23,000+
Registered users
~3,000
New users a month
249
Countries, observer states and territories, at full geometric fidelity

Highlights

  • Large, active community. 220,000+ games played, 23,000+ registered users and roughly 3,000 new users a month, with a returning-player cohort every week.
  • Complete global coverage — 195 UN member states, 2 observer states and 52 territories and dependencies.
  • Progressive difficulty that works by removing context rather than by adding trivia, keeping the product interesting for players who stay.
  • Social media virality. Up to 1M views on a single TikTok, 79k views on Reddit and 2.7k views on YouTube.
  • Instrumented for growth. A first-party analytics dashboard reports new versus returning users, hourly activity, abandonment and difficulty mix, so product decisions are made against measured behaviour.
  • Retention designed into the mechanics. A weekly leaderboard that counts only a player's first 20 games, daily play limits and playing streaks — rewarding regular return visits over volume.

Technical detail

React 19 mobile-first UITypeScriptViteD3-geoNetlify FunctionsDrizzle ORMNeon PostgresEleventyVitest
  • Original gameplay. Fully built using spec-driven agentic AI development.
  • Custom map engine. D3-geo orthographic projection with hand-built zoom and drag, rendering an interactive globe directly from geometry with no map-tile provider or mapping SDK.
  • Level-of-detail geometry swapping — coastline resolution is exchanged as the player zooms, keeping tiny island nations recognisable without stalling the frame.
  • Serverless data layer — Netlify Functions over Neon serverless Postgres, with every schema change a reviewed Drizzle migration — schema pushes against a live database are prohibited outright.
  • Backend test suite on Vitest and in-memory PGLite, covering positive and negative API paths, gating every merge alongside a full type check and build.

More work