Know what's going on

when it's going on

and inform people about it

and take actions with it.

Open Source ~ Self Hosted ~ Light Weight ~ Opinionated Tool for Observability, Communication and Automation.

Built for speed

Built for Speed & Performance

Powered by modern, lightweight, blazing-fast technologies for minimal overhead and maximum throughput

Bun

Bun

Blazing fast JavaScript runtime

Elysia

Elysia

Fast & lightweight web framework

SvelteKit

SvelteKit

Modern web application framework

Parquet

Parquet

Columnar storage format

DuckDB

DuckDB

In-process analytics DB

Postgres
Redis

& more

Postgres, Redis, and more essentials for scale

Why This Matters

Click to learn why this stack is perfect for observability

Start with Simple Logging

Every great observability journey begins with understanding what's happening in your application. Deltas gives you structured logging that's actually useful.

Four Log Levels, One Simple API

Whether you're debugging locally or monitoring production, use the right level for the right moment. Each log method accepts a message, optional data payload, and user ID for tracking.

deltas.log() General information and breadcrumbs
deltas.info() Important milestones and state changes
deltas.warn() Potential issues that need attention
deltas.error() Critical failures and exceptions
// Structured logging in action
deltas.log("User session started", {
session_id: "sess_xyz",
device: "mobile"
}, "user_123")
deltas.info("Payment processed", {
amount: 99.99,
currency: "USD",
method: "stripe"
}, "user_123")
try {
await processRefund(orderId)
} catch (err) {
deltas.error("Refund failed", {
order_id: orderId,
error: err.message
}, "user_123")
}

Track What Matters with .fyi Events

Logs tell you what happened ~ .fyi events tell you what it means. Track user actions, business metrics and product analytics. All in one unified stream.

// Track user lifecycle
deltas.fyi("user_signup", {
plan: "premium",
source: "landing_page"
}, "usr_abc123")
// Monitor business events
deltas.fyi("checkout_completed", {
amount: 49.99,
items: 3,
discount_applied: true
}, "usr_abc123")
// Feature usage analytics
deltas.fyi("feature_used", {
feature: "export_pdf",
duration_ms: 1250
}, "usr_abc123")

Beyond Traditional Logging

.fyi events are semantic markers for important moments in your application. Unlike raw logs, they're designed for:

User Journey Tracking

See the complete path from signup to conversion

Product Analytics

Understand which features drive engagement

Business Metrics

Track revenue, conversions, and KPIs in real-time

Unify Your Entire Stack

Your application doesn't exist in isolation. Connect webhooks from any service be it GitHub, Stripe, Shopify, auth providers, IoT devices into one unified event stream.

Instant Endpoints

Create webhook endpoints in seconds. Each endpoint gets a unique URL that automatically captures and stores incoming payloads.

Automatic Parsing

Deltas automatically parses JSON payloads, extracts headers, and stores everything in a queryable format. No manual parsing needed.

Trigger Actions

Route webhook events to workflows, send notifications, or trigger custom logic—all without writing integration code.

Works with Everything

GitHub
Stripe
Shopify
Clerk
WorkOS
IoT Devices

And hundreds more. If it can send HTTP requests, it works with Deltas.

See Everything in One Place

Instead of checking multiple dashboards, view all your external events alongside your application logs and FYI events. Correlate a Stripe payment with a user signup, or a GitHub deployment with an error spike.

Beautiful Emails, Zero Hassle

Design stunning email templates visually, then send them programmatically. No more wrestling with inline styles, or email service APIs.

Visual Template Builder

Drag, drop, and design. Our visual editor makes it easy to create professional email templates without touching HTML. Add dynamic content with Jinja templating.

Live Preview

See exactly how your email looks across devices

Template Versioning

Track changes and roll back if needed

Jinja Templating

Loops, conditionals, filters—full template power

// Send a welcome email
deltas.email(
"welcome_template",
{
name: "Sarah",
signup_date: "2024-02-01",
trial_days: 14,
features: ["analytics", "api"]
},
"sarah@example.com"
)
// Batch send to multiple recipients
deltas.email(
"newsletter_feb",
{
month: "February",
highlights: [...]
},
["user1@ex.com", "user2@ex.com"]
)
// Transactional emails
deltas.email(
"order_confirmation",
{ order_id, items, total },
customer.email
)

Automate Complex Workflows Visually

Build multi-step workflows with a visual node-based editor, then trigger them from your code. No Zapier subscriptions, no vendor lock-in—just powerful automation you control.

// Trigger user onboarding workflow
deltas.run(
"user_onboarding",
{
plan: "premium",
trial_end: "2024-03-01"
},
"usr_12345"
)
// Order fulfillment pipeline
deltas.run(
"order_fulfillment",
{
order_id: "ORD-789",
warehouse: "US-WEST",
priority: "express",
items: [...]
},
"usr_67890"
)
// Data processing job
deltas.run(
"daily_report_generation",
{ date: "2024-02-01" },
"admin_user"
)

No-Code Workflow Builder

Connect actions like building blocks. Add conditions, loops, delays, and error handling—all visually. Perfect for complex business logic that changes frequently.

Pre-built Actions

Send emails, call APIs, query databases, trigger webhooks, and more

Custom Actions

Write your own actions in JavaScript or Python

Real-time Monitoring

See which step is running, what failed, and why

Retry & Recovery

Automatic retries with exponential backoff, or manual retry with one click

∆s is the only const ~