Open to work: Python / ML engineering, LLM infrastructure, automation, AI agents (Claude Code, MCP). Freelance, contract or full-time, remote or Nice area. casteldazur@gmail.com
I build AI systems that execute, not just chat. Local-first. Governed. Hardware-aware. Real.
I design and build CastelOS — a local-first AI execution system that turns tasks into governed runs with real artifacts and evidence. Not another wrapper around an API. A full system: from GPU routing to policy enforcement to domain-specific knowledge packs.
Everything runs on one workstation I assembled myself. No cloud dependencies. No scattered SaaS. Just execution.
I build and fix agent setups on Claude Code: agents, hooks with tests, memory between sessions, MCP tools that connect them to your files, email and sheets. Plus the Python automation around them: PDF to table, API to Google Sheets with alerts, CSV cleaning with a log of every change.
Details and prices: castel.studio/agents · Also on Upwork
The reusable pieces live in their own repos. None of them need CastelOS to be useful.
- awesome-local-ai is a curated list of tools for running models on your own hardware.
- gpu-memory-guard stops one process from taking the whole GPU.
pip install gpu-memory-guard - llm-judge-jury puts several models to a vote on an output instead of trusting one judge.
- qlora-single-gpu-playbook is the set of guards that kept my QLoRA runs alive on a single card.
- merge-quantize-keep-mtp merges two LoRA adapters by rank and checks that a GGUF actually contains its speculative-decoding (MTP) heads.
- csv-cleaner takes a messy customer CSV and returns a clean file, a log of every edit and a list of values to decide on. Standard library only.
- pdf-invoices-to-table reads PDF invoices with different layouts into one table and flags any whose net + VAT does not match the total.
- api-to-sheets-telegram pulls a public API once a day into CSV or Google Sheets without duplicates and sends a Telegram alert when a value moves.
