Hassan & Ali
Covers Engine

Board Update
April 2026

v0.5.25 — Two-week sprint: Mar 27 – Apr 10

Hassan
Sprint Overview

Two weeks, one team

84
Tickets completed
115
Pull requests merged
32
Releases shipped
54K
Lines of code added
FLOOR PLAN & UI

Complete Rebuild

Floor plan editor, service view, reservations page, settings, sidebar, booking widget

BOOKING ALGORITHM

6-Layer Pipeline

Table assignment, scoring, combinations, seat loss, channel availability, live reshuffle

ROLES & SECURITY

3-Role Model + Hardening

Company admin, group manager, location manager, rate limiting, race condition fixes

Hassan
Service View

The host's command centre

app.usecovers.com/dashboard/service-view
Service View Demo

Floor Plan & Timeline

One-click toggle. Drag-to-time on the timeline to reschedule. Search dimming highlights matches on the canvas.

Sidebar Queue

Waitlist and walk-in management in a drawer. Reservation details as overlays — floor plan stays visible.

Responsive & Polished

Adapts to screen size. Sidebar auto-collapses. Language and appearance settings accessible from the sidebar.

Hassan
Reservation Operations

Every action, one system

app.usecovers.com/dashboard/reservations
Reservation Ops Demo

Centralised Actions

Confirm, seat, cancel, no-show, reject, mark incomplete — defined once, used on dashboard and service view.

Undo Everything

"Marked as no-show — Undo". Snackbar on every status change. One click to reverse.

New Transitions

Confirmed → Needs Review · Confirmed → Incomplete · Seated → Confirmed. All DB-enforced.

Hassan
Floor Plan Editor

Rebuilt from the ground up

app.usecovers.com/dashboard/floor-plan
Floor Plan Demo

Canvas Engine

Drag, resize, rotate. Multi-select. Smart snapping. Same engine powers the editor and the live service view.

Chair Dots & Capacity

Visual capacity on every table. Linked groups show combined seats with seat loss accounted for.

Concurrent Protection

Version checking prevents overwrites. Undo/redo tracks saved state. Dark & light mode.

Ali
The Problem

Table assignment is
harder than it looks

Every booking needs a table. Picking the wrong one wastes capacity, frustrates guests, and leaves money on the table.

REVENUE

Lost Revenue

Seat a party of 2 at a 6-top, and that table can't serve a larger party. Multiply by 50 bookings a night.

EXPERIENCE

Guest Frustration

Guest requests a patio seat, gets the bar. Guest books for a quiet dinner, ends up next to the kitchen.

OPERATIONS

Operational Chaos

Staff manually juggling tables on a busy Saturday night. No time to think about optimization.

Our algorithm solves this automatically — every booking, every time.

Ali
Architecture

Two packages,
strict separation

The brain and the body. The algorithm thinks. The engine acts.

ALGORITHM

Booking Algorithm

packages/booking-algo

  • Pure math — no database, no side effects
  • Takes numbers and objects, returns the best table
  • 6-layer pipeline with weighted scoring
  • Deterministic — same input always produces same output
Zero dependencies
ENGINE

Booking Engine

packages/booking-engine

  • Database integration — loads state, writes results
  • 25 parallel queries to build the restaurant snapshot
  • Calls the algorithm internally
  • Atomic transactions with retry logic
Depends on algo + DB
Ali
How It Works

End-to-end workflow

From a booking request arriving to a table being assigned

Step 1
Request Arrives
Date, time, party size, channel
Step 2
Engine Loads State
25 parallel DB queries
Step 3
Algorithm Runs
6-layer pipeline
Step 4
Assignment Written
Atomic transaction
<50ms
Single booking
<500ms
Batch optimization (100 reservations)
13
Invariants verified (10K+ runs each)
6
Real-world scenario tests
Ali
The Pipeline

6 layers, in sequence

Each layer answers one question. If any rejects, later layers don't run.

5

Admission

"Can we accept more guests right now?"

Pacing Channel caps Overbooking
2

Eligibility

"Which tables pass the 7 hard constraints?"

Capacity Time Channel
3

Combinations

"Can we push tables together for large parties?"

Pre-defined combos Adjacency search
1

Feasibility

"Does this time block fit without overlapping?"

Helper layer
4

Scoring

"Which eligible table scores best on 6 factors?"

Weighted average 0-1 range
6

Optimizer

"Can we rearrange all reservations for a better plan?"

Pre-service Live reshuffle
WHEN IT FAILS

The algorithm doesn't just say "no" — it generates alternative times (+/-15 to +/-120 min), runs the full pipeline on each, and returns the top 3 scored by time proximity, table quality, size fit, and demand level.

Ali
Scoring — Layer 4

6 factors, configurable weights

Every table gets a score from 0 to 1. The highest score wins. Two presets available.

Maximize Covers Pack efficiently

Size fit
40%
Turn buffer
30%
Section balance
15%
Guest preferences
5%
Table priority
5%
Combo penalty
5%

Maximize Experience Guest comfort first

Guest preferences
30%
Table priority
25%
Size fit
20%
Turn buffer
10%
Section balance
10%
Combo penalty
5%

Weights are configurable per service. Restaurants choose their strategy — or create a custom blend.

Ali
Layer 6 — Optimizer

Batch optimization &
live reshuffle

Can we rearrange all reservations for a better overall plan?

PRE-SERVICE

Optimize before doors open

Re-optimize all reservations at once before the service starts.

  • Hard-locked first — always get their table
  • Hardest-to-place next — fewest eligible tables go first
  • Greedy assignment using the full pipeline per reservation
  • Runs in under 500ms for 100 reservations
LIVE RESHUFFLE

React during service

When things change — cancellation, walk-in, no-show — find a better arrangement.

  • Never moves seated guests
  • Never breaks hard locks
  • Score never decreases — only keeps improvements
  • Configurable lookahead window and move budget
Auto
Triggers on cancellations, no-shows, walk-ins
Manual
Staff can trigger on demand
Safe
13 invariants verified with 10K+ runs
Ali
Control

Table locking

Staff can override the algorithm when they need to. Two lock levels give the right balance between automation and control.

HARD LOCK

Immovable

The algorithm never reassigns this table.

  • VIP requests — "I want the window booth"
  • Accessibility — wheelchair-accessible table
  • Special events — birthday, proposal setup
  • Must unlock first — two deliberate steps to prevent accidents
SOFT LOCK

Preferred but movable

Algorithm prefers this table via scoring but will reassign if a better arrangement exists.

  • General preferences — "they prefer the patio"
  • Staff instinct — "this table works well for them"
  • How it works — scoring boosts the preferred table, but reservation stays in the movable pool during reshuffle
Hassan
Platform

Settings, roles & channels

Settings Redesigned

Org: General, Team, Billing, Integrations

Venue: Details, Channels, Widget, Notifications

Details: Address autocomplete, live map, timezone

3-Role Access Control

Admin — full access, all locations

Group Manager — assigned locations

Location Manager — single venue

Channel Availability

4-level fallback: Service → Table → Zone → All

Canvas indicators show channel config per table

Zone inheritance — set once, override per table

Ali
Reliability & Security

Rock solid

Critical Bugs Eliminated

Double-Booking

Two guests could grab the same slot. Now uses database-level locks — physically impossible.

Floor Plan Data Loss

Save and close quickly? Changes lost. Saves now run sequentially and reliably.

Silent Algo Failures

Guest "confirmed" with no table. Now flags with "Needs table" badge visible to staff.

Walk-In Timing & Onboarding

Walk-in turn times fixed. Onboarding no longer silently fails before payment.

Security Hardening

Rate Limiting

Widget: 30 queries/min, 5 holds/min, 3 confirms/min per IP.

Container Scanning

Trivy scans Docker images before every deploy.

Invitation Hardening

Email verification on acceptance. Can't join with the wrong account.

Concurrent Edit Protection

Version checks + auto-reload. API errors sanitised.

Hassan & Ali
Feedback

Tested, reviewed, shipped

"For 2 weeks old I am not a hater!! Some good stuff in there... I like how easy it is to switch between floor plan and timeline... really looking forward to diving in for more of a play!"

— Lorraine, Product Owner

"Of the AI startup codebases, this is the best so far. I usually find unauthenticated endpoints, XSS, CORS issues. Kudos."

— Rob Prouse, Independent Code Reviewer

Lorraine

Phone & email search
Past dates blocked
15/30 min time slots
Auto-assign tables
WhatsApp — channel exists
Tags — planned

Steve

Hours split into services
Danger zone — admin only
Setup wizard — roadmap
Events — next phase

Rob — Code Review

Invitation hardened
Logs structured (Datadog)
Docker scanning in CI
Rate limiting added
Pagination + E2E + CLAUDE.md
REST API for 3rd parties
13 / 19
Feedback items shipped
v0.5.25
Current release
PR #154 → #275
121 PRs in 14 days
Presenter Notes
0:00
1 / 15