Alpha Beta Design
ServicesWritingsContactEspañolStart a project
← All writings

Launch review · sample deliverable

alphabeta.design

Fifteen findings across the four core tiers of the launch-review framework. Same format every Site engagement receives 30 days after launch.

Subject
https://alphabeta.design
Reviewed on
September 2, 2026
Reviewed by
Alfonso Barreiro
Version
v1 — studio self-review, sample deliverable

Summary

Fifteen findings across the four core tiers of the studio's launch-review framework: Strategic, UX, Visual, Technical. This is the format every Site engagement gets 30 days after launch; Site+ engagements add Research and Accessibility tiers for a total of six. Findings are ranked by severity and paired with effort estimates so the client can pick their next three fixes without a second call.

15 findings across 4 tiers. Ranked by severity within each tier, paired with effort estimates.

Tier 1 of 4

Strategic

Does the site still argue what the brief said it would argue. Reads the site cold, the way a prospective buyer would, and checks whether the argument the buyer paid to make actually lands.

  1. S1

    Four-tier framework named but not visualized

    Severity: MediumEffort: Small

    Finding: The hero copy references 'launch review across four tiers (Strategic, UX, Visual, Technical)' as the studio's key differentiator. Reader has to parse the sentence to know what the four tiers are; there is no visible diagram or labeled list of the four until deep in /services.

    Recommendation: Add a small four-tile inline diagram beneath the hero description, one tile per tier. Reader gets the framework in one glance instead of one paragraph. Same treatment can carry into the services page.

  2. S3

    Breadth-as-pitch is subtext, not headline

    Severity: MediumEffort: Small

    Finding: The samples section carries the strongest differentiator the studio has: ten industries at the same price. Currently framed as a subtitle beneath 'Ten samples, ten industries.' A visitor scrolling past the section may not register that the same $3,000 to $4,000 package built every one of those sites.

    Recommendation: Consider promoting 'Same price for a sandwich shop as for a hotel' to the H1 in that section, and demoting the current H1 to a subtitle. Puts the range-as-value claim in the visual position it deserves.

  3. S2

    Differentiator depth is uneven

    Severity: LowEffort: Small

    Finding: The 'What is unusual here' section shows four differentiators. The first (Product design for the web) gets three sentences of body copy; the other three get one sentence each. Reads as 'we care about the first one, the others are asides.'

    Recommendation: Match the depth. Either trim the first to one sentence, or expand the other three to three. Consistent depth signals the four differentiators are peers, not one plus three add-ons.

Tier 2 of 4

UX

Does the site move a reader from arrival to action. Flow, information architecture, form friction, CTA hierarchy, the shape of the funnel.

  1. U1

    Primary CTA hides on narrow mobile

    Severity: HighEffort: Small

    Finding: The 'Start a project' pill in the nav is set to hidden sm:inline-flex, meaning it disappears on screens under 640px. Mid-sized phones and older devices lose the primary above-the-fold CTA; the only path becomes scrolling to the closing CTA at the bottom of the page.

    Recommendation: Either drop the sm: breakpoint so the pill shows on every width (the wordmark can compress or the nav can wrap), or replace it on narrow mobile with a compact arrow-icon variant that still lands as the primary action.

  2. U2

    Fan-pile animation has no interactive hint

    Severity: MediumEffort: Small

    Finding: The featured 2x2 cards start as a fan-pile on the right at scroll=0, animating into a grid as the user scrolls. The pile is beautiful but reads as decoration on first paint. A first-time visitor may not realize the cards are individually clickable until after they have already scrolled past.

    Recommendation: Add a subtle 'click any card' or 'preview' hint that fades in during the fan-pile state, then fades out as the cards land in the grid. Or animate one card slightly on hover during the pile state to signal interactivity.

  3. U3

    Contact form option asymmetry

    Severity: LowEffort: Small

    Finding: The Timeline field has a 'Not sure yet' option. The Budget field does not have a 'Not sure' equivalent, forcing anyone unsure of budget to pick a specific range they may not actually mean.

    Recommendation: Add 'Not sure yet' as the last option on the Budget field, or promote the existing 'Open' option to 'Not sure yet / Open.' Consistent qualifying language across selects reduces mismatched inbound.

  4. U4

    Modal keyboard affordance is silent

    Severity: LowEffort: Small

    Finding: The six-more grid cards open a preview modal on click, tap, Enter, or Space. Keyboard users get correct behavior (focus lands on the button, Enter opens the modal) but no visual 'press Enter to preview' hint on focus. Discoverability for keyboard users is lower than for mouse users.

    Recommendation: On :focus-visible, reveal a small 'Press Enter to preview' text near the focus ring, or extend the existing 'Preview →' corner label to underline on focus. Small change, notable accessibility win.

Tier 3 of 4

Visual

What the site looks like, and whether the look is doing the work the brief said it would. Typography, color, spacing, hierarchy, composition.

  1. V1

    Featured card tints are barely differentiated from the page

    Severity: MediumEffort: Small

    Finding: The four featured cards use light pastel tints (D8E2ED slate, EBDDE0 pink, DEE0EE lavender, D9E2D6 sage) against a page background of F5F7FA neutral-100. The value contrast between card and page is about 6 to 8 percent — enough that the cards do not read as clearly delineated surfaces on the first look.

    Recommendation: Push the tint saturation by roughly 5 percent on each card, or add a subtle 1px border in a slightly darker neutral. The fan-pile animation depends on the cards reading as distinct objects; more separation would strengthen the whole effect.

  2. V2

    Launch-review callout tint is close to invisible on desktop

    Severity: MediumEffort: Small

    Finding: The care plan and no-ship-guarantee callouts on /services use --color-informational-tint at 8 percent alpha teal. On a 5K desktop display against the surface color, the tint is nearly imperceptible; the callout reads as a paragraph, not as a boxed emphasis.

    Recommendation: Bump the tint alpha to 12 to 15 percent, or add a 2px teal left rule so the callout keeps its 'this is a promise, not a bullet' visual weight. Same fix applies to any other Informational-tint block on the site.

  3. V3

    Four-tier framework has no visual anchor

    Severity: LowEffort: Medium

    Finding: The launch-review explainer on /services describes the six tiers of the full framework as prose. A first-time reader has to hold six abstract categories in their head to follow the paragraph. No numbered badges, no icons, no labeled diagram.

    Recommendation: Same fix as S1: a small six-tile grid on /services that names each tier with a one-line gloss. Buyers can then reference back to it while reading the rest of the section instead of parsing prose.

  4. V4

    Homepage differentiator icons are text-only

    Severity: LowEffort: Medium

    Finding: Each of the four differentiators is a heading-plus-body block with no visual anchor. Scannability is entirely on the typography. A reader skimming the section on mobile may miss individual differentiators because they read as a wall of headings.

    Recommendation: Add a single visual element per differentiator: a small number, a subtle rule between them, or a low-key icon. Enough to give each block its own eye-anchor without decorating a page that thrives on restraint.

Tier 4 of 4

Technical

Load performance, Core Web Vitals, structured data, image weights, cache headers, accessibility markup, sitemap and robots correctness, and every mechanism a site has for showing up in search.

  1. T1

    Gallery images shipped as JPEG only

    Severity: MediumEffort: Small

    Finding: The 60+ sample-gallery shots ship as JPEG q85 at 1600px wide. Next.js Image serves optimized WebP variants automatically, but source-format upgrade to AVIF would yield 30 to 40 percent smaller payloads on Chrome, Safari 16+, and Firefox.

    Recommendation: Convert the source shots to AVIF at build time (sips --format avif or sharp) and let Next.js Image negotiate WebP fallback for older browsers. Total site payload on Sandwich Shop modal drops from ~2 MB to ~1.2 MB.

  2. T2

    Hero LCP element is a saved PNG, not an AVIF variant

    Severity: MediumEffort: Medium

    Finding: On the home page the Largest Contentful Paint element is the Whittaker photo in the featured card. Source is a 5.9 MB PNG (whittaker-hotel-desktop.png) which Next.js Image serves at ~450 KB WebP. On a 3G throttled connection, LCP measured at ~1.4s. AVIF at the same visual quality would land near 300 KB.

    Recommendation: Same as T1 for the featured samples: ship AVIF source. Alternately, serve a lower-resolution priority preload for the LCP image and let Next.js Image load the full variant lazily.

  3. T4

    hreflang alternates present in metadata, missing from sitemap

    Severity: MediumEffort: Small

    Finding: Every page correctly declares alternates.languages in its Next.js metadata, which Google can pick up as hreflang. The sitemap does not carry xhtml:link rel='alternate' hreflang entries, which is Google's preferred signal for language-pair discovery and reduces the chance of an English URL ranking in a Spanish search result.

    Recommendation: Extend app/sitemap.ts to emit xhtml:link entries for every locale pair. Next.js's sitemap export accepts a raw XML overlay for this. Bilateral language declarations required (English page declares Spanish, Spanish page declares English).

  4. T3

    Sitemap lastModified is build-time, not content-mtime

    Severity: LowEffort: Small

    Finding: app/sitemap.ts sets lastModified: new Date() on every route. Google treats a sitemap with all-same-date entries as low-signal; per-page real modification times let the crawler prioritize actually-updated pages.

    Recommendation: Read the content file's mtime for each dynamic route (case studies, writings, samples), and use a hardcoded last-edited date for static routes. Small change, meaningful crawl-priority signal.

This is the format every Site engagement receives 30 days after launch. Site+ engagements add Research and Accessibility tiers for a total of six, plus a 45-minute walkthrough call to talk the findings through together.

Start a project →Read more about the review framework
hello@alphabeta.design →
ServicesWritingsContactAccessibilityLinkedIn

© 2026 Alpha Beta Design

Portland, Oregon