system onlinelast shipped 0 min agonumbers refreshed Jun 4, 2026, 20:01 ET
Home
programs · production code

Programs that compound.

Voice agents, industry hubs, custom backends. Software that earns its monthly fee.

$0K
routed CAD
0
contracts signed
0
msgs dispatched
live numbersISR · refreshed hourly

What our production system has handled

Aggregated across every tenant. Pulled live from Postgres at build time.

0
Leads in pipeline
across tenants
0
Outbound messages
SMS + email shipped
recent production eventsanonymized · last 7 days
  • Lead captured· QC windows installer
    3d ago
  • Devis sent· Quebec residential trades
    3d ago
  • Devis sent· Roofing operator
    3d ago
  • Lead captured· Quebec residential trades
    3d ago
  • Message dispatched· Trades multi-service
    3d ago
  • Message dispatched· QC windows installer
    3d ago
  • Lead captured· Roofing operator
    21d ago
  • Devis sent· Trades multi-service
    21d ago
last shipped to prod0 min ago

feat(storefront): tri-lingual /websites + /programmation split, retire /work chooser (clarity sprint)

904b6a3·BitMike1991main

production stack

Next.jsReactSupabasePostgresVerceln8nRetellTelnyxMailgunGmail OAuthOpenAIAnthropicStripeMeta AdsSlackTailwind

Same tools we use for clients run this page.

01 / 05

BlueWise Platform

1 case

The multi-tenant SaaS itself — the spine every other build hangs off.

multi-tenant SaaS

BlueWise Platform

Multi-tenant operations OS for trades businesses

CRM, AI receptionist, automated quote → contract → Interac payment flow, financial dashboard, Sentinelle uptime monitoring. One install runs N tenants with full RLS isolation.

what made it hard

Multi-tenant architecture with row-level security on every table, host-pinned tenant resolution, per-tenant branding via JSON config — adding tenant N+1 requires zero code changes.

Next.jsReactSupabasePostgresVercelTailwind
/platform
$71K
pipeline
12
active jobs
0
missed calls
leadNew tenant onboarded · Quebec windows installer12d ago
quoteDevis routed · Roofing operator14m ago
signedContract signed · Trades multi-service47m ago
acceptedSentinelle alert ack · all systems green2h ago
02 / 05

Live Hubs

2 cases

Open these in another tab. Real, working, no signup wall.

live · public

Hub Fenêtre

Made-to-measure window quoting hub

6-step commande wizard, 200+ SKU catalog, automatic supplier dispatch, BDC + devis + contract generation, Interac payment tracking. Voice agent in development to take quotes by phone.

what made it hard

Custom-millimeter dimension validation, frame-thickness × thermos × egress combinatorics, list-minus pricing model with per-supplier rebates, atomic project_ref claim across concurrent users.

Next.jsReactSupabaseVercelRetellTelnyx
hub-fenetre.bluewiseai.com/hub?embed=1
live
live · public

Hub Toiture

Roofing quote calculator + CRM integration

6-step measurement wizard with pitch / surface / shingle-type variables, real-time profit-margin calc, save-as-job creates lead + quote + roof_quote internal record in one transaction. SMS agent in development.

what made it hard

Bidirectional cost vs revenue math (cost+ vs list− pricing models), tax-on-tax handling for QC TPS+TVQ, per-tenant prefix on project refs, internal margin record never leaks to client view.

Next.jsReactSupabaseVercelTelnyx
hub-toiture.bluewiseai.com/hub/toiture?embed=1
live
03 / 05

Operations Case Studies

2 cases

Anonymized real customers running production CRM + AI agents.

in production

Quebec windows + roofing installer

anonymized · NDA

Lead → devis → contract → Interac → invoice — fully automated

Replaced 3 disconnected tools (paper quotes, Excel pipeline, manual invoicing) with one CRM running on the BlueWise Platform. Owner now signs contracts on his phone, supplier orders go out the same day, deposits land in Interac before the truck leaves.

what made it hard

Onboarding mid-flight — 13 in-flight projects had to migrate without losing a single client signature. Hardcoded supplier-specific pricing rules (Royalty / Novatech / Touchette) live in DB, not code.

SupabaseNext.jsMailgunTelnyxSlack
platform.bluewiseai.com
$71K
pipeline
12
active jobs
0
missed calls
leadNew lead · Quebec windows installer3m ago
quoteDevis sent · Roofing operator14m ago
acceptedDevis accepted · QC trades47m ago
signedContract signed · Window installer2h ago
paidInterac deposit received3h ago
in production

Quebec residential trades operator

anonymized · NDA

AI receptionist + missed-call rescue + full ops stack

AI voice agent qualifies inbound calls 24/7, missed-call SMS rescue triggers within 30s, qualified leads land in the CRM with intent + budget + timeline already captured. Full quote-to-payment pipeline behind it.

what made it hard

Voice agent had to handle thick QC accents + bilingual switching mid-call + transfer to owner only on warm prospects. Sentinelle alerting catches every silent failure before clients notice.

Calls handled by AI
$71K+
Pipeline generated
0
Missed calls
RetellTelnyxSupabaseNext.jsn8nOpenAI
platform.bluewiseai.com
$71K
pipeline
12
active jobs
0
missed calls
leadAI receptionist took call · transferred warm11m ago
quoteMissed-call SMS rescue dispatched34m ago
acceptedQualified lead landed in CRM1h ago
paidQuote-to-pay completed4h ago
04 / 05

Automation Pipelines

3 cases

n8n pipelines that are universal across tenants — connect once, runs forever.

cross-tenant

anonymized · NDA

Form-fill to qualified lead in <30 seconds

Meta webhook → field normalization → phone-based lead dedup → division routing → SMS confirmation to client → Slack alert to owner. Universal across tenants — same workflow runs for any tenant who connects their Meta page.

what made it hard

Case-insensitive field matching, n8n null-string vs real-null distinction, FK alignment to leads/customers, phone digit validation per locale.

n8nMeta AdsSupabaseTelnyxSlack
Meta Lead Ads
n8n normalize
CRM ingest
SMS confirm
Slack alert
latency
<30s
throughput
24/7
tenants
all
cross-tenant

anonymized · NDA

Inbound email → AI classification → CRM event → owner approval

IMAP poll → dedup by message-id → AI classifies (lead / question / spam / billing) → drafts a reply → posts to Slack for owner approval → sends via Gmail OAuth or Mailgun fallback.

what made it hard

Message-id dedup across replies vs originals, OAuth token rotation that survives concurrent sends, fallback chain that doesn't silently double-deliver.

n8nGmail OAuthMailgunOpenAISlackSupabase
IMAP poll
AI classify
Slack approve
Send (Gmail / Mailgun)
latency
<60s
throughput
24/7
tenants
all
cross-tenant

anonymized · NDA

Inbound call → live qualification → devis link by SMS before hangup

Retell voice agent qualifies the prospect (intent, budget, timeline, address), creates a draft job + quote in the CRM via tool-call, sends the prospect a personalized devis link by SMS while still on the call.

what made it hard

Tool-call latency budgets that stay below conversational pause threshold, idempotent job creation if the agent retries, transfer-to-human triggers on warm prospects only.

Retelln8nSupabaseTelnyxOpenAI
Inbound call
Retell qualify
Draft job + quote
SMS devis link
latency
live
throughput
pre-hangup
tenants
all
05 / 05

Custom Apps Under the Hood

4 cases

Custom internal apps powering the platform under the hood.

200+ SKUs

anonymized · NDA

200+ SKUs, custom-millimeter dimensions, real-time price math

Configurable catalog: PVC, hybrid, aluminum frames; double / triple thermos; egress mode; moustiquaire; 7 collection-color combinations; per-supplier price rules. Renders SVG sketches that flow through to devis, contract, and BDC unchanged.

what made it hard

Dimension tolerance handling (1/16" steps for patio doors), spec sanitization across 4 supplier formats, SVG renderer that draws windows with correct mullion geometry from a flat config code.

ReactSupabaseNext.js
window-catalog.spec
// 1/16" tolerance, 4 supplier formats, SVG mullion renderer
$ configureWindow({ type: "battant", w: 36.5, h: 60 })
frame: PVC | hybride | aluminum
thermos: double | triple
egress: auto-validated against QC building code
collection: 7 colors × 4 supplier rule sets
moustiquaire: optional · pivot or fixed
─────────────────────────
render: SVG sketch → flows to devis + contract + BDC
price: list-minus rebate model · per-supplier
✓ spec sanitized across 4 supplier formats
✓ atomic project_ref claim under concurrent users
bidirectional math

anonymized · NDA

6-step wizard → bidirectional cost ↔ revenue math

Surface measurement (with pitch multiplier), shingle type, accessories (ventilation, eavestrough, fascia), labor + dispose. Computes both cost-plus margin AND list-minus rebate model so the contractor can choose the framing per job.

what made it hard

Tax-on-tax compounding (QC TPS + TVQ), client-facing single-line item that hides the supplier breakdown, internal margin record persisted separately so it never leaks.

ReactNext.jsSupabase
roof-quote.calc
// 6-step measurement → cost-plus + list-minus
$ computeRoofQuote({ surface: 142, pitch: "8/12" })
shingles: IKO Cambridge · charcoal · $1,847.20
underlay: WIP w/r 24" eaves · $312.60
labor: 14h @ $52/h · $728.00
dispose: 1 conteneur 20yd · $295.00
─────────────────────────
subtotal: $3,182.80
TPS+TVQ: $475.99 (tax-on-tax)
list-minus rebate: −$418.00
✓ total client-facing: $3,240.79
✓ internal margin record: $612.04 (RLS-isolated)
quote-to-cash

anonymized · NDA

End-to-end quote-to-cash, branded per tenant

Public /q/[token] devis page → client clicks accept → contract auto-generates with both parties' info → e-signature → Interac deposit instructions → success page. Owner gets Slack + SMS at every step.

what made it hard

CSPRNG quote tokens (16 hex = 64 bits entropy, no enumeration), idempotent contract creation with double-attempt + ops alert on failure, signed-contract PDF stored in Supabase Storage with tenant-scoped RLS.

Next.jsReactSupabaseMailgunTelnyxSlack
/q/[token] devis
Client accepts
Contract gen
E-sign
Interac deposit
latency
~2 min
throughput
idempotent
tenants
all
silent-failure detection

anonymized · NDA

Catches the bugs nobody noticed yet

Poll-based monitoring across n8n workflows, API endpoints, voice agent uptime, email deliverability, and Supabase function status. Alerts to owner Slack + SMS within 60 seconds of a silent failure.

what made it hard

Distinguishing "expected zero" from "broken pipeline returning zero". Mailgun key rotation that went undetected for 138 days drove the build — the system you build to monitor your monitoring.

n8nSupabaseSlackTelnyx
sentinelle.tail
// poll every 60s, alert ≤ 60s after divergence
[OK] 2026-05-07 06:42:01 retell-agent uptime 99.98%
[OK] 2026-05-07 06:42:02 meta-lead-webhook 24h count: 47
[OK] 2026-05-07 06:42:03 email-pipeline OAuth: rotated 4d ago
[OK] 2026-05-07 06:42:04 hub-fenetre p95: 184ms
[INFO] 2026-05-07 06:42:05 mailgun-key-rotation T-138d → T-0d (handled)
WARN: meta-pixel-missing · tenant=demo (allowlisted)
[OK] 2026-05-07 06:42:06 contract-pdf-storage checksum: stable
[OK] 2026-05-07 06:42:07 voice-tool-call latency p95: 612ms
// "Distinguishes expected zero from broken pipeline returning zero."