Replit, formerly Repl.it, is an American start-up and an online integrated development environment. Replit allows users to create online programming projects called repls.

Replit image

First Impressions

I was first interested in Replit based off of their integrated deployment function that allows you to take the code generated by the AI and deploy it with ease. I assumed that the deployment options would be limited which they are but they do allow you to very quickly generate an application (or repls as they are called in this context) and deploy it. So its great for smaller use cases or even medium ones with low architectural complexity.

What I have been missing from GitHub CoPilot and similar tools is the proper use of feedback in iterating on previously generated code. Meaning, my opinion has been that they are good at generating code snippets for particular use cases. Or even bootstrapping entire applications. But iterating on those code bases in terms of refining, adding and refactoring to make production ready code has left a lot to be desired. My first impression of Replit is that it is indeed trying to solve this particular issue. The Replit Agent (which is in early access as of this post) cooperates with you in splitting up the building of the application in multiple steps, confirming after each step if it has succeeded and if not it tries to correct its errors before continuing (success rate TBD, I had some varying success with this). I think this is precisely what you want to do with an agent like this, make sure that it gets things right, correct when it gets it wrong as early as possible and work by iteration. As such I appreciate Replit as a product in the right direction of integrating AI in to coding.

As far as Online IDEs goes it is simple to use and you have everything at the tip of your fingers with Shell, file structure, AI agent, Webview and more. It can definitely be a great tool to create and run smaller/medium applications for learning and showcasing ideas to others. With regards to cost I don’t really have any good reference to compare it to. A months subscription costs 25$ which includes 10$ of free credit for cloud costs which probably won’t get you too far.

Sorting Algorithm Application

I decided to make something that is simple in terms of logic and the first thing I came up with is a sorting algorithm application where you can compare the runtime of sorting algorithms, vary the input size and see the sorting happening visually. Replit managed to produce this together with me without me writing a single line of code and at the end of it prompted me to use the deploy function for deployment. It took a couple of iterations of me telling it that it didn’t succeed in doing what I wanted. One example of this introducing a bug in the merge sort making it fail its sort and having some sort visual bug as well. What was impressive was that I could actually tell it what it failed doing and it would attempt to fix it and most of the time it got it right the second time! This is something that I have found pretty uncommon with code generation from todays LLMs.

The first version of the application: First version

And the second version with a face lift: Second version

The second version included a face lift with optional dark mode, fonts and better arrangement of graphs and other elements. Additionally, you can see the counts that the algorithms have ran which I added to test the database functionality that Replit uses Neon for.

This took about an hour to produce and considering this is my first time touching Replit I think that is decently fast to get this type of application up and running. If I were a teacher this could be a great way to quickly deliver an application that can be used for showcasing or for students to play around with.

Workflow

The general workflow went like this:

  1. Ask for implementation
  2. Replit Agent tries to implement
  3. You ask it to redo something that didn’t work or make something else
  4. Either you say its ok or 2-3 are repeated
  5. Deployment/testing in the local environment is suggested
  6. You decide to deploy it (or scrap it because robots can’t be creative, screw you 🤖)

Conclusion

It seems like Replit is trying to solve many of the problems that the trend of using LLMs for code generation has introduced. It properly works with user feedback to iterate on an application, not only generating some partly useful code that you have to integrate and work with yourself to make valuable. It integrates database and deployment directly within the Online IDE making it super convenient to quickly launch a non-trivial application that it can also make look pretty decent.

The experience of working with an AI agent to produce the desired results was a much more pleasant experience than my previous experience with GPT and CoPilot where it feels more like you’re working against the agent after the first answer.

These are only my first impressions but I do like what I am seeing and for an early access AI agent I think this product can be very useful for smaller/medium sized applications where insight into and complexity of architecture is not needed.

Finally, I focused on how the agent helped me in producing the final code but of course there are lots of other aspects to consider regarding the Replit platform that doesn’t solely concern the AI coding experience, e.g. the fact that it sets up your environment for you with the necessary packages etc. There is a lot more to be explored!

References

[1] Wikipedia Replit

[2] Replit