Project-scoped ingest
Use an API key per project. Helio resolves the owning workspace, default environment, and service context before a log reaches storage.
Helio gives teams a structured place to capture application logs, inspect context, and follow failures from signal to root cause without dragging in a heavy observability stack.
ingest
HTTP + SDKwindow
Last 1hshape
JSONSelected event
The product starts simple: receive runtime events, normalize the details, and make the production story searchable. The interface should feel calm because the system underneath is structured.
Use an API key per project. Helio resolves the owning workspace, default environment, and service context before a log reaches storage.
Send logs through the SDK, HTTP endpoint, or cloud collectors as the product grows from app code to infrastructure runtime.
Filter by level, time, service, environment, request ID, trace ID, user ID, tags, and JSON metadata without leaving the log flow.
Connect deployed services and pull operational logs into the same project view users already understand.
Helio should feel approachable for a solo developer testing an Express app and structured enough for teams moving toward Cloud Run, VM agents, and production services.
import express from "express";
import { helioLogger } from "@zynnode/helio/express";
const app = express();
app.use(helioLogger({
apiKey: process.env.HELIO_API_KEY
}));
app.get("/todos", async (req, res) => {
const todos = await loadTodos();
res.json(todos);
});Name the system you want to observe and keep every runtime source attached to that project.
Use one key for a service, environment, or deployment path so Helio can infer useful defaults.
Use the SDK, HTTP endpoint, or connected runtime collector to make events visible in the dashboard.
Incident work usually fails when logs flatten everything into noise. Helio keeps the event, metadata, identity, and trace hints aligned so the next action is obvious.
14:02:18.922 / billing-api
{
"orderId": "ORD-123",
"provider": "stripe",
"retryable": true,
"route": "POST /checkout"
}Create a project, send your first runtime events, and keep the dashboard focused on the context engineers actually need.