NetMedic AI is engineered with a modular Python 3 architecture, separating translation layers from evaluation guardrails to ensure robust system design.Frontend Dashboard Interface (app.py): A premium, responsive Streamlit dashboard styled with custom hardware-accelerated CSS animations and a multi-column operational staging workspace.Multi-Vendor Translation Layer (core/ai_generator.py): An isolated translation block that parses user intent string expressions into vendor-accurate syntax across distinct operating systems including Cisco IOS, Arista EOS, and Juniper JunOS.Programmatic Validation Engine (core/validator.py): A rigid, human-designed Python validation matrix that acts as an automated network compliance auditor. It evaluates text strings line-by-line to catch severe production engineering omissions—such as generic placeholder passwords, missing tracking labels, or unauthenticated routing links.Automated State Recovery Engine (core/rollback.py): An automated parser that reads generated changes and compiles the exact inverse configuration block to provide instant rollback options during emergency recovery windows.Deterministic Risk Scoring Module (core/risk_analyzer.py): Evaluates risk vectors programmatically using pure Python math, calculating an overall Change Impact Risk Score ( R ) out of 100.📊 The Risk Assessment FormulaThe risk scoring matrix avoids arbitrary model guessing by evaluating specific command weights mathematically.The overall change impact risk score ( R ) is calculated using the following display equation:(R=\min \left(\sum {i=1}^{n}w{i}+R_{base},\,100\right))Where ( R_{base} = 10 ) is the minimum baseline risk, and individual vector weights ( w_i ) are assigned dynamically based on configuration criteria:Dynamic Routing Protocol Changes (OSPF/BGP): ( w = 40 )Physical Interface State Alterations: ( w = 25 )Security and Management Credential Access Mutations: ( w = 20 )Layer 3 Interface Network Addressing Assignment: ( w = 15 )The resulting telemetry values are drawn natively using Matplotlib, allowing the visualization graphs to render quickly and completely offline.🛑 Challenges I OvercameMy biggest obstacle during the hackathon was handling server-side connection instabilities and API credit exhaustion limits from third-party public gateways, which threw unexpected 404 and 429 connection errors mid-lifecycle.Instead of letting public network fluctuations crash my user interface, I completely re-engineered my translation pipeline into a resilient, self-contained architecture. I moved my telemetry plotting onto an offline graphing pipeline, built custom state-persistence memory bindings to stop page reruns from wiping variables, and isolated my multi-vendor translation logic. This design guarantees absolute stability, making my application completely invulnerable to external network failures.🧠 What I LearnedThis project was an incredible software engineering learning experience. I mastered advanced data-persistence patterns in Streamlit to manage multi-stage form wizard workflows without state loss. More importantly, I learned the value of architectural isolation: by treating language models purely as basic text formatters and keeping all safety verification, mathematical logging, and recovery scripts in deterministic Python arrays, I proved that network automation can be made secure, transparent, and scalable.🚀 What's Next for NetMedic AII plan to connect my validated configuration strings directly to enterprise hardware emulators using Python automation libraries like Netmiko. I also plan to wrap my core/validator.py logic into automated GitHub Action runners, creating a secure CI/CD pipeline that blocks flawed network configuration commits automatically before they ever reach an infrastructure repository.
Log in or sign up for Devpost to join the conversation.