Home Portfolio GitHub
What I build with

Tech stack

A snapshot across the apps and systems I work in. The default view counts my production apps - software actually used or played, by me or others - so it reflects what I build and ship with; switch to Everything to fold in demos and learning experiments too. Shares are computed from GitHub's byte counts; private repositories are included in the totals but counted in aggregate only, never named or broken out.

Click any language, framework, tool, or category to see the projects behind it.

Start here infrastructure-patterns k3s-demo cascade webhook-verify

Languages

Byte share measures volume, not proficiency or time. Volume is weighted by authorship: for a codebase I inherited rather than wrote, only the share I actually authored counts (measured by git blame over its full history), so a decades-old platform I joined in 2022 is represented by my contribution to it, not its entire size. Breadth and trajectory matter too.

By breadth - projects using each

By volume - share of authored bytes

Frameworks by breadth

Web, app, and data frameworks, by how many projects use each.

Platforms

Where these projects run, by how many target each - web, backend services, and native apps across mobile and desktop. Click one for examples.

What I'm building now

Tools and languages that entered my public work in the last two years - the recent additions to the stack, alongside the long-standing web platform above. Click any to see the projects.

Stacks

The recognizable end-to-end stacks I build on - canonical combinations of operating system, server, data store, and language or framework - by number of projects. Click one to see the projects behind it.

What I build

The kinds of systems, by number of repositories. Click one for examples.

Tools & infrastructure

The data stores, infrastructure, and CI I build with across these repositories.

By repository

Every repository and the languages, frameworks, and tools it uses. Private repositories show their stack but are not named on the public page.

How this is computed. Languages are aggregated from GitHub's per-repository byte counts (the Linguist data behind each repo's language bars), summed across my personal source repositories and the professional repositories I have access to. Volume is weighted by authorship: each repository's language bytes are scaled by the share I personally wrote. Repositories I created count fully; for the one large codebase I inherited (built since the 1990s, migrated into git in 2023), I measured my real contribution per language by running git blame over its complete history - including the pre-2023 history from its original Bitbucket home - so inherited code is credited to its actual authors, not to me. Frameworks, tools, and categories are detected from each repository's files and dependency manifests. Private repositories contribute to the totals and counts but are never named or broken out - clicking a technology lists the public projects that use it plus a count of private ones; no private repository names or absolute byte counts are published. Byte share reflects volume, not skill or time. Read the full writeup of how this page measures authorship. Regenerated automatically; last updated .