CannMenus
Founder & CEO · 2019 — present
Cannabis retail had thousands of dispensary menus and no ground truth. CannMenus scrapes,
normalizes, and reconciles them into SKU-level pricing and inventory intelligence covering
roughly 90% of licensed dispensaries in the U.S. and Canada, refreshed hourly.
Bootstrapped to real revenue, raised angel capital, then acquired and integrated a
Canadian competitor's data business. Led a team of four; ran the stack end to end —
Python, Kafka, TimescaleDB, BigQuery, Kubernetes, Airflow.
~90%
of licensed dispensaries covered
hourly
inventory + price refresh
1
acquisition led & integrated
7 yrs
operating, founder-led
Orbital Economy Intelligence
Built solo · 2026 · live & refreshed nightly
Space-Track, CelesTrak, GCAT, and the UCS registry openly disagree about who owns what in
orbit — and nearly everyone resolves it by quietly picking one source. OEI keeps all four:
an identity graph with per-attribute provenance, a replayable merge log, and
the disagreements surfaced as the product. 99.3% of tracked objects carry at
least one cross-source conflict; here, that's a feature with receipts.
70,080
satellites, one resolved identity each
9.7M
orbital element sets, hypertabled
99.9%
operator attribution coverage
4,400+
live conflicts surfaced, not averaged
ExoDossier
Built solo · 2026 · live & refreshed nightly
The exoplanet archives disagree on radius, temperature, even whether a candidate is a planet
at all — flips that change a world's habitability. ExoDossier reconciles the NASA Exoplanet
Archive, ExoFOP, KOI, and Gaia into one provenance graph and generates
cited vetting dossiers per candidate. It also ships the
first MCP server for exoplanet data, so AI agents can query the sky directly.
20,341
host stars cross-matched
684k
per-attribute source assertions
7,900+
radius / disposition / Teff conflicts
SplitStep
Inventing solo · 2026 · in field testing, v0.17
Tennis training from phones you already own — no sensors, no subscription, no cloud in the
sensing path. Two unsynchronized phones agree on a ball impact through NTP-style clock sync
and time-difference-of-arrival; the pairing itself filters the noise. A
1.16 MB ball detector I trained from scratch exports one set of weights to
Android, iOS, and the research bench. Sound knows when, vision knows where.
Provisional patent drafted.
on real courts now — build-in-public soon
2
phones, zero extra hardware
1.16 MB
ball-tracking CNN, trained from scratch
sub-ms
cross-device clock agreement
1
provisional patent drafted