Back to Projects

Betty Xu Portfolio | An AI-Coding-Driven, Continuously Evolving Site

A bilingual, verifiable portfolio continuously delivered from positioning and project evidence

Independent Project | Product Design, Content Architecture & AI Coding Jun 2026 – Present Independent Project Live · Continuously Iterating 2026-06-21
Hugo Go Templates CSS JavaScript GitHub Actions Vercel
AI Coding Personal Website Portfolio Continuous Delivery
Chinese homepage of the Betty Xu personal website
01

30-second summary

I turned a job-search narrative into a continuously delivered bilingual product: content is decoupled from templates, ADRs constrain AI Coding, and build, path, and encoding checks validate every release.

02

Three key numbers

2
Complete languagesStructurally aligned Chinese and English content
2
Deployment pathsVercel and GitHub Pages
3
Delivery gatesResearch, Plan, Implement
03

Product flow

  1. 01
    Locate evidence

    Frame the iteration around a recruiter reading path.

  2. 02
    Research the system

    Inspect content, templates, builds, and live behavior.

  3. 03
    Write the plan

    Record choices, tradeoffs, files, and acceptance checks.

  4. 04
    AI Coding

    Change content and theme inside explicit boundaries.

  5. 05
    Build checks

    Verify pages, paths, encoding, and template rules.

  6. 06
    Deploy and inspect

    Confirm the live artifact and evidence remain accessible.

04

Two key decisions

01

Use Hugo as a static content system

Why this choice
The portfolio is primarily a reading experience; static generation delivers fast, reliable pages with little runtime complexity.
Alternative not chosen
Use a heavier application framework such as Next.js
Tradeoff
Some app-level dynamic capability is sacrificed, but the current product does not need a persistent server or complex client state.
02

Drive shared templates with a Markdown content contract

Why this choice
Project evidence will keep growing; separating content from presentation lets bilingual cases evolve independently.
Alternative not chosen
Hand-code a bespoke page for every project
Tradeoff
The field contract needs maintenance, but repeated code and layout drift fall over time.
05

One bad case

Local preview passed while deployment failed on hidden formatting

Symptom
A UTF-8 BOM, multiline template string, or whitespace inside a URL broke the production build or generated path.
Diagnosis
Visual review focused on the interface and could not reliably detect byte-level and template-boundary problems.
Response
Added BOM, Hugo string, URL whitespace, and critical-page checks to release validation and repository rules.
Outcome
A deployment failure became a reusable engineering gate for later iterations.
06

Result and validation status

Live · Continuously iterating

The bilingual responsive site and two deployment paths are publicly verifiable; behavioral and recruiting-conversion outcomes are not yet established.

07

Evidence links

08

Full retrospective

Project Overview

This site is both my portfolio and a continuously evolving AI Coding product. It organizes my positioning, project cases, résumé, and product thinking into a maintainable bilingual content system, rendered through a custom Hugo theme. Visitors can inspect the live product and public source code, while the repository’s research notes, plans, changelog, and commit history make each iteration traceable from request to implementation and validation.

Pain Points & Opportunities

A one-page résumé communicates experience quickly but cannot show how a project was framed, what I personally owned, which actions mattered, or where the delivery boundary sits. Generic portfolio templates can launch quickly, yet they often force different projects into the same narrative and become difficult to evolve as experience changes. AI Coding can accelerate implementation, but without context, specifications, and validation it can also introduce bilingual drift, template syntax failures, UTF-8 BOM issues, malformed URLs, deployment differences, and inflated claims. The opportunity was therefore not simply to “have AI make a website,” but to build a repeatable collaboration process that turns product judgment into reliable public output.

Goals & Metrics

The site first needs to help target readers understand my direction quickly and follow a clear path from the homepage case to categorized projects and detailed evidence. It also needs independently maintainable bilingual content, project metadata, and visual components so that adding a project does not require rewriting templates. Finally, each AI Coding iteration must pass research, planning, human review, production builds, and critical-path checks. Delivery is currently assessed through live pages, bilingual completeness, responsive behavior, successful builds, and public iteration records—not through unverified traffic, recruiting conversion, or productivity claims.

User Research

The work draws on three evidence sources: my actual education and internship background, original project materials that can be shared publicly, and issues observed in the site’s information hierarchy, mobile experience, and deployment stability. Each iteration reviews whether the homepage surfaces the strongest evidence first, whether project cards distinguish personal responsibility from team outcomes, whether detail pages state result status, and whether both languages retain the same information structure. No formal interviews or large-scale usability study have been conducted, so claims about reader comprehension and effectiveness remain hypotheses to test.

Solution Design

The information architecture follows a “position quickly—inspect representative evidence—explore projects—review full experience” path. The homepage presents positioning and a primary case before capability evidence, additional projects, writing, and résumé access. The project index uses language-independent keys to group core AI, system development, product research, AI Coding demos, and data-modeling work. Each project page combines a case-at-a-glance panel with an eight-part narrative covering the problem, role, actions, results, and reflection. Bilingual Markdown owns the content, templates own stable structure, and CSS variables plus shared components keep the visual system consistent.

Execution Plan

Hugo and custom Go Templates generate the static site, with CSS, small JavaScript modules, and SVG assets providing themes, responsive navigation, project visuals, and interaction details. AI Coding follows a Research → Plan → Implement workflow: inspect the relevant code and content, document risks and technical paths, define affected files and a checkable Todo list, then implement after approval. Each iteration is validated with a production Hugo build, critical-page assertions, UTF-8 no-BOM checks, and guards for template strings and URL whitespace. Deployment supports both a Vercel build script and a GitHub Actions-to-GitHub-Pages workflow, while production failures are converted into durable repository rules.

Results Review

The project has delivered a public bilingual responsive website spanning a homepage, résumé, grouped project index, detailed case studies, and blog, with light/dark themes, mobile navigation, and explicit project states. The public repository contains the custom theme, content system, dozens of research and implementation plans, a changelog, release checks, and two deployment configurations, making the evolution of the product inspectable. This demonstrates an end-to-end AI Coding path from personal content strategy to running software; systematic external usability testing, behavioral analysis, and recruiting-conversion evidence remain future work.

Iteration Reflection

The central lesson is that AI Coding quality is not determined by how much code can be generated in one pass. It depends on whether the problem is framed clearly, the context is accurate, the plan can be reviewed, and the result survives real builds and page-level validation. Content integrity matters as much as engineering stability: team outcomes and planned metrics must not be presented as personal delivered results, while encoding, template, and deployment failures should become automated checks. The next valuable step is to use real navigation behavior to refine hierarchy, add stronger project artifacts, and test whether visitors can reach the core cases more efficiently.