01 / Interfaces HTML, CSS, JavaScript & TypeScript. React, Next.js, Vite and Tailwind CSS where they fit. Plain HTML and JavaScript when that’s all a project needs.
02 / Applications & data Node.js, Cloudflare Workers, PostgreSQL & D1. R2 for files and photos; Durable Objects for stateful features. The database and runtime depend on the job.
03 / Hosting & delivery Cloudflare, Vercel & DigitalOcean. Serverless sites and APIs, plus Docker and Caddy for applications that need a server. Git tracks the work.
04 / AI & agents OpenAI / Codex, Anthropic / Claude & OpenClaw. Used for research, design exploration, writing and revising code, debugging, and running checks. Models change as the tools evolve.
05 / Payments & integrations Stripe, HTTP APIs & webhooks. Checkout, payment records, and connections between systems. Google sign-in and passkeys appear in projects that need them.
06 / Verification Playwright & project-specific automated tests. Browser interactions, responsive layouts, data validation, and error paths. A mobile-size browser check isn’t the same as a test on a physical phone.
07 / Workbench Arch Linux (rolling release) & Visual Studio Code. Linux is the daily development environment; VS Code is the editor. A MacBook Air M1 rounds out the workbench. Git, terminal sessions, Python and shell scripts keep repeatable work repeatable.
08 / Images & creative tools darktable, GIMP, ExifTool & ImageMagick. RAW development, image editing, metadata, and web exports. Photography and visual design are part of the build, too.
09 / This website HTML, CSS & vanilla JavaScript on Cloudflare Workers. Google Analytics is optional and consent-based. CPL checkout uses Stripe. No framework needed for this website.
10 / Silicon AMD Ryzen 5 8600G · NVIDIA RTX 2060. Six cores / twelve threads, with a discrete GPU for the creative workload. darktable uses the RTX 2060 through OpenCL for RAW development.
11 / Delivery plumbing Git · Wrangler · Docker · Caddy. Versioned source, Cloudflare Worker deployments, containerized server applications, and HTTPS at the server edge. Static assets where possible; APIs and persistent state where needed.
12 / Agent plumbing OpenClaw · MCP · HTTP APIs. Tools and project context connected to an AI-assisted workflow. Public agent experiments use bounded tools for record lookups and reviewable drafts; the underlying application remains ordinary, inspectable software.
AI-assisted. Personally accountable. I direct the work, make the product decisions, and take responsibility for what I deliver. I don’t claim every line is hand-typed. The point is useful software, clear scope, and checking that it does what we agreed.
This is the working toolkit across my projects—not a claim that every site uses every tool. Client systems and data stay private.