How Beyond Tabs Led to Guida
Beyond Tabs came before Guida.
It is a hand-curated site for niche programming-language jobs, events, and resources. That sounds simple from the outside: find relevant pages, read them, decide what belongs, keep the useful pieces, discard the rest. In practice, the work sits in an awkward middle ground.
It is too repetitive to be pleasant as pure manual browsing. It is too judgment-heavy to hand over completely to a scraper. And it is too varied to reduce to one brittle script that assumes every useful page looks the same.
That middle ground is where Guida started.
The work between browsing and scraping
Maintaining a curated site means doing a lot of small web tasks that are individually easy and collectively draining.
Open a page. Decide whether it is relevant. Extract a title, link, date, company, language, or short description. Check whether the source is still live. Notice duplicates. Follow another link. Compare a page against what is already stored. Keep enough context that the final result is useful to a reader, not just technically extracted.
Traditional browser automation can help with parts of that. A script can open pages, query the DOM, and store data. But a curation workflow is not just “select these elements and save them.” The useful part often depends on judgment:
- Is this actually about the language I care about, or just keyword noise?
- Is the page still current?
- Is this a real job/event/resource, or a content farm?
- Did the site change its layout?
- Is the result worth publishing?
Pure scraping is good when the page structure is stable and the question is narrow. Beyond Tabs kept producing tasks that were not like that. They were half browsing, half extraction, half review. That is too many halves, which was the point.
Why one-off scripts were not enough
The obvious first answer was to write scripts.
That helped. It also exposed the next problem. Once a script is useful, it wants a little ecosystem around it:
- a place to store extracted data,
- a way to process work in batches,
- a queue for pages that need review,
- local state that survives between sessions,
- tools for inspecting what happened,
- a way to change the script without rebuilding an app,
- and a way to keep sensitive credentials out of the script itself.
At that point the question changes. You are no longer asking, “Can I scrape this page?” You are asking, “What kind of browser would make this work normal?”
That question is Guida.
Why AI did not remove the need for control
Large language models made the problem more interesting, not less.
An AI can help interpret messy pages. It can summarize, classify, suggest selectors, decide whether something looks relevant, and write glue code faster than I want to type it. But letting an AI operate a browser creates a different problem: it needs boundaries.
I did not want an invisible agent roaming the web, clicking things, reading secrets, or sending data somewhere just because a prompt made that sound reasonable. For Beyond Tabs-style work, the useful model is not “fully autonomous browsing.” It is supervised automation:
- the browser is visible,
- actions are inspectable,
- navigation can be constrained,
- sensitive operations require approval,
- tool calls are audited,
- secrets stay local,
- and the human remains part of the loop.
That is why Guida’s MCP work is not just a thin “AI can click the browser” adapter. The approval, audit, domain, origin, and secret boundaries are core to the product.
The tool generalized
If Guida had only been a helper for Beyond Tabs, it would have stopped at a few scripts and a table.
It did not.
The work expanded into a programmable Windows browser with a scripting API of more than 160 methods, JavaScript/Lua/Janet runtimes, local workspaces, queues, workers, storage, search, network capture, MCP integration, approval flows, audit history, and secret isolation.
Some of the supporting infrastructure became its own thing. JanetSharp came from bringing Janet into a .NET desktop app. StratQueue came from needing SQLite-backed work queues with pluggable dequeue strategies.
Those packages are public because they are reusable infrastructure. Guida itself currently ships as a closed-source Windows app, and the product-specific browser automation and web scraping layer will stay closed. The boundary matters: the reusable plumbing is useful beyond Guida; the product layer is where the highest-risk capability and product-specific guardrails live.
That distinction is not incidental. It came from building a real tool around real workflows and finding out which parts were general.
The browser I wanted to have
The more I worked on Beyond Tabs, the more I wanted a browser that treated automation as a first-class activity instead of a pile of external scripts around a browser tab.
I wanted to write a script, run it against a visible page, queue a batch of URLs, store results locally, ask an LLM to help with interpretation, review what happened, and keep the whole thing under my control.
Not a headless scraper.
Not a cloud browser I had to rent.
Not an AI agent with vague permissions.
A local, programmable browser for workflows where the web is messy and the human judgment still matters.
That became Guida.
Beyond Tabs did not define the full scope of the product. It exposed the shape of the missing tool. Guida is what happened when I stopped treating that missing tool as glue code and started building it properly.