Skip to main content

I build accessible, sustainable web experiences that prioritize user privacy and community benefit. Most of my work focuses on creating JAMstack themes and tools that empower writers and creators to own their content while participating in the IndieWeb movement. I believe in building for the long term which means creating tools that last decades, not just seasons, and documenting my process so others can learn from it.

Unless otherwise noted, all projects are released under the AGPL License.

A selection of my open-source projects and contributions:

Web Development & Design

  • omg.lol - Configuration files, custom CSS themes, and templates for omg.lol profile, weblog, statuslog, some.pics, etc. ( CSS)

  • brennan.page - Self-hosted monorepo infrastructure backend/cloud dev of personal productivity tools and community-building features. ( HTML, Docker)

  • brennan.cafe - A privacy-focused, self-hosted personal infrastructure built on a ThinkPad W520. ( Shell)

  • berryhouse - 🍓 Independent agency and studio building fast, accessible JAMstack websites and thoughtful writing. ( Nunjucks)

  • WriteClub - ✏️ Mount Royal University's Creative Writing Club website - a safer space for writers of all kinds. ( HTML, Jekyll)

  • marketing - ✨ Portfolio showcasing marketing work, previous experience, and case studies. Built in Hugo. ( HTML, Hugo)

Blog Themes & Templates

  • 11ty-Indie-Web-Blog-Starter - 🎈 Modern blog template built with Eleventy and Tailwind CSS for writers who want to own their content. ( Nunjucks, Tailwind)

  • indiepaper - 📰 A monochrome, brutalist Medium-inspired Hugo blog theme that prioritizes Indieweb principles. ( HTML, Hugo)

  • Campfire-Hugo-Theme - 🏕️ A warm, story-focused Hugo theme focusing on typography and opinionated design choices. ( HTML, Hugo)

  • newsprint - 🗞️ 11ty blog theme with a newspaper aesthetic, functioning as a newsletter-first publication. ( CSS, 11ty)

  • classic-spirits - 🎏 A classic sidebar Jekyll theme for old-school blogging, created with the Bulma framework. ( SCSS, Jekyll)

  • brennan.jp.net - 🎋 A Hugo blog theme recreating the compact, text-heavy, colorful aesthetic of traditional Japanese web design. ( HTML, Hugo)

  • retroweird - 🎈 An 11ty blog theme inspired by Web 1.0 aesthetic of GeoCities, MySpace, AngelFire. ( CSS, 11ty)

  • hyperpop - 💿 A Y2K-inspired static blog theme built with Eleventy with authentic late 90s/early 2000s web aesthetics. ( Nunjucks, 11ty)

  • watery - 🚰 Minimalist Jekyll theme using Water.css framework with accessibility and SEO best practices. ( HTML, Jekyll)

  • purelog - 📔 Responsive sidebar Jekyll theme created with Pure.css framework, designed for writers. ( HTML, Jekyll)

Tools & Utilities

  • 11ty-Gamification - 🌱 A blog theme that turns writing into a game. Earn badges for streaks and milestones, watch your activity on a heatmap. ( TypeScript, 11ty)

  • awesome-static-tools - A curated collection of the best JavaScript libraries, CSS tricks, and interactive features for building beautiful personal websites. ( Nunjucks, JavaScript)

  • jekyll-audit - An npm package and CLI tool to audit Jekyll sites for performance, accessibility, SEO, and HTML validation. ( TypeScript, MIT License)

  • meddler - Ⓜ️ A CLI tool and website to help people convert their Medium export into multiple different formats with front matter for Hugo, Eleventy, Jekyll, Astro, and more. ( TypeScript, CLI)

  • markdown-to-docx - A website that converts markdown files to Microsoft Word format. ( Python, Word)

  • writerbox - ➿ A terminal-based UI application for managing and visualizing collections of markdown writing files. ( Python, Terminal)

  • stars - ⭐ A collection of repositories curated with stars, using an automatic service.

Learning & Experiments

  • evolveu - 📚 Projects and tests for EvolveU Full-stack Development Program, focusing on React/Flask stack. ( Python, React)

  • duck-project - 🦆 Full-stack website written in node.js using EJS and Bootstrap 4. ( EJS, Bootstrap)

  • python-projects - 🐍 Demonstrating Python skills with test-driven development, design patterns, Tkinter GUI. ( Python, Flask)

  • javascript-projects - ☕ Demonstrating vanilla JavaScript skills with sorting algorithms, propagation, and game development. ( JavaScript, HTML)

  • django-project - A full-stack Django project, with a PostgreSQL database, using Selenium for tests, and deployed in real-time. ( Django, PostgreSQL)

Community & Activism

  • BIPOCmentalhealthYYC - Informational website of mental health resources for Black/Indigenous/People of Colour in Calgary. ( HTML, The Unlicense)

  • WatermelonClub - 🍉 Joyful and accessible Palestine solidarity resources for Canadian students. ( CSS, Jekyll)

  • communityandromance - Official repository for the Mount Royal University English Honours Conference of 2025. ( HTML)

Writing & Publishing

  • rewild - An 11ty project turning my environmental humanities paper "Compost the Workshop: Rewilding Creative Writing in the Anthropocene" into an accessible web experience. ( Python, 11ty)

  • enjoyment-work - 🗃️ Digital Garden: Capturing daily thoughts and progress with unique synthesis - a personal zettelkasten. ( HTML, Jekyll)

  • thinkingwhy.com - Astro 5.x JAMStack blog with literary journalism and technical excellence. ( Astro, TypeScript)

  • commonplace - 🏵️ A brutally simple 11ty microblog that helps you maintain a daily practice of gratitude and commonplace bookkeeping. ( Nunjucks, 11ty)

  • eink.site - A minimalist Jekyll-based website optimized for e-ink devices with limited processing power. ( HTML, Jekyll)

  • weeks - 📅 A visualization of a life in weeks, tracking meaningful events and the passage of time. ( HTML, CSS)

  • fireweed.school - 🔥 Fireweed Writing School is a low-cost online creative writing community built on renewal, persistence, and radical liberation. ( HTML, Hugo)

  • foothills - ⛰️ A tumblr theme designed to be a cozy, comfy portfolio for poetry and other writing. ( HTML, Tumblr)

Finance & Productivity

  • moneytree - 💰 Privacy-first, offline-capable personal finance PWA with transactions, budgets, and investments. ( JavaScript, IndexedDB)

  • offline - Anti-cloud note-taking web app prioritizing privacy, accessibility, and aesthetic pleasure. ( JavaScript, HTML)

  • journalfor.me - Fun, Markdown-based journal application with UX, accessibility, and offline functionality. ( TypeScript, Vue)

  • bearminder - Keeping track of daily word counts from Bear app into Beeminder. ( Swift, API)

  • journalbar - 🐝 A personal blog for self-quantification and personal improvement via Beeminder. Powered by Jekyll. ( CSS, Jekyll)


What I'm Building Next

See /ideas for the full backlog.

Immediate priorities:

  • Scale Berry House pro bono program
  • Finish draft essay collection from journal material
  • Build comprehensive IndieWeb implementation for personal site
  • Create more JAMstack themes for underserved use cases

Project Philosophy

All my projects share common threads:

  • Accessibility first — Build for everyone
  • Own your work — Portable, version-controlled, platform-independent
  • Community benefit — Share knowledge, lift others up
  • Sustainable pace — Build for decades, not burnout
  • Document the process — Help others learn from your work

Stats

  • 700+ commits across public repositories
  • 20+ open-source projects actively maintained
  • 9 books published independently
  • 200+ essays on Medium
  • 1,000,000+ words journaled on 750words
  • 100+ members in Write Club community
  • 3 years leading creative collective
  • 15 years daily journaling practice

  • /elsewhere — Full list of published work
  • /uses — Tools I use to build these projects
  • /ideas — What I want to build next
  • /now — What I'm actively working on

Last modified: February 13, 2026

↑ TOP