Skip to content

Board

Skills I’m sharpening and posts in the pipeline, as a board you can rearrange. Hover a ticket for the details.

Drag tickets between columns — your layout is saved in this browser.

Skills

The craft, tracked like a backlog — learning, sharpening, shipped.

Backlog

2
  • WebGPU

    The next rung after WebGL — compute shaders in the browser, on the list once the canvas experiments settle.

    GraphicsWeb APIs
  • Go

    Goroutines and small, sharp services — earmarked for the next backend-heavy side project.

    LanguagesBackend

In Progress

3
  • WebGL & Canvas

    Texturing live DOM into a canvas, shattering pages glyph by glyph, and riding fire along real letterforms.

    GraphicsWeb APIs
  • Rust

    Ownership, lifetimes, and writing the kind of fast CLI tooling that earns its place in a dev workflow.

    LanguagesSystems
  • Redis

    Counters, rate-limit windows, and merge-safe state — already live behind the post reactions here.

    BackendData

Done

5
  • TypeScript

    Day-to-day driver — generics, discriminated unions, and keeping the type layer doing real work rather than decoration.

    LanguagesFrontend
  • React

    Server Components, the use() boundary, view transitions, and the React 19 mental model this very site is built on.

    FrontendReact
  • Next.js

    App Router, streaming, metadata, RSS and sitemap routes — the framework this blog ships on.

    FrontendWeb APIs
  • Node.js

    Server actions, Redis-backed state, rate limiting — the backend powering reactions and the bits that need a server.

    Backend
  • Tailwind & CSS

    Tailwind v4 tokens, container queries, squircle corner-shapes, and a Swiss type system held together with CSS variables.

    FrontendDesign

Content

The writing pipeline — ideas in the backlog, drafts in flight, posts published.

Backlog

2
  • Building Timmy: a footer pet engine

    One shared engine, two surfaces — the roaming footer pet and the dev-console pet. State, canvas rendering, and keeping it alive through the page-destroyer game.

    CanvasReactGames
  • Shipping a Rust CLI that pays for itself

    A token-optimising proxy that trims dev-tool output 60–90% before it reaches an LLM — the design, the parsers, and what it actually saves.

    RustSystemsAI

In Progress

2
  • HTML in a Canvas

    Chrome's experimental HTML-in-Canvas API, demo by demo: draw live DOM into a canvas, shatter a page, and ride fire along real glyph outlines.

    CanvasHTML-in-CanvasWebGLChromeWeb APIs
  • Shared-element View Transitions in React 19

    How the post cards on this site morph into their hero on navigation — the <ViewTransition> API, the share="morph" trick, and the gotchas.

    ReactWeb APIsFrontend

Done

2
  • Chrome Built-in AI: Local Gemini Nano

    Using Chrome's Built-in AI APIs to add AI to any web app with a few lines of code.

    ChromeAIGemini NanoWeb APIs
  • use-chrome-ai: Hooks for Built-in AI

    Use Chrome's Built-in AI APIs to build a chat bot with a single hook.

    ChromeAIReactVue
© 2026 Chris Craig — hand built by agents