Skip to content

v0.3.0 — Otter answers & acts · 2FA · embeddable booking · Android on Google Play · deploy anywhere

Choose a tag to compare

@nometria nometria released this 31 Jul 15:26
· 90 commits to main since this release
6fd140d

The biggest release yet — 58 changes since v0.2.0. Otter goes from drafting single actions to answering questions and acting across your calendar, the Android app is live on Google Play, and self-hosting gains a safe upgrade command plus one-click deploys on every major platform.

📱 The Android app (v0.3.0) is live on Google Play: https://play.google.com/store/apps/details?id=com.dayotter.app

🦦 Otter (AI)

  • Ask real questions from the command bar, the mobile Ask bar, and inbound SMS/WhatsApp — "how busy am I this week?", "when's my next meeting?", "am I free Friday?" — instead of "I only help with scheduling". (#186)
  • Edit existing bookings by voice/text — rename, change location, add/remove guests — not just reschedule or cancel. (#187)
  • Focus holds become real focus blocks on your calendar, including recurring personal/focus holds. (#185, #188)
  • Found bookings are actionable — bulk cancel/reschedule, an aggregate "analyze my schedule" tool, and Otter now sees your synced Google / Outlook / Apple events.
  • Expanded tool set + a prompt & knowledge catalogue; timezone and config fixes.

📅 Booking & scheduling

  • Multiple locations per event type with a booking-page picker (#103)
  • Requires-confirmation / opt-in bookings — the slot is held while the host approves or declines (#100)
  • Monthly & yearly booking limits (#104) and offset slot start times (#106)
  • First-class out-of-office with delegate redirect (#102)
  • Availability troubleshooter — see exactly why a slot isn't bookable (#131)
  • Calendly importer — bring event types & schedules across (#115)

🔌 Platform & integrations

  • Two-factor authentication (TOTP + recovery codes), web and mobile (#119, #147)
  • Embeddable booking widget — a React SDK + embed route (#116)
  • App registry / in-app app store for integrations (#107)
  • Jitsi Meet as a video provider (#110)
  • Booking-page analytics pixels — GA4 / GTM / Meta / Fathom / Plausible (#114)
  • Localization — booking-page language picker, plus Italian & Dutch locales (#126)

📱 Mobile — Android live on Google Play (v0.3.0)

  • Native 2FA sign-in + approve/decline pending requests
  • Event-editor parity — locations, limits, recurring, group, access codes
  • Out-of-office + availability troubleshooter screens
  • Floating "Ask DayOtter" voice launcher; Focus & fragmentation insights
  • Production crash fix (zod v4), redesigned sign-in, session reset on logout

🚀 Self-hosting & deploy

  • Safe upgrade commanddeploy/upgrade.sh (back up → pull → migrate → restart → health-check → roll back on failure), plus a version field on /api/health
  • One-click / config-as-code deploys for Render, DigitalOcean, Heroku, Fly.io, and Railway — alongside the existing AWS one-click and Docker Compose

🔒 Hardening & docs

  • Hardened Calendly import, CalDAV egress, and public booking input; error-logging hardening
  • Performance: parallelized recurring finalize, deduped preference reads, batched imports
  • Full documentation audit to match the shipped feature set

Full changelog: v0.2.0...v0.3.0