Inspiration

Every family I know runs on help: cleaners, tutors, dog walkers, babysitters. And almost all of it runs on WhatsApp chats and bank transfers. Every visit means confirming it, rescheduling it, paying for it and chasing it. For one ordinary household with a cleaner twice a week and a dog walker at weekends, that is about 41 hours a year of admin, plus money often paid before the work is done. I wanted recurring help to work like a subscription that runs itself, with PayPal as the trusted layer between the family and the provider.

What it does

HaloDiary turns a household's recurring services into one diary that runs itself.

  • Book once. Tell the AI your week in one sentence ("cleaning twice a week and a dog walker at weekends, about 400 a month") or pick services yourself. HaloDiary ranks nearby providers on attendance, ratings, distance and price.
  • Sign once. Every service runs on a signed agreement (notice periods, late fees, credits for provider changes) that HaloDiary enforces automatically.
  • Approve the month once with PayPal. The client approves a monthly budget with the PayPal JS SDK v6, which saves their PayPal account to the Vault.
  • Day-before check. Both sides confirm each visit the day before. When the client proceeds, PayPal places a hold for the price.
  • Paid only after it happens. After the visit the hold is captured, and the provider is paid out 90% through PayPal Payouts. Late changes, credits and refunds settle themselves under the agreement.
  • Scheduling on Bryntum Calendar. A drag-and-drop week planner for clients and providers. Moving a visit shows the agreement's fee or credit before anything changes.
  • Provider chat. Extras are requested, quoted and paid with PayPal (or as a PayPal invoice) in the thread, with the PayPal reference on the receipt.
  • AI assistant (Claude). Finds providers, books, moves visits, answers checks and explains spending, with a one-tap approval card for anything that changes the diary or moves money.
  • AI spending limit and MCP. Every AI action is priced first; anything above the user's per-payment limit is refused and logged. Outside agents (Claude Desktop or any MCP client) connect through HaloDiary's MCP server under the same limits.
  • Ledger and activity. Every hold, capture, payout and refund is in an AG Grid ledger with its PayPal reference and a webhook confirmation tick; every action is logged with who took it.

Try it in one click: open https://halodiary.vercel.app and press Take the 90-second tour. It creates a ready household in Barcelona with a checklist that walks through PayPal approval, the day-before check, the payout, the AI booking and the provider's side. No sign-up; payments run in the PayPal sandbox.

How we built it

  • Next.js 15 (App Router) and React 19 on Vercel, Supabase (Postgres with row level security) for data and auth.
  • PayPal: JS SDK v6 save-payment button and Vault (approve once); Orders v2 with intent AUTHORIZE for day-before holds; capture and void; Payouts to providers; refunds for accepted problem reports; Subscriptions for flat monthly plans; Invoicing for extras and monthly statements; signed webhooks that confirm every step in the ledger. Built on the PayPal Server SDK (generated by APIMatic) and the PayPal Agent Toolkit.
  • AI: Anthropic Claude (Claude Sonnet 5.5) through the Vercel AI SDK. It powers the in-app assistant (tool calling with approval cards and a fresh snapshot of the user's schedule, budget and agreements on every request), onboarding (one sentence into services, cadences and a budget), demo-provider chat replies and quotes, and neutral summaries of problem reports. An MCP server exposes the same tools to outside agents with personal access tokens.
  • Bryntum Calendar for the week planner, AG Grid for the payments ledger, and a Render cron job that runs the scheduler.
  • A demo clock lets judges skip ahead to see checks, holds, captures and payouts happen without waiting days.

Challenges we ran into

  • Modelling money safely: holds when a visit is confirmed, captures only after it happens, voids on skips, and fees or credits when either side changes late, all driven by a signed agreement and confirmed by PayPal webhooks.
  • Letting AI act on payments without letting it overspend: every tool call is priced before the approval card appears, and the same limit applies to outside agents over MCP.
  • Making a judge demo that works in 90 seconds without sign-up, while staying honest: any step that does not go through PayPal is clearly labelled "Simulated".

Accomplishments that we're proud of

  • A complete product loop: book, sign, approve with PayPal, confirm, hold, capture, pay out, and settle late changes, with no manual payment step.
  • An AI assistant and outside agents that can book and pay, but only inside limits the user sets.
  • A one-click guided tour so anyone can see the whole flow end to end.

What we learned

PayPal works best as the trust layer in the middle: the client approves once, the money is held rather than prepaid, and the provider is paid as soon as the work is done. Combined with signed agreements and day-before checks, that removes most of the back-and-forth that recurring help usually needs.

What's next for HaloDiary

Live PayPal payments, real provider onboarding with PayPal payouts to their own accounts, more cities and services, and letting families share one diary.

Built With

Share this project:

Updates

Submission history