Inspiration
Software projects constantly evolve, but maintaining them means developers repeat the same loop: investigate bugs, understand unfamiliar code, plan changes, implement fixes, run tests, and verify nothing else broke. I wanted an AI tool that handles this whole maintenance workflow systematically — not just one that spits out a code snippet.
What it does
NEUTRON is an autonomous AI software maintenance agent that works through a structured 9-stage pipeline:
Understand → Analyze → Plan → Approve → Execute → Verify → Secure → Review → Report
Instead of simply generating code, NEUTRON examines your codebase, identifies the real cause of a problem, creates a structured plan, waits for your approval before touching anything, applies the changes, runs builds and tests to verify them, checks for security issues, reviews the result, and reports exactly what changed and why. Human approval stays in the loop before important modifications.
How I built it
NEUTRON started as an agent CLI (TypeScript/Node.js) with a terminal UI and grew into a full platform:
- Agent core — codebase analysis, impact analysis, structured planning, code execution, test runner, and security scanner, all wired through a maintain pipeline
- Web app — chat interface, settings, provider picker, and 148 built-in themes, deployed on Vercel (production:
neutron-agent.vercel.app) - Backend — Node server on Render with auth (Google/email/guest), user accounts, connections, and email verification
- Android app — native WebView shell (
com.neutron.app) with background music service, self-updater via GitHub releases, and dev-mode backend override - BYOK providers — works with AgentRouter, OpenRouter, NVIDIA, and Nous Hermes models; API keys stay in the user's browser, never stored server-side
The whole thing ships as a WebView Android app, a live web demo, and a downloadable APK.
Challenges I ran into
- Vercel's 12-function limit and dashboard overrides —
vercel.jsonsettings were silently overridden by the project dashboard (framework, build command, output dir), which broke static asset deploys until I tracked it down - TUI input bugs — terminals deliver multiple keystrokes in one stdin chunk; the Ink UI was silently dropping everything after the first key, so Backspace and arrow keys "did nothing" until I wrote a key-chunk parser
- Render env-var wipes — a PUT to
/env-varsreplaces the whole set, wiping Google OAuth and SMTP config twice before I learned to always send the complete set - Background audio on Android — WebView playback gets killed when the app is swiped from recents; required native
MusicServicewiring
Accomplishments that I'm proud of
- Went from a CLI prototype to a shipped product: live production site, Android APK on GitHub releases with a self-updater, real Google sign-in, and persistent user accounts
- 89 test files / 1263 tests passing with
tscclean on the latest build - A genuinely complete maintenance loop — understanding, planning, approval, execution, verification, security, and reporting in one continuous flow
What's next
Multi-agent software engineering, automatic regression testing, Git-based change management, dependency vulnerability detection, CI/CD integration, and long-term project memory.
Built With
- agentrouter
- android
- css
- express.js
- fastlane
- github-actions
- html
- ink
- java
- javascript
- mqtt
- node.js
- nodemailer
- nous-hermes
- nvidia
- openrouter
- react
- render
- typescript
- upstash-redis
- vercel
- vite
- webrtc
Log in or sign up for Devpost to join the conversation.