Twelve Websites

In 2021 I decided to try building a website every month.

Kick-off postRetrospective post one year later


December 2021 —

A system for storing and retrieving links.

I need to figure out some sort of system for storing and retrieving links I come across. Right now I'll keep the links open in tabs and eventually close them out. If I ever need to re-find something, I'll open up the browser history and search, which more often than not fails. Probably because the only thing that gets indexed in browser history is the urls, while I'll be trying to search by concept or something like that.

It seems like this link organizational system is something that a ton of people have tried to make, or have written about. The reason many fail, in my view at least, is that how you organize links is unique to your own brain. The sorts of categories you use can't be predetermined; they must be decided by you and maintained by you to ensure the connections between concept and links are strong. As a result, this software most likely works best when you make it yourself and it fits your own mental model of how things should be stored and retrieved. There's definitely principles that could be used to generalize this beyond a personal system, but as a start I think it makes the most sense to build something myself. Of course.

Kick-off postRetrospective post

One Dimension on Gemini

November 2021 —

A gemini portal.

This one’s simple: I’d like to build a gemini portal. I’ve been playing around with it quite a bit recently and am intrigued.

There’s something intriguing about new protocols. Especially in case of Gemini, a protocol that’s a kind of subset of an existing protocol—a stripped back version of HTTP with a higher level of security required from the outset. Pages can only contain text or links, no styling whatsoever and definitely no client-side scripting. I certainly like link-based exploration, and simple things. So I’m going to build a version of my custom link-based notes site that lives in geminispace.

Kick-off postRetrospective postSource code

Hyperfov Page Previews

September 2021 —

Page previews everywhere.

This arose as part of August’s project: Wikipedia link previews. I love these things and wish they were everywhere. The problem is that dynamic global link previews aren’t really possible since they require making cross-origin requests from one site to another, which are generally restricted. The primary goal of this project is overcoming that limitation through serverless functions, specifically Cloudflare Workers. I’ve wanted to try this technology out for a while, and this feels like a nice and simple little project to give it a shot. I’m used to writing traditional APIs and deploying them myself, so writing little snippets of code that run on abstracted machines feels very Twelve-websites-esqe in it’s simplicity, if I can get it to work.

Kick-off postRetrospective postSource code

One Dimension

August 2021 —

A link-based writing system.

This one’s something I’ve wanted to build for a while; a truly linked writing system. Meaning every piece of writing has both forward and back-links. Each page is part of a larger network of pages. This is not a particularly new idea, but it’s something that I’ve always been curious to try designing and building myself; it seems like a really elegant system. Given it’s been implemented plenty of times over, I do want to change it up a bit and explore a bit of new territory when it comes to how the site is constructed. I’d like to make it local-first, meaning the primary representation of these pages—markdown—is stored on your machine and any editing happens locally, rather than online. The site itself is built from these pages and served in as minimal a way as possible as as a static site. So the ‘live’ version lives on your own machine, and the ‘preserved’ version is the static site that lives online.

Kick-off postRetrospective postSource code

May 2021

A website that creates small websites from emails.

Websites are nice, but they can get a bit stale. Stale in the sense that any given web design pattern becomes set and it's difficult to get past it and see new ways of accomplishing the task. Not that this is always a bad thing; familiar design patterns vastly simplify the amount of effort it takes to engage with new sites. But it can feel stale from both the perspective of using and building websites.

For this reason, the bulk of this month's effort won't be building a website. A website will be a final product, but the majority of what I'm interested in exploring is a process: how might we create a blog post without interacting with a website at all?

Kick-off postRetrospective postSource code


April 2021

A website for browsing between websites visually.

I've been thinking about building tools for interfacing with the web in new and perhaps unusual ways for quite a while. I have yet to really launch into building them, so as with last month I'm using Twelve Websites as an opportunity to begin that exploration.

The idea for this website is a system for finding new links. I'd like to build new ways to explore the web, beyond just using a text-based search engine. This website should serve as a search engine for finding new websites, not found by searching content, but by links. Drop a link into the site, and it should return ten or so new directions; websites that are linked from the original or are perhaps one to two steps removed.

The main idea I'd like to establish here is that crawling a website can lead to new and unexpected links out to other websites, and that collating them provides some kind of value.

Kick-off postRetrospective postSource code

Maybe One Dimension

March 2021

A website for plain HTML + CSS conversations.

Could the feeling of "cozy" (if at all) translate into a digital system? This idea has been explored quite a bit in the past, and there certainly some systems that can illicit this feeling. Conversational systems, however, aren't usually considered in this light. They're clear, understandable, on occasion expressive, but not often cozy places to hang out.

How about a system where conversation can happen slowly over time, building a kind of garden of thoughts and artifacts to house them. The slowness of it pushes it in the direction of coziness; it has to be slow and crafted, while also being familiar enough that it sits in contrast to other more familiar methods of digital communication. The blog is not a place for "my ideas, formulated as posts" but rather a conversation between myself and others that evolves over time through a series of pages that are unique in their presentation and have a strong tie between content, structure, and style.

Kick-off postRetrospective post

Classic Interfaces

February 2021 —

A website for snapshots of interfaces from pre-2000's operating systems.

I've recently been exploring old operating systems through emulators I've found online. There's a ton of richness to them, and I have yet to be able to find a way to really process them and all the effort that went into how their interfaces were designed and constructed. They're also a fantastic resource for interface design; there are plenty of details that made certain OS iterations really stand out as the canonical button, for example. There's not a very good way to explore these UI elements outside of finding screenshots online, but these screenshots don't show everything and aren't taken to really showcase just how a button, checkbox, or scrollbar function and look.

I'd like to build a website that addresses this gap and serves as a neat place to go to find the standard input bars, tabs, windows, buttons, and so on included in old operating systems.

Kick-off postRetrospective postSource code


January 2021

A website for collecting phrases we're tired of hearing.

I'm not sure how it happens, but there are certain phrases that catch on in a way that feels… unnatural. It's like there are certain phrases manufactured to perfectly frame a particular subject, but perhaps in a way that's too perfect, too well considered. You hear these phrases all the time, but when you hear someone you know say them you think "that's strange, you've never used that phrase before and yet I've heard it all the time." I certainly do at least. Seems like others may have as well.

Kick-off postRetrospective postSource code