ResumeLet's Talk →
Chrome MV3 · Firestore · Capture · 2026

Mia Calendar Capture
Invite in. Event saved.

A Chrome MV3 extension that pastes or scrapes calendar invites and writes structured events to Firestore for the Mia Calendar agenda.

Scrape mode requires a real date and time and filters page-title junk (e.g. university week headers), so the agenda stays clean. Events land under users/{uid}/events with source: extension — sibling to Mia Task Capture.

MV3ParseFirestorePaste inviteScrapeZoom links
View repository (private) →
01 — The Problem

What this build solves.

01
Invite glue
Copying Google Calendar blocks into structured fields is tedious and error-prone.
02
Scrape noise
Page titles look like events — scrapers must reject junk without a real when.
03
Same store as the app
Captured events must appear next to manual/voice events in the Flutter agenda.
04
Auth without drama
Anonymous or email/password Auth so writes satisfy Firebase without a full OAuth flow.
02 — How It Works

Architecture at a glance.

UIPopup

Paste invite, scrape page, calendar picker, send to Mia

ParseInvite parser

Title, when, location/Zoom, junk filters, requireWhen for scrape

AuthFirebase Identity

Anonymous or email/password via Identity Toolkit

DataFirestore REST

Writes users/{uid}/events with source: extension

LayerTechnologyRole
ExtensionChrome MV3Popup + service worker + scripting
ParseJavaScriptInvite / scrape extraction
AuthFirebase Auth RESTAnonymous or email session
StoreFirestore RESTEvent documents for Mia Calendar
03 — Highlights

What ships today.

Paste Google Calendar–style invites with auto-parse
Scrape active tab with date+time required
Junk title filter (page title / week-of headers)
Same guest uid as the Flutter app (local-guest)
Sibling of Mia Task Capture; events show in-app Calendar
04 — Status

Build status — shipped complete.

✓
Completed
Paste + scrape + Firestore write
✓
Completed
Junk filter + requireWhen
✓
Completed
In-app calendar parity (local-guest)
✓
Completed
Standalone GitHub repo
Contents