Tools I use every week.
The stack and setup I rely on for day-to-day delivery.
Core Stack
Backend: Python, Django, Wagtail and DRF
Most backend work is Python-first. Django and Wagtail for product and CMS-heavy systems, with DRF for API services.
Frontend: TypeScript, React, Next.js, HTMX and Webpack
React and Next.js for application work, plus HTMX when server-rendered interactions are faster and simpler.
Data and platform: PostgreSQL, Redis, RQ and Stripe
PostgreSQL and Redis for core data and queue workflows, plus Stripe for billing systems.
Quality and delivery: Pytest, Ruff, ESLint, Stylelint, Prettier
Fast feedback loops through testing, linting, and formatting checks to keep quality high without blocking delivery.
Operational tooling: Docker, uv, GitHub Actions, Sentry and Codecov
Docker for local parity, uv for Python environments, and CI with coverage and error tracking.
Local Workflow
.dotfiles: Zsh, tmux, Neovim, Starship, fzf and ripgrep
My local setup is versioned in github.com/William-Blackie/.dotfiles. It keeps shell, editor, and terminal workflows consistent across projects.
Support tools: Storybook, Redocly and Make-driven workflows
Storybook for component work, Redocly for API checks, and Make targets for repeatable commands.
Hardware
14” MacBook Pro, M3 Pro, 18GB RAM (2023)
I use macOS for day-to-day work and Linux for server and container environments. This setup has been a good balance between local speed and production parity.
