Hi, I'm Joshua Hsieh

I build software that's well-engineered, product-aware, and worth using.

Check out Bluehour — a calm ambient focus app designed to live on a second monitor.
Bluehour
Featured Project

Bluehour

Fullscreen ambient focus app for a second monitor — six live scenes with canvas-rendered particle effects, optional looping audio, and a minimal timer with session history.

Second-monitor focus · Fast scene loading · No account needed

Next.js
TypeScript
Tailwind CSS
Howler.js

Why I Built It

Most focus tools are either too busy or too bare. I wanted something you could put on a second monitor that looked good and stayed out of the way.

Key Product Decisions

No accounts, no onboarding. You open it and you're in a scene. It's closer to turning on a lamp than logging into a product.

Technical Architecture

Canvas particle systems (rain, haze, dust) via requestAnimationFrame loops. Howler.js for seamless audio looping. Timer state runs through a pre-session → active ↔ paused → complete machine.

What I Optimized For

Sub-second load, no friction on first open, and a visual quality that doesn't feel like a weekend project. The look is part of how it works.

TrustGraph

TrustGraph

Behavioral intelligence platform for zero-trust access control. Models session activity across users, devices, and apps — scoring each session with a hybrid ML pipeline, propagating risk through a live force-directed graph, and surfacing explainable policy recommendations with per-signal evidence.

Turns raw session telemetry into ranked, explainable risk decisions — so analysts focus on real threats rather than borderline noise.

Next.js
TypeScript
Python
Prisma
PostgreSQL
scikit-learn
Still

Still

Private film journal built around semantic memory, not ratings. Each entry ties to a life chapter with open reflection fields. An ML resurfacing engine — drawing on pgvector embeddings, K-means clusters, and temporal signals — surfaces films back when they're most likely to mean something.

Turns a log of watched films into a living record of taste — one that resurfaces entries when they're most likely to mean something.

Next.js
FastAPI
PostgreSQL
pgvector
Python
sentence-transformers
FinanceAI

FinanceAI

Financial analysis web app with a machine learning pipeline for real-time fraud detection on transaction data. Features interactive risk dashboards, anomaly scoring, and alert systems — built with a Python/TypeScript stack and production-level architecture.

Puts the highest-risk transactions at the top — less noise to sort through before anything needs human attention.

TypeScript
Python
Supabase
R.E.R.S

R.E.R.S

Full-stack emergency response coordination platform built at SJ Hacks. Enables real-time GPS-based dispatch for first responders, role-based dashboards for dispatchers and paramedics, and live incident tracking via Mapbox — designed to reduce response times in critical situations.

Fewer manual handoffs between dispatch and first responders — one continuous view from call intake to scene arrival.

Next.js
FastAPI
PostgreSQL
Mapbox
Postcard·Android time-capsule app.
March 2026
Snug·Led a team of 6 to build a kiosk-based mental health app for college campuses.
March 2025
ToGoBot·Marketing and demo website for an autonomous food delivery robot that uses computer vision and reinforcement learning to navigate warehouse environments.
February 2024 - May 2024

How I Think

01

Design shapes how people understand things

The way something looks changes how quickly people trust it and make sense of it. I think about visual decisions the same way I think about technical ones.

02

Build fast to learn. Slow down before you ship.

Moving quickly early on shows what actually matters. Once I know what's worth keeping, I hold a higher bar before it goes in front of anyone.

03

Real depth shows in how you handle failure

Error states and edge cases reveal whether something was carefully built or just thrown together. I try to think through what breaks before it does.

04

Performance is part of the product

A slow page, a janky animation, a blocking query — users don't read error logs, but they feel every stall. I treat performance like a feature, not something to fix later.

05

The test of a feature is whether someone uses it

Not whether it was clever to build, or impressive in a demo. I try to stay honest about that distinction.

badminton, cooking, hiking, 210 wpm  —  nature, basketball, movies

Stack
Product Layer
React
Next.js
TypeScript
Tailwind CSS
React Native
Backend & Data
Node.js
Python
FastAPI
PostgreSQL
Supabase
Prisma
Infrastructure
Docker
AWS
Firebase
Git
REST APIs
Languages
Kotlin
Java
C++

Let's Talk

Looking for my next role — somewhere engineering quality, product thinking, and design all show up in the same room.