I ship local-first software with AI as the co-pilot, build worlds in Unreal and Blender, and turn messy records into reports people can act on.
Portfolio · Tableau Public · ArtStation · LinkedIn · daman.w3d@gmail.com
Six end-to-end case studies, five on synthetic data and one on real government monitoring data. SQL model in DuckDB, automated checks that gate every export, reports generated from code.
- India air quality, real data: 36.1M valid readings from 107 stations. 423 of 423 report figures match SQL.
- SaaS revenue leaks: dbt star schema and a leak monitor. 5 of 5 planted leaks found blind.
- Supply chain: 14-day stockout AUC 0.840 vs 0.699 for the reorder-point rule. Live dashboard
- Hospital operations: 30-day readmission AUC 0.786 vs 0.749 for the LACE index.
- HR analytics: flight-risk model, ROC AUC 0.658, sensitive attributes excluded. Live dashboard
- Personal finance: 15 reconciliation checks gate the Power BI export.
- protec: local password manager; Rust core, Tauri and Svelte app, browser extension. 16 hardening fixes from a six-area audit.
- openfill, beta: Generative Fill, Remove and Expand for Photoshop, on your own OpenAI or Gemini key. 23 of 23 self-test scenarios pass in Photoshop 27.10.
- ai-calendar: calendar with a REST API that AI assistants book into, behind one conflict check. 177 tests, 96% line coverage in CI.
- obsidian-vault-mcp: read-only MCP server that lets AI assistants search an Obsidian vault. 49 tests; 215 notes indexed in 87 ms.
- n8n-ai-triage: email triage on local Ollama, drafts held for human approval. 88% routing vs 70% for keyword rules, on 40 labelled emails.
- flux-player: native Windows video player in Python and PySide6. No web view.
- volt-techwear-store: Next.js 15 storefront with accounts, Prisma, Postgres and server-side checkout. Live store
- portfolio: the static site behind my portfolio. 0 third-party requests, measured.
- Umbraixs: semi-stylized medieval village in Unreal Engine 5.6, my MA Animation final project (Merit, University of Salford). About 100 fps against a 60 fps target. Walkthrough · ArtStation
- Studies: product lighting, procedural cities and clouds, night and interior lighting in Blender. ArtStation · Portfolio
- Tested pipelines. A check only counts once it has been seen to fail on deliberately broken data.
- Numbers reconcile. Power BI and Tableau figures match an independent DuckDB query, value for value.
- Local-first. Data stays on the user's disk; nothing I build needs my server to keep working.