Skip to content

Software Engineer at Onit · Pune, India

I build software, explore how things work beneath the surface, and share what I learn along the way.

Turning curiosity into code, complex ideas into stories, and ideas into things that matter.

See my work Read the writing
class Engineer  def initialize    @name  = "Adarsh Mishra"    @role  = "Full-Stack Engineer"    @stack = %w[Rails React PostgreSQL]  end  def currently = "Software Engineer @ Onit"  def writing   = "Inside PostgreSQL"end
main UTF-8 · Ruby / SQL

01 // About

Engineer, writer, perpetually curious.

Portrait of Adarsh Mishra
Adarsh Mishra · Pune, India

I build web applications where backend precision meets modern frontend craftsmanship.

I’m a software engineer focused on building reliable, maintainable, and scalable software. I enjoy working across the stack, but I’m particularly interested in understanding how systems behave beneath the surface—from the way applications process requests to how databases manage data and architectural decisions shape long-term maintainability.

What I Work On

  • Full-Stack Development: Building applications with Ruby on Rails, from designing APIs and database models to developing intuitive user interfaces and connecting services across the stack.
  • Authentication & Access Control: Working with role-based permissions, multiple user types, and shared authorization systems. At Onit, I contribute to Unity, a shared user-management and access-control layer that enables multiple legal products to operate as part of a unified platform.
  • Rails Upgrades & Modernization: Worked on upgrading SecureDocs from Rails 5 to Rails 8, navigating framework changes, evaluating dependencies, resolving compatibility issues, and modernizing an existing application while preserving its core functionality.
  • Third-Party Integrations: Integrating payment gateways such as Stripe, PayPal, Razorpay, and HyperPay, along with services including Zoom, Google Calendar, and Outlook. I enjoy understanding how these integrations fit into application workflows and how to make them reliable.
  • Product & Domain Experience: Since 2023, I’ve worked across legal technology, e-learning, online notarization, and dealer financing, gaining experience with different business requirements, complex workflows, and the challenges of building software for diverse users.

What I’m Curious About

My interests go beyond implementing features. I like understanding the mechanisms that make software work and the trade-offs behind engineering decisions.

  • Backend Architecture & APIs: How applications communicate, how responsibilities should be organized, and how systems remain maintainable as they evolve.
  • Database Internals: How databases store, index, and retrieve records, and how these mechanisms influence query performance.
  • Rails & Ruby Internals: What happens between an incoming HTTP request and the final response, and how familiar framework behavior works behind the scenes.
  • Performance & Scalability: Why some implementations become bottlenecks as data grows, and how the right algorithms, data structures, and architectural choices can improve performance.
  • Dependency Management: How libraries interact, how framework upgrades affect existing applications, and how to modernize mature codebases without introducing unnecessary risk.

Writing & Side Projects

I enjoy turning complex engineering concepts into practical explanations through technical writing and developer-focused projects.

  • Inside PostgreSQL: Exploring database internals, tracing what happens when a row is inserted and following the process down to the underlying heap page.
  • Rails Internals: Breaking down the journey of an HTTP request through routing and controllers to understand the mechanisms behind everyday Rails behavior.
  • Rails Upgrade Radar: A developer tool that analyzes dependency information to help assess compatibility and identify potential requirements when upgrading Rails applications.
  • API Authentication Gem: Building a Ruby gem to simplify API authentication in Rails applications, making it easier to implement secure, reusable, and maintainable authentication workflows.

Through these projects and articles, I aim to make difficult engineering concepts easier to understand and help developers make more informed technical decisions.

My Engineering Philosophy

I believe that understanding the internals of the systems we use leads to better debugging, more thoughtful architecture, and more maintainable software. I enjoy questioning familiar behavior, experimenting with different approaches, and learning from the challenges that emerge in real-world applications.

Whether I’m building a backend integration, modernizing a legacy Rails application, investigating database internals, or writing an article, my goal remains the same: build things carefully, understand how they work, and share what I learn along the way.

Experience

3.6

years building with Rails, since Mar 2023

Now

Software Engineer at Onit

Pune, India · IST

Education

  • Master of Computer Applications (MCA)

    IPS Academy, Indore

    2021 – 2023

  • BSc Electronics

    Maharaja Ranjit Singh College of Professional Sciences, Indore

    2017 – 2020

// Stack

Technical Skills

I work across the stack, building responsive interfaces, designing backend systems, managing data, and integrating external services. I focus on writing maintainable code, building reliable application workflows, and understanding how software works under the hood.

zsh — ~/portfolio

adarsh@portfolio ~ $ stack install --all --verbose

Resolving dependencies… 6 groups, 49 packages

backend — Backend Development

  • Ruby Object-oriented programming, metaprogramming, and application logic
  • Ruby on Rails MVC architecture, framework internals, and web application development
  • REST APIs API design, implementation, versioning, and integration
  • Service Objects Encapsulating business logic into focused, reusable components
  • Background Jobs Asynchronous processing and scheduled tasks
  • Role-Based Access Control (RBAC) Managing permissions across multiple user roles
  • Authentication & Authorization User identity, access management, and secure application workflows
  • Active Record & ORM Database interactions, associations, validations, and query composition
  • Webhooks Handling event-driven communication between applications
  • Caching Improving application performance through effective caching strategies
  • Error Handling & Logging Building observable, resilient application workflows
  • Testing Unit, integration, and request testing
  • File Uploads & Storage Managing file uploads and cloud storage integrations
  • Performance Optimization Identifying bottlenecks and improving application efficiency
  • Application Architecture Designing maintainable, modular, and scalable applications

frontend — Frontend Development

  • React Component-based interfaces and interactive user experiences
  • JavaScript Modern JavaScript and application logic
  • Hotwire Server-driven interactivity with Turbo and Stimulus
  • Stimulus Lightweight JavaScript controllers
  • Tailwind CSS Utility-first styling and responsive layouts
  • HTML & CSS Semantic markup and responsive web design

databases — Databases & Data

  • PostgreSQL Relational database design, transactions, indexing, and internals
  • MySQL Relational data modeling, queries, and database management
  • SQLite Lightweight relational databases and local development
  • Redis In-memory data storage, caching, and fast data access
  • SQL Query writing, joins, aggregations, and data manipulation
  • Schema Design Tables, relationships, constraints, and indexes
  • Query Optimization Analyzing execution plans and improving query performance
  • Database Transactions ACID properties, consistency, and transaction management
  • MVCC Understanding concurrency control and data visibility in PostgreSQL
  • Database Migrations Managing schema evolution and application changes
  • Data Integrity Constraints, validations, and reliable data relationships

integrations — Integrations & Cloud Monitoring

  • Payment Gateways Stripe, PayPal, Razorpay, and HyperPay
  • Communication & Video Zoom
  • Calendar Integrations Google Calendar and Microsoft Outlook
  • Cloud Monitoring AWS CloudWatch
  • Third-Party APIs External service integration, authentication, and error handling

devops — DevOps & Deployment

Managing application deployment, environments, and production operations.

  • Git & GitHub
  • Linux & Ubuntu
  • Docker & Docker Compose
  • CI/CD pipelines
  • Nginx & web servers
  • Environment configuration

testing — Testing & Code Quality

Ensuring code correctness, reliability, and maintainability.

  • RSpec
  • FactoryBot
  • Capybara
  • Request & integration testing
  • Test-driven development (TDD)
  • RuboCop

adarsh@portfolio ~ $

02 // Work

Selected work

A tool I designed, built and run on my own, then the client products I’ve helped ship.

featured Side project · 2026

Rails Upgrade Radar

Paste a Gemfile.lock, pick a target Rails version, and get the least compatible version of every gem, checked against RubyGems and confirmed with a real Bundler resolution.

  • Proves the upgrade with a sandboxed bundle lock against the exact target Rails release, resolving as your project’s Ruby rather than the server’s.
  • Flags known vulnerabilities from the Ruby Advisory Database, the same data bundler-audit uses.
  • Runs each analysis as a background job with live progress; reports live behind random tokens and are deleted after 30 days.
  • A per-gem explorer answers “which version of this gem works with Rails 8?” without uploading anything.
  • Rails 8
  • PostgreSQL
  • Solid Queue
  • Hotwire
  • Tailwind CSS
  • Bundler

How it works

  1. Parse

    Reads the Gemfile.lock, its direct dependencies and the project’s Ruby version.

  2. Query RubyGems

    Finds the least version of each gem whose requirements allow the target Rails.

  3. Resolve

    Runs a sandboxed bundle lock against the exact Rails release to prove the set installs together.

  4. Audit

    Checks every resolved version against the Ruby Advisory Database.

  5. Report

    Background job streams progress; the report lives behind a random token for 30 days.

Client work

Products I’ve helped ship

  1. 01 / 04 Onit · 2025

    Unity

    One user-management and access-control layer shared by Onit’s legal products, replacing a separate user system in each.

    • Ruby on Rails
    • PostgreSQL
    • RBAC
  2. 02 / 04 Onit

    SecureDocs

    Onit’s virtual data room for M&A, divestments and other document-heavy deals, with permission-based roles, audit logs and SSO. I upgraded it from Rails 5 to Rails 8.

    • Ruby on Rails
    • Rails 5 → 8 upgrade
  3. 03 / 04 Simply Alliance · 2023

    Remote notarization platform

    Notarize documents online: Zoom identity verification, notary availability synced from Google Calendar and Outlook, and three payment gateways.

    • Ruby on Rails
    • Zoom API
    • Stripe
    • PayPal
    • Razorpay
  4. 04 / 04 Deqode · 2024

    Learning platform

    Course enrollment with HyperPay and verified offline payments, Zoom live classes, and separate tools for students, lecturers and admins.

    • Ruby on Rails
    • HyperPay
    • Zoom API

03 // Experience

Where I’ve worked

Ruby on Rails across legal tech, e-learning, online notarization and fintech since 2023.

  1. Jun 2025 – Present Pune CURRENT

    Software Engineer @ Onit

    Identity and access management for a legal-tech product suite, and Rails upgrades

    • Worked on Unity, the centralized user-management and access-control layer for Onit’s legal products (ELM, LSR, RFP, Legal Holds and more).
    • Consolidated standalone, product-specific user systems into one architecture, removing duplicate user administration.
    • Built multi-product access control that provisions permissions based on the products each organization has enabled.
    • Upgraded SecureDocs, Onit’s virtual data room product, from Rails 5 to Rails 8.
    • Moved an application onto Rails LTS, the long-term-support Rails from makandra, to keep it on security-patched releases.
    • Ruby on Rails
    • PostgreSQL
    • REST APIs
    • RBAC
    • Rails upgrades
    • Rails LTS
  2. Jun 2024 – Jun 2025 Indore

    Solution Engineer @ Deqode

    E-learning and multi-stakeholder commerce platforms

    • Learning platform: enrollment and payment flows with HyperPay plus admin-verified offline payments, Zoom live classes, and role-based tools for students, lecturers and admins.
    • Merchant platform connecting merchants, customers, manufacturers and government entities: purchases, complaints, request tracking, warranty transfer, RBAC and an admin panel.
    • Ruby on Rails
    • REST APIs
    • HyperPay
    • Zoom API
    • RBAC
  3. Mar 2023 – Jun 2024 Indore

    Ruby on Rails Developer @ Simply Alliance Software Solutions

    Online notarization and dealer invoice financing

    • Online notarization platform: Zoom video identity verification, Google Calendar and Outlook availability sync, and Stripe, PayPal and Razorpay payments.
    • Dealer invoice-financing platform: dealer onboarding, funding agreements, repayment schedules, interest and delinquency fees, and automated reminders.
    • Ruby on Rails
    • Stripe
    • PayPal
    • Razorpay
    • Zoom API
    • Google Calendar API

04 // Writing

Notes from beneath the surface

Explainers on how PostgreSQL and Rails work inside, published on Medium and Stackademic.

All writing →

latest Inside PostgreSQL

Inside PostgreSQL #005 (Part 4): Every Row Has an Address

Let’s go back to Alice. At this point, we know Alice is stored inside a Heap Page. Something like this: Looks simple. But now imagine someone asks PostgreSQL: “Can you give me Alice?” How does...

  • #coding
  • #postgresql
  • #software-engineering
  • #writing

· 4 min · Stackademic

(opens on Medium in a new tab)
Shuffle

See all writing →

05 // Open source

In the open

Code I’ve published for other developers to use and read.

All repositories (opens in a new tab)

Ruby Repository

Chatting_application

Real-time chat rooms on Action Cable with delivered and read receipts, video calls over WebRTC, Google sign-in, Sidekiq email notifications for new messages and an ActiveAdmin back office.

  • Rails 7.1
  • Action Cable
  • WebRTC
  • Sidekiq
  • Redis
  • PostgreSQL
esc