HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
embedding-shapes
one-agent-one-browser
Rust2026–2026
embedding-shapes / one-agent-one-browser

one-agent-one-browser

One from scratch browser built by one human and one agent, working hand in hand

4Distinct people
10Mentions
0Explicit recommenders
228GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

One from scratch browser built by one human and one agent, working hand in hand

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:02:05 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 3-hour interval10 dated mentions

Observed mentions: 2026-01-27 13:44:20 UTC to 2026-01-30 04:22:47 UTC.

0122026-01-27 12:00:00 UTC to 2026-01-27 15:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJan 27, 12:002026-01-27 15:00:00 UTC to 2026-01-27 18:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-27 18:00:00 UTC to 2026-01-27 21:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-27 21:00:00 UTC to 2026-01-28 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-28 00:00:00 UTC to 2026-01-28 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-28 03:00:00 UTC to 2026-01-28 06:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-28 06:00:00 UTC to 2026-01-28 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-28 09:00:00 UTC to 2026-01-28 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-28 12:00:00 UTC to 2026-01-28 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-28 15:00:00 UTC to 2026-01-28 18:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-28 18:00:00 UTC to 2026-01-28 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 28, 18:002026-01-28 21:00:00 UTC to 2026-01-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 00:00:00 UTC to 2026-01-29 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 03:00:00 UTC to 2026-01-29 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 06:00:00 UTC to 2026-01-29 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 09:00:00 UTC to 2026-01-29 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 12:00:00 UTC to 2026-01-29 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 15:00:00 UTC to 2026-01-29 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 18:00:00 UTC to 2026-01-29 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-29 21:00:00 UTC to 2026-01-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-30 00:00:00 UTC to 2026-01-30 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-30 03:00:00 UTC to 2026-01-30 06:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJan 30, 03:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 27, 12:002026-01-27 12:00:00 UTC2026-01-27 15:00:00 UTC101
Jan 27, 15:002026-01-27 15:00:00 UTC2026-01-27 18:00:00 UTC202
Jan 27, 18:002026-01-27 18:00:00 UTC2026-01-27 21:00:00 UTC101
Jan 27, 21:002026-01-27 21:00:00 UTC2026-01-28 00:00:00 UTC202
Jan 28, 00:002026-01-28 00:00:00 UTC2026-01-28 03:00:00 UTC000
Jan 28, 03:002026-01-28 03:00:00 UTC2026-01-28 06:00:00 UTC101
Jan 28, 06:002026-01-28 06:00:00 UTC2026-01-28 09:00:00 UTC000
Jan 28, 09:002026-01-28 09:00:00 UTC2026-01-28 12:00:00 UTC000
Jan 28, 12:002026-01-28 12:00:00 UTC2026-01-28 15:00:00 UTC000
Jan 28, 15:002026-01-28 15:00:00 UTC2026-01-28 18:00:00 UTC202
Jan 28, 18:002026-01-28 18:00:00 UTC2026-01-28 21:00:00 UTC000
Jan 28, 21:002026-01-28 21:00:00 UTC2026-01-29 00:00:00 UTC000
Jan 29, 00:002026-01-29 00:00:00 UTC2026-01-29 03:00:00 UTC000
Jan 29, 03:002026-01-29 03:00:00 UTC2026-01-29 06:00:00 UTC000
Jan 29, 06:002026-01-29 06:00:00 UTC2026-01-29 09:00:00 UTC000
Jan 29, 09:002026-01-29 09:00:00 UTC2026-01-29 12:00:00 UTC000
Jan 29, 12:002026-01-29 12:00:00 UTC2026-01-29 15:00:00 UTC000
Jan 29, 15:002026-01-29 15:00:00 UTC2026-01-29 18:00:00 UTC000
Jan 29, 18:002026-01-29 18:00:00 UTC2026-01-29 21:00:00 UTC000
Jan 29, 21:002026-01-29 21:00:00 UTC2026-01-30 00:00:00 UTC000
Jan 30, 00:002026-01-30 00:00:00 UTC2026-01-30 03:00:00 UTC000
Jan 30, 03:002026-01-30 03:00:00 UTC2026-01-30 06:00:00 UTC101

What Hacker News says

1 sources
This one's really nice. - clear code structure and good architecture(modular approach reminiscent of Blitz but not as radical, like Blitz-lite). - Very easy to follow the code and understand how the main render loop works: - For Mac: main loop is at https://github.com/embedding-shapes/one-agent-one-browser/blob/master/src/platform… - You can see clearly how UI events as passed to the App to handle. - App::tick allows the app to handle internal events(Servoshell does something similar with `spin_event_loop` at https://github.com/servo/servo/blob/611f3ef1625f4972337c247521f3a1d65040bd56/compo…) - If a redraw is needed, the main render logic is at https://github.com/embedding-shapes/one-agent-one-browser/blob/master/src/platform… and calls into `render`
Read the rest
of App, which computes a display list(layout) and then translates it into commands to the generic painter, which internally turns those into platform specific graphics operations. - It's interesting how the painter for Mac uses Cocoa for graphics; very different from Servo which uses Webrender or Blitz which(in some path) uses Vello(itself using wgpu). I'd say using Cocoa like that might be closer to what React-Native does(expert to comfirm this pls?). Btw this kind of platform specific bindings is a strength of AI coding(and a real pain to do by hand). - Nice modularity between the platform and browser app parts achieved with the App and Painter traits. How to improve it further? I'd say try to map how the architecture correspond to Web standards, such as https://html.spec.whatwg.org/multipage/webappapis.html#event... Wouldn't have to be precise and comprehensive, but for example parts of App::tick could be documented as an initial attempt to implement a part of the web event-loop and `render` as an attempt at implementing the update-the-rendering task. You could also split the web engine part from the app embedding it in a similar way to the current split between platform and app. Far superior, and more cost effective, than the attempt at scaling autonomous agent coding pursued by Fastrender. Shows how the important part isn't how many agents you can run in parallel, but rather how good of an idea the human overseeing the project has(or rather: develops).
In Show HN: One Human + One Agent = One Browser From Scratch in 20K LOC

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.