Bikram Bhattarai, data engineer in Melbourne

I build data that still adds up six months later.

Over two years writing the SQL behind recurring product reporting as a customer insights analyst, and now part way through a Master of Data Science at Swinburne. I work in SQL and Python, keep everything in Git, and check that a pipeline's numbers reconcile before anyone builds on them.

Download resume (PDF) See the work

Available now for graduate and junior data engineering roles in Melbourne, and open to data analyst roles. Australian permanent resident with full working rights.

The bigger the weight gap, the more often it is the lighter car's driver who is hurt

Two-car crashes where exactly one driver was killed or seriously injured, by the weight gap between the cars.

  • Up to 100 kg Lighter car's driver 52% Heavier car's driver 48%
  • 100 to 300 kg Lighter car's driver 60% Heavier car's driver 40%
  • 300 to 500 kg Lighter car's driver 69% Heavier car's driver 31%
  • 500 to 800 kg Lighter car's driver 77% Heavier car's driver 23%
  • Over 800 kg Lighter car's driver 86% Heavier car's driver 14%

Victoria, 2012 to September 2024. 12,231 crashes with one driver hurt. Read the case study

Selected work

All projects

Domain adaptive sentiment analysis

Six person team project, Swinburne, 2026. My role: data engineer.

A sentiment model that had to work across two very different kinds of writing: casual Reddit comments and formal financial reporting. I owned the data side: pulling in GoEmotions and the Financial PhraseBank, writing the cleaning and standardisation steps so both corpora came out in a consistent shape, and producing the train, validation and test splits the modelling work ran on.

Tools Python, pandas, Hugging Face, BERT

One pipeline for two kinds of writing
  1. Two sourcesReddit comments (GoEmotions) and financial news sentences (Financial PhraseBank)
  2. One cleaning pipelineBoth corpora come out in the same shape
  3. Train, validation and test splitsFixed before any modelling started
  4. BERT fine-tuningMetrics shown in a Streamlit dashboard

OSHC When It Matters

Team project, Swinburne (COS70008), 2026. Industry partner: Medibank. My part: extraction, arithmetic and evaluation.

A learning prototype that helps international students make sense of their Overseas Student Health Cover: short sourced lessons, practical steps for finding care, a bill explainer that works on synthetic invoices, and a guarded chat. The chat was the hard part. Every answer goes through an input review, a grounded draft and an output audit, and its citations are checked against the source PDF.

Tools Python, Streamlit, Claude Haiku (Anthropic API), pytest

No answer is released until it passes three checks
  1. Student asks a questionPersonal details are screened out
  2. Input review
  3. Grounded draftWritten from the source guide
  4. Output auditCitations checked against the source PDF
  5. Cited answer released

If any step fails, the student gets a fixed abstention, not a guess.

Vehicle weight and driver injury in two-car crashes

Team of two, Swinburne (COS80023 Big Data), 2026. My part: building the data, the models and the figures.

When two cars collide, how much does weight decide which driver is killed or seriously injured? We compared the two drivers inside each of 57,217 Victorian crashes, so the road, the weather and the speed limit cancel out. After adjusting for driver age and sex, vehicle age, seatbelt use and point of impact, each 10% of extra weight went with about 20% lower odds for that car's driver.

Tools R, survival (conditional logistic regression), dplyr, ggplot2

If the other car is 50% heavier, your odds are 2.6 times that driver's

Odds of being killed or seriously injured for the lighter car's driver, compared with the driver of the heavier car.

Fitted from 57,217 Victorian crashes, adjusted for driver age and sex, vehicle age, seatbelt use and point of impact.

More work

ProjectWhat it showsTools
Bank loan portfolio dashboard Headline lending KPIs written in SQL Server, shown in three linked Tableau dashboards and checked back against the SQL. MS SQL Server, Tableau
Electric vehicle population analysis Washington State EV registrations, cleaned in Python and explained in Tableau for a non technical audience. Python, pandas, matplotlib, seaborn, Tableau
Company bankruptcy prediction 64 financial ratios and very few failures. SMOTE and cost sensitive learning, judged on recall and ROC AUC. Python, scikit-learn, imbalanced-learn
Australian beach and water locations Open data on beach amenities and regional climate, combined, cleaned and written up as a rerunnable notebook. Python, pandas, Jupyter, open data
Tableau practice dashboards An HR dashboard and a sales dashboard, built to get the basics right. Tableau
EchoSphere A full-stack PHP and MySQL store with server-side validation and an order dashboard. PHP, MySQL

Articles

All articles
  • What 57,217 crashes say about car weight

    When two cars collide in Victoria, the driver of the lighter one is hurt twice as often. Notes from a semester with the state's crash data, including three things the data corrected me on.

  • The file in my own project I am not allowed to read

    On a team prototype about health cover for international students, the most useful rules were about what each of us must not see and what the software must refuse to say.

  • The 98.9% score that was a bug

    One of our sentiment models scored 98.9% when every other model sat near 85%. Notes from the data side of a team project, where the best result we had was the one we threw away.

Bikram Bhattarai

My background is half commercial and half technical. I studied marketing and business analytics, then spent my working years on the data side of reporting: SQL pulls, recurring KPI reports and the dashboards that product and marketing managers relied on. The part I liked most was the data underneath the reports, so that is where I am heading.

The work I enjoy most is the unglamorous part: getting a messy extract into shape, agreeing what a metric actually means, and then putting it in front of someone in a form they can use. I care about clean assumptions, fixed splits and figures that reconcile back to their source.

Get in touch

Email is quickest. I usually reply the same day.

vikrambhattarai1994@gmail.com
Location
Melbourne, Victoria. Open to onsite, hybrid and remote.
Working rights
Australian permanent resident. Full working rights, no sponsorship required.
Availability
Available now, full-time or part-time.