Inspiration
When someone dies, their accounts don't stop. Subscriptions keep billing, life insurance and pension benefits sit unclaimed until someone asks, and every company has a different process for a death. Families usually discover all of this one surprise charge at a time, while they're grieving. Often the only complete record of a person's accounts is their inbox. We built Lastly to turn that inbox into one clear, shared plan the whole family can work through together.
What it does
Lastly reads a loved one's email (and optionally a bank statement) and builds an estate ledger. That's every subscription, bank account, insurance policy, debt and online account it finds, each backed by the email or transaction that proves it. It sorts accounts into four groups:
- Still charging: subscriptions and bills to cancel, with renewals due in the next two weeks flagged.
- Owed to the family: insurance, pensions and balances to claim.
- Needs a notice: institutions that should be told about the death.
- Digital legacy: online accounts to memorialize or close.
Family members sign in to the same workspace, assign accounts to each other, and track progress. Lastly drafts the cancellation, claim and notification letters. It can also call a company using a clearly disclosed AI voice agent.
How we built it
- Backend: Python and FastAPI, with a browser dashboard.
- Email in: Google Takeout
.mboxupload, plus a direct Gmail IMAP import. The IMAP import asks Gmail to search on its side, so only the chosen senders are ever downloaded. All real mail is encrypted at rest with AES-256-GCM. - Finding accounts: the Anthropic API extracts accounts as structured data and answers questions with citations to the evidence. A set of local rules runs the whole app offline when there's no API key.
- Family hub: Neon Postgres stores shared status, assignments and activity history.
- Calls: ElevenLabs conversational voice through a Twilio phone number.
- Agents: a Fetch.ai uAgents bridge using the Chat Protocol, so other agents can ask about an estate and get answers with evidence attached.
Challenges we ran into
- One sender isn't one account. A single Apple receipt can hide five subscriptions. A Chase sender can mean both a checking account and a credit card, which have to stay separate.
- Names don't match. A bank line like
NETFLIX.COM 866-579has to match an email from "Netflix". An email titled "Welcome to the Pro plan" names a plan, not a company. - Receipts don't say "monthly". Stripe receipts just say "$20.00 Paid", so we infer a monthly subscription when the same amount repeats about 30 days apart.
- Old doesn't mean active. A two-year-old receipt can describe a subscription that was cancelled long ago, so we check how recently each account was charged.
- A finished call isn't a finished task. If a company asks for a death certificate, the cancellation stays pending until it's sent.
- Privacy. Real mail is sensitive. Imports require encryption and a family access code, and nothing leaves the machine unless AI analysis is turned on.
Accomplishments that we're proud of
- The whole flow works end to end: find an account, see the proof, assign it, draft the letter, and track the result.
- On our main synthetic test family, Lastly finds 28 of 28 accounts. That's checked against an answer key that is kept separate from the mailbox.
- We tested on a real Gmail inbox filtered to two senders. It correctly found two $20/month AI subscriptions, including the charges made after the date of death.
- Every account shows the email or bank line behind it, so the family never has to take the app's word for it.
- It runs fully offline with no accounts or API keys, so anyone can try the demo.
What we learned
Accuracy only means something against an answer key, so every synthetic mailbox we generate ships with an independent list of its real accounts. Testing on real mail taught us things our synthetic data hadn't, like receipts that never say "monthly" and plan names showing up as company names. Most of all, we learned that a family will only act on an account when they can see the proof for it, so every finding shows its evidence.
What's next for Lastly
- Live inbox sync instead of one-time imports, so new bills show up automatically.
- Direct bank connections in place of uploaded statements.
- More email providers, with first-class Outlook and iCloud support.
- Death certificate tracking, to see which institutions still need one.
- Partnerships with estate attorneys and funeral homes, so families get Lastly at the moment they need it.
Built With
- elevenlabs
- fastapi
- fetch.ai
- gmail
- javascript
- neon-postgres
- python
Log in or sign up for Devpost to join the conversation.