AI Software Development: How to Build Prod-Level App Using AI

MindK is a place where innovation and automation are working together to build a better future for people and businesses. There has been considerable talk about AI software development. Will AI replace human engineers? Can startups make production-level software with AI? Beyond the hype and fear-mongering, there’s very little empirical evidence of its use on commercial projects. At MindK, we tried to fix this by outsourcing as many tasks as possible to our (not–so–trusty) AI assistant and watching it fail or succeed. This article is an honest overview of this experience and a step-by-step guide on how to build apps using AI.

Case Study: The Service Call Project

Early in 2024, I consulted a Valley startup that wanted to build a mobile app for electricians, plumbers, and other technicians. According to the founders, these people could do ~25% of the work remotely, including easy fixes and preliminary estimations. However, they couldn’t charge for these services. This is what their app would fix.

As a Lead Front-end Developer, I took part in project estimation. The app required a unique combination of integrations (Stripe, Daily.co, Twilio) and lots of custom logic. This raised the costs to as much as $200,000 with an in-house team which was simply too much. Our team has previously experimented with AI software development on internal projects. We suggested using some of that experience to save costs. The idea was to have one Senior Engineer create the entire app using AI for everything from design to deployment.

Over nine weeks on the Service Call project, I noted all the AI quirks and optimized the prompting approach. According to my calculations, using AI saved the client ~$160,000 USD. Although there were mistakes I’d rather avoid and some major disappointments, the project was a great success overall.

AI in Software Engineering: Understanding the Capabilities

Our first stop is to understand the real AI capabilities. The table below list typical project tasks that AI proponents claim you can safely outsource to an artificial friend. As a natural skeptic, I ran a survey across the departments to collect feedback about the past six months of AI usage. Keep in mind that the real mileage you get out of AI depends heavily on your technical skills, domain knowledge, and project specifics. This means that an engineer’s mind is still the key factor in a product’s eventual success.

The result is color-coded to reflect the current generative AI capabilities:

  • Green: incredibly helpful.
  • Yellow: helpful with some caveats.
  • Red: don’t waste your time.
Category Tasks and Processes
Development & Refactoring Refactoring, Debugging, Code generation, Optimization of algorithms, Code analysis for vulnerabilities, Code auto-completion, Generation of unit tests, Porting to a new programming language, Explanation of complex parts of the code.
QA Creating test cases, Creating tests with Playwright, Analysis of test coverage, Prioritization of test scenarios, Test data generation, Automation of regression testing, Log analysis to detect anomalies, Generation of test reports, Creation of load testing scenarios, Analysis of A/B testing results.
DevOps Generation of Docker files, Troubleshooting CI/CD issues, Writing bash scripts, Automation of infrastructure monitoring, Optimization of server configurations, Log analysis to identify performance issues, Generating rules for firewalls, Automation of deployment and scaling, Creation of disaster recovery scenarios, Optimization of caching and load balancing.
Business Analysis & PM Analysis of email text for tone coloration, Requirements analysis, Generation of business cases, Project risk assessment, Immersion in the client’s business area/context, Project schedule generation, Creating a summary of large amounts of data, Forecasting market trends, Competitor analysis, Forecasting project completion dates, Generation of business models, Optimization of resource allocation, Optimization of business processes, Automation of project status reporting, Analysis of user needs, Analysis of team communications.
Design Creation of design ideas, Checking texts with technical context, Generate HTML/CSS from design descriptions, Creation of color palettes, Generation of icons and logos, Optimization of design for different devices, Creating presentations for stakeholders, Analysis of design accessibility (AAA), Creation of interface prototypes, Generating variants of font compositions, Analysis of design trends, Creation of animations for interfaces.