Overview
Data parity across backends, when schema is created, and links to Supabase and Firebase.
Kasy creates only the schema for features you selected in kasy new. With kasy add <feature>, that feature's tables or collections are added.
Do not rename tables, collections, or fields. Names are in English on purpose and the app uses these exact identifiers.
Where to look
| Page | Content |
|---|---|
| Supabase | Postgres tables, main fields, Quick mode list |
| Firebase | Firestore paths and what each collection stores |
| Edge Functions | Supabase server functions |
| Cloud Functions | Firebase server functions |
| Secrets | API keys on both backends |
When schema appears
| When | What happens |
|---|---|
kasy new (Quick) | Base + features below, except Drive |
kasy new (Advanced) | Only what you checked |
kasy add <feature> | That feature's schema |
| Supabase | Tables visible after db push |
| Firebase | Collections visible after the first document |
Quick mode (data)
Feedback, Stripe, RevenueCat, Ads, AI Chat, Kanban + base. No Drive. Facebook has no table (edge function only).
REST API
The API backend does not run Supabase migrations or create Firestore data collections. Implement the same model on your server. Use Supabase and Firebase pages as concept maps.
Push may use a companion Firebase project (FCM), like Supabase.
Same concept, different field names
| Concept | Firebase | Supabase |
|---|---|---|
| Avatar | avatarPath | avatar_url |
| Read notification | seen_date | read_date |
| Subscription SKU | product_id | sku_id |
| Period end | expiration_date | period_end_date |
| Kanban order | order | position |
The app maps this in api/. Do not change in the database.
See also Backends and Commands.
Last updated on 08/02/2026

