Adra · Data export

Your data, in files you can open.

Adra writes your diary into standard, open formats. One export for spreadsheets, one for exact restores. No account and no cloud in the middle.

Two exports, two jobs

Both exports are built into the app. The backup is also the restore format.
CSV Backup
Best for Numbers in a spreadsheet Moving phones and exact restores
What it holds One row per logged entry Your whole diary, database and photos
Range Quick, the last 7 to 90 days, or a custom window Everything, always
File adra_export_YYYYMMDD.csv adra_backup_YYYYMMDD_HHMM.zip
Inside Plain text, comma separated Zip with JSON, SQLite, and images
Where it goes System share sheet. Send it anywhere. System save dialog. Defaults to Downloads.

The CSV, down to the columns

The meal export has one row per logged entry, with this exact header.

Date,Time,Food,Portion (g),Calories,Protein (g),Carbs (g),Fat (g),Meal Type,Confidence,Source
2026-10-12,13:05,Pasta With Meat Sauce,350.0,512,24.3,62.1,18.0,lunch,high,clip
  • Dates are YYYY-MM-DD and times are HH:MM.
  • Portion and macros carry one decimal. Calories are whole numbers.
  • Source names the step that resolved the entry. The values are barcode, nutritionLabel, clip (photo recognition), and manual.
  • Text fields are quoted when they contain a comma, so the file opens cleanly anywhere.

CSV is a mirror for analysis. It is not a restore format. Restores use the backup.

The backup, unzipped

The backup is a standard zip with three parts.

adra_backup_20261012_2045.zip
├─ manifest.json
├─ data.sqlite
└─ images/
   ├─ 3f2ae9c1b7d4...4a1f.jpg
   └─ 8b4107dd2c93...be20.jpg
  • manifest.json tells the app what it is looking at. Format version, app version, database schema version, a UTC export timestamp, per-table row counts, and the image count.
  • data.sqlite is a consistent snapshot of your diary, taken while the app keeps running. Any SQLite tool on any computer can open it.
  • images/ holds every meal photo, stored uncompressed and named by its SHA-1 checksum. The file name is the content. If the bytes ever change, the restore refuses that image.

The database snapshot carries twelve tables.

meals · meal_ingredients
user_foods · user_embeddings
user_settings · notification_schedules
food_usage_stats · portion_preferences
calibration_state · calibration_events
daily_behaviors · user_corrections

Not inside: the bundled food databases, which ship with the app, and device-only state that the app rebuilds by itself. Everything you created is in there.

Restore is a merge, not a wipe

  1. Pick the zip.

    Restore lives on the same screen as export, right below it.

  2. Adra checks it before it writes anything.

    Valid zip, valid manifest, matching app version, verified image checksums, and a database integrity check. A bad file is refused whole.

  3. Choose what comes back.

    Meals with their photos, your own dishes, settings and goals, or your history. Groups you leave out are not touched at all.

  4. Your existing entries stay.

    The confirm dialog puts it plainly. Existing entries are kept as they are, and selected settings and goals are restored from the backup. Ingredients and photo fingerprints only follow their own meal or dish, so nothing attaches to the wrong food.

  5. Repeat it safely.

    Importing the same backup twice adds nothing the second time.

If a backup comes from a different app version, Adra says so and asks you to update first. Nothing is written until every check passes.

Honest limits

  • The backup is not encrypted.

    It is a plain file, by design, so it stays readable decades from now without special tools. Keep it somewhere you trust.

  • No automatic cloud backup.

    Adra never uploads your diary. That also means backups happen when you make them.

  • CSV is one-way.

    Spreadsheets cannot be re-imported. The backup zip is the restore path.

  • An old backup may need a newer app.

    If the database schema moved on, the restore asks you to update Adra first.

FAQ

Can I open the backup on a computer?

Yes. It is a standard zip. Inside you find a JSON manifest, a SQLite database that any SQLite tool can open, and your photos as ordinary image files.

Where does the exported file go?

CSV goes through the system share sheet, so it can go into a spreadsheet app, an email, or cloud storage. The backup goes through the system save dialog, which defaults to your Downloads folder.

Does restoring overwrite anything?

Your logged entries stay as they are. Settings, goals, and reminder schedules that you select come from the backup. Images are added by checksum, so duplicates are skipped.