Show HN: Vaev – A browser engine built from scratch (It renders google.com)

Project goals and scope

  • Vaev’s primary long‑term goal is high‑quality rendering of static documents, especially as the core of the “paper‑muncher” PDF engine intended to replace wkhtmltopdf in Odoo.
  • General web browsing and JavaScript support are not excluded, but are presented as a possible later phase rather than the main objective.
  • Vaev is part of a hobby OS ecosystem (Skift) but is intended to remain cross‑platform rather than spun out as a separate product.

PDF generation and existing tools

  • Several commenters discuss moving away from wkhtmltopdf to setups based on PhantomJS, Puppeteer/Chromium, or newer tools like Typst and WeasyPrint.
  • Experiences: browser-based PDF generation can be slow (tens of seconds), but careful reuse of a long‑lived headless page can achieve sub‑100ms renders.
  • PrinceXML is praised for quality but criticized for not being FOSS; WeasyPrint and wkhtmltopdf are seen as either slow or unreliable.
  • There is interest in Vaev as a non‑Chromium, open alternative for HTML→PDF.

Minimal, text‑only, and “smolweb” browsing

  • Some want a GUI browser that renders only text and links (no images/media), beyond terminal tools like Lynx; Dillo with images disabled is mentioned as close.
  • A broader idea: standardize a minimal subset of web standards so “smolweb” sites and alternative browsers can target a stable, small feature set.
  • Proposed bases include HTML 4.01 + CSS 2.1, or email‑safe HTML; others argue for keeping modern layout (Grid/Flexbox) and semantic tables for accessibility.
  • Skepticism: “living standards” are seen as weaponized churn; subsets risk drifting or inheriting too much legacy cruft.

Language choice, security, and complexity

  • C++ choice triggers debate: some argue modern C++ with RAII and smart pointers can be reasonably safe; others emphasize that browsers are de‑facto RCE surfaces and C++ is historically bug‑prone.
  • Rust/Servo is cited as an alternative; some claim C++ projects (e.g., Ladybird) outpace Servo due to a larger C++ developer pool.
  • There is skepticism about marketing claims like “lightning‑fast, lightweight, and secure” given early feature‑incompleteness and lack of visible fuzzing.
  • Several commenters stress that browser engines are extraordinarily complex, second only to OSes, yet still see high educational and exploratory value in building one from scratch.