Hi, I am Sanjeev
Apparently, I am a Software Engineer.
Senior Software Engineer @Office for National Statistics, Civil Service.
About Me
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.
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.
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.
Bournemouth, UK
Early industry exposure building a sanctions screening application using fuzzy logic, alongside Agile, cybersecurity, and UX workshops.
London, UK
Gained hands-on experience working with substantial government databases, verifying and uploading immigration documentation with accuracy and data integrity.
Skills
Colour and weight indicate proficiency.
Beyond the code
Community leadership, mentoring, and cross-functional contributions.
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.
Active board member involved in recruitment, role-profile reviews, and career-progression framework updates.
Contributed to the creation and review of software-engineering principles and standards to align practices across ONS.
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.
Mentored 4+ students, supporting their technical growth across teams and disciplines.
Promoted ONS programmes such as Year-in-Industry and Apprenticeships. Delivered onboarding sessions, presentations, and Q&A panels for new placement students.
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.
Authored template repositories, documentation standards, and technical guides. Created and refined tech-debt tickets to improve backlog hygiene.
Participated in CPD Log Pilot, GDD Pay Framework, and career-progression reviews. Initiated discussions on engineering best practices within tech sessions.
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.
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.
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.
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.
A BFI IMAX screening watcher that monitors Christopher Nolan film listings and sends Telegram alerts when tickets appear. Uses Camoufox to bypass Cloudflare detection.
A personal pipeline that fetches newsletters from Gmail, deduplicates stories using Jaccard similarity, and generates AI-powered daily digests via Claude.
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.
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.
This site - a static portfolio and blog built with Pelican, Jinja2 and Tailwind CSS. Deployed to Vercel with GitHub Actions CI.
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.
Scrabble
A fully playable browser-based Scrabble game with, letter scoring, double/triple word and letter squares, valid word checking, and connection validation.
Wordle
A browser-based of the viral word game Wordle, rebuilt from scratch with all the core game logic and features of the original.
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.
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.
Archery
Recurve olympic bow, certified pro archer. Indoor WA 18m at Archery Fit London, outdoors up to 45m, working toward the Olympic distance of 70m.
Draw 26lb · Range 45m · View page →
Running
Currently training for 10Ks, half marathons, marathons, and trail running versions of those.
5K PB 30:00 · 10K PB 62:27 · View page →Karting & Racing
You will find me on the karting track trying to not spin out or at Silverstone.
Coming soonPhotography
Just started recently, got a shitty DSLR and film camera.
Coming soonLatest Posts
View All
I am Sanjeev: How I Went From Picking Up Shrapnels to Picking Up Coding
This is my first blog post on my newly built personal website. I'll talk a bit about myself and what's to come.
Read more
Yet a Another Front-end Rendering Strategies Article: Beginners Guide to SSR, CSR, SSG, & ISR
A practical beginner-friendly guide that demystifies modern front-end rendering strategies including SSR, CSR, SSG, ISR, and Partial Prerendering (PPR). The article explores how each rendering approach works, their real-world use cases, performance and SEO trade-offs, and why modern web applications increasingly rely on hybrid rendering architectures. Written from the perspective of a Python-focused engineer revisiting the React and Next.js ecosystem.
Read more