Technical Architecture

Under the Hood

What each platform is built on, how it makes decisions,
and what makes each one worth understanding.

The Shared Pattern

Every Clarity Companion runs on the same architecture. The domain knowledge is what changes.

AI Layer
Anthropic Claude as the conversational core across every platform — server-side only, API key never in the browser, prompt caching where conversations are long.
Infrastructure
Vercel edge-deployed serverless. No persistent servers to maintain. GitHub main branch auto-deploys to production.
Event-Driven Dispatch
When a conversation completes, the event fans out independently — email, database write, notification. Failures in one path don't block the others. The Actor model, applied to every product.
Transactional Email
Resend across all platforms — fire-and-forget async dispatch. The conversation produces a document the person can keep. That's the deliverable.
Cannabis Lifestyle · Michigan
Photi michigancannabis.guide

A statewide cannabis discovery platform with an AI companion grounded in live dispensary inventory across 23 Michigan cities. ~507 dispensaries. ~20,000 products refreshed daily. Built solo in 7 weeks while Remodelry was built in parallel.

Stack
Next.js 15 TypeScript React 19 Tailwind CSS v4 Supabase (PostgreSQL) Anthropic Claude Resend Beehiiv Vercel ScrapingBee Dutchie GraphQL Google Gemini Google Analytics
Notable Architecture
RAG with hallucination guard
Photi never answers from training data. Every recommendation runs a live Supabase query at message time — city, category, strain signals extracted from conversation history. If no products are found, a hallucination guard injects instructions to describe the ideal terpene profile rather than invent product names.
Per-market cron isolation
Each of the 23 cities has its own scraping schedule and cron endpoint. Failure in one market doesn't affect the others. A separate composition cron runs after each product fill to populate chemistry and terpene data from Dutchie's composition endpoint.
Adaptive personalization stack
Two-layer system: a 10-question persona quiz on onboarding (saved to user_personas, injected into every system prompt), and an 8-question experience quiz on return visits. After 3 sessions, a recalibration synthesis updates Photi's opening context. Formally: progressive profiling + implicit feedback loop + adaptive re-ranking.
Visit platform → Production
Home Renovation · Concierge
Remodelry remodelry.guide

A remodeling concierge for Northeast Ohio. Remi gathers everything a contractor needs in a 15-minute conversation, classifies the homeowner's decision-making style, and dispatches a personalized document to the homeowner and a tactical briefing to the concierge — before anyone shows up with a bid.

Stack
Static HTML Vanilla JS Anthropic Claude OpenAI gpt-image-1 DALL-E 3 (fallback) Supabase (PostgreSQL) Supabase Storage Resend Calendly Vercel
Notable Architecture
The SoulMap Engine
A behavioral classification layer running silently inside every Remi conversation. Detects homeowner decision-making archetypes in real time — Dreamer, Newcomer, Investor, Protector, Architect — grounded in Enneagram theory. Adapts Remi's tone and generates a communication strategy for the concierge. Proprietary IP.
Two-deliverable architecture
One conversation produces two completely different documents dispatched simultaneously: a warm, journey-mapped First Look for the homeowner (with AI-rendered space visualization), and a tactical Intake Summary for the concierge with SoulMap flags, budget signals, and risk indicators. Neither audience reads the other's document.
Multi-provider AI, no lock-in
Claude handles conversation and SoulMap classification. OpenAI gpt-image-1 (DALL-E 3 fallback) handles space visualization from reference photos. Each provider does the job it is best at. Orchestration sits in the serverless functions.
Visit platform → Production
Guides · Visualizer · City Pages
remodel.guide remodel.guide

Free project guides, an AI kitchen design visualizer, and 120 city-specific landing pages across kitchen and flooring categories — all built without affiliate links, referral fees, or sponsored content. The content and conversion moat for the Remodelry platform.

Stack
Static HTML Vanilla JS Vercel GitHub (public repo) Flux Kontext Pro (BFL) Cal.com
Product Catalog
Kitchen Tune-Up Granex Quartz Mohawk Flooring Sherwin-Williams MSI Surfaces
Notable Architecture
AI kitchen visualizer
Users upload a photo of their kitchen, select from a curated catalog of cabinet styles, finishes, countertops, flooring, backsplash, and paint — then Flux Kontext Pro renders a photorealistic result in real time. Gated regeneration: 3 free designs, then lead capture unlocks more. Cal.com handles consultation booking inline.
120 city landing pages
Seven Ohio cities × kitchen and flooring categories × project subtypes (cabinet refacing, countertop replacement, LVP, hardwood, etc.) = 120 SEO-targeted pages. Each has Schema.org LocalBusiness structured data, hand-tuned metadata, and a two-step lead capture form with SMS opt-in.
Editorial integrity as a moat
The guides and blog name competitors by brand, print real prices, and call out high-pressure sales tactics explicitly. Defensible because no affiliate revenue exists. Large incumbents cannot replicate it without abandoning their revenue model.
Browse guides → Production
Insurance Guidance · Ohio
Farley talktofarley.online

A white-label AI intake companion for independent insurance brokers. Farley helps people understand exactly where they stand before anyone tries to sell them something — then hands a complete picture to the broker before the first call. Airtable as the agent-facing CRM. White-label ready: a second broker deployment is configuration, not a rebuild.

Stack
Next.js (App Router) TypeScript React Anthropic Claude Airtable Resend Vercel Namecheap DNS
Notable Architecture
Completion token architecture
When Farley determines a conversation is complete, he appends a hidden token [[COVERAGE_COMPLETE]] to his final message. The server strips it before sending to the client and returns a complete: true flag. The UI uses this to transition from conversation to summary phase with no additional API call.
Prompt caching keeps cost under 5¢
The Farley system prompt and Ohio insurance knowledge base are cached at the API layer. Repeated context doesn't re-bill on every message. Per-conversation API cost stays well under five cents even at Opus pricing — making white-label deployments economically viable at small broker scale.
Airtable as the broker CRM
Every intake submission creates a record with full conversation context. The Status field — New / Contacted / Converted / Closed — gives the broker a functional pipeline without custom dashboard development. The agent wakes up to a complete picture, not a name and a phone number.
Visit platform → Production
Personal Cannabis Profiling
Cannagraphy mycannagraphy.site

A longitudinal instrument for understanding how cannabis works in one specific body — and the dataset that emerges when enough people are understood this way. The same molecule, the same dose, the same product hits two nervous systems completely differently. Cannagraphy is built to map that difference, for each person, over time.

Stack
Anthropic Claude Supabase (PostgreSQL) Vercel
Data Instruments
Baseline instrument Session instrument Dispensary network
Notable Architecture
n-of-1 first methodology
The primary unit of analysis is the individual across time, not a population at a single moment. Each person is their own control. The research dataset is then assembled from the bottom up — by aggregating consented individual models rather than imposing population assumptions downward.
Structured baseline extraction
A 25-minute intake conversation is followed by a cold extraction pass that produces a structured record scoring six constructs: ECS tone, anxiety shape, ruminative index, interoceptive awareness, allostatic load, and circadian phenotype — each with explicit confidence ratings and honest nulls. A low-confidence null is treated as more valuable than a confident guess.
Privacy by default
Research consent is off until explicitly opted into, separately from the conversation itself. The intake runs identically for everyone — the person in front of the system is always the point and never the dataset. Given the sensitivity of cannabis-linked health data, privacy is structural, not a feature added later.
Visit platform → Production
Atmospheric Science · Oberlin, Ohio
Oberlin Weather oberlinweather.site

A personal atmospheric science instrument built to investigate three specific hypotheses about Oberlin, Ohio's microclimate: landfill methane effects on local air chemistry, Canadian wildfire smoke transport patterns, and sub-radar convective events that standard forecasting misses.

APIs (7 Sources)
NASA FIRMS NOAA HMS Open-Meteo + 4 additional sources
Notable Architecture
Hypothesis-driven design
Built around three specific, testable hypotheses rather than general weather monitoring. The instrument exists to answer particular questions about a particular place — not to replicate what a standard forecast already provides.
Free API federation
Seven data sources — including NASA's Fire Information for Resource Management System and NOAA's Hazard Mapping System — aggregated into a single local picture. The same scientific data infrastructure used by researchers, accessed at zero cost through public APIs.
View instrument → Production
AI Design Studio · Beauty
Nails by Marissa nailsbymarissa.site

An AI nail design generator that renders photorealistic designs on a real hand — matched to the client's skin tone, age group, and nail shape. Claude engineers the prompt; Flux Kontext Pro generates the image. The client sees their design on a hand that looks like theirs before they ever book.

Stack
Next.js 14 React Anthropic Claude Airtable Vercel Flux Kontext Pro (BFL)
Reference Library
14 hand photos Fair · Medium · Deep skin tones Adult · Teen · Tween
Notable Architecture
Claude as prompt engineer
The user describes a design in plain language. Claude translates it into a precise image generation prompt — enforcing that all five nails are fully painted, preserving the hand's natural skin tone and lighting, specifying nail shape and salon photography standards. The model does the translation so the user doesn't have to speak image-gen syntax.
Context-aware generation
Flux Kontext Pro (Black Forest Labs) is chosen specifically for its ability to apply transformations to a reference image while preserving everything else — the hand shape, skin tone, lighting, and background stay intact. Only the nails change. Age-aware prompt variants handle tween (very short, age-appropriate) and teen (short-medium, trendy) separately from adult.
Airtable for design themes
Pre-built design themes — seasonal collections, trending styles, occasion-specific looks — are managed in Airtable and surfaced via /api/themes. Updating the design library requires no code deployment. Session-based credit tracking gates generation after the free tier.
Visit platform → Production