Manraj RandhawaFull-stack engineer · Malaysia

Azushi

An Apple TV–style client for Jellyfin 12, shipped as a single server plugin. Nothing to install on any screen in the house.

What
Jellyfin plugin
Built with
TypeScript, Preact, C# / .NET 10
When
2026, ongoing

narvitaa.com

A portfolio for a UX designer and artist. Each study is a scene: the page floods with its colour and the devices assemble from the real screens.

What
Website, built for Narvitaa
Built with
Astro, GSAP, WebGL, Cloudflare Workers
When
2026

Photographs

Shot in ProRAW and graded by hand. On an HDR screen the lights are as bright as they were; everywhere else you see the grade.

Camera
iPhone 14 Pro, ProRAW
Graded in
ART, and a pipeline of my own for HDR
When
2026
The sun setting over a calm sea, a rock breakwater in the foreground and a small outrigger boat offshore.
iPhone 14 Pro · 13mm · ƒ/2.2 · 1/188 · ISO 40 · May 2026
A woman in a white raincoat on a fog-filled street of old stone buildings, hand raised to her temple.
iPhone 14 Pro · 24mm · ƒ/1.8 · 1/100 · ISO 64 · Sept 2026
Silk lanterns in pink, teal and violet hanging down a tall wood-panelled stairwell.
iPhone 14 Pro · 24mm · ƒ/1.8 · 1/194 · ISO 80 · Sept 2026
Two people in life jackets on a boat at night, each holding a lit paper lotus lantern, with a riverside town lit up behind them.
iPhone 14 Pro · 24mm · ƒ/1.8 · 1/25 · ISO 1000 · Sept 2026

This is a concept build

Real now

  • The reel and its scrubber: scroll, drag the track, click a chapter, or use the arrow keys on the playhead.
  • Each shot grading in from flat log, then handing over to the real picture.
  • The photographs and the lantern film in true HDR on an HDR screen (Chrome 137+ or Safari 26+); everywhere else, the SDR grade.
  • Azushi's title page.

Not built yet

  • noir, the event pipeline, payments and renders as chapters.
  • narvitaa.com's case study, Notes, and the web résumé.
  • Light theme, phone polish, sharing images and the full search setup.

Read the concept notes: type, colour and the decisions behind them →