LabelBuddy

Hi! I'm Kim. I build AI tools for a living, but I have a background in the social sciences too. I think AI can be really useful for researchers, but I also know it can feel intimidating or hard to know where to start.

I built this free tool to help with one common task: classifying text data. I hope this can be useful, or at least inspire some thoughts on how AI could help to make your job easier. I know this won't be perfect on the first try but perhaps it can be a starting point. I would love to hear your thoughts!

About your data

LabelBuddy doesn't store or read your data, but the AI providers you send it to can, and they may use your data to improve their models. Never upload sensitive or identifiable data.

1

Add your API key

LabelBuddy uses Mistral AI to classify your texts. Get a free API key at console.mistral.ai.

What is an API key and how do I get one?

An API key is like a password that lets LabelBuddy talk to Mistral's AI on your behalf. It's free — you just need to create an account with Mistral to get one.

Go to console.mistral.ai and log in or create an account.
Create an organization — any name is fine.
Click API Keys in the sidebar, then click Choose a plan and select the free plan.
Click Create new key (any name is fine), then copy the key and paste it above.
2

Upload your data

Upload a CSV file and pick the column with your texts.

Drop your CSV file here or

File requirements
CSV or TSV format. Your file should be comma-separated (.csv) or tab-separated (.tsv). Most spreadsheet tools (Excel, Google Sheets) can export to CSV.
First row must be column headers. The first row is used to identify your columns. Make sure it contains header names, not data.
One text per row. Each row should contain one text to classify. If your texts span multiple lines, make sure they're properly quoted in the CSV.
UTF-8 encoding. If you see garbled characters, re-export your file with UTF-8 encoding. In Excel: Save As → CSV UTF-8.
3

Define your categories

What labels should the AI assign? Describe each one briefly.

Tips for getting good results
Add an "Other" or "Unclear" category. Without one, the model will force every text into your categories — even when none truly fit. An escape hatch gives you cleaner labels.
Be specific in your descriptions. "Negative sentiment" is vague. "The author expresses disapproval, concern, or opposition toward the policy or topic being discussed" tells the model exactly what you mean.
Use descriptions to handle edge cases. If two categories are easy to confuse, spell out the difference: "Moral argument: the text appeals to values, rights, or ethics. Economic argument: the text appeals to costs, efficiency, or financial impact."
Match the language of your data. If your texts are in Dutch, write your category names and descriptions in Dutch too — the model will follow your lead.
Start small and iterate. Try 20-30 texts first. Check the results, tweak your descriptions, and re-run before classifying the full dataset.
Try a bigger model if results aren't great. Mistral Small is fast and works well for most tasks. If you're seeing mistakes on ambiguous or nuanced texts, try Medium or Large in the model picker — they're slower but smarter.
4

Additional instructions (optional)

Extra context for the AI, e.g. "These are Dutch-language tweets" or "When in doubt, choose the more specific category."

Preview the prompt
Define at least two categories above to see a preview.
5

Classify!

Hit start to begin. This may take a while for larger datasets.