Here are the design principles I had in mind when building the current incarnation of Foxspace:


Eliminate Uncertainty

A lot of common blogging and content creation idioms create constant points of uncertainty:

  • If the notes and pages are assigned to a single category, should I file “Making music with Python” under “Python” or “Music”?
  • If the notes and pages can be assigned multiple categories or tags, should a note about the history of programming languages be filed under every single programming language’s category?
  • If trying to follow Zettelkasten or a similar pattern, at what point do I split a note into multiple notes? If I have a note about Rust, should e.g. its “Syntax” and “Interoperability” be subheadings in the same note, or separate, linked notes?

Any such dilemma directly impedes actually writing—it forces me to pause when preparing to write a note, after writing it, and later revise my tag and category structures multiple times. With Obsidian’s nested tags system, should “programming” be its own tag, or should it be a sub-tag of “software” or “tech”? This clearly doesn’t work.

Foxspace should be as easy for me to edit as possible, so all these roadblocks have to go. No tags, no categories; just a loosely linked, searchable pile of notes.


Text First

Foxspace is inherently a textual medium—both it and its inhabitants exist as chatroom messages, source code, words and sentences; it should, therefore, be presented in a form that most closely preserves their essence.

Be Clean

In a textual medium, cleanliness is of the utmost importance. Modern design uses icons and pictograms as shorthand or to indicate elements of lesser importance; text should remain free of noise, boilerplate, and irrelevant nonsense.

Provide Context

The entire reason for building Foxspace in this form is to enable a new method of exploring it—through bidirectional links and graphs mapping related thoughts. Those should be accessible from anywhere and presented prominently.

The path presently taken is also part of the context. Similarly to Roam Research or e.g. gatsby-digital-garden, previously visited pages should remain visible and easy to backtrack to.

Be Seamless

Annoyances like page-loads, images loading in late and reflowing the text, unexpected external links etc etc—they all break flow. Anything that isn’t seamless—does not happen instantly and within the same UI—should be clearly distinguished from the rest of the site.

Be Compatible

The site should work with JavaScript disabled. The layout should be single–column—multi–column layouts don’t work great on mobile devices. It needs to be tested in Reader Mode, in RSS readers, and in text–only browsers like w3m or lynx. It does not need to be tested under Chrome, but should refrain from making fun of Chrome users—their mistake should be discussed with compassion, rather than ridiculed.


Here’s a loose collection of sites, themes, and frameworks I found to be inspiring for what I wanted Foxspace to look like: