This month Glitch.com shut down, ending hosting for the projects there. They gave folks about a month to migrate their projects off the site. This also included paying customers, like me, who had the pro plan which cost $99 a year. A month is not a very long time at all, especially for paying customers, but that’s just like my opinion. The bottom line is they cut the power, so all of my projects there are gone, so after being salty about it I spent time this weekend doing the worst, most boring thing, maintenance on my personal hobby projects…
The way it ended is very lame, but I forgive them since it was really cool while it lasted. It basically solved the problem you encounter when you want to quickly make a website that requires a backend or a server. They leveraged container technology to have teeny tiny servers spin up whenever the url is requested allowing you to do complex backend sites stuff without having to have a dedicated server. You could also do static webpage hosting but the container stuff was the big deal. They also made a decent web based editor GUI for working with the code in real time and allowed you to fork and collaborate on projects. I think if you were to imagine Geocities for today it would look like Glitch.
For me it was useful for me in two ways. First was for my little personal projects that I spend too much time on. I don’t really want to worry about maintaining a lot of servers or paying for expensive services like Heroku. Glitch was perfect for that, I always tried to make my little bauble projects static webpages but if I couldn't, due to needed backend functionality then I would use Glitch, and I happily paid (if you paid for pro you were allowed to have X number of projects always running, giving a faster load time) to not have to worry about their infrastructure.
The second more important reason though was Glitch’s pedagogical uses. For a number of years I taught an intro to interface development class. It was mostly library science students at first but then became more UX/UI students. The problem with designing interfaces is that you have to make them eventually. I guess if you are lucky you can have someone else make them. But I wanted these students who were good at thinking about design concepts to get experience around the work behind actually making a web interface.
Glitch solved this problem because “real” interfaces have data, data means backend and I don’t want to have to maintain that infrastructure or add another layer of difficulty for these new to tech students trying to get things working on their own laptop. The other aspect glitch was great for teaching is because I created a number of starter projects on glitch that have everything needed for a real world project except the interface. So all the database backend and data was populated, the routes and logic to the different pages were ready to go, there was an API built into the backend for them to use when ready. They could just focus on building the interface. Glitch accelerated this to the point where I had them choosing a starter project and we began working on a real life interface within the first 3 hour class, it was great.
Glitch doesn’t work anymore, so I can’t link to the starter projects I made but I uploaded their code and data (sqlite dbs) to Github, you can get a sense of the type of projects the students had to choose from:
Allowing the student to pick which domain seemed most interesting to them and I would challenge them to think broadly on what a Book/Movie/whatever interface could be like. A lot of the students would make wireframes and then each week for about 4 weeks we would go through building the HTML, applying CSS, enriching with javascript functionality. At the end they would have a fully working site of their own design. At that point we would go on to more complex topics like single page applications or more elaborate API usage, etc.. Some students would move on to localhost development, running things on their own laptops but some students really liked Glitch, and would do the rest of the class using it which is great because it makes sharing and getting help from me very easy. If I were teaching still I would be in panic mode trying to figure out what to do in the Fall.
I had about a dozen projects running on Glitch and so I have to decide what I should do with them. I both hate and appreciate these types of inflection points because it's a nice opportunity to think about things you have done and if they are important to you. But then you actually have to make a decision, keep them going or not. Any sort of tech work is mostly maintenance, although you could probably argue most of all work is maintenance. You ask yourself if you even care if this thing exists anymore? Certainly nobody else does, so it really is dependent on how I feel about them. I think most of these projects are on a spectrum between tool and creative. A lot of the more creative ones are of course an attempt to express a thought or idea. I think I enjoy that process, of creating a thing that tries to convey something and sharing it. Each subsequent attempt trying to get better at the process and execution. Unfortunately the forms they usually take is a fragile and ephemeral website. If the thing I most value is the creation and execution do I need to make sure it keeps running for the next decade or longer? Ultimately a few of these projects are embedded in blogs I wrote, so if I’m going to preserve them for the sake of the blog I might as well do all of them. And honestly the thought of deleting/archiving my “creative” projects from my homepage because they don’t work anymore is pretty depressing.
I think of the Glitch projects in three categories:
The first category is the easiest to do, we basically download the file and get it created on Github Pages for static hosting. Here are the steps to that process:
I made a silent video showing these steps if you want a visual guide. Step 7 and 8 will likely look different to you but same idea:
For the second category you may have a Glitch project that started using a backend server but it really doesn't need one. If it is just server static template pages. But it is not so easy to convert server template pages into vanilla static html. You would need to manually do it or run it locally and save off the HTML file. I had a couple like this where the backend was really only doing templates but I didn’t feel like doing the work to convert them, since I have a number of category three sites I just did the same thing with them.
Category three, these need a server. So you have to buy a server… The Glitch migration guide directs you to Digital Ocean as an example where you are buying a little 4$ server for each project. This does not scale if you have a bunch of projects like me. No way I’m paying $20-40 a month for these little tiny sites. There are other serverless options but you are building in their custom setup and honestly I don’t want to do this again if the next cool serverless hosting provider decides to shut down. I want to go old school and have my own server. So we are going to clown car these guys and try to stuff them all onto a $6 a month server.
One thing about owning a server is now you have to maintain it, which is very annoying. So if you want to make the maintenance as easy as possible, being able to restore it to a new server quickly and painlessly is really key to making it tolerable. One way of doing this is using Docker, you can configure everything into a setup file and then quickly deploy it if you need to move providers or it gets really out of date and needs to be rebuilt or whatever. My final goal is to have each site running on a subdomain of my thisismattmiler.com website. Here are the steps I went through to get it working.
server {
listen 80;
listen [::]:80;
server_name woodblock-shop.thisismattmiller.com;
location / {
proxy_pass http://0.0.0.0:8501;
}
}
Of course the final step is going to replace all the URLs everywhere, even though the redirects work (until the end of 2026) I rather have the new ones in blogs and links. I did find that Github pages allow embedding, so if you embedded a Glitch project somewhere like a blog it will work with Github pages but you have to update the URL, the redirect does not work for embedded projects.
I’ll end with a checklist of projects I migrated over and a little about them.
Eclipsed Time A digital recreation of the deinstalled Penn Station sculpture/clock by Maya Lin (static site)
Woodblock Shop Lets you mashup 14K woodblock prints from Plantin-Moretus Museum and post them to a Bluesky account. (server site)
Between The Places Based off a Sol LeWitt idea, lets you build maps with an area cut out where you used to live. (server)
Anaphora Exploring speech found in the Library of Congress web archives. (static)
LCSH/Wiki Variant Browse LCSH headings to where they redirect in Wikipedia (server)
Gates of Hell I’m obsessed with Rodin the sculptor and found out there are two bicoastal Gates of Hell sculptures (posthumous casting, don’t get it twisted…aaaacutally all Gates of Hell are posthumous…) (static)
Edge Notch Card Crowdsource Tool A little tool made to transcribe some signatures for a project. (server db)
Zork Text I extracted the Text from the adventure game Zork and made a little mashup (server)
Lomax QA Tool A tool I made to compare Whisper.cpp output for a Alan Lomax project (server)
Byzantine A toy that makes a new PDF from the Web Archive of LC (server)
LC MIDI Some MIDI files I found in the LC Web Archives (static)