AICP Nonprofit Website
A Payload CMS site for an Islamic charitable organization, built in three days.
- Role
- Sole author
- Period
- Jun 2026 – Jun 2026
- Status
- Shipped
- Stack
- Next.js, Payload CMS, PostgreSQL.
3 days
Build time
22
Public routes
89
TS/TSX files
15
Commits, sole author
The problem
A nonprofit needed a content-managed site covering its branches, lessons, and events, editable by staff without developer involvement for routine updates.
Constraints
- A three-day build window.
- Content had to render sensibly even before every collection was populated, since the site launched ahead of full content migration.
What I built
A Next.js site on Payload CMS with Postgres, covering Pages, Branches, Lessons, and Events collections across 22 public routes and 89 TS/TSX files, with a mock-data fallback layer so pages render correctly during the content-migration period, SEO metadata and JSON-LD, light/dark mode, and an RTL layout stub for future Arabic content.
Architecture
Payload CMS on Postgres drives all content, with a typed fallback layer that supplies placeholder-safe data shapes when a collection entry doesn't exist yet, so the site never renders a broken page during a partial content migration.
Decisions and tradeoffs
Decision
Build a mock-data fallback layer instead of waiting for full content migration before launch.
Because
The organization needed the site live within the three-day window, and content entry was still in progress.
Trade-off
Some early page views show fallback content rather than final copy until migration completes — an accepted tradeoff for meeting the launch date.
Outcome
- Build time
- 3 days
- Public routes
- 22
- Commits
- 15, sole author
As of 2026-08-24
A competent, fast Payload CMS delivery that overlaps in stack with the AICP Summer Camp Shop, shipped for the same organization.
Related work
Want the full picture, or open to talking about your own project?