For indie hackers

Start tracking your users the same week you ship your MVP

Free plan with 3,000 events per month, one project, 7 days retention. Enough to validate the integration on your indie SaaS with zero credit card. Step up to Starter (90 days) once you actually need history.

Track your waitlist in one line
// Drop this inside your signup handler
await recalled.events.create({
  action: "waitlist.joined",
  actor: { id: user.id, email: user.email },
  metadata: { source: "landing", utm: req.query },
});

You are one person. Or two. You ship in your evenings. You do not need a $300/month observability stack. You need to know who joined your waitlist, who logged in yesterday, and who paid for the pro plan. Recalled gives you exactly that, for free, with 3,000 events per month on the house.

Why indie hackers ship with Recalled

  • Free forever, no credit card

    3,000 events per month, 1 project, 7 days retention. No trial timer, no upgrade pressure.

  • Tiny SDK, fast to wire

    One npm install, one env var, one line in your signup handler. The kind of thing you add on a Friday evening.

  • Dashboard you can hand to support

    When you eventually hire your first support person, they get a ready-made timeline of every user's actions, no context to transfer.

  • Grows with you

    When you hit product-market fit, bump to Pro for more events and retention. Same API, same SDK, nothing to rewrite.

The 'I wish I had logged that' moment

Every indie SaaS founder has had this moment: a user reports a bug, or claims they never signed up, or asks why their plan was downgraded. You grep Postgres, you grep Stripe, you find nothing. Recalled is the prevention, emit an event, query an event, never lose the context again.

The indie hacker starter pack

Three events to wire on launch day.

Priority actions to wire

Your next audit log is 2 minutes away

Stop hacking on your own logs table. Drop in Recalled, send your first event, move on.