Web pages/apps
- Redesigning my browser homepage
- A searchable dashboard for a CSV report of third-party software acquisition requests (guest:guest)
- A web-based dashboard visualization of my Obsidian notes network
- A “weather dashboard” page
- A Pierre Pollievre Slogan Generator for the 2025 campaign
- A better Obsidian notes network visualizer
- A tool for reviewing Badges issued by badges.ucalgary.ca
- A tool for counting pages listed in a website’s sitemap.xml file
- An embeddable Asteroids animation
- A not-quite-working web page for sonifying the structure of any URL
- A playable version of Asteroids: AIsteroids
- A simple web tool to convert HTML to Markdown syntax
- A simple web tool to convert fuel economy from L/100km to mpg
- A timesheet tracking and reporting app for Janice to use.
- A graphr web app for creating and sharing node/connection diagrams
- Standalone Comments - a self-contained comment management tool for use with static websites. It’s integrated with my Hugo website.
- A mockup of a “Reflection Cards” web application to explore the idea of using something that as part of our 2026 UCalgary Conference on Postsecondary Learning & Teaching
- Historical Photos - a standalone webthing inspired by Alan’s chrome extension, but as a web page that can work in any browser.
- CBT Worksheets
- Flocker - a basic particle flocking animation that makes a good ambient display
- Image Resizer - automatically resize any image by URL, cache the result. (and integrated into my Hugo theme)
- LLM Simulator - intended for my dashboard display thing, to show kinda what an LLM is doing (and figuring the Westworld clip of Maeve’s dialogue tree is pretty NSFW, so…)
- word-to-markdown converter - convert complex formatting from Word into Markdown for use in Obsidian
- randomizer - takes a list of items (one per line) and generates a randomized list
- ditherer - takes an image (URL or file) and applies Atkinson 1-bit dithering
- Values Identifier - a tool built for our team retreat, to facilitate a reflective activity
- a silly canvas-based vector animation doodad that was then integrated with my custom Hugo theme just because I thought it was funny.
- a collaborative “paint by numbers” thing, where everyone viewing the page is colouring together.
- Projects - a self-hosted, lightweight project management application (PHP and SQLite, no Node.js or Rails or other nonsense)
- Forgotten Archive - a zork-like game completely designed and built by Claude Code with a single prompt.
- Crema - a self-hosted CRM application without the business/sales/transaction focus of bigger CRM tools.
- A mockup of an RSS interface
- A mockup of a resizable and interactive Land Acknowledgement Widget for use in Brightspace.
- Course Community - a non-LMS platform to use in courses, providing a suite of tools to foster community and collaboration within the course. Works as a standalone application and can integrate with an LMS such as Brightspace through LTI.
- CSS Colour Themer - a tool to create palettes of CSS variables given an image (or multiple images).
- DICE Mapper - an application to support a workshop session in our programming retreat, to guide team members to map their work on the 4M framework using DICE.
- A prototype of an online interactive module on Digital Transformation, produced by Claude Design after giving it a couple of Powerpoint presentations and a blog post as background info.
- Jellyboard - a Jamboard-like application that turned out to be so much better than Jamboard in every way.
- Asteroids 1979 - a surprisingly authentic recreation of the original Asteroids arcade game, built with 2 prompts in Claude Opus 4.7
Hugo
- A “blogroll” that uses my NetNewsWire subscriptions .opml file
- A custom Hugo theme based on 1980s-era terminal displays
- a page that lists all external links mentioned in the last 100 posts
- Another theme with a more “typeset” look (which also has light, dark, “terminal”, and “hypercard” themes)
- A shell script that uses pandoc to convert legacy .html content files (from process of exporting from WordPress) into .md files
- Hugo Manager - a macOS application for managing and publishing Hugo websites
- Hugo Lightweight Search - a new API-driven search engine that runs on the server and is blazingly fast and scalable
- A python script to visualize content posting over time (see example, using Google Antigravity and Claude Code)
Obsidian
- A plugin for Obsidian to better work with meeting agendas
- Attempted to build a custom LLM tool to find connections between notes
- Content template for “Daily Note” that includes a dataview to list all notes created or modified on that day.
- A “Today” view that shows notes created/edited today, as well as Tasks from those notes.
- A Folders dataviewjs index of all [[zettelkasten]] numbered folders. (deleted because the Numbered Folders Index plugin is much better)
- A plugin to build an index of all numbered folders with links to their folder-notes at Numbered Folders Index.
- Added custom CSS to enable select notes to be displayed full-width
- A python script to automatically create Obsidian notes for items starred in NetNewsWire
- Obsidian Related Notes plugin - uses an LLM running locally in Ollama to index all notes and display a sidebar of related notes based on vector similarity.
- Obsidian Topics plugin - a streamlined interface for finding my Topics notes and anything they’re related to
- Obsidian CRM plugin - a streamlined interface for finding my Person notes and anything they’re related to
- 3D Grapher - an Obsidian plugin to display interactive and useful 3D rendered visualizations of an Obsidian vault.
Applications
- PhotoBlogger - A macOS application for photoblogging with Hugo
- Claude Code Log Viewer - for parsing, displaying, and exporting markdown of Claude Code project conversation histories.
- Hugo Manager - a macOS application for managing and publishing Hugo websites
- Brightspace Course Coach - a macOS application that uses the Brightspace API and Ollama local LLM to provide a socratic coach chatbot interface for students to engage with their course materials.
- logger - a Python script to process apache log files, generating visualizations about traffic, with a focus on “how much of this is just botslop?”
- chrome-intelligence - a Chrome extension to make it easier to use Apple Intelligence’s Writing Tools when editing text.
- HugoThing - a better macOS menubar app to publish my Hugo site.
Misc other stuff
- Designing an optimal AI communication language (haven’t tested this, but it looks potentially useful)
- Transcribing handwritten notes and whiteboards into Markdown for use in Obsidian (using the iPhone app)
- Pulling together some arguments for/against the ITIL “business vs. service” separation to help think that through
- Acting as an “executive coach” to help me think through various topics without just “solving” them for me
- Developing a plan/agenda for a campus community session on generative AI use and needs/infrastructure
- Refining/editing my resume and cover letter
- Summarizing and identifying key items to review a tenure-and-promotion package
- Got 100% on a quiz in a Brightspace course (using Perplexity’s Comet browser)
- Generating a “report” with examples of successful Digital Transformation initiatives (it produced a decent overview with 14 case studies of companies, governments, and universities that have engaged in Dx)