Product & Research Kit

One Degree BNB

Rent your home to people you actually trust. A private, invitation-only rental platform built on real social networks — not anonymous reviews.

01

The Pitch

Elevator Pitch — 30 seconds

One Degree BNB is a private, invitation-only rental platform for your actual home — not a vacation unit. You only rent to people vouched for by someone you personally trust. No strangers. No platform guarantees. No 18% service fees. Just a simple tool to find great guests through your real network, handle the paperwork yourself, and keep more of what you earn.

The Problem

Airbnb was built for strangers. That's fine for vacation rentals — but most people won't rent out their actual home, with their stuff in it, to a random person from the internet. The platform fees, regulations, and host anxiety all exist because there's no underlying trust.

Meanwhile, informal rentals between friends-of-friends happen all the time — over text, Facebook groups, and email lists. They work because trust is already there. One Degree BNB is the tool that makes those arrangements easier, not a platform that replaces them with algorithms.

The Core Insight

Airbnb pays for trust with

  • Host guarantee insurance
  • Review systems
  • ID verification
  • Dispute mediation
  • 18%+ service fees

One Degree earns trust through

  • Personal vouching
  • Real social accountability
  • 1-degree separation only
  • Your own contracts + tools
  • Lower or no fees

Who It's For

Hosts

  • City dwellers who rent their apartment when they travel — under the radar, to people they trust
  • Upstate / weekend home owners who want to earn without listing on Airbnb
  • People who stopped using Airbnb due to STR regulations, bad guest experiences, or fee frustration
  • Anyone currently managing rentals informally over text or email

Guests

  • People who want access to real homes, not sanitized vacation units
  • Travelers who value local authenticity and a warmer, less transactional stay
  • People who've been burned by Airbnb's "what you see isn't what you get" problem
02

Core Features

1
Private Listings
The foundational differentiator
  • Listings are invisible to the public — only people in your trust network can see them
  • No SEO, no platform algorithm, no strangers browsing your home
  • Private listings sit outside most STR city regulations — the key regulatory unlock
2
The Vouch System
1 degree of separation, full stop

You vouch for people you personally know. Guests can only be someone vouched for by a person you've already vouched for — one degree only.

Vouch Strength Levels

  • Very Close — someone you know personally and trust completely
  • Close — a friend or solid acquaintance you'd comfortably recommend
  • Acquaintance — you know them, but with some caveats

Bad experience? The person who vouched takes a credibility hit — creating real social accountability before a rental ever happens.

3
DIY Tools — AI-Assisted
We make the intro. You handle the rest.
  • Rental agreement generator — customized to your property and terms
  • Deposit collection — simple, direct, no platform mediation
  • Insurance guidance — what you actually need and how to get it
  • Money transfer — help facilitating payment without platform fees

Like Craigslist, but with trust baked in. One Degree doesn't guarantee the stay or mediate disputes — trust is doing the work Airbnb's fees pay for.

4
Flexible Fee Model
To be validated in Phase 0
  • Annual or monthly membership
  • Per-listing fee
  • Small percentage of rental
  • Or no platform fee — host's choice
Regulatory Angle

Private, invitation-only listings exist in a different legal category than public STR platforms. NYC, SF, and other regulated markets have minimum stay rules that apply to public listings. A closed vouch network likely falls outside those requirements — meaning hosts who can't list on Airbnb may be able to use One Degree. Verify with a real estate attorney.

03

Competitive Landscape

One Degree BNB occupies a distinct position no existing platform has claimed — monetized, primary-home rental with trust as the core product.

DimensionAirbnbHome ExchangeOne Degree BNB
Trust modelStranger + reviewsMutual exchangeVouched network
Home typeVacation unitPrimary homePrimary home
MonetizationYesNo (swap only)Yes
STR regulationsSubject to rulesUsually exemptLikely exempt
Platform fees18%+ service feeMembershipLow / flexible
MediationPlatform guaranteesPlatform involvedDIY / none
04

Build Phases

Sequenced to prove the network before building the marketplace. Each phase has a clear gate — don't proceed until it validates.

Phase 0
Validate the Network
No code. Just conversations. — Now

Talk to 20 potential hosts. Understand the pain, test the trust concept, find the seed community. Your Putnam Valley house and Brooklyn apartment are live testing grounds.

Deliverables
  • 20 host interviews completed
  • Clear signal on vouch system vs. private listings alone
  • 10+ people ready to join a waitlist
  • STR attorney consultation on regulatory exemption
  • Decision: proceed, pivot, or stop

Gate: 8+ of 20 interviewees express strong intent. 5+ give referrals unprompted.

Phase 1
Landing Page + Waitlist
1–2 days to build — after Phase 0 gate

One page explaining the concept with host/guest segmented email capture. Start building the network before the product exists.

Deliverables
  • Landing page live (onedegreebnb.com or similar)
  • Host / guest segmented email capture via Tally or Typeform
  • Basic analytics: views, sign-up rate, scroll depth
How to Build
  • Static HTML + Tailwind → Cloudflare Pages
  • One afternoon with Claude Code
Gate

100+ waitlist signups in 30 days. Majority are hosts.

Phase 2
The MVP
2–3 weeks — the real product starts here

Private listings, invite codes, basic profiles, contact flow. No booking engine — prove the network works before building marketplace infrastructure.

Core Features
  • User auth with social login (Google / Apple)
  • Host profile — name, photo, bio, vouchers listed
  • Private listing page — photos, dates, price, contact
  • Invite-only access via unique host-generated link
  • Basic vouch flow with strength level
Stack
  • Next.js + Supabase + Clerk + Cloudflare Pages
  • Build with Claude Code + Cursor — not Lovable
Gate

10 active listings. 3+ completed rentals facilitated through the platform.

Phase 3
Trust Graph + DIY Tools
4–6 weeks — genuine differentiation

The vouch system becomes queryable, DIY toolkit reduces friction, trust graph generates network effects.

Core Features
  • Trust graph display — vouch chain visible on profiles
  • Vouch strength filtering — hosts set minimum level
  • AI-assisted rental agreement generator
  • Stripe deposit holds with hold/release flow
  • Vouch reputation — bad stays surface on voucher profile
  • In-app messaging
Gate

25+ active hosts. Organic referrals without prompting. At least one user unknown to you before they signed up.

Phase 4
Monetization + Growth
3–6 months out — when the network has pull

Only after the network is self-sustaining. Monetization before PMF kills early marketplaces.

Options to Evaluate
  • Annual host membership (~$99/yr)
  • Per-booking flat fee
  • Premium vouch features (background checks, ID verification)
  • White-label version for HOAs, alumni groups, co-ops
Longer-term Vision

The trust graph has value beyond rentals. A verified vouched network could power neighbor lending, service referrals, or peer transactions. Phase 4 is when you decide: stay niche and profitable, or raise and scale.

Recommended Tech Stack

LayerToolWhy
Frontend + APINext.jsFull-stack, real codebase you own, Cloudflare Pages deploy
Database + AuthSupabaseRelational DB (required for trust graph), auth, file storage, real-time
IdentityClerkSocial login + user management without building auth from scratch
PaymentsStripeDeposit holds, payment links, eventual subscriptions
AI featuresClaude APIContract generation, insurance guidance, onboarding flows
DeployCloudflare PagesAlready in your pipeline — push to deploy on bbase.ai
Build toolClaude Code + CursorVibe-code the structure; Claude Code for complex multi-file work
Why Not Lovable / Bolt

A trust graph with user auth, relational vouching data, and payment flows needs a real schema from day one. Lovable-style tools produce a black-box codebase you can't extend cleanly past Phase 2. Next.js + Supabase means every phase builds on what came before.

05

Finding Your First 20 Hosts

The goal of Phase 0 isn't to validate the tech — it's to validate the network. Find people already doing informal rentals and understand what's stopping them.

Your Starting Point

You have a house upstate and are getting a city apartment — both are live testing grounds. Start with who you'd personally vouch for in those rentals. Those people are your first interviews and your first nodes in the trust graph.

Where to Find Them

1
Your Personal Network
Start here — this is your seed
  • Anyone you've informally rented to or from before
  • Friends with property upstate, in the Catskills, or Hudson Valley
  • NYC friends who travel and leave their apartment empty
  • People who've complained about Airbnb — host or guest
  • Anyone who mentions a Facebook group or email list for informal rentals
2
Community Channels
Look for frustration signals
  • Nextdoor — STR complaints, property owner posts
  • NYC / Brooklyn Facebook groups — neighborhood housing communities
  • Reddit — r/AirBnB, r/NYCHousing, r/upstate — "stopped hosting" threads
  • Catskills / Hudson Valley homeowner groups on Facebook
3
Adjacent Communities
People already doing trust-based sharing
  • VRBO hosts frustrated with fees
  • Home exchange members (Love Home Swap, HomeExchange.com)
  • Couchsurfing hosts — already comfortable with trust-based sharing
  • Digital nomads who sublet informally when traveling

How to Make the Ask

For People You Know

"Hey — I'm working on an idea and would love 20 minutes of your honest feedback. It's a platform for renting your home privately to people vouched for by friends — no Airbnb, no strangers. You'd be perfect to talk to because [you've mentioned your place upstate / you travel and leave your apartment]. Would you be up for a quick call this week?"

For Cold Outreach (Reddit / Facebook / Nextdoor)

"I saw your post about [Airbnb regulations / stopping hosting / etc.] and I'm doing research on a new approach to home rentals based on personal trust networks. I'm not selling anything — just trying to understand the problem. Would you be open to a 15-minute conversation? Happy to share what I'm building in return."

Who to Prioritize

  • 12–14 potential hosts — city apartment leavers, upstate owners, ex-Airbnb hosts
  • 6–8 potential guests — frequent travelers, people who prefer real homes
Most Valuable Interviewee

Someone who stopped hosting on Airbnb due to regulations or a bad experience and is now managing rentals informally over text. They already know the problem you're solving.

06

Interview Guide

Two goals: validate the problem, understand the trust dynamic. You're not pitching — you're listening. Record with permission.

Opening

"Thanks for making time. I'm exploring an idea for a platform that helps people rent their homes privately — only to people vouched for by friends. Before I tell you more, I'd love to understand your experience first. No right answers — I genuinely want to hear what's worked and what hasn't."

Section A — Current Situation

1
Tell me about your current situation with your home — do you rent it out at all?
  • Do you list anywhere publicly?
  • Ever rented informally — to friends or friends-of-friends?
  • How do you find guests / places to stay?
Why ask: Understand where they are now — active host, lapsed, informal only, never tried.
2
What's been your biggest frustration with platforms like Airbnb — as a host or guest?
  • Has anything gone wrong with a guest or stay?
  • Have regulations affected your ability to rent?
  • What made you stop / slow down / never start?
Why ask: Surface pain points unprompted. Don't lead with fees or regulations.
3
Have you ever rented informally — to a friend, or a friend of a friend?
  • How did it come about?
  • How did it compare to platform rentals?
  • What would have made it easier?
Why ask: Validate that informal trust-based rentals already happen.

Section B — The Trust Problem

4
What would you need to know about a guest before letting them stay in your actual home — with your stuff there?
  • Is a review system enough? Why / why not?
  • Does knowing them through a mutual friend change things?
  • Have you ever turned down a request? Why?
Why ask: Core question — understand trust framing before introducing your concept.
5
If a close friend vouched for someone — "I know this person, they're trustworthy" — would that be enough to rent to them?
  • What if it was a friend-of-a-friend you'd never met?
  • What would you want to know about the voucher?
  • Would you feel differently if the voucher had something at stake?
Why ask: Test the vouch concept. Gauge how much weight social accountability carries.
6
How comfortable would you be vouching for someone — putting your name behind them?
  • Who would you vouch for without hesitation?
  • Who would you never vouch for?
  • Would it matter if a bad experience hurt your own reputation?
Why ask: Test the other side of the vouch. What makes it feel safe vs. risky.

Section C — The Platform Concept

Give the 30-second elevator pitch. Then:

7
Does this solve a real problem — or does it feel like a solution looking for a problem?
  • What's missing?
  • What would make you actually use this?
  • What would stop you?
Why ask: Honest gut-check. You want skepticism, not politeness.
8
If you could only keep one feature — private listings, the vouch system, or the DIY tools — which would it be?
Why ask: Forces prioritization. Reveals the actual value driver.
9
What would a bad experience look like — and who should be responsible?
  • Comfortable with no platform mediation?
  • What would make you feel protected enough?
Why ask: Understand accountability expectations before committing to a model.
10
Who else should I be talking to?
  • Anyone who's stopped using Airbnb due to regulations?
  • Anyone managing rentals informally right now?
Why ask: Referral ask — this is how you find the next 20.

What to Listen For

Strong signal — keep going
Already renting informally to friends
Asks "when can I sign up?"
Has a specific bad Airbnb story
Cites regulations as a blocker
Gives 3+ referrals unprompted
Weak signal — dig deeper
? Would use it but can't name a pain
? Only cares about fee savings
? Assumes you'll mediate disputes
? Unsure who they'd vouch for
? Loves it but "wouldn't leave Airbnb"

After Each Interview — Log These

  • Host or guest?
  • Current situation (active Airbnb, informal, never rented)
  • Biggest pain point
  • Reaction to vouch concept
  • What they'd pay for or change
  • Referrals given
  • One direct quote

After 10 interviews, pause and look for patterns before the next 10. The second batch should go deeper on what you learned in the first.

07

Open Questions

QuestionHow to Answer
Does NYC's STR law exempt private, invite-only listings?STR attorney consultation
What do standard leases say about subletting to personal friends?Legal research + interviews
How did Couchsurfing's vouch system work — and why did it decline?Desk research + CS forums
What fee model would hosts actually pay?Direct question in interviews (Q7–8)
What's the minimum viable DIY toolkit?Ask hosts what they'd need (Q8)
How many degrees before trust breaks down?Test in interviews (Q5)
Claude Code Handoff

One Degree BNB — Dev Brief

Everything Claude Code needs to start building. Context, architecture decisions, Phase 1 prompt, and known issues to fix first.

01

Project Context

One Degree BNB is a private, invitation-only home rental platform where you can only rent to people vouched for by someone you personally trust — one degree of separation only. It's being built by Loren Polster, founder of Brightbase, a B2B SaaS creative agency based in Brooklyn, NY.

Why It Exists

  • Airbnb is built for strangers — most people won't rent their actual home to a random person, even with reviews
  • Informal friend-of-friend rentals already happen over text and email — they work because trust exists
  • Private/invite-only listings likely sit outside STR regulations in NYC and other heavily regulated cities
  • A lower-fee, DIY model is viable because trust does the work Airbnb's fees pay for

Current Status

ItemStatus
ConceptDefined — see Doc 1
Phase 0 researchNot yet started — interviews to begin
Landing pageNot built — Phase 1 task
This Phase 0 HTML docAnchor links broken — fix needed (see Section 02)
DomainTBD — onedegreebnb.com or subdomain on bbase.ai
CodebaseNot started — greenfield

Loren's Dev Environment

  • MacBook with VS Code, Claude Code extension (sidebar panel), Node.js v24
  • Git + Wrangler CLI + npm/npx installed
  • Prefers VS Code + Claude Code over Terminal for all dev work
  • Deploy pipeline: VS Code → GitHub (bbagent-01) → Cloudflare Pages auto-deploy → live at projectname.bbase.ai
  • Two Cloudflare accounts: bbase.dev (original) and bbase.ai (primary, new)
02

Fix First — Anchor Nav Bug

The Phase 0 HTML doc (Doc 1 in this file) has broken TOC anchor links. Clicking a link scrolls to the section but it remains invisible. This needs to be fixed before this file is shared with interviewees.

Root Cause

Sections use a .fade-in class that starts at opacity: 0; transform: translateY(12px). The IntersectionObserver approach was attempted but the threshold isn't triggering reliably when navigating via anchor link (the section is already in view but was never "intersected" from off-screen). The browser scrolls to the element, but it stays invisible.

Recommended Fix

Simplest and most reliable approach — remove the IntersectionObserver entirely and handle it one of two ways:

Option A — CSS-only animation (preferred)

/* Remove JS observer entirely. Use CSS animation on sections */ .section { animation: fadeUp 0.4s ease both; } .section:nth-child(2) { animation-delay: 0.05s; } .section:nth-child(3) { animation-delay: 0.10s; } /* etc... or just remove animation entirely for a document */ @keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

Option B — Remove animation entirely

This is a reference document, not a landing page. Remove .fade-in from all section containers and delete the JS observer. Clean, fast, no issues.

Claude Code Prompt

"The TOC anchor links in this HTML doc aren't working. Sections use a .fade-in class with opacity: 0 triggered by an IntersectionObserver, but when clicking a TOC link the section stays invisible. Fix the navigation — simplest solution preferred, feel free to remove the animation entirely if that's cleanest. The file is [path]."
03

Phase 1 Build Prompt

Once Phase 0 research validates the concept, use this prompt in Claude Code to kick off the landing page build.

Before You Run This

Create a new GitHub repo under bbagent-01, clone it into VS Code, and connect it to a new Cloudflare Pages project pointed at bbase.ai. Then open Claude Code in the VS Code sidebar and paste the prompt below.

Phase 1 — Landing Page Prompt

"Build a landing page for One Degree BNB — a private, invitation-only home rental platform where you can only rent to people vouched for by someone you personally trust. The page should: - Use the BB Base Theme design system (DM Sans + JetBrains Mono, colors: bg #FFFFFF/#F8F9FA/#F1F3F5, text #1A1D21/#6B7280, border #E5E7EB, accent #2563EB, radius 10px, max-width 780px, no gradients, borders over shadows) - Have a hero with eyebrow label, h1, and subhead explaining the concept - A short 'How it works' section (3 steps: Get vouched → Browse private listings → Book with confidence) - A brief 'Why not Airbnb' comparison callout - A waitlist signup form with two fields: email and radio for Host / Guest — submit goes to Tally or a simple fetch POST - Clean footer Single HTML file. Static, no framework needed. All CSS inline in a style tag. No external JS except Google Fonts. Anchor links must work without JavaScript. Deploy target is Cloudflare Pages."

Phase 2 — MVP Kickoff Prompt

"Initialize a new Next.js 14 project with App Router for One Degree BNB — a private home rental marketplace built on social trust and personal vouching. Setup: - Next.js 14 with TypeScript and App Router - Supabase for database and auth (use @supabase/ssr) - Clerk for social login (Google + Apple) - Tailwind CSS using the BB Base Theme palette (see colors below) - Deploy target: Cloudflare Pages via next-on-pages BB Base Theme colors to configure in tailwind.config: bg: #FFFFFF, bg-subtle: #F8F9FA, bg-muted: #F1F3F5 border: #E5E7EB, text-primary: #1A1D21, text-secondary: #6B7280 accent: #2563EB, green: #059669, amber: #D97706, purple: #6B21A8 Initial routes to scaffold: - / → landing page (already built in Phase 1) - /join → onboarding flow (host or guest) - /dashboard → authenticated home (placeholder) - /listing/[id] → private listing page (placeholder) - /profile/[id] → user profile with vouch list (placeholder) Create a Supabase migration file with the initial schema (see data model in handoff doc). Add environment variable placeholders to .env.local.example. Set up the Cloudflare Pages wrangler.toml."
04

Stack & Architecture Decisions

LayerChoiceNotes
FrameworkNext.js 14 (App Router)Full-stack, real codebase, Cloudflare Pages compatible via next-on-pages
DatabaseSupabase (PostgreSQL)Relational is required — the trust graph is a graph traversal query on a relational schema, not a document store
AuthClerkHandles social login, session management, webhooks to sync users to Supabase
StorageSupabase StorageListing photos, profile photos — keep in same infra as DB
PaymentsStripePhase 3+ only — deposit holds via PaymentIntents with capture later
AIClaude API (Sonnet)Contract generation (Phase 3), insurance guidance, onboarding flows
StylingTailwind CSSBB Base Theme palette configured in tailwind.config — no gradients, no dark mode
DeployCloudflare PagesAuto-deploy on push to main via GitHub (bbagent-01). Custom domain on bbase.ai
EmailResendTransactional email (vouch requests, booking confirmations) — add in Phase 2

Key Architecture Decisions

1
Trust graph lives in PostgreSQL, not a graph DB

A dedicated graph DB (Neo4j, etc.) is overkill for 1-degree queries. Supabase with a properly indexed vouches table and a recursive CTE query will handle "who has vouched for this person, and who vouched for the voucher" efficiently at the scale this will reach before needing to revisit.

2
Listings are private by default — no public routes

Every listing route checks auth + vouch relationship before rendering. There is no public listing index. No SEO, no robots.txt entry for listing pages. This is both the product differentiator and the regulatory protection.

3
Invite links are the only guest onboarding path

Guests cannot self-register. A host generates an invite link (signed JWT with host_id, expires in 7 days) and shares it. The recipient clicks it, creates an account, and is automatically connected to the host's trust network. This enforces the 1-degree rule at the infrastructure level, not just the UI level.

4
No in-app booking in Phase 2 — contact flow only

Phase 2 provides a contact form that emails the host. Payment (Venmo/Zelle/etc.) and contract (their own or generated template) happen outside the app. This ships faster and keeps liability off the platform while the model is being validated. Stripe + in-app booking are Phase 3.

05

Data Model — Phase 2 Schema

Supabase migration to create at project init. Designed to support the trust graph from day one — don't simplify this or you'll need a painful migration at Phase 3.

-- Users (synced from Clerk via webhook) create table users ( id uuid primary key default gen_random_uuid(), clerk_id text unique not null, name text not null, email text unique not null, avatar_url text, bio text, role text check (role in ('host', 'guest', 'both')), created_at timestamptz default now() ); -- Vouches (the trust graph edges) create table vouches ( id uuid primary key default gen_random_uuid(), voucher_id uuid references users(id) on delete cascade, vouchee_id uuid references users(id) on delete cascade, strength text check (strength in ('very_close', 'close', 'acquaintance')), note text, created_at timestamptz default now(), unique (voucher_id, vouchee_id) ); -- Listings create table listings ( id uuid primary key default gen_random_uuid(), host_id uuid references users(id) on delete cascade, title text not null, description text, location_city text, location_state text, nightly_rate integer, -- cents min_vouch_strength text check (min_vouch_strength in ('very_close', 'close', 'acquaintance')), available_from date, available_to date, is_active boolean default true, created_at timestamptz default now() ); -- Listing photos create table listing_photos ( id uuid primary key default gen_random_uuid(), listing_id uuid references listings(id) on delete cascade, url text not null, sort_order integer default 0 ); -- Invite links (signed tokens for guest onboarding) create table invite_links ( id uuid primary key default gen_random_uuid(), host_id uuid references users(id) on delete cascade, token text unique not null, used_by uuid references users(id), expires_at timestamptz, created_at timestamptz default now() ); -- Contact requests (Phase 2 — no booking engine yet) create table contact_requests ( id uuid primary key default gen_random_uuid(), listing_id uuid references listings(id), guest_id uuid references users(id), message text, check_in date, check_out date, status text check (status in ('pending', 'accepted', 'declined')) default 'pending', created_at timestamptz default now() ); -- Indexes for trust graph queries create index idx_vouches_voucher on vouches(voucher_id); create index idx_vouches_vouchee on vouches(vouchee_id); create index idx_listings_host on listings(host_id);

Trust Graph Query — 1 Degree Check

Use this pattern to check if a viewer can see a listing. Run server-side in a Supabase RPC or Next.js API route.

-- Can user :viewer_id see listing owned by :host_id? -- Yes if: viewer has been vouched for by someone host has vouched for select exists ( select 1 from vouches v1 -- host vouches for person X join vouches v2 -- person X vouches for viewer on v2.voucher_id = v1.vouchee_id and v2.vouchee_id = :viewer_id where v1.voucher_id = :host_id ) as can_view;
06

Deploy Pipeline

Loren's standard pipeline — already working for other projects. Replicate this pattern for One Degree BNB.

1
Create GitHub repo
  • Account: bbagent-01
  • Repo name suggestion: onedegree-bnb
  • Private repo — do not make public
  • Clone into VS Code via Source Control → Clone Repository
2
Create Cloudflare Pages project
  • Use the bbase.ai Cloudflare account (new BB agent Gmail account)
  • Connect to GitHub → select onedegree-bnb repo
  • Build command: npx @cloudflare/next-on-pages
  • Output directory: .vercel/output/static
  • Add custom domain: onedegree.bbase.ai (or final domain later)
3
Environment variables
  • Add to Cloudflare Pages → Settings → Environment Variables
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY (server only — do NOT prefix with NEXT_PUBLIC)
  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
  • CLERK_SECRET_KEY
4
Deploy workflow
  • Make changes in VS Code
  • Commit via VS Code Source Control panel (not Terminal)
  • Push to main → Cloudflare Pages auto-deploys in ~60 seconds
  • Preview at onedegree.bbase.ai
07

Guardrails

Loren's standing rules for any Claude Code or automation work. These apply to all builds.

Paid API Safety — Highest Priority

A broken loop cost $92 in one morning on 3/20/26. For any automation, agent, or script that calls a paid API: (1) hard loop counter that kills after N iterations, (2) estimate and confirm max cost before execution, (3) never silence errors on paid API calls during testing, (4) test with ONE item first, not full dataset. Budget ceiling: $2/run, $15/month for any single agent.

General Rules

  • No Terminal prompts — Loren strongly prefers VS Code GUI / Claude Code extension over Terminal. Only suggest Terminal when there's genuinely no GUI alternative, and minimize steps.
  • BB Base Theme always — always light, DM Sans, no gradients, borders over shadows, 780px max-width
  • HTML over .docx — all deliverables are HTML or JSX files, never Word documents
  • Single file downloads — when packaging multiple docs, combine into one HTML file with a tab switcher, never ZIP archives
  • Anchor links in HTML docs — don't use IntersectionObserver for fade animations on documents. Either use CSS-only animation or skip animation entirely. The scroll-padding-top on html must account for the sticky nav height.

One Degree BNB Specific

  • 1-degree enforced at DB level — don't trust UI-only checks. The listing route must verify the vouch relationship server-side before rendering any listing content
  • No public listing index ever — there should be no route that lists available properties to unauthenticated users
  • Invite links expire — default 7 days, configurable. Mark as used after first account creation
  • Vouch is directional — A vouching for B does not imply B vouches for A. Model this correctly in the schema from day one
  • Phase gates — don't build Phase 3 features before Phase 2 is validated. See build phases in Doc 1.