AnEspresso is a real-time break coverage board for your anesthesia team. It replaces the physical whiteboard so that everyone can see the same board on their phone, updated live as changes happen.
Two Roles
📋
Board Runner — Manages the board for the day. The runner marks breaks as complete, activates or deactivates clinical sites, and monitors who needs urgent break coverage.
👩⚕️
CRNA — Selects a room assignment and communicates break preferences to the runner. CRNAs can indicate whether they would like their break earlier, later, or not at all. They can also flag urgent breaks, which appear instantly on the runner's board.
Real-Time Sync
🔄
Every change syncs to all connected devices within seconds. When the runner marks a break, sets a note, or activates a site, every phone reflects the update automatically. No manual refreshing is needed.
Four Break Windows
🕐
The board is divided into four tabs: Morning, Lunch, Afternoon, and Evening. Each window tracks breaks independently. The app automatically selects the correct window based on the time of day, but you can switch between them manually at any time.
Daily Reset
🌅
The board resets each morning. All break states clear, CRNA preferences reset, and clinical sites return to their defaults. On weekdays, all sites start active. On weekends, all sites start deactivated, and the runner selects which sites are running that day.
No App Download Required
📱
Simply open the link in any mobile browser and you are ready to go. You can also add it to your Home Screen for a native app experience, complete with the AnEspresso coffee cup icon.
Bug Reports & Feature Requests
🐛
See something that is not working correctly, or have an idea to make the app better? Tap the 🐛 bug icon in the bottom-right corner of the screen to submit a report with your name and phone number.
📲
Add to Home Screen
Get the coffee cup icon on your phone (iPhone & Android)
Why Add to Home Screen?
☕
Adding AnEspresso to your Home Screen gives you a full-screen app experience — no browser bar, no tabs, just the board. It launches instantly from the ☕ coffee cup icon like any other app, and your session stays signed in between opens.
📱 iPhone (iOS)
1
Open the AnEspresso link in Safari (this only works in Safari on iPhone).
2
Tap the Share button at the bottom of the screen (the square with an arrow pointing up).
3
Scroll down the share menu and tap Add to Home Screen.
4
Tap Add in the top-right corner. The ☕ icon will appear on your Home Screen. Apple's full directions →
🤖 Android
1
Open the AnEspresso link in Chrome (recommended) or your preferred browser.
2
Tap the ⋮ menu button (three dots, top-right).
3
Look for Install app — tap it if you see it. This gives you the best full-screen experience, just like an iPhone app. If you don't see "Install app," tap Add to Home screen instead.
Samsung Internet users — Tap the ☰ menu → Add page to → Home screen. For Firefox, tap ⋮ → Install.
Android Users — Important
If you added AnEspresso to your Home Screen before and it kept showing the splash screen every time you opened it, please remove the old icon and re-add it using the steps above. The new version installs as a proper app and keeps you signed in between opens.
Tip
Once installed, the app runs full-screen without a browser bar. It looks and feels identical to a native app on both iPhone and Android.
📋
Board Runner Role
Manages the break board for the day
Getting Started
1
Open the link and tap Board Runner to log in. The app will automatically select the current break window based on the time of day.
2
On weekdays, all clinical sites start active and ready to go. On weekends, a setup screen will appear so you can select which rooms are running that day.
Marking Breaks
3
Tap any room to mark its break as done ✓. If you need to undo it, tap the room again and confirm.
4
Use the Morning, Lunch, Afternoon, and Evening tabs to manage each break window. Each window tracks breaks independently.
Editing Sites
5
Tap Edit on any category, then choose Activate / Deactivate to toggle individual rooms on or off for the day.
6
Use Deactivate All or Reactivate All to toggle an entire category at once.
7
To add a temporary room, tap Edit then Add Site.
Other Tools
✏️
The notes field under each category allows you to leave messages visible to all users.
🚨
The Urgent banner displays active urgent break requests. Tap to mark complete.
👩⚕️
CRNA Role
View the board and set your preferences
Getting Started
1
Open the link and tap CRNA. Choose Room Assignment or Breaker.
Break Preferences
2
For each break window, let the runner know your preference:
Earlier — You would prefer an early break.
Later — You would prefer a later break.
Got Self — You arranged your own coverage.
Urgent Breaks
3
Tap 🚨 Urgent Break to send an immediate alert to the runner's board.
Viewing the Board
4
Scroll down to see the full break board. Your assigned room is highlighted with a gold outline.
Good Morning!
Saturday
All sites start deactivated on weekends. Activate the rooms running today.
Your Assignment
Tell the board where you are today
Select your room
🪧
Board Not Set Yet
Today's board hasn't been configured. Ask your Board Runner to log in and set up the day's room roster, then sign in again.
Edit Sites
What would you like to do for ?
Name this site
🛎️
Know when you're marked
When someone marks your room for a break, AnEspresso can ping you — confirm it, or say you didn't get one.
What you'll get
☕ Break marked — confirm or cancel with a reason 🚨 Urgent bathroom / now-break requests
Change types anytime from the 🛎️ in the header.
🛎️
Notifications
🔧
Fix Notifications
Who needs to know?
Choose who to alert for your urgent break.
Urgent Break Complete?
Confirm that the urgent break for this provider has been completed.
🤔
Remove "Got Self"?
Were you unable to get yourself for this break?
☕
Removing a completed break
OR 1
Are you sure you want to mark this break as not completed?
☕
You were marked
Lunch · OR 12
Did you actually get this break?
🤔
What happened?
This comes up the next time someone marks this window.
⚠️
They said they didn't get it
OR 12
AnEspresso!
🛎️
00:00
Points of Service
--
🚨Urgent -- Break Needed
Breaker
No room assignment
--
My Assignment
Loading…
0%
🐛💡
Bug Report / Feature Request
Help us improve AnEspresso!
⚠️
Privacy Reminder
Notes are stored on shared cloud storage and visible to all users.
Do not enter patient names, MRNs, dates of birth, or any identifying information (PHI).
Use room names and operational notes only.
🔐
Developer Access
Incorrect password
☕
Update Required
A required update is available. Reloading…
v.
🔧 Developer
Developer Dashboard
AnEspresso! internal tools
Anonymous usage counts upload in the background (version, errors, role mix). No names, notes, or phone numbers.
Notifications Diagnostics
Recent push activity
“Send test” shows a local notification on this device — it confirms the service worker can display alerts. It does not test server delivery; for that, check the Cloud Function logs.
Delivery test (end-to-end)
Writes a private test request to Firebase. The Cloud Function pushes back to THIS device only and reports the server result below — proving the full server→device path without alerting anyone or touching the board.
Subscriptions roster 0
Every device with a push subscription. Age is time since last heartbeat; anything over 4h is skipped on every send (the “stale” count in the log) until pruned.
Bug Reports & Feature Requests
Sync Log 0
Records sync events. Filter or search to narrow. Most recent at bottom.
(empty)
Local State
What this device currently believes. Useful for diagnosing "why does my screen look different from theirs."
Loading...
Firebase Inspector
What Firebase actually has for today right now. Compare to Local State to find sync mismatches.
Tap Fetch to load.
Force Refresh
⏱ Wait 1-3 min after pushing to GitHub before clicking. GitHub Pages takes time to deploy. Verify the URL serves the new HTML in Safari first.
Ships set the required version for you. The first live phone on a new build also publishes it. This button is only a backup. Stale phones reload themselves.
Loading...
Reset Board
Wipes today's board state in Firebase and on this device. Use this to recover from a stuck state (empty board, no clickable controls) or to start the day fresh. The next person to log in as Board Runner will see the weekend room-picker modal again.