James Portman — Claude apps, media, and paintings

No Exit host console during a staged game: three teams at 4, 3 and 1 puzzles solved, standings, and a live clock

No Exit

A self-hosted virtual escape room for remote teams. Six to fifteen people split into competing teams on a video call and race through the same 30-minute adventure while the host watches progress, drops hints, and calls the winner. Ten adventures, each ending on its own mechanic; the interface runs in English, Spanish and Portuguese. The repository is public, but every puzzle answer ships as ciphertext — you can read the whole engine without spoiling a single adventure.

FreeTen adventuresThree languagesOpen Source
Open No Exit → How it's built → GitHub →
Terra Incognita in daylight theme — a photograph beside a cream world map waiting for your pin

Terra Incognita

A where-in-the-world guessing game: you get a photo of a real place — or a drop into Street View — and you put a pin on the world map. Play solo, take the Weekly Expedition, or host a live room where people can join from any device with a four-letter code and guess against one clock. The interface runs in English, Spanish and Portuguese.

FreeLive roomsStreet ViewThree languages
Play the game → Read the build note → GitHub →
Beyond Doubt: a sixteen-work auction board of Georgian Bay paintings beside the clue panel, with the day's deductions listed

Beyond Doubt

A deduction puzzle you are never asked to guess at. Every board resolves by reasoning alone: before a move is allowed, the solver checks every world still consistent with the clues in play, and a square you could only guess at is simply refused. A new board each day, a weekly edition, and an archive back to launch — themed here as an auction of Georgian Bay paintings, though the theme is a skin over one engine. English, Spanish and Portuguese, each with proper gender and number agreement.

FreeDaily boardNo guessing, everThree languages
Play the game → How it was built →
Singhampton: Winter — an original Georgian Bay landscape painting

GeorgianArtist.com

An online gallery of my original Canadian landscape paintings and photographs of Georgian Bay and the surrounding Ontario region — Beaver River, Blue Mountain, Manitoulin, Owen Sound — sold as originals and gallery-wrapped, ready-to-hang prints. I rebuilt the storefront from Squarespace to a custom Next.js stack, taking hosting from $45/mo to $0.

Original artOwn your galleryNo monthly fees
Visit georgianartist.com →
2026 World Cup Pool app — create a pool and share a join code with friends

2026 World Cup Pool

A solo-built, open-source bracket-pool app that ran through the 2026 FIFA World Cup (USA · Mexico · Canada). Players created a pool, shared a join code with friends, and the leaderboard updated as results came in. The tournament is over and the app is still up, /architecture page and all — it was built end to end in a few evenings.

FreeOpen SourceInvite by codeRan June–July 2026
Visit the app → GitHub →
baylight.city — the Baylight: After Image hub, with sections for the city, the audiobook, the microdrama and the prequel

baylight.city

The hub for Baylight: After Image — hand-coded, no CMS, no framework. It carries the novella, the full audiobook, the microdrama episodes, and the free prequel, with a language switcher that serves the whole site in English, Mandarin, Spanish, French, Portuguese and Persian.

Hand-codedStaticSix languagesOpen Source
Visit baylight.city → GitHub →
Baylight: After Image cover — a near-future surveillance thriller

Baylight: After Image

A near-future surveillance thriller — “the city doesn't punish, it helps” — told across three forms: a 23-chapter novella, a full audiobook, and a microdrama series. The novels are available in English, Mandarin, Spanish, French, Portuguese and Persian. Episodes on YouTube with more in Production.

MicrodramaNovellaAudiobook
Visit baylight.city → Watch on YouTube →
Original Recording — commuters passing through a transit gate under a sign reading Thank you for your cooperation

Original Recording

A free prequel to Baylight: After Image, as a short story and a narrated audiobook of about eight minutes. Ava Chen spends three days in a studio recording 14,000 vocal fragments — syllables, breaths, the word please forty-two times, each with a different weight — and signs away perpetual rights to her vocal identity. Years later the city speaks to eight million people in her voice. They didn't steal a voice. They stole a way of caring. Available in English, Mandarin, Spanish, French, Portuguese and Persian.

FreeShort storyAudiobookPrequel
Read or listen →