This memo is the cover letter for everything we've designed in Phase 1. The Engineering Brief is the manual. This is the conversation around it.
Over the past few weeks we've designed every page, tool, and email that will exist in LuxBlack's Phase 1 build. The brand is set. The systems talk to each other. The user flows are real. What's left is the building — and that's your part.
Before you open the brief, here's what you need to know.
01 What this project is, in one paragraph
LuxBlack Travel Concierge is a premium travel company designing fewer than 200 bespoke journeys a year. We're building a website that turns Instagram + Google traffic into qualified inquiries, a tracker microservice that logs every client click on every proposal we send, a per-concierge dashboard for live triage of hot leads, a drag-drop proposal builder, and the email infrastructure that ties it all together. Public-side is editorial and quiet. Internal-side is fast and useful.
02 What's already done (your inheritance)
- Brand and design system — palette, typography, voice, all locked. No deviation needed.
- Sitemap and architecture — every page exists in HTML, mobile-responsive, in the right tone.
- System architecture — Next.js + Cloudflare Workers + D1 + HubSpot + PostHog + Klaviyo + Resend. Tech stack is opinionated and final.
- Six email templates — Klaviyo/Resend-ready with merge variables.
- HubSpot configuration — every custom property, pipeline stage, and lead scoring rule specified.
- 14-section proposal builder — drag-drop spec with 5 starter templates and PDF watermark logic.
- 8-week sprint plan — week-by-week deliverables with acceptance criteria.
03 What needs to happen next (your part)
- Sprint 1 (this week): Set up the accounts in Part A of the brief. Vercel, Cloudflare, Sanity, HubSpot, Klaviyo, Resend, Clerk. DNS for all subdomains. Get the monorepo scaffolded with Turborepo + pnpm workspaces.
- Sprint 2-3: Public website (home + destinations + journal). Pull content from Sanity. The HTML files in this folder are your blueprint — translate them to Next.js components, not from scratch.
- Sprint 4: Plan-My-Trip form + HubSpot integration. Custom properties already specified in Part B.
- Sprint 5: Tracker service on Cloudflare Workers. D1 schemas in Part D, section 4.
- Sprint 6-7: Concierge Dashboard + Proposal Builder. The HTML mockups are functional — copy the layouts, swap mock data for real APIs.
- Sprint 8: Polish, instrumentation, soft launch with 10 friendly clients.
04 Critical decisions already made (please don't relitigate)
These were debated and resolved. If you have a strong reason to deviate, raise it on day 1 — not week 4.
- Light theme everywhere on the public site. The "dark luxury" Velocity-Black aesthetic was tried and rejected — it killed the richness.
- Deep burgundy (#4C0B0B) is the primary brand colour, not black. Black gradients on photos only (otherwise the photos go pink).
- INR is the default currency with a toggle for USD / GBP / EUR / AED. Brackets: ₹8L–20L, ₹20L–40L, ₹40L–80L, ₹80L+, Prefer to discuss.
- HubSpot is the single source of truth, not a custom database. Don't build a parallel CRM.
- Short links live on t.luxblacktravel.com (no separate vanity domain).
- Concierge dashboard is per-user personalised — every concierge sees only their own clients and stats.
- PDF watermark is mandatory and personalised per client (5% opacity diagonal). If a proposal leaks, source is traceable.
- Concierge names are placeholders in all HTML and email templates. The founder will provide the real list with photos and specialties.
- Phase 1 has no member portal and no live booking APIs — those are Phase 2. Design accordingly (e.g. don't hard-code "no login" — leave the door open).
05 Where everything lives
All deliverables are in the same folder as this memo. Start with the Master Index — it's the front door to everything. Then open the brief.
| File |
What it is |
| luxblack-master-index.html | Visual gallery of every deliverable. Start here. |
| luxblack-engineering-brief.docx | The 30-page spec. Parts A · B · C · D. Read cover to cover. |
| luxblack-demo-public.html | Stitched demo of all 4 public pages. |
| luxblack-demo-internal.html | Stitched demo of dashboard + builder. |
| luxblack-email-previews.html | All 6 email templates with subject + trigger metadata. |
| luxblack-home-full.html | Home page standalone. |
| luxblack-destination-maldives.html | Destination detail template (Maldives example). |
| luxblack-journal-article.html | Journal article template (7-island guide). |
| luxblack-plan-my-trip.html | Multi-step inquiry form. |
| luxblack-concierge-dashboard.html | Per-concierge daily dashboard. |
| luxblack-proposal-builder.html | Drag-drop proposal builder. |
| luxblack-email-01..06-*.html | Six email templates (Klaviyo/Resend-ready). |
06 Open questions for you
These were left intentionally for the engineering team to answer in the first week.
- Cloudflare Browser Rendering (for PDF) is in beta — comfortable, or fall back to Browserless ($25/mo)?
- Sanity preview URLs need configuring for the content team to see drafts in context. Confirm setup approach.
- Concierge avatar upload — direct to Cloudflare R2 with signed URLs, or via Clerk profile?
- Feature flags from day one (PostHog feature flags are free) for A/B testing copy + CTAs — yes/no?
- D1 backup strategy — daily wrangler export, or use Cloudflare's snapshot tooling?
07 One last thing
Treat the HTML files in this folder as a working blueprint, not a final product. They demonstrate the design intent, the interactions, the copy, the data shapes. When you build the real thing in Next.js, you'll structure it differently (proper components, shared design tokens, server-rendered content). That's fine. What shouldn't change is the way it feels — the typographic rhythm, the burgundy-gold restraint, the editorial tone of the copy.
If something is unclear, ambiguous, or just plain wrong, raise it early. Everyone benefits from a sprint-1 disagreement. No one benefits from a sprint-7 surprise.
Welcome to the build.
— The design lead
LuxBlack · Phase 1