Client work · Internal · 2025

Community Signal

Community Signal is a pair of internal tools for the same client as the support agent platform: a Python miner that finds forum posts where people describe a problem the client's products solve, and a Next.js dashboard that summarises the marketing team's monday.com board.

By Suraj Malla · Kathmandu

The problem

Two questions came up every week. Where are people publicly describing a problem one of our products already solves? What is the marketing team actually working on right now?

Both were answerable by hand. Both were answered late.

How it works

Data flow
  • A scraper over the forum's Bettermode API, five pages of 50 posts per target space per run.
  • A hand-written keyword index mapping the exact phrases people type to the product that solves it and the page that explains how.
  • Scoring, SQLite storage with dedupe by post ID, a Claude analysis pass over unanalysed rows, and a CSV export above a threshold.
  • Separately, a dashboard that pulls the marketing board over GraphQL, filters to active assignees, ages the Done column to 15 days, flags overdue items and asks Gemini for a summary.

Decisions that mattered

2

A keyword index, not semantic search

The index is a list of the phrases people actually type when they have the problem. Each maps to the product and the specific page that answers it. A match is already a reply with a link.

Scoring is blunt on purpose: 2 points for a phrase in the title, 1 in the body. Nothing is drafted below 2, and only posts scoring 6 or more are exported. The tool's job is to be quiet.

Cheap to run twice

Posts are deduplicated by ID on write, and the analysis pass reads only rows it hasn't seen. Rerunning the whole pipeline costs almost nothing, which is what makes it something you run when you wonder, rather than a job you schedule and then stop trusting.

What is and isn’t shown

Same client as the support agent platform, not named. Neither tool is complex. Each replaced about an hour of someone's week.

Next step

Have a system like this in mind?

Describe it: what it is, who does it, how often, and what goes wrong when it's late. I reply within one working day with a scoping call or a reason it isn't worth automating.

Start a project How a project runs

Free 30-minute call · one working day