Software Engineer · New Delhi · IST

Kanishk Mittal

I turn messy data into knowledge graphs and clean APIs.

Software engineer focused on event-driven Go and TypeScript systems: pipelines, gRPC services, third-party integrations, and the tooling that keeps them correct in production.

Open to software engineering roles. Remote preferred. On-site or hybrid is fine.

01Proof

The work, in numbers.

I’m a self-driven, business-minded engineer. I take pride in building solutions that fit the problems and not vice versa, and I try to grow as a teammate, a technical leader and an open source contributor.

My recent work is event-driven programming: Go, TypeScript, gRPC, external API integrations, developer tooling for testing, and Kubernetes-centric deployment infrastructure.

MottoLearn, Invest, Contribute

  • 30M+

    events a month

    SendGrid webhooks routed into Amplitude through a data-router service.

  • 60

    concurrent goroutines

    sharing one client when a production race surfaced. Traced it and shipped the fix.

  • 500+

    review suggestions

    from the CI lint bot I introduced with static analysis and auto-fix.

  • 100+

    pull requests reviewed

    with Claude Code plugins, across 9 teammates.

  • 96%

    statement coverage

    on the steerloop library, with race-enabled tests and fuzzing in CI.

  • 2

    ledger versions

    of a production double-entry ledger in Go that I helped design, build and test.

02Experience

Event-driven systems at DailyPay Ireland.

Two stints in Belfast. First a placement year on the ledger, then a year shipping marketing-technology pipelines, CI tooling and on-call fixes.

Jul 2025 – Jul 2026

Software Developer I

DailyPay Ireland · Belfast, UK

Event pipelines for marketing technology, CI tooling, on-call ownership, and agent-assisted review across the team.

  • Email engagement pipeline

    Built an end-to-end pipeline that routes SendGrid webhooks into Amplitude through a data-router service, so marketing can track opens, clicks and bounces at 30M+ events a month. Demoed the full flow at the company Tech Thursday.

    • Webhooks
    • SendGrid
    • Amplitude
  • Marketing event pipeline

    Shipped an SQS-based pipeline that routes marketing activity events from internal message queues to Iterable. Owned the consumer and the handler across 2 microservices.

    • SQS
    • Iterable
    • Microservices
  • Race condition in production

    Resolved a production service crash by tracing a Go race condition in a shared client used by 60 concurrent goroutines, then shipped a singleton initialization fix.

    • Go
    • Concurrency
    • Incident
  • CI lint bot

    Introduced static analysis linting to CI with an auto-fix bot that has made 500+ code review suggestions and brought linted Go code to the MARTEC service. Removed a deprecated service to shrink the maintenance surface, and added a CLI plugin for standardized communication event triggering.

    • Static analysis
    • CI
    • Go
  • On-call

    Triaged production incidents, contributed to cross-team cutover planning and scheduled maintenance, did root-cause analysis, and shipped remediation from alert to resolution. Solved more than 5 production bugs with a documented investigative approach.

    • Incident response
    • Root-cause analysis
  • Agent-assisted review and automation

    Reviewed 100+ pull requests with Claude Code plugins (Ruflo) across 9 teammates, covering code style, concurrency issues, async API contract mismatches and alerting thresholds. Built a Claude Code automation skill for multi-repo message-type additions.

    • Claude Code
    • Code review
    • Automation

Sep 2023 – Aug 2024

Software Engineer (Placement)

DailyPay Ireland · Belfast, UK

A placement year on the ledger, the company’s flagship service, during its move from a Ruby monolith to Go.

  • Ledger migration

    Took part in migrating the ledger from a Ruby monolith to a modular Go architecture. Helped design, build and test 2 versions of a production double-entry ledger in Go, on a team with data engineers, including ETL pipeline design.

    • Go
    • Double-entry ledger
    • ETL
  • Ledger v3 worker pipeline

    That work led to the Ledger v3 worker pipeline, validating gross-earnings and shift-data endpoints against the live service at scale.

    • Workers
    • Data correctness
  • Terraform

    Hands-on Terraform, from local modules to shared monolith modules. Created a service-separate Terraform environment for metrics cost analysis.

    • Terraform
    • Cost analysis
  • Lighter primary database

    Moved the announcements controller in the Ruby monolith onto a replica reader, which took load off the primary database.

    • Ruby
    • Read replica
  • Hackathon winner

    Led a 3-person team to prototype AR-based customer onboarding. Won £500 and recognition from the then CEO.

    • AR
    • Team lead

03Projects

Open source and research.

A Go library for steering agent loops, an award-winning knowledge-graph dissertation, and two distributed-systems builds.

Open-source Go library and CLI · October 2026

steerloop

A controllable agent loop for Go, built on CloudWeGo Eino. It runs an LLM tool-calling loop that can be stopped, redirected or reconfigured while it is still running.

Steer
Stop a run, inject a user message, or change its iteration cap and temperature mid-flight.
Watch
A typed event stream for model turns, tool calls, tool results and the final outcome.
Pause
Hand named tool calls to a function that can wait for a human answer.
Survive
Retries on transient provider failures, and a watchdog that aborts a stalled stream.
Audit
One record per model turn with the request, the reply, token counts and cost.
  • Go
  • CloudWeGo Eino
  • Apache-2.0
  • v0.1.1
steerloop run --model anthropic:<model> --tools examples/tools.yaml \  "How many lines is README.md, and which files mention Registry?"model anthropic:<model> · stop no-tool-calls · max 12 steps[step 1]  → count_lines {"path":"README.md"}  ← count_lines: 180 README.md[step 2]done: finished · 2 step(s) · 1482 tokensREADME.md has 180 lines.

While it runs, type to steer it.

any text
Injected as a user message before the next model call.
/stop
Graceful stop.
/max <n> /temp <x>
Change the configuration mid-run.
  • Released as v0.1.1 under Apache-2.0.
  • CI runs race-enabled tests, fuzzing, staticcheck and govulncheck on two Go versions.
  • 96% statement coverage on the library.
Source on GitHub

Awarded dissertation research · Aug 2024 – Mar 2025 · London, UK

Patent Knowledge Graph

An NLP and semantic-search pipeline that maps the relationships between chemical patents. Dissertation: “Knowledge Graph-Augmented LLMs for Chemical Patent Analysis.”

  • Graham Hawke Award for the best final year dissertation in EEE.
  • Best Final Year Project in the EEE faculty at Brunel University London.
  1. ScrapyCollect patents
  2. NLPExtract relationships
  3. Neo4jKnowledge graph
  4. EmbeddingsSemantic search
  5. LLMGraph-augmented answers
  • Realtime editing over gRPC · 2025

    Collaborative text editor

    Several people edit one document at the same time and see each other’s cursors. Consistency comes from a CRDT: replicated growable arrays implemented as a timestamped insertion tree.

    • Guarantees eventual consistency.
    • Go backend, gRPC-web frontend, run with Docker Compose.
  • Distributed systems study · 2025

    Leader-election testbench

    Compares the classic Bully and Ring algorithms with a two-candidate ring that keeps a coordinator and a pre-appointed backup, so a failed leader is replaced without a full election.

    • Five scenarios: coordinator failure, node join, small-node failure, node leave and network split.
    • Measures message overhead and convergence time as the node count grows.

04Agents

Agents, with a hand on the wheel.

I build with LLM agents, run them inside a team, and have researched how to ground them. The common thread is control: being able to stop, steer and audit what a model does.

  1. 01Build

    A loop you can interrupt

    steerloop gives a Go program control over an agent run that is already in flight: stop it, redirect it, pause it for a person, and keep an audit record of every model turn.

    • Typed event stream
    • Human-in-the-loop pauses
    • Per-turn cost audit
  2. 02Operate

    Agents inside a real team

    At DailyPay Ireland I reviewed 100+ pull requests with Claude Code plugins across 9 teammates, including Claude-generated code, and built an automation skill for multi-repo message-type additions.

    • 100+ PRs reviewed
    • 9 teammates
    • Progressive-disclosure prompts
  3. 03Research

    Grounding models in a graph

    My dissertation augmented LLMs with a knowledge graph to analyse chemical patents, combining Neo4j, vector embeddings and semantic search. It won the Graham Hawke Award.

    • Neo4j
    • Vector embeddings
    • Award-winning

05Stack

The tools I reach for.

Rated the way my CV rates them, on four steps from limited to native.

  • Languages

    • GoNative
    • TypeScriptProfessional
    • SQLProfessional
    • BashLimited
  • Event-driven

    • MicroservicesFull
    • gRPC / ProtobufFull
    • KafkaProfessional
    • On-callProfessional
  • Databases

    • PostgreSQLNative
    • MongoDBProfessional
    • Neo4j knowledge graphsProfessional
  • Infrastructure

    • DockerFull
    • GitHub ActionsFull
    • DatadogFull
    • TerraformProfessional
    • AWSProfessional
  • Practice

    • AI code editingFull
    • Event lineage testingProfessional
    • Amplitude analyticsProfessional
    • RudderStack analyticsProfessional
    • IterableProfessional
    • LeetCode 150+Professional
  • Focus

    Current focus: Kubernetes-centric deployment infrastructure.

06Education

First Class, and a dissertation that won.

Four years at Brunel University London, with a placement year in industry along the way.

Sep 2021 – Jun 2025

B.Eng. Computer Systems Engineering

Brunel University London · UK

Result
First Class with Honours
Dissertation
Knowledge Graph-Augmented LLMs for Chemical Patent Analysis
  • Graham Hawke Award

    Best final year dissertation in EEE, Brunel University London.

  • Best Final Year Project

    EEE faculty, Brunel University London, for the patent knowledge graph.

  • Hackathon winner

    Led a 3-person team at DailyPay Ireland to prototype AR-based customer onboarding. £500 prize.

07Contact

Let’s talk.

I’m looking for a software engineering role. If you have one, or just want to compare notes on Go, event pipelines or agent loops, write to me.

Based in
New Delhi, India (IST)
Working style
Remote preferred. On-site or hybrid is fine.
Availability
Available to interview now.