Testing now · Android first · Free & open source

Learn how cannabis
affects you.

Terpoir is a private journal for your sessions, products and spots. Over time it shows you the patterns: what actually helps you sleep, what makes you anxious, which shop's stuff tends to work. Your data stays encrypted with a key only you hold.

myrceneearthy, musky
limonenecitrus peel
β-caryophylleneblack pepper
α-pinenepine needles
linaloollavender
terpinoleneherbal, fruity
humulenewoody, hoppy
Why this exists

The questions everyone asks and nobody writes down.

Does sativa, indica or hybrid mean anything at all?
Does the terpene profile change my mood?
Why was that one batch so good?

Most of us keep track in memory. And memory is, let's say, not the most reliable instrument in this particular lab.

Terpoir is a notebook in the spirit of careful self-experimenters: write down what you took, how much, and how it went. Do it a few dozen times and your own answers start to show up. Not the label's answer, not the budtender's. Yours.

The name

Terpenes, meet terroir.

Terpenes are the aromatic compounds behind a plant's smell: the citrus, the pine, the pepper. Terroir is a winemaker's word for how a place shapes what grows there: the soil, the weather, the hands that tend it.

Put them together and you get the idea behind the app. What you take matters, and so does where it comes from: the grower, the batch, the shop. So does where you are when you take it, if you choose to note it. Terpoir keeps those threads in one place, so over time you can see how they connect to how you actually feel.

Less "what does this strain do?" and more "what does it do for me, from here, in this setting?" That's the kind of self-knowledge no label can print.

How it works

Talk. Tag. Notice.

01 · LOG

Just say how it's going

Tap and talk. Transcription runs on your phone and is never sent anywhere. Scan a receipt or a label and the products fill themselves in.

02 · TAG

You stay the editor

Terpoir suggests effects and flavors from what you said, each one linked to your words. You accept, fix or toss them. Only what you confirm counts.

03 · NOTICE

Patterns, with receipts

Plain statistics, not a chatbot's hunch. Every insight shows the sessions behind it, flags things like dose and time of day, and stays quiet until there's enough to say.

It shows its work.

You can tap through to every session behind an insight, mute a category, or mark one wrong. Insights are off until you turn them on, and they never pretend to be medical advice.

It also learns where things come from: which shops tend to sell what works for you, and whether that's the shop or just what you pick there.

Privacy

Your key. Your storage. Our server: none.

There's no Terpoir cloud to hack, sell or subpoena, because there's no Terpoir cloud. Everything is encrypted on your phone before it goes anywhere.

Locked to you from day one

Your journal opens with your fingerprint, face or phone PIN, and you get a recovery key that only you hold. Delete an entry and it's gone for good: any copies left behind can't be read.

Sync where you already store things

Google Drive, iCloud, Nextcloud, an S3 bucket, Syncthing, or a file on a USB stick. They only ever see locked files they can't read.

The most private option is the default

Location, notifications, lookups, model features: all off until you say otherwise, and every switch tells you exactly what it reveals and to whom.

No ads, analytics or trackers. Ever.

No crash-reporting SDKs either. Release builds don't even keep logs. There's nothing to send, and nowhere to send it.

Discreet when you need it

Neutral notifications, an optional plain-looking icon, an app lock that follows your phone (or tighter, if you like), and a calm, deliberate wipe if you ever want out.

Open source, verifiable builds

The code is public under the GPL. Builds are reproducible and signed, so anyone can check the app matches the source.

Want to go YOLO?

Totally allowed. Turn on maps, address lookup, online product catalogs or richer notifications. Terpoir just tells you plainly what each one leaks before you flip it, and every switch has an off that cleans up after itself.

We will never ask for your recovery key.
The honest part

Built by one person and an AI. Here's the deal.

Terpoir is designed and guided by Nate, a security person who's been happily running free software for a long time. Almost all of the code is written with Claude. That's not a secret; it's in the repo.

The design and art should come from human artists, and they will. If you're one and that idea doesn't make you want to throw your tablet, I'd love to talk.

There's a trademark, and some legal fees. Because capitalism. It gives me the ick too. But if this works even a little, someone will try to slap ads on a copy and call it the real thing. The name and the signed builds are how you know you've got the original.

Free foreverJournaling, sync, insights and every privacy feature.
Optional unlockA one-time "Connoisseur" purchase for themes, icons and fun extras.
Tips & donationsFor anyone who wants to help cover the costs.
NeverPaywalled privacy, ads, data sales, sponsored strains or dispensary deals.

Plenty of people will have good reasons why this is a terrible idea. Some of them are probably right. I'm building it anyway, as openly as I can.

Tip jar

Tip your budtender.

Okay, technically he's a developer. Same idea, different counter.

Tips help cover the trademark, the legal fees and the time. They unlock nothing, because everything that matters is already free. Not in a tipping mood? Telling a friend about Terpoir helps just as much.

Tip jar opens soon
Get Terpoir

Coming to Android first.

It's in testing now, and you can help. Once it's public, it'll be on:

F-DroidBuilt from source, no Google services
GitHub ReleasesSigned APKs, works with Obtainium
Google PlayThe usual way
App StoreHopefully, later
Help test it

Be one of the first twelve.

Google Play only lets a new app go public after at least 12 people have tested it for 14 days in a row. If you have an Android phone and a Google account, you can be one of them.

  1. Email terpoirapp@gmail.com from the Google account you use on your phone, and you'll be added to the test.
  2. Then open the testing page on Google Play on that account, tap "Become a tester", then install Terpoir from Google Play.
  3. Keep it installed for at least 14 days. Using it helps too, and so does telling us what's confusing or broken.

Your email address goes on the test's list in Google Play and is used for nothing else. Testing changes nothing about privacy: your journal stays encrypted on your phone, and we never see it.

Verify your download

Check it's really Terpoir.

Official builds are signed with one of these two certificates. Anything signed with another isn't ours, whatever it's called.

GitHub Releases (and F-Droid, once it's there): the maintainer's key, SHA-256
55:9B:59:33:95:3E:2F:13:0A:23:DB:5A:4F:61:0D:12:83:D4:B6:A7:1E:E6:7F:9C:DE:CE:3E:C9:B6:EF:2C:A9
Google Play: Google's app signing key, SHA-256
B7:6E:05:CD:31:96:52:AC:6F:1F:C3:FE:08:E7:66:ED:4F:E8:F5:45:DE:E7:5E:C1:19:DC:8A:B2:D1:A1:B3:CB

To check an APK from GitHub Releases, compare the certificate's SHA-256 digest with the first one:

apksigner verify --print-certs terpoir-foss-0.2.2.apk

Each release's SHA256SUMS lists its APK's hash and is signed (SHA256SUMS.sig) with the maintainer's hardware key, as are the release tags. Save this line as allowed_signers:

64344+nolsen311@users.noreply.github.com namespaces="file,git" sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFof1u6kqeVj0yEtfAVMfSt63zytNiLy6TrDRKGdPKbhAAAAE3NzaDp0ZXJwb2lyLXJlbGVhc2U=

Then, in the folder with the downloads:

ssh-keygen -Y verify -f allowed_signers -I 64344+nolsen311@users.noreply.github.com -n file -s SHA256SUMS.sig < SHA256SUMS
sha256sum -c SHA256SUMS

The key's fingerprint is SHA256:LCGONnBz4qi3yn8ABDBTtb5lAxpVDR8MaXvtPxyQ7Lc. The same keys are in the README on GitHub, so a change to either place shows up against the other.