<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: josh-lans</title>
    <description>The latest articles on DEV Community by josh-lans (@joshlans).</description>
    <link>https://dev.to/joshlans</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3840466%2Ff8be86be-73e2-4c7c-9236-8ab971f419a8.jpeg</url>
      <title>DEV Community: josh-lans</title>
      <link>https://dev.to/joshlans</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joshlans"/>
    <language>en</language>
    <item>
      <title>How I Built Enterprise Monitoring Software in 6 Weeks Using Structured AI Development</title>
      <dc:creator>josh-lans</dc:creator>
      <pubDate>Mon, 23 Mar 2026 16:23:04 +0000</pubDate>
      <link>https://dev.to/joshlans/how-i-built-enterprise-monitoring-software-in-6-weeks-using-structured-ai-development-8bj</link>
      <guid>https://dev.to/joshlans/how-i-built-enterprise-monitoring-software-in-6-weeks-using-structured-ai-development-8bj</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I'm a SAP Basis administrator with 12 years of experience managing enterprise infrastructure. I know exactly what monitoring tools should do — I've used (and been frustrated by) every commercial option out there. They're either too expensive, too rigid, or don't understand SAP deeply enough.&lt;/p&gt;

&lt;p&gt;So I decided to build my own. The catch: I'm not a traditional software developer. I understand systems architecture and can read code, but I've never built a full-stack web application from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Approach: AI as Force Multiplier
&lt;/h2&gt;

&lt;p&gt;I used &lt;strong&gt;Claude Code&lt;/strong&gt; (Anthropic's CLI agent) as my primary development partner, with OpenAI Codex, Gemini, and GitHub Copilot for independent verification. But the key insight wasn't the AI — it was the &lt;strong&gt;methodology&lt;/strong&gt; I developed to make AI-assisted development work at enterprise scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  The &lt;code&gt;.claude-docs&lt;/code&gt; System
&lt;/h3&gt;

&lt;p&gt;After the first few sessions, I hit a wall. The AI would forget architectural decisions between sessions. It would take shortcuts that broke patterns established weeks ago. It would implement a "simpler version" of what we'd carefully designed.&lt;/p&gt;

&lt;p&gt;I solved this with a structured documentation system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude-docs/
├── MEMORY.md           # Essential context — read first every session
├── STANDARDS.md        # 50+ mandatory patterns with § references
├── DEPENDENCIES.md     # Change impact checklists
├── SESSION_LOG.md      # Session history for continuity
├── LESSONS.md          # Never repeat these mistakes
└── [domain-specific].md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;MEMORY.md&lt;/strong&gt; contains everything the AI needs to know before writing a single line of code: current project state, environment details, version numbers, and explicit anti-shortcut rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STANDARDS.md&lt;/strong&gt; has 50+ numbered development patterns. When the AI needs to add a new metric, it references §7b which lists all 8 files that need updating. When it needs to add a threshold, §7 lists the 6-step checklist. No shortcuts, no missing steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEPENDENCIES.md&lt;/strong&gt; is the impact matrix. "If you change X, you MUST also change Y." Adding a new SAP surveillance category requires updates in 6+ files across backend, frontend, collector, and documentation. Miss one and something silently breaks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LESSONS.md&lt;/strong&gt; is scar tissue from real mistakes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;"RFC_READ_TABLE FIELD_NOT_VALID is usually DATA_BUFFER overflow, not missing fields — verify via SE16 before assuming"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Test checks don't persist to DB — only regular collection cycles store data"&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;"Unified connectors need to be included in BOTH sapcontrol AND abap_rfc entity queries"&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Multi-AI Verification
&lt;/h3&gt;

&lt;p&gt;For security-critical features, I ran independent reviews across multiple AI platforms. Claude would implement a feature, then I'd have Codex audit it for OWASP vulnerabilities, Gemini review the architecture, and Copilot check for common patterns. Each AI catches different classes of issues.&lt;/p&gt;

&lt;p&gt;This resulted in an 8-phase security hardening that covers OWASP Top 10, with features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HttpOnly cookie sessions (no localStorage tokens)&lt;/li&gt;
&lt;li&gt;CSRF double-submit protection&lt;/li&gt;
&lt;li&gt;SSRF fail-closed on DNS errors&lt;/li&gt;
&lt;li&gt;HMAC-signed audit logs&lt;/li&gt;
&lt;li&gt;Rate limiting that fails closed in production&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MonLite&lt;/strong&gt; — a full enterprise monitoring platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SAP Monitoring&lt;/strong&gt;: 19 surveillance categories via ABAP RFC + SAPControl SOAP, with a rules engine (not just thresholds) for per-entity evaluation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database Monitoring&lt;/strong&gt;: 7 engines (MSSQL, Oracle, HANA, DB2, Sybase, MaxDB, PostgreSQL) with per-engine specialized drivers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Host Monitoring&lt;/strong&gt;: Linux (SSH) and Windows (WinRM) with predictive storage projections&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Diagnostics&lt;/strong&gt;: An air-gapped LLM assistant that queries live infrastructure data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise Security&lt;/strong&gt;: SSO (Okta/Entra ID), RBAC, encrypted credentials, signed audit logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend is a React 19 app with a glassmorphism design language. The backend is FastAPI + PostgreSQL. Distributed Python collectors run at the edge behind firewalls.&lt;/p&gt;

&lt;p&gt;It's designed for 3,000+ monitored endpoints with 200+ concurrent users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Lessons
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Domain expertise is the bottleneck, not coding ability
&lt;/h3&gt;

&lt;p&gt;The AI can write Python, React, and SQL faster than I ever could. But it can't tell you that SAP's &lt;code&gt;TH_WPINFO&lt;/code&gt; RFC captures its own work process in the results, that &lt;code&gt;TPALOG&lt;/code&gt; has a combined timestamp field instead of separate date/time, or that &lt;code&gt;INST_EXECUTE_REPORT&lt;/code&gt; is the only reliable way to read PSE certificates via RFC.&lt;/p&gt;

&lt;p&gt;That knowledge comes from 12 years of staring at SM50, ST22, and STRUST. The AI amplifies it into production code.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Structure &amp;gt; raw capability
&lt;/h3&gt;

&lt;p&gt;Without the &lt;code&gt;.claude-docs&lt;/code&gt; system, I'd estimate the project would have taken 12+ months with constant rework. With it, we went from zero to production in 6 weeks. With it, complex features land correctly on the first try because the AI has full context of every architectural decision, every gotcha, and every standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. AI verification should be cross-model
&lt;/h3&gt;

&lt;p&gt;No single AI catches everything. Codex found SSRF vulnerabilities Claude missed. Gemini identified connection pool tuning Claude hadn't considered. The combination is stronger than any individual model.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The methodology is transferable
&lt;/h3&gt;

&lt;p&gt;This isn't specific to monitoring software or SAP. The &lt;code&gt;.claude-docs&lt;/code&gt; pattern works for any complex project where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Development spans weeks or months&lt;/li&gt;
&lt;li&gt;The codebase is too large for AI context windows&lt;/li&gt;
&lt;li&gt;Quality requirements are high&lt;/li&gt;
&lt;li&gt;Domain expertise matters more than coding patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;160+ development sessions. 524 passing tests. Zero production outages. A platform that monitors 26 hosts, 20 resources, and counting — with the architecture to scale to thousands.&lt;/p&gt;

&lt;p&gt;The full portfolio (architecture docs, methodology, screenshots, demo video) is at:&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/josh-lans/monlite-portfolio" rel="noopener noreferrer"&gt;github.com/josh-lans/monlite-portfolio&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Yourself — 10-Minute Setup
&lt;/h2&gt;

&lt;p&gt;I've open-sourced the entire methodology as drop-in templates:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/josh-lans/monlite-portfolio/tree/main/claude-docs-templates" rel="noopener noreferrer"&gt;&lt;code&gt;.claude-docs&lt;/code&gt; Templates &amp;amp; AI Bootstrap&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are two ways to get started:&lt;/p&gt;

&lt;h3&gt;
  
  
  Auto-Setup (Recommended)
&lt;/h3&gt;

&lt;p&gt;Open &lt;a href="https://github.com/josh-lans/monlite-portfolio/blob/main/claude-docs-templates/AI_BOOTSTRAP.md" rel="noopener noreferrer"&gt;AI_BOOTSTRAP.md&lt;/a&gt;, paste it into your AI coding assistant, and say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Set up .claude-docs for my project."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI will analyze your codebase and generate project-specific MEMORY.md, STANDARDS.md, DEPENDENCIES.md, and more — customized to your tech stack, conventions, and architecture. Works with Claude Code, Cursor, GitHub Copilot, ChatGPT, or any AI assistant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Manual Setup
&lt;/h3&gt;

&lt;p&gt;Copy the 7 template files, fill in the placeholders, and add a &lt;code&gt;CLAUDE.md&lt;/code&gt; to your project root. The templates include instructional comments explaining what goes where.&lt;/p&gt;

&lt;h3&gt;
  
  
  What You Get
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MEMORY.md&lt;/td&gt;
&lt;td&gt;Project context the AI reads first every session&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;STANDARDS.md&lt;/td&gt;
&lt;td&gt;Numbered rules (§) the AI must follow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DEPENDENCIES.md&lt;/td&gt;
&lt;td&gt;"If you change X, also change Y" checklists&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SESSION_LOG.md&lt;/td&gt;
&lt;td&gt;What changed, when, and why&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LESSONS.md&lt;/td&gt;
&lt;td&gt;Mistakes documented so they never repeat&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The system pays for itself the first time it prevents a "I changed the API but forgot to update the frontend" bug. After 160+ sessions, I can't imagine building without it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you're building something complex with AI assistance and want to discuss the methodology, reach out — &lt;a href="mailto:joshlans@me.com"&gt;joshlans@me.com&lt;/a&gt; or &lt;a href="https://linkedin.com/in/joshualans" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
