Software Engineer

Hasrat
Singh Chauhan

I read Dostoevsky and write Rust — engineer by training, somewhere between the proof and the poem. Ambitious by nature. Precise by necessity.

R. Sutton, in person — "In reinforcement learning, we care about the algorithms more." On whether the Bitter Lesson applies to RL · UAlberta Guest Lecture

ME? here.

Third-year Computing Science and Mathematics student at the University of Alberta. I build things from scratch — distributed databases in Rust, container orchestrators, ML pipelines, geopolitical intelligence engines — because understanding how something actually works is more interesting than knowing how to use it.

I want to get into research. The questions that pull me are at the intersection of reinforcement learning, neuroscience, and systems — how intelligence emerges from simple update rules, why some algorithms generalise and others don't, what it means to build something that genuinely learns. I've implemented the full RL family from scratch in PyTorch not because I had to, but because I wanted to see it work.

Outside of code I read Dostoevsky, Woolf, Bulgakov, Atwood, Cummings. I think about macroeconomics and geopolitics — which is why I built DISPATCH., a real-time sentiment engine for world news. I volunteer with seniors and children. I believe the most important systems are the ones that connect people, not just data.

"If you show up every day, results won't have a choice."

— Hasrat Singh Chauhan

Currently
  • BSc Computing Science & Mathematics, UAlberta
  • Building distributed systems in Rust
  • Reading The Brothers Karamazov — Dostoevsky
  • Seeking Fall 2026 internship
Outside of code
  • Macroeconomics & geopolitics
  • 20th century literature
  • Neuroscience of learning & memory
  • Volunteering with seniors & children
Find me
hasratsi@ualberta.ca github.com/hasratsi-del linkedin.com/in/hasrat-chauhan

Where logic
becomes motion

Each project warps the fabric by its mass.

spacetime · hasrat's projects · drag to rotate · scroll to zoom
↗ live demo
Intelligence · NLP · D3.js
DISPATCH.
DISPATCH.
Global Sentiment Engine · Live
Real-time geopolitical intelligence engine. Ingests live global news, scores sentiment using TextBlob NLP, aggregates by country, renders on an interactive D3.js world map. Three modes — Sentiment, Heat, Volume. Rotating Three.js globe with live data points.
Phase 1 · Local
Flask · localhost:5000
↗ DISPATCH. repo
Phase 2 · Railway
Always-on · Global access
↗ dispatch-backend repo
Python · Flask · TextBlob · NewsAPI · D3.js · Three.js · Railway · Netlify
↗ github
Container Orchestration · Rust
petite-k8s
A Kubernetes-inspired container orchestration daemon: topology-isolated Docker subnets, nginx-based cross-subnet proxy, environment-variable service discovery, RPS-driven autoscaling, self-healing reconciliation loop, and — original addition — a live web dashboard showing pod health, IPs, and uptime in real time.
Rust · Tokio · Bollard · Docker API · Axum · nginx
Mobile · Android
Event Lottery App
Android app for large-scale event registration with a lottery system. Organizers create events with capacity limits; attendees join waitlists; a fair draw selects winners. Real-time notifications via SignalR, geolocation gating, AI-powered content moderation via Claude API, QR code check-in.
Java · Android Studio · ASP.NET Core · SignalR · Firebase · Claude API
Machine Learning · RL
Reinforcement Learning Suite
Ground-up implementations of SARSA, Q-Learning, Policy Gradients, and DQN — no RL libraries, no wrappers. Built after working through Sutton & Barto's textbook and corresponding directly with Richard Sutton on questions about TD learning foundations and Klopf's hedonistic neuron model.
Python · PyTorch · NumPy · OpenAI Gym
NLP · Data Engineering
NLP News Analytics Pipeline
Ingestion and analysis of 100,000+ news articles. Named entity recognition, sentiment scoring, topic clustering, temporal trend detection. Built a parallel ingestion pipeline to handle throughput; stored results in MongoDB with indexed query patterns for sub-100ms retrieval.
Python · spaCy · MongoDB · Pandas · NLTK
Aerospace · ML
On-Orbit Collision Predictor
ML system for predicting proximity events between satellites using TLE orbital data. REST API serving live conjunction probability estimates. D3.js orbital visualization. PostgreSQL for historical event storage with PostGIS spatial queries.
Python · PostgreSQL · PostGIS · D3.js · REST
Systems · Low-Level
WebAssembly Disassembler
A disassembler for WASM binaries targeting RISC-V: parses raw bytecode, decodes LEB128 variable-length integers, resolves opcode tables, and reconstructs human-readable assembly. Built entirely from spec, no existing parser libraries.
Python · RISC-V ISA · LEB128 · Binary parsing
↗ github
Robotics · Real-Time
Space Exploration Alberta — Telemetry Dashboard
Real-time telemetry dashboard for a competitive robotics team. C#/.NET backend receiving live sensor data from the rover; React + D3.js frontend rendering graphs and system status in real time. Infrastructure for autonomous navigation command dispatch.
C# · .NET · React · D3.js · WebSockets

Richard Sutton recommended The Hedonistic Neuron when I asked what inspired him as a psychology undergraduate before he invented temporal difference learning. That question led here. Reading is how I think.

If you show up every day, results won't have a choice.
— HASRAT SINGH CHAUHAN
Currently & Recently Reading
Economics & Geopolitics
I think about systems. Markets, states, supply chains — they're all distributed systems with adversarial agents and no global coordinator. Same problem, different substrate.
Literature
Woolf, Dostoevsky, Atwood, Bulgakov. I read fiction to understand how writers handle interiority — the thing computers are worst at. Mrs Dalloway as stream-of-consciousness was the original latency-free concurrent process.
Volunteering
I volunteer regularly with senior citizens and children's programs in Edmonton. Something about working with people at the edges of time — very old and very young — keeps the rest of it in proportion.

Papers I've read and think about. Click to expand a note — I'm adding synopses as I write them.

AI & Machine Learning — Google / DeepMind
Attention Is All You Need
Vaswani et al. · Google Brain · 2017
+ expand
The paper that ended the RNN era. The transformer architecture — self-attention across full sequence positions — replaced recurrence entirely. The insight that position in a sequence and semantic relationship could be computed in parallel, not sequentially, changed the economics of what was trainable. Everything since — BERT, GPT, every LLM — is a transformer variant.
Mastering the Game of Go with Deep Neural Networks and Tree Search (AlphaGo)
Silver et al. · DeepMind · Nature 2016
+ expand
// Synopsis coming soon
AI & Machine Learning — Meta AI
LLaMA: Open and Efficient Foundation Language Models
Touvron et al. · Meta AI · 2023
+ expand
Meta's argument that efficient open models can match closed ones. LLaMA demonstrated that careful data curation and training compute allocation mattered more than raw parameter count — a 7B model trained longer could outperform a 13B model trained briefly. It started the open-weights era.
Segment Anything (SAM)
Kirillov et al. · Meta AI · 2023
+ expand
// Synopsis coming soon
Reinforcement Learning
Learning to summarize from human feedback (RLHF)
Stiennon et al. · OpenAI · 2020
+ expand
The paper that made RLHF mainstream. The key move: train a reward model to approximate human preferences, then use PPO to optimise the language model against that reward. The reward model is a proxy — it can be gamed — which is the central unsolved tension of modern alignment. Sutton's frameworks applied to making text that people like.
Proximal Policy Optimization Algorithms
Schulman et al. · OpenAI · 2017
+ expand
// Synopsis coming soon
Systems & Distributed Computing
In Search of an Understandable Consensus Algorithm (Raft)
Ongaro & Ousterhout · Stanford · USENIX 2014
+ expand
The paper behind raft-kv. Ongaro and Ousterhout's argument was that Paxos — the dominant consensus algorithm — was correct but impossible to teach or implement without subtle bugs. Raft decomposed the problem: leader election first, then log replication, then safety. I implemented both primitives from scratch. The term number as a logical clock is the elegance of the design — stale messages self-identify and get rejected.
Cooperating Sequential Processes
Dijkstra · Eindhoven University · 1965
+ expand
Dijkstra's semaphore paper. The first formal treatment of the mutual exclusion problem — how do multiple processes share a resource without corrupting each other? Semaphores (P and V operations) were the answer. The Mutex in raft-kv's KvStore is a direct descendant of this paper. Every Arc<Mutex<T>> I wrote traces back here.
FreeRTOS: Real-Time Operating System for Microcontrollers
Barry · Real Time Engineers Ltd. · 2003–present
+ expand
// Synopsis coming soon — relevant to Arduino / embedded work
Currently coooookinnnggg
To get a real taste go to the Work section
And to see my inspiration ground go to (0, INF] where things form and take off in my brain.
🧾
Product · Full Stack
building
Paavti
Receipt intelligence layer. Chrome extension, wallet-ting detection via PassKit, barcode scanner, and a return-window reminder engine. The psychological unlock is the stamp card mechanic. Web dashboard, Stripe billing outside the App Store, iOS companion for notifications only.
SwiftNext.jsChrome MV3SupabaseStripePassKit
+ expand
📡
Distributed Systems · Networking
coming soon
MeshSOS
🧠
Machine Learning · Hardware
experimenting
Brain-Computer Interface
A non-invasive BCI that translates raw EEG signals into control inputs using a custom signal-processing pipeline and a lightweight neural classifier. Lets a user control a cursor with measurable accuracy using only thought, with no hardware beyond a consumer-grade headset.
PythonNumPySciPyPyTorchEEG
+ expand