Skip to content
Back to Systems Lab

Web + content systems

Building a maintainable professional website

A professional website built with Codex, structured content, governed analytics, and a repeatable path from local review to a verified release.

In development

The replacement is live on Vercel. The pre-launch audit is documented; custom-domain launch and its final checks are still ahead.

My role
Project direction, content decisions, and release review, with Codex assisting implementation and verification.
Tools & methods
Next.js · React · TypeScript · Tailwind CSS · Git + GitHub · Vercel · GA4 · Formspree · Codex

Problem

I wanted someone visiting my website to understand the problems I solve and find evidence of how I approach them. That meant connecting my positioning in Marketing Operations and GTM Systems to case studies, projects, writing, a résumé, and a clear contact path.

I also wanted to be able to maintain and extend the site. Content structure, measurement, and the process for making changes needed the same attention as the visible pages.

Context

The project is a rebuild of my existing Squarespace site and a practical way to develop hands-on experience with software development tools. The existing site stays live while the replacement is built and reviewed separately on Vercel.

I set the direction, reviewed the content and behavior, and approved releases. Codex helped implement changes and run checks. We worked through focused passes on the homepage, projects, professional availability, measurement, contact, and content architecture.

The scope was a content site with one contact form. Local content and pages generated at build time were enough to support it.

Approach

Next.js and React provide the pages and shared layouts. TypeScript checks the required fields in each content record, and Tailwind CSS provides a consistent set of visual styles.

Case studies and projects use structured records. Each writing record keeps its body and descriptive fields together. A registry for each collection supplies page routes, previews, and metadata, so an article cannot be listed separately from its body. An authoring guide documents where to edit content and how to add an entry.

The homepage leads with positioning and selected work, with visible résumé and contact paths. One availability setting supplies consistent messages across the homepage, About, Contact, and footer.

Each change moves through a local branch, checks, a saved review commit, and a preview. After I approve it, the commit is merged into the main branch and pushed to GitHub, which triggers the Vercel deployment. The deployed result is then checked separately.

From content change to verified release

  1. Define and edit the change

    Start with a visitor need, then update the content record or site behavior on a local branch.

  2. Check the local build

    Run automated and production-build checks. Review the affected pages, links, metadata, keyboard behavior, and phone layout.

  3. Review a saved version

    Save a commit and open the preview. I review the content and behavior before approving publication.

  4. Release through GitHub

    Merge the approved commit into main and push it. Vercel builds and deploys that version through the existing Git integration.

  5. Verify the public result

    Confirm the deployed commit and affected pages. Check event receipt or service delivery when the change touches those integrations.

The workflow used for site updates. Implementation with Codex goes through local checks, human approval, and verification of the published result.

System

Measurement reuses the existing GA4 stream with defined events for case-study and project views, résumé interest, contact paths, and accepted form submissions. Collection is limited to approved public hostnames. Local development and generated preview deployments are excluded, and custom event payloads omit names, email addresses, and message contents.

Formspree handles contact delivery. The form validates input and keeps the draft when a request fails or delivery is unconfirmed. A successful service response triggers the confirmation and analytics event. Actual inbox delivery is a separate check.

Project and work records also supply page titles, descriptions, canonical URLs, and Open Graph metadata for search and sharing. Workflow diagrams use HTML, with headings, ordered steps, and captions that remain readable on a phone.

Outcome

The working replacement is deployed on Vercel with professional case studies, projects, writing, frameworks, availability, résumé access, and a contact form. Content changes now follow a documented authoring and release process.

Live checks confirmed receipt of the defined events in GA4. A labeled contact test confirmed both inbox delivery and the form-success event. The content architecture release compared all 19 existing pages with the reviewed build, including text, links, metadata, and tracking markers.

These checks establish what the implementation does. Visitor engagement and conversion outcomes will need a post-launch baseline.

The October 9 technical audit reviewed search and sharing metadata, crawl files, structured data, existing URLs, accessibility, mobile behavior, performance, and analytics regression checks. Fixes were verified in the local build. The long systems exploration also received a rendering optimization; its hosted mobile performance needs a fresh check after release. Custom-domain migration remains a separate launch step.

Lessons

The closest connection to my Marketing Operations work is governance: define the fields, decide how changes are approved, and verify that each handoff works. The content model, event definitions, and release process make those decisions explicit.

Git distinguishes working edits, saved commits, and published releases. A passing local build, a successful deployment, and a verified visitor journey are different checkpoints. Understanding that distinction makes it easier to diagnose where a change went wrong.

Working with Codex made implementation more accessible, but I still needed to define the intended behavior, review the result, and keep the claims accurate. The learning value is being able to explain where content lives, how data moves, and how an approved change reaches the public site.

Discuss a GTM systems project