using replit agent
Quick observations trying to build a simple application that had some state (a database) using Replit's Agent. I started with the following prompt:
"A flask server that has an API endpoint for people to hit where you send it a string and it returns a count of each word and how many times that character shows up as a dictionary"
- It did an exceptional job of getting to a really simple prototype fast. I could have honestly stopped here.
- I felt like it was much faster at writing out initial logic than me, but was much slower at debugging basic issues like "Why upload is failing" than I would. But I'm used to this.
- It really struggled with UI and UX changes. Most of the overhaul was frustrating through prompt. I gave up and did most of it manually. Key examples were adding IDs, changing fonts, and making padding reasonable.
- I may have spent 10 minutes getting the initial idea set up, and then another two hours on UX.
- It didn't help that the code was slop and hard to read through. Most of this was caused by one large .html that contained all JS and styling. I was too scared to ask it to refactor, and guess it didn't matter enough to do myself.
- When I added the share link, a postgresDB had to be spun up. This was incredibly smooth.
- I eventually realized that it was great at adding features, but not at making things work together. If I was diligent
- It constantly made choices (DB Organization, File structures, Nav decisions) that didn't really make sense to me. But I guess I didn't really care that much, and more importantly didn't have to.
- When I went to deploy, storage didn't really work in production. I tried to use the assistant to roll in the right keys and the right configuration for pg, but nothing worked. It took a while to realize that these failings had more to do with the way Replit chose to deploy the database than anything else.
- I chose to roll back the share by link feature to get something live. Rollback deployments were quite nice in Replit!
You can take a look at word.ronbhattacharyay.com. The code is also available on github This is effectively a prototype. I don't think the code written here would be usable by another human being, but maybe that's the point.