# Aethr Design: TasteLed turns a client brief into a website ready for review.

Source: <https://cheviszhou.com/projects/aethrdesign>

Author: Chevis Zhou (<https://cheviszhou.com/about>)

Updated: 2026-10-14

- **Theme:** AI-directed delivery system
- **Platform:** Web
- **Role:** Design Engineer — Strategy, Design, Engineering, Client Operations
- **Year:** Aug 2025 — Present
- **GitHub:** [Chevis-Zhou/agent-skills](https://github.com/Chevis-Zhou/agent-skills)

The current product has two approval gates: my specification review and the client's sign-off on staging.

I turned the web design process behind nineteen client sites into TasteLed, a product that takes a brief to a website ready for approval. I designed how it directs AI: what intake asks, the specification a model builds from, and the checks a build must pass. The same habits carry into aethrdesign.com, which I rebuilt in code, and into my embedded work at Arca Wealth.

[Explore TasteLed](<https://tasteled.com/>)

## [Overview](https://cheviszhou.com/projects/aethrdesign#overview)

### The product is the pipeline. The websites are what it produces.

[TasteLed](https://tasteled.com/) takes a client's brief to a website ready for their approval. A client configures their business details, content, reference direction and scope. The pipeline turns those answers into a specification, builds and checks the site, and stages it for sign-off. All nineteen client websites I've delivered came through this pipeline as it evolved, before it had the TasteLed name.

My design work is what makes that repeatable: what intake asks, what a specification may contain, what each check rejects and where a person approves the result. AI does most of the building. Across my own deliveries, engagements of similar scope now take three to four weeks, against about twelve when I built every site by hand.

Aethr Design carries the bespoke work from the same deliveries, and embedded engagements alongside it. In October 2026 I rebuilt its own site, aethrdesign.com, in code on the same system. Since August 2026 I've also worked inside Arca Wealth's growth team, where the same habits meet another team's codebase and review.

The TasteLed brief, September 2026: clients set their business details, direction and scope before any design work begins.

https\://tasteled.com/start

![TasteLed's public configuration flow: business details and reference direction beside a live page-count and add-on calculator](https://cheviszhou.com/images/aethrdesign/tasteled-brief-configuration.png)

## [Impact](https://cheviszhou.com/projects/aethrdesign#impact)

**3–4 wk** — Per engagement now; similar scopes took about 12 weeks when every site was hand-built

**19** — Client websites delivered through the pipeline as it matured into TasteLed

**54k** — Active users on Ruri Ohama's Kaizen System site, Sep 2025 to May 2026

## [Context](https://cheviszhou.com/projects/aethrdesign#context)

### Every engagement started by working out the same decisions again.

Before TasteLed, I built each site by hand in Framer, and a full engagement ran about twelve weeks. Each one began with the same work: reading the client's requests and business context, then choosing a design direction. Most of that interpretation stayed in my head, so the next project needed me to work through it again.

The operations around the sites were hand-kept too. Each client had a Notion portal, and I kept my own notes beside it, so every status change was written twice. The practice could only grow as fast as my hours.

## [Directing the AI](https://cheviszhou.com/projects/aethrdesign#directing-the-ai)

### AI builds the site. I designed what it starts from and what it has to pass.

In this pipeline, directing AI means giving a model the same inputs, procedures and checks on every engagement. The quality of a build shouldn't depend on how one conversation happened to go.

It starts with structured intake. The brief replaces a discovery call: a client sets their business details, content, references and scope, and AI-led intake follows up on what is missing. The answers arrive in the shape the next stage expects, rather than as notes I have to interpret.

Each repeatable step, from intake follow-up to proposal drafting, then runs as an agent skill, so every new brief enters the same workflow.

The brief becomes a JSON specification before anything is built, and I wrote its format: 284 lines defining what each section accepts and requires. A services section takes a heading, an optional subheading and a list of items. Each item may carry an icon, and an unknown icon name falls back to a set default instead of failing. On a Figma canvas, I used to make choices like these by arranging rectangles and explaining them to a developer. Here they are written once and enforced on every build.

Two decisions stay with people. I review every specification before it builds, and the client signs off on the staged site before launch. Those are the two points where a model's confidence and mine can come apart.

[Browse the open-source skills repository](https://github.com/Chevis-Zhou/agent-skills)

Explore the agent skills behind each step

An agent skill is a versioned procedure that a model loads when a task matches it: what the step takes in, the constraints it works under and the checks its output has to pass. Writing one is closer to writing a design spec than a prompt, because it has to hold up on the next brief as well as this one.

I run 56 skills: 30 I wrote and 26 installed, with 13 of mine published open-source under MIT. The public repository leaves out eight private skills that carry a client from first contact to handover: onboarding, kickoff questions, proposal generation, and drafting and triaging client email. The whole set is [mapped in my lab](https://cheviszhou.com/lab/skills-map).

What I hand off changed: annotated Figma canvases for a developer, then a specification format written for a model.

Top: Before: annotated canvases from my earlier product roles.

Bottom: After: SPEC-FORMAT.md, 284 lines of section vocabularies and constraints.

![A large annotated Figma canvas of finished screens with dev notes, section labels, ready badges, and numbered handoff pins](https://cheviszhou.com/images/aethrdesign/10s-lane.png)

![A dark code editor showing SPEC-FORMAT.md — dense markdown prop tables defining section vocabularies and constraints](https://cheviszhou.com/images/aethrdesign/spec-format-editor.png)

## [Validation Gates](https://cheviszhou.com/projects/aethrdesign#validation-gates)

### The schema and the compiler catch different mistakes.

A specification is useful only if the build respects it. Before assembly, a schema checks the JSON and rejects section types the system doesn't support. After assembly, the TypeScript compiler checks the generated Next.js code and names missing required content by prop, file and line.

Real client copy tested the gates harder than the samples did. On the assembler's first run with an actual client brief, a double quote in a mission statement broke two of five pages; every sample had avoided quotation marks. Fixing the escaping solved the bug, and real client copy has been part of how I test the pipeline since.

The schema check, staged as a probe: a specification with an invented section type is rejected in 0.4 seconds, and nothing is written to disk.

[Video](https://cheviszhou.com/videos/aethrdesign/gate-1-schema-rejects-section-type-cropped.mp4)

![Video poster](https://cheviszhou.com/videos/aethrdesign/gate-1-schema-rejects-section-type-cropped-poster.jpg)

The compiler check, staged as a probe: assembly succeeds, then the build fails and names the three missing props and the exact line.

[Video](https://cheviszhou.com/videos/aethrdesign/gate-2-build-names-missing-props.mp4)

![Video poster](https://cheviszhou.com/videos/aethrdesign/gate-2-build-names-missing-props-poster.jpg)

## [Delivery Record](https://cheviszhou.com/projects/aethrdesign#delivery-record)

### The client portal renders the file I work from.

My earlier client portals were Notion pages, separate from my working notes. Moving a project forward meant updating both.

I replaced them with one markdown file per engagement. The portal reads the stage, documents and open items from that file, then renders a progress rail, links and an action list for the client. In the version shown below, I edited the file and ran an extraction step before publishing, so there was one record to maintain before TasteLed automated more of the process. The same record now feeds the proposal generator I use for bespoke engagements.

[Open the Maxematics client portal](https://portal.aethrdesign.com/case-study-maxematics)

One engagement file and the portal page it renders. This snapshot is frozen at the stage it shows and served without the live route's access token.

Left: The engagement file, with two ranges folded that the portal does not display.

Right: The rendered portal: the same stage, three documents and seven open items.

![A dark code editor showing state.md for the Maxematics case-study fixture, with YAML frontmatter with client, slug, stage and status fields, then Documents and Todos sections, with two folded ranges](https://cheviszhou.com/images/aethrdesign/portal-source-state.png)

![The Aethr Design client portal page for the same engagement, with a five-step project status rail with 1st Revision active, a Documents list of three links, and seven unchecked action items](https://cheviszhou.com/images/aethrdesign/portal-rendered.png)

## [aethrdesign.com](https://cheviszhou.com/projects/aethrdesign#aethrdesign-com)

### I moved aethrdesign.com off Framer and onto the same system.

In October 2026 I replaced the Framer site at aethrdesign.com with a static Next.js site on Cloudflare. It went live five days after the repository was created and brought the whole old site with it: 20 case studies with 89 fields each, 355 media files and every old address. A redirect map generated from the Framer export checks 73 old URLs on each deploy, so links already sitting in proposals, search results and client emails still land.

Agents did most of the building, as they do on client sites. I wrote the migration as a phased plan, each phase with success criteria it had to meet before the next began, and set the checks the site still runs. Every page is tested against the sitemap and its structured data before it ships. The case studies take their facts from the same engagement records the portal reads, and a deploy fails if any study on the site differs from its record, so a corrected date can't reach one surface and miss the other.

The contact page opens with a project scoper. A visitor describes the site they need, a model asks follow-up questions and points to similar case studies, then hands a summary to the inquiry form. Its knowledge base is generated from the site's own pricing, FAQ and case studies, and the deploy refuses to ship if any of those sources changed after the last build. A model will improvise a price if nothing stops it, so a probe sends adversarial questions to the live model and fails on any dollar figure the knowledge base doesn't contain, on a forbidden claim, or on a link it had to strip.

The home page embeds the real client portal, running on sample data that stays in the visitor's tab, so a prospect can step through a proposal, agreement and deposit before booking a call. The inquiry form posts to the portal as well, and the options it offers are a shared contract with a parity test.

[Visit aethrdesign.com](https://aethrdesign.com/)

The work index on the rebuilt aethrdesign.com. Each case study was imported from the Framer site with its fields intact, at its old URL.

https\://aethrdesign.com/projects

![The Selected work index on aethrdesign.com, dark, with filter tabs for All, Finance and professional services, Ecommerce, Personal brands and portfolios, and Design engineering above cards for Johnson Capital and Totipotent Capital](https://cheviszhou.com/images/aethrdesign/aethrdesign-com-projects.png)

The project scoper on /contact, in a staged conversation for a sample accounting firm. The price comes from the published range, and the brief ends as a summary the visitor can send.

Left: A price answer drawn from the published pricing, then the next scoping questions.

Right: The handoff: a summary for Chevis, which can go straight into the inquiry form.

![The aethrdesign.com project scoper: the visitor says the site is about six pages with most copy written, and the reply places six pages within the published range of $1,550 to $3,500, notes that an open visual direction can raise the quote, links the pricing estimator, then asks three more questions](https://cheviszhou.com/images/aethrdesign/aethrdesign-com-scoper-price.png)

![The end of the same scoper conversation: a Summary for Chevis card describing a two-partner Fairfax accounting firm's six-page redesign, public site only, launching before January, with Book a call and Use it in the form buttons](https://cheviszhou.com/images/aethrdesign/aethrdesign-com-scoper-summary.png)

The home page's portal section: the live portal, embedded on sample data, open to the proposal step.

https\://aethrdesign.com

![The Client portal section of the aethrdesign.com home page, headed 'A clear process, not an email chase.', above an embedded portal frame showing a sample proposal for a small ceramics studio with Proposal, Agreement and Deposit steps and an agreement outline](https://cheviszhou.com/images/aethrdesign/aethrdesign-com-portal-showcase.png)

## [Maxematics](https://cheviszhou.com/projects/aethrdesign#maxematics)

### Maxematics started with a site the client could respond to.

Maxematics, a private tutoring practice, used the pipeline from its original delivery. AI-led intake gathered the business context, then AI produced a high-fidelity MVP for the client to review. I set the direction and reviewed each feedback round; AI implemented every round of changes.

The engagement grew into a bespoke rebuild with a new identity. I generated candidate screens from the same template and content, changing one design variable at a time. That gave the client a specific choice to make: the photographic hero from one version, the footer from another. Both went into the shipped page.

The site went live at maxematics.org on 12 August 2026. A PageSpeed Insights check on 26 August measured performance at 99 on desktop and 91 on mobile, with 100 for accessibility, best practices and SEO on both. The [identity study](https://cheviszhou.com/writing/logo-systems) follows the logo work separately.

The pipeline kept changing after delivery. A later, recorded re-run of Maxematics verified the newer version through staging.

[Visit the live client site](https://maxematics.org/)

View the two Maxematics hero candidates

Two candidate cuts of the same first screen, with identical copy and composition. Only the light-bulb treatment changed.

Left: The motif as a rendered wireframe.

Right: The photograph the client chose, now live.

![A candidate Maxematics hero: the headline 'Preparation. Mastery. Success.' above the wordmark, with the light bulb at right drawn as a glowing violet CGI wireframe, over a statistics bar](https://cheviszhou.com/images/aethrdesign/maxematics-hero-cut-cgi.png)

![The same hero with the identical headline, wordmark and statistics bar, the light bulb at right replaced by a photograph of a real bulb lit from within](https://cheviszhou.com/images/aethrdesign/maxematics-hero-cut-photo.png)

Working with Chevis completely transformed my son's online presence. He didn't just redesign Max's old site; he had the vision to reframe it into a modern, science-forward portfolio that perfectly highlights Max's STEM research and engineering background. The design quality is incredible—clean, mature, and exactly what we need for his college and internship applications. On top of that, Chevis was incredibly efficient. He built a lightning-fast, custom-coded site from the ground up and delivered a polished brand faster than we expected. We couldn't be happier with the result.

> Working with Chevis completely transformed my son's online presence. He didn't just redesign Max's old site; he had the vision to reframe it into a modern, science-forward portfolio that perfectly highlights Max's STEM research and engineering background. The design quality is incredible—clean, mature, and exactly what we need for his college and internship applications. On top of that, Chevis was incredibly efficient. He built a lightning-fast, custom-coded site from the ground up and delivered a polished brand faster than we expected. We couldn't be happier with the result.

Cynthia Schwarzkopf

Maxematics (Max's mother)

## [Client Sites](https://cheviszhou.com/projects/aethrdesign#client-sites)

### Other sites from the same pipeline, each with its own problem to solve.

Johnson Capital, Ruri Ohama and Rets AI came through the same pipeline with different demands: a firm with several services and audiences to separate, a creator's sales page built around one offer, and a SaaS product that needed motion to explain its workflow.

Selected client sites delivered through the pipeline.

Maxematics. I directed the TasteLed delivery and bespoke rebuild. The client chose the photographic hero and footer from separate candidates; I combined those choices in the shipped design, with AI implementing the feedback.

<https://maxematics.org/>

![The Maxematics homepage hero with the headline 'Preparation. Mastery. Success.', the maxematics wordmark and a photograph of a lit bulb](https://cheviszhou.com/images/aethrdesign/maxematics-site.c81a7692.png)

Johnson Capital. I designed and built the Framer site, organizing services, company story, case studies and insights into distinct paths. The client approved it for launch in July 2026.

<https://johnsoncapital.com/>

![Johnson Capital homepage with a city skyline hero and navigation for services, company information, case studies and insights](https://cheviszhou.com/images/aethrdesign/johnson-capital-home.png)

Ruri Ohama. I led visual design, positioning and page structure for Ruri's Kaizen System. The site gives her productivity product a dedicated sales page, with the offer at the center of the design.

<https://ruriohama.com/>

![The Kaizen System site by Ruri Ohama: the headline 'Every Time You Quit, You Trust Yourself Less' above a Get the system button and a photo of Ruri at her desk](https://cheviszhou.com/images/aethrdesign/ruri-site-home.png)

Rets AI. I built the marketing site's four-step animation to explain the lease-abstraction workflow. The shipped Lottie set runs below.

<https://rets.ai/>

![Rets AI homepage, with the serif headline 'The intelligence layer behind every lease your firm touches' over a dark hero with client logos](https://cheviszhou.com/images/aethrdesign/rets-site-home.png)

The four onboarding animations shipped to Rets AI, running in their original Lottie format. Select a card to pause or replay it.

Running live · Lottie (vector, rendered live)

[Step 1 — Select a template](https://cheviszhou.com/lottie/rets/rets-4.json)

[Step 2 — Upload documents](https://cheviszhou.com/lottie/rets/rets-3.json)

[Step 3 — Review structured output](https://cheviszhou.com/lottie/rets/rets-2.json)

[Step 4 — Analyze, query, or export](https://cheviszhou.com/lottie/rets/rets-1.json)

## [Ruri Ohama](https://cheviszhou.com/projects/aethrdesign#ruri-ohama)

Ruri's site sells her Kaizen System productivity product. In a post-launch meeting, she told me her investment had paid for itself many times over.

Separately, the site's Google Analytics property, which runs on my account, recorded 54,000 active users and 108,000 new users from September 2025 through May 2026. Ruri also credits me publicly: one of her videos names me as her web designer and links to Aethr Design.

[Visit the Kaizen System site](https://ruriohama.com/)

The Kaizen System analytics property I operate, September 2025 to May 2026.

![Google Analytics overview for 'Kaizen System by Ruri Ohama': 54K active users and 108K new users, September 2025 through May 2026](https://cheviszhou.com/images/aethrdesign/ruri-ga-overview.png)

The client's public credit, in the description of an October 2025 video on her channel.

![A video page on Ruri Ohama's YouTube channel, 1.47M subscribers, 156,504 views, October 12, 2025, with a description reading 'My Web Designer: Chevis Zhou, Web Designer @ AethrDesign' and a link to aethrdesign.com](https://cheviszhou.com/images/aethrdesign/ruri-youtube-credit.png)

Chevis transformed my ideas into an amazing website and working with him was super smooth and easy. He was deeply invested in my project, often more than I was! He truly understood what I needed and made my ideas even better than I expected… I'm excited to work with Chevis on future website projects and strongly recommend him.

> Chevis transformed my ideas into an amazing website and working with him was super smooth and easy. He was deeply invested in my project, often more than I was! He truly understood what I needed and made my ideas even better than I expected… I'm excited to work with Chevis on future website projects and strongly recommend him.

![Ruri Ohama](https://cheviszhou.com/images/aethrdesign/ruri-ohama.jpg)

[Ruri Ohama](https://www.youtube.com/@ruriohama/featured)

Creator, Kaizen System — 1.47M YouTube subscribers

## [Arca Wealth](https://cheviszhou.com/projects/aethrdesign#arca-wealth)

### Inside Arca Wealth's growth team, my work went through their review.

At [Arca Wealth](https://www.arcawealth.com/), a venture-backed fiduciary wealth manager, I work within the client's growth team. I've been embedded through Aethr Design since August 2026, with an `@arcawealth.com` address, alongside Arca's designers and engineers. The team instruments its Framer site and tests landing-page variants as part of its campaign work.

Arca's lead flow sent visitors to a separate page with nine steps. I built a six-question form that sits directly on the landing page and connected its interaction states to Google Tag Manager. It shipped on the divorce-planning page. Its investable-assets question gave the growth team a useful signal: one keyword group was bringing in leads below Arca's minimum.

My contribution was the Framer implementation and frontend tracking support. Teammates coordinated the wider browser and server-side conversion tracking across Google Ads, Meta and LinkedIn; Arca's engineers own the form's backend logic. Together, those parts are designed to support optimization toward booked sales calls and preserve signals when browser tracking is blocked.

I also traced a first-load hero defect to its cause and shipped the fix, and consolidated 248 typography variations into 17 shared text styles. A stakeholder compared production with my staged branch and returned nine corrections, which I worked through on the branch.

The typography audit and the stakeholder review that followed. The audit recommended about twelve semantic styles; the migration settled on seventeen.

![The type-audit document, with findings listing 248 exact typography permutations site-wide and roughly 0.3% of text layers on shared styles, a recommendation to retain Register and Telas and consolidate to about twelve semantic styles, then 'Feedback from Charlie' comparing production against the staged branch at a 900-pixel breakpoint with side-by-side captures of the Arca homepage](https://cheviszhou.com/images/aethrdesign/arca-type-review.png)

Follow the hero load fix from diagnosis to review

The hero bug had resisted several attempts before it reached me. On a cold visit, worst in incognito, the homepage showed its flat fallback fill before the image finished decoding, then snapped into place.

It wasn't a broken image URL. It was a load-order and compositing problem: five layers render independently (background fill, hero image, dark overlay, typography and Framer's own mount lifecycle), and each became visible on its own schedule.

The fix is a scoped React override on the hero. It waits for two conditions, the hero image finishing decode and `document.fonts.ready` resolving, and holds the composition under a brand-dark veil until both land, then fades it over roughly 680 milliseconds. Visitors who prefer reduced motion get the hero immediately, and a 2.2-second fail-safe means it can never stay blocked on a resource that doesn't arrive. Font declarations and the global navigation were left untouched, because an earlier font-streaming fix was already in place.

It shipped with a written technical handoff, so the next engineer inherits the reasoning rather than only the patch.

The hero the fix protects: photograph, overlay and type now appear together on a first visit.

https\://www\.arcawealth.com/

![The Arca Wealth homepage hero: the Arca wordmark over a mountain ridge with a hiker, the headline 'This is what wealth is supposed to feel like.' and a Start a Conversation button](https://cheviszhou.com/images/aethrdesign/arca-site-hero.png)

The diagnosis, written into their ticket: the reading that decided what the fix had to be. Internal preview branch cropped.

![The implementation note inside Arca's ticket: a Root problem section reading 'This is primarily a load-order and compositing issue, not a broken image URL', followed by the five independently rendered hero layers](https://cheviszhou.com/images/aethrdesign/arca-hero-ticket.png)

The same fix moving through the team: shared to the channel for review, then a regression caught by a colleague and closed out in the thread. Preview link blurred.

![The #pod-growth Slack channel, with a stakeholder sharing the first-round hero loading deliverable to the team for review, and a side thread where a colleague reports a missing bullet and Chevis replies that it is fixed](https://cheviszhou.com/images/aethrdesign/arca-slack-thread.png)

## [Key Takeaways](https://cheviszhou.com/projects/aethrdesign#key-takeaways)

The design work that mattered most here was not any single site. It was the set of decisions the pipeline now makes on every project: what to ask, what a section may contain, what to reject and who approves. Writing those down took more judgment than drawing a page, and it is why the sites come out consistently.

Real content is the test that counts. The samples passed and one client's quotation mark did not, so I judge the pipeline by the most ordinary copy a small business has. Arca applied the same habits inside someone else's team, where the acceptance criteria belonged to them.

## Related Work

- [Treevah: A filter-driven file manager with familiar navigation and a shared path to engineering.](<https://cheviszhou.com/projects/treevah>)
- [Solara: Documentation and a visual system designed around how Python developers use code.](<https://cheviszhou.com/projects/solara-webproduct>)
- [GMU: An accessibility pilot combining task performance, gaze recordings and participant accounts.](<https://cheviszhou.com/projects/ux-research>)

[All work](<https://cheviszhou.com/#work>)
