Week of April 30
LaunchedFounders Programme live on the site. Founders rate locked lifetime, roughly one third of the public price, locked while subscribed. Capped at 250 spots worldwide, single pool, no regional split. Founders rate also applies to Gid POS and Gid Reservations when they ship.
ShippedSingle source of truth for pricing. Every page reads from one JSON file. No more pricing drift between cards, FAQ, structured data, or the Stripe checkout link. The kind of bug that bit us in March cannot happen again.
ShippedStripe automation, end to end. One script that creates Products, Prices, Payment Links, and the webhook in either test or live mode. Idempotent, so re-running is safe. Cuts setup from ~45 minutes of clicking to ~15 minutes of pasting.
ShippedWelcome email rewritten in our actual voice. Side-by-side card comparing public price to your locked rate. Direct line for the first response, in the founder's own inbox.
ImprovedPricing card has one elegant pill instead of two. "Founders Rate · Save $60/mo · Locked lifetime" in one container, with a clear visual hierarchy. The dual-pill design was cluttered.
FixedEm-dash sweep across the marketing site. Replaced every em-dash with a comma, period, or "and". Em-dashes are a tell that copy was AI-written. Operator-to-operator voice does not use them.
ShippedCo-creation voice everywhere. The Founders Programme section now reads as gratitude, not scarcity. We thank operators who back us early. We do not threaten them with the cap.
Week of April 23
ShippedG12 Workforce Orchestration: 24 sprints, all green. Manager cockpit with availability heatmap, drag-drop bench, week auto-fill, pre-publish sweep with 9 issue types, coverage ribbon, employee-driven shift bidding, V2 ranking with 6 weighted signals, role-gate prerequisites, cross-training escalation. Two new schedulers: submission deadline reminders and bidding lifecycle.
ShippedG8 schema cleanup R0 → R5. Five rounds of schema remediation plus a post-R3 bug-fix sprint plus the Vague 2 path migration. Single source of truth for every collection the app reads or writes. Drift-detection sweep on every PR.
ShippedPhase 7H production hardening. Tightened Firestore rules with strict deny-all defaults. Encrypted SQLite at rest on Android and iOS via SQLCipher 4.x with per-device keys. Cross-platform secure storage layer on top of Flutter Secure Storage.
LaunchedG99 CRM, Phases 1 → 5 complete. Brave Place Search lead seeding ($0.00025 per restaurant), 5-source email cascade with vibe extraction, Instantly.ai integration, CRM dashboard, mass processor. Cold email pipeline ready to ramp once warmup completes.
Week of April 16
ShippedG11 Task Management: Phase A → D, 38 sprints, 27 of 27 unit tests green. Proof config (photo, signature, GPS, multi-step). Quality config (rubric scoring, peer review). Conflict detection on overlapping schedules. Soft-delete with audit trail. Recurrence engine. 30+ additive fields without breaking older docs.
ShippedShift bidding marketplace, employee-driven. A 4th tab on the marketplace screen. Place a bid with a priority (high / medium / would-cover) and a 256-character note. Manager sees ranked top-3 with a 1-click "Award" or an "Override" with reason. Bidding window auto-resolves from shift, period, or 48-hour fallback.
ImprovedSmartAssignmentService V2 promoted everywhere. Six weighted signals (preference, fairness, capability, fatigue, overtime risk, conflict). Tenant-configurable assign_weights. Tier classification (recommended / cross-training / overtime-risk / conflict). Replaced V1 in five consumer screens.
ShippedPre-publish sweep dialog. Before a manager hits publish, surface every unfilled shift, every availability conflict, every preferred-window miss, every minimum-rest violation, every overtime risk, every role-gate hard-block. Hard-block vs warning severity.
Week of April 9
ShippedAvailability cockpit for managers. Stand-alone /cockpit deep link or embedded toggle on the team schedule screen. Multi-employee heatmap with 8-state availability cells, role and department filters, period info, submission stats. The view a manager actually wants on Sunday night.
ShippedDrag-drop bench to shift cell. Pick up an employee chip from the bench, drop it on a shift cell, the smart-assignment dialog opens pre-filled. Long-press still works for the keyboard-and-mouse crowd. Live in the schedule week view.
ShippedAuto-fill week dialog. Per-shift V2 ranking in parallel, role-gate hard-block pre-filter, choose a fill rate target, dry-run preview before commit. Saves 30-60 minutes on a typical week build.
ImprovedCoverage ribbon on the team schedule. Day-by-day coverage tier (good / light / sparse / neutral) versus the rolling 7-day average per role. Red where it matters, green where you nailed it.
Week of April 2
ShippedG12 Sprint 0.1: Periods configuration overhaul. R1 scope (applies_to_*[]), R5/R6 bidding sub-config, R2/R7 availability stamping (submitted_at, submitted_by, availability_source). Periods can now apply to a subset of locations, departments, or roles.
ShippedSubmission deadline reminder cron. T-24h and T-2h push reminders to employees who have not submitted availability for the upcoming period. Honors R1 scope. Coalescing prevents duplicate pushes.
ImprovedBrand Vibe widget on the dashboard. Pulls Google reviews + recent social posts, surfaces the vibe (energy / hospitality / consistency), flags drift week-over-week. Lighter footprint than the old version, fewer API calls.
ArchivedThree orphan HTML mirrors removed from the site. Old pricing pages that drifted from the canonical home page. 301 redirects in place so any indexed link still works. The kind of dead code that quietly causes pricing bugs.
Week of March 26
LaunchedMy Dashboard V2: personal command center. Today's shifts, today's tasks, today's training, weekly hours, recent kudos, peer recognitions, upcoming swaps. One screen, no tabs. Loads on a 5-inch phone in under 800 ms cold.
LaunchedTeam Dashboard V2: shift-leader cockpit. Live floor view, who clocked in late, who is on break, today's covers vs forecast, allergy flags, training overdue. The screen the AGM keeps open during service.
LaunchedExecutive Dashboard Overview: ownership view. Multi-location heatmap, labor cost variance vs target, occupancy trends, evaluations due, goals progress. KPIs roll up across the whole org chart.
Week of March 19
ShippedKPI Cascade System: 100+ KPIs, fully wired. Cascade triggers from every operational write into the right rollup tier (employee, team, location, region, organization). Cron-validated nightly. Each KPI has a definition card explaining what it measures and why it matters.
ShippedG11 Task Management Phase B: proof of work. Photo proof, signature proof, multi-step proof (each step with its own proof type). Auto-archive after 30 days unless flagged for QA. Cross-references the schedule so a task knows its window.
ImprovedShift status badge palette. WCAG-AA compliant tinted-12 swatches, every status (open / scheduled / clocked-in / no-show / late / early-out / archived) readable on every background.
Week of March 12
ShippedAchievements screen. Tracks the small wins (perfect attendance, peer recognition streak, training completed early, allergy save). Progress bars where they apply, badges where they don't. Built for a service industry that rarely gets recognized.
ShippedGoogle Reviews integration on the dashboard. OAuth sign-in to Google Business Profile, pull the last 50 reviews, show the rating trend, surface the operational signal (food / service / wait / cleanliness) per review. The connection screen handles re-auth and revoke gracefully.
ImprovedSchedule Center analytics surface. Bid approvals section sits next to the approval queue widget. Top-3 ranked bids per pending shift, FutureBuilder-driven, 1-click award.
Week of March 5
ShippedTask Management Phase A wrap-up. 30+ additive fields on the Task model. TaskFilter, ProofConfig, QualityConfig, TaskConfig as first-class types. JSON roundtrip tests, extended enum coverage, validation rules, conflict detection on overlapping schedules, soft-delete semantics. 27 of 27 tests green.
FixedPricing card-white tier price visibility bug. The white-on-white founders price was invisible on the POS card. New card-white override forces the contrast back to 4.5:1 minimum.
ShippedJSON-LD on every page. Organization, SoftwareApplication, Product, FAQPage. Plus hreflang tags so the Hindi mirror at /hi/ ranks for India queries without competing with the English home.
Week of February 26
ShippedSchedule keyboard shortcuts (Phase D8). A managers' speedrun. Cmd+S save draft, Cmd+Shift+P publish, J/K to navigate days, Tab into any cell, Enter to assign. PDF export from any visible week (Phase D12).
ShippedSkeleton states everywhere (Phase D3). Every grid, every list, every card. Real shape, real height, no layout-shift when the data lands. Loaded scrolling on a low-end Android stays smooth.
ImprovedEmpty states with one specific suggestion (Phase D5). "No shifts this week. Want to copy from last week?" with a 1-click yes. Beats a sad face icon on an empty grid.
Week of February 19
LaunchedVoice agents G16 / G17 / G18: the trio. G16 detects intent and routes to the right agent. G17 runs the analytics + scheduling brain. G18 delivers the response with the right tone for the role. End-to-end OpenAI Realtime with our own audio bridge.
ShippedDemo system rebuild: hardcoded Hotel setup. A scripted, repeatable demo workspace with realistic team, schedule, tasks, KPIs. New demo seedings reset cleanly. Operators can open the live demo without an account and see a real shape, not lorem ipsum.
ShippedTenant heatmap per table for Reservations preview. Revenue, covers, turn rate, occupancy at a glance. Coming-soon pricing card on the home page got the visual mock to match.
Week of February 12
ShippedSchedule auto-publish guard. If a manager forgets to publish a Sunday-night build, T-2h before the week starts the system surfaces a warning, then auto-publishes if untouched. auto_published_at stamped on every shift in the batch for audit.
ShippedOnboarding wizard data capture (B7). 5 capture methods (form, scan, voice dictation, photo OCR, paste). Partial save survives a tab close. Reminder opt-in for every step the founder skipped.
ImprovedPublic Join screen: invite link UX. Mode A (employee join with tenant code) and Mode B (manager invite with token). Hash-routing on web means the link works whether the app is installed or not. Cross-platform deep link handler.
Week of February 5
ShippedRoleRequirements gate (B8). Capsule, certificate, tenure prerequisites checked at create-shift time and at bid placement. Hard-block vs advisory severity. Legal-safety carve-out preserved (food handler, alcohol service): those stay hard.
ShippedShiftTask bridge (B5). Cascade tasks when a shift's start-time changes by more than the configured delta. Soft-detach on archive instead of orphaning. Survives bid awards via reassignTasksOnAward.
Week of January 29
ShippedTime Clock: kiosk + mobile. Shared module for the in-restaurant kiosk and the employee phone. Geofence the kiosk to the restaurant, use phone-only when the manager allows. Break tracking with Sunday-overlap math that does not lose minutes.
ShippedShift coverage soft-rules. Same-tenant read gate. Coverage records create + update with same-tenant + own-employee or ELEVATED. Soft fields explained in tooltips so an employee can see why a swap was rejected.
ImprovedJWT custom claims expanded. Tenant_id, employee_id, security_level, training_mode. Single source for every Firestore rule. training_mode custom claim opens the G_D_T training session without crossing into prod data.
Week of January 22
LaunchedG1 / G2 / G3 agent constellation. G1 employee assistant, G2 manager coach, G3 executive advisor. Each one has its own retrieval surface, voice, and KPI access. The whole org chart in one chat.
ShippedG8 Database Foundation. Canonical schemas in one folder, one registry. Every Firestore collection the app reads has a matching *_schema.py. Drift-detection sweep runs on every PR.
ShippedMulti-site support across the dashboard. Location switcher in the top nav, KPIs roll up from location to region to org. Permissions per location respected end-to-end.
Week of January 15
ShippedCompany Onboarding V2. Step-by-step from cold-email click to first-shift-published in under 30 minutes. AI-assisted role mapping, schedule import, training plan auto-suggested from the menu. Branched flows for solo founders vs multi-location ops.
ShippedProfiles screen redesign. Photo, role, certifications with expiry tracking, languages spoken, allergies relevant to floor work, peer kudos count. Privacy controls per field.
ImprovedApp Data API access for all demo users. Voice and chat agents now have read-only access to the same demo dataset, no special-casing. Every demo conversation feels real because the data is the same shape.
Week of January 8
ShippedOpenAI Agents SDK migration. Replaced our home-rolled agent loop with the official SDK. Better tool-calling discipline, cleaner handoffs between G1 / G2 / G3, structured output enforced. Cuts our per-conversation latency by ~25%.
ShippedSecurity architecture rewrite. Auth-middleware module, tenant-validation module, employee-context module. Every Cloud Function entry validates auth + tenant + employee scope before touching Firestore. Per-route SecurityLevel enum.
Week of December 25
ShippedTask Management: first vertical slice. Create, assign, complete a task with photo proof. Cross-shift task carryover. Weekly recurrence engine. The bones of what becomes G11 Phase A in March.
ShippedInternal chat: first version. Per-shift channel, per-role channel, per-location channel. Auto-DM cards on swap approval, bid award, schedule publish. No third-party comms app.
Week of December 18
ShippedG7 training system, V1. Continuous training from your menu, your SOPs, your service standards. Bite-size daily lessons synced to the schedule. Tracked completion, not just clicks.
ShippedVoice prototype: Realtime API on Flutter. First end-to-end voice loop. Latency room for improvement, but the shape is right. Iterates into the G16/G17/G18 trio in February.
ImprovedDemo architecture revamp. Hardcoded Hotel setup as the demo workspace. Realistic team and schedule. Same shape every time, so QA catches drift.
Week of December 11
ShippedAccount types: explicit, not auto-detected. createUserWithType Cloud Function replaces the old auto-detect. Onboarding picks the right type at sign-up; production accounts can no longer flip to demo by accident.
ShippedOperations app feature set. Tasks, schedule, internal chat, training, evaluations, onboarding, AI assistant: all in one app. The everything-connected promise made concrete.
Week of December 4
ShippedDocuments module. Upload menus, SOPs, recipes, allergy charts. AI assistant indexes them so floor questions get answered in seconds. Per-document permissions.
ShippedKnowledge module. Internal wiki for the operating playbook of your restaurant. Versioned, attributable, searchable from voice + chat.
Week of November 20
ShippedG99 Prospect Generator V1. Brave Place Search → restaurant prospects. Contact extraction with 5-source cascade. Vibe extraction (energy / hospitality / consistency). Shape that becomes the M1 cold email pipeline.
ShippedRestaurant Profile schema. The single source of truth for restaurant identity (name, type, cuisine, locations, contact, brand, certifications). Foundation for G8.
Week of November 13
ShippedAuthentication: Firebase Auth + custom claims. Email/password, magic link, OAuth (Google, Apple). Per-tenant isolation enforced via JWT claims read by Firestore rules.
ShippedPublic Join flow: first version. Tenant code + employee code or invite token. The link an operator sends to their team to join the workspace. Cross-platform deep linking.