$ whoami

Lokesh R_

Software Engineer

Backend engineer building scalable APIs, automation platforms, and transactional systems.

3+
Years in startup culture
Payments
SaaS system architect
EV Routing
Planning architect
01

About

Backend Engineer with 3+ years of experience building scalable APIs, automation platforms, and transactional systems in startup environments. Worked on EV charging interoperability using OCPI and developed WhatsApp-based solutions for ordering and appointment booking. Experienced in payment workflows, failure handling, and system reliability. Interested in distributed systems and software architecture.

I gravitate toward the hard parts of backend work — payment idempotency, failure recovery, geospatial performance, and protocol interoperability — and I care about systems that stay reliable when the happy path breaks.

02

Experience

  1. Backend Developer @ Range Now

    Oct 2025 — Present

    Bengaluru, India

    • Architected EV route planning across India — optimal routes, charging stops, and arrival times. Cut latency ~55%.
    • Built the payment & refund system: idempotent, failure-tolerant, and safe against double refunds.
    • Made charging stations interoperable across operators via OCPI, resolving onboarding conflicts.
    • Optimised cost at scale with probabilistic amenity prediction and incremental search indexing.
    Node.jsTypeScriptPostgreSQLRedisAlgoliaGCPGoogle Maps APIOCPI
  2. Backend Developer @ Versalence Infocomm

    May 2024 — Sep 2025

    Bengaluru, Karnataka, India

    • Built a WhatsApp-native commerce platform from scratch — ordering and booking entirely through chat.
    • Designed a SaaS-grade payment gateway with duplicate prevention, capture verification, and failure handling.
    • Programmatically onboarded Meta clients and ran marketing automation, lifting conversion 55%.
    • Shipped a FastAPI project-management system covering the full tender lifecycle.
    Node.jsExpress.jsMySQLMongoDBFastAPIMeta APIBotpressN8N
  3. Software Developer @ Critical AI

    Jan 2023 — May 2024

    Bengaluru, Karnataka, India

    • Streamlined HR approval workflows with a Flask reimbursement portal, cutting manual workload 35%.
    • Automated document generation for HR and legal ops, improving team productivity 30%.
    FlaskMySQLMongoDB
03

Projects

An AI lead qualification and follow-up agent for high-ticket sales — one tool-calling agent that qualifies inbound leads, scores them, and routes them to a rep who can take over the chat mid-conversation.

  • A single agent loop written against the LLM's native tool-use API — no LangChain — that normalises free-text chat into structured filters and calls fixed tool signatures.
  • Scoring and assignment are deterministic Python, never LLM calls: rules-based Hot/Warm/Cold tiers and tier-weighted round-robin routing, so both stay auditable.
  • Live human takeover over Server-Sent Events — the agent goes silent the moment a rep steps in, on either a matched intent or an employee reply.
  • Celery beat stall checker drafts a follow-up email for leads quiet past 48h and pings the assigned rep to approve, edit, or send.
  • Parameterised indexed Postgres for property search, with pgvector reserved for the separate document knowledge-base RAG.
PythonFastAPIPostgreSQLpgvectorCeleryRedisNext.jsTypeScriptDocker

Dynamo-DBIn progress

Reading about DynamoDB's internals got me curious enough to build my own — a masterless distributed key-value store in Go, working through the Dynamo paper one section at a time.

  • Consistent-hash ring with ~150 virtual nodes per physical node, so resizing the cluster moves one arc of keys instead of remapping everything. 500 keys across 3 nodes land 183/162/155 — within ~9% of even.
  • Every node coordinates every request against the key's preference list — no primary to forward to, so a down replica never makes a key unwritable.
  • Quorum reads and writes over N replicas, with R + W > N enforced at config load so a config that can't guarantee overlap is rejected on startup.
  • Hinted handoff and sloppy quorum keep writes available during a failure: an unreachable replica's copy is parked on a live stand-in and handed back automatically on recovery.
  • Vector clocks on every value — the coordinator bumps its own entry per write, replicas compare before overwriting, and clocks survive WAL replay after a crash.
GoBadgerDBGinZerologDockerDocker Compose

Connection Manager

A concurrent WebSocket server in Go built for backpressure resilience.

  • Dedicated read/write goroutines per connection, preventing slow clients from blocking server resources.
  • Weighted priority job queue (3:1 high-to-low) so heartbeat and ping messages are never starved by application payloads.
  • Non-blocking outbound queuing with a 100-message buffer per client, dropping on overflow to stay responsive under backpressure.
  • Graceful shutdown on SIGINT/SIGTERM — broadcasting warnings, draining in-flight jobs, and safely closing the worker pool.
GoWebSocket

Travel Blog

A full-stack travel blogging platform with a decoupled client-server architecture.

  • Google OAuth authentication with JWT-based session management.
  • Global application state managed with Redux Toolkit across authenticated user flows.
React.jsNode.jsExpress.jsMongoDBRedux ToolkitMaterial UI
04

Writing

05

Skills & Stack

Languages

PythonJavaScriptTypeScriptGo

Backend

Node.jsExpress.jsNestJSFastAPIFlask

Databases

PostgreSQLMySQLMongoDB

Caching & Messaging

RedisGoogle Cloud Pub/Sub

Cloud & DevOps

GCPDockerCloud TasksCloud Scheduler

APIs & Integrations

RESTMeta WhatsApp Business APIGoogle Maps APIOCPIAlgoliaBotpress

Frontend

ReactRedux ToolkitMaterial UI
06

Contact

I'm open to backend and distributed-systems roles, and interesting problems in payments, infrastructure, platform engineering, or AI integration and automation. The fastest way to reach me is email.

Say hello