PRODUCT/0001

BootleG
stuB

Football match tickets used to get torn at the turnstile, and you kept your half — in a jacket pocket that night, in a shoebox for the next thirty years. Then ticketing went mobile and the proof went with it. The biggest match of your life is now a QR code that stops mattering at kickoff.

Bootleg Stub is the archive that replaces the shoebox. Check in at the ground and the stub writes itself — score, scorers, lineups, competition, stadium. Or log the matches from before smartphones: the archive reaches back to 1872, and the match your dad took you to in 1983 gets the same treatment as the one you saw last night..

Brand / Product Design / UX / UI / Print / Development (with AI)

bootleg_stub_1

1,200+
leagues covered

616k
matches in the historical archive

A check-in app is only as good as what it knows. Live fixtures stream from API-Football — 1,200+ leagues, lineups, goalscorers, events every 15 seconds. Everything older, and everything the API doesn't carry, was assembled from scratch. Fast: the historical archive in eight days, the claim engine in one.

615,902 rows · internationals 1872+ · English league 1888+ · European Cup 1955+

The fixture API ships no coordinates, so the stadium layer is home-made: Wikidata and OpenStreetMap merged into 11,000 grounds bundled inside the app at 2.5 MB — the lookup never needs a signal. The maps aren't fetched either: every stadium tile is rendered in headless Chrome from open map data and baked to a CDN.

11,000 stadiums · 1,790 pre-rendered tiles · MapLibre → Puppeteer → WebP

usa_paraguay_2026
mexico_southafrica_2_2026

The app is free and stays free — no subscriptions, no in-app purchases. The revenue lives off the screen, in a print shop that opened alongside the launch: a city poster series set in the app's own editorial typography — Manchester, Milan, Buenos Aires, Tokyo — country prints on archival matte, and t-shirts carrying the same type system.

Three weeks from the first locked screen to the App Store — live June 4, 2026, Android the same month. Designed, written, and built solo, with Claude Code on implementation.

Free for iOS and Android. Keep the Stub.

white
GetItOnGooglePlay_Badge_Web_color_English

PRODUCT/0002

scAm
Atlas 

Travel guides tell you where to eat. Government advisories tell you a country is "dangerous." Reddit threads are buried in noise. None of them tell you which taxi scam to avoid at which airport terminal—in the 60 seconds before you walk into it.

I saw this gap across 50+ countries of personal travel. The intelligence existed, scattered across forums, news, blogs, and embassy advisories but no product had ever synthesized it into something actionable, city-specific, and real-time.

Brand / Product Design / UX / UI / Content Strategy / Development (with AI)

Built for global coverage from day one.

508

cities covered

175

countries

21K+

scam entries in the database

Creative direction meets AI-assisted development.

ScamAtlas was built with a non-traditional workflow: I directed all design, UX, and brand decisions while using Claude Code (AI pair programming) for implementation. No traditional dev team — just a creative director with a clear vision and the tools to execute it.

Every screen started as an HTML prototype, then translated to React Native. The design system was built first and enforced throughout—no "fix it later" debt allowed.

Tools

Each tool exists for a specific moment — the sketchy Airbnb, the QR code at a street market, the Wi-Fi network you're not sure about. ScamAtlas gives you a tool for each one — not a list of tips to scroll through, but something you can use in the moment it matters.

Scam?
Real-time scam identification. Describe what's happening — get instant AI-powered analysis across a 3-stage matching pipeline: local database → global research → AI classification.
Signal
One-tap GPS location sharing to up to 5 trusted contacts via SMS or WhatsApp. No app install required on the receiving end.
Camera Sweep
Hidden camera guided detection using both cameras — front detects infrared LEDs (no IR filter), rear with flashlight catches lens reflections. The user does the sweep; the app guides them.
Wi-Fi Checker
Network security analysis for public Wi-Fi. Evaluates encryption, identifies potential evil twin attacks, and flags risky configurations before travelers connect.
QR Scanner
AI-powered QR code analysis that evaluates destination URLs before opening them. Catches phishing overlays, malicious redirects, and fake payment QR codes.
City Dossiers
Full city intelligence — scam entries by category, neighborhood heatmaps, emergency contacts, and severity ratings. Downloadable for offline access before you land.

Identity

Dark-first was a battery decision — travelers on the move can't afford a bright UI draining their phone. The restraint became the aesthetic: limited color, generous space, and a principle I kept coming back to — restraint is the premium signal.

icon-circle-dark-anim
icon-circle-pro-teal-anim
icon-circle-orange-anim
icon-circle-pro-teal-dark-anim

.

.

.

.

Safe
#2DD4BF

Watch
#FBBF24

Alert
#F97316

Warning
#F87171

Agents

A static database of 21,000+ scams would decay within months. ScamAtlas stays current through a system of AI agents — each with a specific job, running on a schedule. The agents surface the intelligence. I vet what makes it into the product.

Freshness Agent
Tiered refresh pipeline that verifies every scam entry in the database. Top 50 cities refreshed weekly. All 508 cities touched within 90 days. Each entry gets an AI verification check — confirmed, flagged, or updated — and a new timestamp users can see.

Runs daily · 4 AM UTC / ~7KAPI calls/month
"Scam?" Matching Engine
Three-stage pipeline that runs the moment a traveler describes a suspicious situation. Stage 1 searches the local database. Stage 2 searches global research — travel forums, news, advisories. Stage 3 runs AI classification and generates a severity verdict with recovery steps.
 
Real-time · User-triggered
Geocoding & Zone Engine
Every scam entry gets validated coordinates and a zone assignment. Neighborhoods are normalized via AI, geocoded through Google Places, validated with Haversine distance checks, then clustered into zones using 400m proximity grouping. This powers the heatmap.
 
2,448 zones generated / 10,100 geocoded entries / 400m cluster radius
Discovery Agent
When the Scam? engine finds something that's not in the database — a new variant, a location shift, an emerging pattern — it auto-logs it to a staging table. Entries that accumulate multiple hits get flagged for promotion into the main database. The system learns from its own users.
 
AutoScam logging / â‰¥3 hitsReview threshold / âˆž Growth loop

The result: a product that gets smarter and more current every day it runs — with AI doing the heavy lifting and a creative director making the final call. That's not prompt engineering. That's systems architecture directed by someone who understands what the product is.

Generating an image and a 5-second video from a prompt is a party trick. Directing AI to build a shipping product—UX, code, data, infrastructure—is actually knowing how to work with it.

white

PRODUCT/0003

BootleG
gUiDes

The 2026 World Cup is the biggest ever. 48 teams, 3 countries, 16 cities, and a stack of official travel guides that read like they were written by the tourism board's legal department.

Bootleg Guides is the one that isn't. 50,000 words on where to actually drink, eat, sleep, and survive the tournament — written in the voice of someone who's been to East Rutherford and has opinions about it. Unofficial. Unauthorized. Unfiltered.

Written, designed, and shipped as a native iOS and Android app.

Concept / Design / Writing / Development (with AI)

I found myself with some extra time on my hands when I had a full rupture of my ACL and MCL in the summer of 2025. As someone who's been to every World Cup since 2014, I used it to write a 228-page, 50,000-word travel guide — honest about which stadiums are a nightmare to get to, which neighborhoods to actually eat in, which fan bars are real and which are tourist traps.

I made a book, then watched FIFA mess things up (more than usual) and politicians scare travelers like this was the movie Hostel. Print was the wrong format for a tournament that changes weekly. So I shipped it as a native app on iOS and Android.

As Creative Director I owned every layer: the writing, the identity system, the design language, product and UX decisions, the landing page, and the launch.

No agency. No committee. No brand guidelines borrowed from a deck. Just one person who's been to every World Cup since 2014, and have opinions about it.

GetItOnGooglePlay_Badge_Web_color_English