Open Beta
Building in Public
Product updates and the story behind building BOOTH.
Job Board Cards — Full Spec Display
Public job board (/hiring) cards now render every dimension of a role, not just position + comp. Specialties (capped at 3 with +N), experience required (skipped when 'any'), and the first preferred-clientele tag all show up alongside the existing position type and compensation pills. Labels resolve via a shared @/lib/hiring-labels module so the card text and the role detail page can never drift.
Job Board Card Layout — Header Outside the Card
Each role card now splits in two: the shop header (avatar + shop name + city) sits outside the white container, and the white container holds only the role itself — title, chips, time-ago pinned top-right, and a '+ View role' text link. Reads like a real list item: shop framing above, role detail below. Card itself is minimal/transparent (ring-[0.5px] hairline, very light hover).
Live Posting Pulse
Every role on the job board now leads with a small pulsing dark-green dot (#0E542B) before the title — same ping pattern used on the Setup Stripe nudge. Reads as a live signal at a glance.
City Filter — Dropdown, Not Chips
City filter on /hiring is no longer a row of colored chips. It's now a thin MapPin + select dropdown defaulting to 'All cities'. Distinct treatment from the tone-coded position/comp/specialty/experience chips so location reads as a separate kind of filter.
Social Media URL on Job Postings
Owners can paste an optional Instagram/flyer URL when posting a role (Edit Posting → Social media URL). Renders on the role detail as a small 'View original announcement ↗' link. Useful when the shop already announced the opening on IG and wants to point barbers at the original.
Listing Detail — Personalized Contact Button
The Contact button in the Questions card now shows the shop's logo as a small avatar inside the pill and reads 'Contact Owner' (or 'Contact Management' if the shop opts for the Management label in Edit Shop). Hover: subtle scale + shadow lift + ArrowRight icon nudge. Mobile and desktop variants both updated.
Owner / Management Contact Label
New optional field on shops — Owner (default, more personal) or Management (better for franchise/multi-shop). Drives the Contact button copy on the public listing. Settable via Create Shop and Edit Shop with a small segmented toggle.
Listing Detail — Layout Restructure
View Shop Listing's lower section reorganized: Booth Options + Open Positions sit side-by-side on lg; Amenities span full width with a multi-col internal grid (so 16 amenities don't tower vertically); Location heading + address sit above a full-width map. Map gets a calm iPhone-radius (rounded-[2.5rem]). Questions card width narrowed (md:w-[320px]) so the description has more breathing room.
Booth Options & Booking Buttons Hover
Book Now, Contact Shop (booth-plan), and Book online buttons get the same hover treatment as Contact Owner — subtle scale-[1.02] + shadow lift + an ArrowRight that sits visible by default and nudges right on hover. Disabled Book Now opts out of the scale/shadow.
Listings Map Follows the City Filter
/listings and /hiring city pills now drive the map. Click a city → the map flies to fit the bounds of all matching markers (zoom 13 max, 0.9s ease). Single-match cities use flyTo at zoom 13. The city pill list itself is now derived from the actual loaded listings (was a hardcoded US-only set), so international shops show automatically.
Switch Mode Cards Refresh
Account Settings → Switch Mode redesigned to feel minimal/transparent. Heavy border-2 dropped for a hairline ring-[0.5px] foreground/10. Active state is a slightly darker ring + faint bg tint instead of a chunky black border. Icons render as bare emerald-700 strokes (no colored circle behind them). Reads as a calm binary choice.
Floating Nav Popouts — Tighter Density
Both mobile and desktop floating-nav popouts tightened to match the public popout density. Tile gap-y-5 → gap-y-3, top padding pulled in, account row shrunk (smaller avatar, tighter text scale, slimmer chevron). Reads as a focused launcher, not a chunky tray.
Empty My Booths CTA
Barber dashboard's empty My Booths card now uses a Plus icon (was an arrow) — the action is creation, not navigation. Card width capped at lg:max-w-2xl so the empty-state CTA reads focused instead of stretched. Subtle scale on the icon on hover.
Hiring Filter Chips — Color-Coded
Filter chips on the public job board restored to their tone-coded colors: amber for position type, sky for compensation, rose for posted-within, violet for specialty, zinc for experience. Colors carry meaning per category. City filter is the lone exception — it's a dropdown.
Listings Breathing Room
Job board listings spaced out — list view space-y-2 → space-y-8 lg:space-y-10; grid view gap bumped to gap-6/8/10. Reads as discrete listings instead of a stacked block.
'Show All Photos' Button Refresh
Listing gallery's 'Show all photos' button is now transparent with a thin white outline (ring-[0.5px] ring-white/60), white font-light text, subtle backdrop-blur. Was a solid white pill.
Contact Modal Refresh
Contact Shop modal gets the BOOTH wordmark at the top, rounded-3xl card + rounded-2xl textarea, and natural-width Cancel + Send Message pill buttons (no longer full-width).
Owner Preview Banner Refresh
When an owner previews their shop listing, the top banner is now a contained rounded-2xl pill (was a full-bleed square bar) with a hairline ring border, plain 'Preview — how barbers see your listing' text, and rounded-full button pills.
Mobile Landing — Bigger Black Sections
Hiring + Booking Platforms sections on the landing page take min-h-[137svh] on mobile (was 110svh), 25% taller. Reads as full-screen black panels with content vertically centered. Desktop sizing untouched.
Owner Hero Two-Line Headline
Owner-mode landing hero 'Empty chairs / don't pay rent.' breaks into two lines on md+, matching the barber-mode 'More shops / More opportunity' pattern. Subhead bumped to text-base sm:text-lg lg:text-xl.
/hire Ad Redirect
boothapp.co/hire now server-redirects to /auth/signup?role=barber. Used in 'We're Hiring' ad campaigns — barbers click through and land in the right onboarding lane with their role pre-selected.
Public Footer Cleanup
Numbered prefixes (01/02/03/04) dropped from the footer column headers (Get Started, Discover, Company, Legal). 'Built for the barber world · Worldwide' tagline removed from the bottom row — copyright is the only line now.
Edit Posting Header
Edit Posting page's sticky header dropped its bottom underline; '60d left' label now aligns with the form column edge below instead of floating against the viewport edge.
Sanctuary ATL & Starlite CDMX
Two more shops added to the directory — Sanctuary ATL Barber Co. (Atlanta, Old Fourth Ward, owner-operated, bilingual EN/ES) and Starlite Barber Shop (Roma Norte, CDMX, vintage Americana with checkered floors). Brings total active seeded shops to 14.
Want to be part of our journey?
Join BOOTH →