Projects

These are the things I build when I want to understand a system or when an itch needs scratching: a small language model, Obsidian plugins I use daily, a Slack bot and a computer wired up from NAND gates. Each one below says what it does, the problem it solves and where the code lives. There are no separate case-study pages, so the story sits right here.

Pico GPT processes tokens to predict the next token

Pico GPT

A full-sized language model hides too much when I want to trace how tokens, attention, Transformer blocks, training and generation fit together.

A 232,608-parameter decoder-only model with character tokenization, learned embeddings, causal attention, training, validation and text generation.

  • Python
  • PyTorch
  • Transformers
Obsidian Stats plugin analytics dashboard

Obsidian Stats

There was no simple way to explore the Obsidian plugin ecosystem, compare plugins or keep track of what is new and worth trying.

A public directory and analytics site for Obsidian plugins.

  • Next.js
  • TypeScript
Spreadsheet data converted into a Markdown table

Obsidian Excel to Markdown

Moving a table out of a spreadsheet into a note means reformatting every row into markdown by hand.

A published Obsidian plugin for spreadsheet-to-table conversion.

  • TypeScript
  • Obsidian API

More projects

A few more things I have built.

More of how I think

Most of these started as something I wrote about. The articles are where I work through the problems in detail.