Choosing a Node.js host
The hosting guide now includes how to choose a host and prepare an app for deployment: ports, Node.js versions, storage and graceful shutdown.
What changed
I change this site almost every day. This page records the changes that matter to you: new things to learn, useful tools, product launches, and improvements to how the site works.
This is not a list of commits. Small fixes and internal maintenance are left out. The record starts on May 31, 2026.
The hosting guide now includes how to choose a host and prepare an app for deployment: ports, Node.js versions, storage and graceful shutdown.
How to write an Agent Skill, choose a description that loads it at the right time, and test it with real prompts.
Use Tailscale Serve to open a Mac dev server on your phone over HTTPS, at home or on 5G.
Build a local AI feature in Node.js with Ollama, validate its output, add timeouts and a fallback, and test it on real blog posts.
How to export a Ghost blog, keep every URL, move posts, tags and images, and publish them on EmDash with their original dates.
The built-in WordPress importer, the exporter plugin, what moves and what doesn't, and a checklist from export to cutover.
The EmDash guide now covers the Otta commerce plugin, Postgres through Hyperdrive, and signed plugin releases.
Added Fox's purchase of Roku, Shield AI's deal for Echodyne, and IonQ's purchase of Elisity.
A browser tool that writes a Content-Disposition header for a download or an inline file, including the UTF-8 filename parameter, and reads a header back.
How to put utm_source, utm_medium and utm_campaign on a URL with the UTM link builder, including the warnings for spaces and mixed case.
What EmDash is, how it's built, where it runs and what it costs, and where it falls short of WordPress and Ghost.
The sponsor page now offers a single newsletter issue and a month of the newsletter, next to the newsletter + site placement month and the custom tutorial. The combined option is now called "All of those".
A tutorial that puts your Mac and a server on one private network. You SSH by name, serve a page only you can open, and close every public port.
Released Video Producer, a native Mac app and command that takes a Borumi recording to a YouTube video with a coding agent: the edit, the transcript check, the 4K export, the copy and the cover. The $20 one-time purchase includes tax and full MIT source code.
Content-Type Parser reads a media type, charset and boundary. EditorConfig Generator builds an .editorconfig file. RegExp Escape turns a string into literal text for a regular expression. Retry-After Parser reads a wait as seconds or an HTTP-date. SQL IN List Builder turns one value per line into a SQL IN list.
Every paid app now has a Changelog tab next to Documentation, with the release notes for that app.
Added Dropbox's deal for Tigris, Five9's deal for Level AI, and Sierra's purchase of Anon. Cloudflare's Q3 10-Q puts the Deno price at $26.5 million.
Added the KERNEL incident, Flowise Greeter, and the BTCPay Server hot-wallet thefts on 2.4.1 and earlier.
Updated the Grok Bot guide with Matt Palmer's November 4 Pages video. He shows an easing-curves playground, charts from chats and the X connector, and a Bot note that Pages do not load the web. xAI has not documented that limit on the Pages help page.
A tutorial on building a voice agent you can interrupt, in ChatGPT and with gpt-live-1 in the API.
Released Page Saver, a native Mac app that saves web pages as single HTML files, keeps snapshots, and alerts you when watched pages change. The $20 one-time purchase includes tax and full MIT source code.
Rewrote the Cursor guide around the Agents Window, in a plainer voice.
Meta bought Conductor, sign-ups stopped, Cloud shuts down on November 20, and this post lists what to use instead.
A complete guide to CDP, the JSON WebSocket protocol under Puppeteer, Playwright with Chrome, and browser agents.
hey-cli 1.10.1 adds an MCP server, reply recipients from HEY, thread rename, day and week events, Set Aside groups, contact delivery, and TUI keys.
Updated the database hosting guide: the Fly.io Managed Postgres trial is $1 of credit for 7 days.
The post now covers Cloudflare's security audit skill for hardening an app against AI-powered attacks.
agent-desktop 1.2.0 adds agent-desktop mcp, a stdio MCP server. Each leaf CLI command is a tool. type, set-value, and clipboard-set accept --stdin, and read UTF-8 text from a pipe or a redirected file.
Codex got GPT-Image-2.6, with Image-2.6 Flare and Sunburst. Generation is 50% faster, and image edits now happen directly in the overlay.
PEM Certificate Decoder reads a certificate in the browser. Link Header Parser lists targets and relation types. IPv6 Address Formatter prints the expanded and RFC 5952 forms. ANSI Escape Stripper removes terminal color and hyperlink sequences. YAML Frontmatter Extractor splits a Markdown file into its mapping and its body.
Claude Code's Opus prompt steered agents away from building games, and this post is about wanting the agent to do what you ask.
A tracker of provider and open-source security incidents that matter to developers.
A running list of AI and tech acquisitions since May 2026, with what happened to each product.
Noted that Meta acquired Conductor, the Mac app for running parallel coding agents, and that OpenAI told Axios it plans to acquire Pierre Computer.
Moonshot released the weights for Kimi K3.1 Pro, a 2.8-trillion-parameter model with a new license, a new sparse attention mix and cheaper API rates. The open-weight guide, the coding model comparison and the AI coding landscape now cover it.
Expanded the app tutorials with worked examples, explanations, checks and troubleshooting. Added concrete examples to the guides on agent experiments, overnight work and AI benchmarks.
Released Home Drop, a native Mac app and CLI that sends photos and files to your other Macs over the local network. You pair once with a 6-digit code, there are no accounts and no servers, and the $20 one-time purchase includes tax and full MIT source code.
TOML to JSON Converter converts TOML to JSON and JSON back to TOML in the browser. Secret Key Generator makes a random key with the Web Crypto API, JSON Key Sorter sorts object keys, Semver Range Calculator checks a version against an npm range, and Token Rate Calculator turns RPM and TPM limits, plus the tokens per request you type, into requests per minute.
What a Zero Wire briefing gives you, the agent prompt you paste into an agent, and what that changes for a small server.
terminal-mac runs a real macOS guest in your terminal so an agent can drive that VM instead of your desktop.
Build and check a tic-tac-toe game with Cursor, with Workshop screenshots, a complete game-rules exercise, project instructions, skills, MCP, recovery, and the CLI.
Expanded the Codex guide with a complete JavaScript exercise, regression tests, recovery steps, a project skill, and an MCP setup walkthrough. The guide keeps its existing URL.
Updated the Grok Bot guide for the October 27 release. Shopping results are product cards, and Buy now waits for your approval. Shared Bots can keep team logins in their own Vault. The Vault docs still say to use Secrets on a shared Bot.
T3 Code 0.1.7 adds Kiro as an Early Access provider, managed policies, one-time schedules, child approvals, shareable thread links, usage filters, and a history of model switches.
The macOS browser guide now points at agent-desktop when the job is a native window.
How to run seobot against a site, read the report, and hand the pages and edits to Cursor or Codex.
Released App Drawer, a native Mac app and CLI that finds the Mac apps you build in your project folders and opens them from a panel in the Dock, with full MIT source code. The $20 one-time purchase includes tax.
The agent-desktop guide now covers release 1.1.0. The envelope is 2.6, the macOS command host is gone, and macOS can read the Dock and menu bar extras.
What Tailscale gets right, what the coordination server can see, how to lock a tailnet down, and when Headscale, NetBird, WireGuard, or a tunnel is the better fit.
Released SEO Bot, a native Mac app and CLI with 16 SEO tools, agent handoffs, and full MIT source code. The $20 one-time purchase includes tax.
Create a Debian 13 Droplet, copy the services and data, then move the reserved IP. In-place conversion from Ubuntu is unsupported.
The MongoDB vs SQL post now covers documents, BSON types, flexible schema, and joins, the browser preview post now covers Chrome, Firefox, Safari, and Edge channels, and the Arduino serial post now covers baud mismatches, reading a line, and waiting for the port.
Unicode Normalization converts a string to NFC, NFD, NFKC, or NFKD and lists the code points before and after. Basic Auth Header builds or decodes an HTTP Basic Authorization header in the browser, and the SSE Frame Parser lists each event name, id, and data from a finished text/event-stream body.
Keep Deno for development while moving execution to Workers. Build a SQLite-backed Durable Object queue with alarms, retries, and safe migration steps.
Released Secrets Free, a native Mac app and CLI that scans local projects and Git history for secrets, with full MIT source code. The $20 one-time purchase includes the notarized app.
The Netlify submodule post now covers a build hook and a GitHub Action that updates the parent pointer, and the PHP HTTP requests post now covers the superglobals, JSON bodies, and request_parse_body() on PHP 8.4.
How to check a Linux server for CVE-2026-98432, what disabling MPTCP does and does not cover, and how to run a VPS with no public inbound ports.
How Vercel Labs' agent-desktop lets a coding agent read a desktop app through the accessibility tree and act on stable refs, on macOS, Windows, and Linux.
Install Hex 3.1.2, Anomaly's local dictation app, on Mac, Windows, and Linux, and dictate into the focused prompt.
Codex CLI 0.164 and 0.165, OpenCode 2.2.1 and Go Teams, and T3 Code 0.1.5 and 0.1.6, including fx as a built-in provider.
Added Hex 3.1.2 to the comparison of Mac voice to text apps.
Install doctl, create a Droplet from the terminal, and manage DNS, firewalls, databases, App Platform, Kubernetes, and the other DigitalOcean services.
Find which process is busy when parallel coding agents write files on a Mac, cut extra watchers, and decide when a separate APFS volume helps.
Build a small Claude Code mod that pauses Bash calls for an explicit decision. Understand event handlers, fail-closed behavior, and the limits of previews.
Respond to exposed AI provider keys: revoke the credentials at their source, inspect usage, replace shared access, and distinguish alerts from hard limits.
Package an OpenCode v2 plugin for npm, inspect the tarball, test it in a clean consumer project, and prepare a public release with clear compatibility.
OpenAPI to TypeScript turns an OpenAPI 3.0 or 3.1 document into TypeScript interfaces for schemas, parameters and JSON request and response bodies; the Subresource Integrity Generator hashes a file or text in your browser and gives you an SRI value (SHA-256, SHA-384 or SHA-512) for a script or stylesheet; the XML to JSON Converter converts XML to JSON and back with one documented mapping. Each has a tutorial in the tools section.
A cross-platform guide to running LLMs locally on macOS, Linux, and Windows, covering desktop apps, terminal runners, browser inference, developer libraries, and self-hosted servers.
The JavaScript keywords page now leads with the keyword list. git remote add origin is the page for adding a remote, checking it, and pushing the first time.
Proton's CTO told engineers their job is to help the LLM write code. Where the manifesto is right, where the pushback is fair, and what leading agents involves.
Choose a Cloudflare full-stack setup by following a request, a database change, and a deployment through Void, vinext, and React Router.
Launch Muse Spark Open in OpenCode through Ollama Cloud, try a bounded JavaScript fix, and check model access, tool use, context and billing.
Run a homemade SaaS replacement beside the original with read-only inputs, compare real outputs, and rehearse recovery before switching over.
Design a useful SaaS export with stable IDs, attachments and import checks, then handle account deletion through a durable, verifiable process.
The OpenCode guide now covers signing in with a Claude Pro or Max subscription again. Install Claude Code, run claude auth login, then connect Claude Agent.
JSON Repair fixes invalid JSON from an LLM (code fences, trailing commas, single quotes, comments, cut-off brackets) and lists each fix; JSON Diff compares two JSON values and shows every added, removed, changed or moved field with its path; .env Diff compares a .env file with .env.example and finds missing, extra, empty and duplicate keys and broken quotes. Each has a tutorial in the tools section.
Compare a SaaS bill with building your own replacement, counting development, migration, maintenance and overlap to estimate the first cheaper month.
The OpenSEO MCP server lets a coding agent research keywords and save the useful ones in a project. The tutorial connects OpenCode, checks the project, and prepares one small research request.
A small site-audit crawler built with Cloudflare Workers, Queues, and D1. It reports missing titles, HTTP failures, and redirect chains on a local fixture site.
A comparison of Mac dictation apps and speech-to-text APIs, with prices checked on October 30, 2026, plus how to dictate a prompt into Cursor, Claude Code, and Codex. Handy, the free open source app I use, is the one I recommend. Raycast Dictation is included too, on the paid plans.
A local approval queue stores an email proposal in SQLite, waits for a decision, and resumes after a restart. The provider is fake and sends nothing over the network.
John Collison interviewed Sam Altman on Cheeky Pint. The useful parts for people building with AI cover security scans, agent teams with a budget, and prices a customer can predict.
Released Mind Map with native app demos and a sample map, and added public documentation for all 27 apps.
Updated the Herdr guide for the October 29 announcement. Herdr shipped a native desktop app on herdr-core. The terminal app stays and keeps getting updates. The app, the core, and the terminal app are Apache 2.0.
Stripe Pay sends money between businesses by a profile handle. An agent can prepare the transfer, and a person still approves the exact amount.
A comparison of crash recovery with Pi Durable, Cloudflare Workflows, and the Vercel Workflow SDK, using the same support-reply task.
Cloudflare Access can show your own HTML on the login page, on the pages a policy shows when it blocks someone, and on the screen where they approve a command-line login.
TinyFish lets your code search the web, read pages, and finish tasks in a remote browser. The tutorial extracts a product catalog with JavaScript, then covers research, monitoring, and logged-in sites.
For a coding agent testing a web app on a Mac, start with Chrome and Playwright. Use the Playwright extension when the agent should work in a tab you already have open.
Updated the Grok Bot guide. Grok Bot is now part of The X Subscription. Premium, Super, and Ultra include it, and Plus and Free do not. The weekly pool is shared with Cursor and the Grok apps, and extra usage is paid from prepaid credit. Legacy Cursor plans still include it. Added a section on letting a Bot use your phone’s apps.
Released Searchglass, Google Search Console for the terminal and for coding agents. It queries performance, sitemaps, and URL index status. The $20 one-time purchase includes tax, the CLI, an agent skill, and full source code under the MIT license.
Black Friday offers open on November 23, 2026. AI Workshop is $99 instead of $299. Four coding masterclasses, TypeScript, React, Git, and the AHA Stack, are $49 total instead of $396. Each offer has its own email list.
Added a JSON to JSON Schema generator with a strict mode for OpenAI Structured Outputs, a webhook signature verifier for Stripe, GitHub, Slack, Shopify, Paddle and Standard Webhooks, and a JSONL to JSON converter. The tools section now has step-by-step tutorials, starting with counting tokens, converting cURL to fetch, and turning docker run into Docker Compose. The cURL and docker run converters also got fixes so their output matches what curl and Compose do.
Released Firewall Manager, a native Mac app and companion CLI for temporary DigitalOcean SSH access. The $20 one-time purchase includes the notarized app and full source code.
Added Google’s Gemini 4 Carbon announcement to AI news and updated the AI coding landscape and model guide, including its initial availability for selected cyber defenders.
Updated the fx tutorial for the 0.0.15 release: less memory in long sessions, faster resumes, a smaller binary, /fork, and a model catalog that refreshes without a restart.
Added an apps catalog. Apps are $20 each including tax, a one-time purchase that includes the app and its full source code in a private GitHub repository. The tutorials are free to read.
Published a guide from prompts and hosted models through local workflows and JavaScript APIs. Amazon Nova Canvas reached end of life on September 30, and Muse Image is available on the Meta Model API.
Published a guide to the companies, models, and tools shaping AI coding, with people to follow and official video demos.
Published the Internet Business Lab announcement. The cohort starts October 29.
Expanded three posts with worked examples, practical exercises, charts, and interactive illustrations: testing a solo business advantage, practicing engineering judgment with AI, and giving coding agents useful checks.
Business advantages for solo developers →Engineering judgment with AI →Checks for coding agents →
The next AI Workshop cohort now runs 1 December – 21 December (was 2 December – 22 December). The waiting list is open.
See the cohort schedule →Join the AI Workshop waiting list →
Added a payment providers hub with guides to Stripe Payments, Paddle, Polar, Creem, Lemon Squeezy, and Gumroad, plus four comparisons. Each includes sourced tradeoffs and fee examples using the payment picker’s shared calculations.
The course recovery page now points older course buyers to courses.flaviocopes.com. Sign in with the purchase email and no password. Other courses still get access links by email.
Expanded the phone coding agents guide with Grok Bot and Cursor, Antigravity Remote Control, Amp, Cline Cloud Agents, Manus, and OpenClaw. Added setup instructions and explained where each agent runs and what still needs a computer.
Moved the browser chooser into the Chrome alternatives article and added visual guides for comparing Arc-style browsers, interfaces, AI workflows, and testing engines.
Updated the Grok Bot guide: the X connector no longer needs a developer account or X API credits. Added bookmark, DM, and article drafting examples, plus a step-by-step walkthrough for creating a group of specialist Bots.
Call GPT-6.1 Terra from the Responses API to read an image, set a reasoning effort, and get structured JSON back.
Compare browser engines and features, then use the browser chooser to find options for your computer and browsing habits.
Ask a coding agent to fix a bug from your phone, then review the result later. Compare mobile apps, cloud tasks, and remote terminals, and see where the work actually runs.
A coding agent can ship a working app and still publish a database password or API key. Limit what it can read, which operations it can run, and what reaches production.
Expanded the agent code review workflow with a reset-token example, review instructions, and merge queue configuration. Added cache cost calculations, compaction details, and usage troubleshooting to the prompt caching guide.
Added a workflow for AI-assisted security log review, clarified the title and opening, and moved practical preparation advice ahead of the history and incident examples.
Corrected the business-cost totals and two Jev examples. Clarified the scope of the CloudKit planning article and the requirements for publishing a ChatGPT plugin.
Enrollment is open for the cohort starting on 29 October: 17 weekday lessons through 20 November, for $299 plus applicable tax.
Build a local MCP server with background tasks and confirmation forms in Claude Code, and see how polling, cancellation, and reconnecting work.
Learn Convex by building a real-time app with TypeScript, queries, mutations, authentication, indexes, search, file storage, background jobs, and tests.
A detailed tutorial covering installation, a JavaScript bug fix, permissions, skills, MCP, subagents, workflows, and headless automation.
Direct pushes can keep development simple, but trust needs concrete checks for access, traceability, tests, and recovery before copying a team's workflow.
Coding agents can move work outside the editor, but understanding changes, reproducing bugs, and checking the application still need a place in the workflow.
Connect PostgreSQL to Workers with Hyperdrive, configure pooling and caching, and see how it fits with other Cloudflare services and existing stacks.
Clear examples and useful feedback help when you teach a concept or direct a coding agent, so explain the expected behavior and show where the result differs.
Several coding agent chats can leave decisions scattered across sessions, so keep one place for the current task and give parallel work a clear handoff.
A maker's taste shows up in defaults, empty states, and ordinary interactions, so give the app character through decisions that help people use it.
An overnight coding agent needs a question worth answering. Start with the decision its result will help you make, and keep the morning review manageable.
An impressive AI roadmap means little when the product you need is unavailable. Separate future promises from the software you can use today.
Set up Computer Use, test desktop apps and iOS Simulator flows, reproduce UI bugs, and verify fixes with practical prompts and a workflow chart.
Set up local or cloud models, fix a JavaScript bug with tests, and create a study report from a CSV, with three interactive illustrations.
The cohort runs from Thursday 29 October to Friday 20 November, with 17 weekday video lessons. The price is $299 plus applicable tax, and signups open on Monday 26 October.
Expanded the AI security essay with DigitalOcean’s patching guidance, the effect of persistent parallel research, and practical protection for accounts and home networks.
Secure a VPS with private SSH over Tailscale and public web traffic through Cloudflare Tunnel, including setup, firewalls, testing, and recovery.
Prepare an Apple app for review, choose useful native interactions, adopt Liquid Glass, and understand how direct Mac distribution differs.
OpenAI's Decisions API returns a probability, a choice, or a score. Triage a support ticket with several questions in one request.
Publish your Chrome extension with a clean ZIP, store listing, privacy disclosures, permission justifications, review instructions, and tested updates.
Check the new API contract, remove sampling parameters, review authentication and saved messages, and test the upgrade with a runnable JavaScript example.
Internet Business Lab now runs from Thursday 29 October to Wednesday 18 November. Signups open on Monday 26 October.
Connect OpenCode to DeepSeek or Ollama, understand API billing and local hardware costs, and test whether the setup works for your projects.
Package your Mac app in a drag-to-Applications DMG, sign and notarize it, verify the download, and attach it to a GitHub release.
How Claude Duet works, its permissions and limits, and how it compares with Grok Bot and ChatGPT dots, including the workflows I want to try.
Expanded the AI security essay with GitLab, LiteLLM, Railway, Zeabur, and eMudhra, plus preparation for secret exposure, unsafe updates, and emergency downtime.
Recording and editing tools need inspectable state, useful commands, and recoverable changes if we want agents to help with real creative work.
How to use a small paid traffic experiment to learn who gets value from a product, measure useful actions, and decide what to change.
A short history of automated hacking, how AI agents make attacks easier, and practical ways to prepare your applications.
I removed Ship Factory from this season. The cohort programs are Internet Business Lab, the AI Workshop, and the Bootcamp.
Rewrote the job-search guide with CV and portfolio examples, targeted applications, interview preparation, and take-home boundaries. Added advice on AI hiring pressures, entry-level work, and demonstrating skills with AI coding tools.
Build a small JavaScript state machine for a coding agent, with explicit transitions, a retry limit, a useful event log, and tests.
The fixed PHP releases, temporary mitigation guidance, and practical steps for Laravel Cloud, Forge, Vapor, and self-managed servers.
Compare Jev, JSON mode, and schema-constrained LLM outputs. Learn when a typed answer is enough and when decision probabilities justify another model.
Vite is becoming shared infrastructure for frameworks, runtimes, and developer tools. What vinext, Cloudflare's new tooling, and DevTools show.
Choose between a single-page app, server-rendered pages, and interactive islands by looking at navigation, shared state, loading, and maintenance.
Explore the experimental Rust port of TypeScript, its compiler architecture, compatibility, and benchmark tradeoffs, then build a browser-based type checker with interactive explanations.
Update all global npm packages with npm update -g, check outdated tools, update one package, and see which Node installation you are changing.
Two older posts got a lot deeper: the JavaScript debugging guide now covers stack traces, conditional breakpoints, logpoints, source maps, and attaching DevTools to Node, and the htmx post now includes a real HTML-swap example plus when I skip htmx.
Expanded the Val Town tutorial with a validated guestbook API, scheduled change notifications, authentication, collaboration, limits, and four explanatory visuals.
Compare Pages and Workers for static sites and full-stack apps, including routing, pricing, framework support, and migration, with three charts and two interactive illustrations.
Coding agents can handle repetitive migrations, but switching costs also include design drift, production behavior, deployment, and future maintenance.
Agents can help us combine existing tools and improve the details of our apps. That makes dependable behavior and clear interfaces worth paying attention to.
Compare Muse Wonder in Cursor against the model you already use, including coding results, reasoning effort, and token costs.
Updated the database hosting guide: the Prisma Postgres Free plan now includes 2 GB of storage.
Find a project on Vibecode It Yourself, with 15 build guides from a personal link page to a small team chat app.
Compare OpenCode, Claude Code, and Codex CLI with one reproducible bug fix, independent tests, setup checks, and an honest look at cost and intervention.
Two older posts got a lot deeper: the Cloudflare cron triggers post now covers multiple schedules, failure handling, deploy, limits, and Queues/Workflows, and the Electron React post covers the missing Forge React wiring and a preload IPC example.
How to shorten an agent's feedback loop with focused tests, realistic boundaries, useful failures, and broader checks before shipping.
A practical way to preserve project decisions, rejected alternatives, and unfinished questions so you and your coding agents can pick up the work later.
Use T3 Code's stable release to isolate an agent change, review the complete branch, merge it, and clean up finished work.
Connect OpenCode to LM Studio, test local tool calling, fix model discovery problems, and check what you need for a coding workflow that works offline.
How I think about parallel coding agents, shared code, review queues, and the checks that tell us whether their changes work together.
How I would compare coding agents by finished work, usage limits, review effort, and switching costs, while keeping the project portable.
Learn what switching to pnpm or Bun changes, and how caches, lockfiles, and mirrors affect failed installs.
Learn how OpenCode Code Mode combines tool calls in JavaScript, when batching helps, and where permissions, errors, and side effects still need care.
Two older posts got a lot deeper: the NW.js desktop app post now covers window size, calling Node from the page, native menus, nw-builder packaging, and Gatekeeper, and the PocketBase on Fly post covers IPv6 listen for internal URLs, upgrades, and backups.
How to design a useful MCP interface for your product, with clear tools, account permissions, usage limits, predictable results, and safe writes.
Developers can build alternatives to your product. That doesn't make them bad customers. Look at urgency, budgets, and the work buying lets them avoid.
A TypeScript tutorial with SQLite, a crash-and-restart experiment, request deduplication, and eight interactive drawings explaining recovery and tool replay.
Two older posts got a lot deeper: the Node.js history post now explains the why behind the event loop, io.js, left-pad, LTS and later majors, and the Fly GitHub Action post covers the deploy workflow, tokens, pitfalls, and rollback.
Explore OpenSEO’s architecture, SEO data providers, crawler, agents, storage, self-hosting, and trade-offs, with twenty-two interactive diagrams.
Build your first OpenCode v2 plugin in TypeScript, register a custom tool, validate its inputs, test the logic, and understand how v1 plugins change.
AI changes the build-versus-buy calculation, but a working prototype is only part of it. How to compare ownership, maintenance, risk, and recurring costs.
Cheap software clones change what a small SaaS business can charge for. A practical look at differentiation, maintenance, distribution, and earning trust.
What Meta’s downloadable model offers, the hardware needed to run it, its commercial license conditions, and how to read the benchmark claims.
Build a reading-list app with Void, Hono, React, and D1, then deploy it to Cloudflare. Covers typed APIs, forms, migrations, password protection, and hosting a shared team platform.
A hands-on OpenCode tutorial covering installation, model connections, planning and making a code change, project instructions, and permissions.
The Jev guide now covers the new model release, experimental image input, Box questions and longer context. It also includes the Jack & Jill production case study and updates model aliases and rate-limit guidance.
The AI news page now has OpenCode 2, Anomaly’s open source coding agent. The terminal, desktop app, and web app share one local service, and the model can script its tools.
What “open weights” means for AI models, how it differs from open source, and what the Qwen3.8 and Kimi K3 downloads show about licenses and scale.
I gave overlapping course lessons their own practical exercises, tightened several troubleshooting and Express guides, and combined the short structuredClone article with the object-cloning guide. The September Bootcamp announcement now points to the current course page for availability.
I renamed Solo Lab to Internet Business Lab. The three-week cohort still runs from 28 October to 17 November, and the waiting list stays the same. The old course page redirects to the new landing page.
Build a C program that handles web requests through CGI, reads query parameters and forms, validates input, and returns HTML. The guide includes Apache setup, redirects, and the differences between CGI and FastCGI.
A TypeScript guide to LangChain and LangGraph: models, prompts, tools, agents, and graphs you can pause and resume, including a workflow that waits for human approval. The Python HTTP server post now covers routing, reading POST bodies, and bind-address warnings.
My Sendy server disk hit 99%. MySQL binary logs had grown to 41 GB. I purged them safely and set an expiry.
The picker now splits into focused views: the four-question picker, an Every host view to browse plans, catches and features, and a Compare two view to put any two hosts side by side.
Build a tvOS app with SwiftUI, share code with your Mac app, design it for the Siri Remote, make its layered icon, and install it on your own Apple TV. I used Tranquillity Maker as the example.
The next Bootcamp edition starts in March 2027. The waiting list is open.
The echo guide now explains -e and -n, quoting, and when to use printf. The printable ASCII reference includes C examples with isprint. The HTML image guide adds image path troubleshooting and clarifies responsive sizing.
Put the apps you build on your iPhone without the App Store: turn on Developer Mode, install from Xcode, update over Wi-Fi from the terminal, and renew them.
Updated the database hosting guide: the Prisma Postgres Free plan now includes 1.01 GB of storage.
A hands-on guide to building a voice AI agent with LiveKit Agents in TypeScript, testing conversations, and deploying it to LiveKit Cloud.
How to use Jev with Claude Code, Codex and Cursor: install TypeSafe's agent skill, give the agent the docs, and review the Jev code it writes.
Three new posts: how to avoid the "Open Anyway" message when building macOS apps, how to compile JavaScript into a single executable with Deno, Bun or Node, and how I used WhatCable to figure out what a USB-C cable can actually do. I signed and notarized all seven of my Mac apps in one day, and WhatCable is how I found my Fujifilm camera was running at USB 2.0 speed.
Three new posts: how to use Jev with the Vercel AI SDK, how to find and delete old node_modules folders with npkill, and an opinion piece on AI agents checking out for us, where I still want a person to approve the exact charge. The guide on accessing files outside a Docker container also goes much deeper now on bind mounts and volumes.
The next AI Workshop cohort now runs 2 December – 22 December (was 30 November – 18 December). The waiting list is open.
Solo Lab still runs 28 October – 17 November, but now every weekday there is a new video lesson of about 30 minutes, 15 lessons over the three weeks, instead of written lessons with exercises.
See the cohort schedule →Join the AI Workshop waiting list →Join the Internet Business Lab waiting list →
I released Repo Foyer, a free and open source Chrome extension that replaces the GitHub home page with three short lists of your repositories: the ones you work on the most, the ones you created recently, and the ones getting stars this week. A search box jumps to any repo, and you can star a repo to keep it at the top.
I open sourced testvm, the script my coding agents use to test the Mac apps they build in a headless macOS VM, without taking over my screen. It used to live inside the VM Peek repo. Version 1.1 has its own repo, settings for the VM’s size and image, and a skill that teaches agents every command.
I released Footage Ferry, a free and open source Mac app that copies the videos you record with Blackmagic Camera on an iPhone to your Mac over USB. It checks every copy byte for byte against the iPhone’s file, and only then offers to delete the clips from the iPhone.
Two older posts got a lot deeper: the Arduino libraries post now covers installing libraries with the Library Manager or arduino-cli and fixing common library errors, and the npm post explains what gets installed for users of your package and how to pick, move and omit dependencies.
Twenty of the longest posts that explain how something works got a drawing you can click through: a request through a Cloudflare Tunnel, Terraform’s plan and apply, a Kubernetes Pod getting replaced, one next-token step in an LLM, a Pi session branching into a tree, and more.
Three new posts: how to keep a Mac app and its iPhone app in sync, a deep dive into cron, and a tutorial on cf, the new Cloudflare CLI. The cron post comes with six small drawings you can click: the crontab checked minute by minute, the five fields of a schedule, the day-of-month and day-of-week trap on a calendar, the environment cron runs in, overlapping runs with and without a lock, and the night the clocks change.
Since version 1.2, CLI Tools Cabinet can ask the tools on my Mac what they can do. Each of my small CLIs answers a capabilities command, and clitools capabilities collects all the answers in one call, so a coding agent finds the right tool before it writes a script.
Solo Lab now runs 28 October – 17 November (was 26 October – 13 November). The Solo Lab page also has three new figures. The waiting list stays open.
See the cohort schedule →Join the Internet Business Lab waiting list →
I released Chip Pops, a free and open source Mac app and command line tool with about 6,000 8-bit sound effects made with jsfxr, for apps and games. Click a sound to hear it, then drag it into your project.
I released Couch Snake, a free and open source Apple TV game: the classic snake game from old mobile phones, full screen on a green LCD board, steered by swiping on the Siri Remote.
Nine of the most read posts from the last few weeks now open with a one-minute video that introduces the topic before you start reading.
Ten posts got a small drawing you can click through, each showing the one idea that is hard to picture from text: how Jev’s confidence decides what happens, what Codex can reach in its sandbox, why a GET stream stalls in a quick tunnel, the two passkey ceremonies, what survives in tmux, and more.
I retired hostingpicker.dev and paymentprocessor.dev and turned each one into an app post: a blog post that runs the whole tool in the page, with the guide underneath. Pick a host from four questions, or compare payment providers and their fees on your own numbers.
I retired StackPlan too: stackplan.dev now redirects to my guide on where to host your web app.
I released Architecture Dissector, a free and open source Mac app that draws the architecture, workflows and stored data of my apps from maps my coding agents write, and shows what changed between versions.
I released Slide Lookout, a free and open source Chrome extension that shows the next slide of a Notion presentation in a small floating window, on top of the fullscreen slides.
Two new posts: how I let coding agents test the Mac apps they build inside a macOS VM, so they never take over my screen, and how my Mac apps check GitHub Releases and update themselves.
Tranquillity Maker 1.4 runs on iPhone and iPad, keeps playing with the screen locked, and is controlled from the lock screen or Control Center. You install it from Xcode, and the Tranquillity Maker post now covers it.
Three new posts: how to use Jev confidence scores to decide when your code acts, asks, or hands off to a person, how to fix the "Stacked PRs are not enabled for this repository" warning in gh stack, and what you get from the free Apple developer account compared to the paid Apple Developer Program.
I released two free and open source Mac apps. Post Slide Deck and its Chrome extension turn posts on X into slides I talk over in my videos. VM Peek shows what coding agents do in the macOS VM where they test the apps they build: its screen, which agents are using it, and every command they ran.
Two new posts: what poteto-mode does in pstack, the router skill that picks a playbook and delegates the work to other skills and models, and a tutorial on classifying text with Jev, from writing good labels to testing accuracy before you trust it.
Three new posts: what my one-person software business costs each month, line by line, the tools you can use instead of Herdr to run coding agents, and a tutorial that builds a ChatGPT plugin from an empty folder all the way to the submit button.
I released Work Tracebook, a free and open source Mac app. Your coding agents write a one-line report each time they finish something, and the app turns those reports into a timeline of your day and week, project by project.
Three new posts: every product I launched this summer and what happened to each one, a tutorial on the Codex CLI, and how to use your ChatGPT subscription in other apps with Sign in with ChatGPT.
Pi reached 1.0, so I went through my Pi guide again. It now covers the built-in MCP support and codemode, virtual models, the full-screen interface and the new ChatGPT sign-in, and it points to Pi Durable for agents that run for a long time.
I redesigned Disaster Lab, Calculum, migrating to, HostingPicker and StackPlan. Their launch posts now open with a 30-second tour of each site and show screenshots of the new design.
I released Number Pantry, a free and open source app with the 281 calculators from calculum.dev. It works offline, saves and compares calculations, and comes with a calculum command for Terminal.
Skill Cabinet 1.3 adds a filter to the toolbar, so you can list only your own skills, only the ones that come with plugins, or only the ones built into Cursor and Codex. The Skill Cabinet post now covers it.
I released Releases Manager, a free and open source Mac app that shows every release of my apps on one timeline, tells me what’s waiting to ship, and starts the next release in Cursor. The post has a 30-second demo and the download.
A deep dive into Clef, the open-weight decision model Cloudflare released on October 1: how it works, how to call it with curl and from a Worker, how it reads images, what it costs, and how it compares with Jev and OpenAI’s Decisions API. The Jev deep dive, the access guide and the pricing guide now cover it too, and the AI news page has the announcement.
I released Tab Reunion, a free and open source Chrome extension that moves the tabs of every open window into the one you’re using, with one click or a keyboard shortcut. The post has a 30-second demo and the install steps.
Skill Cabinet 1.2 finds the skills that read alike and merges two of them into one with AI. You can also edit and rename a skill right in the app. The Skill Cabinet post now covers it.
Three new posts: a complete guide to the OpenAI Agents API, a cheat sheet of the Herdr keyboard shortcuts, and how to use Codex Cloud to run Codex tasks on OpenAI’s own machines.
Tranquillity Maker 1.1 lets the play/pause key on your keyboard control the mix from any app, because macOS sends that key to the last app that played audio. The Tranquillity Maker post now covers it.
The AI news page now has Google’s Gemini 4 Argon, a new frontier model aimed at long-horizon software engineering. It goes first to cyber defenders in Google’s Fairwind Program, with introductory API pricing.
A new post on GPT-6.1 Sol: how to use it in Codex, ChatGPT Work and the API, what it costs, how to pick the reasoning effort, and a Node.js example.
The post on writing files with Node now goes deeper, with a streams example for large files.
Skill Cabinet 1.1 can uninstall skills. It moves a skill to the Trash, from every folder it lives in or from just one of them, and tells you first which agents will stop loading it. The Skill Cabinet post now covers it.
Three new posts: the coding agent tasks I leave running unattended and the ones I never hand over, how to call Jev from Python, and how to use the unslop skill to remove AI writing tells in Cursor, Claude Code and Codex.
I released Skill Cabinet, a free and open source macOS app that shows which of 8 coding agents load each of your skills and counts how often you use them. The post has a one-minute demo and a download for Apple silicon and Intel Macs.
Note Repo 2.0 is a native Mac app written in Swift instead of Electron. The Note Repo post now explains how it is built, and that it runs on Intel Macs too.
Twenty more of the most read posts now open with a one-minute video that introduces the topic before you start reading.
I released Tranquillity Maker, a free and open source macOS app that plays the Background Sounds built into macOS together, each at its own volume. The post has a 30-second demo and a download for Apple silicon and Intel Macs.
The Note Repo post has a new screenshot and demo video. It also covers what Note Repo 1.2 adds: YouTube links show the video title, and ⌘F searches your notes. I also removed the Reflect importer, so the post no longer mentions it.
The comparison of AI models for coding now lists GPT-6.1 Sol, which OpenAI released on September 29: its price, its cheaper cached input, where you can use it, and why it is not in the bake-off yet.
It also shows what a task costs with GPT-6.1 Sol on independent tests: about a third of what it costs with GPT-5.6 Sol, with a higher score.
The Grok Bot deep dive now covers Primary Bot, the go-to Bot for everyday tasks, Team Bots that a whole team can talk to, and the read-only Finance integration.
It also covers the Google Docs, Sheets and Slides connectors, and how to route a Bot's web traffic through your own desktop when a site blocks cloud IP addresses.
Plain Cursor Pro now includes Grok Bot, and the iPhone app runs on iPad. The guide and the comparison with Cursor Projects both reflect that.
A guide to the always-on ChatGPT agents OpenAI launched at DevDay: how to set one up, give it work, connect apps and Codex, and control what it does.
The ten most read posts of the last month now open with a one-minute video that introduces the topic before you start reading.
The CLI Tools Cabinet announcement now opens with a short demo video of the app and the clitools CLI.
Put an invisible zero-width non-joiner right after the dot and X stops linking the domain. How to type it, how to spot it, and where the trick fails.
I released Note Repo, a free and open source daily notes app for macOS, with a 30-second demo and a download for Apple silicon Macs.
One $10,000 month of sales run through Creem, Paddle, Polar, Lemon Squeezy, Dodo Payments, Gumroad and Stripe with Stripe Tax: the fees each one takes, and the catches behind the headline numbers.
New sections for questions people kept asking: how unslop, stop-slop, humanizer and deslop differ, running Herdr on Windows and uninstalling it, whether cmux works on Linux, the smaller skills that come with pstack, and whether Jev is open source or runs locally.
Using Jev from Node.js with the official TypeSafe SDK: install it, ask Noul, Choice and Score questions, handle errors and retries, and put it all together in a full script.
An honest inventory of the 22 MCP servers connected to my Cursor setup: the two I use every day, the ones that do one job, and the ones that just sit there.
Ten places to run Postgres or SQLite for a side project: Supabase, Neon, Turso, Cloudflare D1, Railway, Fly.io, DigitalOcean, Prisma Postgres, PlanetScale, and plain SQLite on your own server. For each one: the free tier, the first paid step, the catch that will bite you, and how to connect from Node.
What Jev costs and how to plan for it: $0.042 per million input tokens with output free, how billing works, how to estimate a real workload, the rate limits, pricing through the Vercel AI Gateway, and how it compares with the usual LLMs.
Ten programming fundamentals that still matter when coding agents write the code. For each one: what it is, how an agent gets it wrong, and the free course that teaches it.
The command line tools I use every day on my Mac: Ghostty and fish, zoxide to jump between folders, tmux, jq, SSH, Git and gh, Wrangler for Cloudflare, gitleaks before publishing code, the coding agent CLIs, and the small CLIs I built for myself.
How to use Redis from Node.js now covers the current node-redis client in depth: connecting and handling errors, making keys expire with a TTL, working with lists, sets and hashes, and pub/sub with a duplicate client for subscribing. It also closes connections with close() and points to the current repository.
A hands-on comparison of the current coding models: Claude Opus 5.5, Fable 5.1, GPT-6 and GPT-5.6, Grok 4.7 and the open-weight ones. Then a small bake-off you can run yourself: the same task for six models in the Cursor CLI, graded by tests the agent never sees.
A short how-to for Jev: sign in to the TypeSafe console, create a key and store it as TYPESAFE_API_KEY, test it with curl and fix the usual 401 and 422 errors. TypeSafe paused new signups on September 22, so it also covers calling Jev through the Vercel AI Gateway instead.
Worker Previews give every Git branch its own copy of a Cloudflare Worker, with its own URL, settings and Durable Object storage. A hands-on walkthrough with wrangler preview: create a preview, break it by forgetting a binding, fix it, run previews from CI, and what still points at production.
The commands that actually mattered when my two Ubuntu servers broke this year: df and du for a full disk, journalctl for a dying process, free, ss, ufw, fail2ban and apt. Each one with the real output from the incident and what I did next.
What is pnpm? grew from a short intro into a full guide for the current release: how the content-addressable store saves space, the strict node_modules layout, the lockfile, workspaces for monorepos, and the gotchas you hit when a package expects hoisted dependencies or build scripts.
The Jev guide's use cases now include the first production report (Metaview's recruiting agents), Jev-ranked site, SQL and code search, Jev inside an expense splitter, a Magento store and Word documents, podcast ad detection, browser and coding agents, and robots, picked from the shipwithjev.com catalog of 551 builds.
Stripe now exposes WebMCP tools on every hosted Checkout page. The WebMCP guide explains how its tools appear step by step as the checkout fills in, why it uses both the imperative and the declarative API, and what its tests measured: 42% fewer tokens and a 39% faster checkout.
Pi is a minimal open source coding agent that ships four tools and lets you build the rest. How to install it, use your ChatGPT plan or a local model, branch sessions like a tree, write TypeScript extensions, script and embed it, and how it compares to fx, Claude Code, Codex and OpenCode.
Quick tunnels put localhost on the internet with one cloudflared command and no account: how they work, what your app sees, webhooks, dev servers, local LLMs, scripts, and the limits measured for real. The named tunnel guide is the version you keep: your own hostname, several services behind one tunnel, running as a service, Cloudflare Access in front, SSH through it.
What you actually get for free on Cloudflare, Vercel, Netlify, Render, Railway, Fly.io, Heroku, AWS, Google Cloud, Azure and the VPS hosts, with the limits and catches of each, all checked in September 2026.
A tutorial on AI benchmarks: what CursorBench, SWE-bench, Terminal-Bench and GDPval-AA test, how to read a model launch page, a step-by-step comparison of GPT-5.6 Sol and Claude Opus 5.5, and a small eval you can run on local models with Ollama.
Anthropic released Claude Opus 5.5 on September 22. Input is $4 per million tokens and output is $20. The API id is claude-opus-5-5.
What happens behind ssh superlogical.jobs, the Go and Bubble Tea stack read off the wire, a job board built from scratch with Wish (plus a Node.js version with ssh2 and Ink), how to deploy it on port 22, and other things you can ssh into.
Meta launched Muse on September 8, a personal agent in the US on iOS, Android, muse.ai, and WhatsApp. Power is $20 a month and Maximum is $100 a month.
fx is Vercel Labs' coding agent, a small Zig binary. How to run it in the terminal, call it from a script, or embed it in an app.
SpaceXAI released Grok 4.7 on September 21. Same price as Grok 4.6, $2 per million input tokens and $6 per million output tokens, available in Cursor and through the Grok API.
Solo Lab now runs 26 October – 13 November (was 2–20 November). The AI Workshop stays 30 November – 18 December. Waiting lists stay open.
See the cohort schedule →Join the Internet Business Lab waiting list →
The AI news page now has 56 notes covering model launches, coding agent releases, and platform changes from January 2025 through September 2026.
Solo Lab now starts on 2 November (through 20 November). The AI Workshop cohort moves to 30 November – 18 December. Waiting lists stay open.
See the cohort schedule →Join the AI Workshop waiting list →
The cohorts page now lists the AI Workshop, which runs a new three-week cohort from 1 December, with its waiting list back on this site. The Bootcamp shows as the February 2027 edition, and Solo Lab and Ship Factory run for three weeks each.
See the cohort schedule →Join the AI Workshop waiting list →
A single page that tracks AI industry news I care about: model launches, coding agent changes, and the dates they shipped. It starts with Claude Code reading AGENTS.md, plus notes on TypeSafe Jev, GPT-6 Astra, Claude Fable 5.1, Grok Bot, SpaceX buying Cursor, xAI becoming SpaceXAI, GPT-5.6 Sol, and Claude Fable 5.
Two always-on agent products from one company, and a simple rule for splitting work between them: repository in, PR out goes to a Project; anything that starts behind a login goes to a Bot. With the jobs I run on this site and the loop where a Bot hands work to a Cursor agent.
The robots.txt and Markdown-for-agents posts now match Cloudflare's September 15, 2026 Search, Training, and Agent controls. Unconfigured zones stay on Allow. New ad-supported domains get a recommended training disallow, not a blanket AI-bot block.
The Jev tutorial now explains how a decision model differs from ChatGPT, Cursor, OpenAI Codex, Claude Code, other CLI coding agents, traditional classifiers, and structured LLM outputs. It also covers semantic code linting, log and database classification, replay tests for wrong but valid decisions, AI-spend calculations, my own workflow plans, and optional Jev extensions for every current Bootcamp project.
The Bootcamp page is on the site again. The September edition is running with enrollment closed, and the waiting list is open for the February 2027 edition.
The development vs production guide now covers where to set NODE_ENV on a server (systemd, pm2, Docker), which hosting platforms set it for you, why staging should not use it, and the npm devDependencies gotcha. The matching Node.js course lesson was updated too.
One long guide to OpenAI's coding agent, written around the desktop app: first prompt, AGENTS.md, Plan and Goal modes, review, the built-in browser, Computer Use, MCP, skills, plugins, hooks, worktrees, and scheduled tasks, then the CLI. It closes with two real jobs and the loop I follow.
The Grok Bot guide now shows the Update old posts Bot that hands stale posts to a Cursor cloud agent and gets a merged PR back each day. The Cursor Projects post gained a screenshot of where Projects live in the Agents view.
The sponsor page now lists a custom tutorial package, a "Why not both?" option that combines the monthly placement with the tutorial, and clearer monthly unique visitors copy.
A recap of what I learned building with coding agents every day since spring: where the bottleneck moved, small skills over big frameworks, the repository as memory, boundaries in code instead of prompts, and where the joy went.
A guide to making Claude Code, Codex and Cursor answer with less noise: Claude Code's Concise output style, the Codex personality and verbosity settings that hide reasoning summaries, output rules for Cursor that actually stick, ready-made skills, and the trade-offs of each switch.
A practical guide to tldraw: its infinite canvas, React SDK, AI starter kits, MCP App, local desktop app, visual workflows, and software development use cases.
Later the same day I added a short section on how tldraw is built: Signia and the record store in the SDK, one Cloudflare Durable Object per board with SQLite and R2 behind tldraw.com, Postgres on Supabase synced with Zero, and the React 19 and Vite client.
A practical guide to the tsconfig.json options that matter: strict, target, lib, module resolution, noEmit, paths, include, and a modern starter configuration.
A guide to Cursor Projects, launched on September 10: the coordinator agent, subagents, shared context, subscriptions, how to create your first Project, and how I would use it on this site.
A practical guide to JSON Lines (NDJSON): how to write it, stream it, and query it, plus how Work Tracebook uses it as an event store.
A long guide to the Ghostty terminal: shortcuts, the config file, fonts, themes, splits, keybindings, shell integration, SSH, shaders, plus a map of my terminal courses, books, and tutorials.
ahastack.dev now documents Astro 7 and htmx 4, ships 18 live demos on Cloudflare, and includes a skill file so coding agents can build with the AHA stack.
Version examples in the guide were updated for the official installer, Homebrew, and nvm.
All eight packages in the software catalog are now public MIT repositories under github.com/flaviocopes: Waiting Lists, Broadcast Keep, Local Hoster, Port Pilot, Events Logger, Cloudflare Domains Toolkit, Plausible Automation Toolkit, and tte.js. Each repository has the full source, tests, and one README with the documentation that used to live on the software pages. The ZIP downloads and the newsletter gate for software are gone. Issues and pull requests are off: fork them and make them yours.
The WebMCP guide now shows how I could use it in Calculum, StackPlan, HostingPicker, Payment Processor, Events Logger, Sitebase, Waiting Lists, the Bootcamp, and Solo Lab. It also explains why idempotent write tools are safer than toggles.
CLI Tools Cabinet is a free, open source macOS app that catalogs every command-line tool installed with Homebrew, npm, and Cargo, plus trusted user directories. Each tool shows its version, help, tldr examples, and the commands you already ran from your shell history. A companion CLI reads the same catalog and prints JSON for coding agents.
Every lesson in the free course library, about 2,000 across 87 courses, was rewritten in the same conversational voice as the AI Fundamentals rewrite. Template-style lessons now open with what the concept is and why it exists, show a command or snippet with realistic values and the exact output you get back, and end with one realistic failure and its fix. Along the way I fixed factual and code errors the pass surfaced (Swift ranges and initializers, du block sizes, xargs batching, signal numbers, outdated Express body parsing, Node.js hosting options, Vercel plan gating, and more) and ported those fixes to the blog posts the lessons came from. Every course PDF and EPUB was regenerated.
I launched a free command-line tool for creating, reading, and updating Things 3 projects and tasks from the terminal or a coding agent.
The WebMCP deep dive now covers consequentialHint, which marks purchases, emails, travel bookings, and other actions that should pause for user confirmation.
The September cohort started and enrollment is closed. It runs through mid-November, then the Bootcamp relaunches in March 2027. I hid the site-wide bootcamp promo banners and simplified the cohorts page to match.
Herdr 0.9 lets one client show local and remote machines together. The deep dive now covers herdr machine add, switching between machines in the sidebar, what happens when a connection drops, the profile commands, the one-server scope of the CLI, and the planned Herdr Cloud relay. A new section shows how to start parallel agents in fresh Git worktrees with one command and no branch naming, using herdr worktree create, the worktree.created plugin hook, and worktree remove for cleanup.
All 30 lessons of the free AI Fundamentals course were rewritten in a plainer, more conversational voice, with material folded in from the AI Workshop: how models are trained, the training-data cutoff, choosing a model by cost, power, and speed, subscriptions versus API keys, AGENTS.md rules, skills, and MCP. A new AI glossary lesson opens the course.
The WebMCP deep dive now covers the WindTunnel benchmark: how WebMCP tool calling compares with screenshot and DOM-based browser agents on speed, cost, tokens, and tasks solved.
A long, practical guide for software engineers: train a small GPT-style language model on a Mac with Language Model Builder, from random weights to checkpoints and sampling.
A long comparison of Resend, Cloudflare Email Service, Postmark, Mailgun, SendGrid, Amazon SES, Mailtrap, AgentMail and others, covering sending, receiving, and giving agents their own inbox.
Creem is the first sponsor of the site. Sponsor cards now sit beside the content on the right, so they are visible without interrupting the reading flow.
I protected newsletter signup with Turnstile. Readers still get one simple form, while automated submissions are rejected before they reach the mailing list.
I added a sponsorship page with two clear options: a site link or a sponsored post. It also has a dedicated inquiry form.
The Bootcamp page now explains the seven guided builds, the three-week product phase, and the expected time commitment of one to two hours a day.
Every post now ends with quick ways to follow me on X or add this site as a preferred source in Google.
I added a direct contact page and a plain-language privacy page. They explain how to reach me and how the site handles subscriptions, purchases, analytics, cookies, and course progress.
Quizzes now start with a clear button, let you change an answer before submitting it, and resume at the first unanswered question.
I added a free course about building interactive interfaces with modern HTML and browser APIs. It covers details, dialogs, popovers, templates, forms, events, and view transitions.
I separated the live cohort programs from the free course library. The new page shows how Bootcamp, Solo Lab, and Ship Factory fit together across the season.
Prototyped sells working software with full source code, tests, documentation, and instructions for coding agents. Waiting Lists and Broadcast Keep are the first two available. Prototyped is now retired, and my products live on the products page.
The free course library grew to 54 courses. It now covers programming, AI, databases, security, infrastructure, Linux, and deployment.
You can read every course on the site without signing up. You can also download PDF and EPUB editions, and the site remembers when you already have access.
I built a self-hostable waiting-list service with double opt-in. Your site keeps its own form and design, while Waiting Lists handles confirmation, storage, delivery tracking, removal, and exports.
This is a subscription audit for finding paid apps you could replace with small software built for the way you work. It turns each subscription into a practical build brief you can give to a coding agent.
I made the path after learning to code much clearer. Ship Factory is about building a repeatable software factory. Solo Lab is about finding customers, selling your work, and building a sustainable independent business.
I launched Calculum for everyday calculations, Migrating to for moving between platforms, Disaster Lab for prevention and recovery playbooks, and Payment Processor for comparing payment providers.
Each one started with a specific problem and became a focused, useful website.
The next Full-Stack Bootcamp now starts in September. The course page explains the new timing, what students build, and how to join the waiting list.
I rebuilt the homepage and courses page around the stages of creating software: learn, design, ship, operate, and work for yourself.
I also published the full story of the software, apps, courses, and failed projects I have built since 1999.
I moved the AI Workshop to aiworkshop.sh. The workshop, waiting list, course material, and future updates now have one permanent home.
JavaScript, CSS, Git, databases, and other large subjects now have curated starting pages. Each hub gives you a sensible route through the best tutorials instead of dropping you into a list of hundreds of posts.
Start with JavaScript →Start with CSS →Start with databases →
fstack is my free collection of 13 simple agent skills. They help you define, plan, build, review, document, and ship software without turning the process into a complicated framework.
I added quizzes, saved progress, review questions, streaks, achievements, and certificates. That work became the foundation for the free course library that followed later in the month.
The new tools section launched with 90 tools and grew to 220 within days. You can format data, inspect tokens, generate configuration, compare approaches, and solve small development problems without sending your input to a server.
I opened a new AI Workshop cohort and improved the welcome flow so new members received their course and community links reliably.
Enrollment later moved to the dedicated AI Workshop site, where the waiting list is now open.
I added search to the blog, improved topic pages, and made related posts more useful. I also fixed broken links and added better descriptions to hundreds of pages.
Images across 327 posts received useful alt text, and post images became faster to load.
I moved the entire site to Cloudflare Pages. The public pages stayed static and fast, while course purchases and access emails moved with them.
I restored the programming tutorials that had moved to The Valley of Code. They are back on this site with their original URLs, images, topics, and links.
The blog became the main home for everything I write: short fixes, long tutorials, product stories, and news.
I opened enrollment for a new AI Workshop cohort and published a simpler history of the previous cohorts. The workshop later moved to its own site.
I rewrote page titles and descriptions so you can tell what a page contains before opening it. Shared links also started showing clearer previews.