pa.gf.cx equipment-photo batch — 24 iPhone shots → SEO + resize + sort + caption + locate + email cross-ref (parked 2026-05-26)
DARE.CO.UK · PARKED SKETCH · 2026-05-26
Mirrored from ~/.claude/.../memory/parked_sketch_pa_equipment_batch_24_photos_2026-05-26.md. This is a design sketch parked for future build — read for context, not as a current deliverable.
Dan has 24 iPhone equipment photos (~2.4 MB each, ~58 MB total) covering 8 distinct asset classes — pool, tractor, heat-pump, pool-pump, propane tanks (level reading), pool chemistry, dedicated 50A electrical feed for the heat-pump, PenAir / FNS Plus DE filter. Each photo needs SEO-renaming → web-variant resize → schema sorting → caption → location confirmation → final step of cross-referencing emails (Fastmail) + Harvest invoices for receipts. The asset-record photo-drop workflow + the seo-rewrite-for-dropped-images pattern + (likely) a new /pool/ top-level category scaffold are the substrate this leans on. Resume when the certified-water-services A-style redaction commit cycle closes.
Dan 2026-05-26: “I have 24 pictures of equipment, that need sorting into relevant places - pool, tractor, heat-pump, pool-pump, propane tanks (level), pool chemistry, dedicated 50amp power line for heat-pump for electrical, penair cleaner (FNS Plus Diatomaceous Earth filter) - the images, from iphone, average 2.4mb, too big, they need seo-naming, reduction, sorting into logical places in the schema, captions, identify the right location, then finally, look for emails for these items - maybe we have receipts, or bills in harvest.”
The 8 asset classes named
| # | Item | Probable substrate home | Notes |
|---|---|---|---|
| 1 | Pool (general / overview shots) | pa/pool/index.html (NEW top-level category — sibling to /well-water/) |
Likely needs landing-page scaffold first; pool is its own subsystem |
| 2 | Tractor | pa/vehicles/<tractor-slug>/ OR pa/equipment/tractor-<make-model>/ |
Confirm if /vehicles/ exists or if grounds equipment needs its own category |
| 3 | Heat-pump (pool heat-pump) | pa/pool/equipment/heat-pump/ |
Lives under /pool/ because it heats the pool |
| 4 | Pool-pump (circulation) | pa/pool/equipment/pool-pump/ |
Circulation/filtration backbone |
| 5 | Propane tanks (with level readings) | pa/utilities/propane/ OR pa/pool/heating-fuel/ |
Depends on whether propane only heats pool, or also house/grill |
| 6 | Pool chemistry | pa/pool/chemistry/ |
Test kits, salt/chlorine cells, pH adjustment, log of readings |
| 7 | Dedicated 50A electrical feed for heat-pump | pa/electrical/heat-pump-50a-feed/ OR pa/pool/equipment/electrical-feed/ |
Standalone electrical record; could live in either /electrical/ or under /pool/ |
| 8 | PenAir / FNS Plus Diatomaceous Earth filter | pa/pool/equipment/fns-plus-de-filter/ |
Pentair (likely — “PenAir” is probably Pentair) FNS Plus DE filter, the polishing filter in the pool equipment loop |
The 6-step per-photo workflow
For each of the 24 photos:
1. SEO-rename
Slug recipe per feedback_seo_rewrite_for_dropped_images.md:
- Equipment: <brand>-<model>-<aspect-or-view>.jpg (e.g. pentair-fns-plus-de-filter-rating-plate.jpg)
- Tractor: kubota-<model>-front-engine-bay.jpg (whatever the brand turns out to be)
- Propane tanks: propane-tank-2026-05-26-level-gauge-reading.jpg (dated because levels are temporal)
- Pool chemistry: pool-chemistry-test-kit-strip-results-2026-05-26.jpg
2. Reduce / web variant
Per feedback_asset_record_photo_drop_workflow.md — 2000 px wide @ JPEG quality 82 via sips --resampleWidth 2000 -s formatOptions 82 ... --out *-web.jpg.
Important correction from same-day learning: if any photo is already <2400 px wide AND <1 MB, skip the web variant (it would upscale + bloat). At 2.4 MB they’re almost certainly 4032×3024 iPhone landscape, so all 24 likely need web variants. Confirm dimensions before processing.
Never sips --rotate iOS share-sheet JPGs (double-rotate trap per feedback_iphone_photo_orientation_handling.md).
3. Sort into the schema
Apply the photo-strip ordering pattern per feedback_photo_strip_order_pattern.md: hero / in-use → details → rating-plate ALWAYS last. Land each photo in the right record folder; if the record doesn’t exist yet, scaffold it from the asset-record template (cf. pa/technology/qnap-ts-453a/index.html for the gold-standard tech-record structure, or pa/contractors/certified-water-services/index.html for the contractor structure).
4. Caption
Each photo gets a descriptive alt sentence (per feedback_seo_rewrite_for_dropped_images.md Part 2) AND a visible figcaption micro-caption in the photo strip. Captions carry brand / model / aspect / cross-reference.
5. Identify the right location (file-system)
- If
/pool/doesn’t exist yet, scaffold it as a top-level category mirroring/well-water/(perparked_sketch_pa_gfcx_well_water_top_level_category_2026-05-26.md). - Apply the EOD + stewardship-posture pattern per
feedback_tech_record_eod_and_stewardship_posture.mdto each pool-equipment record — heat-pumps EOD ~10-15 yrs, DE filters ~15-25 yrs (housing), pumps ~8-12 yrs, etc. - Cross-reference each record per
feedback_cross_references_smart_throughline_connected.md— pool-pump links to heat-pump links to electrical-feed links to chemistry log. The through-line is the pool subsystem.
6. Email + Harvest cross-reference
For each item, search:
- Fastmail 3. Projects > Contractors folder + general search for vendor/brand keywords (Pentair, Hayward, Kubota, John Deere, etc.)
- Harvest invoice export for purchase + service entries
- Receipts in pa/_receipts/ or wherever already-OCR’d receipts live
- Amazon orders substrate (already indexed) for any consumables — chemistry test strips, DE powder, chlorine tabs
Result of each cross-reference: a row in the record’s “Files archived” + Job-history sections; vendor link if the record turns into a contractor relationship.
Likely top-level category to scaffold first
pa/pool/ — sibling to /well-water/ — because at least 5 of the 8 asset classes drop under it:
- pool (landing)
- pool-pump (equipment)
- heat-pump (equipment)
- chemistry (sub-substrate)
- FNS Plus DE filter (equipment)
Plus the electrical-feed and the propane tanks may also cross-reference into /pool/.
The /pool/ landing should mirror the /well-water/ structure: system stack cards (pump · filter · heater · chemistry · electrical · structure · cover · plumbing) + service cadence + vendors-on-file (two-tier) + multi-dropzone (equipment / chemistry-logs / invoices / issues) + test-log archive + open issues + cross-references.
When resuming — first 5 minutes
- Find where Dan has the 24 photos — likely
~/Desktop/,~/Desktop/Sort/, or pasted directly into the chat. Confirm path. - Triage by asset class —
ls -la <path>/*.jpg+Readeach to identify which of the 8 classes it belongs to. (Or ask Dan to pre-sort if photos aren’t obviously labelled by filename.) - Scaffold
/pool/— if it doesn’t already exist, build the landing page first so the equipment records have a home. - Add the dropzone context mapping —
~/bin/pa_dropzone_apply.pyneedspa-pool+ maybepa-electrical+pa-equipment(for tractor) mappings before any dropzone use. - Process the photos in asset-class batches rather than 1-by-1 — all heat-pump shots together, then all pool-pump shots together, etc. Each batch = one record-build + photo-strip.
Cross-references
feedback_asset_record_photo_drop_workflow.md— the 5-step photo workflow this multiplies by 24feedback_seo_rewrite_for_dropped_images.md— slug-with-purpose + descriptive altfeedback_photo_strip_order_pattern.md— hero → details → rating-plate orderingfeedback_tech_record_eod_and_stewardship_posture.md— EOD horizon + posture rung per equipment recordfeedback_cross_references_smart_throughline_connected.md— connect pool ↔ chemistry ↔ electrical ↔ propane through-linefeedback_iphone_photo_orientation_handling.md— don’tsips --rotateparked_sketch_pa_gfcx_well_water_top_level_category_2026-05-26.md— analog for the /pool/ landing scaffoldfeedback_dropzone_pattern_shipped.md— addpa-pool+ sibling contexts to the apply scriptparked_sketch_receipt_vision_ocr_vehicle_history_2026-05-24.md— receipts may already be vision-OCR’d; check before re-extractingproject_amazon_orders_integration_parked.md— Amazon substrate for chemistry/consumablesproject_harvest_api_integration_parked.md— Harvest substrate for invoice extraction
Resume trigger
- Certified-water-services A-style redaction commit closes
- Dan signals “ok let’s do the 24 photos” or names a specific subset
- The Pentair / FNS Plus + Kubota / John Deere brands get confirmed from the photos (enables vendor-record sketches)
Likely follow-on parked sketches once this lands
parked_sketch_pa_pool_top_level_category_*.md— the /pool/ scaffold itself- Per-vendor parked sketches if the equipment owners identify (Pentair, whoever supplied the tractor, the 50A electrical contractor, the propane supplier)
- A
parked_sketch_pa_electrical_top_level_category_*.mdif /electrical/ doesn’t exist yet