Alex Giang · UCLA Computer Science

Hi, I’m Alex.

I study computer science at UCLA and build projects around security, web systems, deployment infrastructure, and machine learning evaluation.

Recent work includes llm-password, a pattern-aware password-estimation experiment; AlmostBear, a deployed full-stack PWA; and Operand, a real-time multiplayer arithmetic game.

Selected work

Projects

Short project summaries, with the implementation decisions and project context that do not fit on a resume.

02

Team web application · live deployment

AlmostBear

Visit almostbear.uk

A location-aware recommendation PWA built with React/TypeScript, Node/Express, and PostgreSQL. It includes recommendation history, Leaflet-based geolocation, offline caching with queued writes, server-sent notifications, and a Gemini fallback. The application also uses password-strength checks at account-setting points.

My scope

I focused on containerization, runtime debugging, Kubernetes configuration, HTTPS/domain setup, and the CI/CD path. The recommendation UI, login behavior, PWA interaction design, and application features were team work with separate owners.

Deployment architecture

Two application replicas run on Google Kubernetes Engine behind HTTPS ingress. PostgreSQL runs as a stateful workload. Health probes, resource limits, secure cookies, and a managed certificate are part of the deployed configuration rather than a diagram-only plan.

Release path

GitHub Actions builds and tests the image, pushes it to Artifact Registry, and deploys it to GKE. I also demonstrated pod replacement, rollout status, and manual scaling from one replica back to two.

What broke first

The deployment work included ordinary failure modes that are easy to skip in a class demo: a PostgreSQL volume-path issue caused by lost+found, an application-to-database connection failure, certificate visibility/DNS delays, and container/runtime differences between local WSL development and the deployed environment.

The final system was useful because it was deployed and observable, not because every infrastructure component was individually exotic.

03

Real-time browser game · Fly.io

Operand

Visit operand.uk

A two-player, timed arithmetic race with shared invite-link rooms. Players solve arithmetic rounds over 120 seconds; a weighted wheel changes the round state based on who is leading, so the game has pressure and comeback opportunities instead of being a pure speed contest.

Why it exists

I wanted a mental-math game that remained interesting after one player gets ahead. The wheel mechanic creates a risk/reward event rather than just adding harder arithmetic.

Live-system part

The meaningful unit is a room with two players, a shared timer, shared state, and an invite path that another person can actually use. The application is deployed on Fly.io.

Experience and credentials

Other work

Scale AI

Machine Learning Intern

Evaluated model outputs and reviewed mathematical reasoning, programming solutions, and training-task quality. I moved from contributor to trusted reviewer across three projects: open-form math writing, AIME-specific math writing, and competitive-programming solution review involving AtCoder/Codeforces-style problems.

Employee of the Month · December 2025

Credential

AWS Certified Solutions Architect – Associate

The certification is useful context for how I think about deployment choices, but the project pages are the stronger evidence: containers, managed services, networking, persistence, health checks, TLS, and operational failure modes.

Competitive programming

Algorithmic problem solving

I qualified through the UCLA ICPC tryout and use competitive programming as a way to keep proof, implementation, edge cases, and time complexity in the same mental loop. My public handle is Phosfox.

Password lab

How would I get through my own password checkers?

The generator below chooses four short, familiar chunks independently, then attaches three random digits using one of several punctuation styles. The result is meant to be easy to rehearse as a strange little sequence, not a sentence.

It runs entirely in your browser. Nothing you generate is sent to this site. The format is designed for manual entry on ordinary accounts; use a password-manager-generated password for your password manager, primary email, financial accounts, cloud root/admin accounts, and other high-consequence logins.

4independent word chunks
10number attachment styles
~47nominal selection bits
Generating…

Practice view shows the chunk boundaries. In the copied password, the word chunks are joined directly; the number attachment may include punctuation.