Project library
Detailed records of applications, prototypes, security labs, deployment work, and the lessons each project produced.
Portfolio overview
These articles distinguish products I designed or adapted from third-party services I deployed and operated. Each page records confirmed architecture and history without publishing secrets, internal addresses, credentials, or sensitive administration details.
OpenTrail
Active product
Open-source hiking platform with trail discovery, PostGIS mapping, moderation, accounts, weather, wildfire information, and a formal release roadmap.
Read detailed project article →Shadowbroker
OSINT application; currently stopped
Real-time geospatial intelligence dashboard with separate Next.js frontend, FastAPI backend, data feeds, Docker, and Helm deployment.
Read detailed project article →WeaveNote
Self-hosted workspace
AI-assisted notes application with mind mapping, synthesis, PostgreSQL, RBAC, release checklists, and hardened JWT configuration.
Read detailed project article →OpenLinks
Active service
Self-hosted link-profile platform with Auth.js, Prisma, PostgreSQL, MinIO, analytics, moderation, migrations, and restoration tooling.
Read detailed project article →Cinderstrike
Active business application
Founder-led cybersecurity and practical-AI website with publishing, consultation intake, analytics, admin sessions, and private PostgreSQL.
Read detailed project article →Music Player
Active service
Self-hosted music library with offline folder-name metadata inference, deterministic album identity, a read-only media mount, and a hardened container.
Read detailed project article →Talkback
Active service
Local transcription, playback, and extractive summarization with no model provider, plus transcript cleanup and recognition-confidence reporting.
Read detailed project article →Photo Enhancer
Active local tool
Bulk nature-photo enhancement with a seven-stage pipeline, output validation, loopback-only exposure, and a guarded 24-hour retention purge.
Read detailed project article →Mr Personality
Local prototype
Privacy-first recommendation prototype running vision and text recognition in a local container, with evidence and confidence on every inference.
Read detailed project article →BiasLens
Running prototype; open security findings
Political-news bias analyzer using React, Gemini-assisted analysis, RSS processing, Firebase, release automation, and generated artifacts.
Read detailed project article →Krawl honeypot lab
Stopped security lab
Containerized deception service for observing crawlers and hostile web behavior with reputation scoring, a dashboard, tests, and controlled retention.
Read detailed project article →Technology Wiki
Active documentation system
This multi-page personal wiki, packaged in Docker and published through NPM with HTTPS at wikki.dfx0.us.
Read detailed project article →Project comparison
| Project | Primary stack | Strongest learning area | Lifecycle evidence |
|---|---|---|---|
| OpenTrail | Next.js, NestJS, PostGIS, Prisma, Redis, MinIO | Product architecture, privacy, geospatial data, releases | History begins July 18, 2026; production is running 1.11.0 |
| Shadowbroker | Next.js, MapLibre, FastAPI, Python, Helm | OSINT aggregation and modular data services | History begins March 4, 2026; tags through v0.9.5; containers stopped since August 16, 2026 |
| WeaveNote | Next.js 16, TypeScript, Bun, Prisma, PostgreSQL | Self-hosting, AI workflows, authentication health | History begins April 3, 2026; deployed image 4.4.20 |
| OpenLinks | Next.js 16, Auth.js, Prisma, PostgreSQL, MinIO | Identity, profiles, analytics, schema migrations | Version 0.1.0; four recorded production migrations |
| Cinderstrike | Next.js, TypeScript, GSAP, PostgreSQL, JOSE | Secure intake, publishing, business-facing security UX | Version 0.1.0; active containerized deployment |
| Music Player | React 19, Vite, Express, Node SQLite (WAL) | Offline inference, destructive-operation guards, container hardening | No repository or version on the host; a recorded release-hygiene gap |
| Talkback | Node 24, Node SQLite (WAL), Web Speech API | Local processing, deployment traps, privacy boundaries | Release v3.1.0, September 6, 2026; ships by incremental Git bundle |
| Photo Enhancer | Python, FastAPI, OpenCV, NumPy, APScheduler | Guarded retention, output validation, exposure control | Release v1.0.4, September 5, 2026; purge still in dry-run |
| Mr Personality | Next.js, local vision model, local OCR, Docker | Local model packaging, evidence-bearing inference, QA matrices | History begins September 5, 2026; prototype, not yet versioned |
| BiasLens | React, Vite, Express, Gemini, Firebase | AI analysis, source handling, release automation | Release v0.1.1; container is running again while its authorization findings remain open |
| Krawl lab | Python, Docker, SQLite/data volume, Helm/Kubernetes | Deception, telemetry, containment, safe lab operations | Stopped August 20, 2026; upstream project adapted locally |
| Technology Wiki | Vinext, React, Next.js, Docker, NPM | Documentation architecture and secure self-hosting | History begins July 30, 2026; actively expanded |
What every project page records
Every current and future project receives a wiki article and follows this same release rule. Preflight records the intended change; postflight replaces assumptions with verified facts, evidence, limitations, learning, and an updated roadmap. The Agentic coding and AI terminology page maps the shared vocabulary across this portfolio.
Future expansion
Additional pages can be created for the 3D image project, small automation utilities, Guacamole and media-service deployments, infrastructure diagrams, and authorized vulnerability-scanning labs once enough verified project evidence is collected.
Four running workloads had no wiki article at all: Music Player, Talkback, Photo Enhancer, and Mr Personality. They now have one each. Three status claims were also wrong: Shadowbroker and the Krawl lab had been stopped for weeks while the wiki described them as healthy, and BiasLens was described as stopped while it was running again. Status lines that are never re-verified become fiction quickly — the inventory is now dated so a reader can tell how old it is.