No recent signups yet — data will sync from Supabase
Upcoming Events
Event
Date
Spots
Status
No events scheduled — sync from Supabase
Recent Benefit Redemptions
Member
Partner
Benefit
Tier
Redeemed
Status
No redemptions yet — sync from Supabase
🏆 Top Members This Month
No leaderboard data yet — populates as members redeem benefits
—
Active Members
—
Comped (vets+responders)
Loading...
All Members
Loading members...
🔗 Generate Member App Link
Generates a signed login URL for any member email. Use when a member loses access, when onboarding manually, or when testing the app as a specific member.
Unique single-use codes. Free codes skip Stripe. Percentage codes create an ad-hoc Stripe discount at checkout. Link to an affiliate to track commissions.
Loading codes...
⭐ Affiliates
People who refer members for commission. Each affiliate has a commission rate (% or $) and a default payout method. Link codes to them to track referrals.
Loading affiliates...
📊 Referrals
Every signup attributed to an affiliate via a code. Status moves Pending → Eligible (after 30-day clawback) → Paid (when included in a payout batch — Phase 2).
Loading referrals...
💰 Payouts
Monthly batches of commissions owed to affiliates. Default: 1st of month covering prior month, $50 minimum (sub-threshold rolls forward).
Loading payouts...
🎫 Generate Code
Create a unique promotional code
Type
Custom percent off (1–99)
Discount duration — how long the discount applies
Higher-tier discount overrides — optional; blank = use the rate above
Applies on BHLV checkout. The typeable Stripe code still carries the base rate.
Code name — leave blank to auto-generate
Letters, numbers, and dashes only · must be unique
Tier — locks to one tier, or any
Affiliate — optional, links signups for commission
Commission — Add-ons (when a referred member buys a commission-enabled add-on · leave 0 to disable)
Type
Value
Commission — Higher-tier signups (overrides the base member rate · leave blank to inherit base)
💫 Transcend
Type
Value
👑 Apex
Type
Value
💎 Pinnacle
Type
Value
Payout
Method
Handle / address
Status
Notes
🎫 Codes for this affiliate
Loading...
🎫 Add Code for —
Pick a custom code or auto-generate
Code — letters, numbers, dashes
Discount
Custom %
Discount duration
Max uses
1510100500
Expires
+7d+30d+90d+1yr
✎ Edit Code
Update discount, duration, uses, or notes
Code — rename allowed
Discount
Custom %
Discount duration
Higher-tier discount overrides — optional; blank = use rate above
Tier lock
Max uses
1510100500
Expires
+7d+30d+90d+1yr
Affiliate
Notes
Used —
Events Management
Manage events, registrations, and waitlists
🚫
Suspended Members
Members who missed 2+ events in a row. Auto-restored after the next event passes.
📅 Events —
Filter by status:
Loading events...
📄 Host Contracts
Agreements with partners hosting BHLV events at their venues · Revenue flows to BHLV
—
Total Contracts
—
Draft
—
Sent · Awaiting Signature
—
Signed
—
Completed
Loading…
📷
Live check-in. Pick an event, then tap the scanner viewport to start your device camera. Scan the QR shown on a member's app or the guest's ticket. You can also type the QR token, email, or name into the manual entry. All check-ins are stamped with your admin email and logged in the audit trail.
QR Code Scanner
Ready
📷
Tap to start camera scanner Or type QR token / email / name below
—
Checked In
—
Registered
—
Not Arrived
—
Walk-ins
Select an event to see check-in progress
Attendee List
No attendees yet — populates when members register for events
🧾
Registrations. Pick an event to see everyone registered — members and guests. Paid guests paid online; Collect $ means they reserved and owe cash at the door — tap "Mark paid" once you take it. Cancel any registration to free the slot; cancelled rows can be reactivated. Check-ins stay locked until the event day — tap Open now to start early, or Undo check-in on a row to clear a bad stamp.
Pick an event to see its registration list
Waitlist Management
When spots open, click "Notify Next" to email the top waitlister with a 24-hour claim window. Expired claims auto-roll to the next person.
Waiting
—
Notified
—
Claimed
—
Expired
—
Event Waitlist
#
Person
Joined
Status
Notified
Claim Deadline
Actions
Select an event above to see its waitlist.
Notification History
Person
Kind
Via
Sent
Notes
Select an event above to see notification history.
Partners
Loading…
✓ Active Partners (activated from contract workflow)
Loading partners...
📄 Partner Renewals
Partners within 30 days of their 12-month anniversary, or past it. Contracts auto-renew per the standard terms, but a fresh signature documents the relationship and gives a natural moment to re-negotiate.
🎯 Partner Prospects
Vendors and sponsors flagged as worth pursuing for ongoing partnerships — sorted oldest first so nothing falls through the cracks.
Loading prospects...
Partner Applications
Review and approve new partner applications
🔔 Partner Member Status Alerts
Inactive BHLV members using subscription-style partner benefits
2 alerts
No partner member alerts — populates when inactive members visit partner locations
🏢 Partner Applications loading...
Type
Loading applications...
🌱 Warm Leads / Potential Partners loading...
Loading warm leads…
🇺🇸 Service Member Applications loading...
Loading applications...
🏪 Event Vendor Applications loading...
Loading applications...
📨 Affiliate Applications loading...
New applications from /affiliates.html. Approve to create the affiliate record + send welcome email with dashboard link.
Loading applications...
🎚️ Membership Tiers
Edit what each public membership card lists. Change the tagline, and add / remove / reorder feature rows or toggle a row between ✓ included and — greyed-out. Saving updates the cards on the Home and Join pages.
💡 Prices, tier names and Stripe checkout stay in code — editing here can never change what a member is charged. Type {partners} in any line to drop in the live partner count (e.g. "Access to all {partners} partners").
Loading tiers…
➕ Add-Ons
Recurring upsells sold on top of a membership (e.g. Coaching $55/mo, Training $35/wk). Each becomes its own Stripe subscription at purchase. Add or edit them here anytime.
💡 Members are only ever charged via the Stripe Price ID — create the price in Stripe first, then paste its price_… ID below. The dollar amount here is for display only. An add-on with no Price ID stays unsellable until you add one.
New Add-On
Sort
📋 All Add-Ons
Loading add-ons…
✉️ Partner Email
Pick a version, fill in the details (or load a prospect to auto-fill), then copy or open in your mail app. The partner replies with their numbers and you send the contract.
Copied.
You've edited this email by hand — field changes won't overwrite it. Use "Regenerate from fields" to rebuild from scratch.
Saved drafts
No drafts yet.
📇 Approved Vendors
Vendors who've been confirmed & paid at an event land here automatically. Re-invite them to an upcoming event without making them reapply — it creates a Pending application you review like any other. A pool to reach out to for special events too.
Vendor Pool loading…
Loading vendor pool…
Add Vendor to Pool
Revenue
Membership MRR + event ticket revenue
💰
—
MRR
🎟️
—
Event Revenue
📈
—
Total Revenue
🔮
—
Next Month Forecast
Membership mix
Loading membership mix…
Monthly Revenue — Last 6 Months
Loading revenue history…
Revenue by Source
Loading source breakdown…
Recent Transactions
Date
Member
Type
Amount
Status
Loading transactions…
💹 Event P&L
Full financial breakdown per event — money in, money out, net profit. Tickets and vendor fees total automatically; log sponsors, speakers, and expenses by hand.
Pick an event to see its P&L.
🧬 Peptide Tracker
Visibility, access tier, catalog and provider mapping for the member peptide tracker
🧬 Peptide Tracker — Access & Visibility
Controls whether the peptide tracker is visible and who can use it. Per-member overrides live on each member's edit form. Changes save instantly.
Visibility
Off = hidden (admins still see it) · Coming soon = teaser · Live = fully open
Default Access Tier
Which members get access by default, before overrides
—
Active peptides
—
Total logs
—
Overrides
🧬 Peptide Catalog
The peptides members can log. Archived peptides stay in history but drop out of the picker.
Loading…
🧬 Peptide Providers — the "Where" list
Members always see Home and Other; partners appear as the union of the two lists below.
General providers — offer all peptides
Loading…
Per-peptide providers
Show providers for
Edit peptide
×
Name
Icon
🧬
Tap to choose an icon.
Description (optional)
Active
Off = archived (kept in history, hidden from the picker)
Settings
🚀 Site Launch
Controls what the public sees at biohackinglasvegas.com. Splash on = visitors see the "Something big is coming" page. Turn it off to take the full site live. Saves instantly — no redeploy. Event, join, and login links always work regardless.
Coming-soon splash
Loading current state…
🔔 Admin alerts
New-member alerts are pushed to the admin's member app. Delivery is best-effort by design, so a dead chain looks identical to a quiet one — use this to tell them apart.
Send a test push
Fires one notification and reports what actually happened.
Event Settings
Default Event Capacity
Max registrations per event
Member Early Access Window
Days before public registration opens
Waitlist Claim Window
Hours to claim offered spot
Auto-notify Waitlist
When spot opens, notify next person automatically
Allow Walk-ins
Accept registrations at the door
Membership Settings
Optimize Price
Elevate Price
Ascend Price
Transcend Price
Apex Price
Pinnacle Price
Grace Period for Failed Payments
Days before cancellation after failed charge
Members Get Free Event Entry
All tiers get free monthly meetup admission
Notifications
Member Early Access Email
Auto-send 2 days before public registration
Event Reminder (24hr)
Remind registered attendees the day before
Waitlist SMS Alerts
Text message when spot opens
New Member Welcome Email
Monthly Newsletter
Failed Payment Alert (Admin)
Integrations
Stripe
Payment processing
Connected
Supabase
Member database
Connected
SendGrid
Transactional email
Setup needed
Twilio
SMS notifications
Not connected
WordPress Site
biohackinglasvegas.com
Linked
✉️ Reminder Emails
Recurring member mail. Both are opt-in per member as of build #852 —
these are the master switches that pause them for everyone without a redeploy.
Changes save instantly.
Check-in Reminders
Twice daily, ~7am & ~9pm Pacific. Only to members who opted in.
Streak Nudges
Daily, to members on an active tracker streak who opted in.
⭐ Review Prompts
After a member redeems a benefit, the system emails them to rate the partner (and emails the partner to rate the member). These settings control the timing and dedupe rules. Changes save instantly.
Send Review Prompts
Master switch — turn off to silence both member & partner emails
Member Prompt Delay
Hours after redemption before emailing the member
Partner Prompt Delay
Hours after redemption before emailing the partner
Member Dedupe Window
Don't ask a member to review the same partner again within this many days (set 0 to disable)
Respect Unsubscribes
Skip review prompts to members who unsubscribed (contacts.subscribed=false)
🌐 Partner Report Reminders
On the 5th of each month at 9am Pacific, the system emails each online-enabled partner who had ≥1 intent in the previous month and hasn't already submitted a report. The email includes the BHLV-logged stats so the partner can spot-check against their own records. Changes save instantly.
Send Monthly Reminders
Master switch — when off, no partner reminders go out
⚡ Biohacking Tracker
Controls who can access the in-app session tracker. Per-member overrides (grant or revoke) live on each member's edit form. Changes save instantly.
Default Access Tier
Which members get tracker access by default, before any overrides
—
Active members
—
Total sessions
—
Manual overrides
Analytics
📈
—
Member Retention Rate
⬆️
—
Upgrades This Month
💸
—
Avg Revenue Per Member
🎟️
—
Avg Redemptions/Member
Most Redeemed Benefits
Activates once the Partners App ships and redemptions are logged.
Tier Distribution
Loading…
⚡ Tracker Activity
How members are using the biohacking tracker · Updated each visit
📝
—
Sessions Logged
👥
—
Active Loggers
📊
—
Avg Sessions / Member
📍
—
% at Partner Locations
Sessions per Day
Loading…
Top Modalities
Loading…
Top Locations
Loading…
🏆 Most Active Members
Ranked by number of distinct days a member logged at least one session in the selected window. Distinct days rewards consistency over volume — harder to game by stacking many entries on one day.
Loading…
📋 Who Logged What
Grouped by member, most recently active first. Tap a name to expand and see exactly what they logged.
Loading…
🧬 Biohacks Catalog
Manage the modalities + biostacks shown in the member tracker
📱 Member Tracker Preview
Live snapshot of what members see · auto-updates on save
Modality
Loading preview…
— biohacks in catalog
Loading…
— biostacks in catalog
Loading…
🗺️ Coverage Matrix
Which partners offer which biohacks · gaps + concentrations at a glance
▼
Loading matrix…
📲 Send Scanner to Staff
Generate a one-tap scanner link (and QR) for the selected event, then text or email it to door staff. The link opens the scanner pre-authorized — no code typing.
Event
Pick an event in the toolbar first
Access valid for
Starts counting when you generate — make sure it covers through the event's end.
Manual code (backup)
—
Door staff scan this to load the scanner
New Biohack
Name *
Slug (auto from name)
Description (1 line)
Icon (optional)
Sort order (lower = first)
…or tap to pick an icon
Where can this be done? (admin selects all that apply)
Partner locations appear below automatically as partners are approved. Members can always choose "Other" when logging.
Loading partners…
If only one partner is checked AND marked "exclusive," member picker shows the 📍 lock badge. Multiple partners means the biohack is offered widely.
New Biostack
Name *
Slug (auto)
Description
Icon
Sort order
…or tap to pick an icon
Biohacks in this stack (check all that apply)
Loading biohacks…
Benefit Redemptions
⚠️ Membership Status Alerts
💡Partners with ongoing subscription-style benefits (OsteoStrong, MyHealthMatrix etc.) are automatically notified when their member's BHLV status changes. The partner will see a status alert the next time the member visits — prompting them to inform the member their BHLV discount no longer applies until they renew.
No active alerts — delinquent/cancelled/suspended members will appear here automatically
All Redemptions
No redemptions yet — populates when members use partner benefits
🎁 Bonus Benefit Redemptions
Capped, trackable per-tier perks members redeem in person (cadence set per benefit on each partner profile). The standard partner discount is tracked in the table above.
Loading…
🌐 Online Redemption Reconciliation
Compare member intents (what we logged) against partner reports (what they confirmed). Big gaps may signal code leaks; small gaps are normal funnel drop-off.
Month
Online-enabled partners
—
Total intents logged
—
Reports submitted
—
Total reported
—
💡Intent counts are what BHLV logged (members tapping "Redeem online"). Reported counts are what the partner confirmed. Reasonable gap: 30-60% drop-off is normal (members open the modal but don't always check out). If partner reports MORE than we logged, investigate — code may have leaked outside the member app.
Per-Partner Reconciliation
Loading…
Partner Report
—
—
BHLV-logged this month
—
$
If the partner shared their revenue from BHLV codes this month.
🏆 Member Redemption Leaderboard
Top members by benefits redeemed — reward your most engaged community members
🏆 Top 3 will appear here once members start earning redemptions this month
Full Rankings
Rank
Member
Tier
Redemptions
Partners
Saved
Prize
Action
🎟️
—
Total Redemptions This Month
💰
—
Total Member Savings This Month
🎁
$0
Prize Budget This Month
📱
—
Total Sessions Logged
👥
—
Active Trackers
⚡
—
Avg Energy Score
🔥
—
Longest Active Streak
#
Member
Sessions
Streak
Avg Score
Minutes
No tracker sessions yet — populates as members log biohacking activity
No active challenges yet — click + New Challenge above to create one
Completed
New Challenge
Challenge Name
Modality
Goal Type
Start Date
End Date
Eligible Tiers
Session Target (optional)
Prize / Reward
Description
Standings
Loading standings...
Member Integrity Reviews
Private partner reports on member conduct at their location
—
Total reviews
—
Needs action
—
Members flagged
—
Suspended
🔒
These reviews are completely private — partners submit directly to admin only. Members cannot see these reports. All positive reviews are also logged to reward good members. This system protects both the partner network and maintains BHLV community integrity.
All Reports (0)
No member conduct reports yet — partners can submit one below
Submit a new member report
Member name or email
Your business
Conduct rating
⭐ Positive
— Neutral
⚠ Negative
What happened? (private — admin only)
📋 Contact Database
All contacts — members, leads, partners, board members and founders
👥
—
Total Contacts
🏆
—
Active Members
🌟
—
Leads to Convert
📧
—
Email Addresses
Status
Showing 206 contacts
💬 their message⚑ your note
NameLastFirst
Email
Phone
Organization
Status
Member Since
Added
Actions
💬 Community Feed
Posts shown in the member app on the Community tab · Pinned posts appear first
🤖 Auto-posts
Database triggers create posts automatically when these happen.
Loading posts…
New Community Post
Post Type
Title *
Body
Plain text. Line breaks are preserved.
Image URL (optional)
Hero image shown at top of the post card. Paste any direct image link.
Publish at (optional)
Leave blank to publish immediately when the toggle below is on.
Status
➕ Add Walk-in
For attendees showing up at the door without a pre-registration. Adding here will create their registration AND check them in immediately, tagged as a walk-in for reporting.
Event —
Full Name *
Email *
Phone (optional)
Attendee Type
Amount at door
$
Pre-filled with the door price — edit for a partial amount, or tap Comp for free entry.
➕ Add registration
Registers someone in advance. They are not checked in — they appear on the check-in list as Not arrived and you tap them in at the door. Use ➕ Add Walk-in on the Check-in page for someone standing in front of you.
Event —
Full Name *
Email *
Phone (optional)
Attendee Type
Payment
Amount
$
Pre-filled with this event's door price.
🎟️ Door Pay QR
Print this or show it on a tablet at the door. Guests scan it, enter name + email, and pay by card — checked in on the spot.
BH
BIOHACKING LAS VEGAS
Pay at the door
$10 · card or phone
📲 Scan to pay
Point your camera at the code Enter your name & email → pay You're checked in on the spot
✍️ Member Partner Reviews
Reviews submitted from the app's "Rate Your Experience" flow · Approve to surface in the Community Feed
—
Pending
—
Approved
—
Rejected
—
Avg ★
Loading reviews…
🎁 Referrals
Member-to-member referral codes · 25% off both sides
—
Total Referrals
—
Pending
—
Applied
—
Rejected
—
🎓 Ready to Graduate
Loading…
🎯 Campaigns
Named, reusable email pushes · Templates + stats roll up across all sends
—
Campaigns
—
Active
—
Total Sent
—
Avg Open Rate
—
Avg Click Rate
—
Conversions
Loading campaigns…
🏆 Contests
One offer, one code per affiliate, ranked by paid signups. Affiliates keep their normal commission.
or
Blank cap = unlimited. Prefix + cap auto-fill every row; override any row below.
Blank start = live now. Blank end = never expires. Uses your local (Las Vegas) day: start 12:00am, end 11:59pm.
Only affiliates appear here. Each checked affiliate mints one code linked to their account, so they earn their normal commission on paid signups.
—
Add to a group
Adding 0 contacts — pick a group:
Or create a new group
Manage groups
Send Campaign
Groups — tap to select, combine as many as you like
Or add specific people
Sending to
0 recipients
When to send
Month Year
SuMoTuWeThFrSa
Time:
Pick a date and time above.
New Campaign
Name *
Category
Description (internal notes — not sent)
Subject *
Use [first name] to personalize.
Body *
Plain text or simple HTML. Line breaks are preserved. The code and Join Now button are added automatically when sent.
Images (optional flyer / picture)
+
Tap an image to drop it where your cursor is in the body. PNG, JPG, WEBP, SVG · up to 5 MB. Inserting an image keeps your line breaks intact.
Link button (optional CTA)
Color:
Default discount code (optional)
Default audience filter
Campaign
Loading…
Recipients
Loading…
📨 Messaging Center
Send emails and SMS to any segment of your network — members, leads, partners, or custom groups
📡 Channel
👥 Send To
Quick Segments
Or Search / Add Individual
Selected Recipients
📧 202 email · 📱 165 SMS recipients
✍️ Message
+
Tap an image to drop it where your cursor is in the body. PNG, JPG, WEBP, SVG · up to 5 MB. Hosted image — best for inbox delivery.
Your local time. The cron checks every 5 minutes, so it goes out at or just after this time — email only, and the recipient list is locked in when you schedule it.
🤖 Automation Sequences
Pre-built messages ready to send — select a template above to load any sequence
21 sequences ready
Member Sequences (11)
Partner Sequences (5) + Campaigns (5)
👋
Welcome + App Link
Trigger: New signup
🎯
First Benefit Nudge
Trigger: Day 3 after signup
💬
Personal Check-in
Trigger: Day 7 after signup
📅
Event Invite
Trigger: Day 14 after signup
🚨
No Redemption Rescue
Trigger: 30 days, zero redeems
📰
Monthly Newsletter
Trigger: 1st of each month
🏆
Leaderboard Results
Trigger: End of month
🔄
Renewal Reminder
Trigger: 7 days before renewal
💳
Payment Failed Recovery
Trigger: Failed charge
💛
Cancellation Winback
Trigger: Cancel attempt
⭐
Post-Visit Review
Trigger: 2hrs after QR scan
🤝
Partner Welcome Kit
Trigger: Contract signed
📊
Partner Monthly Report
Trigger: 1st of each month
📈
Partner Quarterly Summary
Trigger: End of quarter
🆕
New Members This Week
Trigger: Weekly digest
📋
Partnership Renewal
Trigger: 30 days before expiry
📅
Event Announcement
Campaign: Any event
🎉
Monthly Meeting
Campaign: Meetup invite
⚡
Special Promotion
Campaign: Partner deal
🌟
Lead Conversion
Campaign: Leads segment
🏢
Corporate Pitch
Campaign: Corporate contacts
Sending...
👁 Preview
To: Everyone (206)
Subject: Message from Biohacking Las Vegas
— John Wetzel · Biohacking Las Vegas · Unsubscribe
📱 SMS Preview
Biohacking LV
Hi Alex, your message here...
0/160 chars · 1 segment
📜 Sent History
📭
No broadcasts sent yet.
When you send a member-wide email or SMS, it'll be logged here with open/click stats.
🔔 In-App Notification
Push a banner notification to all members when they open the app
Members see the banner in the member app. Partners/Affiliates see it in their own apps.
Changes the banner's color in the member app so it stands out.
🔔
Notification title will appear here
Notification body preview
now
Sends just the banner to the member app — no email or SMS. Members see it once when they next open the app. (The checkbox above instead attaches the banner to an email/SMS campaign.)
📋 Sent In-App Notifications
Turn a banner off to stop showing it. Only LIVE ones appear in the member app.
Loading…
📣 Email Broadcast
Send a personalized email to a filtered list of contacts. Unsubscribed contacts are automatically skipped.
Merge tags: {{first_name}}{{full_name}}
+
Tap an image to insert it where your cursor is in the body. PNG, JPG, WEBP, SVG · up to 5 MB.
Sent as a real downloadable attachment. PDF/PNG/JPG/WEBP/GIF · up to 10 MB. Large files hurt inbox placement — for mass campaigns, prefer an inline image above.
An unsubscribe link will be appended automatically to comply with CAN-SPAM.
Color:
—
Will send
—
Unsubscribed
—
No email
Sample of first 25 recipients:
Ready to send? At 10 emails/second, this will take about —. The modal will show progress and you'll be able to see results in Supabase under contact_broadcasts.
When to send
Month Year
SuMoTuWeThFrSa
Time:
Sending your broadcast…
Don't close this window. Sending at 10 emails/sec to keep deliverability high.
✓
Broadcast complete
—
Sent
—
Failed
—
Skipped
📱 Registration QR Code
Print this on posters, business cards, or share the link. Each QR code tracks the source so you can see which campaign converts best.
Lowercase, no spaces. Shows up in admin as source on each contact who registers via this QR.
https://biohackinglasvegas.com/register
➕ New Contact
Manually add a lead, member, partner or board contact.
?
Contact
Changing from Lead → Member here only changes segmentation. To create a real member with app access, use the Convert tab.
Off (default) = no meetup access; they pay the guest rate at the door. On = free walk-in meetup check-in through Dec 31, 2026, then it lapses.
Quick add:
save engine b464
Send a one-off promotional email to this contact with a discount code attached. The contact's last promo and timestamp are saved on their record.
Picking a template fills subject + body + code below. This send will be tracked under that campaign's stats. Manage templates on the 🎯 Campaigns page.
Use [first name] to personalize. The code and a "Join Now" button are added automatically at the bottom.
Convert this contact into a member. We'll send them a personalized signup link with their info pre-filled and a discount code applied at checkout. The contact row will be deleted once they complete checkout.
Pre-fill values
Recent activity for this contact. Newest first.
Loading…
📸 Event Recap Media
Add photos & video to a past event, then feature one event on the homepage meetup strip. Photos: paste a hosted image URL (with optional caption), or import a whole album from SmugMug.
⭐ Homepage Featured Videos
The three tiles under “Featured Videos” on the public homepage. Videos from any event can fill a slot — shown here top-to-bottom in the same order they appear left-to-right.
Loading…
To add a video to a slot: pick its event below, then tap the ☆ on that video’s row in the gallery.
Pick an event to manage its photo & video gallery.
This event's published photos can be shown on the homepage meetup strip.
🖼 Add photo
Paste a hosted image URL, or import a SmugMug album below.
— or import a whole public SmugMug gallery —
🎬 Add video
Paste a YouTube link (or any video URL).
Gallery
Loading…
🌐 Attended Recaps
Recaps of events we attended — no event needed. Create a recap (title, date, location), then connect a SmugMug gallery and add videos. Shows on the website under Events ▸ Recaps ▸ Events We Attended.
Your attended recaps
Loading…
🌐 New Attended Recap
No event is created — this lives only under Recaps ▸ Events We Attended.
Title *
Date
Location
Short description
Media —
🖼 Add photo
Paste a hosted image URL, or import a SmugMug album below.
— or import a whole public SmugMug gallery —
🎬 Add video
Paste a YouTube link (or any video URL).
Gallery
Loading…
📰 Media
Articles, YouTube videos, and podcast episodes shown on the public Media page. Add new items here — no source edit, no deploy.
🧭 Public Media Page Order
Drag-free reorder of the sections on the public Media page. Use ↑ / ↓, then Save. Hidden sections (e.g. Partner Podcasts with no episodes) keep their slot but stay hidden until they have content.
Loading…
🖼️ Vegas Wellness Cover
Cover shown in the "As featured in" strip on the homepage. Letterboxed to 77×100 (8.5×11). Changes go live within a minute — no deploy.
For videos: paste the full YouTube URL — the video ID and thumbnail are auto-extracted
Auto-filled from the URL above. Override if needed.
💎 Member Content
Tier-gated content for the member app. Items above a member's tier show as locked teasers with an upgrade nudge. Bodies of locked items never leave the server.
Items ·
Loading…
Add Member Content
🖼️
📝 Blog Posts
In-depth articles shown in the Blog section of the public Media page. Add or edit here — no source edit, no deploy. Bylines are optional.
Posts ·
Loading…
Add Blog Post
Auto-filled from the title. Lowercase, dashes only — this becomes the article's URL when per-post pages launch.
Live preview
Byline — optional, leave blank for most posts
A byline only shows when Author name is filled. The credentials line is optional even then.
🥑 Recipes
Biohacker recipes for the public Media page and the member app. Set each recipe's access: public, any member, or a minimum tier. Add or edit here — no source edit, no deploy.
Recipes ·
Loading…
Add Recipe
Auto-filled from the title. Lowercase, dashes only.
Public — anyone on the website. Members — any signed-in member. By Tier — that tier and above unlock it.
🖼️
🎁 Member Rewards
BHLV-funded bonuses on repped products · paid after a verified purchase + return hold
Reward products
Claims queue
👤 Profiles — Biohacker Family
Showcase you, Angel, and the family · main photo + gallery + full bio · shown on the public site
Family members
📄 Contracts
Every signed partner agreement in one place · click any one to view + download as PDF
🛒 Shop Products
Health & Wellness affiliate products shown on the public site · Drag to reorder
—
Total Products
—
Active (shown publicly)
—
With Member Pricing
Loading…
🔁 Billing Sync
Read-only reconciliation of live Stripe subscriptions against BHLV member state. Flags subscriptions that are billing in Stripe but not active in BHLV (the desync that let a cancelled member keep getting charged), plus members marked active + paying with no live Stripe sub. Nothing is cancelled here — use the Stripe link on each row.
⚠️ Billing in Stripe — not active in BHLV
Subscription
Email
Amount
Stripe
BHLV
Actions
Run reconciliation to scan Stripe…
BHLV active + paying — no live Stripe sub
Member
Email
Tier
$/mo
Sub id
—
🚦 Rate Limit Activity
Recent requests to rate-limited public endpoints (sign-in links, contact form, feedback). Blocked rows indicate someone hit the per-IP or per-email cap — usually a bot or someone fat-fingering, occasionally real abuse.
⚠️ Showing newest 500 rows only — older hits truncated
By Endpoint
Loading…
Recent Hits
When
Endpoint
Type
Identifier
Status
Loading…
📤 Sent Emails
Every transactional email sent to vendors, partners, and members — with delivery status. "Sent" means SendGrid accepted it; "Delivered" / "Opened" / "Bounced" require the SendGrid Event Webhook (see setup note if those never advance).
⚠️ Showing newest 800 rows only — older entries truncated
📬 Email Outbox
Transactional emails that hit SendGrid trouble. Pending rows are waiting for the next cron retry (every 5 min). Failed rows have exhausted their retry budget and need manual attention.
⚠️ Showing newest 500 rows only — older entries truncated
Outbox Entries
When
To
Subject
Source
Status
Attempts
Actions
Loading…
Member Profile
AJ
Alex Johnson
alex@email.com · 🔥 Elevate Member
Account Details
TierElevate
Monthly$50/mo
Member SinceJan 2026
Events Attended5
Total Redemptions12
StatusActive
Recent Redemptions
No redemptions logged yet — will populate once the Partners App ships.
Event History
No event check-ins recorded for this member yet.
Create New Event
Event Name *
Short Name (for tags / cards)
Date *
Event Type
Start Time
End Time
Location Name *
Address
Description
Event Flyer (shown on the public event card · tap-to-enlarge)
🖼️
Landscape works best (16:9). PNG, JPG, WEBP or SVG, max 5 MB.
Vendor Setup
Vendor Capacity (tables)
Vendor Fee ($)
Vendor Application Deadline
Attendee Capacity
Cancellation Window
⏱ Advance notice
Leave everything blank for a normal, open-to-all event. Stages run in order and each one is optional.
Push the announcement to whoever's window is open right now. Preview first — it tells you exactly how many people would get it without sending anything.
Attendee Ticket Pricing
Member Price ($)
Guest Price ($)
Set $0 to make tickets free. Default: members free, guests $10. Premium events (Christmas party, conferences) can charge more.
Join-the-Network Offer (optional)
Discount code
Offer label
When set, RSVP & ticket emails show a "Join the network" block with this code + a pre-filled join link (join.html?code=…). Must be a live Stripe promotion code. Leave blank for no offer.
Status
🎪 Assigned Vendors & Sponsors
🎁
Tonight's Raffle Pool: $0
Admin Notes (internal only)
Assign Partner to Event
Pick partners and sponsors to assign to this event \u2014 check multiple to bulk-add, and their raffle prizes (if any) join the pool. Vendors from the pool create a Pending application you approve on the Applications page (nothing is sent automatically).
Business
Partner Application Review
Approval Checklist
Admin Notes
Need 6 of 9 to unlock Approve
0 / 9
Reviewing
✅
Contract Sent!
The partner has been emailed their contract link.
Decline Application
Reason for declining
Personal note (optional — not sent to partner)
Request More Information
Quick requests
Business license
Insurance certificate
Photos of location
Service menu/pricing
References
Website/social links
Additional message
Member Integrity Action
Action
Admin note (not visible to member unless warning sent)
Activate Partner
—
—
Confirm the contract is in hand and fill in the partner's public display info. On confirmation: status flips to Approved, welcome email sent, partner appears in the Partners page.
⚠
No signed contract on file for this partner. They were activated before the contract workflow was required.
— recommended before publishing changes
Confirmation Checklist
0 / 5
📝 Contract Prep — flows through to the contract page
This is distinct from the "Online Redemption" block below — that one configures how the member app surfaces codes. This one captures the code as it lives on the partner's own e-commerce platform, so it's on the signed contract.
⚠ Heads up: With online-only enabled, the in-person QR redemption button is hidden in the member app. Make sure Online Redemption below is configured (URL + at least one code) so members have a working path to redeem.
Public Display Info
Pre-filled from the applicant's answer — edit it to read clean. Leave blank to show no package line. Distinct from the per-tier promos above.
💰 Subscription Pricing — powers savings math
Per-Tier Discounts (leave blank if tier doesn't get subscription pricing)
🌱 Optimize
🔥 Elevate
🚀 Ascend
Premium tiers — enable by opting the partner in under 🎁 Benefits by tier.
💫 Transcend
👑 Apex
💎 Pinnacle
Year-1 savings preview will compute here when you fill values…
📞 Public Contact — shown to members on partner page
🔒 Owner Contact — admin-only, not shown to members
If different from the primary email above. This is the person you'd actually call/text — not the business reception.
Tiered Member Benefits (legacy — now auto-filled from Benefits by tier below)
🌱 OPTIMIZE TIER
🔥 ELEVATE TIER
🚀 ASCEND TIER
Premium tiers — set the main redeemable discount for each. Leave blank and that tier inherits the next lower tier's benefit.
💫 TRANSCEND TIER
👑 APEX TIER
💎 PINNACLE TIER
🎁 Benefits by tier
— what members SEE at each level (incl. Transcend/Apex). Add extra perks; leave a tier empty for "no benefit at that level".
Loading tiers…
🌐 Online Redemption
(optional — fill in if this partner sells online)
Where the "Continue to partner" button sends members. UTM params will be appended automatically.
🌱 OPT
🔥 ELV
🚀 ASC
UTM tracking parameters (optional, applied to the partner URL)
🎟 Coupon auto-apply at checkout (optional — applies the discount to their cart on arrival)
Pick the partner's e-commerce platform. When set, the redeem-online link auto-applies the discount code via the right URL parameter (Shopify uses ?discount=, WooCommerce uses ?coupon_code=, etc.). Leave on None if you're not sure — members will still see the code in the toast and can copy/paste it.
The {code} placeholder is replaced with the member's coupon code. Note: the partner's Store URL path is replaced entirely by this template. Examples: /discount/{code}, /promo/{code}/apply
PREVIEW—
💵 Partnership Price (optional — leave blank for free partnerships)
$
One-time: single Stripe charge. Recurring: auto-renews using the Billing interval above.
🎪
Vendor activation — no partnership pricing
Vendors pay a per-event fee through the existing vendor-payment flow (set per event in the event modal). There's no annual partnership fee, no recurring billing, and no Stripe customer record needed here. Just confirm the contract is in hand and activate.
💎
Sponsor Invoice (Stripe)
Sponsors get a one-time Stripe invoice with a hosted payment link emailed automatically. Set the fee amount in Sponsorship Fee above, then click Generate & Send Invoice. The sponsor pays via the hosted page; status updates automatically on payment.
💡 To refund a paid invoice, use the Stripe Dashboard's invoice page — open in Stripe ↗. BHLV doesn't surface refunds in the UI to avoid accidental clicks on large amounts.
Contract on File
Membership seats appear here when editing a saved partner.
Partner-app device access appears here when editing a saved partner.
❌
Void This Invoice?
Voiding marks the invoice as unpayable on Stripe's side. This cannot be reversed. The hosted invoice link stays accessible but will show "voided" to anyone who opens it.
🎁
Configure Prizes
—
Set the prizes for this month's leaderboard. Each row is one rank (1st, 2nd, 3rd, …). The optional dollar value rolls up into Prize Budget This Month. Saving overwrites the existing config for this month.
Total budget: $0
Send Contract to New Partner
Capture basic info and email the partner their contract. They'll fill in the rest and sign — then appear in your Pending queue.
Contract type
How this works
You capture their basic info (below) and click Send Contract
They get an email with a personalized contract link
They fill in promotions, sign, and submit
You'll see them in Pending with a "✍️ Signed" badge
You run the standard Activate checklist to publish them
Public profile — what members see
🏢
Online business
Proposed Member Benefits
What you discussed with them. Add one benefit per tier — or several (bonus deals). Base-tier benefits prefill into their contract to edit before signing; Transcend / Apex / Pinnacle are opt-in and reserved, which you finalize at activation. You review any changes before approving.
Event Stipulations
Standard clauses baked into every vendor contract — the boilerplate. Adjust the numbers below if a specific vendor needs different terms.
Standard clauses include: punctual arrival, advance notice for any change or cancellation, professional conduct on-site, no competing-product disparagement, and indemnification for vendor-supplied product.
🎁 Event Raffle Contribution
What will Vendor contribute to the member raffle at the event? Becomes part of the signed contract.
$
Sponsorship Terms
Reads naturally in the contract (e.g. "Sponsor agrees to participate in March 2026 Biohacker Summit").
$
%
🎁 Event Raffle Contribution
What will Sponsor contribute to the member raffle at the event? Becomes part of the signed agreement.
$
✓
Contract Sent
Emailed contract to — for —
Backup contract link
If they don't get the email, text or DM them this link. It auto-loads with their info.
Next: They'll appear in your Pending queue immediately with the "Contract Sent" status. Once they sign, you'll get an email and see a ✍️ Signed badge — then run Activate.
Review Signed Terms
—
—
—
Tier
You Proposed
They Signed
Final Approved Terms (what goes live)
🌱 OPTIMIZE TIER
🔥 ELEVATE TIER
🚀 ASCEND TIER
💫 TRANSCEND TIER · opted in
👑 APEX TIER · opted in
💎 PINNACLE TIER · opted in
Reason for Rejection
Partner gets an email with this reason. They can re-sign with adjusted terms — their record returns to "contract sent" status.
Reach Out to Partner
—
—
Sends via your BHLV email infrastructure. Reply-to is set to JohnXD@biohackinglasvegas.com.
0 characters
Tapping "Open in Messages" launches your phone's SMS app with the message pre-typed. You send it from your phone.
Request More Info
—
—
Send the applicant a structured follow-up email. Pick what you want to ask about and we'll generate the message.
What do you want to learn?
Suggest these times:
📄 Resend Contract
—
—
Send a contract email to this partner. You can include a signing URL and add a custom note — both optional. A copy is BCC'd to your inbox.
If blank, the email will say the contract is "attached or will be sent shortly."
Leave blank for the default copy. Line breaks are preserved.
Quick Templates
💵 Mark Payment Received
—
—
Record that this partner paid their partnership fee. This updates the payment status on their card and is logged for accounting.
💳 Stripe Pay Link
—
—
Generating secure Stripe link…
Share this link with the partner. It's secure, expires in 24 hours, and routes payment directly to your Stripe account. Once paid, the partner is auto-marked paid in admin.
Payment Link
📧 Email it to the partner
Sends them a short email with the pay link and a personal note from you.
✍️ Signed Agreement
—
Signed by
—
Title
—
Method
—
When
—
IP Address
—
Legal record · This electronic signature is valid under the Federal E-SIGN Act and Nevada UETA. The partner confirmed they had read the agreement and had authority to bind the business.
Email is the unique identifier and cannot be changed after creation
First Name
Last Name
Phone
Membership
Tier
Admin override only — sets the member's level in the app. Does NOT bill Stripe. Higher tiers unlock everything at or below their rank.
Type
Why they pay $0 — a comp/gift. Benefits stay on as long as Status = Active.
Actual Monthly Amount — what they actually pay each month
$
Standard rate based on tier + service category will be used if left blank.
Status
Active and Comped both keep full benefits (redeem, tracker). Paused / Cancelled / Suspended / Archived switch them off. A free member is normally Type = Comped + Status = Active.
Service Category
Branch / Agency
Years of Service
Verification Info
Internal notes only — never shown publicly
🎖️ Veteran / First-Responder Referral
Save the member first, then reopen this record to generate their referral code.
Both sides get 25% off — the friend gets 25% off at checkout using this code, and this member earns the referral reward + progress toward affiliate graduation (unless opted out below).
Their code:
—
—
⭐ Affiliate Link
Link this member to an affiliate account so their Refer-a-Friend picker shows that affiliate's codes. Assigning an affiliate does not mark them graduated — graduation is earned by referring 3 friends.
Admin Notes
⚡ Biohacking Tracker
Default follows the tier rule set in Settings. Grant lets a lower-tier member use the tracker as a perk; Revoke locks it for individual members regardless of tier.
💳 Subscription & Billing
—
📧 Welcome Email
📱 Preview & send app link
Rendering preview…
To
Subject
What the member receives
Preview & send
Rendering preview…
To
Subject
Exactly what they receive
Confirm Action
—
Reason — optional, internal audit log
💰 Generate Payouts
Create monthly payout batches for affiliates
How it works: Eligible (post-clawback) referrals in the chosen period get grouped per affiliate. Affiliates whose total is at least the minimum get a payout batch + statement email. Sub-threshold totals roll into the next batch automatically.
Period start
Period end
Minimum payout threshold — affiliates below this amount roll into next batch
Payout Detail
—
Mark as Paid
Payment method
Reference / confirmation #
Notes (optional)
Payment proof (optional)
Affiliate Application
—
If approving, set commission terms:
Member commission kind
% value (e.g. 25)
Partner / vendor commission (optional)
Affiliate earns this when a partner/vendor/sponsor they refer pays their partnership fee. Typically lower than the member rate (e.g. 20% vs 25%).
Partner commission kind
% value (e.g. 20)
Payout method
Payout handle
Internal notes (optional)
Message to applicant
🚫 Terminate Partner
—
This will:
Remove their logo from the public site (auto-injection excludes terminated)
Hide their discount from the member app
Move their record to the Terminated filter
Preserve all data for your records (not deleted)
✅ Partner Approval Checklist
Complete all 9 points before approving. Once approved, the contract email will be sent automatically.
💵 Partnership Price (leave blank for free partnership)
$
Included in the contract email with a Stripe pay-now button.
Promo Code for Members (optional)
Optional code members can use at this partner for extra savings. Included in the contract email.
Internal notes (optional)
0 / 9
📄
Contract Sent!
The partnership contract has been emailed to the partner. Once they sign and return it, mark them as Contract Received to move them into active partner status.
✓ Application approved & saved
✓ Contract email sent to partner
⏳ Waiting for signed contract
○ Activate as partner once received
🇺🇸 Service Member Review
Confirm eligibility before approving and sending the payment link.
Discount / Promo Code (optional)
If provided, this code will be included in the approval email for the member to apply at checkout.
Internal notes (optional)
0 / 5
⚠️
Email send failed
No problem — the system did everything else (created records, generated links, updated status). You can send the link to manually via text, gmail, or any other method:
Link to send
Suggested message text
🇺🇸
Payment Link Sent!
The discounted payment link has been emailed. Once they complete payment through Stripe, they'll automatically appear in the Members section.