Community Lead & Developer · 2022–2024
·6 min read
Angular PH Website
Central hub for the Angular Philippines community — events, blogs, and resources in one place

Problem
Angular Philippines had no dedicated home on the web. Community updates lived across scattered Facebook group posts, event announcements got buried in comment threads, and anyone searching for local Angular resources in the Philippines came up empty. New developers curious about the community had no single place to learn what we stood for, what events were coming up, or how to get involved. Existing members relied on group chats and social feeds that mixed Angular discussions with unrelated noise. The result was a community that felt more like a mailing list than a movement — active people were engaged, but growth was stalling because there was nothing to point a newcomer to and say, "This is us."
Solution
I built the Angular Philippines website as the community's permanent home on the web. The site serves as a central hub where members and newcomers alike can find community updates, read blog posts written by local Angular developers, browse upcoming events and meetups, and learn what Angular PH is about. My goal was to make the site feel professional enough to represent the community externally — to sponsors, to companies looking to hire Angular talent, and to developers discovering Angular for the first time — while staying simple enough that volunteers could contribute content without friction. Instead of relying on an algorithm-driven social feed, the community now has a URL it owns.
Architecture
The site is a single-page application built with Angular, deployed to a static hosting platform for fast global delivery. Angular's component-based architecture was the obvious choice given the community's focus — eating our own cooking, so to speak.
The application is structured around lazy-loaded feature modules: a home module for the landing experience, a blog module for articles, and an events module for meetup listings. Lazy loading keeps the initial bundle small so the site loads quickly on Philippine mobile connections, which can be constrained.
Routing is handled by the Angular Router with pre-rendering for the most-visited pages (home, about, events list) to improve first-contentful-paint and make content crawlable without requiring JavaScript execution. The blog uses a file-based content approach where posts are authored in Markdown and compiled at build time, keeping the architecture simple and the hosting cost at zero.
Technologies Used
- Angular — the core framework. Using Angular here wasn't just a technical preference; it was a statement. A community built around a technology should demonstrate confidence in that technology by building with it.
- TypeScript — enforces contracts across the codebase and makes it easier for community contributors to jump in without introducing subtle runtime bugs.
- Angular Router — handles client-side navigation and code-splitting via lazy-loaded modules, keeping route-level bundles small.
- Angular Animations — used sparingly for page transitions and micro-interactions that make the site feel polished without adding heavy dependencies.
- Markdown + build-time compilation — blog posts live as
.mdfiles so any community member comfortable with GitHub can contribute a post without touching TypeScript.
Challenges
Getting community members to contribute content
A community site is only as alive as its content, and I quickly learned that building the platform was the easy part. Convincing busy developers to write blog posts or submit event recaps in their spare time was much harder. I addressed this by lowering the barrier as far as possible — a contributor only needs to submit a Markdown file via a pull request, no CMS account or local dev setup required — and by personally writing the first several posts to demonstrate the format. Momentum built once members saw their names on published articles.
Sustaining a volunteer project alongside full-time work
I built and maintained this site while employed full-time and growing my own skills. There were stretches where feature work stalled for weeks. I managed this by treating the site like a real product: scoping a minimal version for launch, using GitHub Issues to park ideas without losing them, and resisting the temptation to rebuild from scratch every time I learned something new. The discipline of shipping something imperfect but functional on a deadline is a lesson I still apply in professional projects today.
Implementation
The project is structured as a standard Angular workspace with a single application. Feature areas map directly to Angular modules:
src/app/
home/ # Landing page, featured members, upcoming events preview
events/ # Event listing and detail pages
blog/ # Article listing and post detail with Markdown rendering
shared/ # Nav, footer, reusable UI componentsBlog posts are Markdown files in src/assets/posts/. At build time, a Node script parses the
frontmatter (title, date, author, tags) and generates a JSON manifest that the blog module loads at
runtime — no backend, no database, no cold start latency.
For performance I applied a few targeted optimizations: trackBy on all *ngFor loops to minimize
DOM churn, OnPush change detection on list components, and image lazy-loading via the native
loading="lazy" attribute. The Angular Router's scrollPositionRestoration: 'enabled' option
ensures back-navigation doesn't leave users at the wrong scroll position.
Results
The website gave Angular Philippines a professional identity it lacked before. Community members now have a single URL to share when representing the community at other developer events. Blog posts published on the site are indexable by search engines, so Angular content from Philippine developers reaches people searching in Google — not just existing Facebook group members. Organizers can post event details on the site and share a clean link rather than a screenshot of a social media post. The site also made it easier to attract sponsorship conversations, because sponsors want to see that a community is real and organized — a website signals seriousness in a way that a Facebook group alone does not.
Lessons Learned
Building for a community taught me that the social problem is harder than the technical one. I could ship features in an afternoon; getting people to use them took months. The biggest technical lesson was the value of keeping a volunteer-maintained project ruthlessly simple — every abstraction, every dependency, every clever pattern is a maintenance burden that falls on whoever has time that week. I also learned to document everything immediately, because contributors come and go and "the original developer" is not always available to explain why something was done a certain way. These habits now show up in every professional codebase I touch.
FAQ
Why build a separate website instead of just using the Facebook group?
Facebook groups are great for discussion but terrible for discovery. A new developer searching for "Angular Philippines" on Google won't find a Facebook group post from two years ago — but they'll find a properly indexed website. The site also gives the community an identity that isn't dependent on a platform we don't control.
Is the source code open source?
Yes, the repository is publicly available on GitHub under the Angular Philippines organization. Community members are welcome to contribute blog posts, report bugs, or submit pull requests for new features. The contribution guide in the README explains how to add a blog post with just a Markdown file and a pull request.
What was your role on this project?
I designed, built, and launched the initial version of the site and served as the primary maintainer during my time as Community Lead of Angular Philippines. I also wrote the first several blog posts to seed the content and set the editorial standard for community contributions.
Why is the site currently offline?
Community projects depend on active maintainers, and as leadership transitions happen, some operational details — like domain renewals and hosting — can lapse. This is a known risk with volunteer-driven projects and one of the lessons I carried forward: infrastructure for community projects should be documented and handed off formally, not left to institutional memory.