Docs
Quickstart
Go from zero to a live activity feed in under ten minutes. You'll create a project, send your first event from your backend, and render it with the drop-in feed component.
1. Create a project & get API keys
Sign in to the Softechlog dashboard, create a project, and grab two keys from the API Keys page:
- A secret key (
stl_sk_…) for server-side SDKs — it can write and read events, so keep it in your environment variables. - A public key (
stl_pk_…) for browser scripts and the feed component — it can only submit events, never read data.
2. Install an SDK
Pick your backend. Both SDKs never throw — a logging failure will never crash your app.
npm install @softechlog/node # or pip install softechlog
// lib/softechlog.ts — initialize once, import everywhere
import { Softechlog } from '@softechlog/node';
export const log = new Softechlog({
secretKey: process.env.SOFTECHLOG_SECRET_KEY!,
});3. Track your first event
Events follow one shape: an actor did an action to a target, with optional metadata. Use resource.verb naming like member.invited or file.deleted.
import { log } from '@/lib/softechlog';
// Fire-and-forget (non-blocking — recommended)
log.track({
actor: { id: req.user.id, name: req.user.name, email: req.user.email },
action: 'member.invited',
target: { type: 'workspace', id: workspace.id, name: workspace.name },
metadata: { role: 'admin' },
});from softechlog import Softechlog
import os
log = Softechlog(secret_key=os.environ["SOFTECHLOG_SECRET_KEY"])
log.track(
actor={"id": str(user.id), "name": user.name, "email": user.email},
action="member.invited",
target_type="workspace",
target_id=str(workspace.id),
metadata={"role": "admin"},
)4. Add browser auto-capture (optional)
Drop one script tag to automatically capture button clicks, link navigations, form submissions, and page views — no further code changes needed. See the Auto-Capture guide for details.
<script src="https://cdn.softechlog.com/capture@1.0/stl_capture.js"></script>
<script>
Softechlog.init("stl_pk_xxxxxxxxxxxx");
// Once the user is known:
Softechlog.identify({ id: user.id, name: user.name, email: user.email });
</script>5. Render an activity feed
The <softechlog-feed> Web Component works in any framework — React, Angular, Vue, or plain HTML. It handles fetching, pagination, and empty states, and is themeable with CSS custom properties. See the Feed Component guide.
<script src="https://cdn.softechlog.com/feed@1.0/feed.js"></script> <!-- Show all events for the current user --> <softechlog-feed public-key="stl_pk_xxxxxxxxxxxx" actor-id="user_123" ></softechlog-feed>