By Tsvetan Tsvetanov, Lead Software Engineer and Co-owner at Camplight
AI-assisted product development is reshaping how teams build software. At Camplight, we work with B2B companies to build and ship digital products that hold up in production. As AI coding tools have become central to how we work, we’ve converged on a three-principle framework that keeps AI fast and controllable. These principles have deep roots in software engineering and their relevance to how teams work today has never been sharper. Here’s what they look like in practice.
Test-driven development
Spec-driven development has been getting attention lately, the idea of feeding the AI a detailed written description of what to build.
Written descriptions are open to interpretation, produce different output on different runs, and rely on manual verification to confirm the result. Two fundamental properties are missing: determinism and executability.
Engineers solved this a long time ago. Behaviour-driven development captures requirements as a structured set of test cases, readable by non-engineers, executable by machines, and consistent every time they run. It’s a way to record decisions in a form that both your team and your tooling can reason about unambiguously.
Our workflow starts by prompting the AI to write a test suite based on the desired behaviour. We review those tests manually, verify each one is correctly specified and fails as expected, then instruct the AI to implement only what’s needed to bring them to green. Refactoring follows, with the tests as a safety net.
When a test passes, we have confirmed, verifiable behaviour and for enterprise B2B products where reliability is essential, that certainty is what good delivery is built on. This is why test-driven development is the first pillar of our AI-assisted product development framework.
Working in small steps

Every team using AI tools has hit this: you ask for a full feature, it gets 80% right, you start correcting, new problems emerge, and eventually you’re starting over with a lot of time lost.
The solution is to go small. Then smaller.
Each step should be the minimum meaningful increment.
Building a new payment flow? First verify the happy path works end to end with hardcoded values. Then introduce the real business logic for a single scenario. Then handle failures and edge cases one at a time. Build on the test-driven approach at each stage. The smaller the step, the less room for the AI to make compounding bad decisions and the easier it is to catch problems before they propagate.
This discipline maps directly onto how we approach AI-assisted product development at Camplight more broadly: validate early, build incrementally, and only invest in the next layer once the current one is confirmed working.
As you get comfortable, you can experiment with slightly larger steps. But the pull toward speed is real and it rewards patience, things appear to be going well, and suddenly you’re buried under a pile of interrelated issues that take real effort to unwind. The calibration is ongoing.
Modular architecture

This is where the biggest leverage is, and increasingly where we focus our attention as engineers. In an unstructured codebase, pointing AI at a feature means pointing it at everything, a large surface for hallucinations, confusion, and unintended side effects far from the target area.
We use domain-driven design combined with hexagonal architecture for this reason. Domain-driven design means the system is organised around business concepts rather than technical convenience, so we always know which modules a given feature touches. Hexagonal architecture keeps core business logic decoupled from infrastructure, making it independently testable and safe to modify.
For AI-assisted work, this pays off in two concrete ways. First, we can direct the AI to a specific module and constrain it to working there, far less context, far fewer hallucinations. Second, we can apply test-driven development at two levels: acceptance tests that verify a module works correctly from a user perspective, and business logic tests that cover edge cases and internal behaviour. Each test is scoped to its module. The AI always has a clear target and a bounded context to work within.
Conclusion
These three practices, executable specifications, small steps, and modular architecture, produce better software in any environment.
Add AI into a disciplined setup and you get genuine speed. Add it into an undisciplined one and you get faster accumulation of problems. The practices determine the outcome; the tools follow.
When your codebase becomes harder to manage after introducing AI, the engineering foundation is the place to look and strengthen. Reliable AI-assisted product development starts with the right principles, not the right prompts.
How Camplight uses AI in product development
AI is woven into how our teams work across the full product development cycle, from early discovery through to production deployment.
In discovery and scoping, we use AI to accelerate research, stress-test assumptions, and draft technical specifications that our engineers then validate.
In architecture decisions, we use it to rapidly explore design options and surface tradeoffs that would otherwise take days to map out.
In implementation, our engineers apply the three-principle framework above to keep AI output reliable and production-ready.
In QA, AI assists with generating test scenarios and identifying coverage gaps that manual review tends to miss.
What we’ve learned is that AI performs best as a thinking partner with guardrails.
Every AI-generated output in our workflow has a human checkpoint before it moves forward. That human layer is what allows us to offer the reliability and predictability our B2B clients depend on, while delivering at a pace that traditional approaches alone couldn’t achieve.
Build with a team that puts engineering at the centre of AI
Camplight is a B2B product development partner helping established companies validate, build, and scale digital products with enterprise-grade reliability and startup-speed delivery. Our approach to AI-assisted product development ensures that every line of AI-generated code meets the same quality bar as hand-written code.
Let’s build the future of your product: https://camplight.net/contact-us/