> ## Documentation Index
> Fetch the complete documentation index at: https://talunavo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started

> Talunavo is opening to households one at a time. Tell us which question keeps you up, and whether you would rather self-host.

export const SiteFooter = () => <footer className="tl-footer">
    <div className="tl-wrap">
      <div className="tl-footer__grid">
        <div className="tl-footer__brand">
          {Wordmark({})}
          <p className="tl-caption">Retirement planning that shows its work. Tax-aware plans you can compare, trace, adopt, and check against reality.</p>
        </div>
        <div>
          <h5>Product</h5>
          <ul>
            <li><a href="/product">How it works</a></li>
            <li><a href="/product#strategies">Strategies</a></li>
            <li><a href="/product#live">Checkpoints</a></li>
            <li><a href="/principles">Principles</a></li>
          </ul>
        </div>
        <div>
          <h5>Company</h5>
          <ul>
            <li><a href="/who-its-for">Who it's for</a></li>
            <li><a href="/faq">FAQ</a></li>
            <li><a href="/get-started">Get started</a></li>
            <li><a href="https://app.talunavo.com">Open the app</a></li>
            <li><a href="mailto:support@talunavo.com">support@talunavo.com</a></li>
          </ul>
        </div>
        <div>
          <h5>Honesty</h5>
          <ul>
            <li><a href="/principles#not-advice">Not financial advice</a></li>
            <li><a href="/principles#planning-grade">Planning-grade tax</a></li>
            <li><a href="/principles#privacy">Your data stays yours</a></li>
          </ul>
        </div>
      </div>
      <div className="tl-footer__legal">
        <span>© 2026 Talunavo. Models arithmetic under stated assumptions. It is not financial, tax, or legal advice.</span>
        <span>Every figure cites its source.</span>
      </div>
    </div>
  </footer>;

export const CtaBand = ({title, lede, primary = "Try Talunavo", primaryHref = "https://app.talunavo.com", secondary = "See the product", secondaryHref = "/product", figure = null}) => <div className="tl-cta" data-reveal="">
    <div>
      <h2 className="tl-h2">{title}</h2>
      {lede ? <p className="tl-lede">{lede}</p> : null}
      <div className="tl-actions">
        {CtaLink({
  href: primaryHref,
  children: primary
})}
        {secondary ? CtaLink({
  href: secondaryHref,
  children: secondary,
  variant: "ghost",
  arrow: false
}) : null}
      </div>
    </div>
    {figure ? <div className="tl-cta__figure">{figure}</div> : null}
  </div>;

export const SectionHead = ({eyebrow, title, lede, center = false}) => <div className={["tl-section-head", center ? "tl-section-head--center" : null].filter(Boolean).join(" ")} data-reveal="">
    {eyebrow ? <p className="tl-eyebrow">{eyebrow}</p> : null}
    <h2 className="tl-h2">{title}</h2>
    {lede ? <p className="tl-lede">{lede}</p> : null}
  </div>;

export const Section = ({children, tight = false, id}) => <section id={id} className={["tl-section", tight ? "tl-section--tight" : null].filter(Boolean).join(" ")}>
    <div className="tl-wrap">{children}</div>
  </section>;

export const Glyph = ({name}) => {
  const paths = {
    compare: <path d="M4 5h6v14H4zM14 9h6v10h-6z" />,
    trace: <path d="M4 18L9 10l4 5 7-11M4 21h16" />,
    track: <path d="M3 17l5-5 4 4 9-9M15 7h6v6" />,
    tax: <path d="M4 4h16v16H4zM8 9h8M8 13h8M8 17h5" />,
    goals: <path d="M12 3v3M12 18v3M3 12h3M18 12h3M12 8a4 4 0 100 8 4 4 0 000-8z" />,
    shield: <path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z" />,
    grid: <path d="M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z" />,
    scale: <path d="M12 3v18M5 7h14M5 7l-3 7a3 3 0 006 0zM19 7l-3 7a3 3 0 006 0z" />,
    home: <path d="M3 12l9-8 9 8M5 10v10h14V10" />,
    sparkle: <path d="M12 3l2 6 6 2-6 2-2 6-2-6-6-2 6-2z" />,
    clock: <path d="M12 3a9 9 0 100 18 9 9 0 000-18zM12 8v4l3 2" />,
    lock: <path d="M6 10h12v10H6zM8 10V7a4 4 0 018 0v3" />
  };
  return <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
      {paths[name] || paths.sparkle}
    </svg>;
};

export const Wordmark = ({className = ""}) => <svg className={className} viewBox="0 0 172 40" role="img" aria-label="Talunavo">
    <path d="M7 32 H15 V24 H23 V16 H31 V8" fill="none" stroke="currentColor" strokeWidth="3" strokeLinejoin="round" strokeLinecap="round" />
    <circle cx="31" cy="8" r="3" fill="var(--tl-accent-ink)" />
    <text x="46" y="27" fontFamily="Inter, system-ui, sans-serif" fontSize="22" fontWeight="600" letterSpacing="-0.5" fill="currentColor">Talunavo</text>
  </svg>;

export const CtaLink = ({href, children, variant = "primary", arrow = true}) => <a className={["tl-btn", "tl-btn--" + variant].join(" ")} href={href}>
    <span>{children}</span>
    {arrow ? <svg viewBox="0 0 16 16" fill="none" aria-hidden="true">
        <path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
      </svg> : null}
  </a>;

<div className="tl-page">
  <div className="tl-wrap">
    <div className="tl-pagehead">
      <p className="tl-eyebrow tl-eyebrow--accent tl-fade-up">Get started</p>
      <h1 className="tl-display tl-fade-up d1">Opening household <em>by household.</em></h1>
      <p className="tl-lede tl-fade-up d2">Talunavo is in an early, verification-first build. Every milestone ends with something a reviewer can exercise by hand, and what is not yet right is written down rather than hidden. If that sounds like how you want your planning software built, we would like to hear from you.</p>

      <div className="tl-actions tl-fade-up d3">
        <CtaLink href="https://app.talunavo.com">Open the app</CtaLink>
        <CtaLink href="mailto:support@talunavo.com?subject=Early%20access" variant="ghost" arrow={false}>Email [support@talunavo.com](mailto:support@talunavo.com)</CtaLink>
      </div>
    </div>
  </div>

  <Section tight>
    <div className="tl-grid tl-grid--3">
      <div className="tl-card" data-reveal="">
        <div className="tl-card__glyph">
          <Glyph name="lock" />
        </div>

        <h3 className="tl-h4">Your data stays yours</h3>
        <p className="tl-body">No brokerage credentials, no aggregator. You type holdings in, and every projection is reproducible from its own stored inputs.</p>
      </div>

      <div className="tl-card" data-reveal="2">
        <div className="tl-card__glyph">
          <Glyph name="home" />
        </div>

        <h3 className="tl-h4">Self-hosting is a feature</h3>
        <p className="tl-body">The app runs as a single container against a Postgres database, installable as a progressive web app. A privacy-conscious household can keep its model on its own machine.</p>
      </div>

      <div className="tl-card" data-reveal="3">
        <div className="tl-card__glyph">
          <Glyph name="shield" />
        </div>

        <h3 className="tl-h4">Honest about what is not done</h3>
        <p className="tl-body">The verification record is shared with reviewers: which acceptance claims pass, on what evidence, and what is still open. The checkpoint engine and the uncertainty modes are built and tested but still behind their gates. Nothing is waived quietly.</p>
      </div>
    </div>
  </Section>

  <Section tight>
    <SectionHead eyebrow="What to tell us" title="Three things help." />

    <ol className="tl-steps">
      <li data-reveal="">
        <h3 className="tl-h4">The question you want answered first</h3>
        <p className="tl-body">Retiring early, the conversion window, the RMD wall, a plan you were handed, or a plan you adopted years ago. It tells us which path to walk with you first.</p>
      </li>

      <li data-reveal="2">
        <h3 className="tl-h4">Where you would run it</h3>
        <p className="tl-body">Talunavo is built to be self-hosted. Tell us whether you can run a container on a machine you control, or would want help getting there.</p>
      </li>

      <li data-reveal="3">
        <h3 className="tl-h4">Whether you have a spreadsheet</h3>
        <p className="tl-body">If you already model your own balance by year, bring it. Reconciling against it is the fastest way to trust the engine, or to find where it is wrong.</p>
      </li>
    </ol>
  </Section>

  <SiteFooter />
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.