Getting started
From zero to a searchable knowledge graph of your entire digital life. Three steps, about 30 minutes of hands-on time. The GDPR exports take longer (1-3 days), but you only request them once.
1 Request your data exports ~30 minutes hands-on, then 1–3 days waiting
Under GDPR (and similar laws worldwide), every platform is legally required to give you your data in a machine-readable format. Each platform's flow is slightly different. Below are step-by-step instructions, accurate as of April 2026, with the direct links you need.
Do all of these first. Most exports take a few hours to a few days to arrive. Request them all now in one sitting; by the time you run the installer in Step 2, they will be ready in your inbox.
LinkedIn · desktop browser only · arrives in up to 24 hours
LinkedIn does not let you request a data archive from the mobile app. You must use a desktop browser.
- Open linkedin.com/mypreferences/d/download-my-data in a desktop browser. Sign in if you are not already. (If the URL ever moves, navigate from Me > Settings & Privacy > Data Privacy > Get a copy of your data.)
- You will see two options. Pick the first one, "Download larger data archive, including all of your account activity", which gives you everything. (The second option, "Want something in particular? Select the data files you're most interested in", is the smaller, faster category-by-category export – not what we want.)
- Click Request archive.
- Re-enter your LinkedIn password to confirm.
- LinkedIn typically emails you in two batches: a small initial archive within ~10 minutes and the full archive within 24 hours (sometimes longer). Use the link in the email – the download link expires after 72 hours, so grab it promptly. Save the ZIP file to
~/Downloads. Leave it as a ZIP – the importer reads it directly.
Facebook · web recommended (also works in app) · arrives in minutes to hours
Facebook moved data exports into Meta's Accounts Center in 2024. The flow below is the current one.
- Open accountscenter.facebook.com/info_and_permissions/dyi. Sign in if needed.
- Click Download or transfer information.
- Select your Facebook account, then click Next.
- Choose All available information (or pick specific categories if you prefer).
- Choose Download to device.
- Format: JSON (more parseable than HTML). Media quality: Low (keeps the export size manageable). Date range: All time.
- Click Create files.
- When the export is ready, you will get a notification in Facebook plus an email. Click the download link and save the ZIP file to
~/Downloads. Leave it as a ZIP – the importer reads it directly.
Instagram · same Accounts Center flow as Facebook
Instagram exports go through the same Meta Accounts Center as Facebook. If you already started a Facebook export above, you can request Instagram from the same screen at the same time.
- Open accountscenter.facebook.com/info_and_permissions/dyi as above.
- When asked which account, choose your Instagram account.
- Same options as Facebook: All available information, Download to device (called Export to device on the Instagram side), JSON, Low media quality, All time.
- Click Create files (or Start export, depending on which UI variant you see). Save the ZIP to
~/Downloads when it arrives – leave it zipped.
If you prefer the Instagram mobile app: Profile > hamburger menu > Accounts Center > Your information and permissions > Export your information. Same final flow.
WhatsApp · phone app only · arrives in up to 3 days
WhatsApp exports can only be requested from the WhatsApp app on your phone. There is no web flow.
- Open WhatsApp on your phone.
- On iPhone, tap the Settings tab in the bottom bar – depending on app version this is either a gear icon or a "You" tab showing your profile picture (Meta is rolling the new one out gradually). On Android, tap the three dots in the top right and choose Settings.
- Tap Account > Request account info. Choose Account report (not Channel report), then tap Request report.
- Wait. WhatsApp takes up to 3 days. The notification appears inside WhatsApp at the same Account > Request account info screen. The report is only available for a short window after it is ready, so download it promptly.
- When ready, tap Download report to fetch the ZIP onto your phone, then tap Export report to open the share sheet.
- From the share sheet, send the ZIP to your Mac – leave it zipped. On iPhone the simplest route is Save to Files > iCloud Drive, then open it on your Mac and copy to
~/Downloads. On Android, share to Google Drive, email-to-self, or plug in by USB – AirDrop does not work cross-platform.
Tip: on the same screen WhatsApp now offers a Create reports automatically toggle that generates a fresh report every month – handy if you plan to re-import periodically.
- Open x.com/settings/download_your_data (the old twitter.com URL still redirects). Sign in if needed. If the URL ever moves, navigate from Settings and privacy > Your account > Download an archive of your data.
- Confirm your identity: re-enter your password, then verify by entering a code sent to your email and/or phone.
- Click Request archive (also labelled Request data on some accounts).
- Wait 24 hours to 3 days. An email arrives with a download link, and the link also appears at the same settings page when ready. The archive is only available for ~7 days, so download it as soon as the email arrives.
- Save the ZIP to
~/Downloads – leave it zipped.
Google Mail (Takeout) · web only · arrives in hours to days
We use Google Takeout for Gmail content. Calendar, contacts and photos come from Apple Calendar, Contacts and Photos directly during install – no Google OAuth needed.
- Open takeout.google.com. Sign in if needed.
- Critical first step: click "Deselect all" at the top of the list. Takeout defaults to exporting everything, which can take days for a full Google account. We only need Mail.
- Scroll down the list and tick the box next to Mail only.
- Scroll to the bottom and click Next step.
- Choose Send download link via email. Frequency: Export once. File type: .zip. File size: pick 50 GB (the largest option) so a big mailbox doesn't get split into many parts – the default is only 2 GB.
- Click Create export.
- Wait. For small mailboxes (under 5 GB), it takes hours. For large ones, up to a day or two.
- When the email arrives with the download link, save the ZIP(s) to
~/Downloads – leave them zipped. Large mailboxes split into multiple ZIPs; keep them all together.
You don't need every export to start. The installer is fine with whichever exports have arrived; it just skips the ones that aren't there yet. You can re-run the import later when more arrive (Step 3 is repeatable).
2 Run the installer 10 minutes
Open Terminal on your Mac and paste:
curl -fsSL https://ostler.ai/install.sh | bash
The installer checks your hardware, installs Docker and Ollama if needed, starts the database services, downloads the embedding model, and sets up the import pipeline. It also walks you through security setup: creating a strong passphrase (this encrypts your databases) and saving a recovery key.
What you need:
- Mac with Apple Silicon (M1 or later) – laptop or desktop, your call
- 24 GB RAM recommended (16 GB works but limits AI model size; 8 GB is not recommended)
- 35 GB free disk space
- Internet connection (for initial downloads only – Ostler works offline after setup)
Which Mac should be your Hub?
Mac Mini or Mac Studio (always-on desktop) is the tidiest experience. Lives on a shelf, plugged in, always ready. Your iPhone always reaches it. Morning briefings fire at 9am whether you remembered or not. Marvin replies in real time, not after you open your laptop.
Your MacBook is the same product, portable. Take it to a coffee shop and the Hub goes with you. When you close the lid, Ostler goes to sleep with it. Captures queue locally and catch up the moment the lid opens. Docker and your local model pause on battery so your laptop is not cooked by the time you reach the office. Your iOS companion shows a live Online / Catching up / Offline status, so you always know the state.
Both Macs? One license, one Hub. Pick the Mac that wears the Hub hat. The other can reach the Hub’s web UI (wiki, Doctor dashboard) from Safari over your LAN or Tailscale, just like your iPhone can. A dedicated macOS companion app is on the roadmap.
macOS permissions the installer will request:
- Contacts – reads your name (to pre-fill setup) and imports your address book into the knowledge graph. macOS shows this as a separate consent dialog because contacts have their own protection class.
- Files & Folders > Downloads – lets the installer find the GDPR ZIPs you saved there.
- Full Disk Access (FDA) – gives the installer one-time read access to Safari history, iMessage, Apple Notes, Calendar, Photos face labels, Reminders, and Mail (Apple Mail only, not webmail). FDA is what lets you see value in minutes from data already on your Mac, not days waiting for GDPR exports.
You can decline any permission – that feature is skipped and everything else still works. These are standard Apple security prompts that every Mac app must use. Granting FDA requires you to drag Terminal into System Settings > Privacy & Security > Full Disk Access; the installer pauses and walks you through this when it gets there.
Docker Desktop takes a minute to start. If the installer says Docker is not running, the installer will open it automatically and wait.
3 Import your data 5-15 minutes
Once your GDPR exports have arrived, gather the ZIPs (and folders, where the platform ships one already extracted) into one place. The importer reads ZIPs directly – you do not need to unzip anything yourself.
mkdir -p ~/gdpr-exports
mv ~/Downloads/*linkedin*.zip ~/Downloads/facebook-*.zip \
~/Downloads/instagram-*.zip ~/Downloads/twitter-*.zip \
~/Downloads/takeout-*.zip ~/Downloads/WhatsApp*.zip \
~/gdpr-exports/ 2>/dev/null
ostler-import ~/gdpr-exports/ --verbose
The importer scans for available exports, unzips each one to a temporary directory, and runs the appropriate parser for each platform. Missing exports are skipped gracefully. You will see a summary at the end showing how many contacts were imported from each platform.
If your shell says ostler-import: command not found, the installer added Ostler to your PATH but your current Terminal session has not picked it up yet. Either open a new Terminal window, or run source ~/.zshrc (or source ~/.bashrc if you use bash) to reload it.
What happens during import:
- Contact names, companies, and positions are extracted and matched across platforms
- Relationship signals are stored (when you connected, how often you messaged, who endorsed whom)
- Calendar events are imported with attendee matching
- Phone numbers are cross-referenced across WhatsApp, Twitter, and your address book
- Instagram close friends are tagged as close connections
Message content is not stored. LinkedIn message metadata (who, when, how many) is imported, but the actual message text is not. This is a deliberate privacy choice.
After import
Your knowledge graph is live. You can explore it via:
- Qdrant dashboard:
http://localhost:6333/dashboard – see your vector database
- Oxigraph:
http://localhost:7878/query – SPARQL query interface for your knowledge graph (the bare / URL just lists the endpoints)
- Ostler Doctor: local diagnostics and health dashboard (launched from the Ostler menu bar icon) – coming soon
The personal wiki and AI assistant (Marvin) are coming in the next phase. For now, your data is imported, connected, and searchable.
Troubleshooting
Once Ostler Doctor ships, it will check all services, identify problems, and give you copy-paste fix commands. Until then, the common fixes below cover 90% of cases.
Common issues:
- Docker not running: Open Docker Desktop from Applications, wait ~30 seconds for it to start, then re-run the failed step.
- Ollama not responding: If you installed Ollama via the installer, it runs as a background service that should auto-start. Confirm with
curl http://localhost:11434/api/tags; if that errors, open the Ollama menu-bar app to start it. Avoid running ollama serve manually – it conflicts with the background service.
ostler-import: command not found: Reload your shell config: source ~/.zshrc (or open a new Terminal window).
- Import errors: The
--verbose flag shows which parser failed and why. Re-run individual parsers from the README.
- Disk full: Remove dangling Docker images with
docker image prune (safe – only removes unused intermediate layers). For a deeper clean, docker system prune without -f will list what it would delete and ask for confirmation.
If none of the above solves it, email support at support@ostler.ai.