What Is This?
The Arcology Project is a mobile-first knowledge management system built on org-mode and org-roam. It aims to replace a decade of Emacs-based tooling with native, cross-platform applications that work offline and sync via federated infrastructure. It's one part mobile knowledge management system, one part meta-programmable hypermedia platform, one part web publishing platform. The guiding vision is the International Trip and the other user stories.
Literate Programming
This project is worked with as a set of Literate Programming documents. You work with the documents, the documents contain the Kotlin source code, and the Arroyo Literate Programming Environment provides tools to extract source code, an Emacs integration to do so automatically, and additional tools to construct Arroyo systems.
If you don't edit the org-mode documents there is limited support for "detangling" the source->org using agentic AI but you get to keep all the pieces when it breaks.
Philosophy
This is personal software. It is opinionated, idiosyncratic, and designed for one person's brain. See contributing.org for the design axioms.
The goal is not to build a product, but to build tools that feel good to use — tools that support a life of knowledge work without depending on corporate infrastructure or internet connectivity.
"a network of systems that one or two motivated nerds can manage for a community"
If this resonates, you're welcome to read, fork, and build your own. But this is not an open source project in the community-contribution sense. It's a published personal system.
Project Scope
The Arcology ecosystem has three major components:
org-roam Mobile
An Android app supporting:
5000+ files, 50k+ headings
Offline-first with Syncthing sync
Full-text search with BM25 ranking
Quick capture to daily journal
org-fc quiz integration
Backlinks and unlinked reference discovery
Arroyo Concept Operating System
Arroyo Literate Programming Environment
A literate programming system that generates NixOS and Emacs configurations from org-mode documents:
System configs embedded in documentation
Tables and metadata drive code generation used to dynamically add new Flake inputs and outputs, packages to overlay, etc
Distributable as readable documents others can clone, fork, and modify
Driven by
:ARROYO_MODULE_TYPE:,#+ARROYO_NIXOS_MODULE, etc.
These tools are used to build and deploy this project, and the Arroyo System flake generator outlined in Rebuild of the Complete Computer 0x02.22: This is (Not) Advanced.
Arcology Web Publishing
A server that publishes org-roam headings to the web:
Any heading can publish to any URL on any domain
Multi-domain publishing from a single knowledge base
RSS feeds, Fediverse integration
Driven by
#+ARCOLOGY_KEY,#+ARCOLOGY_FEED, etc.
Building
You can git clone http://code.rix.si/rrix/arcology2go if you feel like it.
make build # build APK
make install # install APK using developer tools
make cli args="--help" # build and run the Arcology CLI
make build-tangle-tool # build stable CLI using nix to ./result/bin/arcology2