Kolaboro / Database / Live findings
Read every hour, checked by code
What changed on developer pages this hour
Every hour a job re-reads the developer pages of the projects we checked longest ago, asks the Claude API for concrete facts (handover date, starting price, payment plan, permit number, deposit protection, construction progress, units left, rental yield, legal structure) and publishes a finding only when a fact is new or changed. Every fact must come with an exact quote that our software finds word for word on the page.
Hourly run log
One line per run: pages read, findings, facts that did not change, quotes rejected because they were not on the page, tokens and what the run cost at list prices. The budget is 5 USD a day, spread over the hourly runs: each run may spend what is left of the day divided by the runs left, and stops before it can pass that.
| Run (UTC) | Projects | Pages read | Same page | Read by model | Findings | Unchanged facts | Rejected quotes | Tokens in / out | USD |
|---|
How it works
- Hourly, round robin
- A GitHub Actions job runs once an hour, never two at a time. It takes the tracked projects whose developer page was read longest ago, by us or by the daily research agent, so every project comes round in turn. It respects robots.txt, sends one request per website every few seconds and identifies itself as KolaboroResearchAgent.
- Claude API, small and capped
- claude-haiku-5-5 reads the page text and returns each fact with the exact words that state it. Every call is priced from its real token usage at list prices (0.10 USD per million tokens in, 0.50 out). Before each call the worst case of that call is reserved, so neither a run nor the day can pass its budget (5 USD a day). A page whose text has the same SHA-256 fingerprint as at our last read is not sent to the model at all.
- Checked in code, not trusted
- Software looks for each quote in the page text, ignoring only case, spacing and typographic quote marks, with no skipped words, and checks that the quote contains the value: the year, the percent, the amount or the number. Anything else is rejected and counted in the run log. A changed value is published only when the old value is no longer stated near the same words on the page, and a newly published fact only when its words were not in our previous copy of the page.
- Anonymous
- Findings name the project id and market only, never the developer, the project name, the web address or the quote, because a quote would identify the project. Each finding carries
q, the first 16 hex characters of the SHA-256 of its quote, andfp, the same for the page text. We keep a frozen copy of the page text, so both can be checked later against the original. - Limits
- These are what developers advertise, not verified facts. A finding says a page changed, not that the project did. Pages that block automated reading or need JavaScript to show text are counted as failed and tried again on the next round. Prices are shown as bands, and permit numbers are never shown, because both could identify a project.
Data: /data/live-findings.json (last 500 findings and the run log) and /data/findings-by-project.json (per project id), CC BY 4.0, credit Kolaboro. Related: promise tracker, status, public log.