Tribune

Launched: Jul 19 2024

Rust, Community, Desktop App

A lightweight build tool for publishing blogs on Neocities.

In early 2024, I began browsing the sites on the amateur web-crafting hub Neocities in earnest. One thing I noticed while reading the status updates of the users there is that while people like having direct control over their site as a form of creative expression, most folks on Neocities are not professional-level programmers. This means that there’s a great deal of friction between “having a cool idea you want to share with folks” and “actually publishing that idea in a consistent and convenient way.”

By default, raw HTML / CSS / JS are pretty terrible at making layouts that are modular, composable, or reusable. Professional web developers have an extremely wide array of tools to solve those problems, but we often forget that setting up those toolchains can be extremely intimidating for those less experienced with programming. There are a ton of pitfalls for total amateurs that we often forget about:

  • Most modern computer users have never used the command line on their system even once. If they have ever seen it done, they regard it as a strange and alienating kind of techno-wizardry.
  • Many web dev tools have a sort of implicit “Unix-chauvinism,” and many casual computer users are on Windows. Again, it’s no problem for professional developers to configure things for Windows specifically, or even use tools like the WSL, but casual computer users are not going to have the confidence or knowledge to do this.
  • In the process of configuring your average web dev project with a modern framework, it’s very normal to be juggling up to six or seven different languages: Javascript, Typescript, Sass, TOML, YAML, JSON, Markdown, or some other ungodly combination of the bunch. There is a desperate need for zero-configuration amateur tools that work out of the box without needing to install a thousand different dependencies and CLIs.

Because I didn’t see any toolchains out there dedicated to solving this problem, I decided to make one. Tribune is for amateur web designers who want to speed up the process of writing, managing, and publishing content on their personal sites without sacrificing the creative control over their site’s design, layout, and scripts.

In the interest of keeping the executable simultaneously lightweight and cross-platform, the language of choice was pretty clear: Rust. Getting accustomed to the languages idiosyncrasies was a fairly large learning curve, but that was mitigated by having one-click cross-platform builds for Windows and Mac at the end of the entire process. Tribune remains in alpha for the time being, but I look forward to turning it into the definitive tool for amateur web designers in the coming months.

Back to Projects