What is Thresh?

Every day, millions of people talk to each other on Reddit. They ask for help. They share what scares them. They argue about what matters. Most of it disappears into the scroll.

Thresh pulls it out.

Point it at any subreddit. Tell it what you're looking for. It hands you a clean dataset with a complete record of how it was collected. No accounts, no API keys, no code. Everything runs in your browser. Everything stays on your machine.

The threshing floor is among the oldest inventions in human history. High ground, flat stone, wind. The place where you brought the harvest and beat it until the grain fell free. Every civilization built one. Covenants were sealed on threshing floors. Altars were raised on them. Prophets used them to talk about judgment. They were never passive places. They were where you did the work of separation. The flood is information now, and the grain is what people are actually saying to each other when they think no one important is listening.

Quick Start

Enter a subreddit name and start collecting data in seconds. No API keys, no code, no setup.

How It Works

1 Thresh — Enter a subreddit and collection parameters
2 Harvest — Browse and search your collected data
3 Winnow — Analyze with word frequency charts and optional AI
4 Glean — Export data with provenance, or generate an AI research report

Recent Collections

No collections yet. Start by threshing a subreddit.

Who Uses This — And How

Public Health Researcher

"What are people in r/mentalhealth talking about this month?"

Thresh: r/mentalhealth • Top • Past month • 100 posts Harvest: Sort by score to find what resonates most Winnow: Run Identify themes to map dominant concerns Glean: Export CSV with anonymized usernames for IRB-ready analysis

Journalist

"What questions are people asking in r/personalfinance about student loans?"

Thresh: r/personalfinance • Top • Past week • keyword: "student loans" Harvest: Sort by num_comments for the biggest conversations Winnow: Run Extract questions to find what people need answered Glean: Provenance.txt gives your editor a transparent methodology section

Graduate Student

"I need to compare discourse in r/science vs. r/conspiracy for my thesis."

Thresh: science, conspiracy • Top • Past year • keyword: "vaccine" Harvest: Compare upvote_ratio to see consensus vs. division Winnow: Run Sentiment analysis on each, then a Custom prompt comparing tone Glean: Two exports, each with its own provenance — cite both in your methods section

Community Organizer

"What are residents saying in our city's subreddit about the new transit plan?"

Thresh: r/yourcity • New • Past month • keyword: "transit" Harvest: Enable comments to hear the full conversation, not just headlines Winnow: Run Summarize discussion to distill what people actually want Glean: JSON export feeds directly into your own tools or dashboards

Enter the subreddit name without the r/ prefix. You can enter multiple separated by commas.

Top = highest-scored posts (best for research). Hot = trending now. New = most recent. Rising = gaining momentum. Controversial = most divided (low upvote_ratio).

Controls which posts are eligible. Past week is a good default. Use Past year or All time for broader studies.

Posts per subreddit. Start with 25 to preview, then collect 100 for full analysis.

Searches post titles. Leave empty to collect everything matching your sort/time settings.

Collects the top comments on each post (depth 2, up to 50 per post). Essential for discourse analysis; skip for headline-level surveys.


No Data Yet

Collect some Reddit data first, then come back here to explore it.

Nothing to Export

Collect some data first, then return here to export it.

No Data to Analyze Yet

Head over to Thresh to collect posts from a subreddit. Once you have a collection, come back here to explore word patterns and run AI analysis.

A Letter from the Builder

I built this because I know what it feels like to drown.

Not in water. In data.

I spent years writing a dissertation on social media discourse during the COVID-19 pandemic. Collecting tweets. Analyzing what people were saying to each other while the world fell apart. And what I found was genuinely illuminating. The patterns were there. The fear, the misinformation, the solidarity, the grief, the stubborn and sometimes beautiful ways people tried to make sense of something that didn't make sense. It was some of the most meaningful work I've ever done.

But the process of getting there was brutal. Even for me. Even with training and tools and institutional support. It required programming. It required API credentials. It required understanding rate limits and data schemas and pagination logic and a dozen other things that had nothing to do with the actual research question I was trying to answer.

And I kept thinking: if this is this hard for me, it is impossible for most people. The teachers who sense something shifting in how their students talk about mental health online. The journalists who can feel a story forming in a subreddit but can't prove it yet. The community organizers. The grad students. They're locked out. Not because they lack the curiosity or the intellect, but because the tools weren't built for them.

So I built this.

It can do much of what my dissertation did. Smaller scale, because of Reddit's rate limits. But that's fine. Small is good, if pointed in the right place, focused with the right lens. A hundred posts from the right subreddit in the right week will tell you more about how a community thinks than a thousand posts scraped without intention.

The world right now is full of quantitative social science. AI has made it easy to count things, to run regressions, to produce charts at speed. I'm grateful for that. But this project aims at something different. It aims at breathing life back into a research method I hold dear: qualitative inquiry. The close reading. The careful listening. Not because I'm an expert in it. Exactly the opposite, really. I chose the quantitative path early in my training, and I have admired qualitative work from afar ever since, with the quiet reverence of someone who knows they took the other road. There is something mysterious in it. Something irreducible. The act of sitting with people's words and asking what do they mean rather than how many are there.

At the deepest core, my hope is that Thresh marries the two again. That it gives you the structure to collect carefully, the numbers to orient yourself, and then the space to read. Really read. What people are saying. That it empowers anyone interested in understanding public discourse to gather data more easily, more ethically, and more transparently than the old tools ever allowed.

The ultimate recursion is this: what was once my dissertation is now everybody's tool.

The waters rise. The feed is a flood. But the threshing floor is high ground, and the work of separation is ancient, and the grain is worth the labor.

With hope,

Jacob E. Thomas, MA, PhD

February 2026

What Is This?

The Threshing Floor is a free, open-source tool for collecting and exporting Reddit data. It is designed for public health researchers, journalists, civic technologists, and anyone who believes public discourse is worth measuring.

It runs entirely in your browser. There is no server, no database, no account to create. Your data stays on your machine.

How It Works

Reddit's public pages serve JSON data alongside HTML. The Threshing Floor fetches this public data through a lightweight proxy (to handle browser security restrictions), then lets you browse, filter, and export it.

No Reddit API key is required. No authentication of any kind. The data collected is limited to what any person could see by visiting Reddit in a web browser.

The workflow follows four steps. Each one builds on the last:

  1. Thresh (Collect) — Enter a subreddit, choose your sort method and time filter, set a post limit, and optionally filter by keyword. Click Thresh. The tool gathers posts (and optionally comments) and stores them in your browser.
  2. Harvest (Browse) — Explore your collected data in a sortable, searchable table. Click any post to read its full text and comments. Sort by score to see what resonates, by comments to see what sparks debate, or by date to follow the conversation over time.
  3. Winnow (Analyze) — Start with the built-in word frequency table (free, instant, no API key). Then optionally run AI-powered analysis with Claude to identify themes, extract sentiment, summarize discussions, or ask custom questions about your data.
  4. Glean (Export) — Download your data as CSV or JSON, bundled in a ZIP with a provenance.txt file that documents exactly how it was collected. Or generate an AI Research Report: answer two questions about your research, and Claude produces a complete Introduction / Methods / Results / Discussion document you can use as a starting point for your own work.

The AI Research Report

The Glean page includes an optional AI Research Report generator. It requires an Anthropic API key (the same one used for Winnow analysis).

Here's what it does: you provide a research question, choose your audience (academic, journalism, advocacy, or general), and optionally add context about why you collected this data. Claude then aggregates everything: your collection metadata, summary statistics, word frequency analysis, and the content of up to 50 posts. It writes a structured report with Introduction, Methods, Results, Discussion, and Provenance sections.

The report is a starting point, not a finished product. It gives you the structure and the language to build from. For a grad student, it's a draft methods section and results overview. For a journalist, it's a story pitch backed by data. For a community organizer, it's a briefing document with citations.

What was once a dissertation-level undertaking now takes ten minutes and a good question.

Your Data & Storage

Everything is stored in your browser only. There is no server database, no account system, and no cloud sync. Specifically:

  • Collections (posts, comments, configuration) are saved in your browser's localStorage.
  • Anthropic API key (if you use Claude AI analysis) is stored in localStorage. It is never sent to any server except Anthropic's API directly.
  • Rate limit state and subreddit cache are also stored locally in your browser.

This means your data does not sync across browsers or devices. If you switch browsers, your collections will not follow.

Clearing Your History

To erase all Thresh data from your browser:

  1. Open your browser's Settings (or press Ctrl+Shift+Delete / Cmd+Shift+Delete)
  2. Navigate to Privacy & SecurityClear browsing data
  3. Select "Cookies and site data" (this includes localStorage)
  4. To clear only Thresh: go to your browser's Developer Tools (F12), open the Application tab, expand Local Storage, find the Thresh site, and delete individual keys or click Clear All

This will remove all saved collections, your API key (if stored), rate limit state, and cached subreddit data. It cannot be undone.

The Rate Limit Gauge

The Rate Limit gauge at the bottom of the sidebar tracks how many requests remain in your current Reddit rate limit window. Reddit allows 100 requests per minute to its public JSON endpoints.

  • Gold bar — plenty of requests remaining. Normal operation.
  • Yellow bar (below 30%) — requests are running low. Consider pausing collection.
  • Red pulsing bar (below 10%) — critical. Thresh will pause automatically if the limit is reached.
  • Cooldown timer — if you hit the limit, a countdown appears showing when requests resume. The collect button is disabled until the cooldown expires.

The rate limit resets automatically each minute. Under normal use (25–100 posts per collection), you will rarely see it drop below gold.

Ethical Considerations

  • Re-identification risk: Even with usernames removed, unique writing styles or specific details in posts may allow re-identification. Consider this when publishing findings.
  • IRB guidance: If you are conducting academic research, consult your Institutional Review Board about whether your data collection constitutes human subjects research.
  • Reddit's Terms: This tool accesses publicly available data. Please review Reddit's Terms of Service and API Terms regarding data collection and use.
  • Consent: Reddit users post publicly, but they may not expect their posts to be aggregated and analyzed. Handle data with care and respect.
  • Default anonymization: Exports anonymize usernames by default. You can disable this, but consider the implications before doing so.

Provenance

Every export includes a provenance.txt file documenting exactly how the data was collected: the subreddit, sort method, time filter, number of posts, date of collection, and any filters applied. This is the seal on every bundle — it gives you the language for a methods section, a transparency report, or a replication attempt.

AI Analysis (Optional)

The Winnow page offers optional AI-powered analysis using Claude (by Anthropic). To use this feature, you need your own Anthropic API key. Your key is stored only in your browser's local storage and is sent directly to Anthropic's API — it is never stored on any server.

Deploying Your Own

The Threshing Floor deploys to Cloudflare Pages with zero configuration:

  1. Fork the repository on GitHub
  2. Connect it to Cloudflare Pages
  3. Set the build output directory to public
  4. Deploy

That's it. No environment variables, no build step, no dependencies to install.

Citation

Thomas, J.E. (2026). The Threshing Floor: A browser-based tool for Reddit data collection and export. https://github.com/jethomasphd/The_Threshing_Floor

A Jacob E. Thomas artifact. Built with deliberate attention.