My favorite thing about Elixir is not needing third parties -Phoenix.PubSub instead of Redis, Oban instead of Sidekiq, LiveView instead of React. So I built FYI to bring that same philosophy to product event tracking and notifications.
What it does: - Track events with one line: `FYI.emit("purchase.created", %{amount: 4900})` - Get Slack/Telegram notifications when things happen - Route specific events to specific channels (e.g., waitlist.* → Slack, errors.* → Telegram) - Beautiful admin UI at /fyi with live updates, search, and filtering - Drop-in feedback widget (installs into your codebase, not an iframe)
Key features: - Zero external dependencies - just BEAM, Ecto, and Phoenix - One command setup: mix fyi.install - Integrates with Ecto.Multi so events only emit after transactions commit - Fire-and-forget - failures never block your app - Feedback component lives in YOUR repo so you can customize it
Philosophy: No Oban queues, no retries, no backoff. Just simple HTTP notifications and Postgres persistence. Think "LogSnag but self-hosted and Elixir-native." The installer even copies a feedback component into your codebase instead of making you use an external widget, so you can style it however you want.
Repo: https://github.com/chrisgreg/fyi
Hex: https://hex.pm/packages/fyi
Docs: https://hexdocs.pm/fyi
Would love feedback from the community!