From idea to finished application: How thorough planning speeds up development#
We developed a chat interface for local AI models – in just 90 minutes total. The key to success: We invested 45 minutes in detailed planning before writing a single line of code.
The result was astonishingly straightforward: the implementation went practically without a hitch and, including corrections, also took 45 minutes. Only 2 iterations were necessary – one for the first version, one for fine-tuning.
What was the goal?#
To create a simple tool. No database, no cloud connection.
We wanted to build a chat interface for local AI models that was easy to use. The central question was: Which functions bring real added value in everyday use? A history function that automatically assigns appropriate titles to conversations was particularly interesting.
What can the tool do?#
The finished interface offers 11 main functions in 800 lines of Python code:
- Streaming responses: The AI responds in real time, not after the calculation is complete.
- Conversation history: Automatic titling of all conversations (e.g. ‘Python debugging’, ‘marketing ideas’)
- System templates: Predefined behaviours for the AI (e.g. code expert, copywriter, analyst)
- Response templates: Frequent requests available at the click of a button (e.g. ‘Explain code’, ‘Summarise text’)
This makes it quick and easy to work with local AI models.
How was it developed?#
We proceeded in clear steps:
- Planning phase (45 minutes): Detailed description of all functions and their technical implementation
- Implementation (45 minutes): Transfer of the planning to an AI model that developed the code
- Runs: Only 2 iterations – initial version plus improvements
- Total effort: 90 minutes spread over 2 days
- Result: 2 files with a total of 800 lines of working code
The technical basis was provided by Gradio for the user interface and an OpenAI-compatible interface – technologies with which we already had experience.
Why did it work so well?#
Because we described the requirements very precisely.
During the planning phase, we didn’t just write down the functions we wanted. We also specified how each function should be implemented technically. These clear specifications helped the AI model to develop suitable code straight away – without unnecessary complexity or false assumptions.
A concrete example: automatic title generation. Without meaningful titles, entries in the history would have been indistinguishable. We described that the AI should generate titles for new conversations itself during runtime. This worked and was an interesting case of nested AI calls.
Key insights#
1. Thorough planning pays off
The 45 minutes spent on planning enabled almost direct implementation. Instead of going through many loops of corrections and improvements, the development ran through in one go.
The investment in a clear description of the requirements paid off immediately. Fewer iterations mean faster results.
2. Precision prevents unnecessary complexity
AI models tend to suggest more complex solutions than necessary. Precise planning helps to avoid this problem.
In our project, there was no situation in which we had to deliberately simplify. The detailed specifications ensured an appropriate level of complexity from the outset.
3. Modular structure facilitates adjustments
We outsourced the settings for AI behaviours to a separate file. This makes subsequent changes easy without having to touch the main code.
This division into 3 main classes (ChatSession, StreamingChat, ChatInterface) has proven to be maintenance-friendly.
What can others learn from this?#
- Invest time in planning: Half an hour of thorough preparation can save hours of rework
- Clarify technical details: Don’t just describe what a function should do, but also how
- Build modularly: Separating settings from code makes adjustments much easier later on
- Consciously keep it simple: Actively avoid complexity by setting clear guidelines
Conclusion#
✔ 45 minutes of planning led to 45 minutes of direct implementation
✔ Precise requirements prevent unnecessary complexity and iteration loops
✔ The tool runs stably in initial tests and shows that thorough preparation speeds up development
This is part of a series on AI-supported development projects. The focus is on what can be learned from such projects – not just on the results.