TURNOVER · TRACKED
For short-term rental hosts  ·  Built on AWS

Your cleaner texts
a photo. We do
the rest.

After every guest, your cleaner sends one photo per room. StayPulse inventories every consumable, flags missing items against your baseline, timestamps everything for dispute evidence, and generates your restock list — automatically, by SMS.

Claim your property See how it works
~30 sec
Cleaner time
per turnover
$0.04
Cost per scan,
passed to host at $9/mo
100%
Timestamped
S3 evidence locker
3 min
Setup, per
property added
The status quo

Every host has
the same three
nightmares.

01
The damage dispute, six days later

Guest reports a stain. AirCover asks for "evidence of pre-existing condition." You scroll through your camera roll. You have nothing. They deny the claim.

02
The 9 PM realization

Guests checking in at 4 PM. At 9 PM, message: "There's no toilet paper." Your cleaner forgot. You drive 22 miles with a 12-pack and a Walmart receipt.

03
The slow-bleed missing items

The remote walks off in March. The wine opener in April. The hair dryer in June. By Q3 your property no longer matches the listing photos — and reviews start mentioning it.

From r/AirBnBHosts & AirHostsForum 1 / 5
How it works

Three steps.
No new app
for anyone.

Cleaners use the SMS they already use. Hosts get reports on the dashboard or by text. No QR codes, no logins, no training. The whole system runs on the phone everyone already has.

i.

Baseline once

Walk through your property after a perfect clean. Take 6–10 photos per room. StayPulse uses AWS Rekognition to identify every consumable and feature it sees, then stores that as your property's baseline state in DynamoDB.

BASELINE → S3 (Object Lock)
Rekognition → DynamoDB items
baseline = source of truth
ii.

Cleaner texts after turnover

Cleaner finishes, texts a quick photo set with your property code: BEACH-4 #kitchen. The SMS arrives at our Twilio webhook, hits Lambda, photos go to a tamper-resistant S3 bucket with object lock — that's your timestamped evidence.

SMS (Twilio) → API Gateway
Lambda → S3 + Rekognition
DynamoDB Streams fires →
iii.

You get the answer

Bedrock (Claude) compares the cleaner's photos to your baseline, identifies what's missing or different, and texts you a single message: restock list with priorities, anything that looks damaged, anything left behind by guests. Plus a permanent dispute pack URL.

Bedrock → diff vs baseline
SMS → host (one message)
Dispute pack ready in dashboard
A real turnover

The whole flow,
in 90 seconds.

This is what Sunday-afternoon turnover looks like on StayPulse. Your cleaner Maria finishes the BEACH-4 property in Gulf Shores. She sends one SMS. You're at brunch — and by the time the food arrives, you know exactly what to restock, where guests left things behind, and have evidence locked away in case the next guest tries something.

1
Property prefix prevents abuse

Every SMS starts with your property short-code. One paid property = one active code. Try to use the same code from two cleaners simultaneously? Soft-blocked.

2
Photo-as-evidence, not opinion

Every photo gets a S3 Object Lock with retention. Even StayPulse can't delete them inside the dispute window. Export the URL pack straight into AirCover.

3
One message, not a notification flood

Bedrock decides if the change is worth interrupting you. Toilet paper down to 1 roll? Yes. Towel slightly out of place? No.

9:47 ● StayPulse
SP
StayPulse · BEACH-4
Sunday turnover
🛏️
BEACH-4 #bedroom done
Maria · 2:14 PM · MMS
🚿
BEACH-4 #bathroom done
Maria · 2:16 PM · MMS
🍳
BEACH-4 #kitchen done
Maria · 2:19 PM · MMS
BEACH-4 turnover complete ✓

Restock today:
· Toilet paper (1 of 4 left)
· Hand soap (empty)
· Coffee pods (3 of 12 left)

Left by guest:
· Phone charger, bedroom outlet

Dispute pack: 8 photos archived
StayPulse · 2:21 PM
What's tracked

Every turnover,
scanned twice —
then watched.

🧻

Consumables

Toilet paper, paper towels, hand soap, dish soap, coffee, sugar, salt, laundry pods. Quantities tracked against your baseline so you know before the next guest checks in.

🛋️

Property fixtures

Remotes, blankets, throw pillows, kitchen utensils, bath linens. Anything that walks away between your baseline and the next scan triggers an alert with photo proof.

📸

Evidence locker

S3 Object Lock with 90-day retention by default. Even we can't delete the photos. One-click export of the dispute pack as PDF or shareable URL bundle for AirCover.

🧳

Guest leave-behinds

Chargers, AirPods, sunglasses, kid's toys. Bedrock flags new items not in your baseline so you can message the guest before lost-and-found becomes a one-star.

💧

Maintenance signals

Photos surface mildew, leaks, wall scuffs, broken slats. Routed by Bedrock to a maintenance log so small problems don't compound into expensive ones.

📊

Property dashboard

Web dashboard per property: every turnover, every cleaner, every restock cost, side-by-side photo diff. Export CSV for your accountant.

Pricing

Priced per property —
never per cleaner,
guest, or scan.

A single property in StayPulse covers unlimited cleaners, unlimited guests, and up to 60 turnovers a month — enough for back-to-back Saturday flips year-round. Cancel anytime. First property is free for 14 days.

Host
One or two properties
$9 / property / mo
Billed monthly · cancel anytime
  • 1 property includedadd more at $9 each
  • 60 turnover scans / property / mo~2 turnovers per day
  • Unlimited cleaners per property
  • S3 dispute locker90-day retention
  • SMS + dashboard
Start free trial
Operator
10+ properties or PM company
$5 / property / mo
Annual · $50 minimum / mo
  • Unlimited properties
  • Unlimited turnovers
  • White-label cleaner SMS
  • Owner sub-accountseach owner sees their own data
  • API + webhooks
  • Priority support
Talk to us
!
One property = one verified address. Addresses are normalized and hashed at signup using Google Places — so "123 Main St #4" and "123 main street apt 4" can't be billed as two. Each property also gets one unique SMS short-code. If you try to share a property across multiple short-codes or run more cleaners than your tier allows, the system soft-blocks and prompts an upgrade. Fair pricing requires honest accounting on both sides.
Built fair

How we keep
per-property pricing
honest.

i

Verified address at signup

Properties are validated against Google Places. We normalize and hash the result, so duplicate billing attempts collide immediately. No two accounts can claim the same address.

ii

One short-code per property

Each property gets a unique SMS prefix like BEACH-4 or MTN-22. Every inbound message must start with the prefix. Attempts to share a prefix across paid + unpaid properties are detected on first divergence.

iii

Per-tier soft caps

60 turnovers/mo on Host, 200 on Portfolio. Above the cap we don't shut you off — we send the host a friendly text suggesting an upgrade, and the next scan is overage-billed at $0.25.

iv

Stripe metered overage

Heavy users on Host (over 60 scans) auto-upgrade with consent after two months. No surprise invoices. The math works because Rekognition + Bedrock costs us ~$0.04 per scan — we want power users on the right tier.

"Why per property and not per scan? Because hosts already do mental math on every guest. Adding another variable means choosing between protection and predictability. Pick predictable."
StayPulse design principle
Built on

Pure AWS.
Boring infrastructure,
by design.

StayPulse runs entirely on event-driven AWS primitives — the same architecture pattern Amazon, Netflix, and Stripe use for high-throughput automation. No idle compute, no polling, no servers to patch.

Pipeline · MMS in to SMS reply, end to end
● Cleaner MMS
→
● Twilio Webhook
→
● API Gateway
→
● Lambda · router
→
● S3 (Object Lock)
→
● Rekognition
→
● DynamoDB
→
● Streams fire
→
● Lambda · diff
→
● Bedrock (Claude)
→
● Twilio out
→
● Host SMS
Rekognition
Detects items, fixtures, and condition in every cleaner photo.
DynamoDB Streams
The state-change events that drive every alert — no polling.
Bedrock (Claude)
Decides what's worth interrupting the host for, and writes the SMS.
S3 Object Lock
Tamper-resistant evidence locker. Photos can't be deleted in dispute window.
Lambda
Stateless event handling. Scales from 1 to 10,000 properties identically.
Twilio
A2P-compliant SMS + MMS with toll-free fallback for international.
Stripe
Per-property subscription billing with metered overage on heavy users.
Cognito
Host login + cleaner role assignment. SSO with Google for hosts.

The next turnover
is already coming.

Set up your first property in three minutes. First fourteen days free, no card required, no scheduling a call.

Claim your property