GeoGuessr in Space

I’ve spent too much time in my life playing GeoGuessr, trying to work out where in the world I am from little more than a road sign, a distant mountain or the architecture of a nearby building. But what if you took away the roads, the signs and pretty much everything else that makes Earth recognisable? What if, instead, you had to work out where you were somewhere in the Solar System? That’s the idea behind SpaceGuesser, a planetary guessing game that takes the familiar GeoGuessr formula and launches it into space. The premise is simple. You’re dropped into a panorama somewhere in the Solar System and have to work out where you are. Rather than exploring a Google Street View... more →
Posted in: Interactive Maps

Migrating My Notes App to Supabase

Every now and then I put a service, API, framework, etc on my list of things to look at, and when I eventually get around to it, I wish I had made the time sooner. That’s absolutely the case today. About two weeks ago I blogged about how I used TinyJS to build a desktop note application. This worked great and made use of a local SQLite database on the machine for storage. I was curious about how I’d migrate this to a "real" network based storage system that could be used in multiple places and tied to a particular account. I asked my AI agent (in this case, Claude, which I tend to use for all of my ad hoc questions about stuff) if Supabase would be an appropriate solution... more →
Posted in: JavaScript

STRG: S3-Compatible, AI-Native Cloud Storage (Sponsored)

Asset management is big business within the web world. The larger that our web apps grow, the larger the number of assets and their file size naturally increases. With that increase, you need to worry about increasing costs and vendor complexity! Luckily I’ve discovered a service which fixes all of those problems! Welcome to STRG: a modern cloud object storage platform offering an affordable, S3-compatible alternative to AWS S3, Google Cloud Storage, and Azure Blob Storage. Quick Hits Simple pricing: $ 6.80/TB/month with all egress and supported API requests included. S3-compatible: Works with existing S3 tools, SDKs, and applications. AI-native: Built-in STRG Assistant and MCP Server... more →
Posted in: JavaScript

Blowing in the Wind

There is something undeniably romantic about casting a message in a bottle into the ocean. After all, what could be more enchanting than surrendering a personal secret to the tides, with nothing but the hope that it might one day wash ashore and find its way into a stranger’s hands? Tell the Sky takes this idea to the skies. However with this interactive map, instead of throwing a bottle into the ocean, you write a message on a glowing virtual lantern and release it into the wind. Carried by real-world wind currents, your lantern drifts across the world until someone catches it, reads your message and adds one of their own before sending it on its way again. The map visualizes global wind... more →
Posted in: Interactive Maps

TIL – Postman and OAuth

A few years back I shared two cool tips I learned about Postman ("Dynamically Creating Variables in Postman" and "Creating Visualizations in Postman"). At the time, I noted that these were both well documented features in Postman and if I had bothered to actually spend some time in the docs, I would have known about those features already. Obviously after I wrote those posts I made the time to do that. Obviously… right? Of course not. So what follows is something that probably most of you already know, but that I was really excited to discover today so if at least one person gets excited about this as well, then my job is done. As most folks are aware, to call an API... more →
Posted in: JavaScript

Noah’s Ark found on Vintage Maps

For thousands of years, cartographers have been mapping more than just the known world. Medieval and early modern maps often mixed observed geography with religious beliefs, folklore and mythical stories, placing legendary cities, lost kingdoms and biblical locations alongside real-world places. Mythical Tours is a fascinating narrated journey through this imaginary geography, using centuries of historical maps to track down the locations of places that many people today believe exist only in legend. Among the mythical locations you can discover are the lost city of Atlantis, Hy-Brasil (the phantom island supposedly located off the west coast of Ireland), and even the legendary city of... more →
Posted in: Interactive Maps

Getting Structured Data from Web Pages with AI and Re-usable Specs

As I say from time to time, every now and then I build something as a proof of concept and the result is… ok? I’m not really sure if the idea actually made sense and if the final result is usable, but the exploration was interesting enough that I think it warrants sharing with you good people. That’s what today’s post is. This demo all began with a simple idea – how do you handle getting RSS like content from a site that doesn’t actually have an RSS feed? This typically relies on looking at the page as data to be parsed. For a while now, there have been multiple good ways to turn a web page into structured data. As an example, AgentQL lets use a GraphQL-like... more →
Posted in: JavaScript

How Poland Drifted to the West

Today’s #30DayMapChallenge is Polygons. At the risk of starting World War III, I’ve created a map of Poland’s Historical Borders. The map uses polygons to show how Poland’s borders have changed at different points in its history. The historical boundaries were downloaded from OpenHistoricalMap. The map includes three snapshots: the semi-autonomous Congress Kingdom of Poland in 1815, the Second Polish Republic immediately before the German and Soviet invasions of 1939, and the post-war borders established in 1945. But rather than simply displaying these three historical boundaries, I thought it would be interesting to use turf.js to calculate how much territory... more →
Posted in: Interactive Maps
1 2 3 … 250