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.
// 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.
Log every waitlist signup with actor, email, source, referrer and timestamp. Hand the list to sales when you open the doors, or replay it when a beta invite bounces.
Query every event by actor id to rebuild a minute-by-minute timeline of what a user did. Perfect for support investigations, bug reports, and replaying the context of a complaint.
Mint a short-lived embed token server-side, drop the `<RecalledFeed />` React component into your support tool, and give your agents the last 25 actions of the customer without switching tabs.
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.