Conversations about programming languages often ignite passionate debates, especially within the Ruby community. The recurring question arises: Is it still worthwhile to learn Ruby on Rails? Despite our current use of diverse technologies like JAVA/Spring Boot and PHP/Symfony, Devōt initially emerged as a company dedicated to assembling product teams rooted in Ruby on Rails.
From its beginning, Ruby on Rails has proven invaluable, enabling the rapid development of web apps and drastically shortening the timeline from concept to gaining first-paying users on the platforms.
The possibilities with Ruby on Rails
Starting with Ruby on Rails, I must say, after eight years, it’s nice to look back and see that we've built the largest Ruby on Rails team in this part of Europe. So, if you're wondering whether it's worth learning, the answer is yes. This technology has profoundly impacted industries like HR, healthcare, marketing, and more. From making HR processes more efficient to innovating healthcare solutions and revolutionizing marketing strategies, Ruby on Rails has played a pivotal role in digitalizing and innovating these industries.
Take, for instance, GitHub and Airbnb, both developed using Ruby on Rails. These platforms showcase its ability to support massive platforms handling extensive user interactions.
In this blog post, as we delve into our Ruby projects, you'll discover why the capabilities of Ruby on Rails are much bigger than people give it credit for.
1. Our AI-powered solution for employee queries
The challenge
In many companies, HR spends considerable time answering employee questions. Even with well-documented internal documentation with all the answers, employees still choose to contact HR directly through email or Slack instead of reading through documentation. People are likely to choose direct interaction instead of dealing with documented solutions.
The solution
To tackle this challenge head-on, our initial step involved analyzing how people tend to ask and await a response instead of searching for answers within existing documentation. The reason is pretty clear: people often prefer not to invest effort into research when it's much easier to ask and wait for someone else to answer. They're not particularly concerned about who answers as long as they don't have to spend a lot of energy to get their information.
The most time-consuming part of our process involved ensuring that the chatbot we named “Ante” could accurately identify and provide relevant answers. This required teaching AI about our internal documentation and turning that documentation into embeddings so that the AI could understand and compare questions effectively.
A part-time product owner, two developers, and one designer worked on this very fun project, which spanned a 3-month period from concept to completion.
2. Transforming legal complexity into user-friendly solutions
The challenge
Over the past decade, legislative changes in personal privacy and job safety posed a significant challenge for companies. Companies often need help to track all their compliance obligations. When incidents occur, companies must take specific steps and report them to authorities. We helped the client in developing a consent and compliance management system. This system enables companies to enhance the management of their internal processes. Using a series of forms, questionnaires, and custom-built processes, the system helps companies model their processes to ensure compliance.
The solution
One of the most intriguing aspects was designing a user-friendly interface for individuals unfamiliar with legal intricacies. On the technical side, some initial system components comprised legacy code from a previous vendor. This code relied on outdated versions of Angular and MongoDB, hosted on an AWS that was about to retire. We needed to quickly upgrade deprecated versions to the most up-to-date ones. This was necessary to prevent imminent system downtime in case we couldn't upgrade the system before AWS retired their servers.
This project spanned several years, involving a team of 16 individuals divided into two groups. Each team included a product owner, scrum master, technical lead, a couple of developers, and a QA. We are still working on this software, regularly doing project updates while working in a SCRUM environment. We maintain active involvement even after deployment, providing continuous support, updates, and enhancements.
3. Building custom ETL solutions for multi-source data integration
The challenge
Our client relied on Google Data Studio as the primary tool for presenting their marketing data. However, they encountered difficulties when attempting to showcase data from non-Google sources, such as competitor systems (like Facebook/Meta) and internal proprietary systems.
The solution
To address this, we developed an ETL tool designed specifically as a Google Data Studio plug-in. This tool connects and normalizes data from different sources and exposes it to GDS as a single data source.
A pivotal aspect of this project involved concurrently retrieving data from multiple sources so that the whole process ran as fast as possible. This required creating a well-coordinated multi-threading system that would fetch and normalize data. Integrating various APIs added complexity, making this project especially intriguing.
This project spanned 18 months and was executed by a dedicated team consisting of a Product Owner, Scrum Master, Technical Lead, a few developers, and a QA.
4. Modernizing equestrian horse show management
The challenge
Despite being a highly popular sport with significant financial transactions, horse show management, even today, primarily relies on paper-based processes. Our client aimed to revolutionize this industry by creating the world's premier horse-show management app.
The solution
One of the intriguing aspects revolved around the logistics of horse shows. In order to run a horse show, one needs a big plot of land, which can be expensive in regions where the sport is popular. As a result, many horse shows occur in remote areas where land is more affordable, but internet connectivity can be very unstable. Designing a web-based system capable of functioning offline became crucial, making this project both challenging and engaging.
This project spanned three years within a SCRUM environment. It involved 16 team members divided into two teams. Each team consisted of a product owner, scrum master, technical lead, several developers, and a QA specialist.
5. Building a dynamic telemedicine platform
The challenge
We began this blog by focusing on a smaller project, and now, let’s shift to something bigger. This project was one of our biggest projects, with almost nine product teams collaborating on different parts of the platform at its peak. Some notable challenges included:
-
Designing a custom consultation scheduling system
-
Navigating integration and data migration during a merger and acquisition process
-
Establishing identity management across separate systems (leveraging KeyCloak)
-
Crafting solutions for couples therapy
The solution
To address the platform's rapid growth, our focus was on scalability. Every component developed needed to sustain a 10x increase in user load compared to the current system, aligning with the platform's escalating user base.
Any system related to medicine and human health must be very highly reliable, as downtimes or bugs can have real-life consequences on human lives. To make sure this system was additional to our usual QA processes, we used tools like Cucumber to write regression tests. Part of the SDLC process was to write a Cucumber test for every business-critical flow in the system and to make sure none of the tests failed before releasing a new version of the software.
This was, and still is, a multi-year cooperation with several teams working on it. We are working in accordance with the SAFe framework, aligning with business needs.
So, is that all with Ruby on Rails?
Today, Ruby on Rails is a go-to choice for many websites due to its ability to speed up development, ensuring faster product delivery. Its scalability means applications can handle more users without major reworks, while flexibility allows for easier adjustments and improvements. In this blog post, we've highlighted just a glimpse of Ruby on Rails' capabilities — from transforming legal complexities into user-friendly solutions to building a dynamic telemedicine platform.
While these examples illustrate its strengths, it's important to note that the possibilities with Ruby on Rails extend far beyond this, meeting multiple needs across various industries. If you have any questions about our projects or wish to explore the possibilities with the Ruby on Rails team, feel free to contact us.