Why should your project use Ruby on Rails?


1.   Faster Development

Almost every new tech startup is built using Ruby on Rails these days. This is not a coincidence. The main reason is Rails development is fast. Comparing the time required develop a functioning application to other frameworks, Rails takes far less time.

Rails minimizes the decision fatigue of developers. Out of the box, Rails has some pre-set configs and defaults. The "Convention over Configuration" philosophy of Rails makes developers spend less time on routine decisions and focus more on making decisions that matters for the application.

For startups, who are following the lean startup methodology, having a faster build-measure-learn feedback loop is must. Rails allows them test features early in development which reduces wasted time and money.

2.   Automated Testing

What is automated testing? Test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.

Why is automated testing a necessity to your project? Consider this scenario:

Your website requires customers to sign-up using email. Your business decides to you need to minimize spam requiring users to connect with LinkedIn account. Your developer adds the connect LinkedIn account feature.

A few days later, usage of your app drops. One thoughtful customer emails you and tells you he can no longer access his account. An investagation of the issue reveals that there is a bug in the code introduced by the newly added feature. Now, customers who signed up before could no longer access their account.

Software developers make mistakes. As an application grows, keeping track of prerequisites, rules and requirements is not humanly possible anymore. With a test suite in place, a developer can be alerted to bugs introduced by new features. The developer can fix the before it can cause harm to your business.

Automated tests are a big part in the Rails framework. It is a default on a Rails generator to automatically create test file for every code file you create. The Rails community nurtures the culture of writing tests for their code.

3.   Mobile Ready

REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a stateless, client-server, cacheable communications protocol -- and in virtually all cases, the HTTP protocol is used.

So how do REST architecture play in the real world? Websites today are not just standalone. They also have mobile apps which pulls the same data from the website. Take for example the facebook website and facebook mobile app.

Rails, uses RESTful architecture which makes building a REST API (used by mobile apps to pull data from the website) easy.

4.   Security

Rails is a very secure framework used by some of the most at-risk companies online include Github and Twitter. There are literally dozens of hackers trying to hack these companies daily, the Rails team never stop implementing new security patches and features to help keep Rails apps secure.

5.   Massive Community

Technology advantages of any framework fade away over time. However, what sets apart Rails is it's community. This means that if a nasty bug appears in your application, your developer have a massive community of peers to help him find the best solution for your problem.

Projects I've worked on using Ruby on Rails

Codetoki 2012 - 2015

  • Built an online Ruby compiler to execute and test the code solutions Ruby programming problems.
  • Built an online PHP compiler to execute and test the code solutions PHP programming problems.
  • Built an online Javascript compiler to execute and test the code solutions Javascript programming problems.
  • Built an authentication module that allowed users to use to login using social media accounts.
  • Built a module to allow user to update user profiles that will eventually be queried for hiring purposes.
  • Built a content management system for companies to create a page on Codetoki that allows them to display their company profile and job posting. It also restricted applicants based on the criteria (i.e. programming skill level) they set on Codetoki.
  • Implemented a microservice architecture that seperated the three compilers from the main rails application.
    This gave multiple advantages:
     (1) load was divided on three servers
     (2) resources could be allocated only to specific hungry resource servers
    * Server containing PHP compiler was given more compute power due to the programming language's popularity.
     (3) problems could easily be isolated and fixed
    * Due to the complexity of compiling programming languages, there were edge cases where a programming solution overloads (infite loops, uncaught exception) the server. I could easily fix and restart specific servers without disrupting the entire application.
  • Used MongoDB database because the application had high write load since we had recorded every code submission to analyze the skill of the developer.
  • The application was deployed on Windows Azure. We used open source software on top of Microsoft technology.
  • Maintained two environments: (1) staging environment to test out new features and then the (2) production enviroment.
  • Test-driven Development was used to ensure the quality of the application as we rapidly added new features. It allowed the application that started as a community site to help teach programming to college students to transform into an Human Resource tool to find and filter developers of specific skills.

Read more


Tlkbck 2012 - 2013

  • Built a content management system module to allow recording studios to feature information about themselves, photos, music produced. The CMS also allowed visitors to contact the studio.
  • Built a customer relation system module that allowed the the recording company to keep track of their clients.
  • Built a scheduling system to schedule client sessions on the recording company facilities.
  • Built an invoicing system that changed depending on the contract agreement with each client.
  • Built an accounting system that can present reports on profit and loss, income and expense reports. Account reports could also be exported as excel files.
  • Built a monthly recurring billing system.

Read more


Padworthy 2015 - 2016

  • Built a SaaS application for San Francisco based startup for the property rental industry.
  • Built a resume builder feature for renters. This resume could be used by the renter to apply to rental properties in Padworthy.
  • The resume builder feature allowed references of the renter to add testimonials by responding to the email sent by the application.
  • Built a dashboard for the landlord to post and share properties.
  • The dashboard allowed the landlord to filter, accept, decline and communicate with applicants.
  • Ruby on Rails was used as the back-end framework and using AngularJS as front-end framework to improve the user experience of users.
  • Deployed with a PostgreSQL database.
  • Monolithic architecture pattern was used.
  • Deployed a staging and production server both on heroku.
  • Integrated the payment service Stripe.
  • Implemented a real-time background checking feature by integrating the Onfido API.
  • During the course of the project, I was able to detect and report bugs on the Onfido API.

Read more


KnotInLove 2015 - 2016

  • Built a matchmaking social network for India.
  • Built an authentication that only allowed users to sign-up using social media accounts.
  • Built a two step sign-up process that allowed the admin to filter users.
  • Built an admin dashboard that allowed the admin to track down and maintain the quality of users.
  • Built a photo uploader that allowed user to resize images and prevent image distortion to maintain endearing profiles.
  • Built a chat system similar to facebook chat.
  • Implemented a search feature that allowed user to search for applicants.
  • Built a monthly recurring billing system.
  • Ruby on Rails was used as the back-end framework and using AngularJS as front-end framework.
  • Deployed with a MongoDB database.
  • Monolithic architecture pattern was used.
  • Deployed a staging and production server both on heroku.

Read more


Failup 2015 - 2016

  • Built a social network for entrepreneurs.
  • Built a ranking system that ordered items based on popularity, upvotes and decay. Ranking was based on Producthunt ranking system.
  • Built a search feature for finding entrepreneurs.
  • Built a commenting system that allowed entrepreneurs to discuss ideas. The feature was loosely based on Reddit.
  • Built growth hacking features for the admin. The admin dashboard had notifications features that were triggered when the user performs one of the steps on the viral loop of the application. This enabled the admin to take actions and ensure that the user finishes the steps on the loop.
  • Ruby on Rails was used as the back-end framework and using AngularJS as front-end framework.
  • Deployed with a PostgreSQL database.
  • Monolithic architecture pattern was used.
  • Deployed a staging and production server both on heroku.
  • bu

Read more


Sandbox 2015

  • Built a social network app for events similar to Meetup.com. The app allows a data-driven for organizers to allow like minded people to meet.
  • Built a mobile ready site.
  • The application was configurable into two versions. Initial version, which was a pre-launch version allowed users to answer questions and sign-up but did not let them access the site. The launched version, opened the site to all users.
  • Built admin dashboard to post events and organize user meetups.
  • Built user dashboard to join events and update user profile.
  • Ruby on Rails was used as the back-end framework and using AngularJS as front-end framework.
  • Deployed with a MongoDB database.
  • Monolithic architecture pattern was used.
  • Deployed a staging and production server both on heroku.

Read more


Firstplace 2015

  • Built a social network app for events similar to Meetup.com. The app allows a data-driven for organizers to allow like minded people to meet.
  • Built a rental application bidding system.
  • Allows renters to submit applications on specific properties.
  • Built admin dashboard to post events and organize user meetups.
  • Built user dashboard to join events and update user profile.
  • Ruby on Rails was used as the back-end framework and using AngularJS as front-end framework.
  • Deployed with a MongoDB database.
  • Monolithic architecture pattern was used.
  • Deployed a staging and production server both on heroku.

Read more

Ruby on Rails Open Source Projects

Ruby on Rails Articles and Tutorials

Need help on your project?

It's FREE to consult. Get in touch.

Contact Now