Skip to content
View ThomasCrouzet's full-sized avatar
💻
💻
  • France
  • 04:07 (UTC +02:00)

Highlights

  • Pro

Block or report ThomasCrouzet

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ThomasCrouzet/README.md

Thomas

French software developer. Day to day I work as a senior PHP / Symfony developer. I also design and ship tools end to end, and I care as much about permissions, failure modes, and operations as about features.

This public GitHub portfolio is recent. The projects shown here were developed over time on my personal self-hosted forge, then prepared and published as a selective public showcase. They are not my full body of work. GitHub creation dates are not the full development history.

How I work

  • Problem first. Start from a concrete need, ship a usable product, document setup and limits.
  • Security by construction. Least privilege, explicit allowlists, secrets out of the repo, irreversible actions constrained or confirmed.
  • Agents with guardrails. Tools for AI clients get bounded scope, clear defaults (often read-only), and audit-friendly behaviour.
  • Honest scope. Prototypes are labelled as such. Public projects aim for reproducible builds, tests or CI, and stated limitations.

Tooling

  • Core: PHP, Symfony, PostgreSQL, SQL, Bash
  • Also used in public work here: TypeScript, Go, Python, SvelteKit, Docker Compose
  • Infrastructure literacy: Ansible, Caddy, Tailscale (as sources and targets in tooling, not as a product claim)
  • AI integration (public): MCP servers, agent tool design, least-privilege tool surfaces

Stack choices follow the problem. Defaults favour open protocols and components I can replace.

Contact

crouzet.thomas@proton.me

Pinned Loading

  1. icloud-mcp icloud-mcp Public

    stdio MCP server for iCloud Calendar (CalDAV), with optional Contacts (CardDAV) and Mail (IMAP/SMTP)

    Go 2

  2. restic-defensive-mcp restic-defensive-mcp Public

    Structurally read-only MCP server for inspecting restic repositories.

    Go 1

  3. mdsh mdsh Public

    A local-first WYSIWYG markdown editor - offline, 100% client-side PWA. No server, no account, no telemetry.

    TypeScript 1

  4. inframap-d2 inframap-d2 Public

    CLI tool that generates D2 infrastructure diagrams from Ansible, Docker Compose, Tailscale, Kubernetes, Proxmox, Portainer, and systemd

    Go 1

  5. mcp-grand-lyon mcp-grand-lyon Public

    Local read-only MCP server aggregating Métropole de Lyon open data (TCL, Vélo’v, parking, traffic) behind 10 business tools.

    Python 1

  6. homelab-evidence-mcp homelab-evidence-mcp Public

    Read-only stdio MCP server for cross-source homelab incident evidence (Gatus, Docker, Loki, Healthchecks).

    Go 2