Start here
Vadera Pulse · Developer documentation
Everything needed to understand, extend, and ship the Pulse mobile app. The interactive prototype is the working spec: every screen below opens live, and every visual decision is documented here · colors, type, components, and the rules the product must never break.
All 30 screens, framed in an iPhone, with an admin jump menu.
Read Product rules first · ten constraints that define Pulse · then walk the onboarding flow in order.
What Pulse is
A verified influence score for creators · think credit score, not follower count. One number, 0–99, computed every morning at 7:00 AM from five live signals pulled read-only from the creator's own connected accounts. The score gates a brand marketplace, powers a shareable verified profile, and is coached by an AI that reads the user's live data.
Stack pointers
- Prototype: single self-contained HTML (this site, /app/) · the source of truth for UI and behavior.
- Mobile codebase: Flutter ·
Vadera-Projects/vadera-unit-appon GitHub. - Design file: Figma project "Vadera Pulse · App v2" (imports from this site's deep links).
- Backend/engine: Vadera server via Plesk; credentials held by Angel · never committed, never on this site.
Start here
Quickstart
1 · Open any screen
Every screen has a stable id. Append ?s=<id> and the app opens there · bare screen, no admin chrome, at whatever viewport you request. This is what Figma imports and what you develop against.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=score
2 · Full prototype mode
Open without ?s= for the framed iPhone plus the admin bar (theme toggle + screen jumper). The admin bar is prototype tooling only · it never ships.
3 · The screen map
The sidebar lists every screen grouped by flow, each with its behavior notes and live link. Ids are shared across the prototype, Figma frame names, and this documentation · one vocabulary everywhere.
Internal Vadera Capital documentation. Do not share links outside the team. All outputs are drafts until human review.
Start here
Product rules
Ten constraints that define Pulse. Code that violates any of these is wrong even if it works.
- Five live signals, fixed weights: Engagement 30% · Consistency 25% · Growth 15% · Depth 15% · Reach 15%. Any "sixth pillar," "Dominance," or "Standing tab" copy is stale · delete on sight.
- Connections add data, never points. No score bonus for connecting a platform. Coverage raises confidence; behavior raises the score.
- Consent-state aware. Every input is the user's own account via official read-only OAuth. Token lapses → that platform's inputs leave the score immediately, return on reconnect. No scraping. Never score a non-consenting person.
- One score a day, 7:00 AM. Copy says "new score every morning." Never expose the cron time in UI.
- Asymmetric emotion. Up-moves celebrate (count-up + confetti). Down-moves stay neutral · gray delta, no red, and always paired with a recovery action.
- No named leaderboards. Standing is an anonymized percentile band. Head-to-head exists only as mutual-consent Circles.
- The ceiling is earned. 99 is near-impossible by design; simulator is behaviors-only and estimates taper when stacked.
- Launch platforms: TikTok, Instagram, Facebook. YouTube/X/Snapchat are waitlist copy only.
- No real brand names anywhere in product. Fictional sample campaigns only ("Example campaigns · brands onboarding now") until partners are signed.
- Support is in-app tickets with support chat threads. No support email path anywhere in product. Sender identity is always "VADERA SUPPORT", never a staff name.
- Profiles: the switcher only exists when there is something to switch. One profile means zero switching chrome anywhere. See "Profiles & switching" for the full state table.
Start here
Core flows
First run
Welcome → Register (ToS checkbox, optional invite code) → Verify email → Profile setup (handle, photo, up to 3 niches) → Tour (4 cards, skippable) → Connect checklist (2+ encouraged, skippable) → Computing (~5s staged) → Notification primer → Score reveal with count-up.
Daily loop
7 AM push → open → count-up (+confetti if up) → Today's Move → done inside a minute. The Coach orb ripples only when it holds a fresh insight; opening Coach consumes the state.
Monetization
Free: 5 Coach messages + 3 simulator runs/month → paywall fires on the 6th → Pro $7.99 / Founding $17.99 (yearly −20%, $100 bonus on Founding annual).
Growth
Public profile = Linktree-style landing page; every visitor sees Join Pulse. Rewards: qualified referral = signup + 2 connections; tiers at 5/15/25 on a rolling 30-day window.
Design system
Colors
The PRODUCT palette below is for the app and product web. The CORPORATE palette (purple #6C63FF, gold #D4AF37, navy #1A1D2E, Arial) is for legal/investor documents only.
Product palette
| Token | Hex | Use |
|---|---|---|
| --bg | #0f0b1a | App background (dark) |
| --card | #1a1630 | Cards, surfaces |
| --card2 | #241d40 | Raised surfaces, chips |
| --pb | #c084fc | Primary purple (bright) |
| --purple | #a855f7 | Purple (solid controls) |
| --mg | #e879c2 | Magenta-pink (gradient end) |
| --gold | #f4c97a | Tier, Founding, payouts |
| --green | #34d399 | Live, success, up-moves |
| --red | #fb7185 | Destructive only · never for score drops |
| --t1 | #f3f0fa | Primary text |
| --t2 | #b8a8d4 | Secondary text |
| --t3 | #8d80a8 | Muted text, labels |
The signature gradient
background: linear-gradient(90deg, #c084fc, #e879c2);
Used on: score ring stroke, primary CTAs, headline serif accents, the Market jewel, avatars. Purple-to-pink · the old purple-to-gold gradient is corporate-docs only.
Light mode
--bg:#f7f5fc; --card:#ffffff; --card2:#ece5fa;
--t1:#191428; --t2:#41395c; --t3:#6b6287;
/* accents shift darker for contrast: green #0d8a5f, red #d63a56, gold #a9812e */
Design system
Typography
| Face | Role | Notes |
|---|---|---|
| Inter | UI text, body, labels | 400 / 600 / 700 / 800 |
| Fraunces italic | Display accents, plan names, "pulse." wordmark | Always italic 600, often gradient-clipped |
| Outfit | Every number · scores, prices, counters | 600, tabular-nums, letter-spacing −.01em. Never a coding mono. |
| Comfortaa | "vadera" wordmark stand-in | Replace with the licensed brand font in production |
Wordmark construction
<span class="wordmark">vadera<em>pulse.</em></span>
.wordmark{font-family:'Comfortaa';font-weight:700;font-size:18px;color:var(--t1);
display:inline-flex;align-items:center}
.wordmark em{font-family:'Fraunces',serif;font-style:italic;font-weight:600;
background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
Voice
- Never "Good morning" anywhere in product. Approved: Good day, Good afternoon, Good evening, Hey, Welcome back. Time-of-day runs on the viewer's local time.
- Direct, no filler, no emojis in system copy. Ritual language over system language ("new score every morning", never "updates daily at 7:00").
Design system
Components
Extract these as Figma components and code modules · they repeat across the app. All live examples are in the prototype; inspect with devtools for exact values.
Score ring
<svg width="122" height="122" viewBox="0 0 122 122" style="transform:rotate(-90deg)">
<circle cx="61" cy="61" r="53" stroke="var(--b1)" stroke-width="8" fill="none"/>
<circle cx="61" cy="61" r="53" stroke="url(#g)" stroke-width="8" fill="none"
stroke-dasharray="333" stroke-dashoffset="86.6" stroke-linecap="round"/>
</svg>
<!-- dashoffset = 333 × (1 − score/100). Count-up animates 0→score in 900ms ease-out;
fire confetti ONLY when the daily delta is positive. -->
Signal row
Name + weight chip, score + delta arrow (green ▲ / red ▼ / gray ·), 4px gradient bar, collapsible note. Down deltas use the muted treatment on the Score screen itself.
Deal card (Marketplace)
Full-viewport width, snap-align center; 150px brand hero with badge chip bottom-left; payout top-right in Outfit; full-width gradient Apply CTA. Rail = flex, scroll-snap-x mandatory, with pagination dots synced on scroll.
Coach orb
52px gradient FAB above the tab bar on Score and Feed. Glyph: center dot + two concentric rings. State: still = nothing new; center-out triple ripple = new insight; opening Coach clears it. No badge dots.
Floating tab bar
Detached pill, blur 22px, 5 slots, Market jewel raised −22px in the center with gradient orb. Hides on scroll-down, returns on scroll-up. Order is fixed: Score · Feed · ⬤Market · Messages · Profile.
Chips, toggles, ticket bubbles
Niche chips (999px radius, gradient when selected, max 3); iOS-style 46×26 switches; chat bubbles shared by Coach, Messages, and Support tickets (admin messages carry a purple name tag).
Build
Build a new screen
Every screen in the prototype follows one skeleton. Copy it, and the screen automatically gets deep-linking, admin-menu access, clean import mode, and tab-bar behavior.
1 · The skeleton
<section class="screen" id="scr-YOURID">
<div class="topbar">
<span class="back" onclick="go('profile')">‹ Back</span>
</div>
<h1>Screen title</h1>
<div class="sub" style="margin-bottom:14px">One-line purpose.</div>
<div class="card">…content…</div>
</section>
2 · Register it
- Add an
<option value="YOURID">to the admin menu select. - If it's a flow screen (no tab bar): add the id to the
onboardingarray. - Main-tab screens get a button in
<nav>with idnb-YOURID· but the five tabs are fixed; new screens are subscreens.
3 · It's now addressable
…/vadera-pulse-app.html?s=YOURID ← live, clean, Figma-importable
4 · Rules checklist before you ship it
- Both themes readable (flip with the admin ◐).
- Numbers in Outfit via
.mono; display accents in Fraunces via.serif. - No connect-points, no leaderboards, no red on score drops, no "six pillars".
- Empty state designed if the screen depends on network/content.
- Figma frame named exactly
YOURIDafter import.
Build
Profiles & switching
Founding members can run up to 3 Profiles. One Profile = one persona = at most one account per platform. Every Profile has its own Pulse score, history, Coach context, marketplace eligibility, public page, and member card. Scores are never blended across Profiles: brands book personas, not bundles, and a verified 74 must mean one identity.
The rule (Meta pattern)
The switcher only exists when there is something to switch. Instagram shows no account chevron with one account; the affordance appears when account #2 does, while the add path waits in settings. Switching UI for a state that does not exist reads as clutter or a bug.
State table
| Surface | 1 profile (every user at signup) | 2+ profiles |
|---|---|---|
| Score screen pill | Hidden entirely. No switching chrome. | "@handle · 74 ▾" pill above the hero card. Tap opens the sheet. |
| Bottom sheet | Reachable only from settings. Shows the one profile + "Add profile" row ("1 of 3 used"). | All profiles with live score chips, checkmark on active, "Add profile" row ("2 of 3 used"). |
| Profile settings row | "Profiles · Add a profile · up to 3 with Founding" (doubles as the Founding upsell for free users) | "Profiles · 2 of 3 used · switch or add · Founding" |
| Sheet eyebrow | YOUR PROFILE · FOUNDING | YOUR PROFILES · FOUNDING |
What switching swaps
Everything. Score ring, delta, count-up, Coach context, Marketplace eligibility and applications, public profile URL, member card, connect checklist scope, notification tagging. There is no partial switch.
See both states live
Multi-profile demo: app/vadera-pulse-app.html?s=score
Single-profile demo: app/vadera-pulse-app.html?s=score&profiles=1
The profiles=1 parameter trims the demo account to one profile so the single state is inspectable and Figma-importable. It is demo tooling only; production derives the state from the user's real profile count.
Implementation notes (prototype)
PROFILES = [...] // the account list; production: from API
pillCheck() // runs on load; single = PROFILES.length < 2
· hides .acctpill when single
· hides the second sheet row, flips eyebrow and settings copy
switchProfile(i) // swaps score, delta, ring, checkmarks, then re-runs countUp()
Any new surface that shows identity (score, card, public page, notifications) must read the active Profile, and must render nothing switcher-related when the user has one profile. If you add a screen, test it at both demo URLs before merging.
Build
Figma workflow
Project: Vadera Pulse · App v2 → file Pulse App · Screens (from prototype). Pages: 00 Cover · 01 Onboarding · 02 App screens (Figma free tier caps at 3 pages · subscreens and states live as sections on page 02).
Importing screens
- Plugin: html.to.design (free = 10 imports / 30 days; Pro adds batch).
- Select the target page first · imports land on the active page.
- Viewport 390. Paste the screen's
?s=URL. Import. - Rename the imported section to the screen id. Frame names = screen ids = doc ids here. One vocabulary.
Division of labor
UX adjustments happen in Figma (Saiedoz). Behavior and copy truth lives in the prototype. When they disagree, flag it · don't silently fork.
Motion isn't in Figma
Count-up, confetti, coach-orb ripple, computing sequence, and tab-bar hide exist only in the live prototype. Annotate Figma frames with the live URL for motion reference.
Build
Downloads
Prototype + offline docs + README + screen-id map. Give this single zip to any new developer.
Self-contained HTML. Admin bar + framed iPhone when opened directly; bare screens via ?s=.
Hosted copy of the same file.
Repos & assets
- Flutter app:
Vadera-Projects/vadera-unit-app - Brand fonts: Inter, Fraunces, Outfit via Google Fonts; licensed wordmark font · request from Angel.
- Logo files: request the white and gradient lockups from Angel; do not extract from screenshots.
Screens / Onboarding
Welcome
Product entry. vadera pulse wordmark, single CTA to register, sign-in link, consent promise, Vadera Capital corporate footer.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=welcome
Screens / Onboarding
Sign in
Email + password only for beta. Remember me, forgot-password, create-account link. No social sign-in.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=signin
Screens / Onboarding Fields: First + Last (KYC-ready, never split a full name later), live phone mask (407) 555-1234, quiet email validation on blur, DOB auto-mask with instant 13+ check.
Register
Full name, email, phone, password (8+ chars, number, symbol), optional invite code (Rewards attribution), mandatory ToS checkbox · CTA blocked until checked.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=register
Screens / Onboarding
Verify email
6-digit code to the registration email. Resend + check-spam. No phone verification.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=verify
Screens / Onboarding
Profile setup
Photo upload (3x brand-views nudge), handle claim, niche picker: 16 chips, max 3. Niches drive Feed, benchmark, brand matching.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=psetup
Screens / Onboarding
Welcome tour
4 swipeable cards, skippable: what Pulse is, the five signals, the money, consent. Order: identity, mechanism, payoff, safety.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=tour
Screens / Onboarding
Connect checklist
TikTok / Instagram / Facebook rows. Encourages 2+ (progress 0/2, CTA dims until met); skip always available.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=setup
Screens / Onboarding
Computing score
~5s staged sequence, four steps check off, auto-advance. Deliberate labor-illusion pacing.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=compute
Screens / Onboarding
Notification primer
Pre-permission screen at peak excitement, before the iOS dialog. One push a day when the score recomputes.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=notify
Screens / Main tabs
Score (home)
Hero ring with count-up; confetti on up-days only. Today's Move card, streaks/goals row, collapsible five signals, coverage card, member-card entry.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=score
Screens / Main tabs
Feed
Proof-of-growth feed: Coach niche patterns (anonymized), Circle milestones (mutual consent), niche brand briefs, shareable milestones.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=feed
Screens / Main tabs
Marketplace
One full-width deal per viewport, snap-swipe. Tap a deal for the full brief (deliverables, requirements, payment) and one-tap apply; Your Applications tracks status. Fictional sample brands only.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=market
Screens / Main tabs
Messages
Verified-sender-only inbox: brands, Circles, Coach recaps. Communication-safety line: keep the conversation on Pulse.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=msgs
Screens / Main tabs
Profile
Identity card + settings list + corporate footer with version string.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=profile
Screens / Subscreens
Coach
Chat with live-score context + behaviors-only simulator (estimates taper stacked). Free meter links to paywall. Entered via signal orb · ripples only when a new insight waits.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=coach
Screens / Subscreens
Coach paywall
Fires on 6th free message. Reset date, Pro features, $7.99 CTA, quiet decline.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=paywall
Screens / Subscreens
Connect accounts
Live/lapsed platform rows. Lapsed = data left the score this morning, returns on reconnect.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=connect
Screens / Subscreens
Public profile & links
Instagram-pattern page + Linktree links + Join Pulse and Message buttons. Every visit is an acquisition surface.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=pubprofile
Screens / Subscreens
Member card
Wallet card: photo inside score ring, QR verify, Add to Apple Wallet (production = signed .pkpass, company dev account).
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=pulsecard
Screens / Subscreens
Trends
History and Forecast tabs. Forecast (Pro) shows the 4-week projection band; entry links live on the Score signals card and Profile.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=history
Screens / Subscreens
Choose your plan
Monthly/Yearly (save 20%) with live price swap. Pro $7.99, Founding $17.99 middle best-value + $100 annual bonus, Standard free.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=subscription
Screens / Subscreens
Rewards
Qualified = signup AND 2+ connections. Rolling 30 days. Tiers: 5=14d Pro, 15=1mo, 25=3mo+Founding badge. Cap 4.5 months.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=invite
Screens / Subscreens
Privacy & data
Visibility toggle, download data, revoke connection (immediate), in-app account deletion (App Store requirement).
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=privacy
Screens / Subscreens
Support & tickets
No email. Category chips + description opens a ticket; admins reply in-thread. OPEN/RESOLVED chips.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=support
Screens / Subscreens
Ticket thread
Chat thread with named admin, status chip, mark-as-resolved.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=ticket
Screens / Subscreens
Requests
Strangers and Circle invites land here first. Accept, decline (silent), or block.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=requests
Screens / Subscreens
Blocked accounts
Privacy list. Blocked accounts are never notified. Unblock anytime.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=blocked
Screens / Subscreens
Your Circles
Faces-first mutual list: avatar, name, score chip, since-date. Leave lives behind the ••• menu (destructive actions are never primary buttons), confirmed in place, silent both ways. Grow your Circle CTA feeds discovery; trust card states exactly what Circles share - milestones and streaks, never DMs, money, or drafts.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=circles
Screens / Subscreens
Security
Optional authenticator 2FA (required before money features) + logged-in devices.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=security
Screens / Subscreens
Deal detail
Full campaign brief: deliverables, requirements, timeline, payment on approval. Apply with your verified score.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=deal
Screens / Subscreens
Score delayed
Graceful bad morning: yesterday's score stands, nothing lost.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=delay
Screens / Subscreens
Search
Find creators by name or handle; results show niche, Pulse, verified. Opens public profiles.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=search
Screens / Subscreens
Report
Reason chips, confidential, reporter never revealed; submitting also blocks.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=report
Screens / Subscreens
Brand DM thread
Verified brand conversation with Report and Block in the header.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=thread
Screens / Subscreens
Creator profile (viewer)
Another creator's full public profile: photo inside the score ring with floating score chip, RISING chip, standing band, stats row, platform pills (open the real platform), expandable links, Request Circle and Message. WIRING RULE: score, Rising chip, and Top-percent band all derive from one object fed by the daily compute - never set independently. Rising renders only when the 30-day delta is positive. No instructional copy on the page.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=creator
Screens / Subscreens
Why my score (dispute)
Per-signal contribution breakdown of today's score, the consent line, and a dispute path that opens a Support ticket. FCRA-style transparency: every user can always see why their number is their number.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=why
Screens / Subscreens
Marketplace under-18
Locked Marketplace state for ages 13-17: no deals, no applications, no brand contact. Score, streaks, and standing carry over at 18. Minors never see a contract.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=market17
Screens / States
Score · down day
Neutral gray delta, no celebration; Today's Move reframes as fastest point back.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=scoredown
Screens / States
Messages · empty
Explains verified inbound; share-profile CTA.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=msgs0
Screens / States
Feed · empty
Coach card always renders; invite-a-creator CTA.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=feed0
Screens / States
Marketplace · locked
Current score, progress to first unlock at 68, path CTA to Coach.
Deep link renders the bare screen (no admin bar, no bezel) at any viewport · the same URL the Figma plugin imports.
https://vadera.onenos.ai/app/vadera-pulse-app.html?s=market0