Skip to content

Shipped, in the open.

Every feature, improvement and bug fix — documented as it ships. No silent updates.

v1.3.0

The Visual Overhaul
  • NewVisual drag-and-drop Lane Planner with @dnd-kit. Assign swimmers to lanes by dragging cards onto a pool grid.
  • NewInteractive Pricing page with currency + tier toggle.
  • NewNew /features, /for-clubs, and /pricing marketing pages.
  • ImprovedExtracted the reusable marketing component library.
  • FixedSticker hover state conflicting with CSS transform — resolved with a motion override.

v1.2.0

The Operational Update
  • NewLane Margin Calculator — real-time squad profitability with traffic-light cards and weekly averages.
  • NewGlobal Search command palette (⌘K) searching swimmers, leads, and squads across the entire club.
  • NewStripe Professional tier subscription checkout wired to upgrade button with role-gated server action.
  • ImprovedWebhook handler refactored to handler-per-event pattern with customer.subscription.created/deleted tier sync.
  • Fixedget_squad_margins RPC failing on EXTRACT(EPOCH FROM date-date) — date subtraction returns integer days, not interval. Fixed to CEIL division.
  • Fixedbatch_upsert_lane_assignments RPC blocking service-role calls — added auth.uid() IS NULL bypass for server-initiated operations.

v1.1.0

The Backend Engine
  • NewSmart Notify email sequence engine — 4 tables, 3 RPCs, SequenceService with drip state machine and retry-on-failure.
  • NewFinancial RPCs (get_club_revenue, get_squad_margins) with term-aware date windowing and per-squad cost breakdown.
  • NewOperational RPCs (search_club_data, batch_upsert_lane_assignments) with tenant-isolated full-text search.
  • ImprovedMemberService.approveTrialLead now auto-enrolls swimmer in trial_approved sequence (non-blocking try/catch).
  • FixedRLS recursion on profiles table — resolved with SECURITY DEFINER get_my_tenant_id() and get_my_role() helper functions.

v1.0.0

Initial Launch
  • NewMulti-tenant architecture with subdomain-based club isolation and Row-Level Security on every table.
  • NewClub HQ admin shell with sidebar navigation, mobile hamburger menu, and RBAC guard.
  • NewCRM lead management with trial approval workflow and automated email notifications.
  • NewRoster management with swimmer status toggling and Standard tier 100-swimmer cap enforcement.
  • NewStripe Connect Standard integration with destination charges and tiered platform fees.
  • ImprovedCommittee Email terminology fix across all onboarding flows (was 'Admin Email').