Taha Tarkhani

Software engineering student who builds across the stack: real-time systems, APIs and data pipelines, and the React interfaces on top.

My work spans Spring Boot services, PostgreSQL and Redis performance, Python data pipelines, and React/TypeScript front ends. Two internships at National Defence Canada, one at the National Research Council Canada. BASc Software Engineering at the University of Ottawa, graduating Dec 2027.

Open to Summer 2027 and Winter 2027 software internships and co-ops in Ottawa, Toronto and the Greater Toronto Area, or the United States.

Taha standing on shoreline rocks at sunset, pointing up at the sky over the water.

Experience

Next

Software internship or co-op

Winter 2027 and Summer 2027

National Defence Canada

Software Engineer Intern

–

  • Built a Java/Spring Boot service streaming live orbital telemetry over WebSockets to 200+ concurrent analysts, sustaining sub-150ms end-to-end latency at 500+ updates/sec.
  • Accelerated a sequential satellite-tracking feed parser using a bounded ThreadPoolExecutor and in-memory queue, reducing 12K-record batch ingestion from 6.5 minutes to 95 seconds.
  • Implemented Redis caching for high-traffic ground-station API endpoints, decreasing p99 latency from 709ms to under 100ms while offloading repeat reads from the database.
  • Shipped React/TypeScript features for Space-COP, a military space dashboard: a Portal Requests card, a multi-view fullscreen mode, and 3 reusable filter components.

National Defence Canada

Software Engineer Intern

–

  • Optimized PostgreSQL queries on satellite tracking data with composite indexes and monthly table partitioning, improving peak query execution time from 1,800ms to 210ms.
  • Automated the team’s deployments with a multi-stage GitLab CI/Docker pipeline, reducing a 25-minute manual release to 8 minutes.
  • Increased ingest-module test coverage from 18% to 62% using JUnit 5 and Testcontainers for PostgreSQL integration testing, catching coordinate-wraparound bugs before staging.

National Research Council Canada

Data Analyst Intern

–

  • Improved slow analytical joins across a PostgreSQL/MySQL research pipeline, cutting daily query execution from 42 to 8 minutes for 15+ researchers.
  • Decreased the team’s manual data-entry workload by 70% by automating research-dataset processing with Python ETL scripts.
  • Designed schema validation guards that quarantined malformed records, cutting weekly pipeline reruns by 88%.

Projects

Screenshots are from the live apps.

Lifts

2nd place, MLH Hack the Hill III · Sept 25–27, 2026 · Team of four

Hackathon teams post a blocker, another team helps in a private thread, the blocked team confirms the fix, and the helpers earn points.

  • Launched a live peer-to-peer mentoring MVP mid-hackathon, driving adoption by 45+ teams to resolve blockers before the 36-hour deadline.
  • Designed an append-only PostgreSQL/TimescaleDB ledger that records every state change, and secured private chats for 180+ users with Auth0 RBAC.

Next.js · TypeScript · PostgreSQL/TimescaleDB · Auth0

The Lifts demo board: open blockers from invented hackathon teams, each with a title, team and table, posting time, and tags such as docker and auth.
lifts-mbjt.onrender.com/demo/board

Request Tracer

Distributed tracing across microservices

Correlation-ID propagation across 4 Spring Boot services, so Gateway, Orders, and Inventory logs share one trace ID in a Log Aggregator.

  • React dashboard with live trace waterfall timelines that isolated a 1.6s cold-start anomaly.
  • The whole stack runs locally with Docker Compose.

Java · Spring Boot · React · Docker · REST APIs

The Request Tracer dashboard showing one sample trace as a waterfall: api-gateway 160ms, orders-service 149ms, inventory-service 34ms, with the log entries below.
request-tracer.vercel.app

Orbit Tracker

Live satellite positions and pass prediction

Python service tracking 30 live satellites from CelesTrak data with Skyfield SGP4, within 0.02% of known GOES-16 altitudes.

  • Pass-prediction REST API with an interactive globe built on globe.gl.
  • TLE caching cut repeat lookups from 2.4s to under 10ms.

Python · Flask · Skyfield · globe.gl · REST APIs

Orbit Tracker: a 3D Earth with satellite positions marked around it, beside a panel listing upcoming passes for a chosen latitude and longitude.
orbit-tracker-coral.vercel.app

Cost Monitor

Serverless AWS cost anomaly detection

AWS cost monitoring with a scheduled Lambda pipeline, a modified z-score anomaly detector, and a Flask dashboard.

  • Built a serverless AWS cost monitor: an EventBridge-scheduled Lambda ingests Cost Explorer data into DynamoDB daily and emails anomaly alerts through SNS under a least-privilege IAM role, with a public Vercel demo on clearly labeled synthetic data.
  • Implemented per-service anomaly detection (modified z-score on median/MAD) in pure Python, validated on synthetic ground-truth suites: 0 false positives and 0 false negatives over 38 aggregate judgments; 0.857 precision and 1.000 recall over 164 per-service ones.

Python · Flask · AWS Lambda · DynamoDB · SNS

The Cost Monitor demo dashboard on synthetic data: an amber banner labeling the data as synthetic, four detected anomalies, and a stacked daily-spend chart with a shaded band marking two days with no snapshot.
cost-monitor-liard.vercel.app · synthetic demo data

Skills

Languages
Java, Python, TypeScript, JavaScript, SQL, C++, C#, HTML/CSS
Frameworks
Spring Boot, React, Next.js, Node.js, Flask, REST APIs
Databases
PostgreSQL, MySQL, Redis, TimescaleDB, DynamoDB
Tools
Git, Docker, GitLab CI/CD, GitHub Actions, AWS (Boto3), JUnit, Testcontainers, Jest

Education

University of Ottawa

BASc Software Engineering

Expected Dec 2027

Coursework: Data Structures and Algorithms, Operating Systems, Object Oriented Programming.

Contact

I’m looking for Summer 2027 and Winter 2027 software internships and co-ops in Ottawa, Toronto and the Greater Toronto Area, or the United States. Email reaches me fastest.

Resume

Download resume PDF New tab: open resume in a new tab