Two projects I keep returning to — fetch messy signal, leave structure that ships.
A scraping and data platform aimed at the hard part: turning unreliable fetches into rows you can trust.
- Pipelines that survive messy HTML and shifting layouts
- Clean, validate, emit — without losing the trail
- Built to be operated, not just demoed
Fast sitemap structure in Rust — root to tree to something you can ship.
- Parse and walk large sitemaps without drama
- Clear tree shape over clever one-liners
- Small surface, serious throughput
I like systems that stay standing after the first good day.
Most of the interesting work sits between fetch and structure: pages that lie, encodings that drift, trees that grow uneven. The craft is making that boring — so the next person (often future me) can move without re-deriving the pain.
Prefer: clear data contracts, boring operational paths, and tools that explain themselves when they break.
More projects
A longer shelf — some sharp, some exploratory. Featured work stays above; this is the rest of the field.
Data & scrape
- Elusive_trades_data — trade-shaped datasets
- FashionDB — structured fashion data
- Data-visualizer — seeing the rows
- Data_science_dev — notebooks & pipelines
- ideal-url-organizer — URL hygiene
ML / local models
- mlx_Qwen_data_entry — Qwen on MLX for entry work
- MLX_convertion — conversion utilities
- rust_llm_logger — LLM logging in Rust
- Ai_code_detector — signal vs noise in code
Interface & play
Tools & stack
Languages and runtimes I reach for most:
- Scrape & ETL — Python, Scrapy-shaped pipelines, async fetch
- Structure — Rust, sitemap / tree walkers, typed edges
- Data — SQL-ish stores, parquet-friendly paths, careful schemas
- Interface — Swift widgets, small web surfaces
- Local ML — MLX, Qwen-family experiments, logging that doesn't lie
Day-to-day: prefer tools that are boring under load, inspectable when they fail, and quiet when they work.
Notes
- This profile README is markdown-first. Images are soft supporting beats that match the dark field (
#0B0D10) so they don't flash a different black than GitHub chrome. - Featured face: Scrapy + Rust-sitemap. The contribution field below is a live Platane/snk animation from the
outputbranch — not a static fake seed. - Commit score above refreshes via Actions (GraphQL lifetime total). Clicking the field or score goes to the profile overview.
- No multi-act story, no steampunk machine theater, no funeral copy. Just the file, crafted.
Ben Russell · build things that stay standing


