Jeremy Herve Avatar

That’s me. And my blog. In English and in French.


AT Mot: I rebuilt Wordle on the AT Protocol

I play Wordle every day. It’s probably the most boring possible daily habit, and it’s a very simple game, but I like the habit, and from time to time I even learn new words!

So when I went looking for my next small experiment on the AT Protocol, I didn’t want to build something clever. I wanted to rebuild something I already use, and find out what the protocol feels like underneath a thing I actually open every day.

Screenshots of my little AT Mot app

That’s AT Mot. “mot” is French for “word,” and a little play on ATproto. (I’m not great at naming things). It’s a bilingual daily word game, English and French, each its own series, and you can play it right now at atmot.herve.bzh.

Playing with Constellation

In my last post about comments on atproto, I was wondering about a limitation: there’s no way to ask the network “give me every record that references this post.” @pevohr.bsky.social chimed in to point me to Constellation, a backlink index for ATproto, and I said I’d read up on it over the weekend.

Here we are 🙂

AT Mot relies on Constellation. When you finish the day’s puzzle, the result is written as a record to your own PDS (well just the tile colours, never the answer or your guesses). Each result links to a canonical per-day permalink, and the leaderboard is built by asking Constellation for every record that links back to that permalink, then adding it all up in your browser.

So the “leaderboard” isn’t something I host. It’s a question I ask a public index, computed fresh on your machine every time you look at it.

I was originally thinking about looking to host my own Constellation, but that’s not really realistic for now, so I rely on the goodwill of the community!

No server, on purpose

There’s not much behind AT Mot. In my SkyPress post I admitted I wasn’t quite sold on ATproto; the PDS-and-AppView split felt like a lot of moving parts for someone who’s owned his own blog for twenty years. AT Mot was partly me asking the opposite question: how little can an atproto app be? The answer turned out to be a folder of static files and a couple of public services I don’t run. That nudged me a bit.

It’s not perfect

A few caveats, because there always are.

The leaderboard reads from the public Constellation instance, so I’m leaning on someone else’s service for the social half of the game. That’s the same independence tension I keep bumping into; being fully independent on ATproto somehow keeps adding services to run. 🙂

Have a go

Go play: atmot.herve.bzh. If you’re on ATproto, sign in and your results follow you around. If you’re not, you can still play, and it’ll record the game the moment you do sign in. Either way the word resets at midnight UTC. I’ll be doing the 2 words of the day tomorrow morning!

The code is open, dual-licensed MIT / Apache-2.0 like atproto itself. I should probably mention that although I took inspiration from Wordle, it’s not a copy. It shares some of the format, but not the words or design. The lists are self-curated from permissively-licensed dictionaries.

Let me know what you think, and start your own streak 🙂

Reactions on the Fediverse and on the ATmosphere

Leave a Reply

Your email address will not be published. Required fields are marked *


Continuez votre lecture / Keep reading

Discover more posts about or look at some of the posts suggested below.

Jeremy Herve
Jeremy Herve

WordPress, TV Series, music, kids, and board games. I think that’s probably the best way to define me in a few words. 🙂

I work at Automattic where I lead a team building tools for bloggers and creators. I talk a lot about WordPress things, but also about all things open source in general.

I post in English and in French.

I live in Brittany, France, so you’ll also find me sharing pictures from our beautiful region from time to time.

1,240 posts
194 followers