;
;

Flavio Copes

Learn to build software products, put them on the internet, find customers, and create an independent business that can make a great living.

Software with a point of view

A software maker's taste shows up in defaults, empty states, and ordinary interactions. Give your app character through decisions that help people ...
Posted on 24 October 2026 | 3:00 pm

What would make an overnight agent useful?

An overnight coding agent needs a question worth answering. Start with the decision its result will help you make, and keep the morning review mana...
Posted on 24 October 2026 | 1:00 pm

I care more about the AI product I can use

An impressive AI roadmap means little when the product you need is unavailable. A practical way to separate future promises from today's useful sof...
Posted on 24 October 2026 | 10:00 am

How to use Cursor Computer Use

Use Cursor Computer Use to test desktop apps and iOS Simulator flows, reproduce UI bugs, and verify fixes with clear prompts and expected results.
Posted on 24 October 2026 | 8:15 am

The complete guide to LM Studio Bionic

Learn LM Studio Bionic: choose local or cloud models, fix a JavaScript bug step by step, work with documents, and review what the agent changes.
Posted on 24 October 2026 | 7:00 am

How to secure a VPS with Tailscale and Cloudflare Tunnel

Secure a VPS with private SSH over Tailscale and public web traffic through Cloudflare Tunnel. A complete guide to setup, firewalls, testing, and r...
Posted on 23 October 2026 | 7:00 pm

What to check before submitting a native app to App Review

Prepare an Apple app for review, choose useful native interactions, adopt Liquid Glass, and understand how direct Mac distribution differs.
Posted on 23 October 2026 | 3:00 pm

Triage support tickets in one request with OpenAI's Decisions API

OpenAI's Decisions API returns a probability, a choice, or a score. Triage a support ticket with several questions in one request.
Posted on 23 October 2026 | 10:00 am

How to publish a Chrome extension to the Chrome Web Store

Publish your Chrome extension with a clean ZIP, store listing, privacy disclosures, permission justifications, review instructions, and tested upda...
Posted on 23 October 2026 | 7:00 am

What to check before upgrading the Anthropic SDK

Upgrading the Anthropic SDK changes the API version your app sends. Check sampling parameters, authentication, message history, and output before y...
Posted on 23 October 2026 | 6:50 am

How to use a coding agent without another subscription

Connect OpenCode to DeepSeek or Ollama, understand API billing and local hardware costs, and test whether the setup works for your projects.
Posted on 22 October 2026 | 3:00 pm

How to create a DMG installer for a Mac app

Package your Mac app in a drag-to-Applications DMG, sign and notarize it, verify the download, and attach it to a GitHub release.
Posted on 22 October 2026 | 1:00 pm

AI video editing tools: what agents need to work safely

Recording and editing tools need inspectable state, useful commands, and recoverable changes if we want agents to help with real creative work.
Posted on 22 October 2026 | 10:00 am

A deep dive into Claude Duet

Claude Duet is Anthropic's proactive cloud agent. Learn how it works, what it can access, and how it compares with Grok Bot and ChatGPT dots.
Posted on 22 October 2026 | 7:37 am

Paid traffic for SaaS validation: how to test product demand

How to use a small paid traffic experiment to learn who gets value from a product, measure useful actions, and decide what to change.
Posted on 22 October 2026 | 7:00 am

Security in the age of AI

AI agents are finding old vulnerabilities and making complex attacks easier. A short history of automated hacking, what comes next, and how to prep...
Posted on 21 October 2026 | 4:54 pm

Give your coding agent a state machine

Build a small JavaScript state machine for a coding agent, with explicit transitions, a retry limit, a useful event log, and tests.
Posted on 21 October 2026 | 3:00 pm

PSA: update PHP today

PHP security fixes are available. Update now, check the fixed versions, and use these temporary mitigations only while waiting for patched packages.
Posted on 21 October 2026 | 1:04 pm

Jev vs structured outputs: when to use each

Compare Jev, JSON mode, and schema-constrained LLM outputs. Learn when a typed answer is enough and when decision probabilities justify another model.
Posted on 21 October 2026 | 1:00 pm

Vite toolchain: Cloudflare, vinext, and shared web tooling

Vite is becoming shared infrastructure for frameworks, runtimes, and developer tools. What vinext, Cloudflare's new tooling, and DevTools show.
Posted on 21 October 2026 | 10:00 am

SPA vs server-side rendering: which should you choose?

Choose between a single-page app, server-rendered pages, and interactive islands by looking at navigation, shared state, loading, and maintenance.
Posted on 21 October 2026 | 7:00 am

A deep dive into tsrs

Understand tsrs, the Rust port of TypeScript. Try the compiler, compare benchmarks, explore its architecture, and build a browser-based type checker.
Posted on 20 October 2026 | 2:30 pm

How to update all global npm packages

Update all global npm packages with npm update -g, check outdated tools, update one package, and understand which Node installation you are changing.
Posted on 20 October 2026 | 1:00 pm

Cloudflare Pages vs Workers: which should you choose?

Compare Cloudflare Pages and Workers for static sites and full-stack apps, with request diagrams, pricing examples, and advice on when to migrate.
Posted on 20 October 2026 | 12:45 pm

AI-assisted code migration: how to switch frameworks safely

Coding agents can handle repetitive migrations, but switching costs also include design drift, production behavior, deployment, and future maintena...
Posted on 20 October 2026 | 10:00 am

How AI agents make existing software more useful

Agents can help us combine existing tools and improve the details of our apps. That makes dependable behavior and clear interfaces worth paying att...
Posted on 20 October 2026 | 7:00 am

How I would evaluate Muse Wonder in Cursor

Muse Wonder is available in Cursor. Here's how to compare its coding results, reasoning effort, and token costs against the model you already use.
Posted on 19 October 2026 | 3:00 pm

How to compare OpenCode, Claude Code, and Codex CLI

Compare OpenCode, Claude Code, and Codex CLI with one reproducible bug fix, independent tests, setup checks, and an honest look at cost and interve...
Posted on 19 October 2026 | 1:00 pm

How to speed up tests for AI coding agents

How to shorten an agent's feedback loop with focused tests, realistic boundaries, useful failures, and broader checks before shipping.
Posted on 19 October 2026 | 10:00 am

15 apps you can vibe code instead of subscribing

Build your own Slack, Notion, Calendly, and more. These 15 guides include scoped AI prompts, realistic build estimates, and smaller features to sta...
Posted on 19 October 2026 | 9:00 am