Skip to content
← Back to projects

Jarvis — infrastructure assistant

A personal assistant built on Claude Code with integrated access to my AWS accounts, my Fortinet stack and my technical knowledge base. The goal is to turn every repetitive infrastructure operation into an auditable conversation.

Year
2026
Stack
Claude Code AWS Fortinet API Python MCP Bash
Jarvis architecture with Claude Code as core and MCP servers connecting AWS, Fortinet and labs
Jarvis architecture with Claude Code as core and MCP servers connecting AWS, Fortinet and labs

Context

My daily work involves operating in parallel across multiple AWS accounts, several FortiGates, various customer environments and my own personal infrastructure. Every routine operation — checking a VPN tunnel, validating policies, pulling a usage report, spinning up a lab — requires opening multiple consoles, recalling commands and sustaining constant context-switching throughout the day.

I needed a single natural-language entry point capable of understanding my environment and, more importantly, executing operations rather than merely retrieving information.

Assistant design

“Jarvis” represents the full integration of my infrastructure into Claude Code, structured around four components:

The net effect is the transformation of a significant portion of manual work into auditable conversational interactions.

Design principles

Memory structured by type

Rather than a single notes file, memory is segmented by type: user profile, feedback (applied corrections), project context and external references. Each type carries explicit criteria for when new information should be captured and when it should be consulted. This separation prevents memory from degrading into an unreadable dump and ensures the assistant retrieves it only when relevant.

Action over read

Most assistants limit themselves to consultation; Jarvis executes. This approach demands rigorous design: mandatory confirmation before destructive operations, strict separation between personal and customer environments, and an explicit abort mechanism available at all times.

Failure traceability

Every incident or unsuccessful attempt is logged not as code, but as operational knowledge. When I return to the same problem months later, Jarvis surfaces the history of prior approaches and the reasons they did not work, preventing repeated mistakes.

Lessons learned

Next steps

I plan to release portions of the configuration as a reference for engineers interested in building their own operational assistant. The expensive investment is not the first integration, but consolidating the decision pattern of what to automate, what requires human confirmation and what should remain manual.