Creating a transportation application in just two hours defies the usual conventions of software development. *The emergence of the vibe-coding method* is transforming the technological landscape, making processes more accessible and quick. *Artificial Intelligence* presents itself as a revolutionary tool, removing temporal and technical barriers often faced by developers.
Imagining a visual monitoring and alert system on the P line of the Transilien captures the very essence of this innovative approach. No in-depth programming knowledge is required to achieve such a feat.
The choice of the ideal IDE
The development process began with the selection of the Integrated Development Environment (IDE). Cursor emerged as the preferred choice. This software, known for its performance, leverages the trendy model of software engineering: Claude 4. Unlike Windsurf, owned by OpenAI, Cursor offers unmatched coding capabilities.
Creating the first codebase
Before venturing further into Cursor, a first version of the interface was generated via the chatbot from Anthropic, using Claude 4 Opus. This initial step established a solid codebase for the subsequent operations. The code was hosted on a remote server, facilitating updates and modifications in real-time through a web browser.
The prompt used for Claude 4 was precise and detailed. It was about designing a responsive web interface dedicated to a digital display board for train departures on the P line. This display was to present essential information, including departure time, destination, train number, and other real-time details. The specifications also required a clean design, with a color coding feature to indicate the status of the trains.
Improvements with Cursor
Once the first version was in place, Cursor’s assistant was used to refine the interface. The tool’s “Agent” mode allowed the AI to act autonomously, adjusting the code and adding files. This autonomy facilitated the installation of necessary dependencies, notably through Unix installation commands.
Effective use of LLM models
For the backend of the application, the PRIM API from Ile-de-France Mobilités was integrated. This API is a valuable source of essential information for the proper functioning of the application. Temporarily disabling Cursor’s automatic model selection allowed for the use of suitable and more cost-effective models, further enhancing development efficiency.
Certain features were completed using Claude 4 Sonnet Thinking for complex backend tasks. Simple coding operations were carried out with Claude 4 Sonnet. Documentation was facilitated through Gemini 2.5 Flash, which allows questioning without consuming credits, proving very useful for understanding the links between different files.
Testing and debugging phase
Testing validated the proper functioning of the features. With Cursor’s assistance, corrections were made regarding the filtering of data coming from the API. The entire code was then refactored, and unit tests were generated to ensure the robustness of the application.
A functional and visually pleasing result was achieved. The interface displays the next trains on the P line and informs users of delays or cancellations via a robust alerting system. Alerts are sent directly by SMS and email, ensuring rapid and effective information.
Limits and challenges of vibe-coding
Creating this interface was accomplished in just two hours, a significantly reduced time. Without Cursor’s assistance, this project would have taken several days, if not longer. This substantial gain demonstrates the benefits of vibe-coding.
However, this experience highlighted the limitations of the model. Coding errors may occur, requiring a good understanding of the underlying structure to make appropriate modifications. Despite these challenges, the use of native AI IDEs like Cursor transforms the development dynamic, shifting the role of the developer from executor to orchestrator of the entire process.
Frequently asked questions
What is the vibe-coding method and how was it applied to create the transportation application?
The vibe-coding method uses artificial intelligence tools to generate code quickly, thereby allowing applications to be created in a few hours instead of several days. In our case, we used Cursor and Claude 4 to develop a monitoring and alerting system on a Parisian transport line.
What specific tools were used in the development of the transportation application?
We used Cursor as the IDE and Claude 4 to generate the first version of the code. For the backend, we integrated the PRIM API from Ile-de-France Mobilités to obtain real-time data on transport.
How long did it take to create the application and what was the main objective?
The creation of the application took about two hours. The primary objective was to develop a simple-to-use monitoring and alert system to enhance user experience compared to existing transport applications.
How does the application’s interface adapt to different devices?
The interface was designed to be responsive, displaying two columns on desktop and tablet screens and a single column on mobile devices. This ensures optimal use across all types of devices.
What types of alerts does the application provide to users?
The application sends alerts regarding train cancellations or delays during specific time slots. Notifications can be sent via SMS through the Free mobile API and by email using PHPMailer.
What challenges did you encounter during the development of the application with AI?
Despite the significant time savings, we encountered some issues such as errors in the code generated by the AI. It was necessary to understand the code structure to correct these errors and make relevant modifications.
What is the testing and debugging process of the application after its creation?
After the code was created, we used Cursor’s agent to test and debug the application. We also generated unit tests to validate the overall functionality of the code.
Is it possible to create more complex applications using only AI tools like Cursor?
Although AI tools like Cursor significantly reduce development time, a basic understanding of code is still necessary for more complex applications. Developers need to play an active role in interpreting and modifying the generated code.