Let’s be honest: notifications are usually the last thing engineers want to work on. Between templates, scheduling, retries, and monitoring, they eat the hours that should go into the product.Documentation Index
Fetch the complete documentation index at: https://notikaai.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Why should developers use Dreamlit for notifications?
Dreamlit replaces the notification plumbing you’d otherwise build in your app. There’s no SDK to learn, no API calls to add, and no events to emit. Your app writes to the database as usual, and Dreamlit reacts to those changes to send notifications.- No SDK: nothing to import, pin, or upgrade
- No API calls: no Twilio, SendGrid, Mailgun, or Resend wiring in your backend
- No event emission: your app doesn’t need to “know” that notifications exist
- No infrastructure to maintain: queues, retries, scheduling, rate limiting, and analytics are handled end-to-end
Why does coupling notifications with app code cause problems?
Adding notifications directly to your backend looks simple at first. At scale, it becomes a source of latency, bugs, and on-call pages. Here’s how the traditional approach stacks up against Dreamlit.| Concern | Traditional (in-app + API) | Dreamlit (database-driven) |
|---|---|---|
| Scaling under load | You build queues, retries, rate limiting, and fan-out yourself | Durable, distributed execution built in |
| Email templates | Hand-coded HTML, separate preview setup, test-to-self loops | AI-generated, responsive templates previewed against live data |
| Third-party coordination | Type-unsafe events, template drift, contact sync jobs | Schema is the contract. No sync layer required |
| Hot-path risk | Notification logic adds latency and failure modes to business-critical code paths | Notifications run outside your app’s request path |
How does Dreamlit save engineering time?
Dreamlit gives you end-to-end notification infrastructure in minutes instead of days. For most teams, that’s weeks of engineering time recaptured every year.Generate workflows from plain English
Describe a workflow in plain English, and the Workflow Agent generates the trigger logic, timing, and templates. Drop into the details whenever you need to, and use the testing agent to validate the workflow end-to-end before you publish.
Hand off lifecycle emails to your product team
Once the plumbing is in place, your PMs and marketers can own lifecycle emails without pulling you into every change. Engineering unblocks product without becoming a permanent support queue.
Inherit production-grade infrastructure
Every published workflow runs on a durable, distributed backbone:
- Retries with exponential backoff for transient failures
- Managed scheduling so you never write another cron job
- Rate limiting to protect your database and downstream services
- Fan-out parallelization for high-volume triggers
- Engagement tracking (opens, clicks, deliverability) logged automatically, with
- Multi-channel delivery across email and Slack
How do you handle database schema changes safely?
Dreamlit workflows reference table and column names, so renames or removals can break a published workflow. You have two strategies, both documented in the Supabase configuration guide.- Unpublish, change, republish: the fastest path if brief workflow downtime is acceptable. Unpublish the affected workflow, apply the migration, adjust the workflow steps to reference the new schema, then publish again.
- Expand, migrate, contract: a zero-downtime pattern borrowed from backward-compatible database changes. Add the new columns, dual-write from your app, backfill historical rows, cut Dreamlit over to the new references, then remove the old columns.
Explore further
Workflow basics
Learn how workflows are built.
How it works
Learn about the architecture.
Quick start
Create your first workflow.
Security
Security is our top priority.
References
- Database-driven architecture overview
- Supabase configuration: making schema changes safely
- Expand, migrate, and contract pattern (PlanetScale)
Last validated: 2026-04-20