| --- |
| marp: true |
| theme: riprap |
| paginate: true |
| size: 16:9 |
| title: Riprap. Citation-grounded flood-exposure briefings for any place in New York City. |
| description: ASCE NY State Convention, Albany, May 13, 2026 |
| --- |
| |
| <!-- _class: lead --> |
| <!-- _paginate: false --> |
|
|
| <img class="lead-mark" src="logo.svg" alt="Riprap dam mark" /> |
|
|
| <div class="eyebrow" style="padding-top: 132px;"> |
| ASCE NY State Convention · Albany, NY · May 13, 2026 |
| </div> |
|
|
| # Riprap |
|
|
| ## Citation-grounded flood-exposure briefings for any place in New York City. |
|
|
| <div class="meta" style="grid-template-columns: auto 1px auto; margin-top: 28px;"> |
| <div> |
| <div class="meta-label">Speaker</div> |
| <div class="meta-value">Adam Munawar Rahman · IBM · MS CE, NYU</div> |
| </div> |
| <div class="meta-divider"></div> |
| <div> |
| <div class="meta-label">Invited by</div> |
| <div class="meta-value">Andrew Hicks</div> |
| </div> |
| </div> |
| |
| --- |
|
|
| <div class="eyebrow">00 · Learning objectives</div> |
|
|
| # What you will take away. |
|
|
| <p style="font-size: 18px; color: var(--ink-3); margin-bottom: 16px; max-width: none;">After this session, you will be able to:</p> |
|
|
| <ol style="margin-top: 0;"> |
| <li>Describe a <strong>citation-grounded architecture</strong> for synthesizing multi-source flood evidence into auditable, site-specific narratives.</li> |
| <li>Identify where this approach is <strong>appropriate</strong> (screening, grant evidence, capital planning) and where it is <strong>not</strong> (hydraulic modeling, stamped deliverables).</li> |
| <li>Evaluate the <strong>guarantees and limitations</strong> of LLM-based evidence synthesis in civil engineering practice.</li> |
| <li>Apply the Five-Stone architecture to <strong>riverine, ice-jam, and dam-failure flooding</strong>.</li> |
| </ol> |
|
|
|
|
| --- |
|
|
| <div class="eyebrow">01 · The problem</div> |
|
|
| # When you assess flood exposure, the evidence sits in eight or more places. |
|
|
| <p style="font-size: 20px; color: var(--ink-2); max-width: 72ch; margin-bottom: 14px;">For a capital project, a grant application, a vulnerability assessment, or a property disclosure — the relevant evidence sits across eight or more disconnected primary sources. Synthesizing them into a citable narrative takes hours of GIS work per site.</p> |
|
|
| <div class="box-grid cols-4" style="margin-top: 0; gap: 10px;"> |
|
|
| <div class="box tinted"> |
| <div class="lbl" style="color: #005EA2;">Federal</div> |
| <div class="body" style="font-size: 15px;">FEMA NFHL<br>USGS 3DEP LiDAR<br>USGS HWMs (Ida, Sandy)<br>NOAA CO-OPS tide</div> |
| </div> |
|
|
| <div class="box tinted"> |
| <div class="lbl" style="color: #1A4480;">State</div> |
| <div class="body" style="font-size: 15px;">NPCC4 SLR projections<br>NYS Mesonet<br>NWS METAR / watches<br>NY EJNYC FVI</div> |
| </div> |
|
|
| <div class="box tinted"> |
| <div class="lbl" style="color: #0E7490;">City</div> |
| <div class="body" style="font-size: 15px;">NYC DEP stormwater scenarios<br>NYC 311 flood complaints<br>FloodNet sensor network<br>NYC DOB filings</div> |
| </div> |
|
|
| <div class="box dark"> |
| <div class="lbl">The gap</div> |
| <div class="body" style="font-size: 15px;">No common schema. Different vintages. Different spatial resolutions. Different epistemic tiers.<br><br><strong>Each site synthesized by hand.</strong></div> |
| </div> |
|
|
| </div> |
|
|
| <p style="margin-top: 12px; font-size: 20px;">When a number meets resistance, <strong>the only defense is the audit trail.</strong></p> |
|
|
| --- |
|
|
| <div class="eyebrow">02 · Solution</div> |
|
|
| # A flood-exposure briefing for any place in New York City. |
|
|
| <div style="border: 2px solid #94A3B8; border-radius: 2px; overflow: hidden; height: 450px;"> |
| <img src="../../assets/screenshots/hero.png" style="width: 100%; height: 100%; object-fit: cover; object-position: top;" /> |
| </div> |
|
|
| --- |
|
|
| <div class="eyebrow">03 · Architecture</div> |
|
|
| # Five Stones. Each with one job. |
|
|
| <p style="margin: 4px 0 10px; font-size: 17px; color: var(--ink-3); font-family: var(--font-mono);">query → <strong style="color: var(--ink);">Planner</strong> (Granite 4.1 3B, intent classification) → Stone roster → <strong style="color: var(--ink);">Capstone</strong> (Granite 4.1 8B + Mellea) → briefing</p> |
|
|
| <div style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 0;"> |
|
|
| <div style="background: var(--paper-deep); border: 1px solid var(--rule-soft); border-top: 3px solid #475569; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px;"> |
| <div style="display: flex; justify-content: space-between; align-items: baseline;"> |
| <span style="font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #475569;">Cornerstone · USGS 3DEP</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3);">2020</span> |
| </div> |
| <div style="font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.2; margin-bottom: 4px;">Microtopography (HAND / TWI)</div> |
| <div style="display: grid; grid-template-columns: auto 1fr; gap: 2px 8px;"> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.08em;">HAND</span><span style="font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #475569;">0.82 m</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.08em;">TWI</span><span style="font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #475569;">14.3</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.08em;">Elev.</span><span style="font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #475569;">2.1 m MSL</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.08em;">Pct. lower</span><span style="font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #475569;">78%</span> |
| </div> |
| <div style="margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--rule-soft); font-family: var(--font-mono); font-size: 10px; color: #475569; font-weight: 600;">[topo]</div> |
| </div> |
| |
| <div style="background: var(--paper-deep); border: 1px solid var(--rule-soft); border-top: 3px solid #1A4480; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px;"> |
| <div style="display: flex; justify-content: space-between; align-items: baseline;"> |
| <span style="font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #1A4480;">Keystone · TerraMind-NYC</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3);">2024</span> |
| </div> |
| <div style="font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.2; margin-bottom: 4px;">Building footprint coverage</div> |
| <div style="margin: 6px 0;"> |
| <div style="font-family: var(--font-mono); font-size: 30px; font-weight: 700; color: #1A4480; line-height: 1;">48.41<span style="font-size: 16px;">%</span></div> |
| <div style="font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); margin-top: 3px;">250 m radius · Buildings LoRA adapter</div> |
| </div> |
| <div style="margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--rule-soft); font-family: var(--font-mono); font-size: 10px; color: #1A4480; font-weight: 600;">[keystone_bldg]</div> |
| </div> |
| |
| <div style="background: var(--paper-deep); border: 1px solid var(--rule-soft); border-top: 3px solid #0E7490; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px;"> |
| <div style="display: flex; justify-content: space-between; align-items: baseline;"> |
| <span style="font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #0E7490;">Touchstone · NYC 311</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3);">live</span> |
| </div> |
| <div style="font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.2; margin-bottom: 4px;">Flood complaints · 200 m buffer</div> |
| <div style="margin: 4px 0;"> |
| <svg viewBox="0 0 220 60" style="width:100%; display:block;"> |
| <rect x="8" y="52" width="212" height="1" fill="#CBD5E1"/> |
| <rect x="12" y="35" width="28" height="17" fill="#0E7490" rx="1"/> |
| <rect x="54" y="18" width="28" height="34" fill="#0E7490" rx="1"/> |
| <rect x="96" y="10" width="28" height="42" fill="#0E7490" rx="1"/> |
| <rect x="138" y="10" width="28" height="42" fill="#0E7490" rx="1"/> |
| <rect x="180" y="27" width="28" height="25" fill="#0E7490" rx="1"/> |
| <text x="26" y="32" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="8" fill="#0E7490">2</text> |
| <text x="68" y="15" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="8" fill="#0E7490">4</text> |
| <text x="110" y="7" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="8" fill="#0E7490">5</text> |
| <text x="152" y="7" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="8" fill="#0E7490">5</text> |
| <text x="194" y="24" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="8" fill="#0E7490">3</text> |
| <text x="26" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">'19</text> |
| <text x="68" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">'20</text> |
| <text x="110" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">'21</text> |
| <text x="152" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">'22</text> |
| <text x="194" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">'23</text> |
| </svg> |
| <div style="font-family: var(--font-mono); font-size: 10px; color: var(--ink-3);">19 requests · 5-yr lookback</div> |
| </div> |
| <div style="margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--rule-soft); font-family: var(--font-mono); font-size: 10px; color: #0E7490; font-weight: 600;">[nyc311]</div> |
| </div> |
| |
| <div style="background: var(--paper-deep); border: 1px solid var(--rule-soft); border-top: 3px solid #92400E; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px;"> |
| <div style="display: flex; justify-content: space-between; align-items: baseline;"> |
| <span style="font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #92400E;">Lodestone · Granite TTM r2</span> |
| <span style="font-family: var(--font-mono); font-size: 9px; color: var(--ink-3);">live</span> |
| </div> |
| <div style="font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.2; margin-bottom: 4px;">Surge residual nowcast</div> |
| <div style="margin: 4px 0;"> |
| <svg viewBox="0 0 220 60" style="width:100%; display:block;"> |
| <path d="M10,40 35,30 60,19 85,16 110,21 135,27 160,34 185,40 210,45 L210,52 L10,52 Z" fill="#92400E" opacity="0.12"/> |
| <rect x="8" y="52" width="212" height="1" fill="#CBD5E1"/> |
| <line x1="60" y1="19" x2="60" y2="52" stroke="#92400E" stroke-width="1" stroke-dasharray="3,2" opacity="0.6"/> |
| <polyline points="10,40 35,30 60,19 85,16 110,21 135,27 160,34 185,40 210,45" fill="none" stroke="#92400E" stroke-width="2" stroke-linejoin="round"/> |
| <circle cx="60" cy="19" r="3" fill="#92400E"/> |
| <text x="65" y="17" font-family="IBM Plex Mono,monospace" font-size="8" fill="#92400E" font-weight="700">0.22 ft</text> |
| <text x="10" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">0h</text> |
| <text x="60" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#92400E">NOW</text> |
| <text x="110" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">4.8h</text> |
| <text x="210" y="59" text-anchor="middle" font-family="IBM Plex Mono,monospace" font-size="7" fill="#94A3B8">9.6h</text> |
| </svg> |
| <div style="font-family: var(--font-mono); font-size: 10px; color: var(--ink-3);">peak surge residual · 9.6 h horizon</div> |
| </div> |
| <div style="margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--rule-soft); font-family: var(--font-mono); font-size: 10px; color: #92400E; font-weight: 600;">[ttm_surge]</div> |
| </div> |
| |
| </div> |
|
|
| <p style="margin-top: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3);">Real evidence cards rendered by the live system · 442 East Houston Street, Manhattan.</p> |
|
|
| <div class="box" style="border-top: 3px solid #162E51; margin-top: 10px; padding: 10px 18px;"> |
| <span style="font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #162E51;">Capstone</span> |
| <span style="font-size: 15px; color: var(--ink-2); margin-left: 14px;">Granite 4.1 8B + Mellea rejection sampling · <code>numerics_grounded</code> · <code>no_placeholder_tokens</code> · <code>citations_dense</code> · <code>citations_resolve</code> · reroll until every claim cites its source → <strong>cited 4-section briefing</strong></span> |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">04 · Demo</div> |
| |
| # Live demo. |
| |
| <div style="margin: 40px 0 18px; text-align: center;"> |
| <p style="font-family: var(--font-mono); font-size: 28px; font-weight: 700; color: var(--ink); margin: 0 auto; max-width: 860px; line-height: 1.35;">“Hollis, Queens”</p> |
| </div> |
| |
| <p style="text-align: center; font-style: italic; font-size: 16px; color: var(--ink-3); margin: 0 auto 28px; max-width: 72ch;">A neighborhood-scale briefing. NYC DEP and OEM planners use this shape of query when scoping where the next $30B stormwater priority site should land.</p> |
| |
| <div class="box-grid cols-3" style="margin-top: 0;"> |
| <div class="box" style="text-align: center; padding: 14px 18px;"> |
| <div class="stat-value" style="font-size: 40px;">5.8 s</div> |
| <div class="stat-label">end-to-end</div> |
| </div> |
| <div class="box" style="text-align: center; padding: 14px 18px;"> |
| <div class="stat-value" style="font-size: 40px;">4 / 4</div> |
| <div class="stat-label">grounding checks every run</div> |
| </div> |
| <div class="box tinted" style="text-align: center; padding: 14px 18px;"> |
| <div class="stat-value" style="font-size: 40px;">8+</div> |
| <div class="stat-label">primary public-record sources</div> |
| </div> |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">05 · Civic applications</div> |
| |
| # The civic case for civil engineers. |
| |
| <div class="box-grid cols-2" style="margin-top: 8px;"> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #005EA2;">Grant evidence</div> |
| <div class="body">HUD CDBG-DR and FEMA BRIC vulnerability assessments. Riprap auto-generates the per-NTA evidence section for each site in a program area. Citable, reproducible, open-source.</div> |
| </div> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #1A4480;">Capital project screening</div> |
| <div class="body">NYC DEP Bluebelt expansion, NYCHA resilience hardening, MTA station prioritization, DOE school siting. Site-by-site evidence packages at the screening tier, before the hydraulic modeling budget is spent.</div> |
| </div> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #0E7490;">NY State Infrastructure Report Card</div> |
| <div class="body">The 2026 report is in preparation. Riprap is the per-place evidence layer for the flood-exposure chapter of any future NY State infrastructure report — reproducible at every address.</div> |
| </div> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #92400E;">Property disclosure compliance</div> |
| <div class="body">NY’s March 2024 Property Condition Disclosure flood-risk amendment requires sellers to disclose flood history. Riprap is the citable narrative behind the disclosure — every claim sourced.</div> |
| </div> |
| |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">06 · What Riprap is not.</div> |
| |
| # What Riprap is not. |
| |
| <p style="font-size: 18px; color: var(--ink-3); margin-bottom: 14px; max-width: none;">The civil engineer carries the stamp. Riprap surfaces the evidence the engineer judges.</p> |
| |
| <div class="box-grid cols-2" style="margin-top: 0; gap: 12px;"> |
| |
| <div class="box" style="border-top: 3px solid var(--rule-soft);"> |
| <div class="lbl">Not a hydraulic model</div> |
| <div class="body" style="font-size: 17px;">Riprap does not replace HEC-RAS, SWMM, or ICM. It synthesizes evidence from completed modeling work; it does not produce new flow or stage estimates. No substitute for a calibrated hydraulic model.</div> |
| </div> |
| |
| <div class="box" style="border-top: 3px solid var(--rule-soft);"> |
| <div class="lbl">Not a stamped deliverable</div> |
| <div class="body" style="font-size: 17px;">The briefing is a starting point for a memo, not the memo itself. Professional judgment, field reconnaissance, and the engineer’s stamp are required for any actionable deliverable.</div> |
| </div> |
| |
| <div class="box" style="border-top: 3px solid var(--rule-soft);"> |
| <div class="lbl">Not a substitute for site investigation</div> |
| <div class="body" style="font-size: 17px;">Microtopography is from 1 m USGS 3DEP LiDAR, appropriate for screening, not for design. Field reconnaissance, soil borings, and survey are not replaced.</div> |
| </div> |
| |
| <div class="box" style="border-top: 3px solid var(--rule-soft);"> |
| <div class="lbl">Not a risk score</div> |
| <div class="body" style="font-size: 17px;">Riprap does not output a 1–10 or 1–100 number. Score-based tools (First Street, ClimateCheck, Jupiter) are different products for different audiences. Riprap is the evidence audit trail behind any such judgment.</div> |
| </div> |
| |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">07 · Directions</div> |
| |
| # Where this goes from here. |
| |
| <p style="margin-bottom: 14px; font-size: 18px; color: var(--ink-3); font-family: var(--font-mono); letter-spacing: 0.02em;">The architecture is data-choice-specific, not code-specific.</p> |
| |
| <div class="box-grid cols-2" style="margin-top: 0;"> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #005EA2;">Upstate NY flooding</div> |
| <div class="body">The same five-Stone pattern for riverine, ice-jam, and dam-failure flooding. Different primary sources, same architecture.</div> |
| </div> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #475569;">Historical-event mode</div> |
| <div class="body">Re-run the system against snapshot data from any past date. Calibration as a core feature.</div> |
| </div> |
| |
| <div class="box"> |
| <div class="lbl" style="color: #1A4480;">Stones as standalone packages</div> |
| <div class="body">Each Stone runs alone. Pull one without the full Riprap stack.</div> |
| </div> |
| |
| <div class="box tinted"> |
| <div class="lbl" style="color: #0E7490;">Cross-domain</div> |
| <div class="body">The same pattern for transit, water, energy, and structural-condition reporting. Flood is the first domain.</div> |
| </div> |
| |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">08 · How it was built</div> |
| |
| # The art of the possible. |
| |
| <div class="box-grid cols-2" style="margin-top: 8px; gap: 20px;"> |
| |
| <div> |
| <p style="font-size: 20px; color: var(--ink-2); max-width: none; margin-bottom: 16px;">Three days of AI-assisted development, on top of months of design thinking. Four foundation models. Three Apache-2.0 NYC fine-tunes trained on AMD MI300X for the AMD × lablab.ai Developer Hackathon (May 4–10, 2026).</p> |
| <p style="font-size: 20px; color: var(--ink-2); max-width: none;">Apache-2.0 end-to-end on public-record federal, state, and city data. No commercial APIs contacted at runtime.</p> |
| <p style="font-size: 20px; color: var(--ink); max-width: none; margin-top: 12px;"><strong>Built in three days. Designed over months. The tools have shifted what one engineer can ship.</strong></p> |
| </div> |
| |
| <div> |
| <div class="box tinted" style="margin-bottom: 10px;"> |
| <div class="lbl">Foundation models</div> |
| <div class="body" style="font-size: 15px;">IBM Granite 4.1 8B (synthesizer) · IBM Granite Embedding 278M (RAG) · GLiNER (typed extraction) · vLLM on AMD MI300X</div> |
| </div> |
| <div class="box tinted" style="margin-bottom: 10px;"> |
| <div class="lbl">NYC fine-tunes (Apache-2.0, HF Hub)</div> |
| <div class="body" style="font-size: 15px;">Prithvi-EO-2.0-NYC-Pluvial (flood detection, IoU 0.598) · TerraMind-NYC-Adapters (LULC + Buildings) · Granite-TTM-r2-Battery-Surge (surge nowcast, RMSE 0.157 m)</div> |
| </div> |
| <div class="box tinted"> |
| <div class="lbl">Agentic framework</div> |
| <div class="body" style="font-size: 15px;">Burr FSM · Mellea rejection sampling · LiteLLM Router (vLLM / Ollama failover) · FastAPI SSE stream</div> |
| </div> |
| </div> |
| |
| </div> |
| |
| --- |
| |
| <div class="eyebrow">09 · Discussion</div> |
| |
| # What I want from this room. |
| |
| <div class="box" style="border-left: 3px solid var(--accent); padding: 18px 24px; margin-bottom: 18px; background: var(--paper-deep);"> |
| <div class="body" style="font-size: 19px; line-height: 1.5; max-width: none;">I am a software engineer, not a civil engineer. The system I just showed you is opinionated about what counts as evidence: citation-grounded, silent when uncertain, public-record only. But I am less sure about where it falls short of how a stamped engineering deliverable would need to behave.</div> |
| </div> |
| |
| <p style="font-size: 19px; font-weight: 600; color: var(--ink); margin-bottom: 10px;">Three questions for the room:</p> |
| |
| <ol> |
| <li>Where in your practice would a tool like this be <strong>useful</strong>, and where would it be a <strong>liability</strong>?</li> |
| <li>What <strong>evidence sources</strong> are you using that Riprap does not yet know about?</li> |
| <li>What would have to be true for a citation-grounded narrative tool to be <strong>trusted as a screening-tier deliverable</strong>?</li> |
| </ol> |
| |
| <hr style="margin: 16px 0;" /> |
| |
| <p style="font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin: 0;">Open-source · Apache-2.0 · github.com/msradam/riprap-nyc</p> |
| |
| --- |
| |
| <!-- _class: cta --> |
|
|
| <img class="cta-mark" src="logo-paper.svg" alt="Riprap dam mark" /> |
|
|
| <div class="eyebrow" style="margin-top: 124px; color: var(--accent); border: 0; padding: 0;">Riprap · citation-grounded flood briefings</div> |
|
|
| <h1 style="white-space: nowrap; font-size: 72px;">github.com/msradam/riprap-nyc</h1> |
|
|
| <hr> |
|
|
| <p style="font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase;"> |
| Apache-2.0 · public data only · IBM Granite 4.1 · AMD MI300X · Mellea grounding |
| </p> |
|
|
| <p style="font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(244,246,249,0.55); margin-top: 16px;"> |
| ASCE NY State Convention · Albany, NY · May 13, 2026 |
| </p> |
|
|
| <p style="font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; color: rgba(244,246,249,0.4); margin-top: 24px; text-transform: none;"> |
| Dam mark: “Dam” by Chintuza via the Noun Project, CC-BY 3.0. |
| </p> |
|
|
| --- |
|
|
| <!-- _paginate: false --> |
| |
| <div class="eyebrow">Appendix A · The receipts</div> |
| |
| # 5 of 5 NYC addresses. Every claim verified, every run. |
| |
| <table> |
| <thead> |
| <tr><th>address</th><th>intent</th><th>wall</th><th>steps</th><th>verified</th></tr> |
| </thead> |
| <tbody> |
| <tr><td>442 E Houston St · LES</td><td>address</td><td>7.6 s</td><td>19</td><td>4/4</td></tr> |
| <tr><td>80 Pioneer St · Red Hook</td><td>address</td><td>13.1 s</td><td>19</td><td>4/4</td></tr> |
| <tr><td>100 Gold St · Manhattan</td><td>address</td><td>11.2 s</td><td>19</td><td>4/4</td></tr> |
| <tr><td>Hollis · Queens</td><td>neighborhood</td><td>5.8 s</td><td>9</td><td>4/4</td></tr> |
| <tr><td>Coney Island · Brooklyn</td><td>neighborhood</td><td>9.9 s</td><td>9</td><td>4/4</td></tr> |
| </tbody> |
| </table> |
| |
| <div class="box-grid cols-3" style="margin-top: 16px;"> |
| <div class="box"> |
| <div class="lbl">Wall-clock</div> |
| <div class="stat-value">5.8–13.1<span style="font-size: 22px; color: var(--ink-3); font-weight: 400; letter-spacing: 0;"> s</span></div> |
| <div class="stat-label">vLLM on AMD MI300X</div> |
| </div> |
| <div class="box"> |
| <div class="lbl">Evidence layers</div> |
| <div class="stat-value">5</div> |
| <div class="stat-label">Stones per briefing</div> |
| </div> |
| <div class="box"> |
| <div class="lbl">Grounding</div> |
| <div class="stat-value">4 / 4</div> |
| <div class="stat-label">source checks every run</div> |
| </div> |
| </div> |
| |
| --- |
| |
| <!-- _paginate: false --> |
|
|
| <div class="eyebrow">Appendix B · Primary sources</div> |
|
|
| # Sources. Every claim traces to one of these. |
|
|
| <div class="box-grid cols-3" style="margin-top: 8px; gap: 10px;"> |
|
|
| <div class="box tinted"> |
| <div class="lbl" style="color: #005EA2;">Federal</div> |
| <div class="body" style="font-size: 14px; line-height: 1.6;"> |
| FEMA NFHL (current)<br> |
| USGS 3DEP 1 m LiDAR (2020)<br> |
| USGS HWMs — Sandy 2012, Ida 2021<br> |
| NOAA CO-OPS tide gauge, Battery (live)<br> |
| NWS METAR / flood watches (live) |
| </div> |
| </div> |
| |
| <div class="box tinted"> |
| <div class="lbl" style="color: #1A4480;">State / regional</div> |
| <div class="body" style="font-size: 14px; line-height: 1.6;"> |
| NPCC4 SLR projections (2023)<br> |
| NY EJNYC Flood Vulnerability Index (2024)<br> |
| NYS Mesonet (live)<br> |
| NY Property Condition Disclosure (Mar 2024) |
| </div> |
| </div> |
| |
| <div class="box tinted"> |
| <div class="lbl" style="color: #0E7490;">City</div> |
| <div class="body" style="font-size: 14px; line-height: 1.6;"> |
| NYC DEP stormwater scenarios (2024)<br> |
| NYC 311 flood complaints (live, 5-yr)<br> |
| FloodNet sensor network (live)<br> |
| NYC DOB filings (live)<br> |
| NYC Open Data — NYCHA, DOE, MTA, hospitals |
| </div> |
| </div> |
| |
| </div> |
|
|
| <p style="margin-top: 14px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3);">All datasets are public-record. No commercial data APIs. No proprietary hazard scores.</p> |
|
|