Portfolio
Selected JAMstack and web development work. Case studies highlight goals, approach, and outcomes.
-
11ty Gamification — Earn Badges for Writing
A monorepo blog theme that gamifies writing with badges, streaks, heatmaps, and nudges. Built with a strong testing culture.
Tech: Eleventy (11ty), Nunjucks, TypeScript, Node.js, Vitest, Tailwind CSS, npm workspaces
-
11ty Indie Web Blog Starter
A modern, feature‑complete Eleventy + Tailwind blog template designed for IndieWeb participation (Microformats, webmentions, RSS) with privacy‑respecting defaults.
Tech: Eleventy (11ty), Tailwind CSS, Nunjucks, JavaScript, Node.js, HTML, CSS
-
Bearminder — Bear → Beeminder Menubar App
A macOS menubar app that tracks daily word counts from the Bear app and posts them to Beeminder goals. Secure tokens in Keychain, runs on-demand or hourly, privacy-first.
Tech: Swift, macOS AppKit, Beeminder API, Bear App API, Keychain, XcodeGen
-
Campfire — Story‑Focused Hugo Theme
A warm, writing‑first Hugo theme for blogs and journals with readable typography, dark/light themes, and a pragmatic sidebar.
Tech: Hugo, HTML, CSS
-
Classic Spirits — Sidebar Jekyll Theme
A clean, responsive, old‑school sidebar theme built on Bulma, with performance and accessibility improvements.
Tech: Jekyll, Bulma CSS, HTML, CSS, Ruby, JavaScript
-
Romance & Community — MRU English Honours Conference
Official site for the MRU English Honours Conference (2024/2025), with dynamic schedule, speaker profiles, and a responsive, SEO‑optimized design.
Tech: Jekyll, HTML, CSS, JavaScript, Ruby, Shell
-
CSET — Society for Equity in Technology
Official website for Calgary’s Society for Equity in Technology. Community events, low-cost tech classes, and inclusive resources.
Tech: Jekyll, HTML, CSS, Ruby, JavaScript, Bootstrap, Font Awesome, Tockify, Typeform, OpenDyslexic
-
Django Project — Full‑Stack Web App
A full‑stack Django project with Bootstrap front‑end, PostgreSQL, and GraphQL API, using Selenium for TDD.
Tech: Django, Python, PostgreSQL, GraphQL, Selenium, Bootstrap 4, JavaScript, CSS
-
Duck Project — Full‑Stack App
A three‑week PBL full‑stack website covering front‑end visuals, UX, back‑end database, and server communication.
Tech: Node.js, Express.js, EJS, Bootstrap 4, JavaScript, CSS
-
eink.site — E‑ink‑Optimized Jekyll Theme
A minimalist Jekyll site optimized for e‑ink displays with zero JavaScript, minimal CSS, and single‑request architecture.
Tech: Jekyll, HTML, CSS, Ruby, Markdown, Netlify, GitHub Pages, Git
-
enjoyment-work — Research‑Focused Digital Garden
An extensive Jekyll theme designed to have similar functionality to Roam Research. Academic/research‑focused with Obsidian‑friendly workflows.
Tech: Jekyll, HTML, CSS, Bootstrap 4, SCSS, Obsidian, Ruby, Simply Jekyll Search
-
EvolveU — Bootcamp Portfolio
A comprehensive portfolio of full‑stack projects completed during an intensive developer bootcamp.
Tech: JavaScript (ES6+), React 18, HTML5, CSS3, Bootstrap 5, Material-UI, Python 3.12, Flask 3, MongoDB, Mongoose, Jest, Pytest, Git, npm, pipenv, RESTful APIs
-
Foothills — Accessible Tumblr Theme
A warm, accessible Tumblr theme designed for writers and community builders.
Tech: HTML, CSS, JavaScript, Tumblr Theme System, Netlify, Git
-
hyperpop — Y2K‑Inspired 11ty Blog Theme
A Y2K‑inspired static blog theme for Eleventy with authentic late 90s/early 2000s aesthetics and modern performance/accessibility.
Tech: Eleventy (11ty), HTML, CSS, JavaScript, Service Workers, JSON index search, Netlify, Accessibility (WCAG AA)
-
jekyll-audit — Audit Jekyll Sites via CLI
An npm CLI to audit Jekyll sites for performance, accessibility, SEO, broken links, and HTML validation with consolidated reports.
Tech: TypeScript, JavaScript, Node.js, npm, Jekyll, Lighthouse, Pa11y, Linkinator, html-validator
-
journalbar — Quantified Self Blog
A personal blog for self‑quantification and improvement, with weekly Beeminder goal updates and accountability posts.
Tech: Jekyll, HTML, CSS, Ruby, Shell
-
journalfor.me — Private, Encrypted Markdown Journal
Minimalist, secure, Markdown-based journal with zero‑knowledge encryption, offline support, and cross‑device sync.
Tech: TypeScript, Vite, Tailwind CSS, Netlify Functions, Neon PostgreSQL, JWT, bcrypt, IndexedDB, Service Workers
-
Kindread the Poet — Artist Website
Professional site for Marcus Madelo, a Filipino‑Canadian spoken‑word poet and artist based in Calgary.
Tech: Jekyll, HTML, CSS, Ruby, Shell
-
Markdown to DOCX
A website that converts Markdown files to Microsoft Word format while preserving formatting and structure.
Tech: Python, JavaScript, HTML, CSS, Pandoc, pypandoc
-
Marketing — Case Study Portfolio on Hugo
A marketing portfolio showcasing in‑depth strategies, experiences, and case studies. Built with Hugo, deployed on Netlify, inspired by StaticMania’s Portio.
Tech: Hugo, HTML, CSS, SCSS, Netlify, Forestry CMS
-
Moneytree — Offline Personal Finance PWA
Privacy‑first budgeting and transactions app with robust offline support using IndexedDB and service workers. No external APIs.
Tech: Eleventy (11ty), Tailwind CSS, IndexedDB, JavaScript, Nunjucks, Vitest, Service Workers
-
Purelog — Sidebar Jekyll Theme for Writers
A responsive sidebar Jekyll theme built on Pure.css for writers and bloggers. Lightweight yet featureful, with sections for blogging, notes, and daily journals.
Tech: Jekyll, HTML, Pure.css, Ruby, RubyGems, Simply Jekyll Search
-
Retroweird — Maximalist 11ty Blog Theme
A customizable Eleventy theme inspired by classic web aesthetics with accessible, responsive design.
Tech: Eleventy, HTML, CSS, JavaScript, Node.js, npm, Netlify, Git
-
Self-Teach Academy — Landing Page
Static landing page for a learning dashboard, evolving into a full‑stack Next.js application for tracking learning progress across platforms.
Tech: SCSS, CSS, HTML, JavaScript, TypeScript, Next.js, Prisma, Supabase
-
thinkingwhy.com — Astro 5 Blog for Literary Tech Journalism
Type‑safe Astro 5.x JAMstack blog with human‑first writing, semantic SEO, JSON‑LD, and Core Web Vitals optimization.
Tech: Astro 5, TypeScript, Tailwind CSS, Content Collections, JSON-LD, Vercel, GA4 Ready, AdSense
-
WatermelonClub — Accessible Solidarity Resources
Joyful, accessible Palestine solidarity resources for Canadian students. Learn, organize, take action. Start your own Watermelon Club today!
Tech: Jekyll, HTML, CSS, Accessibility (WCAG), JavaScript, Dark Mode
-
Watery — Minimalist Jekyll Starter on Water.css
A minimalist, bare‑bones Jekyll theme using Water.css. A modern starter/skeleton focused on speed and essential features for blogs and info sites.
Tech: Jekyll, HTML, Water.css, Ruby, RubyGems, Google Lighthouse
-
WriteClub — MRU Creative Writing Club Site
Official website for Mount Royal University’s Creative Writing Club. A safe, inclusive space for writers with prompts, activities, resources, and event info.
Tech: Jekyll, HTML, CSS, SCSS, Ruby