- Introduction
Over the past few months, I had the opportunity to take part in the development of UNIFIT, a platform built for the health and wellness ecosystem, designed to help users organize their workouts, diets, and physical progress in a single place. The project began with a simple but persistent observation: most people still rely on paper notes, scattered apps, or messaging conversations to track their exercise and nutrition routines. This fragmented approach makes it difficult to monitor physical progress and excludes those who cannot afford the high cost of specialized professionals.
UNIFIT was designed to reduce that barrier by offering a structured and accessible experience, where students can request personalized workouts and diets while professionals in physical education and nutrition monitor and adjust that information remotely. The proposal brings together three complementary layers of value: for the student, autonomy; for the professional, a centralized monitoring dashboard; and for the manager, a tool to digitize the business.
The most distinctive aspect of this experience, however, is not only the product's purpose, but how it was built. Unlike traditional development projects, UNIFIT was entirely prototyped using Lovable, an AI-guided application-building platform, without a single line of code written by hand and without an actual production database. The entire system — from screen structure to business logic, the workout and diet modules, and AI-driven personalized content generation — was built through carefully crafted, tested, and refined prompts across multiple iterations. This turned the project into something beyond a software development exercise: it became, above all, an exercise in prompt engineering and computational systems prototyping.
Working with a team of four other colleagues, I took on the challenge of translating business requirements, user stories, and functional rules into instructions clear enough for an AI to coherently generate an entire functional system architecture. This process placed me in front of a type of reasoning rarely explored in traditional training: thinking not only about what the system should do, but about how to communicate that precisely to a language model, anticipating ambiguities and unexpected behaviors before they even occurred.
- Challenge
Although Lovable removes the need to write code by hand, that does not mean the system-building process was free of difficulties. On the contrary: the challenges simply changed in nature. Instead of syntax bugs or compilation errors, we faced problems of logical integration, data structuring, and communication between the system's different modules — all mediated through prompts.
The first major obstacle appeared right at the foundation of the system: integration between the authentication process and user data storage. On several occasions, during the sign-up flow, the information entered was not being persisted correctly, which prevented account creation and blocked redirection to the next steps of the user journey. Diagnosing this kind of failure required different reasoning than traditional debugging: since there was no direct access to the source code to inspect line by line, it was necessary to reformulate the prompts incrementally, testing hypotheses about where the logic was failing and rewriting instructions until the expected behavior was achieved.
The second relevant challenge appeared in the implementation of the AI-powered workout and diet generation modules — the true heart of UNIFIT. Getting the AI to generate coherent recommendations was already a complex task in itself; but ensuring that this information was correctly saved and remained available for the user to consult later required successive adjustments to how the data was structured. A concrete example was the detailed display of diets: initially, foods and their respective nutritional values were not correctly displayed within each meal, resulting in incomplete or disorganized information on the user's screen. The same type of problem repeated itself in the workout area, where it was necessary to rework the display logic so that all exercises for each day of the weekly split would appear complete and properly ordered.
To resolve this type of inconsistency, the team realized it was necessary to go beyond simply asking for "generate a workout" or "generate a diet." It was essential to think about the data structure behind the information — organizing the generated content in JSON format, with well-defined fields (name, exercises, sets, reps, rest, and goal, for workouts; name, meals, calories, times, and nutritional goal, for diets). This decision not only solved the display problems but also paved the way for future features such as querying, editing, and deleting workouts and diets, something that would have been far more difficult to sustain with disorganized or free-form data.
We also faced challenges in building the interface, since navigation needed to be both intuitive and suitable for mobile devices, without sacrificing the wealth of information the system needed to present — workouts, diets, gyms, professional profiles, and progress history. This required design decisions communicated entirely through prompts, such as the use of interactive cards, confirmation modals, and user feedback messages, ensuring clarity even without a single line of CSS or JavaScript written by hand.
Finally, a challenge that ran across the entire project was dealing with the diversity of user profiles mapped during requirements gathering: students focused on performance, students focused on wellness, gym managers, health professionals, and even users with specific accessibility needs, such as people with disabilities and elderly users. Each of these profiles brought different expectations regarding the system, and reconciling this diversity into a coherent set of functional and non-functional requirements — without being able to rely on long manual coding sessions for each adjustment — constantly tested our ability to prioritize and communicate effectively with the AI tool.
- Learning
The obstacles faced throughout UNIFIT's development turned into concrete lessons, many of them rarely explored in traditional development processes. The first and perhaps most important was understanding, in practice, how prompt engineering both resembles and differs from conventional software engineering. Defining a functional requirement with enough clarity for an AI to turn it into a working screen demands a level of specificity very close to that of a traditional technical specification, but communicated in natural language, anticipating misinterpretations before they become errors in the system.
I also learned, very concretely, the importance of data modeling even in contexts where no real production database exists. The need to organize workout and diet information into well-defined JSON structures — with clear fields such as sets, reps, rest, calories, and times — reinforced a core principle of systems engineering: the quality of the user experience depends directly on the quality of the data structure that supports it, regardless of the technology used to implement it.
Another significant lesson came from the integration between authentication, front-end, and business rules. Even mediated by prompts rather than hand-written code, this integration forced me to think systemically: every change in one module, such as user registration, had a direct impact on others, such as redirection to the dashboard or linking to gyms. This reasoning is central to any software project, and experiencing it through AI-driven prototyping gave me a broader perspective on system architecture, without being confined solely to the syntax of a specific programming language.
From a product standpoint, I also learned a great deal about the importance of user research and competitive analysis before a single prompt is written. Studying existing solutions on the market, such as apps focused exclusively on diet or automatic workout generation, helped the team identify real gaps — such as the lack of intelligent personalization combining training and nutrition — and position UNIFIT more strategically, avoiding reinventing solutions that already existed, albeit incompletely, in the market.
Finally, the project reinforced behavioral skills that rarely appear in a technical manual: problem-solving under uncertainty, teamwork distributed across different fronts (documentation, modeling, prototyping, and testing), and constant adaptation in the face of unexpected results generated by the AI. I learned to treat every system behavior failure not as a definitive error, but as a signal that the prompt — and not necessarily the product logic — needed refinement.
- Application
The knowledge gained from developing UNIFIT has direct applications in an increasingly relevant area of the technology market: AI-assisted development tools, also known as no-code and low-code platforms driven by artificial intelligence. Companies of different sizes have adopted this kind of approach to accelerate idea validation, reduce prototyping costs, and enable professionals with diverse backgrounds — not only developers — to bring complete digital solutions to life.
In this context, the ability to translate business requirements into structured prompts, as we did when turning user stories into functional and non-functional rules for Lovable, is directly applicable to product teams, early-stage startups, and innovation departments within larger companies. Professionals capable of driving this kind of rapid prototyping become valuable assets in MVP (minimum viable product) validation processes, since they can present functional, navigable prototypes in far less time than a traditional development cycle would require.
The experience with data modeling applied to an environment without a traditional database is also transferable to information architecture, technical documentation, and systems specification projects — stages that precede any actual implementation and, in many cases, determine whether a software project succeeds or fails. Knowing how to design use case diagrams, class diagrams, sequence diagrams, and BPMN flows, as we did throughout UNIFIT's documentation, is a skill that applies both to AI-built projects and to conventionally developed ones.
In addition, dealing with multiple stakeholder profiles — students, health professionals, and gym managers — and turning their needs into technical requirements is a core skill for any role connected to systems analysis, product management, or technology consulting. This reasoning applies equally to sectors outside fitness, such as healthcare, education, retail, or financial services, whenever different perspectives must be reconciled into one cohesive digital solution.
Finally, I believe this experience with prompt engineering will become increasingly relevant as generative AI tools become a standard part of the software development workflow. Mastering this way of communicating with intelligent systems — precisely, in a structured manner, and oriented toward results — is becoming a competitive advantage for traditional developers as well as for product, design, and project management professionals.
- Reflection
Looking back, developing UNIFIT represented far more than delivering a functional prototype for an academic assignment or project. It was, above all, an opportunity to experience, in practice, an emerging way of building software — one in which logical reasoning, clarity in communication, and the ability to structure complex problems matter just as much, if not more, than mastering a specific programming language.
This experience contributes directly to my professional path because it allowed me to develop a competency still relatively rare in the market: leading systems prototyping projects from start to finish using prompt engineering as the central tool, without giving up the technical rigor expected of any software engineering project — requirements gathering, data modeling, use case diagrams, class diagrams, and process flows. This gave me the confidence to operate in hybrid contexts, where the line between traditional development and AI-assisted development is becoming increasingly thin.
I also believe this experience strengthened my view on the role of error in the creative process. Every failure encountered, whether in authentication, diet display, or workout generation, was not treated as a setback, but as a natural part of refinement. This mindset of continuously iterating until reaching the expected result is one of the most valuable lessons I take from the UNIFIT project into my career, as it applies not only to software development but to any creative or analytical process that demands constant adjustment in the face of imperfect results.
Ultimately, taking part in creating UNIFIT gave me a clearer sense of the professional I want to become: someone capable of moving between a product's strategic vision, a system's technical structuring, and effective communication with artificial intelligence tools. In a job market transforming rapidly with new technologies, projects like this function as a genuine laboratory for adaptation — and that adaptability is exactly what I intend to keep cultivating throughout my career.
Top comments (1)
Prompt engineering is most useful in prototyping when it is paired with system boundaries. The prompt can help explore shape and language, but the product becomes real when you decide what state is durable, what users can trust, and which parts need deterministic logic.