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/willow/">willow</a> (2023-09-21) (Go)</summary>
29 <p>
30 Tracks software releases across various platforms. Still a work-in-progress
31 with bugs major and small, but I've been "dogfooding" it with my all my
32 private self-hosted services, everything on <a href="https://nixnet.services">NixNet</a>,
33 and the <a href="https://aur.archlinux.org/packages?SeB=m&K=Amolith">
34 AUR packages</a> I maintain. It does work and I find it quite useful 🙂
35 </p>
36</details>
37
38## On hold
39
40There are still things I want to accomplish with this software, but I don't have
41enough bandwidth to work on them at the moment.
42
43<details>
44 <summary><a href="https://sr.ht/~amolith/earl/">earl</a> (2022-01-01) (Go)</summary>
45 <p>
46 I take a lot of hand-written notes and wanted a quick way to write down web
47 references. I was unsatisfied with all of the current URL shortener
48 implementations so I decided to write my own.
49 </p>
50</details>
51
52## Finished projects
53
54These are projects that I consider ["finished".][finished] I might fix the
55occasional bug, but they meet my needs as they are and I will not be adding
56major swaths of code to introduce new features.
57
58[finished]: https://gavinhoward.com/2019/11/finishing-software/
59
60<details>
61 <summary><a href="https://sr.ht/~amolith/rss2fedi/">rss2fedi</a> (2023-06-01) (Go)</summary>
62 <p>
63 Looks at a provided RSS feed, converts the HTML to plaintext, truncates to
64 100 words, shoves those words into a templated, and posts to fedi. Supports
65 authenticating with Akkoma, Pleroma, and Mastodon. Patches for additional
66 platforms are welcome.
67 </p>
68</details>
69
70<details>
71 <summary><a href="https://sr.ht/~amolith/opml2md/">opml2md</a> (2023-05-01) (Go)</summary>
72 <p>
73 Takes an OPML file exported from an RSS reader, turns it into bulleted lists
74 of subscriptions (ignoring particular sections if desired), and shoves those
75 lists into a templated Markdown file. It's in use on the <a
76 href="/feeds">feeds page.</a>
77 </p>
78</details>
79
80<details>
81 <summary><a href="https://git.sr.ht/~amolith/p2c/">p2c</a> (2023-04-05) (Go)</summary>
82 <p>
83 Generates cover images for Hugo sites using the page's frontmatter, the
84 site's global config, and file's metadata. It's written in Go and generates
85 images using <a href="https://gioui.org">Gio,</a> a cross-platform GUI
86 framework. It generates the cover images for most of the pages and posts on
87 this site.
88 </p>
89</details>
90
91<details>
92 <summary><a href="https://sr.ht/~amolith/go-webring/">go-webring</a> (2021-12-18) (Go)</summary>
93 <p>
94 This is generalised software for creating and maintaining old-school <a
95 href="https://en.wikipedia.org/wiki/Webring">webrings.</a> It currently
96 powers <a href="https://fediring.net">Fediring.net.</a>
97 </p>
98</details>
99
100## Future projects
101
102Tools I want but that I haven't necessarily had time to start on yet
103
104<details>
105 <summary>Alternative <a href="https://bond-touch.com/">Bond Touch</a> client/server</summary>
106 <p>
107 The official app is just an unusable pile of trash. I want to
108 reverse-engineer the bracelet's Bluetooth protocol and implement my own
109 client/server. Client functionality will be strictly limited to
110 sending/receiving touches and matching touch patterns with user-defined
111 messages. Server functionality will be strictly limited to transferring
112 touches between devices.
113 </p>
114</details>
115
116## Abandoned projects
117
118Unfinished tools I don't plan to finish.
119
120<details>
121 <summary><a href="https://git.sr.ht/~amolith/rarangi">rārangi</a> (2021-10-12) (Go)</summary>
122 <p>
123 A todo TUI that operates on basic text files. Unfinished items are denoted
124 with a - and finished items are denoted with a +. I wanted to try
125 <a href="https://github.com/charmbracelet/bubbletea">Bubble Tea</a> but
126 decided it was more complicated than I was ready for at the time.
127 </p>
128</details>