frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: One Human + One Agent = One Browser From Scratch in 20K LOC

https://emsh.cat/one-human-one-agent-one-browser/
26•embedding-shape•4h ago

Comments

embedding-shape•4h ago
I set some rules for myself: three days of total time, no 3rd party Rust crates, allowed to use commonly available OS libraries, has to support X11/Windows/macOS and can render some websites.

After three days, I have it working with around 20K LOC, whereas ~14K is the browser engine itself + X11, then 6K is just Windows+macOS support.

Source code + CI built binaries are available here if you wanna try it out: https://github.com/embedding-shapes/one-agent-one-browser

jacquesm•1h ago
Those are excellent constraints.
simonw•2h ago
This is a notably better demonstration of a coding agent generated browser than Cursor's FastRender - it's a fraction of the size (20,000 lines of Rust compared to ~1.6m), uses way fewer dependencies (just system libraries for rendering images and text) and the code is actually quite readable - here's the flexbox implementation, for example: https://github.com/embedding-shapes/one-agent-one-browser/bl...

Here's my own screenshot of it rendering my blog - https://bsky.app/profile/simonwillison.net/post/3mdg2oo6bms2... - it handles the layout and CSS gradiants really well, renders the SVG feed icon but fails to render a PNG image.

I thought "build a browser that renders HTML+CSS" was the perfect task for demonstrating a massively parallel agent setup because it couldn't be productively achieved in a few thousand lines of code by a single coding agent. Turns out I was wrong!

vidarh•1h ago
I think the human + agent thing absolutely will make a huge difference. I see regularly that Claude can totally off piste and eventually claw itself back with a proper agent setup but it will take a lot of time if I don't spot it and get it back on track.

I have one project Claude is working on right now where I'm testing a setup to attempt to take myself more out of the loop, because that is the hard part. It's "easy" to get an agent to multiply your output. It's hard to make that scale with your willingness to spend on tokens rather than with your ability to read and review and direct.

I've ended up with roughly this (it's nothing particularly special):

- Runs a evaluator that evaluates the current state and assigns scores across multiple metrics.

- If a given score is above a given threshold, expand the test suite automatically.

- If the score is below a given threshold, spawn a "research agent" that investgates why the scores don't meet expectations.

- The research agent delivers a report, that is passed to an implementation agent.

- The main agent re-runs the scoring, and if it doesn't show an improvement on one or more of the metrics, the commit is discarded, and notes made of what was tried, and why it failed.

It takes a bit of trial and error to get it right (e.g. "it's the test suite that is wrong" came up early, and the main agent was almost talked into revising the test suite to remove the "problematic" tests) but a division sort of like this lets Claude do more sensible stuff for me. Throwing away commits feels drastic - an option is to let it run a little cycle of commit -> evaluate -> redo a few times before the final judgement, maybe - but it so far it feels like it'll scale better. Less crap makes it into the project.

And I think this will work better than to treat these agents as if they are developers whose output costs 100x as much.

Code so cheap it is disposable should change the workflows.

So while I agree this is a better demonstration of a good way to build a browser, it's a less interesting demonstration as well. Now that we've seen people show that something like FastRender is possible, expect people to experiment with similarly ambitious projects but with more thought put into scoring/evaluation, including on code size and dependencies.

embedding-shape•1h ago
> I think the human + agent thing absolutely will make a huge difference.

Just the day(s) before, I was thinking about this too, and I think what will make the biggest difference is humans who posses "Good Taste". I wrote a bunch about it here: https://emsh.cat/good-taste/

I think the ending is most apt, and where I think we're going wrong right now:

> I feel like we're building the wrong things. The whole vibe right now is "replace the human part" instead of "make better tools for the human part". I don't want a machine that replaces my taste, I want tools that help me use my taste better; see the cut faster, compare directions, compare architectural choices, find where I've missed things, catch when we're going into generics, and help me make sharper intentional choices.

vidarh•46m ago
For some projects, "better tools for the human part" is sufficient and awesome.

But for other projects, being able to scale with little or no human involvement suddenly turns some things that were borderline profitable or not possible to make profitable at all with current salaries vs. token costs into viable businesses.

Where it works, it's a paradigm shift - for both good and bad.

So it depends what you're trying to solve for. I have projects in both categories.

embedding-shape•43m ago
Personally I think the part where you try to eliminate humans from involvement, is gonna lead to too much trouble, being too inflexible and the results will be bad. It's what I've seen so far, haven't seen anything pointing to it being feasible, but I'd be happy to be corrected.
vidarh•35m ago
It really depends on the type of tasks. There are many tasks LLMs do for me entirely autonomously already, because they do it well enough that it's no longer worth my time.
rahimnathwani•1h ago
This is awesome. Would you be willing to share more about your prompts? I'm particularly interested in how you prompted it to get the first few things working.
embedding-shape•44m ago
Yes, I'm currently putting it all together and will make it public via the blog post. Just need to go through all of it first to ensure nothing secret/private leaks, will update once I've made it public.
jacquesm•1h ago
This post is far more interesting than many others on the same subject, not because of what is built but because of how it it is built. There is a ton of noise on this subject and most of it seems to focus on the thing - or even on the author - rather than on the process, the constraints and the outcome.
embedding-shape•52m ago
Thanks, means a lot. As the author of one such article (that might have been the catalyst even), I'm guilty of this myself, and as I dove deeper into understanding what Cursor actually built, and what they think was the "success", the less sense everything made to me.

That's why taking a step back and seeing what's actually hard in the process and bad with the output, felt like it made more sense to chase after, rather than anything else.

jacquesm•18m ago
I think the Cursor example is as bad as it gets and this is as good as it gets.

FWIW I ran your binary and was pleasantly surprised, but my low expectations probably helped ;)

Show HN: We Built the 1. EU-Sovereignty Audit for Websites

https://lightwaves.io/en/eu-audit/
87•cmkr•4h ago•64 comments

Show HN: Honcho – Open-source memory infrastructure, powered by custom models

https://github.com/plastic-labs/honcho
8•vvoruganti•2h ago•0 comments

Show HN: One Human + One Agent = One Browser From Scratch in 20K LOC

https://emsh.cat/one-human-one-agent-one-browser/
26•embedding-shape•4h ago•13 comments

Show HN: TetrisBench – Gemini Flash reaches 66% win rate on Tetris against Opus

https://tetrisbench.com/tetrisbench/
107•ykhli•23h ago•39 comments

Show HN: Only 1 LLM can fly a drone

https://github.com/kxzk/snapbench
173•beigebrucewayne•1d ago•91 comments

Show HN: I built a CSV parser to try Go 1.26's new SIMD package

https://github.com/nnnkkk7/go-simdcsv
2•tokkyokky•3h ago•0 comments

Show HN: 13-Virtues – A tracker for Benjamin Franklin's 13-week character system

https://www.13-virtues.com
3•HeleneBuilds•4h ago•1 comments

Show HN: SF Microclimates

https://github.com/solo-founders/sf-microclimates
30•weisser•1d ago•31 comments

Show HN: I made AI earphones remember everything (auto-sync to Obsidian)

23•Paddyz•6d ago•5 comments

Show HN: An interactive map of US lighthouses and navigational aids

https://www.lighthouses.app/
98•idd2•2d ago•21 comments

Show HN: Actionbase – A database for likes, views, follows at 1M+ req/min

https://github.com/kakao/actionbase
4•em3s•7h ago•3 comments

Show HN: Ourguide – OS wide task guidance system that shows you where to click

https://ourguide.ai
39•eshaangulati•23h ago•20 comments

Show HN: TUI for managing XDG default applications

https://github.com/mitjafelicijan/xdgctl
134•mitjafelicijan•2d ago•45 comments

Show HN: Get recommendations or convert agent skills directly in your workspace

https://www.agenstskills.com/
2•rohitghumare•9h ago•0 comments

Show HN: Netfence – Like Envoy for eBPF Filters

https://github.com/danthegoodman1/netfence
57•dangoodmanUT•2d ago•7 comments

Show HN: Managed Postgres with native ClickHouse integration

44•saisrirampur•4d ago•9 comments

Show HN: A small programming language where everything is pass-by-value

https://github.com/Jcparkyn/herd
88•jcparkyn•1d ago•56 comments

Show HN: Fence – Sandbox CLI commands with network/filesystem restrictions

https://github.com/Use-Tusk/fence
77•jy-tan•1w ago•23 comments

Show HN: Walk and drive through OpenStreetMap in 3D

https://bilalba.github.io/osmexplorer/
2•bilalba•11h ago•3 comments

Show HN: Burn Text – Add animated captions to videos, runs locally in browser

https://www.burntext.com/
3•anshul360•12h ago•0 comments

Show HN: Bonsplit – Tabs and splits for native macOS apps

https://bonsplit.alasdairmonk.com
243•sgottit•2d ago•33 comments

Show HN: isometric.nyc – giant isometric pixel art map of NYC

https://cannoneyed.com/isometric-nyc/
1320•cannoneyed•5d ago•240 comments

Show HN: Coi – A language that compiles to WASM, beats React/Vue

224•io_eric•6d ago•69 comments

Show HN: C From Scratch – Learn safety-critical C with prove-first methodology

https://github.com/SpeyTech/c-from-scratch
70•william1872•2d ago•11 comments

Show HN: AutoShorts – Local, GPU-accelerated AI video pipeline for creators

https://github.com/divyaprakash0426/autoshorts
71•divyaprakash•2d ago•32 comments

Show HN: Hybrid Markdown Editing

https://tiagosimoes.github.io/codemirror-markdown-hybrid/
10•eropatori•22h ago•4 comments

Show HN: Text-to-video model from scratch (2 brothers, 2 years, 2B params)

https://huggingface.co/collections/Linum-AI/linum-v2-2b-text-to-video
157•schopra909•5d ago•24 comments

Show HN: LLMNet – The Offline Internet, Search the web without the web

https://github.com/skorotkiewicz/llmnet
29•modinfo•2d ago•6 comments

Show HN: NukeCast – If it happened today, where would the fallout go

https://nukecast.com/
18•todd_tracerlab•1d ago•6 comments

Show HN: Open-source Figma design to code

https://github.com/vibeflowing-inc/vibe_figma
50•alepeak•3d ago•9 comments