Currently twtxt consists of the following components:
- Go – A Go backend mostly written from scratch from bits and pieces borrowed from other projects. It uses primarily the julienschmidt/httprouter mux library for routing of requests for both the frontend’s backend and the API.
- Bitcask – This is the primary KV store that backs most of the “metadata” of twtxt.net. It is a high-performance KV store designed for fast O(1) lookups of key/vaue pairs of data with 1 Disk IOPS per key.
- PicoCSS – This is a “classless” CSS library that was chosen because of its very “lightweight” size and was quick to initially develop in as the primary author (James Mills) is no frontend dev 🤣 The forked version (only slightly modified) of this library can be found here
That’s pretty much it for now. If you are interested in contributing in any way we welcome you! You can find all the sources at:
./internal/*.goand in some sub-directories that are sub-packages of the project.
In addition you can find all the static assets and templates here: