Project Stack
Projects and tech stack
Current Projects
n1cck.us
This site. A static content website built with Hugo and the qubt theme, managed entirely through git, and hosted on a Le Potato SBC sitting on a shelf at home - the way the internet should be.

Le Potato hosting n1cck.us
The content itself lives on Codeberg, which doubles as the CI/CD engine: a Forgejo Actions workflow builds the site inside a multi-stage Docker image (Hugo build stage, nginx runtime stage) and pushes it to Codeberg’s container registry on every push to main. The SBC at home just pulls the latest image. A parallel GitHub Actions workflow mirrors the repo and deploys a second copy to GitHub Pages, so the site survives even if the home connection or the Le Potato itself has a bad day.
Stack: Hugo, git, Podman, Forgejo Actions, Codeberg container registry, nginx, GitHub Pages (mirror/fallback)
cURL-able Business Card
The goal: a contact page that’s just as usable from a terminal as it is from a browser. Point a browser at /bc and you get the normal web page; point curl -L n1cck.us/bc at it and you get the same information rendered as colorized ANSI text, banner and all, straight in the terminal - no rendering engine required.

The cURL-able business card
It’s a small project, but it scratches an itch: contact info shouldn’t require a browser, cookies, or a tracking script to read. It’s the same philosophy behind sites like wttr.in - detect the client, and give terminal users a terminal-native response instead of forcing HTML through a pipe.
I’ve hosted my own email server for many years. The current stack is pretty simple to keep up, as long as Microsoft doesn’t keep changing their black box spam filtering to specifically exclude small-volume senders. Using the software stack below plus solid DMARC/DKIM/SPF policing I have been able to maintain nearly 100% deliverability across hundreds of domains.
- Postfix: What is Postfix? It is Wietse Venema’s mail server that started life at IBM research as an alternative to the widely-used Sendmail program.
- Dovecot: Dovecot is an open-source IMAP and POP3 server for Unix-like operating systems, written primarily with security in mind.
- SpamAssassin: Apache SpamAssassin is the #1 Open Source anti-spam platform giving system administrators a filter to classify email and block spam (unsolicited bulk email).
- rspamd: Rspamd is an advanced spam filtering system and email processing framework that allows evaluation of messages by a number of rules including regular expressions, statistical analysis and custom services such as URL black lists.
- ClamAV: ClamAV® is an open-source antivirus engine for detecting trojans, viruses, malware & other malicious threats.
- Rainloop: Simple, modern & fast web-based email client. Reaching deprecation, will need to replace.
- PostFix Admin: Web based administration interface for Postfix mail servers.
Self-Hosted Homelab
Underneath most of the projects on this page is the same pile of hardware: a handful of SBCs and a home server, all wired together on a private Tailscale mesh so containers can find each other by name no matter which physical box they land on. Everything runs as Podman containers defined in docker-compose.yaml files, which means the whole stack for any given service - config, volumes, and all - can be picked up and moved to different hardware in a few minutes.
A few of the pieces worth calling out:
- DNS - PiHole for ad/tracker blocking, backed by unbound running as a recursive resolver instead of forwarding to a third party, with a Redis cache in front for latency. Tailscale hands the resolver out tailnet-wide via MagicDNS.
- Edge/reverse proxy - Caddy fronting everything on a VPS, routing by hostname back to the SBCs over the tailnet.
- Bot mitigation - Anubis sits between Caddy and each backend service, issuing a proof-of-work challenge to suspicious clients before letting them through. It went in after AI scraper traffic started dominating logs on some of the lower-traffic services below.
- Search - a self-hosted SearXNG instance, so search queries aren’t a product.
- Fediverse bridging - Hatsu, which reads this blog’s feed and announces new posts to the Fediverse without requiring a full Mastodon/GoToSocial deployment just to do it.
- Feeds & bookmarks - Miniflux for RSS, and Karakeep for bookmark stashing/archiving, both containerized with their own Postgres.
Stack: Podman, Tailscale, Caddy, Anubis, PiHole, unbound, Redis, SearXNG, Hatsu, Miniflux, Karakeep, PostgreSQL
TTYpewriterOS
A dedicated, distraction-free writing machine, built by doing a Linux From Scratch install on a $50 ThinkPad X390 and stripping it down to a TTY - no window manager, no browser, no graphics stack at all. The idea: eliminate multitasking at the operating system level instead of trying (and failing) to resist it through willpower.
The requirements were deliberately narrow - a text editor (neovim), git (synced to Codeberg) for version history and cross-device sync, GPG for commit signing, and Hugo for local syntax/error checking of this site’s content before it gets committed. A single-purpose email account in Mutt handles link/reference forwarding from other devices without turning the machine into a general-purpose distraction engine, and Zellij covers the rare case of needing a split terminal.
Building the OS from scratch rather than stripping down an existing distro was the point as much as the result - it’s a way of seeing how much of a “normal” Linux system is core technology versus a distribution’s opinionated defaults, and there’s something satisfying about a machine that can genuinely do nothing except let you write.
Stack: Linux From Scratch, neovim, git, GPG, Hugo, Mutt, Zellij, Tailscale
Amateur Radio & Mesh Networking
Licensed as N1CCK, and active in Ham Radio Village, a group focused on hands-on amateur radio education, demonstrations, and license testing. Amateur radio is the literal version of a theme that runs through most of the projects on this page: getting a signal from one point to another without losing what made it worth sending, and ideally without asking anyone’s permission to do it.
Recent work has been in LoRa-based mesh networking with Meshtastic and MeshCore - including an in-flight experiment mapping mesh contacts made at 34,000 feet against the actual flight path, to see how far line-of-sight propagation carries from altitude. Other side quests have included unlocking hidden diagnostic/config menus on cheap commercial radios (the AnyTone 878, specifically) and general study/testing of digital modes and band conditions.
Stack: Meshtastic, MeshCore, LoRa, digital voice/data modes
Ideas
The stuff that pops into my brain when I should be sleeping - also known as “2am masterpieces.” No promises on timelines.
- Torro - a hub that rotates among TOR entry proxies to further obfuscate endpoint traffic.
- Self-hosted Mastodon/GoToSocial instance - Hatsu already handles announcing this blog to the Fediverse; actually hosting the account itself instead of using Polymaths is the next step in decentralizing identity along with services.