Bounty-api
# Bounty
**A research system that turns online conversations into cited findings.** Bounty collects posts, comments, and replies from YouTube, Reddit, TikTok, Instagram, and X; discovers rising topics via Google Trends; and uses LLM analysis to extract signals — pain points, adoption patterns, objections, belief shifts — each backed by quotes and source links. If evidence is thin, it says so.
Users: investors (unknown-unknown discovery, pain-point research around companies), marketers (creative angles, competitor mentions), product teams (feature gaps, user complaints). The engine is horizontal; investing is the first lens, not a hardwired filter.
Live at [bountyapi.com/dashboard](https://bountyapi.com/dashboard) (token-gated).
## Read this first
1. **`AGENTS.md`** — operating manual: architecture, the two-pipeline warning, commands, deploy flow, credentials map, hard rules, known-broken list. **Any agent (or human) working in this repo must read this before making changes.**
2. **`STATE.md`** — product philosophy, what's built, gaps, priority order.
## Quickstart
```bash
python -m pytest tests/ -x -q # 189+ tests, must be green before every push
python -m uvicorn app:app --port 8000 # local dev; BOUNTY_ENV=development bypasses token gate
# open http://localhost:8000/dashboard
```
Deploy: push to `main` → Railway auto-builds → bountyapi.com. Nothing else.
## What this repo is NOT
- **Not the x402/USDC data-API marketplace** — that code exists but is deferred (see `docs/legacy/`)
- **Not Singapore property/real-estate tooling** — legacy, deferred
- **Not an MCP directory play** — legacy, deferred
Old strategy and marketing documents live in [`docs/legacy/`](docs/legacy/) and describe that earlier direction. They are kept for history only.
## Layout
| Path | What |
|---|---|
| `apis/` | FastAPI routers (dashboard API, dashboard page, social search) |
| `public/` | Dashboard frontend (vanilla JS/CSS) |
| `social_scraper/` | Connectors, broker, discovery pipeline, monitoring, storage, LLM client |
| `tests/` | Full suite |
| `docs/legacy/` | Superseded strategy docs — do not implement from these |
TDQS
Scored across 17 tools
Tools are generally distinct, with clearly different purposes such as HDB transactions, MRT stations, salary benchmarking, and stamp duty. However, sg_property_analyze, sg_property_pitch, and sg_property_rank have overlapping roles in property analysis, though their descriptions differentiate them (comprehensive analysis vs. pitch generation vs. ranking).
All tool names follow a consistent pattern: for Singapore-specific tools, 'sg_' prefix with domain and action (e.g., sg_gst, sg_mrt_search), and for HDB tools, 'hdb_' prefix with action (e.g., hdb_resale_median). Lowercase with underscores throughout.
With 17 tools covering a broad range of Singapore property and financial topics, the count is appropriate. Each tool serves a specific function without unnecessary redundancy, and the set feels well-scoped for the intended domain.
The toolset covers major areas of Singapore property investment: transactions, stamp duty, affordability, rental yield, location intelligence, and salary benchmarking. Minor gaps exist (e.g., property tax, renovation costs), but the core workflows are well-supported, especially with the comprehensive sg_property_analyze tool.