We build user-friendly online tools to grow your business.
We'll help you bring your ideas into a demonstrable and clickable reality.
Design and development of your Ruby on Rails application.
Ongoing code maintenance for your Ruby on Rails application.
24/7 dedicated Ruby on Rails Operations as a Service for your Rails application, keeping it online and secure.
View Case Study
The blueprint that has been developed leaves me with confidence to expand with new features, that will respect many of the lessons learned during wireframing and prototyping with Ildikó.Tim Koopman
View case study
We are delighted with the result, which has transposed into increased online sales and positive feedback from our customers. We look forward to continuing to work with reinteractive on future developments and enhancements to ensure that we stay ahead of the game.Zlata Relin
If you are not completely happy with the result when we are done, we will give you $10,000 worth of our development time, at no charge, to make it right.
We appreciate that a lot of learning comes from experience so we like to give back and share our knowledge with Ruby on Rails Installfest and Development Hub, to help our community grow.Learn more
reInteractive's Rails Installfest initiative helping hundreds of developers get introduced to Ruby on Rails. We welcome people brand new to Rails get their first Rails blog online in one night!
Development Hub is our monthly free gathering where you can work on whatever Ruby on Rails problem you like. Get help to debug that annoying bit of code or just come and hack, all are welcome!
reinteractive is an organisation made up of individuals. We take pride in our team. Without them, we are just an empty shell.Meet our awesome team and tell us how we can help
Recently, a new client approached us with a performance problem on their existing Ruby on Rails application; they were experiencing massive growth with over 50,000 new users per day signing up, and their app was receiving over 400 requests per second (and growing).
The rapidly increasing load was leading to big problems, with their existing Rails application experiencing frequent outages and causing sleepless nights for their team. They asked reinteractive to investigate and find out how we could get the app stable as fast as possible.
If you are familiar with Rails, you know that it has a predefined directory structure. Rails was one of the early adaptors of the MVC (Model, View, Controller) pattern. In fact that is one of the key strengths of the framework; it is easy to learn since everything has its own place. This is all well and good if your Rails app is relatively a small one - but when your app starts growing with features and functionality, soon you will find some code snippets that don’t seem to fit into the standard Rails directory structure. This is when these methods tend to get pushed to the ActiveRecord models. However, not all of these methods directly relate to a model; often these methods contain some validations required by the business/client.
In such scenarios, implementing the logic via service objects or services would be a good idea. Simply put, a “service object” is a Ruby class that contains some of the application's business logic without pushing it to the ActiveRecord layer. Often, a Service is a PORO (Plain Old Ruby Object).
RUBYGEMS_GEMDEPS is a 'new' environment variable for RubyGems(>=2.2.0). With this line of code in your
You don't need to type
This is a story about a first-hand experience I had recently with a service. I am not naming the service, the goal of this post isn’t to name-and-shame. Instead, I want to highlight an issue that happens on various websites all over the web. I am a user experience designer by trade. I am also a “regular user”, sometimes, though my experience with the web and UX usually makes me a bad usability test participant. Regardless, on with the story.
I am moving house in the near future, so I went online to look for moving companies. I found one that also offers re-usable boxes for free if you book your move with them! Sold. On to the booking process. Since I haven’t moved the current contents of my home before, I have no idea about the size of truck I need. Is the smallest truck big enough? I’ll select it to see what happens. To my relief, a help text appears as soon as I select the option. “Ideal if you are only moving a few large pieces of furniture”... Hmm, that’s not me, I’m moving the whole house. Finally I settle on the “ideal for 1-2 bedroom apartments” option. All good.
In software development, it is easy for developers to sometimes choose tools that are not perfect for the job. This could be because maybe it made sense at that particular time, we were facing a tight deadline, we were not familiar enough with our tools, or a plethora of particular circumstances. It is always beneficial to consider alternatives.
Recently, we have encountered a few situations where using alternatives to our "default" tools improved our project code. The tools that were already in place did the job sufficiently well, but replacing them with simpler ones made more sense in these situations.