Arcology Engine

The Arcology Project: Kotlin Edition

Contents

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

Android App Index

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

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.

shell
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