How to Start Your Better LGU Portal
This guide walks you through creating a digital transparency portal for your local government unit (LGU) under the BetterGov.ph initiative.
What Is a Better LGU Portal?
A Better LGU portal is a publicly accessible website that makes local government information — budgets, projects, officials, ordinances, and contact information — easy for citizens to find and understand. It is built and maintained by civic-minded developers and volunteers, independent of the official LGU website.
Examples:
- bettersolano.org
- betterbacolod.org
- bettercalauan.org
- betterormoc.org
- betterlb.org
- betterlaspinas.org
Before You Start
You do not need permission from your LGU to build a transparency portal. Most of the information you will publish is already public record. That said, reaching out to your LGU’s public information office can open doors to better data and official cooperation.
Recommended skills:
- Basic web development (HTML/CSS/JavaScript or a framework like Vue or React)
- Git and GitHub
- Willingness to do research and data gathering
Not a developer? You can still register your LGU’s intent and recruit a technical co-maintainer from the community.
Step 1 — Search the Directory First
Before anything else, search the directory for your LGU. This avoids duplicating effort and connects you with people already working nearby.
- Found, with a repository (🟢 Active or 🟡 Work in Progress): contribute to the existing portal instead of starting a new one. Open its repository, read its
READMEandCONTRIBUTING, and pick up an open issue or send a pull request. - Found, but 🔵 Planned or with no repository yet: there is nothing to build on yet — reach out to the listed maintainer to team up and co-maintain.
- Not listed: it is yours to start. Continue below.
Register Your Intent
Open a Pull Request to this repository to add your LGU to the directory with a 🔵 Planned status. This is the first concrete step and signals to your community that something is coming.
See CONTRIBUTING.md for exact instructions.
Step 2 — Pick a Template
Browse the community templates and choose one that fits your technical stack and the complexity you are aiming for. Most templates are built with React + TypeScript and are designed to be forked and customized.
If no template fits your needs, you can build from scratch and contribute your own template back to the community afterward.
Step 3 — Set Up Your Repository
- Fork or clone your chosen template.
- Rename the repository to
better[lguname](e.g.,bettersolano,betterbacolod). - Set up your repository on GitHub and make it public.
Step 4 — Gather and Publish Data
Start with publicly available data:
- Officials — elected and appointed officials, contact details
- Budget — annual budget, expenditure reports
- Projects — ongoing and completed infrastructure and social programs
- Ordinances — recently passed ordinances and resolutions
- Contact information — offices, hotlines, social media pages
Data sources include your LGU’s official website, the Commission on Audit (COA), the Department of Budget and Management (DBM) Open Data portal, and PhilSys local records.
Step 5 — Choose a Domain
Register a domain in the format better[lguname].org (e.g., bettercalauan.org). The .org TLD reflects the civic, non-commercial nature of the project.
Domain costs roughly ₱600–₱900/year through local registrars.
Step 6 — Deploy
Most templates are deployable for free on:
- Vercel — best for React/Next/Nuxt projects
- Netlify — good general-purpose option
- GitHub Pages — best for static HTML/CSS sites
Step 7 — Update Your Directory Entry
Once your portal is live, update your entry in this repository from 🔵 Planned or 🟡 Work in Progress to 🟢 Active. See CONTRIBUTING.md.
Keeping It Maintained
A transparency portal is only valuable if it stays current. Consider:
- Scheduling quarterly data review sessions
- Recruiting co-maintainers from your local tech community
- Connecting with other Better LGU maintainers in the BetterGov.ph community for support
Funnel Reports to the Community Discord
Once your portal has a live intake surface (a citizen report or feedback form), you can pipe submissions — citizen reports, feedback, or system logs — into a dedicated channel in the BetterGov.ph Discord via webhook, so the wider community can see and help triage them. This is optional and only relevant after launch.
Before you request a webhook, your report intake must already be protected against automated abuse. Webhook access is granted only to portals that can demonstrate this. There is no single required tool — the goal is simply that a bot cannot flood the channel through your form. Common ways to meet the bar:
- A CAPTCHA on the form (Google reCAPTCHA, Cloudflare Turnstile, or similar)
- Edge rate-limiting (e.g. Cloudflare) or application-level throttling on the submit endpoint
When your protection is in place, reach out to the Discord Mod team through the BetterGov.ph community channels — they provision the channel and issue the webhook URL, and make the final call on whether your measures are sufficient.
Need Help?
Open an issue in this repository or reach out through the BetterGov.ph community channels.