JOSH: It's Monday, July 20. This is Build or Be Replaced — powered by ScanBrief.dev. I'm Josh, here with Erik Anderson.
ERIK: Today's theme is simple. Your browser, your hardware, your token bill. If you don't own the system, you're renting somebody else's priorities.
JOSH: Stick around — Erik's got an AI pro tip at the end about making agents spend tokens only when the work deserves it.
JOSH: [pause]
JOSH: First headline. Kagi's Orion Browser is getting fresh attention. Privacy browser, zero telemetry, built-in blocking. Erik, browser story or bigger signal?
ERIK: Bigger signal. The browser is becoming the agent runtime. If the browser is watching everything, your automation boundary is already leaking.
JOSH: Second headline. A bowling center replaced a 120 thousand dollar scoring system with about 1,600 dollars in ESP32 hardware. Is that clever engineering or chaos with lane shoes?
ERIK: It's real engineering if it survives league night. The hardware was never the expensive part. The expensive part was vendor control wrapped around some sensors and a state machine.
JOSH: Third headline. A developer burned all their AI tokens researching how to save AI tokens. That feels a little too close.
ERIK: Duuude, yes. That's the AI version of driving across town to save two cents on gas. Token cost matters, but wasting builder time chasing tiny savings is how products go to die.
JOSH: [pause]
JOSH: Start with Orion. Why should builders care about another browser?
JOSH: [beat]
ERIK: Because browsers aren't just browsers anymore. They are where work happens. GitHub, Gmail, cloud consoles, Jira, vendor portals, dashboards, payment systems, CMS tools. All the messy stuff agents need to touch lives in the browser.
ERIK: Today, an agent summarizes a page. Tomorrow, it logs in, changes a config, uploads a file, checks a form, screenshots the result, and opens a ticket if it breaks. That browser session becomes infrastructure.
JOSH: Wait, really? Even for normal automation?
ERIK: Yeah. Look at email-reactor. A client emails a website change. The system reads it, classifies it, creates the work, builds a patch, and can push it through review. That's clean until the last mile needs a browser.
ERIK: Maybe the agent has to log into a CMS. Maybe it has to check a live page. Maybe it has to validate a contact form. Now the browser profile has cookies, sessions, customer data, and maybe billing access. That's not casual web browsing. That's privileged execution.
JOSH: So privacy browser isn't just consumer privacy. It's operations hygiene.
ERIK: Exactly. Same way I think about PrimeBus. PrimeBus isn't just messages moving around. It's intent becoming action. A test fails, telemetry lands, an agent sees it, a review path starts. If that bus is messy, the agents do messy things.
ERIK: The browser is the same kind of boundary. If you let your personal browser become the automation runtime, you've mixed human habits with machine actions. That's how you get weird bugs, bad permissions, and screenshots full of stuff nobody needed to see.
JOSH: How does that compare to Chrome, though? Most automation tools work there first.
ERIK: Chrome wins compatibility. No question. Playwright, Selenium, extensions, dev tools, enterprise controls. It's the default because vendors test against it first.
ERIK: But defaults become dependencies. That's the trap. A builder writes a script that only works in one profile, on one laptop, with one extension set, using one saved login. Then they call it production. That's not production. That's a hostage situation with tabs.
JOSH: That's painfully specific.
ERIK: Because I've seen it. In networking, it's the same mistake as clicking around a controller UI and pretending that's automation. If you can't replay it, audit it, and run it without your personal session, it's not a system.
ERIK: You want dedicated browser profiles. Dedicated service accounts. Tight permissions. Network egress rules. Screenshot capture. Logs. If an agent is driving a browser, treat that browser like a worker node.
JOSH: Where does Orion fit?
ERIK: Orion is useful because it pushes the conversation back toward control. WebKit, blocking, low telemetry, less garbage around the user. Even if you don't standardize on it, it makes you ask the right question. What is this browser doing while my agent works?
ERIK: Test across runtimes. Chrome for compatibility. WebKit for assumptions. Firefox when you want pain that teaches you something. If your automation breaks outside one browser, maybe that's fine. Or maybe you built on accidental behavior.
JOSH: What's the builder move today?
ERIK: Create a clean browser profile for automation. No personal accounts. No random extensions. No password manager full of your life. Run one workflow through it with Playwright or Selenium and save screenshots at each major step.
ERIK: Then ask one brutal question. Would I be comfortable letting this run at 2 AM while I'm asleep? If the answer is no, don't connect it to money, clients, or production.
JOSH: [pause]
JOSH: Next story. The bowling alley build. A 120 thousand dollar system replaced with roughly 1,600 dollars in ESP32s. Why did this one hit so hard?
ERIK: Because it's the cleanest example of old pricing meeting modern builder tools. Bowling scoring sounds specialized. And parts of it are. Pin detection, lane state, scoring rules, reset behavior, displays, front desk coordination.
ERIK: But under that, it's sensors, events, state machines, and UI. That's not magic. That's Tuesday.
JOSH: But the vendor system costs 120 thousand dollars. That gap is massive.
ERIK: Some of that cost is real. Installation, support, spare parts, insurance, somebody answering the phone when lane seven acts possessed. I get that.
ERIK: But a lot of niche systems are priced like the customer has no escape path. The quote isn't just hardware. It's lock-in with an invoice printer.
JOSH: And ESP32 changes that?
ERIK: ESP32 makes the edge cheap. You can read sensors, publish state over Wi-Fi, talk MQTT or NATS, push to a backend, update a web UI, and recover from failure without buying a giant closed box.
ERIK: The right architecture is boring. Each lane reports events. Pin state changed. Ball detected. Frame advanced. Error detected. The central service validates state and updates displays. If one lane gets weird, it doesn't take down the building.
JOSH: That sounds a lot like how you talk about PrimeBus.
ERIK: Same pattern. Events first. Workers subscribe. Actions happen because the system observed something, not because a human remembered to click a button.
ERIK: In PrimeBus, a service emits telemetry. Another process decides if it needs review. Another one can open an agent session. Different domain, same idea. Sensors in a bowling lane, tests in a repo, alerts in a network. Events are events.
JOSH: What would you worry about in that bowling setup?
ERIK: Power, Wi-Fi, calibration, physical abuse, and recovery. Always recovery. The demo is easy. The hard part is what happens when a kid spills soda near the lane, the access point reboots, and three frames are already in progress.
JOSH: That's where the vendor earns some money.
ERIK: Exactly. Support matters. But support doesn't mean the core system has to be mysterious. A good builder would put local state on the lane controller, central state in the backend, and a reconcile process between them.
ERIK: You need a manual correction path too. Humans will need to fix a score. Don't make them SSH into a microcontroller because the eighth frame had an opinion.
JOSH: That's wild, but also kind of obvious when you say it.
ERIK: That's most automation. People see a big expensive system and assume the internals are sacred. Then you diagram it and it's inputs, rules, outputs, and exceptions.
ERIK: Networking is full of this. Cisco NSO, Terraform, Kubernetes, all of it. The tool names change, but the job is still state management. What state do we want? What state do we have? What's allowed to change it?
JOSH: So is the lesson "replace every vendor system with hobby boards"?
ERIK: No. That's how you create a second job for yourself. The lesson is know where the value is. If the vendor gives you uptime, support, parts, and accountability, maybe the price is worth it. If they're selling a locked box that does basic state tracking, you have room.
ERIK: Build a prototype. Measure the risk. Start with one lane, one workflow, one site, one router, one ticket type. Prove it small. Then expand. That's how I run my stuff. Lab first, guardrails, then production.
JOSH: What's the business angle?
ERIK: This is the playbook for small automation companies. Find boring vertical systems where the software is ancient and the pricing is weird. Don't start by promising a replacement for everything. Start with the pain point.
ERIK: Maybe it's alerts. Maybe it's reporting. Maybe it's inventory. Maybe it's one form that takes 15 minutes every day and everyone hates it. Build around the edge first. Earn trust. Then take on the bigger system.
JOSH: That sounds less flashy than "AI startup."
ERIK: Good. Flashy gets crowded. Boring pays invoices.
JOSH: [pause]
JOSH: Now the token story. Somebody spent a pile of AI tokens trying to research how to save AI tokens. Why is that so common?
ERIK: Because developers love efficiency problems. They're fun. You can measure them, graph them, argue about them, and avoid shipping while feeling productive.
ERIK: Token cost is real. Especially when agents run all day. But token obsession too early is a trap. You don't need a perfect cost model before you know if the workflow works.
JOSH: Where's the line? When should someone care?
ERIK: Care when usage is repeatable. If a workflow runs once, don't spend three days shaving pennies. If it runs every hour, every day, across many repos or clients, now cost matters.
ERIK: PrimeRouter exists because I needed routing control. Not vibes. Priority tiers, provider failover, telemetry, model selection. Some tasks deserve the expensive model. Some tasks need a cheap classifier. Some tasks should be a regex and a calendar reminder.
JOSH: Give me an example.
ERIK: Code review with risk? Use a stronger model. Customer-facing copy? Use a stronger model. Sorting inbound email into categories? Smaller model. Extracting a date from a known format? Don't call a model at all.
ERIK: People send everything to the smartest model because it's easy. That's like using a CCIE to reboot a printer. It works, but come on.
JOSH: So the mistake isn't spending tokens. It's spending them blindly.
ERIK: Exactly. A token bill with telemetry is tuition. A token bill without telemetry is a donation.
ERIK: You need task labels. Model used. Input size. Output size. Retry count. Outcome. Did it pass tests? Did a human approve it? Did it create rework? Without that, you don't know if the expensive call was waste or the cheapest part of the whole job.
JOSH: How do builders put that in place without building a whole platform?
ERIK: Start stupid simple. Wrap your model calls in one function. Log the task name, model, estimated cost, duration, and result. Write it to a table. That's it.
ERIK: After a week, sort by cost. Then sort by failures. Then sort by calls that produced no action. That's where the money is hiding.
JOSH: Calls that produced no action?
ERIK: Yeah. The agent reads ten files, thinks very hard, and changes nothing. Sometimes that's correct. Sometimes it's just burning context because the prompt was vague.
ERIK: For ScanBrief, the pipeline is staged. Collect, dedupe, score, summarize, select. You don't ask the biggest model to read the whole internet. You use smaller steps and only spend heavier reasoning where it changes the outcome.
JOSH: How does this connect to agent workflows?
ERIK: Agents need budgets. Not just money budgets. Step budgets. Tool budgets. Retry budgets. A good agent should know when to stop and ask for help.
ERIK: HumanRail exists in my world for that reason. When confidence is low or risk is high, route to a human. That's not weakness. That's architecture.
JOSH: A lot of people want full autonomy, though.
ERIK: Full autonomy without brakes is just a very fast intern with production access. Nobody should want that.
JOSH: Fair.
ERIK: Real autonomy is bounded. The system knows what it's allowed to touch. It knows what success looks like. It has tests. It has rollbacks. It has logs. It has a human path when the blast radius is too big.
ERIK: That's why I don't care about demos where an agent opens a browser and orders a pizza. Cute. Show me the audit log. Show me the retry behavior. Show me what happens when the website changes a button label.
JOSH: That's the difference between a clip and a system.
ERIK: Exactly. The clip gets views. The system pays the mortgage.
JOSH: [pause]
JOSH: Pull these together for me. Browser privacy, cheap hardware, token bills. What's the common thread?
ERIK: Control. That's it. Control of execution, control of cost, control of state.
ERIK: The browser story says your runtime matters. The bowling story says hardware is cheaper than the lock-in around it. The token story says intelligence has a meter attached, so route it like any other resource.
ERIK: Builders win when they stop treating tools like magic and start treating them like parts. Browser is a worker. Microcontroller is an edge node. LLM is a reasoning service. NATS is the nervous system. Terraform is desired state. Kubernetes is scheduling. NSO is network intent. None of it is mystical.
JOSH: And the human?
ERIK: The human designs the boundaries. That's the job now. Not clicking the same thing forever. Not copying data between systems. Decide what the system can do alone, what needs review, and what should never be automated.
JOSH: That's a different kind of engineering.
ERIK: It's better engineering. More judgment, less button clicking. The people who cling to the buttons are going to have a bad time.
JOSH: Build or be replaced.
ERIK: Exactly. And replaced doesn't always mean fired. Sometimes it means your old workflow gets deleted and nobody misses it. That's a very polite funeral.
JOSH: [pause]
ERIK: This episode is sponsored by Prime Automation Solutions. If you're still doing it manually, we automate it. Also, special on a website — $250. primeautomationsolutions.com
JOSH: [pause]
JOSH: Alright, what's the AI pro tip today?
ERIK: Put a price tag and a stop condition on every agent task.
ERIK: Here's the move. In your agent prompt, add three fields before it starts work. Max tool calls. Max model calls. Definition of done.
ERIK: Example. "You get eight tool calls, three model calls, and you're done when tests pass or you can name the blocker." That one sentence changes behavior fast.
ERIK: Without limits, agents wander. They reread files, retry the same bad command, and burn context trying to look busy. With limits, they plan. They pick better tools. They stop earlier when the problem is unclear.
ERIK: Then log the result. Did it finish? Did it need a human? Did it spend the whole budget? After a few runs, you'll see which tasks are worth autonomy and which ones need a tighter workflow.
ERIK: Don't make the model guess the budget. Give it the budget. That's your tip. Use it.
JOSH: [pause]
ERIK: That tip is straight out of The Autonomous Engineer — my book on building systems that run themselves. Grab it on Amazon.
JOSH: One more thing — we started a Discord for builders. If you're shipping AI, automation, or anything that makes a human obsolete — come hang out. Link at buildorbereplaced.dev.
ERIK: Post what you built. We'll post what we're building. Real wins, real builds, no fluff.
JOSH: [pause]
ERIK: Build or be replaced.
JOSH: If you want these signals in your inbox every morning, scanbrief.dev. See you tomorrow.