TrabahoFit helps Filipino job seekers train for a specific job: what it pays, what employers ask for and what to practice first. It runs for close to zero fixed cost, and every figure on it comes from a source a reader can check. Here is how it is built.
Stack
- Next.js 16 with the App Router, React 19, TypeScript and Tailwind CSS v4
- Supabase (Sydney region, closest to the Philippines) with one table for quiz attempts, written only through RPCs
- Vercel for hosting; production deployments are indexable, preview and local builds are not, controlled in one place
Data first, pages second
Every guide starts as a dataset in the repo: 50 call center job posts from JobStreet coded field by field (experience, education, salary, tests), 40 freelance posts from OnlineJobs.ph, 216 public e-TESDA courses, and the Department of Labor and Employment's in-demand jobs list. Each dataset has a small Python script that prints every figure the page uses, so a number on the site can be reproduced from the repo.
That's how we found that 62% of the call center posts accepted beginners (n=50) and that none mentioned the Versant test, which most preparation content focuses on.
A gate before every push
Pages follow a writing spec, and npm run build && npm run gate must pass before a push, so pages that break the content rules don't ship.
A quiz that credits its landing page
The quiz is embedded inline on every guide page and records which page it started on, so we can see which guides lead to quiz completions.
What I'd do again
Building the dataset before the page made the writing fast and the claims safe. If you want to see the result, start with the call center agent guide. Questions about the setup are welcome in the comments.
Top comments (1)
Does the RPC validate the page identifier against a server-side list, or can the client submit any landing page when it records a quiz attempt?