system onlinelast shipped 0 min agonumbers refreshed May 8, 2026, 08:34 ET
selected work · 2024 — 2026

Real software running real businesses.

Live hubs, multi-tenant CRM, AI agents handling actual customer calls, and a quote-to-cash pipeline routing real Quebec dollars. Names withheld where contracts require it — numbers and screenshots are real.

$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.

$0K
Routed through the pipeline
CAD · accepted devis · all-time
0
Leads in pipeline
across tenants
0
Devis sent
all-time
0
Devis accepted
client clicked accept
0
Contracts signed
e-signed in prod
0
Jobs in CRM
measure → installed
0
Outbound messages
SMS + email shipped
recent production eventsanonymized · last 7 days
  • Lead captured· QC windows installer
    20m ago
  • Lead captured· Quebec residential trades
    22h ago
  • Message dispatched· Trades multi-service
    22h ago
  • Lead captured· Roofing operator
    1d ago
  • Message dispatched· QC windows installer
    1d ago
  • Devis sent· Quebec residential trades
    16d ago
  • Devis sent· Roofing operator
    17d ago
  • Devis sent· Trades multi-service
    17d ago
last shipped to prod0 min ago

feat(work,home): FR+ES /work routes + real screenshots in home proof tiles

50e8b75·BitMike1991main

production stack

Next.jsReactSupabasePostgresVerceln8nRetellTelnyxMailgunGmail OAuthOpenAIAnthropicStripeMeta AdsSlackTailwind

Same tools we use for clients run this page.

01 / 06

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 / 06

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
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
live
03 / 06

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 / 06

Websites Built

5 cases

Marketing sites we own end-to-end. Same dev stack as the platform.

this site

BlueWise AI

This site

Trilingual marketing site (en/fr/es), pillar SEO content, ROI calculator, multi-tier pricing, direct booking. Built on the same Next.js stack as the platform itself.

what made it hard

Locale routing without static-build explosion, SEO-clean canonical URLs across 3 languages, ROI calculator that doesn't lie.

Next.jsReactTailwindVercel
bluewiseai.com
live
live · public

Talavera Casa Juárez

Mexican handcrafted ceramics — e-commerce + heritage storytelling

Bilingual storefront for a multigenerational artisan family. Photography-first design, product catalog, story pages, contact flow.

what made it hard

Image weight on a connection-poor target market, balancing heritage tone with modern e-commerce expectations.

Next.jsReactTailwindVercel
talaveracasajuarez.com
live
live · public

Hors-Pairs Plomberie

Family-run Quebec plumbing — 40-year heritage, modern stack

Bilingual marketing site for a 1986-founded family business. Distinct identity (charcoal + terracotta + cream), local-business schema with NEQ + RBQ, sticky mobile-tel CTA, OG/meta clean. Bootstrapped end-to-end including domain purchase via Namecheap API and Vercel deployment.

what made it hard

Building a credible 40-year-heritage tone in a fresh stack — typography choice (Fraunces + Inter), copy that surfaces multi-generational ownership without sounding nostalgic, schema.org wiring for a regulated trade.

Next.jsReactTailwindVercel
hors-pair.ca
live
live · public

Videos Make Money

Video marketing agency — production reel + lead capture

Marketing site for a video-marketing agency. Reel-first hero, service tiers, results section, contact flow. Built on the same Next.js stack as the platform — different brand, same engineering.

what made it hard

Heavy video assets without tanking LCP, balancing reel-first showmanship with technical SEO requirements.

Next.jsReactTailwindVercel
videosmakemoney.ca
live
live · public · AI

Not a Lawyer

AI-powered Canadian legal information with citations

Bilingual EN/FR PWA serving plain-language Canadian legal information backed by 157,000+ legal documents and 84,674 court decisions. RAG architecture with exact-citation grounding so every answer is traceable to its source statute or judgment.

what made it hard

Indexing 240K+ legal documents into a retrieval pipeline that returns exact citations under conversational latency, plus bilingual UX where legal terms shift meaning across languages, plus PWA offline support, plus regulated-domain compliance (no legal advice, only information).

Next.jsReactSupabaseOpenAIAnthropicVercel
notalawyer.app
live
templates

Productized starters — clone for cheap

3 templates

Same engineering as our custom builds, packaged. You get the repo, we configure your branding + deploy + DNS. Pricing depends on options —book a call to confirm scope.

Plomberie Néo preview
snapshot
plumbing · QC

Plomberie Néo

Commercial plumbing — Lanaudière. Bilingual, schema-clean, sticky-tel.

from
$497
View live
Cuisine Néo preview
snapshot
kitchen refinishing

Cuisine Néo

Epoxy cabinet refinishing — economy reno positioning.

from
$797
View live
Réno Néo preview
snapshot
exterior reno · QC

Réno Néo

Rive-Nord & Laurentides — bilingual landing + service tiers.

from
$1,097
View live
05 / 06

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
06 / 06

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."

next step

Want this running on your business?

15-minute audit call. We look at where your operations leak money, and tell you whether we're the right fit. No pitch.