Ojas Sharma

Ojas Sharma

Backend Engineer

CS @ SRM IST · class of '28

Java and Spring Boot engineer who likes the hard part under the hood: state that stays consistent across clients, data that's modelled right, and systems that keep working when the edge cases show up.

spring-boot · :8080
GETlocalhost:8080
$ GET /api/ojas/profile · press Execute
projects shipped, from web to on-chain
12+
projects shipped, from web to on-chain
platforms shipped to: web · android · solana · terminal
4
platforms shipped to: web · android · solana · terminal
tech lead across campus communities
2×
tech lead across campus communities
of 35+ teams at Ideathon 3.0
3rd
of 35+ teams at Ideathon 3.0
01README.md

The parts users never see are the parts I like building.

I'm a third-year Computer Science student at SRM IST. Most of what I build is Java and Spring Boot on PostgreSQL, and most of it is about the parts users never see.

That has meant real-time playback sync over WebSockets, identity resolution across noisy camera data with PostGIS and pgvector, and offline graph routing on a phone. I build past the tutorial on purpose, because the edge cases are where I learn the most.

As Tech Lead for ISTE and Rangeen Pixels, I ship software that runs real events. I make the implementation calls and mentor the developers who come after me.

currently

  • ▸ Going deeper on Spring internals
  • ▸ System design and distributed-systems fundamentals
  • ▸ DSA and SQL practice, every day

core

  • Java
  • Spring Boot
  • PostgreSQL
  • REST & WebSockets
  • Docker
languages
Java · Kotlin · SQL · TypeScript · Rust · C/C++
backend
Spring Boot · Spring Security · JWT · REST · WebSockets / STOMP
data
PostgreSQL · PostGIS · pgvector · MySQL · SQLite · Flyway
infra
Docker · Linux · Git · Vercel · Render · Maven
also
Android · GraphHopper · Solana / Anchor · Next.js · React

Make it work. Know why it works. Make it better.

02projects/

Selected work. Real-time, geospatial, offline, on-chain.

01~/projects/tubesync

TubeSync

Watch YouTube together, in perfect sync.

A watch-party service where the server, not the clients, owns playback state. Every play, pause and seek goes through Spring over STOMP and fans out to the room. Clients correct their own drift.

4 roleshost, mod, participant, viewer, all checked server-side
  • Server-authoritative playback with client-side drift correction
  • Role-based permissions enforced on the server, not trusted from the UI
  • Reconnect handling and automatic host handover when a host drops
  • Persistent chat and room state in PostgreSQL

how it works · request trace

  1. Next.js client

    player · chat

  2. ↓ STOMP / WebSocket

    Spring Boot room service

    state · roles · handover

  3. ↓ JDBC

    PostgreSQL

    rooms · chat history

  • Java 17
  • Spring Boot 3.5
  • STOMP
  • WebSockets
  • PostgreSQL
  • Next.js
  • Docker

02~/projects/anpr· simulated benchmark

runs via docker composesource ↗

ANPR City Engine

Turning plate sightings into road-aware journeys.

A backend that links Automatic Number Plate Recognition observations into vehicle trajectories and alerts, including when the plate itself can't be read.

803/803null-plate links recovered with 30% of plates unreadable (simulated)
  • Identity resolution that fuses plate similarity, road travel time and visual embeddings
  • Ingestion decoupled from asynchronous identity processing
  • Camera-health analytics, inferred road hops and suspicious-activity alerts
  • Simulator for OCR errors, missing plates and cloned vehicles

how it works · request trace

  1. Camera observations

    plate · time · location

  2. ↓ ingest

    Spring Boot API

    Flyway-managed schema

  3. ↓ async

    Identity resolver

    plate · OSRM travel time · embeddings

  4. ↓ SQL

    PostGIS + pgvector

    geometry · vectors · journeys

  • Java 21
  • Spring Boot 3.3
  • PostgreSQL 16
  • PostGIS
  • pgvector
  • Flyway
  • OSRM
  • Docker

03~/projects/atlasforge

runs on androidsource ↗

AtlasForge

Turn-by-turn navigation with no internet at all.

Offline navigation for Android. It parses OpenStreetMap data stored on the device into an in-memory road graph and routes across it locally.

< 1srouting on city-scale maps, fully on-device
  • Builds the road graph from local .osm.pbf files with GraphHopper
  • Shortest-path routing with zero network dependency
  • Turn instructions derived from bearing changes at each waypoint
  • Live device location with route rendering through osmdroid

how it works · request trace

  1. .osm.pbf on device

    OpenStreetMap extract

  2. ↓ parse

    GraphHopper road graph

    in-memory

  3. ↓ route

    Turn-by-turn engine

    bearing deltas → instructions

  • Kotlin
  • Android
  • GraphHopper
  • OpenStreetMap
  • osmdroid
  • Play Services

also built

smart contracts· devnet

BlockHarvest

Crop insurance as an on-chain program.

  • 4-instruction Anchor program: register, pay premium, file claim, approve claim
  • PDA accounts for farmer and vault; admin-gated approval releases SOL atomically
  • Rust
  • Anchor
  • Solana
  • Next.js
  • Supabase

full-stack· in-memory data

Pavo

College and career discovery for students.

  • N-tier Spring Boot API (Controller → Manager → DAO → DataStore) that can swap in a real database without touching business logic
  • Multi-stage Docker build deployed on Render; Next.js frontend on Vercel
  • Java 17
  • Spring Boot
  • Next.js
  • Docker

systems

Akshara

A terminal text editor, from raw mode up.

  • Raw terminal mode through JNA on Unix and Kernel32 console APIs on Windows
  • Cursor movement, editing, scrolling, search and save, all hand-rolled
  • Java 21
  • JNA
  • Native APIs
runs in your terminalsource ↗
03experience.log

Leading tech where the software runs real events.

  1. Tech Lead

    ISTE, SRM IST

    • #leadership
    • #web
    • #automation
    • Built the Techescape Room platform (auth, interactive challenges, live leaderboard) used by 300+ participants.
    • Shipped OTP-based validation and a custom QR system for event entry and attendance.
    • Automated registrations and scheduled participant comms with Google Apps Script over Forms and Sheets.
    • Own the Contentful-powered CMS and website, delegate work and mentor junior developers.
  2. Tech Lead

    Rangeen Pixels, SRM IST

    • #coordination
    • #events
    • Lead the club's technical side: building the website from scratch and running forms, tooling and internal operations.
    • Turn event requirements into implementation decisions and deliver them on event timelines.
  3. earlier · tech member

    • Genesis SRMIST: Web3 club: website improvements and CMS bug fixes
    • AEGIS: Cybersecurity club: website development

wins.log

  • Ideathon 3.0

    3rd place · out of 35+ teams

  • Adobe University Hackathon

    Round 1 cleared · amongst top ~8%

  • Smart India Hackathon

    Qualified · college selection round

  • Hyperthon 2.0

    Top 5 · honourable mention

04contact.sh

Got a hard backend problem? Let's talk.

I'm looking for backend roles & internships where I can work on real systems with people who care how they're built.

POST/api/ojas/contact
{
  "from": "…",
  "message": "…"
}
opens your mail client