v2.0.0 — Supabase backend + iPad PWA
First release of Paperplate 2.x. The local-first SQLite app from 1.x is now a two-device household app backed by Supabase: a Tauri-shelled Mac Silicon desktop binary and an installable iPad PWA sharing one library, one set of meal plans, one running shopping list.
Highlights
- Supabase backend — Postgres schema mirroring the old SQLite (recipes, ingredients, steps, categories, plans, slots, day notes, aisles, shopping lists/items/checks), all RLS-restricted to authenticated users. Storage bucket for hero images.
- iPad PWA at https://shamgarbn.github.io/paperplate/ — open in Safari → Add to Home Screen → launches chrome-less.
- macOS app — Tauri 2 shell, 5.1 MB ad-hoc signed `.dmg` attached below. Right-click → Open the first time.
- Auto-fill the planner heuristic ships to both devices.
- Unit-correct shopping aggregator (1 cup + ½ cup = 1½ cup, indivisibles rounded up) runs on both devices via shared `packages/core`.
- Hero image backfill — 21 of 22 imported recipes had their hero images re-fetched from the source URL and uploaded to Storage.
Install — Mac
- Download `Paperplate_2.0.0_aarch64.dmg` below.
- Open the DMG, drag Paperplate into Applications.
- First launch: right-click `Paperplate.app` → Open → click Open in the warning dialog.
Apple Silicon only.
Install — iPad
- Open https://shamgarbn.github.io/paperplate/ in Safari (must be Safari, not Chrome).
- Tap Share → Add to Home Screen → Add.
- Launch from the home screen icon.
Future PWA updates auto-deploy on every push to `main`.
What's not in 2.0.0
- One recipe still missing its hero image ("Shoyu Chicken" — source returned HTTP 402, retry coming).
- App icon — generic Expo icon for now; custom icon work pending.
- Native iPad build (vs the PWA) — possible via EAS Build with a paid Apple Developer account; not in scope yet.
Full changelog
Git history from `v1.0.1...v2.0.0` is squashed across the `supabase-rebuild` branch (merged into `main` on 2026-05-25). Notable commits:
- Restructure to monorepo + Supabase backend
- Migrate desktop data layer from `tauri-plugin-sql` to `@supabase/supabase-js`
- Expo SDK 56 iPad app
- `scrape-recipe` Supabase Edge Function (JSON-LD)
- Hero image backfill + Storage rendering
- Per-plan shopping list + send-to-main-list
- Plan editing (slot lock, day notes, auto-fill)
- Settings (categories + aisles)
- Hero image upload (mobile + desktop)
- Print support
- Extracted `packages/core` and proper shopping aggregator
- Tauri Rust cleanup (stripped unused plugins + commands)