The trinity at work

How we built Iron & Rye.

A four-stage trail from the same RampStack engines we sell. Basano critiqued the field, Krine positioned the build, Tholo planned the pages and selected the skills, an executor cut the code, and Basano verified the result.

Stage 1 - Basano: the field's misses

Generalized pattern-level findings. No named competitors.

  • Local-service competitors bury the booking action below the fold or behind a third-party scheduler iframe that breaks the visual contract; the room's identity is gone the moment the booking UI loads.
  • Trust signals (years in business, license, review average, visible barber roster with faces) are routinely scattered across a footer, an about page, and an external review widget rather than aggregated above the fold where a first-time visitor decides.
  • Service menus are presented as flat lists without duration or price, forcing a phone call to qualify; this both blocks conversion and tells the visitor the shop is friction-tolerant.
  • Hours and address are present but rarely in a structured-data form a search engine can lift into the SERP, so the field forfeits map-pack and rich-result eligibility that costs nothing to ship.
  • The unspoken miss across the field: every booking flow assumes the visitor already knows which barber to choose. Putting a small, photographed barber roster above the booking CTA is the conversion lever the field leaves on the table.

Stage 2 - Krine: position and register

Position
Booking-first chair shop. The room, the roster, and the soonest open slot are the home page; everything else is one click away.
Archetype
forge-fitness
Voice
Warm, plain-spoken, confident, unfussy

Stage 3 - Tholo: pages and skills

The page list and the skills selected for each.

  • home

    • landing-page-copy
    • information-architecture
    • frontend-component-build
    • seo-technical
  • services

    • information-architecture
    • frontend-component-build
  • book (demo)

    • frontend-component-build
    • landing-page-copy
  • visit

    • seo-technical
    • frontend-component-build
  • workup

    • landing-page-copy
    • frontend-component-build

Stage 5 - Basano: the built result

Honest verdict on the microsite as built.

Holds

  • Title tag and meta description present on every page; one H1; semantic landmarks (header, main, footer).
  • JSON-LD LocalBusiness + HairSalon with address, hours, telephone-placeholder, and aggregateRating present on the home page.
  • Service menu shows duration and price per service; barber roster shows faces and specialties above the fold.
  • Booking action is the primary CTA on every page; demo modal is clearly labeled, no fake confirmation, no fake payment.
  • Hours, address, and license are aggregated in a single trust block above the fold, not scattered.

Fails

  • Intentional noindex and nofollow on the demo build (correct for a demo, flagged against a production-ready standard).
  • Localhost-only artifacts: HTTP not HTTPS on the served URL; canonical declared to the production base, which differs from a localhost serving origin.
  • Image alt on barber portraits is generic rather than specialty-keyed (judgment item).

Not assessable

  • Core Web Vitals and page experience (no field data in a static fetch).
  • robots.txt and XML sitemap (single-page audit does not crawl).
  • Live map embed performance and third-party reviewer-widget impact (none in this build by design).

The same engines are available on Basano, Krine, and Tholo.

RampStack

Built by the RampStack trinity

How Iron & Rye Barbershop was built

The four-stage workup behind this local service booking demo, summarized. Generalized and pattern-level; no named competitors. The full Format A spec and the verification log live in the operated-side run record.

Stage 01

Basano · competitor review

  • Local-service competitors bury the booking action below the fold or behind a third-party scheduler iframe that breaks the visual contract; the room's identity is gone the moment the booking UI loads.
  • Trust signals (years in business, license, review average, visible barber roster with faces) are routinely scattered across a footer, an about page, and an external review widget rather than aggregated above the fold where a first-time visitor decides.
  • Service menus are presented as flat lists without duration or price, forcing a phone call to qualify; this both blocks conversion and tells the visitor the shop is friction-tolerant.
  • Hours and address are present but rarely in a structured-data form a search engine can lift into the SERP, so the field forfeits map-pack and rich-result eligibility that costs nothing to ship.
  • The unspoken miss across the field: every booking flow assumes the visitor already knows which barber to choose. Putting a small, photographed barber roster above the booking CTA is the conversion lever the field leaves on the table.

Stage 02

Krine · positioning

Position
Booking-first chair shop. The room, the roster, and the soonest open slot are the home page; everything else is one click away.
Archetype
forge-fitness
Voice
Warm, plain-spoken, confident, unfussy

Stage 03

Tholo · build plan

home

  • landing-page-copy
  • information-architecture
  • frontend-component-build
  • seo-technical

services

  • information-architecture
  • frontend-component-build

book (demo)

  • frontend-component-build
  • landing-page-copy

visit

  • seo-technical
  • frontend-component-build

workup

  • landing-page-copy
  • frontend-component-build

Stage 04

Basano · verification

Holds(5)

  • Title tag and meta description present on every page; one H1; semantic landmarks (header, main, footer).
  • JSON-LD LocalBusiness + HairSalon with address, hours, telephone-placeholder, and aggregateRating present on the home page.
  • Service menu shows duration and price per service; barber roster shows faces and specialties above the fold.
  • Booking action is the primary CTA on every page; demo modal is clearly labeled, no fake confirmation, no fake payment.
  • Hours, address, and license are aggregated in a single trust block above the fold, not scattered.

Fails(3)

  • Intentional noindex and nofollow on the demo build (correct for a demo, flagged against a production-ready standard).
  • Localhost-only artifacts: HTTP not HTTPS on the served URL; canonical declared to the production base, which differs from a localhost serving origin.
  • Image alt on barber portraits is generic rather than specialty-keyed (judgment item).

Not assessable(3)

  • Core Web Vitals and page experience (no field data in a static fetch).
  • robots.txt and XML sitemap (single-page audit does not crawl).
  • Live map embed performance and third-party reviewer-widget impact (none in this build by design).