GovForms
Philippine government forms as plain questions. Your answers print in the right boxes of the official form.
- First commit to launch
- 6 days
- Fields placed
- 621
- Tests
- ~333
- Lighthouse performance
- 100

Why I built it
I needed to fill out my Personal Data Sheet, but it comes as an Excel file and I don't have Excel on my Mac. I found a PDS filler online, typed in everything, and then:
When I clicked download, it asked me to pay.
That's a paywall on a form almost every government job applicant has to submit. So I built the free version I'd been looking for.
The problem, beyond me
BIR 1901, 1902 and 1701A are PDFs with no fillable fields, so most people print them and write by hand. They're filed by new hires, freelancers, and anyone going to a notary.




The approach
Plain questions in; answers drawn onto the government's own PDF, not a look-alike. The preview and the download come from the same instructions, so what you see is what prints.

Placing 621 fields, precisely
I calibrated the PDS by hand, nudging an outline over every field. That doesn't scale, so for the BIR forms I wrote a tool that finds every box on the page by itself: 800 of them across three forms.



Proving it's right
"Looks right on my screen" isn't enough for a document handed to the BIR. Every form runs through the same three checks:
-
The PDF is the exact version I measured.
-
Every box is filled, or its blank is explained.
-
Every character lands inside its box.
Long answers shrink to fit, down to 5pt. Past that, the form tells you while you're typing, not on the printout.
A Word layout engine, rebuilt
The Work Experience Sheet is a Word document, not a fixed form, so I rebuilt its line breaking, accurate to a quarter of a point against LibreOffice. The same engine now typesets the legal templates.

Privacy by construction
Everything stays on your device: the PDF is made in your browser, with no accounts and no cookies. Photos are stripped of location data, and stats can't carry an answer.

Beyond the code
Choosing what to build next
I asked people which documents gave them the most trouble. BIR forms kept coming up, since nearly everyone who works files one.
A design that earns trust
Inspired by GOV.UK, not Philippine government sites. Blue means trust and appears throughout; green means progress and appears only when you move forward.

Launching it
Launch videos made in code with Remotion, released around hiring and tax season.



Shipping
- Day 1 PDS mapped
- Days 2–3 Engine and wizard
- Day 4 Homepage and Word engine
- Day 5 BIR forms, templates, security and SEO
- Day 6 Launch and videos
- Performance
- 100
- Accessibility
- 96
- Best practices
- 96
- SEO
- 100
Lighthouse scores on mobile and desktop. Security audited, with a strict Content Security Policy and every outside input checked. Built with Claude as a pair programmer; I made the product and design calls.
What I learned
-
Shipping it myself is its own skill. I've built plenty for clients and companies, but this is the first product I've released on my own, so I learned SEO, cookieless analytics with Umami, and how to market a launch.
-
No backend means every byte counts. I set myself that challenge, so I had to be deliberate about the architecture, what gets shipped and how big each file is.
-
A civic project can travel. It started as a passion project, but people have since reached out, and I've realized the same approach could serve, and be sold to, lots of organizations.
Making products that help people is really, really rewarding.
Right after launch, a friend messaged me to say I was a lifesaver. He had been stuck on the exact same problem I had.