Software Engineer · Self-Hosting Advocate · Music Obsessive
Building purposeful software — clean architectures, developer tooling, and the occasional vanity project.
I'm a software engineer with a fondness for clean architecture, strong opinions about tooling, and an embarrassingly deep interest in music.
By day I design and build .NET systems with a focus on clean architecture, proper testing, and CI/CD that actually works. By night I run self-hosted infrastructure, build Obsidian plugins, and over-engineer my music library. When I'm away from the keyboard you'll find me training for a triathlon or hunting down a record.
| Category | Technologies |
|---|---|
| Languages | |
| Frameworks | |
| Patterns | Clean Architecture · Mediator · Result Pattern · Vertical Slice |
| Infra & Tooling | |
| Daily Drivers |
An eclectic radio station built on Hugo with a bespoke .NET 10 content operations pipeline. The pipeline handles album intake, Spotify and Lidarr integration, and automated publishing — all packaged as a self-contained binary with a GHCR-published Docker image.
Tech: .NET 10 · Clean Architecture · Mediator · ErrorOr · Docker · GitHub Actions · Hugo
A TypeScript plugin for Obsidian that brings CookLang recipe management into your knowledge base. Render, browse, and manage structured recipes alongside your notes.
Tech: TypeScript · Obsidian API
Sample project demonstrating fitness data integration with the Strava API via Strava.NET — a useful reference for anyone building health and activity tracking applications.
Tech: C# · .NET · Strava API
A structured, opinionated productivity system: reusable Todoist templates, weekly review workflows, and automation patterns for power users who want repeatability without the overhead.
- 🐛 Closed issue in
colin-gourlay/todoist-playbook— Review template: github-trending-tracker-daily20 Apr 2026 - 🔨 Pushed to
colin-gourlay/todoist-playbook20 Apr 2026 - 🔨 Pushed to
colin-gourlay/sundown-sessions19 Apr 2026 - 🐛 Closed issue in
colin-gourlay/sundown-sessions— Incorporate search capabilities into the site19 Apr 2026 - 🔀 Opened PR in
colin-gourlay/sundown-sessions— __19 Apr 2026 - 🌿 Created branch
feat/src/hugo-regression-preflightincolin-gourlay/sundown-sessions19 Apr 2026 - 🔨 Pushed to
colin-gourlay/todoist-playbook19 Apr 2026 - 🔀 Opened PR in
colin-gourlay/todoist-playbook— __19 Apr 2026 - 🌿 Created branch
docs/doc-implementation-parity-auditincolin-gourlay/todoist-playbook19 Apr 2026 - 🐛 Opened issue in
colin-gourlay/todoist-playbook— Review repo settings/setup19 Apr 2026
Last updated: 21 April 2026 at 03:08 UTC
- sundown-sessions — Automated radio show platform combining a Hugo site with a custom .NET pipeline for music ingestion, metadata enrichment, and continuous publishing.
HTML⭐ 1 - todoist-playbook — A structured productivity playbook for Todoist - reusable templates, weekly review systems, and automation-ready workflows for power users. ⭐ 1
- github-copilot
- listenarr
- github-actions
- foam2
SCSS - art-school-dance
HTML⭐ 1 - pi-collectarr
C#
Last updated: 21 April 2026 at 03:08 UTC
- Donchitos/Claude-Code-Game-Studios — Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills,
Shell⭐ 14,454 - ruvnet/RuView — π RuView: WiFi DensePose turns commodity WiFi signals into real-time human pose
Rust⭐ 48,320 - forrestchang/andrej-karpathy-skills — A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Kar ⭐ 67,502
- tractorjuice/arc-kit — Enterprise Architecture Governance & Vendor Procurement Toolkit
HTML⭐ 1,376 - thunderbird/thunderbolt — AI You Control: Choose your models. Own your data. Eliminate vendor lock-in.
TypeScript⭐ 2,875 - snarktank/ralph — Ralph is an autonomous AI agent loop that runs repeatedly until all PRD items ar
TypeScript⭐ 17,501
TypeScript ×9 · Python ×9 · Shell ×3 · HTML ×2 · JavaScript ×2 · Rust ×1 · Dart ×1 · Jupyter Notebook ×1
Last updated: 21 April 2026 at 03:08 UTC




