About a month ago, we launched our very own remote hackathon. Any Setronica developer regardless of their experience, position, or…
Info Setronica | August 6th, 2024
Welcome to the first part of our three-part series, where we’ll take you behind the scenes of creating our AI Slack bot at Setronica. We’re here to give you a detailed look at how we turned a simple idea into a fully functional bot.
We built this AI bot to help with our internal needs, making our work lives easier and more efficient. Writing this series also helps us stay focused on the project and reminds us not to throw in the towel.
In this first part, we’ll cover the early stages of our project:
First, we’ve talked to almost every department – Marketing, HR, Developers, and Support – and guess what? They already use AI technologies for text editing or syntax checking – a massive time-saver. These AI tools help them whip up draft ideas, rough drafts, or quick reference answers, kind of like a supercharged dictionary or Google. But, of course, everyone tweaks the AI-generated results to fit their style and needs.
Now, imagine integrating AI bots right into Slack. It could be a game-changer! We could add more capabilities and features as we go, cutting down on costs for maintaining multiple accounts. Plus, everyone in the company would get easy access to simple query generation. Even better, we wouldn’t be tied down to one language model. We could mix and match different AIs to handle all kinds of questions and tasks.
The idea for our AI Slack bot came from a simple need: make team communication smoother and automate those pesky repetitive tasks. The MVP we envisioned would fit right into Slack and offer a bunch of handy features for all the teams.
Next up, we thought about connecting these bots to specific channels, acting as assistants tailored for each department’s unique needs. Imagine bots that could handle routine tasks, summarize meeting notes, run analyses, generate reports from channel records, and so much more. The possibilities were endless based on how we expanded their applications.
And most importantly, all of these functions are not accessible through GPT-4.
So, let’s see how it all came together.
First, we zeroed in on some core functionalities that could really make a difference, like automating routine queries, summarizing important info, and offering personalized assistance to different teams.
By tapping into flexible language models and syncing up with Slack’s existing features, we aimed to create a bot that’s not just smart but also versatile and intuitive. The goal was for it to learn and get better over time, making our workflows more efficient and our workdays a whole lot easier.
Sure, off-the-shelf bots like DailyBot, Botsonic, and the Language Translation Bot have some cool features, but they tend to be a bit limited and might not cover everything we need across our different departments and projects. But after digging into all the Slack bot options out there, it became pretty clear that a custom solution was the way to go for our specific needs.
Going custom lets us build exactly what we need, without any compromises.
At first, we mapped out all the formats and how the bot should respond, including the technical details. But after a review, we decided to keep things flexible, making the request formats universal so we can easily integrate with any AI in the future. So here’s the basic algorithm the bot follows:
We knew we had to nail how users would interact with the bot. Our goal was to create a super smooth and intuitive user experience, making sure the bot’s responses were spot-on, relevant, and easy to grasp.
We focused on:
We also made accessibility and inclusivity a top priority, ensuring the bot could serve a diverse group of users with different levels of tech know-how. By tackling these interaction aspects head-on, we aimed to turn the bot into an essential part of our daily workflows.
We also needed to customize the domain scope context for a multi-user account, meaning every user can tweak their view and interactions to match their specific needs. This personalization is session-specific, so the conversation context only sticks around for the current session – that’s a limitation in GPT-4.
Plus, all the data handled during these sessions is transferred and stored following our company’s strict security policy, ensuring we stay compliant and keep data protected.
Here’s a detailed look at the steps we took to streamline our setup and pave the way for a successful development journey.
Programming Languages:
We went with Java as our main programming language because it’s right up our alley. Our team has a lot of experience in Java, so we know how to make the most of its robustness and extensive ecosystem. Plus, we’ve got a bunch of Java experts on hand to jump in and help out whenever needed.
Frameworks:
For the framework, Spring Boot was an obvious choice. Its simplicity and ease of use allowed us to quickly get our application up and running, while its powerful features provided the flexibility we needed.
Tools:
APIs:
Build and Deployment using Bitbucket Pipeline:
We utilized Bitbucket Pipeline for our build and deployment processes. Our server at Hetzner played a dual role as both a worker node and a host, running Docker containers with the built application. This setup ensured a robust and scalable deployment environment.
Repository Creation:
Creating repositories was straightforward. Developers could either request repository creation or do it themselves, making the process flexible and efficient.
DNS Management:
All DNS records were managed on our AWS account. Setting up a new record for this application was a breeze, ensuring our deployment was accessible and well-integrated into our existing infrastructure.
So, we’ve got all lined up for the development. We’ve given you the lowdown on the concept, the cool features we want, and the tech stack we’re rolling with – especially our love for Java, where we really know our stuff.
But don’t go anywhere just yet. In the next part, we’re getting into the fun stuff: the development process. We’ll share the coding challenges, the breakthrough moments, and all the behind-the-scenes magic that made our bot come to life.
Stay tuned!
About a month ago, we launched our very own remote hackathon. Any Setronica developer regardless of their experience, position, or…
Bone diseases can develop unnoticed and lead to severe consequences if not detected in time. Doctors face numerous X-rays every…
Use Kaggle datasets for research responsibly. Steps: Create an account, explore, check licenses, clean data, conduct research, cite, and share.
Imagine you’re working late into the night, super pumped about implementing this cutting-edge AI model you found in a recent…
Artificial Intelligence (AI) is revolutionizing industries across the globe, from autonomous vehicles to advanced medical diagnostics.
Contact us today to discuss your project and see how we can help bring your vision to life. To learn about our team and expertise, visit our ‘About Us‘ webpage.
Setronica is a software engineering company that provides a wide range of services, from software products to core business applications. We offer consulting, development, testing, infrastructure support, and cloud management services to enterprises. We apply the knowledge, skills, and Agile methodology of project management to integrate software development and business objectives effectively and efficiently.
contact@setronica.com
+1 929 260 3113
Slovenia:
Kolodvorska 7, 1000 Ljubljana
USA:
211 E 7th St, Austin, TX 78701
© Copyright 2024 Setronica. All Rights Reserved.