Artificial intelligence is no longer just a buzzword or another episode of your favorite sci-fi show; it has become part of our everyday professional and private lives. This encompasses a wide array of chatbots, customized recommendations on streaming platforms for movies and music, language translation tools, and numerous professional applications that have been incorporating AI features, such as Slack, Notion, and Figma.
This certainly applies to our FatCat Coders team as we constantly seek ways to enhance our productivity. In the spirit of this, we're excited to share insights from a chat with our Fullstack Developer, Darko Simić, who regularly utilizes these technologies. :)
We talked about various AI applications with Darko sharing best practices, shortcomings, and future predictions, focusing particularly on ChatGPT, GitHub Copilot, and Perplexity AI. Let's dive in!
Hi, Darko! Let’s start with your Top 3 AI Tools for daily use.
Darko: Sure, when it comes to my daily needs regarding development, I mostly utilize ChatGPT, GitHub Copilot, and Perplexity AI.
It might sound basic, but ChatGPT is super helpful for thinking up new ideas. Whenever I'm stuck, I ask ChatGPT for help. It gives me fresh perspectives and solutions, like having a brainstorming buddy available all the time.
GitHub Copilot is my favorite for writing code faster. It's like having a helper who knows how I code and suggests complete lines or functions. It's really handy when I'm on a tight deadline and need to finish my code quickly.
When I'm searching the internet, I use Perplexity AI. It's not just a regular search tool; it understands what I'm looking for. Whether it's finding code examples or useful info, Perplexity AI gives me exactly what I need, saving me a lot of time.
So, these tools definitely speed up processes, right? How do you use them specifically?
Darko: It really boils down to what part of the project I'm tackling at the moment.
The “good old” ChatGPT, is my go-to tool across different development stages, from ideation to code optimization. I usually use it for brainstorming and conceptualizing in the early project stages. This tool swiftly diagnoses, especially because of its solution provision. Moreover, it is a great companion for debugging aiding in code structure enhancement. It is also quite efficient during refactoring.
Furthermore, our ongoing internal project (CatBot) facilitates ChatGPT integration within our Slack platform for various daily functions such as direct messaging, group chats, image generation, and link analysis. This development enhances our accessibility to ChatGPT even further.
On the other hand, I use Copilot during the coding phase, especially under tight deadlines. What is quite important to me is that it efficiently generates boilerplate code, implements standard functions, and suggests code snippets based on comments, facilitating rapid development cycles.
Finally, Perplexity AI is my favorite for gathering specific technical information. It's the fastest tool when I am eager to find best practices and code examples, or when I am delving into new technologies.
And considering their strengths, are there scenarios where you do not recommend using these tools?
Darko: Yes, each tool has its own challenges that could be fixed or reduced by using other tools. Firstly, Chat GPT sometimes can't handle very technical or specific topics, giving generic or slightly wrong answers. This can be a problem in complex problem-solving situations where details matter. It would help if the tool was further developed to understand specialized topics and give more specific answers. Nevertheless, this could be mitigated using real-time data to make its suggestions more helpful and up-to-date.
Copilot sometimes suggests code that's too general or not exactly what the project needs. It might also ignore the specific rules or style of the project. Improving how it learns from user feedback and adapting to different styles and project rules would make it better. Understanding the context better would also reduce unhelpful suggestions.
Lastly, while Perplexity AI is good for general questions, it might struggle with really technical or unusual programming questions. Its answers might not be as detailed or insightful as a human expert's. Making it understand technical topics better and giving more detailed answers would be a big improvement.
That’s very insightful. Each has its strengths and weaknesses, but do you have a favorite?
Darko: Sure :) There's one more tool I haven't talked about much because I mainly use it for my personal projects. It's Cursor IDE, and it's got features meant to make coding easier and faster. It helps with repetitive tasks and can handle tricky coding challenges.
For example, You can easily select a specific piece of code and choose a custom action for it, such as Refactor, Fix bug, Add pagination, and more. Another interesting thing for me is chatting with a chatbot that always has access to your currently open file in the editor, eliminating the need for unnecessary copying and pasting of code into the chat
And then there is the “@”! It helps me to easily reference specific code from the codebase in the chat. For example, typing "@autocomplete.tsx" could bring up that specific file or code snippet, facilitating quicker access and discussion about particular aspects of your project.
I also love that Cursor has insight into your entire codebase, allowing it to easily communicate with it and provide answers related to your project, enhancing its ability to assist with code analysis, bug detection, and feature suggestions.
Using Cursor you can import documentation from the internet that may be new and not yet included in ChatGPT's knowledge base. Another game-changer is that it includes an AI agent with the ability to debug specific parts of the application. Finally, there is resolving Lint errors effortlessly by hovering over the code and clicking the Fix button.
However, it's crucial to bear in mind that Cursor IDE, while not in its early phases, is still a work in progress, with ongoing developments and anticipated improvements on the horizon.
✓ Custom actions for specific pieces of code
✓ Chatbot that has always access to your currently open file
✓ Insight into your entire codebase
✓ Resolves Lint errors
✓ Automatic bug resolution with the help of AI Agent
You definitely know your way around AI tools. How challenging was it to integrate them into your existing skillset?
Darko: With ChatGPT, it was more about self-learning. I dedicated time to understanding how to create effective prompts, which is essential for getting the most out of the tool. This meant learning to be specific, clear, and contextual in my queries.
On the other hand, integrating GitHub Copilot was relatively straightforward. The tool comes with clear and thorough documentation, making it easy to incorporate into my workflow. GitHub's provided documentation was enough to grasp how to use Copilot effectively, making the integration process smooth and uncomplicated.
Sounds fun, and what about the rest of the team? Do all of the FatCats use these tools?
Darko: Nearly everyone at FatCat Coders uses these tools individually on a daily basis. This includes not only developers but also colleagues from various departments like People, Marketing, and Design. The demand for these tools led to the creation of an internal project and expanded it to collaborative usage, under the name of CatBot.
CatBot is an internal tool developed by our colleague Aleksa Stević. Like I said, its purpose is to optimize internal processes by integrating ChatGPT into our Slack platform for various tasks such as direct messaging, group chats, image generation, and link analysis.
Recently, I started collaborating with Aleksa on this project, and I'm excited to gradually enhance this tool for the benefit of our team. :)
And we’ll be glad to follow up on CatBot, as well. Finally, what are your thoughts on AI in the near future?
Darko: That's a tough question, having in mind the various factors such as market needs and technology development. However, there has been a talk about enhancements in the following areas:
Generative Artificial Intelligence (AI): Progress in this field will result in more lifelike synthetic data and enable automated creative tasks across different domains.
Multimodal Generative AI Systems: Incorporating various modalities will improve immersive experiences and facilitate contextually relevant interactions in Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR).
Ethical AI and Governance Frameworks: There will be a focus on establishing regulatory measures, ethical guidelines, and auditing mechanisms to guarantee fairness, transparency, and accountability in the development and implementation of AI. One of the most notable examples of this are the various disputes in 2024, about whether OpenAI uses private data to feed its models.
Thank you, Darko. We really enjoyed this knowledge-sharing session…
… as we always do! We love staying up to date with the latest in JavaScript and related topics. Check out our articles on our experiences with Gatsby to Next.js migration and the pros and cons of Next.js.
Our blog covers many other interesting topics connected to our niche React, React Native, and Node.js development. For a complete picture, reach out to us directly or visit our available developers page to collaborate with us.
ChatGPT: https://chat.openai.com/
GitHub Copilot: https://github.com/features/copilot
Perplexity AI: https://www.perplexity.ai/
Cursor IDE: https://cursor.sh/
P.S. This article was not written by AI, but of course, we used it a bit. ;)
Share this article: