2026 · Selected work
Toolkit
An open-source hub of 49 privacy-conscious browser tools for image, text, developer, design, PDF and accessibility work.
- Role
- Creator & Maintainer
- Location
- Independent · Remote
- Engagement
- Open-source project
- Period
- 2026 – Present
About the project
I built Toolkit because small everyday tasks should not require uploads or ad-heavy services. It brings focused utilities into one searchable, keyboard-driven interface with no account or paywall.
The documented exception is the accessibility checker, which sends a public URL to an isolated, localhost-only Playwright and axe-core runner. The product is organised as a Turborepo monorepo, and a typed registry drives discovery, navigation, the command palette, sitemap and per-tool metadata from one source of truth.
My contribution
- Architecture — Designed a Turborepo workspace that separates the Next.js shell, design system, framework-independent tool logic and registry.
- Tool catalogue — Implemented the tool catalogue on Canvas, Web Crypto, fflate, markdown-it and QR generation, keeping conversion, parsing and file-processing logic outside React so it's directly testable.
- Discovery system — Built one registry for the catalogue, command palette, navigation, sitemap and metadata, plus an Emotion design system shared across the interfaces.
- Privacy boundary — Isolated the accessibility checker in a token-authenticated, localhost-only Playwright/axe-core service while keeping ordinary file processing on-device.
- AI-assisted delivery — I use the repository as a public example of issue-driven engineering with Codex and Claude, backed by ADRs, review and CI gates.
Engineering proof
What was hard, what I chose, and how I checked it.
Challenge
Dozens of small tools tend to accumulate inconsistent interfaces, duplicated logic and unnecessary upload risk — and the one tool that genuinely needs a server (the accessibility checker) still has to fit that same trust model.
Product & engineering decisions
- Pure tool logic sits apart from its Next.js presentation, and the registry is the single source of truth for discovery and metadata.
- Workspace packages won over runtime micro-frontends, since individual tools don't need independent deployment.
- Local processing is the default; only the accessibility audit crosses the network, and it's confined behind a narrow authenticated service.
Quality & outcome
- 73 Vitest and Playwright files cover tool logic, safety boundaries and browser behaviour.
- Formatting, lint, type, test and production-build gates help keep main deployable.
New tools follow one documented delivery path, and because the source is public, the privacy model isn't a claim you have to take on trust — it's readable.