Project Build Β· Flags Β· Maps Β· Open Data Β· October 2026

I've played a lot of flag games. You know the kind: a flag pops up, you pick one of four countries, and somewhere between Chad and Romania you've seen them all. About two hundred flags and you're done. That's plenty for most people. For a flag person, it's the warm-up.
Because the world is full of flags. Every state and province has one. So do Scotland and Sardinia, Bavaria and Bahia, and a surprising number of American cities, some of them wonderful. Switzerland has flags for well over a thousand of its towns and villages. I wanted a game that goes past the countries and keeps going, into flags I've never seen and probably never will, and tells me the story behind each one. So I made one. It's called Flag Atlas, and it has more than 15,000 flags.
Bellingham, up the road from me, has one of my favorite flags anywhere. A blue half circle stands for Bellingham Bay. Three wavy lines are for its waters (Whatcom is said to mean noisy water). Two white stars honor the Lummi Nation and the Nooksack Indian Tribe, and the green stripes are for the four towns that merged to make the city. You could draw it from memory after one look, which, as it turns out, is the whole point.
A local designer, Brad Lockhart, drew it in 2015 for a casual contest run by the Downtown Bellingham Partnership. He won in March 2016, sold the flag on Kickstarter, signed the design over to the city, and in April 2017 it became Bellingham's official flag. What got him started was a TED talk.
If you've ever fallen down the city-flag rabbit hole, there's a good chance the same talk gave you the push. In 2015 Roman Mars, host of the design podcast 99% Invisible, gave a TED talk called "Why city flags may be the worst-designed thing you've never noticed." His show had already covered flags in a 2014 episode called "Vexillonaire," and the talk leaned on a little booklet from the North American Vexillological Association, Good Flag, Bad Flag, by Ted Kaye of the Portland Flag Association. The booklet has five rules:
Near the end of the talk, Mars put up the flag of Pocatello, Idaho, which a 2004 NAVA survey had ranked the worst of 150 American city flags. It had a trademark symbol on it. The audience laughed. Pocatello took it with good humor: the city formed a committee, invited Mars to come help, and in 2017 adopted a new flag with three peaks, Scout Mountain, Kinport Peak and Chinese Peak, under a gold compass rose. It's in the game, and it's one of my favorite stories in it.
Flag of the Day. One flag a day, the same for everyone. Type your guess, and every miss tells you how far off you are and which way to look: "410 mi βοΈ." You get six tries, there's a streak to keep, and you can share your result. Each day of the week has a theme. Mondays and Thursdays it's a country, Tuesdays a US state, Canadian province or Mexican state, Wednesdays and Saturdays a region somewhere in the world, Fridays a big city, and Sundays a flag from right here in the Pacific Northwest.
Rounds of ten. Pick a set and play it two ways. Name it gives you four choices, and the wrong answers come from the same country or neighborhood, so you have to really look. Pin it is the fun one: you see the flag and click where you think it flies on a map with no names on it at all, and the closer you land, the more points, up to 1,000 a flag. After every flag you get the place on a map and, where there's one to tell, the story behind the design.
All flags. Every set, searchable, for browsing on a slow evening.
Go deeper. This is the part I made it for. Beyond the countries, all 50 states, Canada's provinces and territories, home nations like Scotland and Wales, about 1,550 regions and 1,600 cities, there's one more level down: more than 12,000 provinces, departments, counties and towns in 50 countries. Pick Italy and you get its provinces and metropolitan cities. Pick Brazil and there are more than 3,700 flags of its municipalities and regions. Switzerland has nearly 1,700, Japan about 1,400. I will never see most of these flags in person. Now I get to see them anyway.
Some of my favorite discoveries were close to home:
I didn't pick 15,000 flags by hand. A small robot runs on GitHub every hour. Each week it asks Wikidata, the open database behind Wikipedia, for every place with a flag: where it is, how many people live there, and which flag file it flies. It checks each file's license on Wikimedia Commons (every flag in the game credits its artist), pulls the opening of Wikipedia's article about the flag when there is one, and schedules Flag of the Day three weeks ahead.
My favorite part: it also reads the lettering on every flag. A flag that spells out its own name, like "CALIFORNIA REPUBLIC" or "STATE OF OREGON," would be a giveaway, so those sit out the guessing rounds. They're still under All flags. If you've read Good Flag, Bad Flag, that's rule four enforcing itself.
A few gaps, in case you go looking. Seattle's and Olympia's flags didn't turn up in the open data the robot reads, so they aren't in the game yet. And I've left tribal nations' flags out for now. Those belong in it only with each nation's blessing.
I mostly built this for myself, for the evenings when I want to learn what the flag of Piura or Kimberley or Gibsons looks like and why. It isn't a deep code project. It's a fun one. But if you love flags, if you've ever slowed down to look at a city flag on a pole, or you know what flag fans mean by "a seal on a bedsheet," give it a go. Start with today's flag, and see how close you can land Bellingham.
Play at brooksgroves.com/flags. The code lives in my site's repository on GitHub. Built in Lakewood, WA, a long way from Pocatello.
Why city flags may be the worst-designed thing you’ve never noticed — Roman Mars, TED2015, March 2015, about 18 min. The talk that sent Brad Lockhart to his drawing board and put Pocatello’s old flag on the big screen.
Vexillonaire — 99% Invisible, episode 140, 11 November 2014, about 14 min. Ted Kaye of the Portland Flag Association and the long campaign to bring Portland’s flag back to its best.
Flag Days: Good Luck, True South — 99% Invisible, episode 446, 8 June 2021. Japanese good-luck flags finding their way home, and True South, a flag for all of Antarctica.
How a TED talk and a public radio host shamed Pocatello into changing its city flag — Boise State Public Radio, 15 April 2016. Pocatello’s side of the story, told with good humor.
Kaye, T. Good Flag, Bad Flag: How to Design a Great Flag. North American Vexillological Association. The five rules in this post, in a short booklet.
Purcell, J.M., ed. Kaye, T. (2004). American City Flags: 150 Flags from Akron to Yonkers. Raven: A Journal of Vexillology, NAVA. The book behind the 2004 survey: Washington, D.C. came first, Pocatello last, and about three in four flags scored under five out of ten.
WhatcomTalk (2016). A symbol to rally behind: Brad Lockhart designs Bellingham flag. How the Bellingham flag came together, in the designer’s words.
Portland Flag Association (2015). Mars (and Kaye) bring vexillology to TED. The flag fans’ own account of how the TED talk happened.
Alaska Public Media (2022). Historians correct details about Benny Benson’s age and heritage, nearly a century after he designed Alaska’s flag. The boy behind the best state flag.
Wikipedia. Flag of Bellingham, Washington · Flag of Pocatello, Idaho · Flags of the World: “Seal on a bedsheet”.
Wikidata — every place, its flag, population and location. · Wikimedia Commons — the flag pictures and their licenses. · Wikipedia — the flag stories (CC BY-SA).
Natural Earth — the borders on the Pin it map. · Leaflet — the map itself. · Tesseract — reads each flag for a printed place name, so the game doesn’t give away the answer. · Flag Atlas on GitHub — the game and its robot.
Reactions
π°οΈ Sentinel Stockpile, Revisited: Where Did the Wind Blades Go?
I came back to my satellite stockpile project, found two sites in the wrong place and a bug in every pixel, and rebuilt it: eight Pacific Northwest yards measured twice a week with a colour rule per cargo, checked against aerial photos, and a live dashboard. The first thing it showed me: the wind blades at Terminal 5 are gone.
β°οΈ Where the Trail Runs Out
A researcher asked why two of my numbers didnβt match. The answer: roads named after mountains had pinned 1,560 city calls to the wrong preserves, and blurred addresses had hidden most of the real rescues. Fixing it put 1,489 Phoenix mountain rescues on the map, added Scottsdale and Boulder, tested whether Phoenixβs heat closures explain the drop in rescues (mostly, they donβt), and mapped 20,058 national park rescues.
π Open the Hood: Notebooks for My forge3d Projects
Asked on X whether I use forge3d from notebooks or through agents, I made walkthrough notebooks for nine forge3d projects: Chaco Canyon, Serpent Mound, Yosemite, Humphreys Peak, the Icefields Parkway and four Washington animations, each running the projectβs own code from raw data to a finished frame.