Blocker

This was created as a result of chatting with my niece and nephew about the types of games they like. It's really basic but I had a lot of fun building it.

Give it a go

Blocker game screenshot

Word Tack

A cozy word puzzle for iPhone and iPad — built for relaxation and discovery over competition.

Sort words into hidden groups. Drag scattered tiles into rows to match five hidden categories per board, then seal each completed group shut with a satisfying strip of washi tape.

It features 100 hand-made levels, a daily puzzle with streaks and shareable results, gentle Inkling hints, and earnable stamps to customise tiles and tape. No timers, no penalties, no accounts — and it plays fully offline.

Visit the site to learn more.

Nubrixy

My first app on the App Store — a free-to-play block puzzle game for iOS and iPadOS.

Fill. Clear. Dominate. Place colourful blocks onto the grid, fill complete rows and columns, and watch them explode off the board.

It features handcrafted levels, a star rating system, a lives mechanic to manage strategically, and an Ignite power-up that doubles your next clear. Simple to pick up, endlessly deep to master.

Visit the site to learn more.

CronChief

Build & decode any cron expression in plain English. Cron syntax is cryptic; CronChief translates it both ways — paste an expression to get a clear explanation, or build one from scratch with presets, field guides and a random generator.

It shows the next run times in any timezone (DST-correct), supports both 5-field and 6-field (seconds) formats, recognises macros like @hourly and @daily, and gives every schedule a shareable URL. There's a small public JSON API too.

It's fully stateless — every page is prerendered and served from Cloudflare's CDN, and the cron tool runs entirely in your browser. No database, no accounts, no tracking.

Tech Stack
FrameworkAstro 7
HostingCloudflare Workers
LanguageTypeScript
StylingTailwind CSS v4
TestingVitest + Playwright

It's live — give it a go.

Get UUID

Generate UUIDs online — fast and free. Version 1, 4 and 7 UUIDs (RFC 9562) plus the nil UUID, in four output formats, one at a time or up to 1,000 in bulk with a file download.

It works without JavaScript — the generator is a plain form the Worker answers — and with JavaScript on, UUIDs are generated right in your browser using Web Crypto. There's also a key-free JSON/text API for scripting, like /api/uuid?version=7.

Like CronChief, it's stateless: no database, no accounts, no tracking.

Tech Stack
FrameworkAstro 7
HostingCloudflare Workers
LanguageTypeScript
StylingTailwind CSS v4
TestingVitest + Playwright

It's live — give it a go.

My IP Is

What's my IP address? A fast, privacy-friendly lookup that shows your public IPv4 and IPv6 addresses, approximate location and ISP, plus a handful of network tools and plain-English guides.

It works without JavaScript — your address is rendered server-side — and curl myipis.sh returns just your IP, with a CORS-open JSON API for anything more. Nothing is stored or logged; location comes from Cloudflare's per-request data rather than a GeoIP database.

Tech Stack
FrameworkAstro 7
HostingCloudflare Workers
LanguageTypeScript
StylingTailwind CSS v4
TestingVitest + Playwright

It's live — give it a go.