Nicheloom visits: 58,050 all-time · 7,694 in the last 7 days

The opportunity tracker for new startups.

Today: 1,953 launches · Niche of the day: specialized calculation tools · See what launched today →

I built a small browser engine from scratch in C++

Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.

Want to reach these readers? Sponsor an issue.

Hi HN! Korean high school senior here, about to start CS in college.I built a browser engine from scratch in C++ to understand how browsers work. First time using C++, 8 weeks of development, lots of debugging—but it works!Features:- HTML parsing with error correction- CSS cascade and inheritance- Block/inline layout engine- Async image loading + caching- Link navigation + historyHardest parts:- String parsing(html, css)- Rendering- Image Caching & Layout ReflowingWhat I learned (beyond code):- Systematic debugging is crucial- Ship with known bugs rather than chase perfection- The Power of "Why?"~3,000 lines of C++17/Qt6. Would love feedback on code architecture and C++ best practices!GitHub: https://github.com/beginner-jhj/mini_browser

HN · launched Jan 28, 2026 · 146 upvotes (top 6%) · 1 view

Niche: specialized and developer web browsers · 83 launches, 9 in the last 7 days · Explore this niche →

Category and tags

  • Horizontal
  • Dev tools
  • Developer
  • Not AI
  • Hobby / open-source project

Visit website ↗ Source listing ↗

Could you build this?

No Writing a browser engine from scratch in C++ requires implementing complex spec-compliant HTML/CSS parsers, layout trees, and rendering pipelines.

What it would actually take: Requires C++ alongside low-level graphics backends (such as Skia or direct OS windowing APIs). The engine demands writing tokenizers, DOM tree constructors with error correction, CSS specificity/inheritance cascades, box model reflow algorithms, and a rasterization engine from spec documentation.

Discussion

20 comments analyzed.

Competitors mentioned: FastRender (Cursor), Ladybird browser, one-agent-one-browser, HiWave, emsh's Rust browser project

Concerns raised: Only toy implementation, not full browser engine, HTML parsing far more complex than implementation, Rendering and network outsourced to Qt, JavaScript not supported, Limited CSS property support with imperfect implementation

Feature requests: JavaScript support, More complete CSS property coverage

Competitors

Other products that read as similar to this one : 610 launches clear the similarity bar, closest 8 shown.

Attention rank: #46 of 611 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).

Launched 86 days after the earliest competitor.

The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.