Friendship takes work.
Like a tree, it requires nurture, effort, and time to grow.

Friendships aren't pieces of data to keep track of. They're living, breathing organisms. Nurture your own friendship trees, go fishing, meet little creatures, and appreciate the canopy of friends you've made on your journey.

Your people stay yours — nothing is sent to us. Ever. There is no server and no account: everything is parsed and stored on this device only, and you can delete it all whenever you like.
See the demo forest →

Free and open source — read the code, fork it, run your own. ♡ Support this project

Who's tending
the forest?

Your name is needed — it keeps you from showing up as a tree in your own forest.
Your city plants your home meadow — add it to continue.

With your own API key, an AI writes a short living profile for your closest friends. Your browser calls the provider directly — no server in between, the key is kept only for this session, and the cost (a few cents for ~30 profiles) lands on your key. Skip it and you still get the full forest.

That doesn't look like an API key — check for stray spaces, or clear the field to skip AI.

Who are your
friends?

Upload as many sources as you'd like — the more you upload, the richer your forest will be. Start with the quickest ones; you can always upload more after creating your forest. Your data stays YOURS. There is no server and no account: everything is parsed and stored on this device only, and you can delete it all whenever you like.

Export your contacts

  1. Google: contacts.google.com → select all → Export → Google CSV
  2. Apple: Contacts app → select all → File → Export → Export vCard
  3. Drop the files below — .csv and .vcf both work, several at once is fine

Got both a Google export and an Apple vCard? Drop them both — people in both files are merged into one tree, not duplicated.

On a Mac?
Add your real texting history.

Websites can't read your texts (good!). This helper runs on your Mac, offline — it counts who you text and when, writes one summary file, touches nothing else.

  1. Open Terminal, paste the command, press return
  2. Grant Full Disk Access if asked, run again
  3. Drop the friend-forest-messages.json it makes here
python3 helper/extract_messages.py ~/Desktop/friend-forest-messages.json

The helper lives in this repo's helper/ folder — it counts who you text and when, writes one summary file, and never uploads anything.

Plant friends
by hand

Name is all that's required — everything else just makes their tree richer. Groups (like book club or college) become groves in your forest.

Add your social
circles

Every big platform will hand you your own data. Drop whatever arrives — follow lists become trees, message threads make them tall.

  1. Instagram: Settings → Accounts Center → Your information and permissions → Download your information → JSON. Use followers/following and messages.
  2. Facebook: same Accounts Center download → JSON. Use friends.json and messages.
  3. X: Settings → Your account → Download an archive → drop following.js / follower.js.
  4. Anything else (Discord, Strava, Goodreads…): a .csv or .json with a name column works.

Unzip the export first and drop the files inside. Only names, counts and dates are read — never the messages themselves, and nothing leaves this browser.

WhatsApp chats

  1. Open a chat → tap the name → Export chatWithout media
  2. Save / AirDrop the .txt here (unzip if needed), repeat for your favorite people

LinkedIn connections

  1. LinkedIn → Settings → Data privacy → Get a copy of your data → larger archive
  2. The email takes about a day — your progress is saved, come back and drop Connections.csv

Time to plant.

Here's what your forest will grow from:

Enjoying this? ♡ Support this project — it keeps the forest free for everyone.