Case study. First canonical collaborative FLUX project.
Philadelphia, Pennsylvania. May 10, 2026.
DATE: 2026-05-10
PHOTOGRAPHERS: Dante Sisofo, Dylan Stone
ROUTE: Cheltenham Avenue → Philadelphia Navy Yard
DISTANCE: ~11 miles
FRAMES: 50 total (35 Dante Sisofo / 15 Dylan Stone)
CAMERA: Ricoh GR IIIx
IMAGE CONTROL: High Contrast B&W
FILE TYPE: Small JPEG
GPS: Embedded via GR World (Ricoh app)
DURATION: ~7 hours (07:45 → 15:31)
Two photographers. One street. One day.
Both moved north to south across the full spine of Philadelphia — Cheltenham Avenue at the northern boundary to the Navy Yard at the southern terminus — documenting the city in real time from two separate positions on opposite sides of Broad Street.
Every photograph contains the exact date, time, and GPS coordinates of the moment it was made. The GPS data is not a tag added in post. It is embedded in the original JPEG at the moment of exposure via the Ricoh GR World mobile app.
The goal was not to make "good photographs."
The goal was to make a complete temporal and geographic document of a city in flux.
This project functions as:
Ricoh GR IIIx
The Ricoh GR is the correct tool for this protocol.
Small. Fast. Pocketable. Shoots small JPEG. GPS-compatible via Ricoh app.
Image Control: High Contrast B&W
High/Low Key: -2
Contrast: +4
Highlight Contrast: -4
Shadow Contrast: 0
Sharpness: +4
Shading: +4
Clarity: +4
Grain: ON
Grain Size: 2
Toning: OFF
These settings produce a high-contrast monochrome output in-camera.
No post-processing. The JPEG is the final file.
Reference: Ricoh_GRIV_Monochrome_Settings_Dante_Sisofo.pdf (20 MB)
Small JPEG only. No RAW. No large JPEG. Small JPEG files transfer faster, automate faster, archive more efficiently, and produce no editing backlog.
Move continuously. Do not double back. Do not overthink. Photograph what is in front of you. Respond to light, gesture, form, and movement.
This is the most technically critical step. If GPS is not configured correctly, the automation pipeline breaks. All downstream outputs — captions, CSV, maps, zines — depend on GPS coordinates embedded in the JPEG metadata at capture time.
Before the project walk, a GPS test session was conducted on May 3, 2026 — one week prior. 42 test frames were made on foot near Philadelphia to confirm that GPS coordinates were accurately embedded, persisted through camera sleep/wake cycles, and survived the transfer pipeline.
The test confirmed accurate GPS embedding across an extended walk.
Source: source/in-flux-broad-street/gps t3est/
Menu → Wrench Icon → Wireless Communication
Wireless LAN: ON
Action Mode: ON
Pairing: Execute Pairing
Smartphone Link with Store Location: ON
Settings → Privacy & Security → Location Services → GR World
Allow Location Access: Always
Precise Location: ON
Inside GR World App:
App Settings → Background Location Information Transmission: No Time Limit
App Settings → Location Information Transmission Frequency: High
Indicators of confirmed GPS recording:
Test before the walk begins. Make 1–2 test photographs and verify GPS fields in EXIF. Do not begin the project walk until GPS confirmation is complete.
Meet time: 07:00
Start point: Cheltenham Avenue (northern boundary, Philadelphia / Cheltenham Township)
Direction: South
End point: Philadelphia Navy Yard
Dante photographed one side of Broad Street.
Dylan photographed the opposite side.
Rules during the walk:
The sequence of capture becomes the structure of the archive.
The order of the walk is the order of the zine.
First frame: 07:45:58 — 1436 West Cheltenham Avenue, West Oak Lane, Philadelphia
Last frame: 15:31:24 — Philadelphia Navy Yard area
Total duration: approximately 7 hours 46 minutes.
BroadStreet_InFlux/
├── Dante/
│ └── Photos/
├── Dylan/
│ └── Photos/
└── Output/
After the walk, each photographer transferred their photographs from the camera to their laptop via the Ricoh GR World app or direct USB connection, then dragged the files into their respective Photos/ folder.
After processing, photographs were renamed to the canonical FLUX filename convention:
broad-street-in-flux_{seq:03d}_{photographer-slug}_{YYYY-MM-DD}_{HH-MM-SS}.jpg
Examples:
broad-street-in-flux_001_dante-sisofo_2026-05-10_07-45-58.jpg
broad-street-in-flux_003_dylan-stone_2026-05-10_07-57-08.jpg
broad-street-in-flux_007_dante-sisofo_2026-05-10_08-24-37.jpg
Sequence numbers are assigned chronologically across both photographers combined. Gaps in a single photographer's sequence indicate frames by the other photographer during that time window.
A single script execution reads all JPEG files, extracts EXIF metadata (including GPS), performs reverse geocoding to convert coordinates to street addresses, generates captions, and produces all downstream outputs automatically.
INPUT: JPEG files from Dante/ and Dylan/
OUTPUT:
broad-street-in-flux-google-my-maps.csv GPS + address data for Google My Maps
broad-street-in-flux-captioned-zine.pdf Captioned zine PDF
Every photograph is automatically captioned:
2026:05:10 08:24:37
6831 North Broad Street, East Oak Lane, Philadelphia, PA
Dante Sisofo
Caption components: timestamp, full street address (from GPS reverse geocode), photographer name. No manual captioning. No manual sequencing.
Reference script: auto-script.pdf
The archive generator produces a structured JSON manifest:
{
"filename": "broad-street-in-flux_007_dante-sisofo_2026-05-10_08-24-37.jpg",
"originalFilename": "R0022840.JPG",
"photographer": "Dante Sisofo",
"photographerSlug": "dante-sisofo",
"date": "2026-05-10",
"time": "08:24:37",
"address": "6831 North Broad Street, East Oak Lane, Philadelphia, PA",
"lat": 40.05787,
"lon": -75.140704
}
50 entries. Every frame. Archive: archive.json
GPS coordinates embedded in the photographs were used to plot the walk geographically. This was an early field test of GPS-mapped photography workflows — not a finalized automated system, but a manual prototype that confirmed the data was usable.
The automation script exported a CSV of GPS coordinates and street addresses. That CSV was manually imported into Google My Maps to visualize the route.
1. Script generates: broad-street-in-flux-google-my-maps.csv
Columns: Latitude, Longitude, Address, Photographer, Timestamp
2. Google My Maps → Create new map → Import CSV
Place markers by: Latitude / Longitude
3. Google Photos album imported separately
Photographs manually attached to approximate capture locations
This confirmed that GPS embedding was working correctly across 11 miles and 7+ hours of walking — and that the coordinate data survived the full transfer and processing pipeline.
The Google My Maps export is a prototype visualization, not the canonical archive interface.
The live archive at flux.dantesisofo.com/broad-street/ is the primary access point.
The CSV is preserved as a secondary geotagging artifact.
This early mapping work helped define what an automated FLUX project generator would eventually need to produce: coordinates, addresses, and spatially indexed photographs, generated without manual import steps.
CSV file: broad-street-in-flux-google-my-maps.csv
The captioned zine PDF is generated automatically by the script.
Paper Size: 8.5 × 11 in
Orientation: Landscape
Double-Sided: ON
Flip On: Short Edge
Stack sheets.
Two staples on left side.
The object should feel temporary, reproducible, distributable.
The zine is not precious. The zine is evidence.
The HTML generator (generator/flux-generator.html) produces a complete static
archive website from the photographs and metadata. The archive includes:
Archive: archive/index.html (local package)
Live: flux.dantesisofo.com/broad-street/
archive/index.html Live archive web page
archive/broad-street-in-flux_dante-sisofo_dylan-stone.pdf Project PDF (31MB)
archive/data/archive.json 50-entry GPS manifest
archive/data/metadata.csv Metadata CSV
archive/downloads/photos.zip All originals (236MB)
documents/broad-street-in-flux-google-my-maps.csv GPS coordinates CSV (prototype map export)
Printed zine (staple-bound, 8.5×11, landscape)
Loose photograph stack (50 prints, unbound, chronological)
video/broad-street-behind-the-scenes.mp4 167MB — behind the scenes documentation
video/broad-street-in-flux-book.mp4 32MB — zine flip-through
audio/15th-street-philadelphia-city-hall-station.m4a Field audio, 15th Street
flux.dantesisofo.com/broad-street/
Chronological grid. Photographer filter. Downloadable PDF. Downloadable originals ZIP.
GPS manifest. All 50 frames.
broad-street-in-flux.pdf — 31 MB — full project PDF
flux-generator.html — 60 KB — offline HTML generator
broad-street-in-flux-google-my-maps.csv — GPS coordinates CSV
archive.json — 50-entry GPS manifest
metadata.csv — metadata manifest
auto-script.pdf — automation script
ricoh-gr-monochrome-settings.pdf — 20 MB — camera settings document
photos.zip — 236 MB — all 50 originals — available at live archive
What this project confirmed or clarified about the FLUX protocol:
GPS must be confirmed before the walk begins.
A one-week pre-test session (May 3, 2026) was necessary to confirm GPS embedding
worked correctly across camera sleep/wake cycles and extended walking sessions.
The test is not optional.
GR World must be set to "No Time Limit."
The default background location transmission limit causes GPS data to stop being
embedded after a set period. This setting must be explicitly changed before the walk.
Small JPEG is the correct file type for this workflow.
RAW files would have added processing time, storage overhead, and editing friction
with no benefit for a high-contrast in-camera monochrome workflow.
Chronological interleaving of two photographers works.
Assigning sequence numbers across both photographers simultaneously — based on
capture timestamp — produces a coherent combined sequence. The archive reads
as one document, not two separate sets.
The automation pipeline must be tested before the walk.
Running a test import and verifying GPS extraction, reverse geocoding, and
caption generation before the project date eliminates uncertainty during processing.
What worked:
What would change:
gps t3est/ session revealed that GPS embedding is not automatic without
explicit setup. This step should be formalized in any participant kit.| Asset | Location |
|---|---|
| Camera settings | ricoh-gr-monochrome-settings.pdf |
| Automation script | auto-script.pdf |
| GPS coordinates CSV (prototype) | broad-street-in-flux-google-my-maps.csv |
| GPS setup screenshots | media/screenshots/gps/ (local package) |
| Prototype map screenshots | media/screenshots/maps/ (local package) |
| Generator screenshots | media/screenshots/generator/ (local package) |
| Physical zine photos | media/book/ (local package) |
| Field documentation video | embedded above |
| Zine flip-through video | embedded above |
| GPS manifest | archive.json |
| Live archive | flux.dantesisofo.com/broad-street/ |
| Project PDF | broad-street-in-flux.pdf |
FLUX_PROJECT_v1.0 — flux.dantesisofo.com/wiki/broad-street/