AI Made Me Write Less Code — and Think More About Engineering
What I learned building and deploying a full-stack application with AI-assisted development, from the first specification to HTTPS on a GCP VM. I had been tracking my workouts in Google Sheets for quite some time. It worked. But eventually I started thinking: why am I still maintaining a spreadsheet for something this simple? I had wanted to build a small workout tracker for a while, but there…
The writer crafted a workout tracker application, utilizing AI-assisted development to reduce their coding workload while focusing on engineering decisions throughout the process. Initially, the application was primarily built using AI, but the writer found themselves spending significant time on requirements, specifications, architecture, and testing.
The development loop included gathering requirements, creating specifications, planning implementation, crafting detailed prompts for AI, reviewing AI-generated code, running tests, and manual verification before committing changes. The writer experimented with various AI coding agents, eventually settling on Cursor as their primary coding environment, leveraging ChatGPT for requirement refinement and prompt creation.
The application featured a simple exercise library, workout creation, logging, sets and exercises tracking, previous performance review, and a workout history dashboard. It was intentionally designed to be lightweight and focused solely on the writer's needs, without additional features like social integration, nutrition tracking, or personal fitness coaching.
As part of the experiment, the writer chose a technology stack that balanced familiarity with learning opportunities. Backend technology included Java 21, Spring Boot, Spring Security, JPA/Hibernate, PostgreSQL, Flyway, and Maven. Frontend development was carried out using React, TypeScript, Vite, Tailwind CSS, React Router, and TanStack Query.
For infrastructure, Docker, Docker Compose, Nginx, GitHub Actions, and Google Cloud Platform were utilized. The application was deployed on a single GCP VM through Docker Compose, ensuring simplicity, cost-effectiveness, and comprehensive understanding of the deployment process.
Despite the AI-assisted development, the writer emphasized the importance of maintaining control over engineering decisions, including architecture, trade-offs, review processes, and testing. The project gave them valuable experience in full-stack development, reinforcing their skills in both backend and frontend technologies. Ultimately, the writer was able to deploy the application to the internet, gaining hands-on experience with cloud infrastructure, domain management, and continuous integration/deployment using GitHub Actions and Let's Encrypt.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.