This app was built entirely by cursor in under two weeks. Prior to this project, I had no experience with Nextjs, React, or Supabase.
- AI enabled chat app
- Channels
- Direct messages
- Thread responses
- Emoji reactions
- Image uploads
- Supabase Auth
- Supabase Storage
- Supabase Realtime
- Supabase Postgres
- Automated parsing of .txt and .pdf files
- RAG with Pinecone and openai
- Image generation with Replicate
My main takeaway from this project is that Cursor is a great tool for generating code. It is very fast and efficient, and almost all of the code in this project was generated by cursor.
- Even though my .cursorrules contained the relevant info about the packages used, cursor still tends to try and use depreciated packages. This is probably because there is more training data for the older packages.
- Cursor relied a ton on supabase-ssr for the realtime capabilities. It turns out that it is mostly not needed with the latest versions of Nextjs, and probably 1/4 of the time spent on this project was spent dealing with those errors until I found the right way to do it and removed most of the supabase-ssr code.
- Cursor tends to repeat code, rather than utilize already existing functions. Its important to watch it as it generates code, and often explicitly tell it to use a function that has already been written.
- Cursor seems to be more effective at night. I suspect that its capabilities are throttled during the day because Anthropic doesn't have enough gpu power to handle the requests.