Sitemap

Creating a simple TODO App with Pythagora V1 (Early access)

3 min readOct 25, 2024

--

Press enter or click to view image in full size
Pythagora AI Coding assistent

I got the privilege to be accepted as a beta tester of the Pythagora ai-development platform. Here I will share my experience. If you want more details watch this Video.

https://www.youtube.com/watch?v=4g-1cPGK0GA

As with all software you cannot start without a plan and initial idea of what you want to develop. I tried to input another spec, but somehow the AI transformed this into a todo list.

Ai generated spec,

## Features

- **Display of Todos**: A list that displays all todo items. Each item shows its description and a checkbox to indicate its state (open or completed).
- **Add New Todo**: A button to add a new todo item. Clicking this button will prompt the user to enter a description for the new todo.
- **Toggle State**: Each todo item includes a checkbox. Checking/unchecking this box toggles the todo's state between open and completed.
- **Local Storage**: The application uses the browser's local storage to persist todos between sessions, ensuring that users do not lose their data upon reloading the application.

I installed mongodb 8.0 and nodejs as they are normally a reqirement for most projects built with pythagora v1. However this project uses the localStore.

The task built successfully, but I had some issues whith the start app (rocketship) Instead I did, npm run dev, ,manually.

Press enter or click to view image in full size
No problem with initial app

After this I tried to add drag and drop.

The pythagora software makes a plan and implements

Press enter or click to view image in full size
Updating the spec

During deevelopment it choosed a deprecated module,

Normally during development human testing is still necessary.

Press enter or click to view image in full size
Human testing is still necessary

This is how I manually started the project.

 npm run dev

> AI Scheduler@0.0.0 dev
> vite

Vite configuration is being loaded

VITE v5.4.10 ready in 332 ms

➜ Local: http://localhost:3000/

It turns out that it tried to create items that was possible to drag but forgot about those already in the local storage. The did not have an id.

I implemented this as a workaround.

localStorage.removeItem('todos');

This did not solve all problems and after several attempts Pythagora was not able to fix the bug, so I switched to pair programming, but was not able to fix it due to limited time.

Press enter or click to view image in full size
Switched to pair programming mode

More reading, https://github.com/Pythagora-io/gpt-pilot/wiki

The complete sourccode can be found in this repo, https://github.com/Ebiroll/scheduler/tree/main/ai-scheduler

The repo also contains some other sourcecode where I use Codepilot workspace. In another article I will try a side by side comparison by using these two tools. AI-assisted development does not work good enough yet, but I think this is the future of programming. We will become testers and bughunters until the AI also will manage this task.

--

--