Back to home
Build in public

What we shipped

Six months of ships, every single week. The good, the bumpy, the rolled-back. We commit to shipping something every day. This page is the proof.

If a week passes with nothing here, ask us why. support@gidai.ca reads every email.

The first 250 restaurants who back us early shape this list every single week. Their feedback is why this page gets longer over time, and shorter where the gaps closed.

April 2026

Founders Programme · Workforce Orchestration · GTM kickoff
Week of April 30
Launched
Founders 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.
Shipped
Single 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.
Shipped
Stripe 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.
Shipped
Welcome 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.
Improved
Pricing 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.
Fixed
Em-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.
Shipped
Co-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
Shipped
G12 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.
Shipped
G8 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.
Shipped
Phase 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.
Launched
G99 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
Shipped
G11 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.
Shipped
Shift 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.
Improved
SmartAssignmentService 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.
Shipped
Pre-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
Shipped
Availability 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.
Shipped
Drag-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.
Shipped
Auto-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.
Improved
Coverage 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
Shipped
G12 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.
Shipped
Submission 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.
Improved
Brand 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.
Archived
Three 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.

March 2026

Dashboard V2 · Task management Phase B-C · KPI cascade
Week of March 26
Launched
My 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.
Launched
Team 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.
Launched
Executive 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
Shipped
KPI 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.
Shipped
G11 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.
Improved
Shift 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
Shipped
Achievements 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.
Shipped
Google 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.
Improved
Schedule 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
Shipped
Task 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.
Fixed
Pricing 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.
Shipped
JSON-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.

February 2026

Scheduling Phase C-D · Demo system rebuild · Voice integration
Week of February 26
Shipped
Schedule 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).
Shipped
Skeleton 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.
Improved
Empty 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
Launched
Voice 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.
Shipped
Demo 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.
Shipped
Tenant 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
Shipped
Schedule 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.
Shipped
Onboarding 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.
Improved
Public 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
Shipped
RoleRequirements 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.
Shipped
ShiftTask 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.

January 2026

G8 schema foundation · Public Join screen · Scheduling Phase A-B
Week of January 29
Shipped
Time 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.
Shipped
Shift 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.
Improved
JWT 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
Launched
G1 / 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.
Shipped
G8 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.
Shipped
Multi-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
Shipped
Company 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.
Shipped
Profiles screen redesign. Photo, role, certifications with expiry tracking, languages spoken, allergies relevant to floor work, peer kudos count. Privacy controls per field.
Improved
App 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
Shipped
OpenAI 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%.
Shipped
Security 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 January 1
Shipped
New audio agent. WebRTC bridge between the Flutter app and OpenAI Realtime. Push-to-talk on phone, hands-free in kiosk mode. Ambient noise suppression tuned for a busy floor.

December 2025

G11 Task Management foundation · Demo data + voice prototype
Week of December 25
Shipped
Task 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.
Shipped
Internal 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
Shipped
G7 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.
Shipped
Voice 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.
Improved
Demo 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
Shipped
Account 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.
Shipped
Operations 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
Shipped
Documents module. Upload menus, SOPs, recipes, allergy charts. AI assistant indexes them so floor questions get answered in seconds. Per-document permissions.
Shipped
Knowledge module. Internal wiki for the operating playbook of your restaurant. Versioned, attributable, searchable from voice + chat.

November 2025

Foundation · CRCT system V3 · Firebase + Flutter scaffolding
Week of November 27
Launched
CRCT system V3: full platform scaffold. Multi-tenant Firestore with strict isolation. Cloud Run + Cloud Functions split. Flutter app for Web + Android + iOS + tablet. The skeleton that everything since has been hung on.
Shipped
Scheduling system V1. Manager creates shifts. Employees see their shifts. Swap requests. Marketplace for open shifts. Everything else this year layers on top of these primitives.
Week of November 20
Shipped
G99 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.
Shipped
Restaurant Profile schema. The single source of truth for restaurant identity (name, type, cuisine, locations, contact, brand, certifications). Foundation for G8.
Week of November 13
Shipped
Authentication: Firebase Auth + custom claims. Email/password, magic link, OAuth (Google, Apple). Per-tenant isolation enforced via JWT claims read by Firestore rules.
Shipped
Public 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.
Week of November 6
Shipped
Glassmorphic notification system. One service, one banner, one tone. AppNotificationService takes over from SnackBar / MaterialBanner / fluttertoast. Top-right glassmorphic banner that respects screen reader timing.
Shipped
Mascot lab: early brand exploration. The look-and-feel of the app's emotional anchor. Iterated through the rest of the year.

You read this far. Come build the next 6 months with us.

Claim your Founders spot