02 / Case notes
What each one did
Only what the repositories and live sites can back up.
SEO Local
Principal engineer · Blackwood Productions · Feb 2026 – present · OngoingThe white-label SEO platform behind seolocal.net: a public marketing site, the multi-tenant dashboard that resellers run on their own vanity domains, a NestJS data service in front of the production MariaDB database, and an auth server that owns Google OAuth for Search Console on behalf of every tenant. The Next.js apps hold no database credentials; every read and write passes through the service under API-key and HMAC-signed auth.
- Outcomes
- Led the SEOLocal monorepo as principal engineer: the white-label multi-tenant dashboard serving 54,000+ users, reseller vanity domains with automatic TLS, and Stripe and PayPal billing.
- Replaced a legacy PHP admin in seven weeks with a NestJS data service over the production MariaDB database, with API-key and HMAC-signed auth that keeps database credentials out of the web apps.
- Stack
TypeScript, Next.js, React, NestJS, tRPC, Prisma, MariaDB, PostgreSQL, Stripe, PayPal, Docker, GitHub Actions, Logfire.
- Links
seolocal.net · dashboard.seolocal.net · SEO service API docs · Repository private
CADE
Sole engineer · Blackwood Productions · Mar 2025 – present · OngoingThe AI content-automation platform behind SEOLocal. Given a customer domain it crawls the site, classifies the business, researches keywords, writes articles through a multi-stage LLM pipeline and publishes them to WordPress, then keeps FAQs, schema markup and taxonomy in sync. A FastAPI and Celery backend with priority queues and circuit breakers, plus a WordPress plugin in PHP 8 that renders the output on customer sites.
- Outcomes
- Cut publish-step latency by 97% and removed the LLM inference cost of formatting by replacing an LLM pass that took 87% of publish time with a deterministic formatter.
- Extracted structured business context for every production domain on a FastAPI and Celery backend with priority queues and circuit breakers.
- Stack
Python, FastAPI, Celery, PostgreSQL, pgvector, Redis, pydantic-ai, PHP, Docker, GitHub Actions, Logfire.
- Links
API reference (ReDoc) · Repositories private
Ranking Service
Sole engineer · Blackwood Productions · Dec 2025 – present · OngoingSEOLocal's SERP rank-tracking service. It works out which customer domains are due, queues keyword lookups with DataForSEO across Google, Yahoo, Bing and DuckDuckGo, scores the results and keeps score history, and feeds ranking reports and branded emails back to the platform. Every lookup records its cost, and a cache returns repeat lookups at zero cost.
- Outcomes
- Built and stabilized the service, replacing its cost circuit breaker with per-run budgets and an in-flight semaphore so runaway retries cannot recur.
- Stack
Python, FastAPI, Celery, Redis, MariaDB, DataForSEO, Docker, GitHub Actions, Logfire.
- Links
API docs (Swagger) · Repository private
Coopstable
Sole engineer · Bread.coop · May 2025 – Apr 2026 · Live on Stellar mainnet since July 2025A cooperative stablecoin protocol on Stellar, built for Bread.coop as sole engineer: cUSD is minted 1:1 against USDC, the collateral is lent on Blend Capital, and only the yield is distributed to member projects. Four Soroban smart contracts in Rust (token authority, yield controller, adapter registry, epoch distributor), a Next.js dApp on Stellar Wallets Kit, and a NestJS worker that claims and distributes yield on a schedule.
- Outcomes
- Secured a $10,000 Stellar Foundation grant for the protocol.
- Launched the four contracts on Stellar mainnet in July 2025, with owner-gated WASM upgrades.
- Re-architected yield claiming into a three-stage flow after large distributions hit Soroban's per-transaction resource limits, and fixed an APY calculation that missed Blend's backstop take rate.
- Preparing the protocol to onboard about $50K in USDC deposits.
- Stack
Rust, Soroban SDK, Next.js, React, NestJS, TypeScript, Tailwind, Vitest, Docker, Vercel.
- Links
coopstable.app · coopstable-contracts on GitHub
Hashtag (HDNS)
Lead smart-contract engineer, frontend contributor · Blackwood Productions · Dec 2022 – Aug 2025 · CompleteA decentralized naming protocol on Optimism for Blackwood Productions' hashtag.space: #-style names are ERC-721 NFTs with on-chain key/value records, wrapped in a full token economy around the SPACE token. I was the original author and principal maintainer of the contract system and a long-running contributor to the React dApp.
- Outcomes
- Led smart-contract engineering on Hashtag as original author and principal maintainer: a decentralized naming protocol on Optimism mainnet whose liquidity pool held about $200K in ETH at its peak.
- Designed its token economy: an ERC-721 name registry, SPACE token rewards on a custom bonding curve, staking pools, subscriptions, fee routing, meta-transactions, and a Uniswap V2 fork for liquidity.
- Built the Hardhat toolchain with Slither, gas reporting, and tag-driven deploys, plus a runtime ABI feed so the frontend needed no rebuild across contract upgrades.
- Integrated the contracts into NestJS services (syncing, payments, orders) and the React dApp with wagmi, viem, Privy, and Sign-In-With-Ethereum.
- Stack
Solidity, Hardhat, OpenZeppelin, TypeScript, React, Redux Toolkit, wagmi, Viem, Ethers.js, NestJS, PostgreSQL.
- Links
hashtag.space
Linea (Consensys)
Senior full-stack engineer · Consensys · Jul 2024 – Oct 2024 · CompleteLed the Linea Proof of Humanity worker (NestJS, Prisma, PostgreSQL) from first commit to production in three months, with a Goldsky pipeline mirroring Verax data and a Kubernetes rollout via ArgoCD. Provided technical analysis for the ENSv2 migration on Linea and contributed to the Linea ENS app serving over 100k users.
- Outcomes
- Made analysis of 5.5 million Proof of Humanity attestations for roughly 1.5 million users 50% faster with an automated data analysis worker on Verax.
- Identified approximately 29,000 potential sybil addresses among the 1.5 million participants of the Linea Surge program.
- Created a smart contract security framework for onboarding PoH issuers to Verax, and onboarded projects including Unfettered and The Nemesis to Linea.
- Stack
TypeScript, NestJS, Node.js, Next.js, Prisma, PostgreSQL, Solidity, Viem, React, Docker, Kubernetes, ArgoCD.
- Links
names.linea.build · linea-poh-worker on GitHub · linea-ens on GitHub
SEO Local deployments
Sole author · Blackwood Productions · Dec 2025 – present · OngoingThe deployment pipeline for all nine SEOLocal production services. Application repos build their own images and dispatch into this repo; GitHub Actions runs an Ansible playbook that pulls the tagged image, renders configuration from templates, restarts the service and refuses to report success until a health check passes. A Caddy edge issues TLS certificates on demand for reseller vanity domains and reclaims them when a domain is deauthorised.
- Outcomes
- Nine production services deployed through one consistent, health-gated pipeline.
- Every deploy is reproducible from an image tag and an environment name; rollback is a redeploy of a previous tag.
- Runbooks let another engineer onboard or redeploy a service without tribal knowledge.
- Stack
GitHub Actions, Ansible, Docker Compose, Caddy, GitHub Container Registry.
- Links
Repository private (internal infrastructure)
BWP Tools
Sole author · Blackwood Productions · Aug 2026 – present · OngoingA Claude Code plugin marketplace that gives the SEOLocal, CADE and Ranking Service teams guarded access to the production databases, the CADE API, the Celery cluster and Logfire from inside Claude, plus a read-only agent that audits task failures and hands a prioritised fix list to a code-fix agent.
- Outcomes
- Engineers on three teams query production data, Celery state and telemetry from Claude without personal database credentials.
- Production reads pass through a SELECT-only role, a read-only transaction, a SQL classifier and a timeout; writes live in a separate plugin with a per-person token.
- Triage of CADE's Celery failures is one agent run that ends in a prioritised, file-and-line report another agent can act on.
- Stack
Claude Code plugins, MCP, DBHub, Logfire, Python 3, GitHub Actions.
- Links
Repository private; the plugins run inside Claude Code, Claude Desktop and Cowork