Kyle Dhillon

personal projects & other things I have made

Formerly CTO and cofounder at Kits.AI, the world’s leading AI voice platform for musicians, built at Arpeggi Labs. Now at Splice in San Francisco.

Before that I was a senior software engineer at Google, and before that I worked on computer graphics and VR at the Georgia Tech Research Institute. I studied computer science at Princeton.

Projects

OpenHistory

March 2026 – present · live · openhistory.app · source

An open-source interactive atlas of human history. Drag the timeline and the map redraws itself: territories grow and collapse, polities appear and dissolve, and battles, treaties and disasters surface where and when they happened. Territory boundaries come from OpenHistoricalMap and everything else from Wikidata, so corrections made in OpenHistory are submitted upstream and improve the source data for everyone. Every polity also knows its parent state at each point in time, so colour cascades down the hierarchy as empires absorb and shed their pieces.

Built with: React, TypeScript, Vite, MapLibre GL JS, FastAPI, PostgreSQL, Wikidata SPARQL, Railway

SaaSPOCALYPSE

August 2026 – present · live · saaspocalypse.app

A deck-building roguelike about running a software company. Each week you play a hand of cards to drive traffic and conversion against a subscriber goal, then hire, buy perks and open packs between rounds. Every cost and every payout is monthly, so a card you play once is a bill you pay forever — the whole game is a fight to stay solvent while you scale.

Built with: TypeScript, three.js, Vite, Playwright, Cloudflare Workers

Besiege / Chieftain

May 2013 – 2019

A real-time strategy and conquest game written from scratch in Java, for desktop and Android. You command a warparty in a procedurally generated continent of rival tribes and empires — the island, its hundred-odd cities, castles and villages are built fresh each playthrough out of Voronoi graphs, Delaunay triangulation and Perlin noise. The world runs itself: factions make war and peace, kingdoms fall and new ones rise whether or not you do anything about it. Walk into another army and the map drops into a tactical battle between formations.

Built with: Java, libGDX, LWJGL, procedural generation (Voronoi / Delaunay / Perlin)