[Work & Writing](/work)

# AI

15 entries

## 2026

- [View case study](/work/the-city)

  ### [The City](/work/the-city)

  I saw [AI Office](https://sael.net/ai-office) showing Claude Code agents as robots at desks, and wanted something that fitted the way I work. In The City, each project folder is a building and each team has a floor of robots, so I can see which ones need me.

  - AI
  - Architecture
  - UX design

  [Source code](https://github.com/Slaymish/theCity)

- [View case study](/work/typed-diff-questions)

  ### [Typed Diff Questions](/work/typed-diff-questions)

  I tested whether small, typed questions about a changed hunk gave a useful basis for code review, comparing model agreement while keeping the eventual reviewer separate from the experiment.

  - AI
  - Developer tools
  - Research

- [View case study](/work/otto)

  ### [Otto](/work/otto)

  Otto is a voice and text assistant for the Mac. I developed it from the voice-os project, moving the app into Swift and adding capability and session-learning work.

  - AI
  - macOS
  - Swift
  - Voice

  [Source code](https://github.com/Slaymish/Otto)

- [View case study](/work/lumen)

  ### [Lumen](/work/lumen)

  Lumen connects an Obsidian vault to a local research backend, surfacing related notes and assembling reports whose citations are checked against the vault.

  - AI
  - Obsidian
  - Python

  [Source code](https://github.com/Slaymish/Lumen)

- [View case study](/work/synod)

  ### [Synod](/work/synod)

  Synod reads a period of journal entries through separate agents for the values found in them, then brings their disagreements back into the vault as a bulletin.

  - AI
  - Obsidian
  - TypeScript

  [Source code](https://github.com/Slaymish/Synod)

- - [26 March 2026 Writing](/posts/splitting-the-stack-and-making-setup-actually-work)
    ### [Splitting GPUShare into two services](/posts/splitting-the-stack-and-making-setup-actually-work)
    [I split GPUShare’s accounts from the hardware services, then found the installer still pointed at a service I’d removed.](/posts/splitting-the-stack-and-making-setup-actually-work)
    [- AI- Architecture- Economics- Self-hosted](/posts/splitting-the-stack-and-making-setup-actually-work)

- [Read the story](/work/gpu-share)

  ### [GPUShare](/work/gpu-share)

  My desktop GPU sits idle most of the day. I built a way for friends to share it for local AI and rendering, with the limits of a home machine visible.

  - AI
  - Architecture
  - Economics
  - Front-end development
  - Self-hosted
  - UX design

  [Source code](https://github.com/Slaymish/GPUShare)

- - [21 March 2026 Writing](/posts/building-a-private-ai-server-for-friends)
    ### [Sharing my GPU with friends](/posts/building-a-private-ai-server-for-friends)
    [I built GPUShare around my desktop GPU. The accounts, routing and cost estimates ended up needing as much explanation as the hardware.](/posts/building-a-private-ai-server-for-friends)
    [- AI- Architecture- Economics- Self-hosted](/posts/building-a-private-ai-server-for-friends)

- - [20 January 2026 Writing](/posts/healthagent-apple-health-data-ingestion-and-insights)
    ### [Putting my Apple Health data in one place](/posts/healthagent-apple-health-data-ingestion-and-insights)
    [I brought my nutrition and activity data out of Apple Health and into Postgres, so I could compare the daily and weekly trends.](/posts/healthagent-apple-health-data-ingestion-and-insights)
    [- AI- Architecture- Data pipelines](/posts/healthagent-apple-health-data-ingestion-and-insights)

- [View case study](/work/health-agent)

  ### [HealthAgent](/work/health-agent)

  My nutrition and activity lived in different apps. I brought their Apple Health exports together so I could see the trends in one place.

  - AI
  - Architecture
  - Data pipelines
  - Front-end development

  [Source code](https://github.com/Slaymish/HealthAgent)

## 2025

- [View case study](/work/grid-diffusion-ad)

  ### [Grid Diffusion AD](/work/grid-diffusion-ad)

  I studied whether diffusion models trained on normal magnetic-field signals could identify electrical faults, separating reconstruction quality from the detection behaviour needed in a monitoring system.

  - AI
  - Machine learning
  - Research
  - Time series

- [View case study](/work/pinterest-aesthetic-analysis)

  ### [Pinterest Aesthetic Analysis](/work/pinterest-aesthetic-analysis)

  I used image embeddings to look at the themes inside a Pinterest board, grouping similar images and keeping snapshots that could be compared over time.

  - AI
  - Computer vision
  - Python

  [Source code](https://github.com/Slaymish/PinterestBoardEmbedding)

- - [9 June 2025 Writing Report](/reports/wildfire-analysis-with-pyspark)
    ### [Wildfire Analysis with PySpark](/reports/wildfire-analysis-with-pyspark)
    [I used PySpark to train and compare models on 1.88 million US wildfire records. The report covers the features, training runs and what happened when I weighted the rare classes.](/reports/wildfire-analysis-with-pyspark)
    [- AI- Data pipelines](/reports/wildfire-analysis-with-pyspark)

- [View case study](/work/wildfire-pyspark)

  ### [Wildfire PySpark](/work/wildfire-pyspark)

  I worked with 1.88 million US wildfire records for a university project, and got into how a model could look accurate while missing the larger fires.

  - AI
  - Data pipelines

## 2023

- [View case study](/work/articulate-ai)

  ### [ArticulateAI](/work/articulate-ai)

  ArticulateAI was one of my early voice experiments, recording a chosen amount of audio and passing it through transcription, a prompted response and optional speech output.

  - AI
  - Python
  - Voice

  [Source code](https://github.com/Slaymish/ArticulateAI)
