All work

From a page builder and four Google Forms to a platform the center owns

The Asia-Pacific Youth Growth Center USA runs youth programs on two coasts and publishes mostly through WeChat. In five weeks it went from a one-page site on Gamma and hand-answered forms to a bilingual assessment funnel, an editorial website, a unified intake, verifiable certificates, and a back office where staff edit the live site with AI at their side.

theapyouth.com homepage: headline, hero photo of a student hand-stamping a seal, primary call to action
The theapyouth.com homepage, Chinese edition, in September 2026.

The engagement

Client 美国亚太青少年成长中心, the Asia-Pacific Youth Growth Center USA: a nonprofit and the UNESCO-backed APYGP operating institution in the United States
Live site theapyouth.com
Timeline Kickoff on July 6, 2026. The center’s own domain went live on August 24, 2026.
Delivered Two Next.js apps, a Firestore data layer, an admin back office, two AI writing tools and a design system
Role Counsellor, architect, designer and builder, forward-deployed with the center’s director

Everything worked. Nothing connected.

The center was not short on activity. It ran camps, clubs, a youth-ambassador program at the Nixon Library, and study tours to Kenya and Geneva, and it wrote about all of it in long WeChat articles. What it lacked was a system: every reader who wanted to sign up left the article for a Google Form, every form landed in a different spreadsheet, and the public website was a single page built in Gamma, an AI site builder, that nobody on staff could take further.

Before After
Website A one-page Gamma site on theapyouth.com. Chinese only, no program pages, no way to apply. A bilingual site with program pages, program reports, student portfolios, news, certificate verification and role-based application forms. Twenty-one long-form pieces from the center’s own archive, published as first-class pages instead of WeChat links.
Forms Four Google Forms plus a contact form and an interest form. Replies by hand, records in six places. One typed intake with validation, writing straight to the center’s database. Staff export applications and contacts as CSV from a password-protected dashboard, and a return visit pre-fills the form for a known reader.
Readers WeChat readers were anonymous. A popular article produced views, not names. A free, three-minute bilingual career-interest assessment turns readers into named leads with a parent’s phone or WeChat. Every outbound link is wrapped, so clicks, assessments and applications from the same visitor join up in one record.

Thinking first, then a working system every week

The client is deliberately non-technical, so the working model was built around one rule: every conversation ends with something the director can open on a phone. Strategy came first, in a written proposal. Code followed, in an order chosen to make the platform tangible early: the growth entry point shipped in week one, the website grew in stages behind it, and the back office arrived once there was real content to manage.

  1. Proposal before code

    In week one, from July 6, a digital-platform proposal set the platform choice, the growth flywheel, “assessment first”, and a four-stage website roadmap. The director could see the whole shape before any of it existed.

  2. Ship the funnel first

    Also in week one, the bilingual assessment app went live on Cloud Run within days: twelve questions, five persona types, a teaser reveal before the contact step, and a shareable report card. The center had a lead engine before it had a website.

  3. Website in stages

    In weeks two to four, home, programs, about, join and contact went up as a working site on a test domain, then intake, certificates and news were layered in. Each stage was reviewed live, not in mockups.

  4. Content and design pass

    In week five, on August 9 and 10, twenty-two folders of source documents were extracted and modelled into typed article blocks, the design language was rebuilt to editorial standard, and the admin composer and in-place editing landed.

  5. Cutover to the center’s domain

    On August 24: a static IP, a new server block, TLS, and a permanent redirect from the test host so printed QR codes keep working. The old Gamma page was retired the same afternoon.

The project in numbers

The ledger records 112 engineering hours in 61 itemised lines, and 14 build-days ran from kickoff to feature-complete. The platform is two applications, the assessment funnel and the website, with 10 Firestore collections behind one admin and 42 article pages across two bilingual route trees. Its 169 photos were curated from 307 originals.

Forward-deployed, not outsourced

One senior engineer embedded with the director from the first proposal to the domain cutover. There was no hand-off between the people who understood the problem and the people who built it.

AI as a pair, a human accountable

Every feature was designed, built and reviewed with AI pair-programming, which is what made a five-week schedule possible. The hours on the ledger are stated as what a senior engineer would take without that help, so the client pays for outcomes rather than for the tooling.

An itemised ledger instead of an invoice

Sixty-one lines, each naming the pages, components and behaviours delivered. The same ledger doubles as the project’s task history and as the retrospective statement of work.

The client’s archive became the content model

Instead of writing marketing copy, the work extracted 1.2 GB of the center’s own reports and photos, corrected them, and modelled them into eleven typed content blocks. The site speaks in the center’s voice because it is the center’s material.

Ownership by default

Domain, Google Cloud project, database, source code and API keys all belong to the center. Nothing is licensed back.

The public website

The platform has five public surfaces and a back office behind the login. The first is the website.

A bilingual Next.js site with language negotiation, a locale-aware route tree, a sitemap, and share metadata tuned for WeChat’s crawler. The homepage is built as a sequence of numbered editorial sections: mission, who we are, what we do, a data band, fields of practice, who the platform serves, an assessment call to action, how to start, and growth in practice.

Every section is server-rendered and reveals on scroll through a single sweep, so no-JS and crawler renders are never blank.

Three one-line statements: mission, vision, positioning
Mission, vision and positioning in three hairline columns, with the center’s seal as a bullet.
Data band on a pine wash: 500+ students, 95% completion, 50+ partners, 100+ expert mentors
The data band, the only place the pine wash carries large type.
What we do: 01 project curation, 02 project matching, with photographs
What we do, with outlined numerals, off-language annotations and photographs in square frames.
Vermillion band: not sure which program fits your child? A 3-minute assessment gives you the answer
The assessment call to action, the one full-bleed use of vermillion on the page.
How to get started: three numbered steps with a connecting line
How to start, a three-step path with the signature line motif.
Who the platform serves: for youth, for parents, for partner institutions
Who the platform serves. Each audience gets its own next step.
Growth in practice: from participant to project lead, with a student portrait and three facts
Growth in practice, the bridge from the homepage to student portfolios.
Navy closing band: build a more real, higher-quality youth growth platform together, with the center's seal as a watermark
The closing invitation: ink ground, seal watermark, one vermillion action.

Programs and program reports

Each program has a detail page with age range, schedule, a certificate note, and an interest form in the sidebar that writes to the database. Beneath the four core programs sits a library of eighteen program reports: the center’s own long-form accounts of study tours, ambassador cohorts and workshops, extracted from its document archive and rebuilt as typed article blocks with covers, numbered lists, fact panels, placed figures and a closing contact sheet.

Bilingualism here is editorial apparatus, not duplication. Titles, standfirsts and kickers are in both languages, while the long Chinese bodies stay Chinese, with a plain note on the English edition saying so.

Programs page: 'Every program leads to a verifiable certificate' with numbered program entries
The programs index. Each program is numbered, bilingual in its kicker, and ends in a verifiable certificate.
AI Youth Creator Camp program page with a standfirst, fact sidebar and interest form
A program detail page, with the standfirst on the left and facts and an interest form on the right.
Program report: Golden Sunshine Youth Ambassadors at the Nixon Presidential Library, with a full-bleed cover photo
A program report, with its bilingual title apparatus above a full-bleed cover.
Interest form with student name, parent phone, WeChat, email and question fields
The interest form, one of the six forms the platform replaced.
Report body: six core benefits as a numbered list with Chinese numerals, then a fact panel
Typed blocks: a numbered list with Chinese numerals, and a fact panel on the pine wash.
Closing contact sheet of photographs from the ambassador program
The closing contact sheet gathers every photo not placed in the body.

Student portfolios

A per-student page the center can hand to a school or a funder: a growth timeline with dated entries, a role for each entry, a per-step contact sheet, skill tags, the center’s endorsement, and a direct link to the student’s certificate. Pages are fully bilingual, managed through a draft-publish lifecycle, and can be composed from raw notes by the AI story composer in the admin.

Student portfolio page for Bingxin Zhuang: name, role as founder and chair of the eco-craft club, introduction
The portfolio masthead: name, romanisation, role and introduction.
Growth timeline entry dated 2024.05.04 with role, body text and photographs
A timeline entry with date, title, role, body and per-step photos.
Skill tags under an entry and the next dated entry on oyster-shell art
Skill tags. Each entry closes with what it evidenced.

Intake, verification and news

Four roles, one form each, all writing to the same collection: students and parents, schools and training centers, volunteers, and sponsors. Certificates carry a unique number anyone can verify online, which turns a paper credential into an evidence chain for school and funding applications. News is split into the center’s own reporting and reposted external links, because one is read on site and the other takes you away.

Choose your role: 01 youth students, 02 schools and training centers
The join page: four roles, one growth network.
Student and parent application form
The student and parent application, typed, validated and written directly to Firestore.
Certificate verification page with a sample number stamp and lookup field
Certificate verification, where a rubber-stamp sample number sets the tone.
News index with dated entries, English standfirsts and thumbnails
News, editable in the admin, with load-more pagination.
About page: turning scattered quality resources into a real path for sustainable youth growth, with the UNESCO authorisation plaque
The about page, with the UNESCO authorisation plaque as its one photograph.

The assessment funnel

A standalone app on Cloud Run, linked from every WeChat article and from the website’s vermillion band. Twelve situational questions score five persona types adapted from RIASEC. The persona is revealed before the contact step, so the reader has already received something before being asked for a name. The full report card carries a five-axis strength chart, a recommended direction, one recommended program with a deep link to the website, and a QR code for sharing.

Leads land in Firestore with the visitor’s identifier, so a later application on the website joins the same record.

  1. Assessment landing: Career Interest and Leadership Assessment, five persona icons, Start button

    Landing

    Which one are you?

  2. Question 1 of 12 with five answer options

    Question

    One tap, then it advances on its own.

  3. Question 12 of 12, an answer selected, 'View my report' button

    Last question

    Waits for confirmation.

  4. Persona reveal: The Explorer, on a tilted stamp, with an unlock-full-report button

    Persona reveal

    Value before the ask.

  5. Contact step: student name, age, parent phone, WeChat, email, unlock full report

    Contact

    Then the full report card.

The back office

A password-protected admin with a resizable sidebar and eight entries. It is where a small staff runs a large platform: exports, click analytics, article and story lifecycles, a photo library, and two AI writing tools that turn pasted notes and chosen photos into pages that already obey the content model.

Applications, leads and clicks

CSV export of applications, a contact list de-duplicated by email with phones attached, and a cursor-paginated click stream that includes article reads, all keyed to the same first-party visitor cookie.

Articles, stories, news and photos

Draft, publish, withdraw and delete for every piece; bilingual title and standfirst editing; and a content-addressed photo library where uploads are downsampled in the browser and captioned on arrival.

Article and story composer

Paste text, pick photos, and receive a typed article or a bilingual student portfolio that passes strict server-side validation, with one automatic repair round and a draft saved every turn. The preview is the real page.

Newsletter composer

A chat that produces Mailchimp-ready email HTML from five email-safe templates, with its own image pipeline. It runs on the center’s own API key, so the usage is theirs to see.

Edit the live page in place

Admins change wording block by block on article pages, edit story fields side by side in both languages, and add, remove or reorder photos in galleries, figures, covers and contact sheets. A revision is written before every save.

Printed materials that keep working

A QR generator for posters and flyers. When the site moved to its own domain, the old host became a permanent redirect, so every printed code still resolves.

Back-office screens are not reproduced here because they contain the center’s applicant data.

Editorial, square-cornered, four unequal voices

The site had to read as an institution, not a startup, to Chinese-speaking parents and to American partner organisations at the same time. The second design pass rebuilt it as an editorial system: hairlines instead of shadows, square corners, numbered sections with an off-language annotation, one signature line motif, and a colour system in which the four colours are deliberately not equal.

Colour

Colour Value Role
Ink #10213A Authority. Headlines, closing band, footer.
Cobalt #2754C5 Links and pathways. Anything that goes somewhere.
Pine #35705A Growth. Roughly fifteen percent of the system, with its wash and line tints.
Vermillion #C9402D Action only. A few percent of any screen.
Amber #F0BE3D Reserved for the hover disc behind a link chevron. A warm dot always means “clickable”.
Paper #F6F1E9 Ground. Warm, never white.

Typography

Display in Noto Serif SC, body in a humanist sans, and a spaced mono for kickers and numerals. The serif was a reversal: an earlier no-serif decision was overturned once the client’s institutional register became clear. Contrast was audited to 4.5:1 across every pairing.

Bilingual masthead

The other language is always present in small type beneath the primary one. Titles, standfirsts, kickers and dates carry both; bodies do not, and never through machine translation.

Chinese masthead with English small caps beneath the name
The Chinese masthead, with English beneath the name.
English masthead with Chinese name beneath
The English masthead, with the Chinese name beneath.

Section apparatus

Every numbered section opens with a hairline, a mono index in vermillion paired with its Chinese numeral, an off-language label, and a serif title. It is the same device on every page, so the site reads as one publication.

The line motif

Curved path lines cross the hero, draw themselves through the three-step “how to start”, and appear as the one decorative element. They stand for pathways, which is what the center does.

Photography as evidence

307 client photographs were reviewed and 169 kept, then cropped to a policy: mastheads no harder than 21:9, standalone figures keep their own proportions, and contact sheets drop to natural-ratio columns when a set stops being uniformly landscape.

Section head: 02 What we do, with its Chinese numeral and the serif title
A section head: index, Chinese numeral, off-language label and serif title.
Site footer with the seal, sitemap, two office addresses and contact details
The footer: seal, sitemap, two offices and one hairline.
Full-bleed photograph of students walking with Maasai hosts in Kenya, with an overlaid quote
A full-bleed interlude from the Kenya study tour, with the site’s thesis set over it.
Fields of practice carousel with numbered categories: arts and culture, AI, environmental practice, international practice
The fields of practice carousel. Its arrows are the only rounded shapes on the site.
English edition of the homepage: Helping every young person discover the growth opportunities that truly fit who they are
The English edition of the homepage: the same system and the same photograph, with the serif carrying a very different language.

Small enough to run, serious enough to trust

A nonprofit with one director and no engineer needs infrastructure that costs little, breaks rarely, and belongs to it. The stack is deliberately plain.

Firestore, server-side only

Ten collections in the center’s own Google Cloud project. Rules deny public client access, and every read and write goes through the apps. Nested arrays are packed on the way in and unpacked on the way out, so writers never fight the database.

Cloud Run and a virtual machine

The assessment app is a container on Cloud Run. The website runs as a systemd service behind nginx, deployed by one script that builds locally, uploads, switches releases and health-checks before it reports success.

Cutover with nothing lost

A static IP reserved in advance, a server block created before DNS moved, TLS issued on arrival, mail records untouched, and the old host kept as a permanent redirect for printed materials.

Audit gate on every deploy

Both apps run current Next.js and React and refuse to deploy unless a dependency audit passes. Secrets live in environment files on the server, never in the repository.

First-party tracking, one year, no vendors

A single first-party cookie identifies a visitor across the website and the assessment app. There is no analytics vendor and no third-party script, and the data stays in the center’s database.

Everything is theirs

The domain registrar account, cloud project, billing, database, source repository and AI API key are in the center’s name. Cyphia holds access, not ownership, and can be removed in an afternoon.

Coding wasn’t the goal. Transformation was.

The center still does what it did in June: runs programs, writes about them, answers parents. The difference is that each of those now leaves a record, produces a name, and builds toward a verifiable result. If your organization runs on scattered forms, spreadsheets and inboxes and you would like it to run on one platform instead, start a conversation.