AI As A Developer

https://github.com/47494749/dump1090-gg#about-this-project–ai-as-a-developer

About this project — AI as a developer

This project is an experiment to test the effectiveness of AI as a software developer. The repository contains substantial upstream code from dump1090-fa and its predecessors (by Oliver Jowett / FlightAware), which retains its original authorship and copyright. Large portions of the upstream code remain intact, but this fork also extends several upstream files with new options, feeder integration, decoder hooks, panel endpoints, and build changes. All of the new functionality — the native feeder clients, multi-SDR architecture, FLARM / OGNTP / ACARS / VDL2 / Radiosonde / CPDLC / GSM / POCSAG decoders, the web control panel, Makefile modifications, protocol implementations, the information gathering, and this README itself — was written entirely by AI, under the continuous supervision of a human who directed what to do, how to do it, which design decisions to make, and which approaches to take.

That human operator and maintainer of this fork is Luigi Origa.

This is not “vibe coding”. The human operator is an IT security specialist with deep software development expertise. Every design choice, protocol behavior, and implementation detail was verified against that hands-on technical knowledge — the AI was used as a precision tool to write code faster, not as a substitute for engineering judgment.

The human operator provided:

  • The overall architecture and all major design decisions
  • Specific technical directions and implementation strategies
  • Debugging decisions and root-cause analysis guidance
  • Code review and validation of every change before deployment
  • Continuous oversight — the AI’s output had to be checked constantly, because it would silently change architecture or approach without warning
  • Simpler, more logical solutions when the AI over-complicated things — in many cases the human had to suggest the straightforward approach that the AI failed to see on its own
  • Firm direction when the AI drifted — at times the AI had to be explicitly forced to follow the given directives instead of inventing its own plan

The AI performed:

  • All code writing (C, Python helper scripts, Makefile edits)
  • Protocol research and information gathering from open-source references
  • File transfers, remote compilation, and deployment to the target device
  • Diagnostic reading of logs, journal output
  • Writing this documentation

Conclusion

AI is an excellent tool for writing and modifying code quickly — it can produce working C implementations of complex protocols, handle build systems, diagnose compiler errors, and iterate rapidly. However, AI is not capable of making correct autonomous decisions. Without human direction, it tends to:

  • Over-engineer solutions or add unnecessary abstractions
  • Make wrong assumptions about protocol behavior
  • Miss subtle issues
  • Fail to prioritize or choose the right approach among alternatives
  • Get the simplest architectures wrong — even straightforward designs that any developer would get right on the first try
  • Silently change architecture without notice or justification, requiring the human to catch the deviation and force a rollback

The human-AI collaboration model — where the human makes architectural and strategic decisions while the AI handles the mechanical work of writing, compiling, and deploying code — proved highly effective for this project.

Yeah, I wonder if the Readme file quoted above was also written by AI.
It sounds like it.
I agree with the conclusion section on every point.