Hi, I am Sanjeev

Apparently, I am a Software Engineer.

Senior Software Engineer @Office for National Statistics, Civil Service.

About Me

Photo of Sanjeev Srithevan
Role Senior Software Engineer Base London, UK Currently @Office For National Statistics · New Website Platform Team, replacing legacy CMS and ONS Website

Hello

I guess you wanted to know about me, so here you are 🤔 Welcome!

I’m Sanjeev, but you can call me Sanj. I love coding (when things work without errors or when I don't know why it works but it works...) and solving complex problems end to end. Not just disappearing into a flow state and coding my life away, but actually leading development efforts, collaborating with business stakeholders, working within multidisciplinary teams, and helping drive projects toward successful delivery.

How I build

I enjoy the full journey of building software, from architecture and problem-solving to communication, teamwork, and turning ideas into something real that people can use.

Off the clock

Outside of software engineering career and working hard to deliver high priority projects, I spend my time running around, go karting, formula car racing, taking pictures, archery, coding random useful and useless projects (but no project is useless), and going on road trips/ long drives around the UK.

Experience

Office for National Statistics (ONS)

Civil Service · September 2022 — Present · 3 roles

Team New Website Platform (NWP) CMS Team · Location London, UK

Currently working on the Wagtail-based CMS powering the new ONS website platform, contributing across backend engineering, search integration, authentication, CI/CD, developer experience, and technical leadership. Taking on a lead engineer role within the team, supporting the delivery of key features and releases for the new website platform as we move to phase 2.

Led and contributed to the delivery of phase 1 of the new website platform, contributing with hands on development, technical leadership, and cross-functional collaboration across multiple teams, especially during resourcing gaps filling in for DM, PM roles and regularly stepping into the technical-lead role.

Led and implemented the Wagtail-Kafka search integration, synchronising CMS content updates with the ONS Search Service using event-driven architecture and Kafka messaging.

Developed REST API endpoints using Django REST Framework (DRF) to expose indexable CMS content with pagination and contract-compliant schemas for downstream search services.

Python Django Wagtail Django DRF Kafka AWS Cognito JWT Cucumber

Team EQ Author (Census) & New Website Platform · Location London, UK

Contributed to the NWP Content Management System and the EQ Author census platform, spanning Python, Django, Wagtail, React, and Node.js across two engineering teams.

Co-led the Taxonomy and UI Testing Suite initiatives using Behave and Playwright, driving improvements across multiple engineering workstreams.

Led development of the Main Menu and Footer Menu systems within Wagtail CMS, including custom validation functionality and pair programming with placement students.

Led UX-focused improvements within the Wagtail admin experience based on user research findings.

Python Django Wagtail React TypeScript Node.js Express.js Firebase Auth

Team Statistical Methods Library (SML) Team & Census Clerical Matching Team · Location Titchfield, UK

Worked across multiple teams within ONS, contributing to major government applications and internal platforms.

Led a proof of concept integrating a headless CMS (Contentful) into the Statistical Methods Library platform, later refined for production deployment.

Collaborated with tech leads, architects, stakeholders, and steering groups on system design, security, scalability, and delivery decisions.

Built and improved automated testing pipelines using Selenium, Behave, Pytest, and CI/CD tooling, reducing execution times through pipeline parallelisation.

Python Flask Pandas React TypeScript Node.js AWS Terraform
Technology Spring Intern · JPMorgan Chase & Co April 2021

Bournemouth, UK

Early industry exposure building a sanctions screening application using fuzzy logic, alongside Agile, cybersecurity, and UX workshops.

Python Fuzzy Logic Agile
Database Assistant · UK Home Office June 2019

London, UK

Gained hands-on experience working with substantial government databases, verifying and uploading immigration documentation with accuracy and data integrity.

Database Management Data Verification

Skills

Colour and weight indicate proficiency.

Expert Advanced Intermediate
Backend & Languages 08
Python Django Wagtail Flask FastAPI TypeScript Node.js Express.js
Frontend 06
Jinja2 JavaScript HTML / CSS React Next.js Tailwind CSS
Testing & QA 05
Cucumber/Behave Pytest Playwright Jest Cypress
CMS & Content 03
Wagtail CMS ONS Design System Contentful
CI/CD & DevOps 04
Git GitHub Actions Concourse CI Kafka
Architecture & Design 04
REST APIs System Design OOP Microservices
Databases 04
SQLite PostgreSQL MongoDB DynamoDB
Cloud & Infrastructure 04
AWS (S3, EC2, Cognito) Docker Kubernetes Terraform

Beyond the code

Community leadership, mentoring, and cross-functional contributions.

11 Initiatives
7+ Sessions delivered
4+ Students mentored
3 Boards & groups
Leadership Community Tech Exchange Team Founder

Led the initiative to form the team, working directly with the Head of Profession and Innovation Team. Delivered 7+ community sessions for Python and JS.

Community Software Engineering Community of Practice (CoP) Board Board member

Active board member involved in recruitment, role-profile reviews, and career-progression framework updates.

Standards Technical Advisory Group (TAG) Contributor

Contributed to the creation and review of software-engineering principles and standards to align practices across ONS.

Events Talks, hackathons & community sessions Organiser | Speaker

Organised community talks, hackathons, newsletters, lightning talks and technical exchange sessions. Delivered community sessions, lightning talks etc. i.e., a talk on headless content management systems.

Mentoring Student mentoring & leadership 4+ mentees

Mentored 4+ students, supporting their technical growth across teams and disciplines.

Outreach Outreach Ambassador Ambassador

Promoted ONS programmes such as Year-in-Industry and Apprenticeships. Delivered onboarding sessions, presentations, and Q&A panels for new placement students.

Engagement Show-and-tells & workshops Regular contributor

Regularly presented at internal and external show-and-tells for business stakeholders, dev meetings, and product away-days. Brought in guest speakers and contributed Loom guides for QATs, researchers, and PMs.

Process Documentation & templates Process owner

Authored template repositories, documentation standards, and technical guides. Created and refined tech-debt tickets to improve backlog hygiene.

Strategy Strategic initiatives Strategic contributor

Participated in CPD Log Pilot, GDD Pay Framework, and career-progression reviews. Initiated discussions on engineering best practices within tech sessions.

Collaboration Cross-functional collaboration Cross-functional

Worked closely with QATs, user researchers, DMs, TLs, BAs, and PMs to triage and refine work for key releases; provided support/ stepping up during resourcing gaps.

Post-release Post-release investigations Lead investigator

Led investigation and documentation of post-Day-1 features such as live production data sync and audit logging, facilitating workshops and recording findings on Confluence.

Featured Projects

Things I have built, broken, and rebuilt.

Featured 08
AimFinder Code → Live →

A UK archery competition discovery platform where archers find events matched to their level, bowstyle, and location, complete with an AI coach assistant and live space availability. Every route uses a deliberate rendering strategy - SSG, SSR, ISR, or dynamic - based on how often its data changes.

Next.js TypeScript Tailwind CSS Vercel AI SDK Vercel AI Gateway Vercel Firewall Vercel Analytics Vercel Speed Insights Anthropic Claude Vercel
RenderLab Code → Live →

An interactive simulator that lets you feel the difference between SSG, SSR, ISR, CSR, and PPR through animated request-lifecycle visualisations, real-world scenario presets, and live simulated performance metrics. Built as a companion to my rendering strategies blog article.

Next.js TypeScript Tailwind CSS Framer Motion Zustand
IMAX Sentinel Code →

A BFI IMAX screening watcher that monitors Christopher Nolan film listings and sends Telegram alerts when tickets appear. Uses Camoufox to bypass Cloudflare detection.

Python Camoufox SQLite Telegram API GitHub Actions
Newsletter Sentinel Code →

A personal pipeline that fetches newsletters from Gmail, deduplicates stories using Jaccard similarity, and generates AI-powered daily digests via Claude.

Python Claude API SQLite Gmail API
SignSense Code →

An AI-powered sign language recognition and learning application using an LSTM neural network and MediaPipe hand tracking to detect and classify gestures in real-time via webcam.

Python TensorFlow Keras OpenCV MediaPipe Streamlit
BinSense Code →

A smart waste management system using IoT sensors to monitor bin fill levels in real-time, with dynamic route optimisation to reduce collection costs and carbon emissions.

Python Flask Jinja2 Chart.js Arduino ESP32
Portfolio & Blog Code → Live →

This site - a static portfolio and blog built with Pelican, Jinja2 and Tailwind CSS. Deployed to Vercel with GitHub Actions CI.

Python Pelican Jinja2 Tailwind CSS Vercel
Financial Dashboard Code →

A financial dashboard application featuring invoice management, customer tracking, and authentication. Built with Next.js App Router, featuring server actions, streaming with Suspense, and modern React patterns.

Next.js TypeScript React Tailwind CSS PostgreSQL NextAuth.js Zod
Also built 03

Scrabble

A fully playable browser-based Scrabble game with, letter scoring, double/triple word and letter squares, valid word checking, and connection validation.

JavaScript Node.js HTML CSS
Code →

Wordle

A browser-based of the viral word game Wordle, rebuilt from scratch with all the core game logic and features of the original.

JavaScript Node.js HTML CSS
Code →

QJet

A desktop airline booking and management system with role-based access for customers, staff, and admins. Features flight booking, cancellations, email-based password resets, and admin analytics dashboards exportable to Excel.

Python Tkinter SQLite Matplotlib
Code →

Life outside the terminal

Growth Outside of Software Engineering

When I'm not shipping code, you'll find me doing something to do with the below activities.

Get In Touch

Have a project in mind or just want to say hi? Feel free to reach out!