Repository navigation
Releases: Synapsr/SaaS-Monitor
Release list
SaaS Monitor 1.1
Your screen now talks. A voice announces every new subscriber, payment and milestone, right after the ka-ching, in your own words if you like. This release also protects screens with a password, tells Stripe Connect payments apart, and keeps moments on screen as long as you want.
Try it on the live demo (click once to turn the sound on), on saas-monitor.com, free during the public beta, or on your own server, free for good.
Added
- Voice announcements. Turn on Announce out loud in the screen settings and a voice says what just happened: "New subscriber!", "Payment received!".
- Ten voices, two per language, in English, French, German, Spanish and Portuguese.
- One switch per announcement: payments, payments for a Stripe Connect account, new subscribers, upgrades, reactivations, downgrades, cancellations, new customers and milestones.
- Voice has its own switch and volume, so a screen can speak without playing sounds.
- Recorded phrases ship with the app: nothing is sent anywhere.
- Your own phrases. With a Gradium API key (
GRADIUM_API_KEY), write what the voice says, with{name},{amount},{plan},{country},{product}and{fee}, and up to five variations picked at random. Each phrase is synthesized once for every open copy of a screen. See Voice. - Screen passwords. An optional password on top of a screen's link: each device asks for it once, in the screen's language, and changing it locks every device out again.
- Stripe Connect platforms. Payments made for a connected account get their own icon and label, ring without confetti, and only their application fee counts as your revenue.
Changed
- Moments stay on screen as long as each screen chooses (5 to 30 seconds, 10 by default), in a larger card that reads from across the room.
- The landing page says what it costs: the hosted version is free during the public beta, and self-hosting stays free for good.
Fixed
- Feed rows fit a narrow column: the country is a flag at the start of the details, and the account sits next to the time.
- In development, the database sees new columns after a schema change without a restart.
Upgrading
Pull the new image and restart. Migrations run on startup (MIGRATE_ON_START), and existing screens keep their settings. Two optional steps:
- Stripe Connect platforms: payments imported before this version are classified at the next Re-import data of the account.
- Your own phrases: set
GRADIUM_API_KEY(andGRADIUM_API_URLto pin a region), then restart.
Full changelog: v1.0.0...v1.1.0
SaaS Monitor 1.0
Your MRR, live on the wall. SaaS Monitor turns your Stripe account into a screen for the office, your desk or a Raspberry Pi behind a TV: the MRR ticks up when a customer subscribes, a cash register rings when a payment lands, and confetti flies when you cross a milestone.
Try the live demo, use it on saas-monitor.com, or run your own:
git clone https://github.com/Synapsr/SaaS-Monitor.git && cd SaaS-Monitor
node scripts/setup.mjs && docker compose up -dSee the self-hosting guide for HTTPS, updates and backups.
Screens
- MRR or ARR in large type with its 30-day growth, progress towards the next milestone or your
own goal with the date you'll reach it, a chart over 30 days, 90 days, 12 months or all time,
revenue today and this month, customers, net new MRR, and a live feed of new customers,
payments and subscription changes. - A moment on screen for every event, confetti for money coming in, and a full-screen celebration
at each milestone. - Sounds in three packs synthesized in the browser: cash register, chime and arcade.
- A dark or light theme, preset accents or your own color, and seven languages (English, French,
German, Spanish, Italian, Portuguese, Dutch) with local number and date formats. - Several Stripe accounts per screen, added up in one currency or taking turns, each moment
naming the product it comes from. - Made for unattended TVs: any resolution or orientation, display kept awake, recovery from
outages, reload after updates, protection of OLED panels.
Stripe
- Read-only restricted keys, encrypted at rest.
- MRR as Stripe computes it: discounts, trials, cancellations at period end, billing intervals.
- A resumable import of subscriptions, a year of payments and the last week's new customers,
then an incremental sync from the Events API: instant with webhooks, otherwise paced within
Stripe's read allowance. - Accounts billed in different currencies, converted with ECB rates.
Dashboard
- Workspaces and invitations, screens with a live preview editor and test celebrations, screen
links that can be regenerated. - Email and password sign-in with rate limits, optional GitHub and Google sign-in, and sign-ups
that can be closed.
Self-hosting
- Docker Compose with MySQL 8.4, migrations on startup, and images for amd64 and arm64 on GitHub
Container Registry.