Open Beta
Building in Public
Product updates and the story behind building BOOTH.
Barber Detail Modal
Click any barber on the shop roster to open a detail modal showing their payment status, contact info, plan details, earnings from that barber, and the ability to send a plan offer or payment reminder.
Payment Status Badges
Each barber on the owner's roster now displays a color-coded payment badge — Recurring (green), On Plan (blue), Payment Pending (amber), Cash (gray), or No Plan. Owners can tap Remind to nudge barbers who haven't completed payment setup.
Payment Reminder Notifications
Automated daily cron job sends notifications to barbers and shop owners 1 day before and on the day of payment. Covers both Stripe and cash payments with deduplication to prevent spam.
Explore for Owners
Added Explore to the owner sidebar and mobile menu so shop owners can browse other listings on the platform. Heart/save button hidden for owners since it's a barber feature.
Auto-Pay Defaults to On
The auto-pay toggle during barber checkout now defaults to on with green BOOTH branding and a Recommended badge. Barbers can still opt out, but the default nudges toward recurring payments.
Projected Income Accuracy
Projected Income on the owner dashboard now calculates from actual accepted plan offers instead of multiplying roster count by average plan price. Shows real expected revenue.
Stripe Connect Banner Redesign
Restyled the Connect Stripe banner on the owner dashboard with official Stripe purple branding, inline S logo, and matching button. Balance text updated to Stripe purple.
Listing Views Now All-Time
Listing views on the owner dashboard now show all-time totals instead of resetting monthly.
Owner Messaging Empty State
Owners now see 'When barbers are interested in your shop, their messages will appear here' instead of the barber-facing 'Contact a shop owner' message.
Account Settings Back Button
Fixed the back button on Account Settings routing owners to the barber dashboard. Now correctly uses URL-based role detection.
Account Settings Top Bar Alignment
The Account Settings header bar now respects the sidebar width on desktop instead of stretching under it.
Password Reset Page Logo
Replaced the placeholder SVG logo on forgot-password and reset-password pages with the official BOOTH logo.
Clean Listing URLs
Shop listing links now use readable slugs like /listings/abs-workspace instead of long UUIDs.
Homepage Feature Section
Darkened the Owners/Barbers tab toggle to match the Sign Up button. Increased feature card text sizes for better readability.
Orphan Word Fix
Fixed single words appearing alone on a line in the Building in Public subtitle on mobile.
Save Changes Button on Edit Shop
Added a full-width Save Changes button as the primary CTA at the bottom of the edit shop page. Delete Shop moved to a small inline text link below.
View All Photos on Mobile
Mobile shop listing pages now have a small View All button inside the image gallery that opens the full-screen photo lightbox.
Amenity Selector Redesign
Rebuilt the amenity selector as minimal flat pill toggles. Removed category accordions — all amenities flow in one section. Custom amenities use a tag icon instead of sparkles.
Create Shop Upload Interactions
All upload areas on Create New Shop now have hover effects — logo, cover image, and gallery photos. Gallery images support drag-to-reorder with position numbers.
Map Zoom & Badge Controls
Map zoom buttons now always visible on all screen sizes. Added a shop count badge on the map. Removed unused Leaflet control containers.
Mobile Shop Page Reorder
Moved the Questions/Contact card above the Location section on mobile for better flow. Reduced image gallery height by 10%.
Listings Page Performance
Lazy loading on carousel images, HTTP cache headers on the shops API, removed per-listing console.logs from map, and added preconnect to Supabase storage domain.
Dashboard Welcome Spacing
Reduced excessive top padding on both owner and barber dashboard welcome sections so the greeting aligns with the sidebar navigation.
Map Price Badge Centering
Map price badges now center correctly regardless of text width. Removed the /mo suffix — badges just show the price.
Carousel Dots Position
Moved the image carousel dots on listing cards down to align with the city line instead of overlapping the shop name.
Create Shop Whitespace Bug
Fixed a ghost whitespace block on the Create New Shop page caused by min-h-screen and excessive bottom padding.
Logo Remove Button Clipping
Fixed the red X button on the shop logo being clipped inside the circular image instead of overlapping the corner.
Booth Options Metric Removed
Removed the confusing available/total barber metric from the Booth Options header on shop listing pages.
Demo Shop Hidden from Listings
Barbershop Demo no longer appears in public Browse Listings. Still accessible via direct URL for testing.
Building in Public Page
Renamed the Changelog to Building in Public with two tabs — Changelog for product updates and Founder's Journal for behind-the-scenes entries. Added minimal underline tab navigation.
Founder's Journal
Launched a founder's journal with tagged entries (Conversation, Idea, Partnerships, Milestone, Event, Lesson, Community). First entries are live.
Building in Public Navbar
Added a dark-themed navbar to the Building in Public page with Browse, Rewards, Log In, and Sign Up links matching the page's aesthetic.
Homepage SEO Overhaul
Refined all metadata to position BOOTH as a barbershop discovery platform and double-sided marketplace. Added competitor alternative keywords and hidden SEO comparison sections.
Listings Map Fix
Fixed the map failing to load on the Browse page. A dead code reference to a removed zoom control was crashing map initialization.
Revenue Analytics Fix
Fixed the Revenue YTD percentage on the owner dashboard. The comparison was incorrectly using full year-to-date against a single month, causing inflated percentages. Now correctly compares this month vs last month.
Fullscreen Map on Desktop
Added a fullscreen map option on the desktop listings page. Click Expand Map to browse listings on a full-view dark map with price markers.
Map UX Overhaul
Rebuilt map interactions — custom React zoom buttons, modern price badges, card highlighting when clicking map markers, popup cards in fullscreen mode, and fixed stale closure bugs.
Projected Income Card
Added a Projected Income card with a green pulse indicator to the owner dashboard, giving shop owners a forward-looking revenue estimate.
Owner Dashboard Metrics
Reworked Occupancy to show booths filled instead of barber count, and fixed Avg Per Barber to use current month earnings. Capped revenue percentage to show 'Strong growth' when over 999%.
Session Time Slot Badges
Updated session time slot badges to a cleaner black, white, and gray palette.
Homepage Typography & Layout
Increased feature section text size and fixed orphan words on headings across the site.
Privacy Policy & Terms of Service
Rewrote both the Privacy Policy and Terms of Service with updated, clearer language.
Auth Page Centering
Fixed vertical centering on both the sign in and sign up pages by removing excess padding.
Blog Header Fix
Fixed the Blog page header where the descender on the letter 'g' was being clipped.
Instagram Link Corrected
Fixed the Instagram link in the open beta community section to point to the correct @booth__app account.
Founder Photo on Press Page
Added a full-frame founder photo to the press page, replacing the placeholder.
Downloadable Deck (2025)
The BOOTH deck is now available for download directly from the press page alongside the founder photo and logo assets.
Press Page Copy Refresh
Rewrote the About BOOTH and Founder Bio sections with updated copy. Refined messaging around the marketplace positioning and founder background.
Logo Light Background Match
Fixed the Logo Light download card background to exactly match the logo image, removing the visible color mismatch.
App Font Upgrade
Switched the entire platform font from Inter to Geist for a cleaner, more modern look across all pages.
Open Beta Community Section
Added a new community section to the landing page with floating social icons linking to Facebook, Instagram, LinkedIn, TikTok, Threads, and Discord.
Rewards Page Reorder
Reorganized the public rewards page layout: partners preview and login CTA now sit above the tiers and how-to-earn sections for better flow.
Social Links Corrected
Fixed LinkedIn, TikTok, and Facebook URLs across the site to point to the correct BOOTH profiles.
Listings Page Redesign
Responsive grid layout with 1 to 4 columns depending on screen size. Improved search bar styling and filter layout for desktop.
Map Zoom Controls
Updated zoom controls to a cleaner circle style on both the listings map and listing detail maps.
Downloadable Logo Assets
Added BOOTH logo downloads to the press page with preview cards showing both dark and light variants.
Public Rewards Page
Launched a public-facing rewards page accessible from the navbar and footer. Browse partner previews, reward tiers, and how to earn before signing in.
Homepage Hero Update
Added Create Account and Sign In buttons to the hero section. Updated the public footer with press, traction, and social links.
Desktop Listings Filters
Split filters and search into two rows on desktop for a cleaner browsing experience. Filters above, search below.
Press Page
Launched /press with founder bio, live platform stats pulled from Supabase, downloadable assets, and an embedded Instagram feed. Accessible from the homepage footer.
Features Section Redesign
Rebuilt the features section on the homepage with a toggle between owner and barber views, compact cards, and refined spacing.
Listings Page Overhaul
Redesigned the listings page with a collapsible map, full-image listing cards with text overlays, unified filter bar, and mobile-optimized layout with expandable fullscreen map.
Email Change in Settings
Users can now update their email address from account settings.
Mobile Map Experience
Mobile users now get split filter rows, independent scroll for types and cities, and a collapse-on-scroll map that expands to fullscreen on tap.
Homepage Hero Image
Swapped in a new high-resolution studio shot for the hero section. Optimized for retina displays and repositioned to show the full chair on both desktop and mobile.
Onboarding Avatar and Bio
Fixed barber onboarding to properly save bio text and avatar photo URL. Added migration for avatar_url column.
Booth Plans Save
Fixed booth plans failing to save by switching from delete-and-reinsert to upsert, preventing race conditions.
Signup Error Resolved
Fixed a 500 error during signup caused by email confirmation flow. New users can now create accounts without issues.
Number Input Leading Zeros
Fixed a bug where number fields on edit/create shop forms would display leading zeros.
Pricing Display Accuracy
Filtered out placeholder booth plans so listings no longer incorrectly show $1 pricing or 0% commission.
Map Price Markers
Map markers now display in green for better visibility and contrast against the map background.
Listings Page Mobile Layout
Resolved a white block appearing on the listings page on mobile. Page now scrolls naturally with proper background transparency.
Shop Image Uploads
Rebuilt image upload experience for logo, cover, and gallery photos across Create Shop and Edit Shop. Uploads now show instant previews and work reliably on all mobile browsers.
Stripe Dashboard Access
Improved Stripe Dashboard buttons throughout the platform. One-tap access to your Stripe account now works seamlessly on both desktop and mobile devices.
Shop Preview Layout
Simplified the shop preview page to a clean scroll-through layout matching the public listing experience. Removed the tabs/scroll toggle for a more consistent feel.
Rewards Page Redesign
Redesigned the rewards page with a cleaner, more compact layout. Streamlined the How to Earn section, updated category icons, and tightened the overall spacing for a better mobile experience.
Rewards Tier Progression
Adjusted reward tier thresholds so barbers can reach Silver, Gold, and Platinum status faster. Early progression now feels more achievable and rewarding.
Session Date Rescheduling
Barbers can now change their booked session dates directly from the Sessions page. Supports single session reschedule and bulk date management for moving multiple sessions at once.
Smart Schedule View
Your weekly schedule now auto-populates from your booked sessions with AM, PM, and Full Day time slots. No more manual entry — book a session and it shows up on your schedule automatically.
Rewards Program Preview
Added a preview of upcoming partner rewards across barber supplies, wellness, and travel categories. Earn points with every booth payment and redeem them for exclusive discounts soon.
Rewards Card Redesign
Redesigned the rewards points card with a sleek dark holographic look. Tier badge and progress bar now feel premium and less cluttered.
Payment Activity Tracking
Fixed an issue where completed booth payments weren't appearing in the shop's Payment Activity section. All transactions now record and display correctly.
Messaging & Offers Reliability
Fixed multiple messaging bugs including real-time subscriptions, offer modal interactions, toast notifications, and pagination. Conversations are now more reliable across the board.
Calendar-Based Booth Booking
Launched a brand-new booking system. Barbers select daily, weekly, biweekly, or monthly plans, pick specific dates on an interactive calendar with real-time availability, and pay upfront via Stripe.
Custom Session Slots
Shop owners can now define custom session time slots (AM, PM, Full Day, or custom windows) for each booth plan. Full control over how booth time is divided.
Booking Flow & Checkout
Redesigned the entire booking interface with cleaner plan cards, clearer pricing, an auto-pay toggle at checkout, and a seamless path from browsing to booking.
Owner Plan Editor
Owners can now configure the number of sessions per plan, set session mode (AM/PM/Full Day), and define custom session hours — all from the booth plan editor.
Invite Barber to Your Shop
Shop owners can now invite barbers directly by email or phone. Invited barbers receive a notification and can join the roster with one tap — no searching required.
Mobile Responsiveness
Fixed roster button layouts, invite modal sizing, and calendar controls on smaller screens. The entire owner dashboard is now fully usable on mobile.
Today Highlight in Calendar
Redesigned the weekly calendar view to clearly highlight today's column, making it easier to see your current day at a glance.
Booth Plan Sort Order
Booth rental plans now sort from least to most expensive across all views, helping barbers compare options more naturally.
Barber Schedule Management
Barbers can now set and manage their weekly work schedules directly from the dashboard. Includes day-by-day time selection, break configuration, and a 'Copy to All' shortcut for quick setup.
Shop Creation Image Uploads
Fixed shop logo, cover image, and gallery photo uploads during shop creation. All images now properly persist and display across the entire platform.
Payment & Checkout Reliability
Improved payment request handling for barbers with in-app notifications. More reliable booth plan data fetching and seamless plan selection during onboarding.
Platform Security Hardening
Strengthened authentication and access controls across all payment and account endpoints. Added server-side price validation to ensure accurate billing on every transaction.
Saved Listings & UI Polish
Modernized saved listings cards with a cleaner design. Improved time picker usability and polished schedule section layout and spacing.
Booth Payment Checkout
Fixed issue where barbers couldn't complete payments when selecting a booth plan. The 'Continue to Payment' button now properly redirects to Stripe checkout.
Barber Payments Page
Redesigned the payment history page for barbers with a cleaner, simpler layout. Now shows transactions grouped by month with a summary of total spent.
Save Listing Feature
Fixed the heart/save button on individual listing pages. Barbers can now save their favorite shops and view them later from their profile.
Payment Activity Cards
Redesigned payment activity section on barber dashboard with individual transaction cards showing shop logos, amounts, and dates in a cleaner format.
Shop Listings Sort Order
Shops now display with the most active barbers first, helping barbers find popular and established workspaces more easily.
Owner Dashboard Layout
Moved 'Add New Shop' card below existing shops for better flow. Your shops now take priority in the dashboard view.
Request Payment Modal
Added clear success and error states when shop owners request payments from barbers. Better feedback on what happened after clicking send.
Owner Dashboard & Roster
Improved manage shop links, roster member cards, and modal interactions for a smoother shop management experience.
Shop Card Design
Updated booth availability display and shop cards with cleaner visuals and better information hierarchy.
Full-Screen Photo Viewer
Added lightbox gallery to shop listings. Click any photo to view it full-screen with easy navigation between images.
Booth Rental Modal
Cleaned up the plan selection modal with better price display, improved spacing, and clearer plan comparisons.
Owner Dashboard Cards
Added horizontal scrolling shop cards on owner dashboard for easier navigation when managing multiple locations.
Map Zoom Controls Visibility
Relocated zoom controls from bottom-right to top-right corner of map to prevent clipping at viewport edge. Controls now fully visible on all screen sizes with improved responsive sizing.
Owner Dashboard Welcome Section
Updated Owner Dashboard welcome section spacing to match Barber Dashboard UI consistency. Increased vertical padding (py-8) and adjusted date margin (mb-2) for better visual hierarchy.
Phone Validation Regex
Fixed syntax error in account settings phone number validation regex. Users can now properly save phone numbers containing digits, spaces, hyphens, plus signs, and parentheses.
Shop Detail Page Async Params
Fixed Next.js 16 async params handling in shop detail pages (both owner and barber). Shop IDs now properly resolve before data fetching, preventing undefined errors.
Shop Page Error Resilience
Added comprehensive error handling for fetch cancellations and storage listeners. Shop pages now gracefully handle AbortError exceptions and continuous re-renders without crashing.
Stripe Connected Banner Dismiss
Added X button to dismiss Stripe Connected banner on shop dashboard. Dismissal saves to localStorage and users can still access Stripe through Settings > Billing.
Stripe Dashboard Button
Fixed 500 error on Stripe Dashboard button with improved API key validation and user-friendly error messages when Stripe is not properly configured.
Role Switching Flow
Simplified role switching to allow unrestricted mode toggling between Barber and Owner modes. Removed all validation restrictions for seamless user experience.
Release Barber Feature
Fixed release barber function by removing reference to non-existent 'updated_at' column in shop_barbers table. Changed status from 'released' to 'inactive' and improved status to 'cancelled' for booth_rentals.
Send Offer Modal Flow
Fixed modal flashing during offer submission. Added smooth 300ms delay before closing and improved success toast with plan details. Button now shows 'Sending...' during submission.
Shop ID Undefined Navigation
Added shop ID validation with proper error handling to prevent undefined ID errors. Shop cards now safely navigate with fallback to shop_id if shopData.id is missing.
Booth Rental Query Errors
Fixed 406 errors in booth_rentals queries by changing from .single() to .maybeSingle() throughout roster management. Prevents errors when no active rental records exist.
Roster Management UI Feedback
Enhanced release barber and send offer features with clearer success messages, loading states, and error handling. Users now get immediate visual feedback for all actions.
Payment Tracking System
Fixed critical issue where booth rental payments weren't appearing in owner dashboards. All transactions now display correctly with complete payment history, earnings summaries, and barber payment details.
Stripe Webhook Integration
Resolved payment processing bug that prevented transactions from being recorded. Shop owners now see real-time payment updates and accurate total earnings in their analytics.
Subscription Cancellation on Release
When owners release a barber from their roster, their Stripe subscription now automatically cancels to stop future charges. Barbers receive an instant notification explaining the release.
Multiple Payment Support
Barbers can now make multiple payments to the same shop, allowing them to pay ahead for future months or add additional booth services whenever needed.
Back Button Spacing
Fixed layout bug in account settings where the back arrow was too close to the sidebar. Improved spacing and touch targets for better mobile experience.
Booth Options Display
Redesigned booth availability stats on listing pages with cleaner inline layout and better responsive spacing for mobile and tablet devices.
White Favicon Design
Updated app icon to professional white background with gray BOOTH emblem for better visibility in browser tabs and bookmarks across all devices.
Payment Confirmation Flow
Simplified subscription confirmation with clearer payment schedule details. Changed 'Auto-Renewal' to 'Auto-Pay' and made it crystal clear when recurring charges begin.
Gallery Photo Cutoff on Mobile
Fixed booth listing gallery images being cut off at the top on mobile devices. Optimized carousel height for perfect visibility across all screen sizes.
Coupon Code Security
Removed exposed discount codes from plan selection modal for better security. Users can still enter codes, but examples are no longer visible to everyone.
Modal Overflow Fix
Fixed plan selection modal appearing cut off with oval edges. Updated responsive sizing and border radius for clean display on all devices.
Request Management Simplified
Consolidated duplicate request sections in owner dashboard. Now shows 'New Barber Applications' and 'Existing Barber Requests' in one clear view.
Payment Button Functionality
Fixed critical bug where payment completion buttons weren't responding to clicks. All payment options (weekly, monthly, cash) now work instantly.
Owner Approval System
Fixed approve/deny buttons in shop roster management. Owners can now approve or decline barber requests from both the shop page and notifications.
Barber Shop Navigation
Fixed booth card navigation in barber dashboard. Clicking on 'My Booths' now properly navigates to the shop detail page with all rental information.
Transaction Display Design
Completely redesigned payment activity section with larger avatars, clearer transaction details, prominent green amounts, and better date formatting for easier tracking.
Barber Shop Loading Issue
Fixed infinite loading state when barbers click on shop listings. Shop details now load instantly with all booth plan information displayed correctly.
Marketing Landing Page
Launched dedicated /shops-flyer landing page for print marketing campaigns. Shop owners scanning QR codes see a conversion-optimized page highlighting key benefits and quick 3-step onboarding.
Barber Mode & Owner Mode Switching
Redesigned mode switcher to be fully interactive and easily accessible. Users can now toggle between Owner and Barber modes directly from account settings with one click.
Shop Display in Account Settings
Fixed bug where shop owners weren't seeing their shop listings in the Billing tab. Shop data now correctly displays based on current view mode, not just account role.
Professional Footer Design
Added comprehensive footer across all marketing pages with brand information, quick links for both shop owners and barbers, support resources, and legal links.
Payment & Transaction System
Fixed critical payment flow to ensure all booth rental payments are properly recorded and displayed. Shop owners now see accurate transaction history in their analytics dashboard.
Barber Onboarding & Reservations
Fixed 'No Plans Available' error when barbers click Reserve. Booth rental plans now display correctly and barbers can complete the full reservation flow seamlessly.
Platform Fee & Coupon Codes
Added transparent 2% platform fee for barbers (shop owners receive 100% of booth rent). Barbers can enter coupon codes to waive the platform fee for promotional periods.
Mobile Layout Improvements
Fixed off-center mobile layout on booth listing pages. All modals and content now properly fit the viewport with centered alignment on all devices.
Account Settings & Mode Switching
Fixed shop display in billing settings for owners and made the Owner/Barber mode switcher fully interactive. Users can now easily toggle between modes with one click.
Email Verification & Redirects
Fixed authentication redirect issue where users were being sent to preview environment instead of production site after email verification. All auth flows now properly route to boothapp.co.
Guest Booth Invitations
Shop owners can now invite barbers as guests at $0 cost. Guests join the roster immediately without payment, and owners can send paid plan offers later.
Cash Barber Option
Owners can onboard barbers with custom pricing but collect payment outside the platform (cash, Venmo, Zelle). Perfect for shops that prefer traditional payment methods.
Mobile Dashboard Layout
Fixed critical issue where content was cut off behind the navbar on mobile across all dashboard pages. Back buttons, headers, and save buttons now fully visible.
Barber-Owner Messaging
Fixed bug preventing barbers from contacting shop owners. The 'Contact Shop' button now works correctly with proper owner identification.
Design System Consistency
Standardized all buttons to rounded-full styling. Removed navbar scroll jank for buttery-smooth performance across the entire platform.
Logo Upload on Mobile
Removed forced camera capture. Users can now choose between taking a photo or selecting from gallery on mobile devices.
Gallery Photos for Shops
Shop owners can now upload up to 6 additional photos when creating their shop, giving barbers a better view of the space with drag-and-drop support and instant previews.
Custom Amenities
Create your own custom amenities when listing a shop. Add unique features like 'Espresso Machine' or 'Massage Chair' that aren't in our preset list.
Mobile Image Uploads
Fixed issue where uploaded shop logos and photos weren't displaying on mobile devices during shop creation.
Release Barber Feature
Owners can now properly release barbers from their roster. Released barbers immediately disappear from the team list as expected.
Profile Image Display
Fixed stretched and distorted profile photos throughout the app. All avatars now display correctly with proper cropping and centering.
Critical Dashboard Errors Resolved
Fixed multiple critical errors preventing barbers and owners from accessing their dashboards. Corrected router imports and authentication flows across the platform.
Profile Images Display
Resolved stretched and off-center profile images across both barber and owner modes by adding proper object-cover styling to all avatar components.
Release Barber Functionality
Enhanced roster management with proper authentication, ownership verification, and immediate UI refresh when releasing barbers from shops.
Custom Amenities Support
Shop owners can now add custom amenities beyond the preset list when creating or editing their shops (e.g., 'Espresso Machine', 'Shoe Shine Station').
Gallery Upload for Shops
Added ability to upload up to 6 additional shop photos during shop creation with drag-and-drop support and preview thumbnails.
Want to be part of our journey?
Join BOOTH →