Case Study · 2025

WAC TechX

Next.js · Tailwind CSS · TypeScript

wactechx.com
WAC TechX screenshot
Context

WAC TechX launched in February 2025, six months after the idea took shape in August 2024. Built by a team of 3, end-to-end: design, frontend, backend, deploy.

Problem

The community ran on WhatsApp threads and word of mouth. Event details lived in scattered messages, the team had no public face, and prospective members or partners had no entry point. Three things broke at once: internal management, portfolio showcase, and inbound outreach. None of them could be fixed by another WhatsApp group.

Constraints
  • Small team → every choice had to be maintainable without dedicated ops.
  • Audience on Rwandan mobile networks → page weight and TTFB had to stay tight.
  • Zero SaaS budget → had to fit a free hosting tier and a free-tier database.
  • Community-editable content → events, team, and resources couldn't be hardcoded.
  • Real launch date pressure: the community announcement was already scheduled.
Decisions
01

Next.js App Router over Pages Router.

Considered
Stay on the Pages Router, which had more docs and was more stable at the time.
Why
Server components let us ship database-backed pages without an extra client round-trip, a measurable LCP win on slow connections.
02

Database-backed content over markdown or hardcoded entries.

Considered
Keep events and team data as MDX files in the repo. Simpler, no DB to run.
Why
A PR-and-redeploy loop for every event change would have throttled a community that moves faster than our deploy cadence.
03

Tailwind utility-first over CSS Modules.

Considered
Per-component CSS Modules, cleaner separation of concerns.
Why
Velocity. Naming things twice and jumping files would have cost us a feature per week we didn't have on the runway to launch.
Architecture

Pages are server-rendered on Next.js, reading from a relational database at request time with revalidation on routes that change rarely (team, about). Event listings fetch fresh on each request. Static assets and images run through Next's built-in optimizer. One deploy target, one domain, no edge functions in the critical path.

WAC TechX, image 1
WAC TechX, image 2
WAC TechX, image 3
WAC TechX, image 4
WAC TechX, image 5
01 · 05
Build Log
  1. Aug 2024Idea locked. First sketches, content inventory, audience map.
  2. Sep 2024Design system shipped: type scale, color tokens, component primitives.
  3. Oct 2024MVP scaffold: routing, layout, navigation.
  4. Nov 2024Events module live: admin entry plus public listing.
  5. Dec 2024Team directory and resource library.
  6. Jan 2025Content backfill, perf passes, accessibility sweep.
  7. Feb 2025Public launch.
What Broke
Incident

A late-stage perf pass found LCP regressing badly on the events page after we added team avatars. Root cause: full-size profile JPEGs were being loaded and resized in the browser.

Resolution

Two-hour fix: piped everything through next/image with explicit sizes and dropped the manual <img> tags. LCP on the events route dropped from ~3.8s to under 1.5s on a throttled 3G profile.

Outcomes
  • No formal metrics tracked at launch.
  • The community moved off WhatsApp announcements for events onto the platform.
  • Partners now reach out through the contact form instead of cold DMs.
  • The team has a single canonical link to share when introducing themselves.
Reflections

If we started over, we'd build a small admin UI on day one instead of writing seed scripts. Every event added in the early months either ran through a script or was edited in the database directly. Fine for us, but it bottlenecked the people who actually run the community. The admin layer eventually came, but later than it should have.

See It LiveSource private

Explore More

View all →