RONIN

Ops HQ

Internal — sign in to continue
Brand

The rules, and the actual files.

Colors, type, motion, logo lockups, and copy conventions.

The Name

Why RONIN.

The reference
In feudal Japan, a ronin was a samurai without a master — skilled, disciplined, and answering to no one.
Conceptual, Not Literal
The "ronin" reference is conceptual — not literal. No katana emoji, no kanji, no samurai illustration.
The Thesis
Not Motivation. Mechanics. — training without a master means training on discipline, not motivation.
The Tagline
Train like a warrior. Live forever.
Drafted from the brand facts already established elsewhere in this guide (Typography sample + Copy & Voice Conventions). If there's more to the actual origin story — why this name, specifically — send it over and I'll fold it in here.

Logo & Icon Lockups

The current, canonical set — what's actually live on ronin.cool today.

⇩ Download All (ZIP)
ronin_logo_white.png500 × 236 · dark backgrounds⇩ Download
ronin_logo_black.png500 × 236 · light backgrounds⇩ Download
ronin_monogram_white.png750 × 774 · dark backgrounds⇩ Download
ronin_monogram_black.png250 × 247 · light backgrounds⇩ Download
ronin_favicon.png512 × 512 · browser favicon⇩ Download
ronin_slack_workspace_icon.png512 × 512 · Slack workspace icon (same artwork as favicon)⇩ Download
ronin_facebook_profile_photo.png512 × 512 · scaled for circular crops (FB/IG profile photo)⇩ Download
ronin_facebook_cover_photo.png1640 × 624 · Facebook Page cover photo⇩ Download
Asset History — earlier generations (superseded)

Genuinely earlier versions, kept for reference. Don't use these in new work.

2026-08-13

RONIN_Wordmark_White_FINAL.png⇩ Download
RONIN_Wordmark_Black_FINAL.png⇩ Download
RONIN_Monogram_White_FINAL.png⇩ Download
RONIN_Monogram_Black_FINAL.png⇩ Download
RONIN_App_Icon_1024.png⇩ Download

2026-08-06 — original drafts

RONIN_Logo_6Aug26.png⇩ Download
RONIN_App_Icon_White_6Aug26.png⇩ Download
RONIN_App_Icon_6Aug26.png⇩ Download

Colors

Void anchors everything. Mint is the everyday accent. Crimson is reserved for high-emphasis moments. Click a swatch to copy its hex.

Void#0A0A0A
Ink#1A1A1A
Graphite#2A2A2A
Smoke#6B6B6B
Steel#E8E8E8
Mint#00FFB2
Crimson#C41E3A

Mint and Crimson are a dual-accent system — separate territories, never combined in the same component. Mint drives everyday interaction; Crimson is reserved for moments that matter.

Mint Territory
Active tab / selected states, toggle / switch on-states, the logo slash (always), progress bars & data highlights, links & secondary actions.
Crimson Territory
PRs & milestone completions, high-emphasis CTAs, the strength tag color, share-card accents. Never used for routine UI.

Semantic colors — functional, for system states only. These sit outside the Mint/Crimson brand territory.

Sky#3E7BFA
Lemon#FFEB3B
Ash#3A3A4A
Sky — success states, completion, on-track. Lemon — warnings, used sparingly. Ash — deload/rest, cool restful states.

Typography

Two working typefaces. A third exists only inside the fixed logo artwork.

Space Mono — Headlines, labels, CTAs, buttons
Not Motivation. Mechanics.
Barlow — Body copy, paragraphs, form inputs
In feudal Japan, a ronin was a samurai without a master.
Chakra Petch — Wordmark & monogram lockup only RONIN wordmark
Baked into the fixed logo/monogram PNGs as artwork — never loaded or set as a live web font. RONIN-branded text on a page is Space Mono, not Chakra Petch.

Motion & Interaction

TokenValueUsed for
Easingcubic-bezier(0.16, 1, 0.3, 1)Every transition, no exceptions
Fast duration200msHover/press feedback
Slow duration600msScroll-triggered section reveals
Every motion effect needs a prefers-reduced-motion override.

Dark & Light Mode

RONIN defaults to dark, but the mobile app and web app both let the user switch to light mode freely — it's a full, first-class theme, not a fallback. These rules keep both consistent.

Dark Is Default
Mobile app and web app both open in dark mode out of the box. It's the recommended, primary experience — but not the only one.
Light Is a Full Toggle
Available in Settings on both mobile and web. Light mode gets full parity — every screen has to work in both themes, not just a partial fallback.
Never Mix Modes in One Surface
A screen, card, or post commits fully to one theme. No hybrid panels, no dark card floating on a light page.
The Logo Always Swaps
White wordmark/monogram on dark backgrounds. Black wordmark/monogram on light backgrounds. The mint slash never changes color, in either mode.
Neutrals Fully Swap
Use the dedicated light-mode neutral palette below — don't simply lighten or invert the dark-mode grays.
Mint Behaves Differently by Mode
On dark, mint text and UI read at full contrast. On light backgrounds mint can wash out — use it only as fills, icons, chips, or thick strokes in light mode, never as small body text.
Crimson Holds Up in Both
Crimson has enough contrast on both Void and Paper. It's the one accent that doesn't need a mode-specific treatment.

Light Mode palette — a dedicated neutral set, not an inversion of the dark palette. Mint and Crimson carry over unchanged.

Paper#FFFFFF
Cloud#F7F7F7
Mist#E2E2E2
Slate#777777
Onyx#0A0A0A

Mode reference — the same card, side by side. Mint marks routine status, Crimson marks the moment that matters — never both on the same chip.

Push Day — Week 3
6 exercises · 74% compliance
On TrackNew PR
Dark — Default Theme
Push Day — Week 3
6 exercises · 74% compliance
On TrackNew PR
Light — User Toggle
App icon is a fixed asset — it doesn't retheme with the setting. One background always: Void #0A0A0A, solid fill, white monogram only (never black, since the background never goes light). 1024×1024 master, monogram kept within the centered ~60% safe area so OS masking doesn't crop it.

Copy & Voice Conventions

Tagline Punctuation
Train like a warrior, live forever.
Train like a warrior. Live forever. — period, not comma.
Alpha Program
Title-case as a formal, named program: Alpha Program, Alpha athletes.
No Kanji / Literal Samurai Imagery
The "ronin" reference is conceptual — not literal. No katana emoji, no kanji, no samurai illustration.
Health/Medical Framing
Never "dosing" language in marketing copy. Any page touching Protocols/Calculator content needs a visible "not medical advice" disclaimer near that content.
Voice
Direct, disciplined, no fluff. "Not motivation. Mechanics." is the whole editorial thesis.

Do

  • Use Space Mono for headlines, labels, buttons
  • Keep Crimson reserved for high-emphasis moments
  • Add a reduced-motion override for any new animation
  • Update this app when a rule changes — it's the source of truth

Don't

  • Set live text in Chakra Petch
  • Use Mint for large fill areas
  • Reference specific dosing numbers in public marketing copy
  • Let a spreadsheet or PDF become the "real" version of something this app tracks
Marketing

Channels, content, and campaigns.

Where things run, what's planned, what's live.

Where We Stand

Current State
~50 alpha users, varying activity levels, positive feedback. Instagram: 2 posts live, 21 followers. Landing page live with alpha signup form (free lifetime access in exchange for early feedback). Mailchimp audience segmented and tagged, synced with Supabase backend.
90-Day Priority
Grow alpha users through referrals — not raw follower count or list size for their own sake. Every recommendation below is built around that goal.
Team Capacity
Two people, under 2 hours/week of content creation time. Everything here is designed to run mostly on automation once built, with a single monthly batching session for Instagram.
⚠ Open Decisions — resolve before full send/publish
  • The peer-referral incentive for regular alpha users (what the referrer gets, distinct from the free-lifetime-access the referee gets) — needed before Email 3 of the onboarding flow goes live.
  • Whether Supabase is currently pushing session-activity data into Mailchimp — needed to segment active vs. low-activity users correctly.
Part 1 — Email Automation FlowMailchimp · synced with Supabase▶

Goal: turn alpha users into active users, and active users into referrers.

Segments to confirm exist in Mailchimp (tag-based)

SegmentTrigger conditionPurpose
new-alpha-userAccount created / alpha access grantedOnboarding flow
active-user3+ sessions in trailing 7 days (sync from Supabase)Nurture + referral ask
low-activity-user0 sessions in trailing 7-10 days after signupRe-engagement
referred-someoneHas generated ≥1 successful referralThank-you / reward confirmation, exclude from referral asks

If Supabase isn't currently pushing session-frequency data into Mailchimp as a custom field/tag, that's the one integration gap worth closing first — every flow below depends on being able to segment by activity, not just signup date.

FLOW 1 — New Alpha User Onboarding
Trigger: tag new-alpha-user applied · Cadence: Day 0, Day 3, Day 7 — fully automated, no manual sending

FLOW 2 — Active User Nurture
Trigger: tag active-user (3+ sessions/week) · Cadence: monthly, automated send on a fixed date (e.g. 1st of month) to everyone currently holding the tag

FLOW 3 — Re-engagement
Trigger: tag low-activity-user (no session in 7-10 days post-signup) · Cadence: single, one-time send (don't loop this — repeated re-engagement emails to the same non-responder just trains people to ignore you)

What NOT to Automate Yet

  • No win-back flow for people who never activated at all (signed up, zero sessions ever) — with only ~50 users, a personal check-in from Andy beats an automated email for this tiny group.
  • No weekly newsletter. At this stage, a weekly cadence with <2 hrs/week of content time will either get skipped or feel thin. Monthly is honest and sustainable.

Setup Checklist

  • Confirm Supabase → Mailchimp sync includes session-frequency data (needed for active-user / low-activity-user tags)
  • Decide the actual referrer-side incentive (flagged above in Flow 1, Email 3)
  • Build the three flows in Mailchimp's Customer Journeys / Automations
  • Set the monthly active-user send as a recurring campaign, not a journey (since it targets whoever currently holds the tag, not people entering a journey at a fixed point)
  • Test all three flows with a dummy account before turning on for real users
Part 2 — Instagram Content Calendar (Month 1)1 feed post/wk · 2-3 Stories/wk · 1 Reel/mo▶

Cadence: 1 feed post/week · 2-3 Stories/week · 1 Reel/month · batch-create monthly (~2 hrs). Current state: 2 posts live, 21 followers — this plan starts building sequence from here.

How the algorithm actually treats each format (so effort goes where it pays off)

  • Reels get the widest reach — Instagram actively pushes these to non-followers. This is your only real discovery lever at 21 followers. Worth the disproportionate effort once/month.
  • Feed posts get shown mostly to existing followers first, then expand based on early saves/shares/comments in the first hour. A strong hook in the first line of the caption and the first frame of the image matters more than caption length.
  • Stories don't drive discovery but they drive relationship — they're what makes someone who already found you decide you're a real, active thing worth trusting. This is where "behind the scenes, two-person team building this" content belongs — it's low-effort and it's exactly what Stories are good at.
  • Consistency beats volume at small-follower accounts. Missing a week hurts more than posting slightly less.
Week 1 — Reintroduce the problem/solution
Feed post (Mon/Tue, ~11am-1pm local): Visual — one existing iPhone rendering showing the app's core screen. Hook (first caption line): "No app does both. So we built one." Body: 2-3 sentences on the gap — training apps track workouts, peptide apps track dosing, nothing does both. Direct/self-sovereign voice — no hedging, no "we think maybe." CTA: link in bio for alpha access (free lifetime access framing). Hashtags (3-5, not 20+): mix broad + niche, e.g. #selfcoached #periodization #biohacking #trainingapp.
Story 1 (midweek): Poll — "What do you track more carefully: training or recovery/protocols?" (engagement bait that doubles as informal market research)
Story 2 (end of week): Simple stat/progress post — "50 people already in the alpha" with a screenshot-style graphic. Builds social proof cheaply.
Week 2 — Train pillar
Feed post: Visual — mesocycle builder or workout logger rendering. Hook: "Programming like a coach, without hiring one." Caption speaks to the self-directed athlete — per-set RIR/RPE targets, structured progression, no outsourcing your training to a generic app. CTA: same link-in-bio ask.
Story 1: Quick tip format — one useful, standalone piece of training knowledge (e.g. what RIR actually means) with logo/branding overlay. Doesn't need to mention the app every time — pure value builds trust.
Story 2: Repost/screenshot of any positive user feedback so far, if you have any usable quote from the 50 alpha users (even a DM screenshot, credited or anonymized).
Week 3 — Protocols pillar
Feed post: Visual — peptide calculator rendering. Hook: "The calculator is free. Forever." Explain what makes the calculator different — this is the free acquisition engine, lead with that. Keep language careful and non-clinical per existing legal/brand guidance — "educational info," not prescriptive dosing claims.
Story 1: FAQ-style — answer one common question about protocol tracking (text-overlay only, no camera needed)
Story 2: Poll or question sticker — "Are you currently tracking protocols in a spreadsheet, an app, or nothing?" (useful both for engagement and for validating messaging)
Week 4 — Social proof + the month's Reel
Reel (highest-effort item — plan for it first when batching): 15-30 sec screen recording of the app in use, with text-overlay captions (voiceover optional — works fine without appearing on camera). Structure: hook in first 2 seconds ("This app does something no other training app does") → quick show of Train + Protocols → end card with CTA. No camera required — sidesteps the on-camera question entirely while you decide.
Feed post: Testimonial/quote card in brand colors (mint/crimson per style guide), or a "why I built this" founder note if comfortable sharing — Week 4 is where founder authenticity outperforms another feature post.
Story: Recap of the month + explicit referral/waitlist push — "If you know someone who'd use this, the link's in bio. Free lifetime access if you're in early."

Batching Workflow (fits your <2 hrs/week budget)

  • Once a month (~90-120 min): write all 4 captions, create/select all visuals in Canva using branded templates, record the one Reel, write all 8-10 Stories as text/graphics.
  • Load everything into Buffer or Later with the schedule above pre-set.
  • Ongoing weekly time (~10-15 min): reply to comments/DMs, react to what's actually landing, adjust next month's batch based on what performed.

What to Track (keep it simple)

  • Which single post/Reel got the most saves or shares (not likes — saves/shares signal algorithm-favored content)
  • Story completion rate on the Story that mentions the app vs. the one that doesn't (tells you if value-first or ask-first Stories work better for this audience)
  • Bio link clicks per week (your actual funnel metric, more relevant than follower count for the 90-day goal)

Open Decision to Revisit
The on-camera question is still unresolved. Nothing in this month's plan requires it — but if reach plateaus after Month 1-2, founder-on-camera content (even low-production, phone-selfie style) is usually the single biggest reach unlock for small accounts in this niche. Worth revisiting once there's a month of data.

Marketing Calendar
Instagram Email General
Instagram @ronin.cool ↗
Loading…
Campaigns —
Loading…
Audience —
Loading…
Community

App analytics.

Live engagement from the RONIN app — activation, retention, adherence, and social. Aggregates only; computed in the app's own database.

Finance

P&L, forecast, and the expense ledger.

Standard multi-step income statement. Every month starts as a forecast — lock it once the real numbers are in and it becomes an actual.

Loading…
Expenses
Loading…
Product

Product.

The development roadmap and the master plan — what's being built next, and the strategy behind why.

Status-tracked feature list — Needs Discovery → Open → In Progress → Done. In By Category and List, click an item to expand it in place — full description, notes, and screenshots. The 📎 count shows how many references an item has before you even open it.

Loading…

Direct quotes from users — App Store reviews, support messages, Slack, conversations. Log it the moment it comes in; link it to a roadmap item once you've decided what it supports.

Sentiment
Category
Status
Source
Loading…
Not built yet

Product strategy — positioning, target market, long-term vision, and the thinking behind the roadmap.

Live preview of the RONIN app via Expo's web build — same codebase, so a saved code change shows up here automatically. Not a pixel-perfect iOS Simulator (haptics, native gestures, and iOS chrome won't be exact), but close enough for day-to-day testing without leaving the browser.

In a terminal, from the RONIN app repo, run npx expo start --web — then paste the URL it prints (usually http://localhost:8081) below and click Load.
Enter the Expo web dev server URL above and click Load.

If this stays blank while viewing the deployed (https) Ops HQ, open Ops HQ locally instead (npx serve .) — browsers sometimes block http localhost content embedded in an https page.

EOS

Running RONIN on Traction.

Vision/Traction Organizer, org chart, rocks, scorecard, issues, and to-dos — the whole operating system in one place.

Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Corporate

Legal, banking, HR, and corporate development.

The corporate-side operations that don't live in Finance or Product.

Not built yet

Accounts, signers, and banking relationships.

Not built yet

Headcount, policies, and HR records.

Investor Deck
RONIN is not currently raising — this deck is kept current so the option is available on short notice. Last updated August 2026.

Not yet built: partnership tracking and other corporate-development records beyond the deck.

New Item
New Expense
New Line Item
New Roadmap Item
Roadmap Item
Description
History
New Feedback
Edit Core Values
Edit
New Seat
New Rock
New Metric
New Issue
New To-Do