Log in Register

What's new

A running log of what has shipped, what is in progress, and what is coming next.

In Progress

In Progress Platform

Launch prep + warm list outreach wave 1

Launch prep + warm list outreach wave 1

In Progress Platform

Email code fixes — sendTradeApproved prod URL, adminRoutes:2772, PL235 plain-text upgrades

Email code fixes — sendTradeApproved prod URL, adminRoutes:2772, PL235 plain-text upgrades

In Progress Platform

Pre-launch tidy batch — browse nav, 3 missing SVGs, invoice terms, attribution, Shopify column cleanup

Pre-launch tidy batch — browse nav, 3 missing SVGs, invoice terms, attribution, Shopify column cleanup

In Progress Platform

Email sequences — founding cohort onboarding, post-signup, post-completion nudge

Email sequences — founding cohort onboarding, post-signup, post-completion nudge

In Progress Platform

Invoice tool completion — review page (PL519), talk-to-invoice prompt v2 (PL520), mic button (PL521), phone on PDF (PL522)

Invoice tool completion — review page (PL519), talk-to-invoice prompt v2 (PL520), mic button (PL521), phone on PDF (PL522)

In Progress Platform

Re-enrichment scheduler OR category data wiring

Re-enrichment scheduler OR category data wiring

In Progress Platform

Re-enrichment scheduler OR faq_json rendering

Re-enrichment scheduler OR faq_json rendering

In Progress Platform

Post-launch issues triage

Post-launch issues triage

Coming Soon

Coming Soon Platform

Pre-launch tidy batch — browse nav, 3 missing SVGs, invoice terms, attribution

Pre-launch tidy batch — browse nav, 3 missing SVGs, invoice terms, attribution

Coming Soon Platform

Learn pages generator — generate_learn_page.js, OpenAI GPT-4o, human review gate, 2/day

Learn pages generator — generate_learn_page.js, OpenAI GPT-4o, human review gate, 2/day

Coming Soon Platform

FAQ + regulations audit — review all faq_json for regulatory claims, flag uncertain items, fix before learn pages

FAQ + regulations audit — review all faq_json for regulatory claims, flag uncertain items, fix before learn pages

Coming Soon Platform

PL414 Mac C — Re-enrichment scheduler

PL414 Mac C — Re-enrichment scheduler

Coming Soon Platform

Two-way trade messaging

Direct message threads between trades and clients inside the platform, with email and SMS fallback via Twilio.

Coming Soon Trades

Live open jobs page

A public page showing jobs posted but not yet matched to a trade, by category and town. Helps unregistered trades see real demand before signing up.

Shipped

Shipped Platform 24 May 2026

Admin scope detail: unlocks list driven from trade_scope_copies (fixes invisible rows)

Admin scope detail page unlocks query now drives from trade_scope_copies instead of trade_scope_unlocks. Fixes case where unlocked trades did not appear in the admin view.

Shipped Platform 23 May 2026

Admin dispute notification: sendAdminDisputeRaised wired to both dispute routes

sendAdminDisputeRaised plain-text alert to ADMIN_EMAIL added. Wired to POST /client/scope/:ref/dispute and POST /trade/scope/:ref/dispute. Trade dispute route was incorrectly sending to POSTMARK_FROM — fixed.

Shipped Platform 23 May 2026

Email notifications for completion, sign-off, and admin status overrides (Gaps 3, 4, 5, 6, 9)

New Postmark template bs-job-status-update (id 45100549). sendTradeCompletionSubmitted and sendClientSignoffConfirmed added. Admin status overrides to scheduled, invoiced, and completed now send bilateral emails to both trade and client.

Shipped Platform 23 May 2026

Admin: clear login lockout button on trade and client detail pages

POST /admin/clear-lockout/:email deletes all rows from portal_auth_codes for that email. Button added to admin trade and client detail pages with inline success state. Logs lockout_cleared to audit_events.

Shipped Platform 23 May 2026

Invited scope offering display: client pending offer banner, personalised email, trade counter hidden

Amber pending offer banner added to client scope detail page. sendClientInvitedOfferingReceived personalises email for nominated trade. "Other trades" counter suppressed for nominated scopes.

Shipped Platform 23 May 2026

Nominated trade offer submission fix — secondary email guard scoped to invited status

POST /trade/scope/:ref/offering secondary guard now only fires when scope status = invited. Active scopes skip the guard. COALESCE(contact_email, invited_client_email) pattern for reading client email from canonical_json.

Shipped Platform 23 May 2026

Invited scope flow: trade notified on activation, personalised copy, marketplace leak fixed

Nominating trade notified via sendTradeInvitedScopeActivated on client activation. Client copy personalised with trade name throughout. Nominated scopes hidden from marketplace feed (nominated_by_trade_id IS NULL). Teaser bypass for nominating trade.

Shipped Platform 22 May 2026

Invited scope activation: credit auto-apply and photo gate bypass

Invited scopes bypass the before-photo gate. Button label shows "Activate scope — free" or "— £2.50" based on credit balance. nominated_by_trade_id added to GET and POST scope detail queries.

Shipped Platform 22 May 2026

Invited scope make-live flow, pending trade guard, /start flow fix

Migration 032 (invite_sent_at, invite_token). Trade pays £2.50 to send client invite. Client claims via /client/accept-invite. Pending trade guard added. /start success redirects to /login not /register.

Shipped Platform 22 May 2026

Canonical email template system, admin scope alert, client credit email, edit gate removed

add-postmark-template.js rebuilt as canonical S196 layout system. sendClientCreditIssued and sendAdminScopeActivated added. Client scope edit gate removed — edit always available. ?activated=1 banner placement fixed.

Shipped Platform 21 May 2026

Category enrichment v1 — 339 categories with UK pricing, FAQs and duration data

All 339 categories enriched with UK market pricing (price_min/price_max), typical_duration, extras_clause, FAQs, and meta descriptions. Circa price display for same-price ranges. Enrichment Prompt Standard v1 locked.

Shipped Platform 21 May 2026

Brand consolidation: brand.js, wordmark functions, Staines.Build rename, BRAND_WORDMARK_SIZE, stainesAiHtml() throughout

Brand consolidation: brand.js, wordmark functions, Staines.Build rename, BRAND_WORDMARK_SIZE, stainesAiHtml() throughout

Shipped Platform 21 May 2026

Launch prep + warm list outreach wave 1

Launch prep + warm list outreach wave 1

Shipped Platform 19 May 2026

/features/invoices public page, featureRoutes.js, landing card, gate 3→10, PL528

/features/invoices public page, featureRoutes.js, landing card, gate 3→10, PL528

Shipped Platform 19 May 2026

sendTradeApproved sign-off — Staines.Build team copy, removed personal James sign-off

sendTradeApproved sign-off — Staines.Build team copy, removed personal James sign-off

Shipped Platform 19 May 2026

Referral credit £2.50×2 → £5.00×1, UI copy updated, PL526 raised

Referral credit £2.50×2 → £5.00×1, UI copy updated, PL526 raised

Shipped Platform 19 May 2026

Email polish: bs-trade-categories-ready, referral email canonical HTML, email-system.md, scripts/email.js

Email polish: bs-trade-categories-ready, referral email canonical HTML, email-system.md, scripts/email.js

Shipped Platform 18 May 2026

PL235 — 7 plain-text notify* functions → Postmark templates. PL527 raised.

PL235 — 7 plain-text notify* functions → Postmark templates. PL527 raised.

Shipped Platform 18 May 2026

sendTradeApproved env-aware URL (tradeBase), adminRoutes:2772 → sendTradeCategoryActivated

sendTradeApproved env-aware URL (tradeBase), adminRoutes:2772 → sendTradeCategoryActivated

Shipped Platform 18 May 2026

Email brand name fix — Staines.Build (amber .Build) in header + footer, all 38 templates

Email brand name fix — Staines.Build (amber .Build) in header + footer, all 38 templates

Shipped Platform 18 May 2026

Email template standardisation — 38 Postmark templates rebuilt, canonical layout, all CTAs fixed

Email template standardisation — 38 Postmark templates rebuilt, canonical layout, all CTAs fixed

Shipped Platform 18 May 2026

Email audit — docs/email-audit-s195.md. All 53 functions + 38 templates audited.

Email audit — docs/email-audit-s195.md. All 53 functions + 38 templates audited.

Shipped Platform 18 May 2026

Admin nav Settings dropdown, clickable stat chips, GET /admin/scopes/completed

Admin nav Settings dropdown, clickable stat chips, GET /admin/scopes/completed

Shipped Platform 17 May 2026

proGateCard → /trade/subscribe (Coming Soon removed, Stripe live)

proGateCard → /trade/subscribe (Coming Soon removed, Stripe live)

Shipped Platform 17 May 2026

Trade referral system — migration 030, referrals page UI, 4 backend routes, admin card + remove, email templates

Trade referral system — migration 030, referrals page UI, 4 backend routes, admin card + remove, email templates

Shipped Platform 17 May 2026

PL audit — 16 items confirmed live and archived. CLAUDE.md rewritten with PL Closure Rule.

PL audit — 16 items confirmed live and archived. CLAUDE.md rewritten with PL Closure Rule.

Shipped Platform 17 May 2026

Trade approval flow + S190b–S190h (8 sub-sessions)

Trade approval flow + S190b–S190h (8 sub-sessions)

Shipped Platform 16 May 2026

iPad planning — AI OS architecture review, schema spot-check, AI_OS_REVIEW.md + POST_LAUNCH_BUILD_ORDER.md created

iPad planning — AI OS architecture review, schema spot-check, AI_OS_REVIEW.md + POST_LAUNCH_BUILD_ORDER.md created

Shipped Platform 16 May 2026

/updates rewrite, /changelog GitHub commits page, changelog sync automatic

Shipped Platform 16 May 2026

Intake 400 regression fix, /register redirect + pre-fill + scope claim, CATEGORY_SLUG wiring

Intake 400 regression fix, /register redirect + pre-fill + scope claim, CATEGORY_SLUG wiring

Shipped Platform 16 May 2026

Credit balance chip, empty dashboard state B+C, offering confirmation, expiry pill, approval email, drift checker

Credit balance chip, empty dashboard state B+C, offering confirmation, expiry pill, approval email, drift checker

Shipped Platform 16 May 2026

Client intake regression fix, register redirect, category wiring, scope claim on registration

Shipped Platform 16 May 2026

Credit balance nav chip, empty dashboard state (B+C), offering confirmation, expiry pill, approval email rewrite, staging migrations 027+028, drift checker, staging-first rules locked

Credit balance nav chip, empty dashboard state (B+C), offering confirmation, expiry pill, approval email rewrite, staging migrations 027+028, drift checker, staging-first rules locked

Shipped Platform 16 May 2026

Invoice tool completion — review page, v2 prompt, mic button, phone on PDF, trade_invoices table

Invoice tool completion — review page, v2 prompt, mic button, phone on PDF, trade_invoices table

Shipped Platform 16 May 2026

S190: approval route fix, admin signup alert, pending overlay

S190: Fix duplicate approval route (sendTradeApproved now fires). Add sendAdminTradeSignupAlert on both signup paths. Pending dashboard overlay for founding cohort trades.

Shipped Platform 16 May 2026

/updates ref pill removed, /changelog GitHub API, Platform footer section, changelog sync automated, DB cleanup

/updates ref pill removed, /changelog GitHub API, Platform footer section, changelog sync automated, DB cleanup

Shipped Platform 16 May 2026

Trade↔platform communication channel — two-way message thread, trade inbox, admin thread view, Postmark notify

Trade↔platform communication channel — two-way message thread, trade inbox, admin thread view, Postmark notify

Shipped Platform 14 May 2026

Invoice tool: admin controls, migrations 023–025, GET/POST /trade/invoices routes, PDF + Postmark

Invoice tool: admin controls, migrations 023–025, GET/POST /trade/invoices routes, PDF + Postmark

Shipped Platform 14 May 2026

iPad alignment — trade approval model, session plan, warm list outreach prep

iPad alignment — trade approval model, session plan, warm list outreach prep

Shipped Platform 13 May 2026

Invoice PDF full rewrite — brand + amendments + removed items

Invoice PDF full rewrite — brand + amendments + removed items

Shipped Platform 13 May 2026

S182 — Linked homepage trade tiles to /browse?type= filtered view. Filter activates on page load. Production live

Shipped Platform 11 May 2026

FAQ re-enrichment + icon column + footer icons + fallback

FAQ re-enrichment + icon column + footer icons + fallback

Shipped Platform 11 May 2026

FAQ re-enrichment + icon column + trade type validation

icon column, FAQ re-enrichment, trade type validation gate.

Shipped Platform 11 May 2026

PL505 — faq_json accordion on category pages

Shipped Platform 11 May 2026

faq_json accordion + FAQPage schema

faq_json accordion + FAQPage schema

Shipped Platform 11 May 2026

Enrichment script + price/cert/scope scripts

Enrichment script + price/cert/scope scripts

Shipped Platform 11 May 2026

Migration 021 + slugs + category query fix

Migration 021 + slugs + category query fix

Shipped Platform 11 May 2026

S178 PL414 Mac B — publicHead helper, canonical tags, sitemap.xml, Schema.org JSON-LD

Shipped Platform 10 May 2026

Category enrichment — 339 categories fully populated

Shipped Platform 10 May 2026

PL414 Mac A — Migration 021, slug generation, SEO columns, category page query fix

Shipped Platform 10 May 2026

Post-launch emergency fixes

Post-launch emergency fixes

Shipped Platform 10 May 2026

Legal docs review

Legal docs review

Shipped Platform 10 May 2026

Soft launch checklist + emergency fixes

Soft launch checklist + emergency fixes

Shipped Platform 9 May 2026

PL188: Soft launch checklist verified + invoice PDF fix + Railway

Shipped Platform 9 May 2026

Staging DB sync

Staging DB sync

Shipped Platform 9 May 2026

PostgreSQL backup script

PostgreSQL backup script

Shipped Platform 9 May 2026

Status history wiring + job expiry cron

Status history wiring + job expiry cron

Shipped Platform 9 May 2026

Admin health page

Admin health page

Shipped Platform 9 May 2026

Unified join page at /join + join.staines.build

Unified join page at /join + join.staines.build

Shipped Platform 9 May 2026

Generic public intake at /start

Generic public intake at /start

Shipped Platform 9 May 2026

Sitemap + Schema.org + canonical tags + robots.txt

Sitemap + Schema.org + canonical tags + robots.txt

Shipped Platform 4 May 2026

Reference docs overhaul + handover backfill

Reference docs overhaul + handover backfill

Shipped Platform 3 May 2026

Homepage trade tiles → /browse?type=<key>, browse filter on load

Homepage trade tiles → /browse?type=<key>, browse filter on load

Shipped docs 3 May 2026

Alignment session — archive tidy, PL list corrected, session order locked

Shopify scripts deleted. Handovers 144-164 archived. Parking lot consolidated. PL330, PL331, PL409 added pre-launch. Session order S166-S173 locked. ARCHITECTURE.md updated.

Shipped Platform 3 May 2026

Public changelog at /updates

Public changelog at /updates

Shipped Platform 3 May 2026

Landing page (staines.build)

Landing page (staines.build)

Shipped Platform 3 May 2026

Postmark email suppression handling

Postmark email suppression handling

Shipped Platform 24 April 2026

Seed category content (38 Tier 1 rows)

Seed category content (38 Tier 1 rows)

Shipped Platform 21 April 2026

Category page template

Category page template

View page
Shipped Platform 17 April 2026

How it works + Browse scopes + DNS

How it works + Browse scopes + DNS

View page
Shipped Platform 3 April 2026

Public footer and scope list page

Added a public footer with live category links across all public pages. Trades now have a public scope list page showing their completed and active jobs.

Shipped Platform 1 April 2026

Trade profile quote flow

Visitors can request a quote directly from a trade profile page. The AI chat collects job details naturally, then creates a draft scope pre-assigned to that trade.