Pulse is scheduling infrastructure for Hearth. It is not a UI, not email marketing, and not auth. It owns when something fires, how it is delivered, and what happened.
Source: github.com/sarweshsoman/Pulse.
What it does
- Reminder rules with one-time, daily, weekly, monthly, yearly, or custom recurrence
- APScheduler with SQLAlchemy job persistence (SQLite by default)
- Pluggable adapters (
console,smtp, plus custom webhooks) - Execution logs and an append-only event log
- Domain records referenced only as
linked_record_id(meaning lives in Ember)
Pipeline: ReminderRule → Scheduler → Trigger → Adapter → Execution log → Event log.
How to run
git clone https://github.com/sarweshsoman/Pulse.git
cd Pulse
uv sync --all-extras
uv run pulse
API on port 8100 (GET /health). Create a reminder with POST /api/v1/reminders.