Jan MiksovskyArchive2026 AboutFeedSearchContact

Origami Projector: a Glitch-like app for site editing

At the start of this year I began developing an application called Origami Projector for editing sites. The app is inspired by Glitch, an absolutely wonderful browser-hosted site editor and community that, sadly, shut down in 2025. I’ve come to think that much of its value can be reembodied — and perhaps improved — as an app.

Given the zeitgeist, I’ll clarify that I’m writing this app by hand; it’s not vibecoded.

An ode to Glitch

You could think of Glitch as “My First IDE” — an approachable entry point for someone looking to get started with making a site, with a great combination of features:

This was a wonderful thing. Unfortunately, Glitch was also unique, and its disappearance left behind nothing remotely as full-featured.

Like Glitch, but an app?

Glitch came to an end for a variety of technical and economic reasons, but I’m intrigued by the possibility that at least some of its problems stemmed from its fundamental nature as a browser-hosted service. A native application might avoid some of those problems.

Compared to a site, an application does have many disadvantages. The app needs to be distributed somehow. Users need some way to find it, download it, install it, and later update it. The app might have bugs that only manifest themselves on certain OSes/machines/configurations, etc. These are all the reasons we convinced ourselves that sites were better than apps in the 2000s.

But apps also enjoy some real advantages:

It should be possible to reproduce most of the core Glitch features in a native app. We can use Electron to turn what’s largely a platform-agnostic web app into a native app that runs on macOS, Linux, and Windows.

Origami Projector

Projector is current intended for hand-authored HTML/CSS projects and Web Origami projects. It’s still at an early phase in its development, and already includes:

[At the time the above video was recorded, the Monaco editor hadn't been added yet.]

Projector is currently built for macOS; Linux and Windows versions will come if there’s interest.

Publishing to web hosts

One advantage of Projector being an app instead of a service is that it can be agnostic with respect to web hosting services. The goal is that it should eventually be straightforward for the user to indicate what host they want to use and have the rest taken care of.

For now it’s possible to manually configure publishing from within Projector directly to Neocities and Netlify.

Although it’s still early, I’ve been publishing to some of my sites from within Projector. It’s nearly instantaneous and feels good. Until now I’ve published most of my sites to Netlify via continuous integration with GitHub, which is elegant for mulit-user projects but complete overkill and a major headache for individual projects.

Let’s Publish

Publishing is currently ridiculously hard:

This is all painful. We really need a standard, easy way for a user to identify their host and have the app and host negotiate the rest — something like Let’s Encrypt, but for web publishing.

Call it Let’s Publish:

A tool you can set up for other people

Projector could evolve into a solid answer to an important question: if you’re setting up a site for someone else — how do you let them edit their own site?

Devs routinely create sites for a client, friend, relative, or organization. The dev can make the initial site deployment, but after that point the site owner needs some way of updating site content themselves. A CMS can provide a partial but expensive answer. What if you want to give the site owner real files? How do you let them manage, edit, and publish those?

I’d like such devs to be able to tell the site’s owner to install the Projector app and open something (a ZIP file with the initial project files, maybe?). Everything else — installing Node modules, setting up publishing, backing up content — should happen automatically. The owner should be able to edit and publish the site on their own without ever having to use a command line.