Transparency · AI Development Series · Dev Partners

How We Actually Use AI to Build Software

We use Claude Code and Cursor every day. We treat AI the same way you would treat a talented junior developer: capable, fast, genuinely useful, and not to be left unsupervised on the things that matter.

Why this page exists: If we are going to say that most AI-generated software is a liability and that we do it properly, you have every right to ask what "properly" looks like in practice. Here it is.

We treat AI like a junior developer. A good one.

A talented junior developer is a genuine asset. They write code quickly, they follow instructions well, they get through implementation work that would otherwise take a senior developer's time. You would not be without them. You would also not hand them the architecture to design, the security model to specify, or the production deployment to manage unsupervised. That is not a slight on the junior. It is just an accurate description of where their contribution is most valuable and where it needs oversight.

That is exactly how we treat AI. We use Claude Code and Cursor every day. They write code quickly, they implement what we describe, they get through the boilerplate and the first-pass logic faster than any developer working manually. A senior developer reviews every significant piece of output, owns every decision, and would not ship anything they cannot explain. The AI accelerates. The human is accountable.

The problem with tools like Lovable and Bolt is not that they use AI. It is that they put the junior in charge. No senior developer in the loop. No review. No one who understands what was built or why. That is not an AI problem. That is a management problem.

Where AI sits, and where it does not

Every stage in a development project falls into one of three categories: human-only, AI-assisted with human review, or AI-first with human ownership of the output. Here is the honest breakdown.

1
Human only · No AI
Discovery and requirements

Understanding what you actually need is a conversation, not a prompt. It involves asking the questions you did not know needed asking: what happens when two users try to do this at the same time? What does this data mean when it is three years old? What does the workflow look like on the day everything goes wrong?

AI cannot have this conversation. It has no knowledge of your business, your users, or the constraints that make your system yours. We do not use AI here. This stage is Rob or Jason on a call or a video, with a blank document and a lot of questions.

  • Business requirements gathered from the people who know the domain
  • Edge cases identified before they become bugs
  • Non-obvious constraints surfaced and documented
  • What success looks like, in two weeks and in two years
2
Human only · No AI
Architecture and data design

Before any code is written, we design the system: the components, the data structures, the access model, the integration points. This is the work that determines whether the software survives contact with reality. AI cannot do this reliably because it requires understanding the business, not pattern-matching a schema that looks plausible.

We design the database structure by hand. We define what every table stores, what every relationship means, and what the query patterns will be. We index based on how the data will actually be used. We specify the access control model before a line of implementation code is written. These decisions are made by a developer who has read the requirements and understands the system.

  • System architecture: components, boundaries, integration points
  • Database schema: tables, relationships, indexes, constraints designed by a human
  • Access control model: who can see what, enforced at the data layer
  • Security model: threat surface identified, mitigations specified
3
AI-assisted · Senior reviews every output
Implementation

This is where Claude Code and Cursor come in. We use them to implement the architecture and logic we have designed. Think of it as pair programming with a very fast junior developer: they write a first pass, a senior reads it, understands it, modifies it where needed, and accepts it when it is correct. Nothing ships that a developer does not understand and own.

Claude Code is particularly useful for larger implementation tasks: scaffolding a feature, writing the service layer for a defined API contract, generating the repetitive but necessary parts of a codebase. Cursor sits in the editor for line-by-line assistance. Both operate within a structure a human designed. Neither decides that structure.

The speed saving is real and it is what we pass on in project costs. The quality gate is unchanged: every line is understood before it goes in. A junior who writes fast but whose work is never reviewed is a liability. A junior whose work is reviewed by someone who knows what to look for is an asset.

  • Claude Code and Cursor used for implementation within the defined architecture
  • Every significant output reviewed and understood by a senior developer before acceptance
  • Business logic written and owned by the developer, not delegated to the tool
  • Security-critical code written by hand and reviewed separately
4
AI-assisted · Developer validates every output
Test generation

We use AI to accelerate test generation, particularly for generating test cases that cover the edge cases we have identified in requirements. The developer reviews every test to confirm it actually tests the intended behaviour, not just that the code runs without crashing. Tests generated without understanding are not tests; they are the appearance of tests.

  • AI generates test scaffolding and common case coverage
  • Developer writes or reviews tests for every edge case and failure mode
  • Security tests written by hand: injection, access control, boundary conditions
  • Tests are run against realistic data volumes, not just the happy path
5
Human only · No AI
Code review and security review

Every significant piece of code is reviewed by a second developer before it goes anywhere near a production environment. The review checks that the implementation matches the specification, that security assumptions are correct, and that nothing has been introduced that the original developer missed. This is not a formality.

Security review is a specific pass: access controls checked end to end, input validation confirmed, any external data treated as untrusted. This is the stage where the "AI didn't add the authorisation check" problem gets caught, if it somehow occurred. It does not reach production without this review.

6
AI-assisted documentation · Human verification
Documentation and handover

We use AI to accelerate documentation: generating first drafts of technical notes, summarising what functions do, producing inline comments. A developer reads every piece of documentation and corrects it where the AI has described what the code does rather than what it means in the context of the business.

The goal is that a developer who has never seen the codebase can understand the key decisions, find the relevant business logic, and make changes with confidence. This is not a vanity deliverable. It is what makes the software maintainable five years from now, when neither of us remembers writing it.

The rules we follow: the same rules you would apply to a junior developer

The junior does not design the system

Architecture, database design, access control model, integration approach: these are decided by a senior who understands the business and its constraints. AI can implement a decision a human made. It cannot make that decision. A junior developer who redesigns the database schema without supervision causes the same problems whether they are a person or a tool.

Every line the junior writes is owned by a senior

If a developer cannot explain what a piece of code does and why it is there, that code does not ship. This applies to AI-generated code the same as anything a junior writes. "The AI produced it" is no more acceptable than "the junior wrote it and I did not check." Accountability sits with the senior.

The junior never handles security alone

Access controls, authorisation checks, input validation, anything that determines what a user can see or do: specified by a senior, implemented under supervision, reviewed separately. This is the category where AI tools most consistently fail, which is exactly why it is the category we are most careful about.

The work is tested against reality, not just the brief

A junior implements what they are told and tests what they were told to test. They will not anticipate the edge case that was not in the brief. Concurrent users, real data volumes, the scenario that only happens in production: a senior developer thinks about these before they become bugs.

The output is something the team can maintain

When we hand over a codebase, a developer who has never seen it can understand what it does. No black boxes, no mystery code, no output that only made sense to the tool that generated it. Maintainable software is the goal. That requires a human to have designed it, not just generated it.

The result: faster to build, built to last

The goal of using AI in our process is not to skip the thinking. It is to spend less time on the work that does not require thinking, so we can spend more time on the work that does.

What you get from this approach

  • Faster builds without compromised quality
  • Code that a developer can maintain and extend
  • Security built in, not bolted on after a problem
  • A system someone can explain when it breaks at 3am
  • No black boxes, no mystery code, no tool dependency

What you avoid

  • Access control holes discovered by your users
  • Databases that grind as your data grows
  • Code nobody can change without breaking something
  • A rebuild six months in because the foundation was wrong
  • Intermittent production bugs nobody can explain

Want to see this in practice?

Talk to Rob or Jason about your project. We will tell you exactly where AI sits in our proposed approach and why. No jargon, no abstraction.

Questions about how we use AI

In most cases, yes. AI makes our developers faster through the implementation stage, and we reflect that in project costs. The parts of the process that take longer (discovery, architecture, security review) are not sped up by AI, which is exactly as it should be. The saving is real. The thinking is not cut.

Lovable and Bolt put the junior in charge. They generate an entire application from a description with no senior developer reviewing what was produced. What we describe here is the opposite: the junior implements, the senior decides and reviews. The key difference is whether anyone with engineering judgement is accountable for what the AI writes. In our process, yes. In vibe-coded tools, no.

Primarily Claude Code for larger implementation tasks and Cursor for in-editor assistance. Claude Code is well-suited to scaffolding features and writing service-layer code against a defined specification. Cursor sits alongside a developer for line-by-line suggestions. Neither tool writes code that a developer does not read, understand, and own before it goes into the codebase.

Yes, though we would explain the cost implication honestly. The speed benefits of AI-assisted implementation are real, and building without them takes longer. If you have a specific reason for preferring a fully manual process, we can discuss it. In practice, clients who understand what we mean by "AI-assisted with human ownership" are comfortable with the approach.

What our clients say

20 clients. A few of their words.

Working with Dev Partners to redesign and modernise our WMS system: the whole process has been thoroughly professional from the outset and a delight to work with. Cannot recommend enough.

Great agency. Have used Dev Partners for several years and they have built 20+ sites for us, in addition to taking on our legacy websites, upgrading and maintaining. Easy to work with and some great practical ideas to improve our digital offerings.

Jones Hire have been working with Dev Partners on several projects, which have been very successful. They linked our catering database to a new improved website so clients can easily place and update orders, created a custom warehouse picking app to fulfil all our challenging requirements, and are currently developing a custom transport app to streamline our loading and delivery process.

We have been trying to reinvent our website for over 5 years, trying to make it convert and failing each time. Spoke to Rob at Dev Partners, the team helped create our new site and the improvement was instant.

We have been working with Rob and the team for about 10 years now. Dev Partners helped us build a completely bespoke CRM from scratch which manages our daily business and is always well maintained. We have been able to use the system and roll it out in our new franchise branches.

We collaborated with Dev Partners on the front end of a fairly complex telemarketing platform. Rob and Jason took the time to properly understand the moving parts, asked the right questions, and delivered a clean, intuitive interface that's made the system far easier for our team to use.

I have been working with the team at Dev Partners for the last 3 years and we have always been impressed with the speed in which they act on things for us, along with the honest open communication. The team are a valuable and vital part of our supply chain.

We've had a program for our business in the electronic security sector that Dev Partners developed and keep up to date. They've never let us down, always there when needed. Thanks Rob and the team.

Dev Partners have been working with us for just over 2 years. They have significantly upgraded and redesigned our existing web platforms, and always deliver a first class service.

Dev Partners helped us build an event website. The team were very knowledgeable, easy to work with and quick to deliver a high quality product.

Working with Dev Partners has been an exceptional experience. Their team is highly skilled, professional, and committed to delivering results. What truly sets them apart is their communication and transparency; we always felt informed, supported, and confident.

We've worked with Dev Partners a few times to support us on bespoke web build tasks. They're very easy to work with, approachable, and explain the detail in a way that's understandable. A great partner for technical issues at sensible prices.

Excellent customer service backed up with solid experience. As a media business we have had five websites built by Dev Partners. I would certainly recommend them.

Found Dev Partners and they were great, nothing too much trouble. They managed to help us with integrating our old existing system with Shopify.

I've worked with Rob and his team off and on for many years and have always found them to be professional, knowledgeable, and best of all, they listen to their clients and deliver what is required.

We have worked with Dev Partners for 7 years and can highly recommend them for their expertise and excellent customer service.

Want this approach on your project?

Talk to Rob or Jason about your build. We will be specific about where AI sits and what a human decides.

New builds, AI-assisted or otherwise. Rescue of existing AI-built applications. Systems audits. The conversation is free and direct.

  • AI-assisted builds with proper engineering underneath
  • Rescue and audit of AI-built applications
  • Custom software with or without AI assistance
  • UK team, direct access, code you own outright

We reply within one working day. Call 01474 639 089.

Get in touch

Tell us about your project and we will be in touch within one working day.