Skip to main content ↓
SS/
STAFF SOFTWARE ENGINEER · SOFTWARE ARCHITECT

I design software systemsthat stay understandableas they scale.

I’m Shivam Singh. I build secure, production-grade applications across .NET, React, identity, cloud infrastructure, distributed systems, data platforms, and AI-enabled workflows.

Architecture when the problem is ambiguous. Code when the details matter. Production ownership all the way through.

Interactive system architecture diagram depicting relationships between Client, Identity Authority, API Gateway, Message Queue, Background Worker, Transactional Data, Analytics Store, and Verifiable AI Systems. Current perspective: all components.
SYSTEM TOPOLOGY
REFERENCE TOPOLOGY
MANAGED INFRASTRUCTURE BOUNDARYCUSTOMER-MANAGED ENVIRONMENTCLIENTReactIDENTITYOpenIddictAPI GATEWAYASP.NETQUEUERabbitMQWORKER.NETDATA STOREPostgreSQLANALYTICSClickHouseAI SYSTEMTraceability
Explore the architecture

Select or hover a node to inspect its role, dependencies, and service boundaries.

02 /CAPABILITIES

What I do: from architecture to production code

I operate across the full systems lifecycle—framing ambiguous architecture problems, defining trust perimeters and event flows, and delivering maintainable implementation code all the way through.

DOMAIN 01
SYSTEMS ARCHITECTURE
SVCCORE

Systems Architecture

Service boundaries, data ownership, event flows, API design, deployment topology, reliability, and engineering trade-offs.

Distributed SystemsDomain BoundariesEvent-DrivenAPI DesignReliability Engineering
DOMAIN 02
IDENTITY & SECURITY
CLI

Identity & Security

OAuth 2.0, OpenID Connect, machine identity, authorization, trust boundaries, token architecture, secure enrollment, and threat-aware design.

OAuth 2.0 / OIDCMachine IdentityToken ArchitectureTrust BoundariesLeast Privilege
DOMAIN 03
PRODUCT ENGINEERING
REACT / CLIENTASP.NET / APIPOSTGRES / QUEUE

Product Engineering

Hands-on backend and frontend engineering with .NET, C#, React, TypeScript, databases, messaging, containers, and cloud infrastructure.

.NET / C#React / TypeScriptPostgreSQLRabbitMQ / Azure Service BusCloud Infrastructure
DOMAIN 04
AI & DATA SYSTEMS
LLMSINK

AI & Data Systems

AI-enabled application architecture, verifiable workflows, evaluation pipelines, telemetry, analytics, and high-throughput data processing.

Verifiable AIEvaluation PipelinesTelemetry IngestionAgent WorkflowsData Streaming
03 /SELECTED WORK

Engineering decisions under real production constraints

Architecture when the problem is ambiguous. Code when the details matter. Each case study illustrates concrete trust perimeters, queue backpressure, and systems engineering trade-offs.

CASE STUDY 01IDENTITY & SECURITY ARCHITECTURE

Designing trust for a distributed enterprise licensing platform

Proposed architecture for securely connecting customer-hosted software, cloud services, licensing data, user identity, and machine identity across constrained network boundaries.

.NETOAuth 2.0 / OIDCOpenIddictPKCEMachine IdentityAzureSecurity Architecture
CASE STUDY IN PREPARATION
CUSTOMER-MANAGED ENVIRONMENTCustomer ClientInteractive App · PKCE Auth CodeLocal Machine AgentInstallation Identity · Machine SecretOIDC / TLS TOKEN EXCHANGEPROPOSED CLOUD PLATFORMIdentity Service (OpenIddict)Token Minting · Asymmetric SigningLicense & Cloud APIToken Validation · Entitlement Enforcement
STAGE 1 // DISTRIBUTED EDGESDistributed Client FleetBatching · Local SQLite Buffer · HTTPSHTTPS INGESTIONSTAGE 2 // INGESTION & BUFFERIngestion GatewayStateless Auth & Rate LimitingRabbitMQ BufferBackpressure Cushion · AMQP QueueCONTROLLED CONSUMESTAGE 3 // STORAGE DUALITYClickHouse Analytical StoreColumnar Metrics · Micro-Batch AggregationsPostgreSQL & Dead-Letter QueueTransactional Licensing & Poison Isolation
CASE STUDY 02DISTRIBUTED SYSTEMS & DATA PIPELINES

Designing a reliable telemetry pipeline for globally distributed clients

A queue-backed telemetry architecture designed for sustained ingestion, controlled processing, analytical querying, and resilience across geographically distributed installations.

RabbitMQ.NETClickHousePostgreSQLDockerObservabilityDistributed Systems
CASE STUDY IN PREPARATION
04 /PRINCIPLES

Architecture should reduce uncertainty.

The principles behind my engineering decisions: practical rules formed across distributed systems, identity perimeters, and production operations.

PRINCIPLE 0101/06

Make trust explicit

Every distributed system has trust assumptions. Good architecture makes them visible and testable.

ARCHITECTURE RULE
PRINCIPLE 0202/06

Prefer boring reliability

Proven technology, clear failure modes, good observability, and maintainable code usually beat unnecessary novelty.

ARCHITECTURE RULE
PRINCIPLE 0303/06

Bound complexity

Strong service boundaries, contracts, ownership, and data models prevent local decisions from becoming system-wide chaos.

ARCHITECTURE RULE
PRINCIPLE 0404/06

Design for failure

Networks fail. Tokens expire. Queues back up. Certificates rotate. Services restart. Production architecture should assume all of it.

ARCHITECTURE RULE
PRINCIPLE 0505/06

Measure before optimizing

Performance work should start with evidence, not instinct.

ARCHITECTURE RULE
PRINCIPLE 0606/06

Keep architecture executable

A diagram is useful only if the implementation, deployment, and operational model can actually support it.

ARCHITECTURE RULE
05 /TECHNOLOGY STACK

From high-level architecture to production execution.

Real-world systems demand cross-stack coherence. Rather than isolated tool specialization, each tier reflects clear architectural boundaries, explicit trade-offs, and practical engineering concerns.

SYSTEM ARCHITECTURE
Architectural Responsibility

Designing responsive, maintainable user interfaces with structured state management, accessible component hierarchies, and resilient API integration.

Design Concerns & Patterns
  • Separating UI presentation components from backend data schemas using explicit view models and data mapping.
  • Minimizing layout shifts (CLS) and UI jitter through fixed dimension reservations and purposeful loading states.
  • Enforcing type safety across boundaries with strict compile-time checking and runtime input validation.
Technologies & Protocols
ReactTypeScriptNext.js App RouterTailwind CSSComponent ArchitectureState & API IntegrationCore Web VitalsWCAG 2.1 AA
Architectural Responsibility

Building structured API boundaries, hosted background processing services, and maintainable domain logic in modern .NET.

Design Concerns & Patterns
  • Clear separation between domain models, persistence entities, and public API data transfer contracts (DTOs).
  • Reliable background processing using hosted services with proper cancellation token handling and controlled concurrency.
  • Memory and connection discipline in high-throughput endpoints using streaming and efficient serialization.
Technologies & Protocols
C#.NETASP.NET CoreREST APIsHosted Services / WorkersEF CoreOpenAPI / SwaggerDependency Injection
Architectural Responsibility

Establishing secure authentication boundaries, separating user identity from machine identity, and managing least-privilege token access.

Design Concerns & Patterns
  • Separating user identity from host machine and installation identity across network boundaries.
  • Using PKCE for authorization-code flows from public clients, and validating issuer, audience, lifetime, scopes, and sender constraints according to the token flow in use.
  • Evaluating credential rotation strategies and exploring asymmetric client keys to avoid long-lived shared secrets.
Technologies & Protocols
OAuth 2.0OpenID ConnectOpenIddictPKCEClient CredentialsClaims & ScopesToken Validation
Architectural Responsibility

Selecting storage engines that match workload characteristics: relational stores for transactional integrity and columnar engines for analytical telemetry.

Design Concerns & Patterns
  • Aligning storage engine selection to workload type: relational ACID stores for transactional data and columnar stores for high-volume append-only events.
  • Managing cache layers with explicit TTL policies and invalidation boundaries to avoid stale data propagation.
  • Treating schema migrations as backward-compatible deployable steps with clear rollback considerations.
Technologies & Protocols
PostgreSQLSQL ServerClickHouseRedisEF Core MigrationsAnalytical vs Transactional ModelingQuery Optimization
Architectural Responsibility

Decoupling producers from consumers with message queues to buffer bursty traffic and isolate services from cascading failures.

Design Concerns & Patterns
  • A queue can isolate producers from slower consumers and absorb bounded bursts, provided broker capacity, retention, flow control, and consumer throughput are designed for the expected load.
  • Designing consumers to tolerate at-least-once delivery using idempotent processing, deduplication where required, and explicit retry/dead-letter behavior.
  • Isolating malformed messages with dead-letter exchanges to prevent poison messages from blocking pipeline progress.
Technologies & Protocols
RabbitMQAzure Service BusIdempotent ProcessingQueue BufferingDead-Letter QueuesTelemetry Ingestion
Architectural Responsibility

Packaging services in reproducible containers, configuring runtime environments with managed credentials, and establishing structured observability.

Design Concerns & Patterns
  • Building reproducible container images tested and deployed through automated CI/CD pipelines.
  • Avoiding hardcoded secrets by leveraging cloud managed identities, secret stores, and least-privilege access policies.
  • Instrumenting applications with structured logging, key metrics, and health endpoints for operational visibility.
Technologies & Protocols
Azure (Container Apps, ACR)DockerLinuxManaged IdentityAzure Key VaultStructured LoggingHealth ProbesCI/CD Automation
Architectural Responsibility

Designing the engineering architecture around AI models: separating probabilistic generation from deterministic validation, controlled tool execution, and evaluation.

Design Concerns & Patterns
  • Treating model outputs as proposals that require validation against strict schemas and deterministic system boundaries.
  • Recording model inputs, tool parameters, and execution steps to provide inspectable provenance and traceability.
  • Using offline evaluation sets and regression testing to measure model behavior and prompt stability before deployment.
Technologies & Protocols
System ArchitectureDeterministic ValidationJSON Schema ContractsTraceability ConceptsEvaluation PipelinesPrompt Engineering
Architecture concerns and implementation responsibilities across the software lifecycle.
06 /CURRENT FOCUS

Building the engineering layer around AI.

I’m increasingly focused on system architecture, security boundaries, and the engineering discipline required to build reliable AI-enabled applications. I’m especially interested in systems where software must explain where a result came from—not merely produce one.

THE ARCHITECTURAL SHIFT

Many production failures around AI systems come from the engineering layer surrounding the model: weak contracts, uncontrolled tool execution, poor provenance, inadequate evaluation, or missing validation. Architecture must treat model outputs as proposals that require validation against deterministic contracts and boundaries before action.

01

Verifiable Execution Over Blind Generation

Probabilistic model outputs should be treated as proposals that pass through explicit validation, authorization, and tool-execution boundaries before affecting external systems.

02

Execution Provenance & Traceability

Software must explain where a result came from, not merely produce one. Capturing inputs, model versions, tool invocations, and execution evidence into inspectable trace data provides clear operational visibility.

03

Empirical Evaluation & Continuous Testing

Replacing impressive one-off demos with held-out evaluation sets, evaluation pipelines, and regression testing suites to systematically measure drift, failure modes, and system invariants.

Active Research & Topics
AI System ArchitectureVerifiable WorkflowsDeterministic VerificationExecution TraceabilityControlled Tool ExecutionEvaluation PipelinesRegression TestingOpenTelemetry Concepts
VERIFIABLE EXECUTION ARCHITECTURETRACE & EVIDENCE FLOW
CONCEPTUAL FLOWVERIFIABLE AGENT PIPELINE
ILLUSTRATIVE ARCHITECTURE
01
USER INTENT
input bounded
02
MODEL REASONING
probabilistic
03
TOOL EXECUTION
tool executed
04
DETERMINISTIC COMPUTATION
schema validated
05
EVIDENCE CHAIN
source attached
06
GROUNDED RESPONSE
trace recorded
SPECIFICATION:DETERMINISTIC COMPUTATION
EXECUTION LAYER: Validation Gate
OPERATIONAL CONTEXT

Tool output computed deterministically and validated against authoritative schemas and source contracts before downstream consumption.

VERIFICATION CONTRACT

Computation evaluated deterministically; schema structure and boundary constraints validated against authoritative contracts.

07 /WRITING

Notes from the engineering desk.

Writing about architecture, systems, identity, and AI engineering. Making engineering reasoning inspectable, verifiable, and practical.

08 /PERSPECTIVE

Curiosity about complex systems extends beyond the keyboard.

Away from software, I enjoy long-distance motorcycling, mountain travel, and reading about history and geology—usually the same habit in another form: trying to understand how complex systems came to be.

High-altitude travel and motorcycling have taught me something engineering repeatedly reinforces: respect the environment, prepare for failure, and never confuse confidence with certainty.

LONG-DISTANCE MOTORCYCLINGMOUNTAIN TRAVELHISTORY & GEOLOGY
TERRAIN CONTOURS // HIGH PASS TOPOLOGY
3,200m3,800m4,400mWP_01: 3,200m (VALLEY START)WP_02: 4,120m (RIDGE CROSSING)PASS SUMMIT: 4,551mN
ROUTE TRAVERSECONTOURS (100m INTERVALS)
SYSTEM INVARIANT: PREPARE FOR MARGIN
COLLABORATION

Working on a difficult system?

I’m interested in senior engineering, architecture, platform, identity/security, and AI application work where the technical problems are real and the engineering standard matters.

STAFF SOFTWARE ENGINEER · SOFTWARE ARCHITECT