Project review and lessons learned
Feedback from Crime Reporter, Police, Courts, and Judges · Oct 23, 2026
Use the arrow keys or click to move between slides.Swipe or tap the right side for the next slide, the left side to go back.
| Bot | Own mistakes |
|---|---|
| Police | The first street-match rule was buggy and forced a full rerun. QA misses were caught by the reviewer. Maps were redone 3–4 times before the standard was set. Paths were hard-coded. Previews were left only on its own computer. |
| Courts | Ran the bond SQL without saving it to files. Didn't re-ask about fix02c. Reported pairs before people counts. Bond tables had no snapshot design. Never sample-checked the unmatched bond cases. |
| Judges | Queries weren't saved as files at first. One overlap check was too narrow. Ran a 30-minute full-table test instead of a sample. Keys came late. The roster sat in text rounds before reaching the database. |
| Crime Reporter | Long-winded relays. Drifted into graphics work at the expense of stories (only one full article draft). Kept map scripts only on its own computer. |
Unanimous: yes for the finished database and maps, but heavier than needed for the research phase.
Kept
Better split next time
| Tool | Why |
|---|---|
| Private GitHub repo | Every SQL file and script is versioned. The Oct 7 rollback and the audit fixes would have had a full history. |
| Numbered migration files | Rebuild the whole database by running the files in order, not just from a dump. |
| Automated data checks after every load | Would have caught the missing keys, duplicate bond lines, and gaps at the first load instead of in the October audit. |
| Nightly backup + monthly restore test | Backups that don't depend on someone asking, and proof that they actually restore. |
| Data and source catalog | Each table's source link, download date, owner, and caveats in one place. |
| One shared tracker | Decisions and approvals with a status, so nothing gets lost in chat. |
| Flask/FastAPI + a quick map viewer | The Case Card is built properly instead of patched, and map results get checked by eye before full runs. |
All files are in the project folder: