Inspiration

Most founder tools assume you already have a company. Notion templates dump jargon. “AI startup generators” invent markets and logos. We wanted the opposite: the co-founder you actually need a quiet phone studio where you say one idea, see what people and sources actually say, and only then look at a company you can operate.

The spark was watching friends spend months building before they knew whether anyone cared. FounderOS is that partner who sits with the idea while you keep living: researches the market, validates and scores it, then co-creates brand, product, roadmap, and company without turning the UI into a dashboard.

Three verbs for the first hour: Say it. See what we found. Look at your company.

What it does

FounderOS turns a rough idea into a scored verdict and a kit you can run:

  1. Capture : Type the idea, drop a photo of a note, or upload a file. Optionally pick research tools (market, competitors, legal, finance, personas, GTM, feasibility, naming, pricing) so the first pass is the one you meant.

  2. Research : A live job that understands the idea, searches the whooole internet, listens to customers, maps competitors, and scores evidence. You get an opportunity score, a separate confidence, market size as money only when sources cite dollars, tappable citations, risks, the next experiment, and a verdict: build / validate first / pivot / defer / don’t build.

  3. Generate : From that decision, a named company: palette, logos, product screens, campaign images, validation posts, and twelve rooms (brand, business, research, PRD, architecture, roadmap, UI, backend, frontend, marketing, finance, legal). Generation is product-kind-aware, a marketplace does not get the same kit as a service or a content product. Modes cover a full prototype or assets-first.

  4. Operate : workspace with an advisor (chatbot) that can search the web, remember facts, give advises and (on Unlimited) make images; docs and PDFs; tasks and a calendar; daily missions, XP, streaks, and a startup-health ring so “what to do today” is as clear as the score.

Free gets a first research pass and a few advisor messages. FounderOS Starter / Growth / Unlimited unlock generation and higher quotas. Consumable packs add reports, prompts, a workspace slot, or extra research tools. Rewarded ads can unlock a blocked research or chat beat without a subscription. Push notification with oneSignal tells you when research or the company is ready, when a streak is at risk, and when a trial is ending.

The phone never holds model API keys. The server runs jobs, calls providers, and stores files. The app streams progress and shows the result.

How we built it

Mobile (Expo / React Native, iOS , Android , web): Expo Router, Space Grotesk + Inter, a restrained teal-on-cream system that spends visual richness on the generating screen. TanStack Query owns server cache; Zustand owns ephemeral UI and flow; Axios owns REST. SSE for jobs and chat stays on fetch but shares a single-flight token refresh with Axios so 401 recovery never races. Auth: email + OTP and Google (PKCE). Subscriptions: RevenueCat (offerings, purchase, restore, Customer Center) with server-side entitlement sync the client cannot self-entitle. Growth: OneSignal (External ID = user id, tags + deep links), AdMob rewarded + native ads, Layers paywall-headline experiment, and a web Stripe funnel for the same products. (Not connected du to country lisiting on sripe)

API (Node modular monolith): Express 5, Prisma + Postgres, Redis for OTP, rate limits, and draft gates. Long-running research and startup generation jobs stream over SSE (snapshot, delta, done) with human step labels — Understand → Search → Score → Verdict, then brand preview (name, palette, logo) before rooms fill in. Mastra agents/tools power investigation, generation, module consistency against the verdict, and the workspace advisor (webSearch, generateImage, saveMemory). Intel uses Tavily + Reddit when keys exist and refuses to fabricate when they don’t. Images go through OpenRouter on the server; the app only displays URLs.

We treat scoring as evidence-weighted judgment, not fake TAM math. Ten dimensions (problem severity, demand, market, willingness to pay, competition, differentiation, GTM, and a few honestly-unknown founder/capital slots) combine as

$$ S = \frac{\sum_i w_i s_i}{\sum_i w_i} $$

with a separate confidence $C$ from source count, independent domains, recency, coverage, and contradictions. A high $S$ on thin evidence still reads as “pretty number, not proof.” Thin evidence also caps dimension scores so silence never looks like a green light. Market size in dollars is shown only when a citation actually names dollars; otherwise it stays unknown.

Challenges we ran into

  • Honesty vs. spectacle : Easy to hallucinate markets and emoji “logos.” We constrained outputs: cited research, no invented dollar TAM, real generated assets from the server, a draft-signal gate against word-salad, and a consistency pass so generated rooms do not contradict the verdict.

  • Minutes-long AI on a phone : Research and generation need job status + SSE, cancel/resume if the app backgrounds, early brand preview on the generating screen, workspace prefetch, and optimistic updates (tasks, settings, missions) so waiting feels like a studio, not a spinner.

  • Auth across REST and streams : Sharing one refresh flight between Axios and SSE stopped duplicate refresh storms on long jobs.

  • Billing that is actually a product : Three tiers, four consumable packs, trials, coupons, RevenueCat webhooks (including Stripe redeem), 402s with quota reasons, and a web funnel while free skip never entitles generation. Rewarded ads had to unlock research/chat without punching a hole in Pro.

  • Scope without chaos — Four tabs, brand-first first viewport, power tools one layer down — while still shipping chat, missions, health, privacy export/delete, OneSignal journeys, Layers, and Pro entitlements. Web runs the same loop; IAP, push, and ads are native-only with honest stubs.

Accomplishments that we're proud of

  • A complete loop from raw idea -> live research -> glass score + cited report -> decision -> generated company workspace on iOS and Android.

  • A co-founder, not a form: one prompt in, researched verdict and a company kit out brand streaming in while rooms generate.

  • A calm visual language that still feels like a product studio, not another purple AI demo.

  • Server-owned generation with live progress so waiting is intentional.

  • A clear state stack : Query / Zustand / Axios after removing dual-written settings and wiring focus/reconnect refetch + workspace prefetch.

  • A real growth and billing path: RevenueCat entitlements, packs, customer center, rewarded unlocks, OneSignal campaigns with deep links, a Layers experiment in the production binary, and a Stripe funnel back into the stores.

What we learned

  • Boundaries beat libraries. Mirroring the same server resource in Zustand and Query only created lag. Selectors and thin client stores mattered more than adding another state tool.

  • Language is UX. Hiding “PRD / TAM / unit economics” on the first path made the app feel adult. Internal ids can stay while labels stay human.

  • Streaming jobs need a product story, not just a spinner. Early artifacts (palette, logo, step copy) beat progress bars alone.

  • Score and confidence are different numbers. Showing both is how you stay honest with a founder who wants a yes.

  • Mobile subscriptions, push, and ads are their own products, not settings toggles. The server has to be the source of truth, or the paywall is theater.

What's next for FounderOS

  • Stronger cold-start cache so reopen feels instant.
  • Real voice transcription and real OCR on scanned notes

Built With

Share this project:

Updates

Submission history