Hey, I’m

Eric Bian

Machine learning & wireless communications

I build software at Versa
and research machine learning at UBC.

I work on intelligent search and machine learning for wireless communications. Currently pursuing an MASc at UBC, after Computer Engineering at Waterloo.

I liketrading 📈
See my work

VANCOUVER, CANADA

Go on, give it a spin.SPACE TO PULSE
A rotating wireframe cube. Choose a form below, then drag to turn it.
Drag to rotate

A bit about me.

I’m Eric, a software developer and graduate researcher based in Vancouver. I like turning ideas into things people can use, and exploring how machine learning helps us make sense of information.

Outside work, you’ll find me skiing, playing basketball, lifting weights, following the markets, or finding something good to eat.

EXPERIENCE 2021 — PRESENT

Work experience.

SELECT A COMPANY

ROLE 01CURRENT

Versa Networks

Software Developer

WHEN
Jan 2023–Present
WHERE
Santa Clara, CA · Remote

ENTERPRISE SOFTWARE / APPLIED AI

Web development & applied AI.

I build multilingual web experiences at Versa Networks, connecting enterprise content with the people looking for it.

  • Search with context. Built AI-powered search with Vertex AI, Gemini, and RAG, connected through custom WordPress REST APIs and language-specific filtering.
  • From Figma to the frontend. Led the corporate website rebrand implementation with reusable Bootstrap components and interactive graphics.
  • A shared foundation. Built a React component library in Storybook and localized content experiences with WPML and Weglot.
01 Co-opJAN–APR 202302 Part-time contractMAY–DEC 202303 Full-time contractJAN 2024–PRESENT
TOOLS
ReactVertex AIGeminiWordPressBootstrapStorybook
ROLE 02TEAM EXPERIENCE

WATonomous

Software Developer

WHEN
Feb–Jul 2023
WHERE
Waterloo, ON · On-site

SOFTWARE DEVELOPMENT / WATERLOO

Software development at WATonomous.

I worked as a Software Developer with the WATonomous team from February to July 2023, alongside my Computer Engineering studies at the University of Waterloo.

ROLE 03CO-OP

MCAP

Software Engineer

WHEN
May–Aug 2022
WHERE
Waterloo, ON

FINANCIAL SOFTWARE / BACKEND ENGINEERING

Mortgage services & message processing.

I built backend services for a mortgage-origination platform, working on the integrations and message processing that keep the application moving.

  • Connected services. Integrated REST APIs and WCF services into the mortgage application.
  • More efficient processing. Restructured RabbitMQ microservice workers.
  • Repeatable checks. Automated end-to-end tests with Selenium and set up CI/CD pipelines in Azure DevOps.
150%

Improvement in processing efficiency
from restructuring microservice workers.

TOOLS
RabbitMQREST APIsWCFAzure DevOpsSelenium
ROLE 04CO-OP

Dell Technologies

5G L1 Software Developer

WHEN
Aug–Dec 2021
WHERE
Ottawa, ON · Remote

WIRELESS COMMUNICATION / LOW-LEVEL SOFTWARE

5G Layer 1 & low-latency software.

At Dell, I developed software for a 5G NR Layer 1 stack, working on O-RAN High PHY at the distributed unit.

  • Low-latency algorithms. Developed and optimized C/C++ signal-processing code across the L1 stack.
  • Less manual analysis. Built Python tools with Pandas and NumPy to automate uplink and downlink test-result analysis.
THE WORK, AT A GLANCE

5G NR → High PHY → C/C++

TOOLS
C/C++Python5G NRO-RANPandasNumPy
ROLE 05CO-OP

Sky View Suites

Full Stack Engineer

WHEN
Jan–Apr 2021
WHERE
Toronto, ON · Hybrid

FULL STACK DEVELOPMENT / ADMINISTRATION

A full stack administration system.

At Sky View Suites, I implemented an administration system with TypeScript and NestJS.

  • The application layer. Built the administration system using TypeScript and NestJS.
  • The data layer. Used Sequelize with MySQL to store unit and client information.
THE STACK, CONNECTED

TypeScript → NestJS → MySQL

TOOLS
TypeScriptNestJSSequelizeMySQL

EDUCATION

Education.

SEP 2025–PRESENTIN PROGRESS

University of British Columbia

MASc, Electrical & Computer Engineering

Supervised by Prof. Vincent Wong
Vancouver, British Columbia

2020–APR 2025GRADUATED

University of Waterloo

BASc, Computer Engineering

Communications & Signal Processing
With Distinction · GPA 3.7/4.0

President’s Scholarship of Distinction

RESEARCH

Research experience.

SEP 2025–PRESENTVANCOUVER, BC

Graduate Researcher

University of British Columbia

CURRENT FOCUS

Token communication
for 6G networks.

Under Prof. Vincent Wong, I research how discrete tokens travel over noisy, time-varying wireless channels.

  • 01
    Reconstruct missing information.

    Transformer-based sequence models in PyTorch recover missing or corrupted tokens from context.

  • 02
    Model the wireless channel.

    Stochastic processes and probabilistic models describe uncertain channel behaviour.

  • 03
    Evaluate resource allocation.

    Constrained optimization, large-scale Monte Carlo simulation, and statistical analysis test candidate policies.

PyTorchPythonTransformersNumPyMonte CarloOptimization
Try the channel demo ↗

SELECTED WORK

Things I’ve built
& questions I’m exploring.

UBC / GRADUATE RESEARCH

Token communication for 6G: learning to reconstruct missing information over noisy, time-varying wireless channels.

PYTORCH · TRANSFORMERS · MONTE CARLO
03

MCAP / DELL / SKY VIEW SUITES

Under the hood.

Message queues, mortgage services, 5G signal processing, and full stack systems.

A LITTLE EXPERIMENT / 6G & BEYOND

Make some noise.
Find the meaning.

A hands-on sketch of the question
behind my wireless research.

01 / YOU CONTROL THE CHANNEL

Can your message
make it through?

Send a thought into the noise.
See what survives the journey.

35%
CLEARCHAOTIC
WORDS ARRIVED5 / 7

A few pieces are missing. Is the meaning still there?

THE JOURNEY / PREVIEW
01 / SENT
Alittlecuriositygoesalongway.
02 / RECEIVED2 WORDS LOST
Alittle·········goesa····way.
03 / A LITTLE CONTEXT

Can you fill in the missing pieces?

Try reading the received message before you reveal it.

An illustrative demo. Noise sets each word’s chance of loss. The context reveal uses the original sentence; no trained model is running here.

TOOLKIT

The tools behind
the work.

Pick a workspace to see
where I use each tool.

VERSA NETWORKS / WEB & APPLIED AI
IN PRACTICE

From design to reusable components.

I translated Figma designs into Bootstrap components for Versa’s website rebrand and built a React component library in Storybook.

Browse the full toolbox

Languages Python · C/C++ · Java · TypeScript · JavaScript · SQL

Development React · Django · Spring Boot · NestJS · RabbitMQ

Research PyTorch · TensorFlow · NumPy · Pandas · Monte Carlo

INSIDE A NEURAL NETWORK

What does a
network see?

Give it an 8 × 8 drawing. See which neurons activate and how the output changes. Then open it up and try your own.

LIVE FORWARD PASS
Reading pixels…

64 → 12 → 8 → 6 → 3 · Real model activations

PROBABILITY / AN INTERACTIVE NOTEBOOK

From signals
to markets.

I work with probability, stochastic processes, and Monte Carlo simulation in my research. Here’s how I explore the same ideas in markets.

Change an assumption. Watch the paths move. See what happens to an option’s price.

Top 10% finish

CME Group Trading Challenge · 2022

THE QUESTION

What does
uncertainty cost?

Start with a $100 stock.
Choose the world around it.

The right to buy at the strike price.

STEADYWILD

Sliders reuse the same random draws so you can compare assumptions.

GEOMETRIC BROWNIAN MOTION

One starting point. Many possibilities.
DRAW 01
Simulated stock-price pathsForty paths under a risk-neutral geometric Brownian motion model. Controls change volatility, time, and strike price.
40 simulated paths10th–90th percentile bandStrike

Risk-neutral pricing scenarios, not a forecast. The vertical scale adjusts to the paths.

BLACK–SCHOLES—Formula · price per share
MONTE CARLO—8,192 sampled outcomes
SIMULATION UNCERTAINTY—Approx. 95% interval for the estimate
Delta—Price change per $1 stock move
Vega—Price change per +1 volatility point
Finishes in the money—Risk-neutral model probability

THE CONNECTION

Different systems. A shared mathematical language.

Wireless channels and stock prices evolve under uncertainty. Stochastic processes give us a way to describe that uncertainty; the assumptions differ between the two systems.

dS = rS dt + σS dW

Open the model notes

How the prices are calculated

Each path follows geometric Brownian motion. For pricing, the drift is the risk-free rate r, rather than a forecast return.

Sₜ = S₀ exp[(r − σ²/2)t + σ√t Z],   Z ∼ N(0, 1)

Monte Carlo averages 8,192 discounted expiration payoffs. The interval describes sampling error in that estimate, not a range for future returns. Some samples will fall outside it.

Call = e⁻ʳᵀ E[max(Sₜ − K, 0)]
Put = e⁻ʳᵀ E[max(K − Sₜ, 0)]

The assumptions

European exercise at expiration; S₀ = $100; constant annual risk-free rate r = 4%; no dividends; constant volatility; calendar days / 365; no fees. All quoted option values are per share.

Black–Scholes prices the same model analytically. Delta and vega are local sensitivities, not guarantees of a finite price move. Real markets can jump and volatility can change.

Further reading: MIT · Stochastic calculus & option pricing ↗OIC · Black–Scholes ↗

Educational model · $100 starting stock · 4% annual rate · no dividends · European options · hypothetical prices

A DIFFERENT QUESTION

Where does
the payoff go?

Pricing asks what an option costs today. A payoff diagram asks what a position earns or loses at expiration.

Compare holding stock with selling a covered call. Move the final stock price to see the premium cushion and the upside cap.

This is a separate, fixed example: $100 purchase price, $110 strike, and $3 premium. It does not use the pricing model’s inputs.

PAYOFF PLAYGROUNDILLUSTRATIVE
P/L AT EXPIRATION · 100 SHARES+$800

The premium adds $300. Gains above the $110 strike are capped.

Illustrative covered call profit and loss at expirationCompare owning 100 shares bought at $100 with selling a $110 call for a $3 premium per share. Use the price slider below to explore. +$4k$0−$4k$60$80$100$120$140STRIKE $110
COVERED CALL STOCK ONLYDRAG TO EXPLORE ↔
THE SETUP

100 shares bought at $100. Covered call: sell one $110 call for $3/share. At expiration, before fees, taxes, or dividends.

Hypothetical numbers, not portfolio returns. Strategy mechanics ↗

NEURAL NETWORK / LIVE FORWARD PASS

Follow the signal.

Draw a shape. Trace every decision.

64 → 12 → 8 → 6 → 3959 learned parameters

01 / MAKE AN INPUT

8 × 8 pixels

Drag to draw or erase. Keyboard: arrows to move, Space to toggle.

Chance of flipping each pixel on its way into the network.

02 / FOLLOW THE SIGNAL

READY
Positive weightNegative weight
Click a neuron · Scroll to explore ↔

03 / MODEL CHOICE

Waiting…
Circle—
Cross—
Wave—
Weighted sum + bias
—
Activation · tanh(z)
—
Bias
—

Select a neuron to see its completed calculation.

A small network trained on synthetic circles, crosses, and waves. The animation slows down a real forward pass; weights stay fixed. Scores compare these three classes, even for an unfamiliar drawing.

How neurons work ↗