Skip to main content
Glama
README.md
# 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

A3.9/5.0

Scored across 17 tools

Disambiguation4/5

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).

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityActive
ResponsivenessUnresponsive