Problem
The data-project JSON attribute on Kickstarter's discover page includes backers_count. The parser in kickstarter_parser.go already reads it from data-project but the Campaign model has no corresponding field, so the value is silently discarded on every crawl.
// model.go — field is missing
type Campaign struct {
PID string
PledgedAmount float64
PercentFunded float64
Velocity24h float64
// BackersCount int ← does not exist
...
}
Why It Matters
- Backer count is a leading indicator of momentum (can spike before
pledged_amount catches up with exchange-rate noise)
- Enables a new alert type: "N+ new backers in 24h"
- Required for future sorting/filtering by backer count in the iOS app
Proposed Fix
- Add
BackersCount int to model.go
- Add migration / bump
schemaVersion
- Populate from
data-project in extractCampaignFromData
- Include in the upsert
DoUpdates column list in cron.go
Problem
The
data-projectJSON attribute on Kickstarter's discover page includesbackers_count. The parser inkickstarter_parser.goalready reads it fromdata-projectbut theCampaignmodel has no corresponding field, so the value is silently discarded on every crawl.Why It Matters
pledged_amountcatches up with exchange-rate noise)Proposed Fix
BackersCount inttomodel.goschemaVersiondata-projectinextractCampaignFromDataDoUpdatescolumn list incron.go