Skip to content
Pedro Ivo
Home

About

I’m Pedro Ivo, a software engineer. I like small, fast software that respects the people using it.

This site is where I write about the things I build and learn. It ships no client-side JavaScript beyond a tiny theme switcher, and every page is plain HTML.

I also maintain Pedro Ivo DevTools, a collection of formatters, encoders, generators and Brazilian document validators. Almost all of them run entirely in your browser, and each tool page says clearly when anything leaves it.

How this site is builtLink to section: How this site is built

I treat these two small sites the way I would treat production software, and the choices below are checked automatically on every change rather than left as intentions.

  • Architecture. Both sites are static HTML generated by Astro (opens in a new tab) from one TypeScript monorepo that shares design tokens, components and SEO helpers. On the tools site, each tool is an isolated Preact (opens in a new tab) island that loads only when it scrolls into view; the rest of the page is plain HTML.
  • Performance. Every tool page has a budget of 70 KB of compressed JavaScript and 20 KB of CSS, and CI fails if one goes over. Lighthouse runs in CI with thresholds for performance, accessibility, best practices and SEO.
  • Security. Each page carries a strict Content Security Policy: inline scripts run only if their hash matches, and the browser may only connect to the few services that a network tool declares. There are no third-party scripts, and the usual hardening headers (HSTS, no framing, no MIME sniffing) are set.
  • Accessibility. The target is WCAG 2.2 (opens in a new tab) level AA. Every page in the sitemap is checked with axe against the WCAG A and AA rules in all four color themes, and for horizontal scrolling at 320 pixels wide. The pages use semantic landmarks, a skip link and visible focus, and the light theme’s colors were adjusted to meet AA contrast. Automated checks cannot catch everything, so if something gets in your way, please tell me.
  • Privacy. No analytics, trackers or ads. The only cookie remembers the color theme you pick.
  • Quality. Strict TypeScript, unit tests for the tool logic, and end-to-end tests that use each tool in a real browser, all run in CI on every change.

ElsewhereLink to section: Elsewhere