ONE CHOI — SELECTED WORKS 00
OC/03 — Code

Constellation88

Draw a star pattern and it names the constellation. A shape-matching engine over all 88 IAU constellations, on web and iOS, matching in under one second.

Role
Lead developer (co-built)
Timeline
Feb 2026
Status
Live on web & App Store
Overview

Built in the gap between graduating and starting at Imperial, for a simple reason: I love constellations, and I wanted something that could recognize one from a rough sketch. The algorithm was the means, not the point.

You draw a shape and it matches it to one of the 88 IAU constellations. The pipeline normalizes the drawn coordinates, runs a two-stage rotational search, then solves point correspondence with the Hungarian algorithm. Star positions come from Stellarium's catalog, projected stereographically into a JSON database, and the whole match runs in under one second. Live at constellation88.com and on the App Store.

Specs
PlatformsWeb · iOS
MatchingRotational search + Hungarian
DataStellarium → JSON
Match time< 1 second
Coverage88 IAU constellations
RoleLead developer
Process
The idea

Recognize a constellation from a hand-drawn shape, the kind of thing I'd wanted to exist while lying on the field naming stars.

Star-data pipeline

Extracted Stellarium's catalog into stereographic projections and stored it as a JSON database the app could search quickly.

Matching engine

Coordinate normalisation → a two-stage rotational search → the Hungarian algorithm for point correspondence, which is what finally made matches reliable.

Ship on two platforms

Released it as both a website and an iOS app, so the same engine runs whether you're on a laptop or under the sky with a phone.

Gallery
< 1 s

Live on the web and the App Store, matching a hand-drawn shape to any of the 88 constellations in under one second. The Hungarian algorithm was the piece that finally made the point-to-point correspondence trustworthy.