Built a Slack harvester for our founder channel
3 Jun·Pipeline
Built a harvester that reads everything posted in our founder Slack and sorts it as it lands. Insights, ideas and calls to action drop into a triage list, and any links, tools or gear get catalogued in a separate resource library so they stay referenceable.
PythonSlack
Wrote a ticket-builder skill while standing up a Linear epic
2 Jun·Ops
Stood up a social media epic in our Linear workspace, eight sub-issues wired with the right blocked-by sequencing, and captured the method as a reusable ticket-builder skill so the next epic starts from a real template. The rule baked in is to find the actual vault source before writing a ticket and link it while writing, so the tickets stay grounded and reference-able.
LinearClaude
Designed packaging for an endurance nutrition brand
1 Jun·Brand
Designed screen proofs for a single-serve sachet and a four-pack pouch, building each face to the exact dieline so the front reads at thumbnail size and the back-of-pack info stays legible. Most of the work was the compliance copy, splitting the in-exercise usage rate from the daily limit so the two don't contradict each other on a sports food label.
SVGClaude Code
Built an HTML render of team-topologies research
29 May·Content tool
I took deep research a co-founder ran on Team Topologies and built a single-file HTML render walking the two of us through it. Five diagrams across four sections, including the stream-aligned / platform / complicated-subsystem / enabling stack, the three interaction modes, and a delivery pipeline with explicit Dev-Ready and Done-Ready gates.
HTMLCSS
Architecture pass on a 10-site CMS migration
28 May·Design system
I worked through the experience-family architecture for a 10-site lift-and-shift, tightening the shared-capability descriptions so each family reads as a UX pattern rather than a visual variation. I also surfaced that the CMS's Brand Kit is a content-governance product, not a token system, which reshaped where it sits in the layer stack.
ContentstackMiro
Added speaker diarisation to my voice memo pipeline
28 May·Pipeline
I migrated the voice memo pipeline to a package format that bundles audio, both transcripts, and a smart title in one folder per memo. Added pyannote speaker diarisation so memos with multiple voices come out labelled, and ran a backfill of the existing audio through the new pipeline.
mlx-whisperpyannote.audioOllama
Fixed my Apple Notes capture pipeline
28 May·Pipeline
The export was silently dropping any note shorter than 20 characters or older than seven days, which killed every action-shaped capture. I replaced the date window with a count-based cap and split the ingest into substantive notes versus an action queue that feeds Todoist.
BashLaunchAgentPython
Auto-close rules for my Todoist
28 May·Automation
I added two closure rules to my daily pipeline. A Slack reaction within 72 hours auto-closes the related task with a comment, and a completed session matched to a task does the same. Reversible by hand if I disagree with the call.
PythonSlackTodoist