Title: Generate a Todo app using AI Date: 2025-09-14T05:00:00.000Z Author: Paul Fischer Tags: post, GPT, Claude ================================================== I have tried to check out some of the AI tools every now and then to see how well they work when it comes to completing programming related tasks. From my experience so far, they are very hit or miss. Sometimes it gives me almost exactly what I am looking for, other times, they fail miserably and give me something that is completely wrong or doesn't even compile. So I thought why not give it another go with something (relatively?) simple, a todo application built with html, css, and vanilla js that is responsive and includes accessibility. I utilized Github Copilot and tried to build a Todo application with Claude Sonnet 3.5 and GPT 4.1. In both cases, I used roughly the same prompt and also did not modify any file by hand. I asked the agent in both cases to make any changes requested. What follows is the conversation I had with GPT to build a Todo application. I won't include the outputted file after every prompt but will link to the result of the file at the end. I mostly want to focus on the conversation because a reoccurring theme happened when I tried to build a Todo application with GPT and Claude. Me: > Using only latest html, javascript, and css, build a responsive and accessible todo application that saves state into local storage. Make a single todo.html file inside the copilot folder. GPT: > I will create a single file, copilot/todo.html, containing a responsive and accessible todo app using HTML, CSS, and JavaScript. The app will save todos to localStorage and support adding, toggling, and deleting tasks. > > todo.html todo.html > > has been created with a responsive, accessible todo app using HTML, CSS, and JavaScript. The app saves todos in localStorage and supports adding, toggling, and deleting tasks. Me: > Update to allow editing of an the existing todo as well as allow the ability to toggle the state of the item. GPT: > I will update the todo app to allow editing an existing todo item inline. Each todo will have an edit button that, when clicked, replaces the label with a text input and save/cancel buttons. Toggling the state will still be possible via the checkbox or label. > > I'll add the edit functionality to the JavaScript and update the rendering logic accordingly. > > todo.html > > The todo app now supports inline editing of existing items with edit, save, and cancel buttons. You can still toggle the completed state using the checkbox or label. Me: > Make sure all the buttons are keyboard accessible as well as keeping focus on a button after rerender. GPT: > I will update the todo app to ensure all buttons are keyboard accessible by setting tabIndex and using semantic