4 apps live in production — all designed, built & hosted by me

I turn ideas into real products people actually use.

Full-stack developer. I design the interface, model the data, write the APIs, and run the servers. My client work stays under wraps — so here's what I build for myself.

0
live web apps
0
games shipped on Steam & itch.io
0%
self-hosted on my own servers
  • C# / .NET 10
  • Blazor
  • Flutter Web
  • Next.js
  • EF Core
  • SQLite
  • MySQL
  • REST APIs
  • Chart.js
  • ONNX
  • PWA
  • Web Push
  • Docker
  • Caddy
  • Ubuntu
  • Tailwind
  • MudBlazor
  • Bootstrap 5
  • Unreal Engine
  • Steamworks
  • WebGL

Selected work

Six projects. Zero templates.

Four web apps that are live, in daily use and built from the database up, plus two games made with a friend. Click through each guided tour. Every screen is a real capture.

01

Bilingual NHL fan dashboard

Hockey Fan Board

hockeyfanboard.com

All the NHL action in one place — live scores, goal scorers, standings and stats, with personal alerts the moment your team scores.

Follow live games and goal details, upcoming games, recent results, playoff series, division standings and player statistics. Dive into team and player histories, chat live on every page, and get goal and game-result alerts by email or Web Push. Fully bilingual and installable on your home screen.

  • Flutter Web
  • PWA
  • Web Push
  • Email alerts
  • Live chat
  • EN / FR
hockeyfanboard.com
Live NHL games with scores and recent goal scorers Expanded game result listing every goal Montréal Canadiens team dashboard themed in team colours Team recent games and roster statistics Connor McDavid career statistics page NHL standings by division League leaders: top skaters and goalies Account creation to set up team alerts The dashboard displayed in French
Hockey Fan Board on mobile
02

Collection & time-tracking platform

HomeApp

jshome.men

A personal library for books, manga, video games and consoles — with barcode lookup, AI-assisted data cleanup, and a built-in punch clock.

Scan an ISBN or barcode and the item arrives with metadata and cover art. A public, searchable collection with detailed item pages, missing-volume tracking across languages and editions, upcoming games and a wishlist — plus punch-in/out time logs with work-hour reports. Secure admin with persistent login and hashed passwords.

  • C# Blazor
  • MudBlazor
  • MySQL
  • Docker
  • Ubuntu
jshome.men
Collection table with filters and cover thumbnails Manga item detail page with cover art Normalized book data with contributors and confidence Punch in / punch out screen
HomeApp collection on a phone
03

Private, mobile-first progress dashboard

WeightTracker

weight.jshome.men

Plots your real progress against your own goal lines — with a camera that reads your scale for you.

Log a daily weight against a checklist of your own habits, then watch your actual weight, a 7-day average and your personal goal lines on one interactive chart. Every account is fully private, and it installs on your phone like a native app.

  • ASP.NET Core 10
  • Blazor Server
  • EF Core + SQLite
  • Chart.js
  • ONNX
  • PWA
  • Caddy
weight.jshome.men
ProgressLast 60 days
  • Weight
  • 7-day avg
  • Goal ramp
  • Custom plan
184.6lb
Read 184.6 lb
Use readingEnter manually

Point. Read. Done.

A server-side ONNX digit-recognition model reads the scale display from a phone photo. When confidence is low it asks you instead of guessing — manual entry is always one tap away.

TodayMonday · Oct 5
184.6 lb
  • Calorie goal
  • Dog walk
  • Boxing
  • Gym
  • 8 glasses of water
Note: great session, slept 8h.

Your habits, your rules.

Each weigh-in is logged against a checklist you design. Add, rename and reorder items, write a daily note, then review any day in the full history.

Total change−13.8 lbsince Aug 7
Weekly average−1.6 lbon track
Current streak23 daysbest: 31
Weigh-ins58of 60 days
Habit completion
Calorie goal86%
Dog walk94%
Gym61%
Boxing38%
WeightTracker account creation screen
WeightTracker sign-in on mobile
Illustration — dashboards are private to each account
04

Manga-inspired collectible card game Work in progress

MangaTCG

manga-tcg.com

Open boosters, complete series, and trade, buy or auction cards — in a world built from real manga volumes.

Players open boosters, build collections and track series completion, then trade, buy or auction cards. It features crafting, wishlists, an in-game economy, and an automated manga catalog with artwork and source verification. Catalog expansion, artwork review and gameplay balancing are ongoing.

  • Next.js
  • React
  • Tailwind CSS
  • Caddy
  • Docker
manga-tcg.com
MangaTCG landing page: Every volume has a story

Booster opened · 10 cards · 1 ultra rare

剣
Blade of Dawn12 / 12 · Complete
星
Starfall Academy9 / 14
炎
Ember Hearts5 / 10 · 2 craftable
夢
Dream Circuit3 / 18 · on wishlist
龍
Vol. 07 · URAuctionEnds in 2h 14m1 240 ◆
月
Vol. 03 · SRBuy now3 sellers320 ◆
魂
Vol. 11 · RTrade offerfor 2 × Vol. 04⇄
MangaTCG preview sign-up
Illustration — gameplay screens are behind sign-in
MangaTCG on mobile

Beyond the web · Studio Vorago

I also ship games.

With a friend, I run Studio Vorago — a two-person indie studio. We released a horror game on Steam, and fit a full 3D Unreal Engine game into a web browser in two weeks.

05

Survival horror · Released on Steam 2.0 in consideration

Apartment 606

View on Steam

A new night shift, working from home. But this apartment harbours dark secrets. Can you survive all five nights?

A horror and management game where surviving takes more than hiding: you also have to finish your work on the computer to keep your job. Each night brings new threats, cinematic story sequences slowly reveal the mystery, and your choices lead to multiple endings. It all takes place inside the apartment. A complete game built in Unreal Engine 5, made as a duo and released by Studio Vorago.

  • Unreal Engine 5
  • PC · Steam
  • Steamworks
  • 18 achievements
  • Steam Cloud
  • Multiple endings
  • Free demo
Apartment 606 · Steam
The dimly lit apartment where the game takes place The work computer on the desk In-game retro desktop with email, file transfer and captcha tasks Holding a candle in front of a camera monitor showing REC The apartment in near darkness after the lights go out The apartment building at night
Apartment 606 key art
06

3D alchemy puzzle · Game jam Built in 2 weeks

The Shadowveil: Last Bastion

Play in your browser

Our challenge: build a full 3D Unreal Engine game in two weeks, and make it run in a web browser.

Made for the Pirate Software Game Jam 15 (2,345 entries, theme “Shadows and Alchemy”), and only our second jam ever. You play an apprentice to the Ethereal Engineers, mixing elements to conjure the flames, light and electricity that hold back the encroaching shadows. To fit itch.io’s 200 MB browser limit, we cut the asset set down hard and still kept it fully 3D.

  • Unreal Engine
  • HTML5 / WebGL
  • Browser build ≤ 200 MB
  • Game design doc
  • Duo
voragostudio.itch.io
Main menu over the alchemist's table Riddle: This day, the Shadow wears its Orange at a pace most customary An orange burst of light after combining elements Red shadow creeping in behind the table The Shadowveil: Last Bastion cover art

“Clever use of combining elements to create colors to repel shadows.”

— Jam judge feedback

How I work

From blank page to production URL.

01

Product & UX

Mobile-first interfaces that respect daily habits: fast entry, clear charts, zero clutter.

02

Data & APIs

Clean layered architectures, EF Core models, REST APIs, per-user isolation and import/export.

03

Smart features

On-device digit recognition, AI-reviewed data normalization, live sports feeds and push alerts.

04

Ship & run

Dockerized apps on my own Ubuntu servers, HTTPS via Caddy, one-command deploys from GitHub.

git pushGitHubDocker buildUbuntuCaddy · HTTPSLive

Contact

Have something worth building?

Questions about these projects, a collaboration, or a role? My inbox is open.

js@builtbyjs.ca