Haseeb Annadamban

Haseeb Annadamban
Available for Projects

I Provide Rails Development & Performance Consulting Services

Expert solutions for your Ruby on Rails projects. Let's build high-performance applications together.

Get Started

Services

⚙️

Custom Rails Development

Tailored Rails solutions to meet your unique business needs. I have over 8 years of experience and have built robust and scalable applications.

Get Started
🚀

Rails and PostgreSQL Performance Optimization

Boost your Rails app's speed and efficiency for better user experience. Helping you to reduce operational costs.

Get Started
🛟

Rails Rescue Projects

Revive and stabilize troubled Rails applications. Expert intervention to get your project back on track and meeting business objectives.

Get Started
🔄

Rails Version Upgrades

Seamlessly upgrade your Rails application to the latest version. Enhance security, performance, and access new features while ensuring smooth transitions.

Get Started
🔀

Framework Migrations to Rails

Expert guidance in transitioning your application to Ruby on Rails. Leverage Rails' power and efficiency while preserving your app's functionality and data integrity.

Get Started
⏱️

Fractional Rails Development

Flexible, part-time Rails expertise for your projects. Get the development support you need without the commitment of a full-time hire. Perfect for ongoing maintenance, feature additions, or performance improvements.

Get Started

Latest Blog Posts

  • How to Add PostgreSQL Index based on Query Plan as a Rails Developer

    Published on 2024/08/24

    As Rails developers, we often focus on writing clean, efficient Ruby code. However, as the application grows optimizing database performance is equally crucial for creating responsive applications. One of the most powerful tools in our arsenal for database optimization is indexing. Here I will talk about PostgreSQL indexing from a Rails developer’s perspective. The query plan generated by EXPLAIN will help us to make informed decisions about index creation, ensuring our database queries run as efficiently as possible.

    Read more
  • Understanding The Output of EXPLAIN As a Rails Developer

    Published on 2024/08/05

    Rails Active Record is a powerful ORM that simplifies database operations, but complex queries can sometimes lead to performance issues. We can use EXPLAIN to find out details about why a query is not performing well. In this post, we’ll explore the Active Record Explain feature and how to understand it’s output. We’ll cover the basics of using Explain, interpreting its output, and give you some hints on applying that knowledge to optimize your database queries. EXPLAIN is a database-level feature. We will be using PostgreSQL for this post. EXPLAIN provides insights into how the database executes your queries, helping you identify and resolve performance issues.

    Read more
  • Cheat Sheet for Rails + PostgreSQL Count Performance

    Published on 2024/07/31

    The convenience and power of Active Record allows you to interact with your database in a more Ruby-like way, making it easier to write efficient and readable code. However, as with any complex system, performance can sometimes take a hit when using Active Record. One common scenario where performance may suffer is when counting records in your database. In any Rails app, A simple count method call can quickly become a bottleneck, especially for larger datasets. In this post, we’ll dive into some optimization techniques for using Active Record’s count method in your Rails app.

    Read more
  • Building Custom Generators in Rails

    Published on 2024/07/28

    In Ruby on Rails, A generator is a tool that helps create scaffolding (basic code structure). By default, Rails provides several built-in generators like rails generate scaffold, rails generate controller, etc. Many of the gems come with their own Rails generators too.

    A custom generator is used to create a customized scaffolding for your application. Custom generators in Rails allow developers to create their code generators to streamline repetitive tasks and enforce consistency across the codebase.

    Read more
  • Let's Start Using Rails Attributes Api

    Published on 2024/07/27

    When building applications in Ruby on Rails, We store data in Plain Old Ruby Object (called PORO) value objects. This is a common pattern, We store data directly in service objects using attr_accessor. But in some cases we might have to cast data from string. For this, we do have to cast those attributes.

    Read more
  • Using ActiveRecord Strict Loading to explicitly prevent N+1

    Published on 2024/07/25

    Active Record strict loading is an awesome feature in Rails that can significantly improve your application’s performance by preventing N+1 queries. In the past days before Rails 6.1, We mainly used bullet gem to statically scan this. But now, It can be explicit in the code using strict_loading. Let’s see what strict loading is, how to use it, and see some examples.

    Read more