Changelog
Every update, fix, and new feature β documented as we ship.
Messenger inbox (/inbox) β all Messenger conversations in one view. Split into "Needs a reply" (client sent last) and "Crafty handled". Shows last message preview, lead stage, time ago. Red border on rows needing attention.
Booking contracts + e-sign β Copy Contract Link from any booking. Client opens the page, reads 6-clause service agreement, types full name, taps "I Agree". Timestamp stored on booking.
Team mode β invite staff by email. They click a link, accept, and can see Leads + Bookings. Staff cannot access Finances, Ads, or Settings.
Facebook Login β "Continue with Facebook" button live on login and signup as primary CTA. Activate by configuring Supabase OAuth + Facebook Developer App.
PayMongo payment links β built and hidden. Activate when PayMongo account is set up. Client pays via GCash/Maya/card, deposit auto-marked paid via webhook.
Optimistic UI β Mark Paid, booking status, lead stage changes, and activity logging all update instantly. DB syncs in background. Reverts on error.
Balance Due This Week β amber alert card on dashboard listing bookings with event β€7 days away and unpaid balance. Click to go straight to the booking.
Swipe-to-action on mobile lead cards β swipe right to mark Contacted, swipe left to archive as Lost. 4-second undo snackbar after every action.
Onboarding checklist on dashboard β 3-step card (Add lead Β· Try Crafty Β· Set up profile) shown after first lead. Progress bar, dismisses permanently when complete.
Stage hints on lead detail β contextual next-step hint shown below the pipeline progress bar at every stage.
/scripts page β free Taglish Follow-Up Script Pack with 5 copy-ready Messenger scripts. No signup. Shareable in FB groups.
Homepage β cost-of-inaction hero copy, Grand Slam value stack section (β±6,800+ value shown at free), Taglish libre paradox CTA, outcome-focused steps.
Mobile nav β backdrop-blur glass effect, safe-area-inset-bottom for iPhone notch, active tab indicator line.
Crafty chat tabs renamed β "π¬ Ask for Advice" and "β‘ Do Something" for clarity.
Packages & Pricing save stuck on "Savingβ¦" β replaced upsert (deadlock on new rows) with delete-then-insert. Added try/finally so the saving state always resets.
Packages save crash "Cannot read properties of null (reading trim)" β optional chaining on description field.
Onboarding checklist not dismissing after all steps done β now auto-dismisses 2 seconds after completion.
Mobile nav dark background showing in light mode β now theme-aware via CSS variables.
Mobile nav active tab β replaced top indicator line with subtle background fill, cleaner look.
Revenue strip numbers overflowing/truncating on mobile β replaced full numbers with abbreviated format (β±27,150 β β±27.1k). Fits 3 columns cleanly on 360px screens (most common PH budget Android).
Booking mobile card touch targets β increased from py-3 to py-4 (44px+ per Apple HIG minimum). Easier to tap on budget Android phones.
Packages & Pricing page (/settings) β configure base packages and add-ons from the app. Crafty AI reads them from the database on every request, no code change needed.
Dashboard β greeting with time-of-day, revenue hero strip at top (confirmed / collected / outstanding), Today's Actions with colored left border per urgency level, pipeline snapshot segmented bar, upcoming events with date badge. Charts and monthly breakdown moved to bottom.
Leads list β avatar initial circles colored by stage, colored left border per row showing stage at a glance, simplified 5-column table, action badge under client name.
Kanban β wider cards (w-64), client avatar in card, stage color on drop zones, column count badge.
Lead detail β 2-column desktop layout (client info + activity log left, actions right), visual pipeline progress bar with numbered steps and connector lines, timeline activity log with left border thread, Convert to Booking as collapsible card.
Booking detail β payment progress bar showing % collected, deposit/balance rows with larger numbers, all hardcoded colors replaced.
Sidebar β replaced emoji nav icons with consistent SVG icons at 18px.
Mobile nav β 5 tabs with SVG icons (Home, Leads, +, Bookings, Profile). Removed Ads from mobile β secondary feature.
Sign out was completely inaccessible on mobile β no button existed. Added sign out + theme toggle to Profile page for mobile users.
Dashboard was capped at max-w-5xl leaving dead whitespace on wide screens. Now fills full content area.
New accent color #7c6ff7 β warmer violet replacing default indigo across all interactive elements
Design token unification β all pages now use CSS variables instead of hardcoded Tailwind gray classes
Global dark surface ladder β Page #09090f, Card #0f0f17, Sidebar #141420, Hover #1a1a2a, Active #1f1f33
Global table system β no vertical borders, clean sticky headers, row hover state, .tabular number class
Typography β h1βh4 get weight 600 + letter-spacing -0.015em; body text 15px; ALL CAPS labels 11px/0.08em
Button system β press scale on click, visible focus ring, 10px border radius across all buttons
Card detail β inset top border box-shadow + 1px lift on hover on all .card elements
Mobile nav β backdrop-blur + safe-area-inset padding; active tab uses new accent with bg tint
150ms transitions everywhere (was 300ms)
.card and .section-label utility classes added to globals.css for consistent use across pages
Crafty CRM Actions mode β natural language interface: tell Crafty to add leads, update bookings, log payments, and query revenue. Writes directly to DB.
Paste DM β copy-paste a raw Messenger inquiry into the chat widget; Crafty extracts details and creates the lead. No form needed.
Convert lead to booking via Crafty β one message closes the deal. Crafty finds the lead, pulls event details, creates the booking, marks deposit paid.
Kanban board view β drag-and-drop leads across 6 pipeline stages (desktop). Mobile: tab bar + single-column + Move buttons.
AI next-action badges β rule-based urgency label on every lead: "Event in Xd", "Follow up now", "First contact needed", "Event passed".
Cold lead alerts banner β leads silent 5+ days shown at top of Leads page, color-coded Warm / Cold / Very Cold.
Revenue dashboard card β Confirmed / Collected / Outstanding for current month. Updates as payments are logged.
Dashboard charts β bookings per month bar chart + lead source donut chart (recharts).
Today's Actions card β top 3 urgent leads on dashboard, click to navigate to lead detail.
Quick-prompt chips β Paste DM, What needs attention, Revenue, Draft follow-up chips fire Crafty prompts via CustomEvent.
Onboarding checklist for new users β 3-step progress bar, dismissible, shown when account has no leads.
Progressive lead form β 4 fields by default, "Add more details +" expands rest.
Mobile Quick Add β "+" button in bottom nav opens sheet: Add Lead, Paste DM, Log Payment.
Follow-up templates on lead detail β 3 Taglish message templates + Open Messenger deep link button.
PackagePicker component β 4 package cards + toggleable add-ons, auto-calculates total. Add-ons flow into invoice as line items.
Booking confirmation smart link β public /confirm/[token] page: event details, payment breakdown, GCash info, terms. No login required.
Overdue alert banner on Bookings page β event passed, balance unpaid.
Payment status badges per booking row β Unpaid / Deposit Paid / Fully Paid / Overdue.
Micro-animation on Mark Paid β green flash confirmation banner.
SMS follow-up via Semaphore PH β cron sends Taglish SMS to leads with phone numbers and no Messenger.
Open beta ready β delete INVITE_CODE env var in Vercel to open signups publicly.
Custom empty states on Leads and Bookings pages β illustrated CTAs, Paste DM as #1 entry point on empty leads.
Multi-user support β each account has private isolated data
Invite-code protected signup for beta testers
User profile page β set your name, business, and city
Onboarding tutorial modal for new users
Dark / Light mode toggle (desktop + mobile)
Sidebar shows real user name and initials
Signup no longer freezes β instant redirect after account creation
Fixed service role key accidentally used as anon key (security fix)
Mobile login speed improved β middleware now uses local session check
Login system with Supabase Auth β full route protection
Google Calendar sync β bookings auto-sync on creation
Invoice generator β printable PDF from any booking
Ad Performance dashboard β track which Facebook ads convert
Auto follow-up cron β Crafty AI sends follow-ups daily at 10am
Booking reminder cron β reminders sent 3 days before event
Crafty AI takeover toggle β manually take over any conversation
Messenger conversation viewer inside lead detail page
Fixed duplicate booking creation from Messenger auto-detection
Crafty AI now asks for name in first message
Fixed spread type TypeScript error in messenger route
Lead pipeline β New, Contacted, Quoted, Negotiating, Booked, Lost
Bookings management with deposit and balance tracking
Personal finances β income and expense tracking by month
Crafty AI β Facebook Messenger auto-reply in Taglish
Auto lead extraction from Messenger conversations
Auto booking creation when client says PAID
Dashboard with monthly breakdown and upcoming events
Activity log on each lead (notes, calls, follow-ups)