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.json settings 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-vars replaces 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 MusicService wiring

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 tsc clean 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

Share this project:

Updates

Submission history