Open to full-stack .NET + Angular roles

Hi, I'm Rajeev.
I build real-time systems, from .NET to Angular.

Senior software engineer with 5 years of shipping real-time video-analytics systems — .NET Core backends, Angular frontends, RabbitMQ and PostgreSQL / TimescaleDB. Spent 2 years leading teams of 5 and 10 on the CIAL Airport and Jagannath projects and delivered face recognition for Delhi Police. Lately building AI video analytics — on-device YOLO detection and plain-English search over camera footage.

01 — at a glance
Scale
9.5k+
connected devices on one platform
Throughput
4×
70 → 300+ frames/sec ingestion
Reliability
99.5%
delivery success at 100+ events/sec
↓
Open source

4 merged PRs in Angular and OrchardCore

Angular's service-worker docs (#70763) and three OrchardCore features across Media, Workflows and Roles — plus PRs in review at dotnet/sdk, Uno Platform and Angular Components.

Daily stack
var me = new Engineer { Stack = ".NET", UI = "Angular", Bus = "RabbitMQ", Db = "Postgres", Base = "Gurugram" };
02 — experience

Where I've worked

i2V Systems

Oct 2021 — Now
Senior Software Engineer
  • Led a 5-person team on CIAL Airport (ICCC) and a 10-person team on Jagannath (ANPR) over 2 years — sprint planning, design and code reviews, QA coordination and client delivery, while hands-on in the codebase.
  • Architected backend services for a city-scale platform — 4,000 cameras, 3,000 streetlights, 1,000 underground sensors and 1,500+ tracked vehicles — integrating an external AI vision-inference service with health checks.
  • Built 4 platform modules (ANPR, Actions, Logging, Events) and a Redis caching layer that eliminated repeated per-request database lookups and cut hot-path latency.
  • Scaled the event-driven ingestion pipeline on RabbitMQ/MQTT from ≈40 to 100+ events/sec at 99.5%+ delivery success by cutting message payload size, with idempotent consumers and ack/nack retries.
  • Diagnosed and fixed production performance issues — profiled memory and CPU on deployed systems and removed a single-threaded bottleneck, raising throughput 70 → 300+ frames/sec.
  • Built secure REST APIs, gRPC services and Angular apps on a Facade-based layered architecture, including a real-time GIS map with live vehicle tracking and route trails from GPS telemetry.
  • Owned the product's Windows and Docker releases, automating builds and packaging with GitHub Actions; products cleared STQC and CDAC security certification (Government of India).

i2V Systems

2021
Software Engineering Intern

Shipped .NET Core REST APIs and Angular features across backend and frontend modules.

03 — deployments

Shipped for real-world clients

Systems I built and delivered at i2V for police, public bodies and critical infrastructure — across India and Turkey.

India Gate, New DelhiFACE MATCH
FRS● India

Delhi Police

Face recognition for one of India's largest police forces — recognises people from camera feeds using Milvus vector search, with bulk watchlist enrollment and live match alerts for operators.

CCTV monitoring wallFACE MATCH
FRS● India

IGR

Person recognition backed by Milvus vector search — enrollment, deduplication and matching, with async progress over SignalR for large batches.

Cochin International Airport terminalCOMMAND CENTRE
ICCC · LED TEAM OF 5● India

CIAL Airport

Led the airport's Integrated Command & Control Centre — video wall, live event monitoring and real-time alerts, bringing airport cameras and devices into one operator view.

Istanbul skyline at nightCOMMAND CENTRE
ICCC● Turkey

Turkey ICCC

International command-centre rollout — video wall, event watching and alerts, with central node registration and remote resync across nodes.

Shree Jagannath Temple, PuriPLATE READ
ANPR · LED TEAM OF 10● India

Jagannath

Led delivery of automatic number plate recognition — vehicle detection, plate reads, and SOS and other automated actions on detected events.

04 — projects

Things I've built

↗
Featured · AI video analytics

Lens — ask your cameras in plain English

Drop in footage or an RTSP camera and ask "when was the first bus seen?" or "how many trucks passed after 6 pm?" — answers come back with the matching frames, boxes drawn on. Runs fully local; nothing needs the cloud.

video / RTSP ─▶ ffmpeg ─▶ YOLOv10 (ONNX Runtime, CPU) ─▶ TimescaleDB question ─▶ planner (no model) ─▶ search / count ─▶ answer + frames └─ else ─▶ local LLM (Ollama) or Claude ─▶ same tools
  • Object detection on CPU at 13–19 frames/s on a laptop — 80 COCO classes plus a separate face-detection model.
  • Everyday questions answered straight from the database in milliseconds; harder ones go to a local open model or Claude via tool calls, with every call shown in the UI.
  • Angular 20 live wall of 1–16 cameras over WebRTC (MediaMTX) with detection boxes streamed over SignalR, plus search, upload and background indexing.
.NET 8Angular 20YOLOv10 · ONNXTimescaleDBWebRTCSignalROllama · Claude
↗

distributed-rate-limiter

Rate limiting for ASP.NET Core shared across API instances — fixed window, sliding log, sliding counter and token bucket, each as an atomic Redis Lua script.

ASP.NET CoreRedisLua
↗

iot-telemetry-timescale

Real-time IoT telemetry: .NET 8 MQTT ingestion with batched binary COPY into TimescaleDB — hypertables, compression, continuous aggregates — and a live SignalR dashboard.

.NET 8MQTTTimescaleDB
↗

dotnet-event-pipeline

Event pipeline sustaining 100k+ events/min on a single machine with at-least-once delivery — transactional outbox, PostgreSQL COPY, Channels backpressure and DLQ retries.

.NETRabbitMQPostgreSQL
↗

efcore-dapper-bulk

Hybrid EF Core + Dapper data layer for bulk inserts and upserts with COPY and UNNEST — cut a local 1M-row insert from minutes to 3–8 seconds.

ASP.NET Core 8EF CoreDapper
↗

Dyuti OS

India-first desktop OS — a reproducible pipeline that builds a bootable live ISO with Indian-language support.

LinuxShell

TimescaleDB Ingestion

Per-frame metadata for ~400 cameras. Removed a single-threaded bottleneck: 70 → 300+ frames/sec.

.NETTimescaleDBat i2V
// platform modules behind these deployments

Face Recognition System

Bulk enrollment, watchlist matching and deduplication with live progress over SignalR.

.NETPostgreSQLSignalR

ANPR Module

Number-plate recognition on Clean Architecture with EF Core migrations, caching and versioned APIs.

.NETEF Core

ICCC Integration Layer

Node registration, remote resync and RabbitMQ connection lifecycle across multi-node deployments.

.NETRabbitMQ

GIS / Map Module

Live placement and event overlay of cameras and connected devices on interactive maps.

AngularPostGISOpenLayers
05 — open source

Open-source contributions

Fixes and features upstreamed to the frameworks I use every day — Angular, OrchardCore (ASP.NET Core CMS), the .NET SDK and Uno Platform.

// merged
// in review
06 — toolbox

What I work with

Backend
C#.NETASP.NET CoreEF CoreDapperREST APIs
Frontend & GIS
AngularTypeScriptOpenLayersGeoServerPostGIS
Messaging & real-time
RabbitMQMQTTSignalRSystem.Threading.Channels
Data
PostgreSQLTimescaleDBSQL ServerMongoDBMilvuspgvector
Architecture & design
System design (HLD)Low-level design (LLD)Design patternsSOLIDClean ArchitectureDDDCQRSEvent-driven architectureMicroservicesOutbox & idempotency
Testing & observability
xUnitPlaywrightSerilogSeqOpenTelemetryPrometheusGrafana
AI & computer vision
YOLOONNX RuntimePyTorchOllamaClaude API · tool use
DevOps
DockerGitHub ActionsCI/CDLinux & Windows
Cloud
AWS EC2AWS S3AWS RDS PostgreSQLAWS VPCAWS IAMSecurity GroupsAzure
Open to full-stack .NET + Angular roles

Let's build something reliable.

Hiring for full-stack .NET + Angular, or want to talk real-time systems? My inbox is open.