Harikrishnan G

Backend Engineer · 5 years

$ ls skills

languages
TypeScriptGoPythonRubyJava
frameworks
Node.jsFastAPIGinRuby on RailsSpring Boot
databases
PostgreSQLMySQLMongoDBRedis
others
DockerAWS S3EC2CloudWatchECSParameter StoreGrafanaArgoCDNewRelicStripe APIShopify APISlack APISidekiq

$ ls experience

Ultrahuman Mar 2026 – Present · 4 mos
Backend EngineerMar 2026 – Present

Designed a reusable upsell framework (pluggable trigger evaluators, lifecycle tracking, priority cascading) powering C&O Pro, Cardio & AFib upsells driven by RHR, HRV, sleep and cycle data; conversions attributed via placement-based UTM tracking.

Ruby on RailsMySQLMongoDBRedisSidekiq

Personalized BetterHelp content surfaced from logged emotional tags. Intent-tiered 3-article journeys, gender-scoped configs, state-machine interaction tracking, and per-day frequency capping.

AngryAnxiousDoomscrollingExhaustedFeeling BlueIrritableLow EnergyMood SwingsNew CityOverthinkingPMSRestlessSelf CriticalStressedUp Late
Ruby on RailsMySQLRedisState machinei18nActiveAdmin

YAML-driven retest upsell with weighted biomarker scoring and abandoned-cart recovery for upload journeys. Shipped as part of a growth initiative projected to drive incremental quarterly revenue.

LipidsCardio RiskMetabolicInflammationLiverKidneyThyroidElectrolytesAnemia / IronImmunityClottingVitaminsMineralsHormones (F)Hormones (M)Omega-3PancreasHeavy MetalsUrine Panel
Ruby on RailsYAML config

Inspects controller callback chains at build time to flag endpoints missing authentication before they ship — surfaced and secured a previously-unprotected admin GraphQL controller.

CI automationRuby

Pushes post-shipment tracking links into Shopify for automated chargeback evidence, plus an HMAC-verified disputes webhook delivering real-time Slack alerts for dispute visibility.

Ruby on RailsShopify REST APIHMACSlack Block Kit

Stripe webhook retries were creating duplicate sensor shipments. Implemented idempotency via event-ID deduplication and a DB unique index, with billing-period guards before shipment creation.

Ruby on RailsMySQLStripe webhooks
KeyValue Software Systems Jul 2021 – Feb 2026 · 4 yrs 8 mos
Senior Software EngineerFeb 2025 – Feb 2026

Designed a SQL-as-queue (a RabbitMQ replacement) for rate-limit-aware consumption of image/video generation across 15 model providers with limits ranging from 4 RPM to 150 RPS — covering task prioritization, exponential-backoff retries, and recovery for stuck jobs.

System DesignMySQLNode.js

Conversational image/video generation agents built with Google ADK — a natural-language alternative to the platform's detailed configuration controls, lifting usage by 20%.

PythonFastAPIGoogle ADK

Refactored the GenAI tools codebase into an extensible provider architecture and integrated multiple image/video models across 4 request types.

text → imageimage → imagetext → videoimage → video
FastAPIProvider abstraction
Software EngineerAug 2023 – Feb 2025

Built backend APIs to generate and publish student assignment reports, integrating an OpenAI Assistant for automated generation and context management.

NestJSFastAPIOpenAIPostgreSQL

Re-architected the backend for multi-tenancy using School ID as the tenant key, leveraging async local storage for request-scoped context and strict data isolation.

NestJSPostgreSQLAsyncLocalStorageTypeORM

Removed the default JPA findAll count query and fetch one extra record to detect the next page — eliminating a full-table count on every paginated request.

Spring BootJPA

Refactored the notification service auth module with an interceptor and custom validators to handle all authentication request types through a single path.

Spring BootInterceptors
Associate Software EngineerJul 2021 – Aug 2023

Migrated order-report generation off BigQuery to self-hosted MongoDB, re-architecting the data layer in a Go + Gin backend while holding the required scalability and performance.

GoGinMongoDB

Order-notification events were firing on a JPA @PostUpdate callback — before the transaction committed — so a rollback could emit an orphaned event. Re-published them through a single async Spring @TransactionalEventListener that fires only in the after-commit phase, so an order is notified exactly when its shipment reaches a terminal state and the change is durably persisted.

Spring BootTransactionalEventListenerJPAEvent-driven

Built segment-based discounts, pickup-point discounts, platform fees, shipment-level delivery charges, and a cash-reconciliation system tracking driver collections through to settlement.

Node.jsSpring BootGoMySQLRedis

$ ls projects

Built an application that detects fake news in text messages and links using a Random Forest model, returning a confidence score for each input.

Pythonscikit-learnFlutter

$ ls education

Government Engineering College, Thrissur Aug 2017 – Jun 2021

B.Tech · Computer Science & Engineering