

Wrote a few words about the upcoming end of Glitch project hosting and missed opportunities. Then wrote way more words about a few specific personal projects that got their start there.
Glitch.com was, according to their homepage:
[…] the friendly place where everyone builds the web. Start a new blog, play with React, or build new worlds with WebXR.
Others have said a lot more than I could about the history of Glitch. I’m here to deliver a eulog-
Well, uh, actually others have had a lot to say about that, as well.
Glitch project hosting is shutting down in about a month, at which point any hosted projects will stop working. After that, users will be able to download archives of their own projects for about a year. Between now and then, users can set up redirects to forward requests to your project to a new URL.
Over the past few weeks, I’ve been tuning in to Jenn’s YouTube streams where she is working to triage, archive, and in some cases re-home hundreds of projects in her Glitch account.
Inspired by Jenn’s journey, as well as this RIP Glitch directory at ribo.zone, I’ve archived all my own Glitch projects, and want to talk about them below.
I’m an idiosyncratic person, so please don’t treat any of the following as advice. If you’re looking for the best ways to re-home your own Glitch projects, please check out the Project migration discussion in the Glitch support forums.
Honestly? Don’t even feel like you have to read any of the below. You are free to skip to the end or do anything else more pressing. Live your life!
Ah, the ๐ธ๐ IndieWeb Webring!
This began almost as a dare at IndieWeb Summit 2018.
As I remember it, Doug Beal brought up webrings and the
idea of doing one for IndieWeb sites, and brainstormed the emoji domain. I made
the mistake of actually registering
We jammed on ways it could work over the course of the unconference day. One early idea (that could still be interesting for someone to try!) was to have folks join by the webring by posting some kind of “I am a member of the IndieWeb webring” post to their own site, then sending a Webmention. As long as your post stayed up, you’d stay in the ring.
One decision that seemed quite fun at the time, but that I would soon come to regret, was the idea to use emoji as identifiers. Putting these identifiers in webring navigation URLs would make it easy to tell where webring visitors were coming from. In theory. I ended up doing a whole write-up on why emoji IDs were a bad idea.
Anyway, I jammed out a quick demo on Glitch at the Summit’s Making Day, got great feedback, intermittently kept working at it, and so on. You can kind of follow this history via the update posts on the webring homepage.
While the webring lived on Glitch for multiple years, I eventually re-wrote it in PHP and re-hosted it. Viva la webring!
Here’s the original steady-sundial source.
And of course the source for the new version, which I call gem-diamond. You know, the ring salesman.
Part of the August 2024 Glitch community “#justdraw” jam. I cleaned up a 2011 project from when I was really into pen plotting on my MakerBot Cupcake CNC.
I’ve got a whole post about Stick Scribbles, including where to find it’s new home (and the source).
Technically this lives on as “StickPix” - a proof of concept for putting Snapchat-style stickers on photos. Hacked up during IndieWebCamp NYC 2019, based on a demo by Ali Spittel. I never got around to adding the IndieWeb bits, and it basically didn’t work on my iPhone, so I abandoned it.
This fit into a larger idea I had that goes something like: “My friends say they use Snapchat and Instagram because it has filters. If they could post to their own websites with filters, would they do that instead?”
However, it turns out I wasn’t ready to really tackle all that. And I now think it’s a mistake to just copy big social media features.
Another “my friends like this feature on their social apps” special. This project, eventually named “Kapowski”, let you post “reply GIFs” between IndieWeb-powered sites.
Looks like I introduced this at a Baltimore Homebrew Website Club meetup in April of 2018.
This lived on Glitch for quite some time. Over the years I updated it to switch the “GIF provider” from GIPHY to gfycat when Facebook bought GIPHY. Later, I ported it to PHP as part of my kick to consolidate all my IndieWeb tools in one place with more shared code.
When gfycat shut down in 2023, I decided to shut it down rather than switch to another provider. I have a longer writeup about Kapowski on the IndieWeb wiki.
Part of me would like to bring it back! GIFs are cringe now, or whatever, but I think it’s fun to communicate in images and video. And these are our websites, so we can do what we want!
Alternative GIF-hosting sites exist that could power it in terms of search and
content, but as of the time I did this research they were all truly awful about
providing descriptive text for folks who need an alternative to the visuals,
real .gif
files actually aren’t great for sharing around the web,
a video-loop based alternative that works across sites would need a lot of work
to develop.
Oh, nobody used it. ๐๏ธ
Okay, I used it to post like one reaction GIF one time, but I’m only aware of a couple of people besides me who even tried, because I asked them to test it out. ๐
The PHP version can be found at kapowski.bayside.pub, including links to the PHP source.
Here’s an archive of garrulous-smile because hey why not.
I had remix of this project, “peppermint-author”, where I started adding a feature to include an alt text description along with with the GIF reply, but I wasn’t satisfied with it and don’t remember sharing it with anyone.
An IndieAuth device flow proxy for Microsub/Micropub
Based on Aaron Parecki’s Device-Flow-Proxy-Server, this project let you sign into a service with IndieAuth similar to the way a TV app would have you sign into your HBO Max account.
In my case, I built it to make an IndieWeb-powered photo frame from an Adafruit PyPortal.
I feel a little haunted by the closing “Code to come!” in that post.
The OAuth 2 Device Flow is actually rad in a lot of contexts. While it has been rare for me to use this proxy, it usually saves me several minutes of juggling other ways to get a token for use with command line scripts and embedded devices.
The goal for this one was to make it easier to post on my own site then syndicate elsewhere, and then receive replies back from those silo’s using brid.gy’s ability (at the time) to backfeed likes, replies, etc. from Twitter, Facebook, and other social silos to my post.
Why? Because here was the manual process to post on my site and then share it out on Twitter and Facebook:
Without a tool, I was only able to do the last step from a computer with access to the source files for my site. This tool was planned to use Micropub to edit the syndication URLs.
The idea was pretty simple, but I got caught up in how much boilerplate I felt was required to set up a basic Micropub client with IndieAuth support. I ended up getting bogged down thinking about how to abstract all the common stuff with IndieWeb building blocks I had been doing on Glitch to this point into something reusable. I never even finished this.
Oh, also Facebook and Twitter shut down their APIs so Bridgy couldn’t backfeed comments anymore. Also-also I deleted all my silo accounts. So this became a moot point. ๐ฎ
What’s that? I mentioned IndieAuth above but never explained it?? Thank you for calling me in. IndieAuth is basically a way to sign in to apps and websites using your personal domain (or personal website URL) as your identity. One of the cooler things about IndieAuth is that you decide what service will handle the actual bits about “confirming you are you”.
I set up a couple of these IndieAuth authorization endpoints on Glitch, quick and dirty Javascript knock-offs of Inklings-io/selfauth:
At one point I was enamored with the idea of making it easy for folks to set up a site on Neocities, then power them up with IndieWeb building blocks to let them use existing tools. The GHOST PARTY site above is an example of that (nitty-gritties Neocities details here.
What’s that? I mentioned Micropub but never explained it??? Whew. Well, Micropub is a protocol for posting, updating, and deleting content from your site. It uses IndieAuth to verify that you are allowed to do the posting / updating / deleting. I, uh, hope that helps?
There were a few others, but I decided they were not worth keeping or mentioning here.
Hahaha, wow, okay, I didn’t expect to have so much to say about so many of these projects. Most of them weren’t mine. Of those that were mine, most of those were only experiments. By the time of the Glitch shutdown announcement, all but one of my few active projects that started on Glitch had already been moved to other hosting.
But I think that even this small realization, and this small collection of projects, hints at the magnitude of what the web is losing with the shutdown of Glitch project hosting.
Glitch made it possible to start making “real” apps on the web, right away, with no credit card requirement and no need to install a bunch of tools on your own computer.
With the remix system, you never had to start from a blank page. You could take a working example, make it yours, learn how it works, and change it as you like. As you did more, you learned more. As you learned more, you were capable of doing more.
And if you got stuck? The Glitch editor, right in your browser, allowed live collaboration! For a time there was even an ask-for-help feature where a stranger could come and help you with your project! And you could thank them in a way that showed up on their community profile!
As a long-time IndieWeb contributor, I’m well aware that the IndieWeb community has a perception of being exclusively “for developers”. While I didn’t have the resources to make it happen, I had big hopes that Glitch could be a way to get a fully-functional IndieWeb site, with no code required to get started, but everything open and available as you learned and leveled up. I don’t think the thing I was dreaming of could be possible anywhere but Glitch.
Clearly I have a major soft spot in my heart for Glitch. It took real thoughtfulness and care to build a platform to support a powerful learning community with no BS enterprise upsells. I know it wasn’t without its issues, but I think it’s safe to say that the world was much better with Glitch, and will be poorer without it.
My congratulations and thanks (and condolences) to all the folks that made Glitch possible.
Ok. I’m not crying, you’re crying.
Shut up!
Are you a member of the IndieWeb webring? Or you wanted to be, but you couldn't sign in because of obscure-looking IndieAuth errors?
Turns out when I hastily re-added support for sign-in with indielogin.com I introduced a bug that would end up always using indielogin.com as your authorization endpoint. For many folks, this actually worked fine, as indielogin.com would defer to your endpoint. However, if your authorization endpoint supported the IndieAuth server metadata endpoint with an issuer identifier, indielogin.com would apparently not pass it along.
The fix was quick: use your IndieAuth authorization endpoint, if found, and only fall back to indielogin.com if it is not found!
Here is the update that fixed this bug, haha, sigh. ๐คฆ๐ปโโ๏ธ
Many thanks to the folks that reported this to me and nudged me to eventually work through it, including fusil.uk, fireburn.ru, serverless.industries, and gRegorlove.com!
Okay that's it, for now! Thanks for reading, imaginary interlocutor! As always, feel free to reply to this post on your own site, or feel free to drop me a line in the #indieweb chat (Iโm schmarty there)!
Oh no! Oh no. ๐ฟ
This post is about a month overdue. As compensation, I will waive the customary subscription fee to read it.
Every month, Blake Andrews hosts a 2-hour game jam at Brooklyn indie arcade / bar / awesome place Wonderville.
I attended as my first in-person game jam on April 12th, where we were jamming on Bitsy. With Bitsy's browser-based editor, a bunch of great learning materials, and Blake's thorough live intro, it was easy to dive in!
Jam themes are chosen by asking Wikipedia for a random page. In this case, it was Town of North Fremantle, an Australian municipality that became a "town" in July of 1961, only to be amalgamated into the city of Freemantle, across the river, in November of the same year.
I kind of fixated on the idea of civic bureaucracy, going through a political process, and finding out that it was a pointless exercise. So, I decided to make a little game about collecting and filing signatures.
While Bitsy is lovingly simple, I have very little game jam experience and few skills, so I reused a lot of the default game assets, as I worked to just figure out how things are wired up. The base engine can do some pretty fun and complex stuff, but I found it confusing to find some concepts in the base editor. For example, an "if / else" block for dialog is under "Lists" because it is a "Branching List". My programming background expectations misled me several times.
In the end, I made a little thing, and even got to demo it live along with about a half-dozen other folks there.
You can find my jam entry here: Civil at Last, on itch.io. (I have my own itch.io page, now!)
You can also play it right here!
You can find more details about the jam, and links to all the entries, at the 2 Hr Game Jam Club April 2025 page at itch.io.
Let me know if you play and enjoy the game! Can you find all two endings??
The Level Up is an indie improv showcase. Join us as we watch amazing New York indie improv talents gain XP on the Magnet stage, unlock new achievements, and reach new milestones. Or do comedy.
Come support Michael as he dons his hosting-duties cap for these exciting indie teams:
Iโll be playing in with Michael and the rest of the Level Up!
Looking forward to it! And to seeing you there!! (Yes, you. Come on out!!!)
Friday May 9th, 2025 @ 10:30pm
Magnet Theater
254 West 29th St (btwn 7th and 8th Ave.)
New York City, NY 10001
Tickets $10: https://magnettheater.com/show/tickets/59604/
Uh oh, another good list of things to read for my list of things to read.
This is just so, so nice. Congrats Joe and thanks, and thanks to all who have helped one another learn and make web pages. ๐ And here’s to more!! โจ๐ฅโจ
Couldn’t stay for the whole thing, but enjoyed sitting in on my first Front End Study Hall (FrESH). Kudos to Joe for building such a great event! Looking forward to joining again.
The Level Up is an indie improv showcase. Join us as we watch amazing New York indie improv talents gain XP on the Magnet stage, unlock new achievements, and reach new milestones. Or do comedy.
Come support Michael as he dons his hosting-duties cap for these exciting indie teams:
Iโll be playing in with Michael and the rest of the Level Up!
Looking forward to it! And to seeing you there!! (Yes, you. Come on out!!!)
Saturday April 6th, 2025 @ 9pm
Magnet Theater
254 West 29th St (btwn 7th and 8th Ave.)
New York City, NY 10001
Tickets $10: https://magnettheater.com/show/59475/
I'm trying to do things that get me out of the house and reduce the amount of time I look at torture rectangles (aka screens with internet). This Refurbish a Game Boy workshop from Craftsman Ave. felt like a perfect opportunity. Not only would I get some quality time in a (quality!) makerspace and get my hands dirty doing some tinkering (with expert guidance and few opportunities to truly mess up), but I'd also get to bring home a joy rectangle to improve the joy-to-despair ratio of rectangles in my life.
There were a lot of things to like about the workshop. The Craftsman Ave space itself combines super functional with โจaestheticโจ. Or, to paraphrase how they put it, "we foster the illusion that beautiful things are made in beautiful places, when we know better." Workshop instructor Zach was super prepared, knowledgeable, and patient. Helping out was Chris who was so nice and humble, but did so much so smoothly behind the scenes, it felt like we were all his guests.
Did I mention prepared? Here come a bunch of photos about how prepared!
The workshop accommodates up to 6 units being refurbished, either on your own or with a partner. We drew lots to determine the picking order from the set of available Game Boy units. (I keep writing "Game Boys", disliking it as a term, and replacing it with "Game Boy units". What is language?)
Anyway, here were the pickings for the evening!
I chose this sad boy which had very little sign of aging plastic but a lot of signs that it had probably been through a flood, with grit on the surfaces and in the holes, major signs of water damage on the screen, and all that was obvious before looking inside.
Looking inside gave me some bad feelings...
Zach had us examine the media daughter boards of our units, which indicate when it was manufactured.
We used tri-wing and Phillips screwdrivers to separate all the electronic parts from all the plastic parts, then put our initials on the plastic bits in Sharpie before giving them a soap bath and scrub-down to remove grit and grime.
With the electronics disassembled, we took turns using the Fender amp to test whether our Game Boy motherboard worked, using a 6-volt power supply and alligator clips to the power terminals. Mine, unfortunately (but not unexpectedly) did not produce the signature "bling!" sound indicating a successful boot. So, it was taken away (for recycling or a viking funeral, I don't know) and I received a known-good working one.
After motherboard testing, we took turns at the soldering stations, removing the little mono speakers from the original media boards and attaching them to the new boards. Comparing the new sleek black PCB to the old crusty speaker had me pretty convinced the speaker wouldn't work.
There were even more things happening in parallel. Our new media boards were part of a full screen replacement, upgrading these units to crisp, backlit IPS displays, with brightness controls and many more features. Critically, the new screens are bigger than the originals, requiring some alterations to the case.
This is where Craftsman Ave's X-Carve machine comes into play. A custom jig holds the front of the Game Boy case in place, while a router bit removes two screw support posts, some space on the side for the new LCD's control toggle, and carves back the edges of the screen.
At some point, Zach gave us a little demo of removing corrosion from the battery terminals using vinegar. The acid eats away at the corroded bits in a bubbly reaction. These parts were too far gone to use, but Zach had plenty of spares.
I didn't take many photos of the actual process. Re-assembly went pretty quickly, with a few key pointers from Zach about tricky placements and order-of-operations. I appreciate the care taken to make sure our new front "glass" and screens were installed free of dust and fingerprints!
Finally, it was time to put in the batteries and put in a test game. While Zach had a lovely collection, I had made sure to bring my own.
There's definitely more I could say about the workshop, the people, the space. All were excellent! But for now, I'll leave you with an abrupt: