Navigating the App Development Process with ChatGPT: A Step-by-Step Guide by a first timer

Creating a simple, user-friendly app from scratch can be a daunting task, especially without a coding background. Fortunately, with the help of ChatGPT, I embarked on this journey to develop a Windows app tailored to my daily task tracking needs, without requiring administrative rights for use. Why i created the app ? read my blog post here.

However, the end product is not nearly perfect, its a draft working version which i came up with after working for a couple of hours with ChatGPT, currently it is running on anaconda shell on my desktop where i created the app.

Here’s a detailed walkthrough of how ChatGPT and I navigated through the development process, starting from the initial interaction to the final coding challenges. This will help you when you will start working on your own app, it will guide you how to start the prompt and how not to make the mistakes i made.

The Beginning: Defining the App

My first step was to clearly define what I wanted in the app. I needed something straightforward that could run with minimal permissions and be easily shared with my colleagues. Here’s how I laid out my initial requirements to ChatGPT:

“You are an expert web app developer, extremely resourceful and a creative thinker. I want to create a Windows app that doesn’t require admin level approvals to run. It should be simple for my friends and colleagues to download and use on their systems without needing admin rights. I need some very basic features, and I’ll describe these in the next prompt. You will guide me through every step, from coding to execution, ensuring the app is efficiently built and operates smoothly on basic systems.”

Detailing the Features

After setting the stage, I described the functionality I envisioned for my daily task tracker:

“I need a simple daily task tracker. Each day at work, my list of tasks can grow or shrink significantly. I manually track these tasks on paper, but I want to digitize this process. The app should open a small window where I can enter my tasks. It should be simple: add tasks, mark them as done with a click, and delete them if needed. The app should not have complex integration or sharing features—just a straightforward list with the date displayed at the top. I also need a backend to record completed tasks in a database or an Excel file, which I can refer to anytime.”

Clarifying with ChatGPT

ChatGPT responded by asking several specific questions to better understand my needs and refine the app’s design:

  • User Interface:
  • Should the window be resizable or fixed?
  • Do I want plain text or some minimal formatting?
  • Any additional UI elements like menus or toolbars?
  • Functionality:
  • How should the list behave (minimizing/maximizing)?
  • What visual cues should indicate a task is completed?
  • Data Storage and Export:
  • What specific data should the Excel file contain?
  • How should past data be accessed?
  • Sharing and Collaboration:
  • Is the app intended for individual use, or should it include sharing features?
  • Deployment and Updates:
  • How should the app be distributed and updated?

Technical Decisions and Challenges

Based on my answers, ChatGPT suggested using Visual Studio with a focus on .NET desktop development for a robust build. It guided me through installing Visual Studio and setting up a new project. However, as the project progressed, I realized the complexity of Visual Studio was overkill for my needs.

“This is getting too complicated. Can we switch to building it with Python for simplicity? I need the app to run without admin rights and be easy to share.”

Switching to Python simplified the process, allowing us to focus on core functionalities like adding tasks, marking them complete, and storing them in an Excel file. However, the initial code ChatGPT provided was not up to par, lacking essential features like date tracking and task carry-over. After several iterations and detailed feedback, ChatGPT helped refine the app to meet all specified requirements.

Final Hurdles: Creating an Executable

The final step was to convert the Python script into a standalone executable file, which proved challenging. Despite following the instructions provided by ChatGPT, the .exe file generated errors, indicating potential malware—a false positive but a significant obstacle nonetheless.

Reflections and Next Steps

Though the executable was not immediately usable, the Python script itself functioned as intended. I plan to continue testing and exploring alternative methods to create a shareable version of the app. This journey with ChatGPT not only taught me about app development but also highlighted the importance of clear communication and iterative feedback in creating customized software solutions.

You can read the complete chat i had with ChatGPT here.

You can download my task_tracker.py app here and run it on your own desktop to experiment with it.

This is how the app is currently working.

This detailed account showcases the interactive process with ChatGPT, demonstrating its potential as a powerful tool for learning and development, even for those new to programming.

Share This Post

Leave a Comment

Your email address will not be published. Required fields are marked *