Use case

A user activity feed API you can ship this week

Paginated, filterable, per-user activity timelines — the "recent activity" panel your customers expect — without writing the backend for it.

The problem

Why this keeps landing on your roadmap.

Pagination is never done

Offset pagination dies on your biggest customer. Cursor pagination, time-window filters, and newest-first ordering are table stakes you have to build and keep fast.

Every framework, every state

Loading, empty, error, and retry states — times React, Vue, and whatever your dashboard uses next year.

The leak risk

A feed endpoint that trusts a client-supplied user ID is an IDOR waiting for a bug-bounty report. Scoped reads have to be designed, not bolted on.

How it works

Ship it in three steps.

Ingest from your backend

track() from Node or Python — or auto-capture page views, clicks, and form submits from the browser with one script tag.

Mint a feed token per user

Your server exchanges its secret key for a short-lived, read-only token pinned to one actor. The scope decision happens in your auth layer, not the client.

Drop in the component

<softechlog-feed> is a Web Component — works in React, Angular, Vue, or plain HTML, with pagination and UI states handled. Or build custom UI on GET /v1/events.

api/activity-token.tsSoftechlog
import { log } from '@/lib/softechlog';

// Your server decides the scope; the browser only gets a 1-hour token
export async function GET(req) {
  const { token } = await log.feedToken({ actorId: req.user.id, ttlSeconds: 3600 });
  return Response.json({ token });
}

FAQ

Questions teams ask about this use case.

Does the feed component work with React?

Yes — it’s a standard Web Component, so it works in React, Angular, Vue, Svelte, or plain HTML. Pass the feed token as an attribute and it handles fetching, pagination, and UI states.

Can I build a custom feed UI instead?

Yes. GET /v1/events accepts the same feed token and returns cursor-paginated JSON with actor, action, target, and metadata — render it however you like.

How fresh is the feed?

Events are readable seconds after ingest. The dashboard has a live mode; customer feeds fetch on load and on your refresh interval.

Keep reading

Ready to try it? Beta partners get hands-on onboarding and a schema review.

Request Beta Access