• The creations catalog. An incomplete list of things I’ve made that I felt like sharing. Art. Coding projects. Writing. Whatever.

2026

Full-Stack Hobbyist Visuals

Graphic design.

I made some pretty Venn Diagrams to illustrate my conceptualization of the “Full-Stack Hobbyist” & how Aaron’s Puzzles sits perfectly in the intersection of it all.

More

And

Link to original

Obsidian-based Project Management System

Generic system design. Much better than Making an Obsidian Bullet Journal.

After years of iteration, I’ve arrived on an Obsidian-based project management system that I enjoy using, with no asterisks necessary. This page tells all about it.

More

Overview

Capabilities

  • Project management
    • With tasks & project notes
    • Housing resources used by projects
    • Housing templates
  • Getting Things Done
    • Projects list
    • Next Actions list - automatically derived from in-progress tasks in projects
    • Housing & facilitating my weekly review

Features

  • Almost zero overhead - I don’t spend time managing things for the sake of the system, it works with how I manage things naturally
  • Templates & resources - don’t repeat yourself
  • Reusable modules - don’t repeat yourself
  • Weekly notes - Daily notes go by too quickly, weekly notes work better for my brain
  • Folder-based project lifecycle management - Projects are active, backlog, or maybe depending on which folder they’re in

Vault Structure

Those familiar with Tiago Forte’s PARA method will recognize the basic structure.

  • 📁 Projects - for active projects
    • 📁 Backlog - for things I know I want to do, but am not actively working
      • 📁 Maybe - for things I might want to do
  • 📁 Areas - for notes about the high-level areas of my life (e.g. health, home, family, etc)
  • 📁 Resources
    • 📁 Assets - where images & non-markdown files go
    • 📁 Templates - for projects, resources, weekly notes
    • 📁 Inventory - for housing notes about things I own (warranties, etc)
    • 📁 Drawings - for housing Excalidraw drawings (and the svg exports)
    • 📁 Modules - for reused modules across my notes (task queries, bases, etc)
  • 📁 Archives - don’t delete things, but also don’t let clutter build up in the main folders
    • 📁 Archived Projects
    • 📁 Archived Resources
    • 📁 Archived Areas - e.g. “school”
  • 📁 Periods
    • 📁 Weeks - for my weekly note
    • 📁 Years - for annual reviews & goals
  • 📄 Home - a Markdown file, not a folder, the only markdown file in the top-level of the vault

Plug-ins

This is why I like the system the most - it’s not using a ton of stitched-together plugins. In particular, I avoid the Dataview & Templater plugins, which are both incredibly powerful and awesome, but not necessary for how I do things.

  • Core
    • Tasks - I only use tasks to gain access to the task query functionality
    • Auto-properties - for promoting in-progress tasks to a next property automatically
  • Optional
    • QuickAdd - more easily creating project/resource/weekly notes, in the right folder, with the right template
    • Excalidraw - drawings are good, I set this up in a specific way (more below)
    • Calendar - the calendar sidebar is an easy way to jump to a given weekly note
  • Optional - purely aesthetic
    • Linter - I like having some consistent formatting applied to notes & this manages the created and modified properties
    • Iconize - adding little icons to notes, similar-ish to Notion
    • Style Settings - I’ve dabbled with CSS snippets before, but this is easier

Key Notes

Example

Home

# [🗓️ Daily Note Link](obsidian://daily)
 
![[Tasks Not in Projects]]
 
### Active Projects
![[Active Projects.base]]
 
### Backlog
 
![[Backlog.base]]

Tasks Not in Projects

NOTE: to make this render properly I had to take out a backtick. The “tasks” query embed requires triple backticks in reality.

``tasks
not done
(due on or before next week) OR ((path does not include Projects) AND (status.type is IN_PROGRESS))
``

Active Projects.base

filters:
  or:
    - file.folder == "Projects"
    - deadline <= today() + "1 week"
views:
  - type: list
    name: Active Project List
    groupBy:
      property: deadline
      direction: ASC
    order:
      - file.name
      - next
    indentProperties: true
  - type: table
    name: Table
    groupBy:
      property: deadline
      direction: ASC
    order:
      - file.name
      - next
    sort:
      - property: file.mtime
        direction: DESC
    columnSize:
      file.name: 332
      file.mtime: 205
 

Backlog.base

filters:
  and:
    - file.folder.contains("Projects")
formulas:
  Untitled: ""
views:
  - type: table
    name: Backlog
    filters:
      and:
        - file.folder != "Projects"
    groupBy:
      property: file.folder
      direction: ASC
    order:
      - file.name
      - next
    sort:
      - property: file.mtime
        direction: DESC
    columnSize:
      file.name: 332
      file.mtime: 100
 

newProject (template)

---
created:
modified:
areas:
resources:
image: ""
todos: 0
deadline:
next: ""
---
<span style="font-size: 1.15em; color:orange; padding:0px; margin:0px;">Scope</span>
-
 
> [!check] Open Tasks
> 
>
> ```tasks
> path includes {{query.file.path}}
> not done
> hide backlink
> ```
 
---
 

Misc Tips

In lieu of writing a full-blown “how to…”, which maybe I’ll do someday, here are a smattering of tips that made it work well.

Auto-properties

  • Key: “next”

  • Rule: Pull all lines starting with ”- [/]”

  • Key: “image”

  • Rule: Pull first line starting with “![[”

  • Key: “todos”

  • Rule: Count all lines starting with ”- [ ]“

Daily Notes

  • Set the “Daily Notes” plugin option date format to YYYY-[W]WW - this makes it function as weekly notes
  • The obsidian URLs for daily notes still work, they now just point to your weekly note

Excalidraw

Task Management

  • Use Obsidian-native in-line tasks (i.e. just a regular checkbox)
  • Mark your next tasks as “in-work” by changing - [ ] into - [/]. This is what makes the auto-property (and thus: bases) work nicely
  • This is easier if you change the options in the Tasks plugin to change the task statuses such that tapping an empty checkbox first moves it to “in progress” before moving to “complete”
Link to original

2025

Auto-Properties Plugin

Obsidian Plug-in. TypeScript.

Auto-Properties Plugin

Auto-properties is a Plug-in for Obsidian that allows you to create automatically-updating properties based on the contents of your notes + rules you define.

I use it for my Obsidian-based Project Management System.

More

https://github.com/aarongilly/obsidian-auto-properties

It will be on Obsidian’s community plugins page when they get through their quite extensive backlog of plugin submissions.

Link to original

Pandora's Box

Puzzle box - with 3D printing and a microcontroller.

https://www.aaronspuzzles.com/PandorasBox

Link to original

Default Meals Analysis

Google Sheet. Recipes.

I made this spreadsheet which analyzes half a dozen recipes for their cost and basic health parameters, while also giving you the recipes. It was a lot of work. Here’s a chart!

For more, see Column 478.

Link to original

Backup Island Strategy

Process. Also a python script to execute said process.

Finally settled on a good, sustainable (feeling) strategy for achieving the 3-2-1 Rule for File Backups.

Islands Strategy

I’m making a folder called “Island”, which has my backups in it. The island folder is split into two parts - one titled “Cold Storage” and other dated with the ISO 8601 month.

"Backup Island" Folder

A folder, replicated in multiple places, consisting of 2 subfolders:

  • Cold Storage = merge file & don’t overwrite pre-existing files
  • YYYY-MM = create new snapshot containing current versions, retain old snapshots
flowchart TD
    c(Content)
    subgraph Island
        A(Snapshots)
        B(Cold Store)
    end
    c --new copy--> A
    c --merged--> B
    NAS
    Island --"copied to"--> NAS
    Island --"copied to"--> p[Portable HDD]
    p --"copied to"--> e[Old Computer]

Cold Storage

Cold storage is for files that don’t change often. Things that, once they exist, they are pretty much “done”. These are the vast majority of files by storage size.

  • media - what’s in my Plex + some books & audiobooks
  • documents - copy of my “documents” folder, essentially all of which will never change (e.g. Scans of physical documents)

YYYY-MM Snapshots

These are folders that contain files that are rapidly changing. The kinds of things you would want to retain some history on, in case of latent accidental deletions in the working directories. For me that’s my blog, my notes, my PDW data, and Obsidian-based journal.

Link to original

Data Journal Machine Learning Jupyter Notebook

Machine Learning Project.

Submitted as part of a machine learning class in my pursuit of a Masters in Data Analytics through NW Missouri State University.

The most relevant part

What does this say about life? What does this say about machine learning?

The data features most highly correlated with satisfaction were surprising.

  1. active_calories - from my Oura Ring, their documentation says this is a measure of “Active calories expended”
  2. steps - also Oura Ring, “Total number of steps taken”, which would correlate highly with #1
  3. satisfaction_running_avg - looking at the previous 3 days to make your prediction about today
  4. work_status_endocded - weekends are generally more satisfying
  5. health - my subjective health rating, 1 to 10, made at the same time I do the satisfaction rating

All of those were positively correlated with increased satisfaction. Interestingly, nothing in the top 5 has to do with sleep, actual workouts (as opposed to generic activity), and/or social outings.

The predictive power considering the strongest negative correlates were lower than the positive correlates. The most negatively correlated features were:

  1. temperature_deviation - from my Oura Ring, “Temperature deviation in degrees Celsius.” - I believe during sleep, indicating some fluntuation in health and metabolism.
  2. treatments - indicating some form of medication or physical therapy took place
  3. pains - indicating something hurt enough to warrant tracking, almost 1:1 with treatments
  4. lift_volume_lbs - one of the most surprising contraindications here, when I lift MORE, I feel less satisfied
  5. awake_time - from my Oura Ring, time spent awake while trying to sleep the night before

[!tldr] If you want to be more satisfied: try to move more and work and be sick less…

…but there’s not much you can do to “hone” satisfaction levels using what’s tracked here.

You can track dozens of datapoints about your life, but that doesn’t make your subjective life satisfaction a highly-preditable phenomenon.

Machine Learning is an awesome technique. It can be used to reliably predict the weather many days from now using phenomenon observed today… but it’s not capable of devining results in a low-vailidity environment, such as the highly abstract nature of life satisfaction.

Link to original

Excalidraw Packing Drawing

Digital Doodling.

Drawn in Excalidraw for Column 469.

Link to original

Data Journal 11

Web app. Google Apps Script. Google Sheet. Siri Shortcuts.

A full-blown departure from the long, complicated era of “custom database solutions” doing a more complicated job of what’s most easily done in Google Sheets.

Also made this meme:

Link to original

2024

Semantic Canvas 1.2

Obsidian Plug-in. TypeScript.

Approaching 7500 installs!

A significant feature upgrade for my Semantic Canvas Obsidian plugin. Adding in the capability to:

  • modify existing canvases based on properties of files it contains
  • read and write properties of individual nodes within canvases

Before image

Link to original

Brief Mystery

Puzzle box / browser-based game.

You can play it right now! All you need is a computer and ~an hour to play! https://www.aaronspuzzles.com/BriefMystery

Link to original

Jacked Giraffe

Graphic design.

Design available at TeePublic as a shirt or mug, for which I’d get a small commission.

Link to original

Pixel Art Self Portrait

Graphic design. (part of game creation, too)

As one does.

Link to original

Semantic Canvas

Obsidian Plug-in. TypeScript.

Semantic Canvas is an Obsidian plugin I wrote that gives canvases the power to edit file properties visually.

Before image

Link to original

Master Bath Remodel

Demo & rebuild. This was very large and difficult. I claim much credit here.

2023

We Scene a Movie

Podcast revival. Available anywhere. Been on a hiatus during my grad schooling.

Link to original

Personal Data Warehouse v10.0

Web app. TypeScript.

This had a website in the past, but was deprecated and I’ve since lost the domain name (because I had no reason to keep it). I suggest using something simpler. See Data Journal for more up-to-date info.

Link to original

2022

The Vault

Puzzle box & webpage.

My first reusable Puzzle Box: https://www.aaronspuzzles.com/TheVault

Link to original

Wrapper Library

JavaScript. NPM package.

I wrote a (terrible) JavaScript framework as a rite of passage. You shouldn’t use it, because there’s infinitely better options, but check out wrapper-lib on NPM.

Link to original

Workbenches

Woodworking. CAD design.

Designed and built. See Column 421.

Link to original

Closed Pair Rhyming Poem

Constrained writing.

Scrutiny or Mutiny?

I’m just a lonely yachtsman, out here on the sea. My crew, only Scottsmen, talk Scottish about me.

Alas, English and Spanish comprise my lexicon menu, I wouldn’t have this problem if they were from a Mexican venue.

Their affection I would cherish most chiefly. Definitely without them I would perish quite briefly.

It could be just because I was previously a minister, but their talking about me sounds so deviously sinister.

Is it that I got that doorway from Sydney? Or that I went to Norway for a kidney?

Is it that I dated the sharpest violinist… after the harpist who was thinnest?

Is it that I use deodorant so cheaply and sparsely? or perhaps how incredibly deeply I love parsley?

Is it off-putting, the pigment of my clothing? Or am I only imagining this figment of loathing?

To my first mate Finis, I handed a nice cold beverage. I thought with a Guinness, some good favor I could leverage.

He said “bear witness, as the ship’s captain you’ve done beautifully. Perfect fitness for the job, which again you’ve performed dutifully.

But if you do not want our situation to worsen, my president, stop calling me a Scottish person, I’m an Irish resident.”

Link to original

2021

Christmas Puzzle Webpage

Puzzle. Webpage.

Made for 2 uses, one of my family, one for my in-laws. My last(-ish) one-off puzzle box. Made with Vanilla JS/CSS/HTML.

Link to original

DIY Dumbbell Rack

Woodwork & CAD design.

Designed & built.

Link to original

2020

Index Cards of Advice

Writing. A particularly well done Column. See: 402

Link to original

My Notes

Writing.

Started in early 2020. Being updated frequently.

A zettelkasten-like ever-growing body of notes. Later rebranded to Gillespedia.

Link to original

2019

Generalized Health Benchmark Test

Google Sheet & associated workout.

A fairly obvious concept, but I’ve kept doing it every 3 months for 5+ years. See 379 for more.

Link to original

2018

We Scene a Movie (og)

Podcast. Ran for nearly 5 years. Now reformulated.

Link to original

6th Second-a-Day Video

Video.

The 6th iteration of my second-a-day videos. I should do another one of these.

Link to original

2017

Self Portrait

Drawing. Pencil.

Link to original

Shield

Craft. Sled.

Link to original