Photo taken in Murguia, Spain — the Basque Country
Conversational AI search across I.F. Stone's Weekly (1953–1971) — 751 issues and 6,200+ articles from one of the most influential independent political newsletters in American journalism. For each question, a gpt-4o tool-calling agent plans its own research — issuing multiple scoped searches (by date range, author, or document type) and drilling into specific articles, each step shown as a live research trace. Every search runs as hybrid retrieval, fusing semantic (pgvector) and lexical (Postgres full-text) results via reciprocal rank fusion; the agent's findings are then deduped and synthesized into a cited answer grounded in the original text. If the agent fails, it falls back to a self-query parse that infers filters from the question — asking what Stone thought about Vietnam "before the LBJ administration" scopes results to articles dated before November 1963. Index-topic boosting (Work in Progress) will let Stone's own annual index categorizations influence ranking. Inline citations link directly to source articles and original PDFs.
A complete issue — Vol. V, No. 25, June 24, 1957. Click to read the original.
Converts scanned PDFs of I.F. Stone's Weekly (1953–1971) into structured JSON for RAG search. The VLM prompt design went through three iterations: first pure regex heuristics (brittle, column-unaware), then a bounding-box approach where Claude Sonnet saw only the page image and returned article coordinates for geometric line matching (failed on dense 2-column pages), and finally a block-assignment approach where the VLM receives both the page image and a numbered list of PyMuPDF-extracted text blocks with positions, directly grouping blocks into articles by content and visual layout. Key prompt rules emerged from testing: explicit instructions not to merge consecutive articles in the same column (the VLM would bundle small notes together) and to reference only blocks on the current page (it hallucinated cross-page block IDs). OpenCV detects bordered sidebars, and a Haiku stitching pass merges fragments across pages.
Conversational AI for exploring Federal Reserve Board of Governors meeting minutes (1967–1973) — roughly 30,000 pages obtained via FOIA and never previously public, spanning the collapse of Bretton Woods, the Nixon Shock, and rising inflation. A LangGraph agent (GPT-4o) plans its own research loop: a state machine that cycles between the model and retrieval tools, forced to search before answering so responses stay grounded in source text, drilling into specific meetings and returning deduped, ranked citations. The retrieval path is where the engineering went. A custom eval harness scores retrieval in isolation from generation (keyword recall, meeting hit-rate, MRR over a labeled golden set), and it drove the design — it showed single-shot search missing the canonical August 1971 meeting for a "convertibility"-phrased question, because the discriminating signal is temporal and embeddings capture that poorly, and it proved that multi-query expansion alone didn't fix it. The fix was retrieve-and-rerank: multi-query for recall, then LLM reranking for precision, which lifted meeting hit-rate from 50% to 100% on the labeled cases. Agent runs are traced end-to-end in LangSmith.
A beautiful demonstration of the Principle of Least Action. Originally by Slavomir Tuleja & Edwin F. Taylor (2003), modernized for today.
Geodesic Engine — Relativistic Flight Simulator. (Work in Progress) An interactive web-based simulator that models motion and vision in curved spacetime using differential geometry. Integrates geodesic equations derived from a metric tensor to simulate both spacecraft trajectories (timelike paths) and light propagation (null geodesics). Features a real-time cockpit view that renders gravitational lensing and black hole shadows by ray tracing photon paths from a local observer frame attached to the spacecraft. Inspired by Structure and Interpretation of Classical Mechanics, 2nd Ed and Functional Differential Geometry (pdf), emphasizing coordinate-invariant, geometry-driven computation.
Real-time webhook inspector and API debugger built to showcase Go's strengths. Generate unique endpoints, send any HTTP method to them, and watch requests stream into the browser instantly via WebSockets and Server-Sent Events. Captures headers, query parameters, bodies, timing, and source IPs with one-click replay. Under the hood: goroutine-per-connection fan-out with channels and sync.RWMutex, errgroup for structured concurrent processing, context.WithTimeout for cancellation propagation, http.Flusher for SSE streaming, interface-driven testing with zero framework — just the Go stdlib. Includes built-in benchmarks showing ~75k req/s parallel throughput on 8 cores.