Jaswant Jayacumaar · Data Analyst · LondonMSc Astronomy & Astrophysics

I build the analytics, automation and AI a real business depends on.

Full-stack analytics platforms, automated Google Ads bidding, and retrieval-grounded AI agents, plus the BigQuery warehouse underneath, for a global photo-gifting e-commerce company trading across 9 international markets. Once it ships, my job is keeping the numbers trustworthy, the automation safe, and the pipelines running unattended.

0
International markets automated
0
SEM automation tools shipped
0+
Campaign changes applied / month
0+
Search terms classified / month
0+
Operational hours saved weekly

SELECTED WORK

Systems a business depends on, not demos.

Each entry says what problem it solved, what I built, and what it proves. Everything here runs in production today; the counts are real, the revenue figures deliberately absent.

Contribution Margin reporting platform

e-commerce analytics

Profitability decisions ran on lagging, patchwork dashboards. I built and own the company's CM reporting platform: a full-stack web app (Next.js/TypeScript, Express, BigQuery, Supabase; deployed on Vercel/Railway) replacing legacy Looker Studio with live daily and hourly profitability, marketing-cost and SEM analytics across 9 international markets (USA, UK, FR, IT, ES, DE, NL, AE, IN), refreshed by scheduled queries timed around US trading waves.

Next.jsTypeScriptExpressBigQuerySupabaseVercel/Railway

proves: end-to-end platform ownership: warehouse → API → UI → adoption

cm report · bigquery + next.jsrefresh 2×/dayrunning
7 scheduled queries · 2×/day6 report pagesGoogle AdsGA4Bing AdsMerchant CenterSearch ConsoleKlaviyoBigQueryGA_Jaswant viewsCM ReportNext.js · ExpressCM OverviewCM HourlyMarketing CostSEM AnalysisSEM CompareProduct PortfolioSupabase

# the contribution-margin platform · replaced legacy Looker Studio · live across 9 markets (USA, UK, FR, IT, ES, DE, NL, AE, IN)

SEM Automation Console

paid media automation

Managing Search & Shopping campaigns across 16 products × 9 countries and 17 Google Ads accounts doesn't scale manually. I co-built an 11-tool automation console (Next.js, Python/Flask, Google Ads API) and led development of most of its systems: automated bidding, negative-keyword management, keyword farming, search-query expansion, ad-copy generation and pricing optimisation. 58 Python automation scripts apply 10,000+ campaign changes a month through preview-first, human-approved writes.

Python/FlaskGoogle Ads APICloud RunBigQueryNext.jsPython - Automation

Bidding decision systems

Designed the profit- and growth-mode bidding decision trees behind the console: ROAS-band classification with RED/AMBER/GREEN logic executed autonomously via Cloud Run schedulers across two businesses, plus AI pipelines including a two-pass Gemini negative-keyword classifier and multi-model ad-copy generation using Claude, Gemini and GPT.

decision treesROAS classificationtwo-pass LLM classifiermulti-model generation

proves: automation at scale and algorithm design that moves real money, safe by construction

sem console · cloud runrun 37running
approval gateloop · next scheduled runlog · SupabaseCloud RunGoogle Ads APIBigQueryingestscheduled queriesBiddingNegativisationKeyword farmingQuery expansionAd-copy genPricingdecision treesprofit · growthapplyAds API write

# simulated · preview-first, human-approved writes on Cloud Run schedulers

Retrieval-grounded analytics agent

applied AI

Stakeholders needed answers faster than dashboards could serve them. I built a RAG analytics agent embedded in the CM platform (FastAPI, LangGraph, Gemini) that turns natural language into validated SQL over BigQuery, grounded by 18 intent playbooks with context caching, connected to 7 live data systems. Hardened with SELECT-only guards, dry-run validation and byte caps, with a streaming chat UI and exportable transcripts.

PythonFastAPILangGraphGemini
Natural Language → SQLcontext cachinglive integrationsModel Context Protocol (MCP)

proves: production LLM engineering: grounded, guarded, actually used

analytics agent · langgraph · reason ⇄ actquery 42running
iterateact ⇄ 7 live systemsguardintentclassifyrouterreasonactsynthesizeanswerBigQueryGA4Google AdsMatomoSentrySupabaseNexus API

# simulated · a ReAct agent — reason ⇄ act over 7 live systems, SELECT-only guarded and context-cached

Pricing intelligence pipeline

pricing

Took ownership of the company's pricing-intelligence platform and run it day-to-day: agentic competitor-price scraping across 9 markets (US, UK, Germany, France, Italy, Spain, Netherlands, UAE and India), automated BigQuery pricing pipelines with daily orchestration, Monte Carlo simulation for price-scenario modelling, and the decision dashboard that feeds pricing calls, extending it alongside the rest of the analytics stack.

PythonBigQuery pipelines
agentic scrapingdaily orchestrationMonte Carlo simulationpricing analytics

proves: production ops: inheriting, hardening and extending a live pipeline

pricing intelligence · agentic · dailymarkets 9running
scrape ⇄ 9 marketsUSUKDEFRITESNLAEINcompetitor scraperLangGraph · Playwrightpricing pipelineBigQuery · dailyprice optimisermargin-awarepricing decisionVercel boardapplyAdmin API · 9 sites

# pricing-intelligence platform · agentic scrape → model → apply, daily across 9 markets (USA, UK, FR, IT, ES, DE, NL, AE, IN)

MCP toolchain & AI infrastructure

AI infrastructure

Built the team's AI-analytics infrastructure: an 11-server MCP toolchain connecting LLMs to BigQuery, GA4, Google Ads (including a custom write-enabled campaign-management server), Search Console, Matomo, Klaviyo, Sentry, Supabase, Jira/Confluence and the internal admin API, with onboarding guides that made LLM-assisted analysis a team-wide workflow rather than a personal trick.

MCP server developmentNginx
self-hosted infrateam enablement

proves: building the tools that multiply everyone else's output

GA4 tracking forensics

analytics engineering

Trustworthy automation needs trustworthy inputs. I root-caused critical GA4 tracking defects (item-level purchase revenue missing since a specific release, GTM double-firing inflating events, a dead checkout event), dated each break, and drove the fixes with Engineering; contributed to server-side tagging and consent-mode implementation across 7 regions.

GA4GTM
server-side taggingconsent moderoot-cause analysis

proves: diagnostic rigour: finding the breaks everyone else reported around

ENGINEERING STANDARDS

Three questions every system has to answer

How I judge my own work before anyone else does. Every point below is drawn from a system in the section above.

TRUSTWORTHY

Numbers that reconcile

“Would I bet a budget on this figure?”

  • Root-caused GA4 revenue defects (missing item revenue, double-fired events) instead of reporting around them
  • Warehouse metrics cross-checked against source systems before stakeholders ever see them
  • Pipeline DAGs, source mappings and calculation logic documented so numbers survive an audit

SAFE

Automation with brakes

“What's the worst thing this could write?”

  • Preview-first, human-approved writes on 10,000+ monthly campaign changes
  • SELECT-only guards, dry-run validation and byte caps on the AI agent's SQL
  • RED/AMBER/GREEN decision trees: no bid moves without a classification trail

UNATTENDED

Runs at 5AM without me

“Does it still work when I'm asleep?”

  • Cloud Run schedulers across two businesses, timed around regional trading waves
  • Scheduled BigQuery queries with a documented rescheduling plan: twice-daily refresh, deliberately sequenced
  • Execution logs and monitoring so failures announce themselves

TOOLING

What I build with

Grouped the way the work actually divides; every item here appears in a shipped system above.

DATA & CLOUD

The warehouse and the plumbing around it.

SQLBigQueryGCP (Cloud Run · Scheduler · Storage)PostgreSQLSupabasescheduled queries & DAG orchestrationETL pipelines

MARKETING ANALYTICS

The channels the automation actually drives.

Google Ads APIGA4Search ConsoleMerchant CenterMatomoKlaviyoBing AdsGTM & server-side taggingSEM / ROAS optimisation

AI / LLM ENGINEERING

LLMs put to work, with guardrails.

LangGraphRAG / retrieval-grounded agentsNL→SQLGemini·Claude·GPT APIsMCP server developmentcontext cachingprompt engineeringClaude Code·Cursor

ENGINEERING

The services that carry it all.

PythonTypeScriptFastAPI·Flask·ExpressNext.js/ReactDockerVercel·RailwayGit/GitHub

ML & STATISTICS

The modelling underneath.

scikit-learnTensorFlow/KerasBayesian inferenceMCMCpredictive modellingfeature engineeringPower BI (DAX)Looker Studio

MONITORING & RELIABILITY

Catching breaks before anyone reports them.

Sentryexecution loggingalerting & monitoringdata-quality checksscheduler health checks

RESEARCH

From gravitational waves to cosmic clocks

Before dashboards and bidding systems: two research chapters, pulsar timing at Jodrell Bank and deep-learning gravitational-wave classification, where the statistical habits under everything above were formed.

MSc BY RESEARCH · UNIVERSITY OF MANCHESTER · 2021–2023

Timing pulsars with MeerKAT & Jodrell Bank

Pulsars are rotating neutron stars whose radio beams sweep past Earth with clock-like regularity, regular enough that microsecond deviations carry physics. From 515 pulsars in the MeerTime Thousand-Pulsar-Array programme, I produced updated timing solutions for 179 of them with TEMPO2, merging data from the 76-m Lovell telescope at Jodrell Bank with the 64-dish MeerKAT interferometer and fitting the cross-instrument clock offsets explicitly.

For eight pulsars I measured spin-down-rate (ν̇) variations two independent ways: Bayesian Gaussian-process red-noise modelling sampled with emcee MCMC (32 walkers), cross-checked against fitwaves harmonic whitening, across three datasets each. The methods agree for six of eight; the Bayesian approach survives irregular sampling, and a second telescope only helps when its data is low-uncertainty.

Aitoff projection sky map showing the 515-pulsar Thousand-Pulsar-Array sample and the pulsars selected for timing analysis
Sky coverage: the TPA sample (red ×) and the pulsars selected for analysis (blue ●); thesis fig. 4.1.
Timing residuals and spin-down-rate variations of PSR J1833-0338 measured with Bayesian and fitwaves analysis across JBO, MeerKAT and combined datasets
PSR J1833-0338: ν̇ oscillating every ~200 days, resolved consistently by both methods; combining JBO + MeerKAT genuinely tightens the constraint (fig. 4.3).
code, data & thesis on GitHub →

RESEARCH INTERNSHIP · BOSE.X CENTER FOR ASTROPHYSICAL RESEARCH · 2020–2021

Classifying gravitational waves with deep learning

When massive objects merge, they ripple spacetime, and when a galaxy sits between the merger and Earth, gravitational lensing can distort the signal on its way here. My work was telling the two apart: deep-learning classifiers separating lensed from unlensed gravitational-wave signals in simulated detector data.

Python and TensorFlow end to end: preprocessing and organising the waveform time-series data for training and testing, then developing and tuning the classification models; the analysis contributed to a research manuscript.

Whitened strain time series of gravitational-wave event GW150914 in the LIGO H1 and L1 detectorsQ-transform spectrogram of gravitational-wave event GW150914 in the LIGO Hanford (H1) detectorQ-transform spectrogram of gravitational-wave event GW150914 in the LIGO Livingston (L1) detector
the chirp of two black holes colliding: whitened strain and Q-transform spectrograms of GW150914 in the LIGO Hanford (H1) and Livingston (L1) detectors.
code on GitHub →

ABOUT

From pulsars to profit margins

I'm Jaswant, a data analyst in London, originally from Chennai, with a research spine: an MSc by Research in astrophysics at Manchester, where I spent two years timing pulsars, producing timing solutions for 179 of them and running Bayesian inference and MCMC over noisy, irregularly sampled time series, where being wrong quietly wasn't an option. That habit of distrusting my own numbers until they reconcile is the most useful thing I brought into industry.

Since then: consulting analytics at 3i Infotech (process mining, SQL and Power BI for commercial teams), and now the analytics stack at Printerpix, a photo-gifting e-commerce company trading in 9 markets (USA, UK, FR, IT, ES, DE, NL, AE, IN), where I own the contribution-margin platform, co-built the SEM automation console, and put LLMs to work where they earn their keep: classification, NL→SQL, ad-copy generation, always with a human gate in front of anything that writes.

The fastest way to see how I think is the work above, or email me and I'll walk you through it.

EDUCATION
Master of Science by Research (MSc)
Astronomy & Astrophysics · University of Manchester
Bachelor of Technology (BTech)
Mechanical Engineering · Vellore Institute of Technology
FOCUS
Analytics platforms · Automation · Production LLM tooling
DOMAINS
E-commerce · Marketing analytics · Pricing · Consulting
OPEN TO
Data Analyst · Applied AI · Analytics Engineer roles
BASED IN
London, UK

CONTACT

Let's talk numbers.

Open to conversations about data analytics, analytics engineering and applied AI, or just to compare notes on making LLMs behave in production.