On Walnut Street

Visit Iron & Rye.

Address

411 Walnut Street

Brooklyn, NY 11201

(Demo address)

The shop is one block off the main avenue. Black awning, brass door handle, no signage with words.

Hours

Tuesday-Friday
10:00am - 7:00pm
Saturday
9:00am - 6:00pm
Sunday-Monday
Closed

Transit and parking

  • Four-minute walk from Borough Hall (4, 5, R).
  • Two-minute walk from Court Street (R).
  • Street parking is metered until 7pm; a small lot is two doors down.
  • Bike rack out front, two slots.

Accessibility

  • Step-free entrance, one shallow lip at the threshold.
  • Adjustable-height chairs at two of the three stations.
  • Restroom is ground-floor and wheelchair-accessible.
  • Quieter hours: Tuesday and Wednesday mornings.

Ready to book a chair? Pick a slot.

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).