projects.md

 1---
 2title: "Projects"
 3description: "Projects I'm currently working or have (mostly) finished"
 4date: 2023-01-17T13:42:01-05:00
 5draft: false
 6cover: ./cover.png
 7type: generic
 8---
 9
10Most of my projects are hosted on [Sourcehut,][sourcehut] but some of my older
11projects can also be found on [NixNet's Forgejo instance.][forgejo] I do have a
12[Github account,][github] but I don't actually host any projects on it as I
13prefer more open platforms.
14
15[sourcehut]: https://sr.ht/~amolith/
16[forgejo]: https://git.nixnet.services/
17[github]: https://github.com/Amolith
18
19All of these projects were created to [scratch an itch.][sai]
20
21[sai]: https://scratchanitch.dev
22
23## Active projects
24
25These are what I'm currently focusing on.
26
27<details>
28    <summary><a href="https://sr.ht/~amolith/earl/">earl</a> (2022-01-01) (Go)</summary>
29    <p>
30    I take a lot of hand-written notes and wanted a quick way to write down web
31    references. I was unsatisfied with all of the current URL shortener
32    implementations so I decided to write my own.
33    </p>
34</details>
35
36## Finished projects
37
38These are projects that I consider ["finished".][finished] I might fix the
39occasional bug, but they meet my needs as they are and I will not be adding
40major swaths of code to introduce new features.
41
42[finished]: https://gavinhoward.com/2019/11/finishing-software/
43
44<details>
45    <summary><a href="https://git.sr.ht/~amolith/p2c/">p2c</a> (2023-04-05) (Go)</summary>
46    <p>
47    Generates cover images for Hugo sites using the page's frontmatter, the
48    site's global config, and file's metadata. It's written in Go and generates
49    images using <a href="https://gioui.org">Gio,</a> a cross-platform GUI
50    framework. It generates the cover images for most of the pages and posts on
51    this site.
52    </p>
53</details>
54
55<details>
56    <summary><a href="https://sr.ht/~amolith/go-webring/">go-webring</a> (2021-12-18) (Go)</summary>
57    <p>
58    This is generalised software for creating and maintaining old-school <a
59    href="https://en.wikipedia.org/wiki/Webring">webrings.</a> It currently
60    powers <a href="https://fediring.net">Fediring.net.</a>
61    </p>
62</details>
63
64## Future projects
65
66Tools I want but that I haven't necessarily had time to start on yet
67
68<details>
69    <summary>Alternative <a href="https://bond-touch.com/">Bond Touch</a> client/server</summary>
70    <p>
71    The official app is just an unusable pile of trash. I want to
72    reverse-engineer the bracelet's Bluetooth protocol and implement my own
73    client/server. Client functionality will be strictly limited to
74    sending/receiving touches and matching touch patterns with user-defined
75    messages. Server functionality will be strictly limited to transferring
76    touches between devices.
77    </p>
78</details>
79
80## Abandoned projects
81
82Unfinished tools I don't plan to finish
83
84<details>
85    <summary><a href="https://git.sr.ht/~amolith/rarangi">rārangi</a> (2021-10-12) (Go)</summary>
86    <p>
87    A todo TUI that operates on basic text files. Unfinished items are denoted
88    with a - and finished items are denoted with a +. I wanted to try
89    <a href="https://github.com/charmbracelet/bubbletea">Bubble Tea</a> but
90    decided it was more complicated than I was ready for at the time.
91    </p>
92</details>