Open to Freelance Opportunities
Hi! I'm Himanshu

Fullstack Developer & Classical Vocalist · Bengaluru

psst — try typing your name on the keyboard 🤫

Himanshu Mishra
About me
Hi, I’m Himanshu Mishra – a Software Developer 2 at Serko with a passion for system design and cloud technologies. Outside of work, I’m a trained Indian classical singer and guitar enthusiast, always exploring creativity alongside code.
SD2 · Serko · Bengaluru
Building for a globally connected world
JavaTypeScriptJavaScriptPythonC++C
Tech enthusiast with a passion for development.
The Inside Scoop
Building an AI Travel Agent that autonomously plans trips using LLMs, RAG & real-time flight data
Do you want to start a project together?

Things I've Built

From enterprise travel tech to personal experiments

Live

LLD Playground Hub

React and Vite visualiser for my Java LLD implementations. Walk through Spotify, KV-Store, and Distributed Message Queue designs with pattern maps, execution flows, and an AI chat grounded in the actual code.

ReactViteJavaLLDSystem Design
In Progress

LinkedIn Post Generator

Generates LinkedIn posts from a topic, tone, and length selection. Backed by a Groq LLM via FastAPI, with a focused React UI built for quick drafting and copy-paste output.

PythonGroqLLMReactFastAPI
Live

Interactive Developer Portfolio

This site. Next.js 15, Three.js, Framer Motion. 3D instrument canvas, live constellation background, AI chat over my LLD code, Spotify collab matcher, and light/dark theming.

Next.jsThree.jsTypeScriptFrontendReact
Shipped

Policy Compliance Agent

Internal tool at Serko. Reads corporate travel policies written in plain English and filters live flight results against them. Java and Spring Boot backend, LLM integration for policy parsing.

JavaSpring BootLLMGenAIAI AgentBackend
Internal tool, not open source

By The Numbers

A snapshot of my journey as a software engineer

0+Years of ExperienceBuilding production-grade software
0CompaniesSerko & Sabre Travel Technologies
0+TechnologiesAcross languages, frameworks & cloud
0+Microservices ShippedScalable, cloud-native services

Technical Focus Areas

System DesignCloud ArchitectureMicroservicesCI/CD PipelinesBackend EngineeringTravel TechObservabilityPayment WorkflowsDatabase OptimizationAPI Design

My Work Experience

The places that shaped how I build software

Software Developer 2

Serko

2023 – PresentBengaluru, India

Building scalable microservices and cloud-native systems for travel & expense management. Designing booking and payment workflows on GCP, driving CI/CD pipelines, observability, and system reliability across cross-functional teams.

JavaSpring BootGCPKubernetesPostgreSQLReact

Software Developer

Sabre GetThere

2022 – 2023Bengaluru, India

Integrated NDC-based airline content alongside traditional ATPCO fares for corporate travelers. Led PCI compliance initiatives and improved fare visibility and amenities across the GetThere booking platform.

JavaSpring BootMySQLREST APIsMicroservices

Software Developer Intern

Sabre GetThere

2021 – 2022Bengaluru, India

Contributed to backend feature development and bug fixes on the GetThere platform. Built strong foundations in Java, microservices, and agile delivery while gaining exposure to enterprise travel tech at scale.

JavaSpring BootMySQLREST APIs

Beyond The Code

The disciplines that keep me sharp — and human

Classical Vocalist

Hindustani Classical Singing

Trained in Khayal — the meditative North Indian classical vocal tradition. Music for me is what debugging is to code: a deeply focused pursuit of something precise and beautiful.

KhayalRagaHindustaniClassical
Guitar Enthusiast

Exploring Strings & Ragas

Self-taught guitarist experimenting at the intersection of Western chord progressions and Indian classical ragas. The same systematic thinking that makes a good engineer makes a disciplined musician.

GuitarFusionRagaInstrumental
Music Collab Matcher · Powered by Spotify Data

Want to Collaborate?

Tell me your music taste — I'll match it against my real Spotify listening history.

Plays35,222
Hours1,474
#1 ArtistPritam

1,474 hours of Spotify, Khayal training, and guitar experiments. My taste is all over the place — let's see if yours overlaps.

BollywoodPunjabi PopIndian IndieGhazal

3 quick questions · matched against real Spotify data

Matched against 35,222 Spotify plays · 1,474 hrs · Real data

“The same discipline that holds a raga together holds a system together — precision, patience, and the courage to improvise.”

Design Thinking · Live Code Walkthrough

LLD Playground

My actual Java LLD implementations. Ask questions, trace execution flows, and dig into design decisions. All backed by real code.

Music Player (Spotify LLD)

Façade + Strategy + Factory + Adapter

SingletonFaçadeStrategyFactoryAdapter

Quick questions

MusicPlayerFacade.javaSingleton façade — single entry-point for all operations
MusicPlayerFacade.javajava
package app;

import Core.AudioEngine;
import Strategies.IPlayStrategy;
import device.IAudioOutputDevice;
import enums.OutputDeviceType;
import enums.PlayStrategyType;
import managers.OutputDeviceManager;
import managers.PlaylistManager;
import managers.StrategyManager;
import models.Song;
import models.Playlist;

public class MusicPlayerFacade {
    private static MusicPlayerFacade instance = null;
    private AudioEngine audioEngine;
    private IPlayStrategy currentPlayStrategy;
    private IAudioOutputDevice currentOutputDevice;
    private StrategyManager strategyManager;
    private Playlist currentPlaylist;

    private MusicPlayerFacade() {
        audioEngine = new AudioEngine();
    }

    public static MusicPlayerFacade getInstance() {
        if (instance == null) {
            instance = new MusicPlayerFacade();
        }
        return instance;
    }

    public void connectDevice(OutputDeviceType deviceType) {
        OutputDeviceManager.getInstance().connect(deviceType);
        currentOutputDevice = OutputDeviceManager.getInstance().getCurrentOutputDevice();
    }

    public void setStrategy(PlayStrategyType strategyType) {
        strategyManager = StrategyManager.getInstance();
        currentPlayStrategy = strategyManager.getStrategy(strategyType);
    }

    public void loadPlayList(String playlistName) {
        currentPlaylist = PlaylistManager.getInstance().getPlaylist(playlistName);
        if (currentPlaylist == null) {
            System.out.println("Playlist not found: " + playlistName);
        }
        currentPlayStrategy.setPlayList(currentPlaylist);
    }

    public void playPlaylist() {
        if (currentPlaylist == null) {
            System.out.println("No playlist loaded.");
            return;
        }
        while (currentPlayStrategy.hasNext()) {
            Song songToPlay = currentPlayStrategy.next();
            playSong(songToPlay);
        }
    }

    public void playSong(Song song) {
        if (currentOutputDevice == null) {
            System.out.println("No output device connected.");
            return;
        }
        audioEngine.play(currentOutputDevice, song);
    }

    public void pauseSong(Song song) {
        if (audioEngine.getCurrentSongTitle().equals(song.getName())) {
            audioEngine.pause();
        } else {
            System.out.println("The song is not currently playing.");
        }
    }
}

Real Java implementations · OOP · Design Patterns · System Design