Luong Anh Vu is a design engineer who designs and builds interfaces, with a soft spot for every spring, gesture and small detail, and a habit of building interaction experiments.

Contact me via , X, or GitHub.

It started with flat-lay photos1 of wedding stationery. I loved how those top-down shots lay the invitation, envelope and little keepsakes out on a table, so I turned that whole idea into the website. Instead of a scrolling page, the site is one table seen from above, with an envelope, a wish box, a guest book, a photo album and a record player. I designed and built it on my own, from the first sketch to launch.

Every piece moves like the real thing. Tap the envelope and it flips, the flap opens, and the letter slides out and unfolds. The album and the guest book turn page by page under your finger. I tuned every prop by hand in DialKit2, from where it sits on the table to how it springs, flips and settles, until the paper felt right.

I built it for the phone first, because that's where most guests opened it. On a phone you drag the table around with your finger, like sliding paper across a real desk. It stretches a little at the edges and keeps gliding when you flick. Each piece has its own camera framing for small screens, so a tap zooms you straight to it and the letter or album fills the screen. I also fixed the folding paper bugs on iPhone so it looks just as good there as on a laptop.

Shrewd

Personal

Shrewd started as my undergraduate thesis, with one question: how can we ship ideas faster on both design and code? Figma can turn designs into code, but it falls apart on complex, handcrafted interfaces. AI tools like Lovable only work through prompts, so when the result is off you get stuck in a loop and burn through tokens. I wanted one tool to prototype design and code together.

At its heart, Shrewd is just components on an infinite canvas. You drag or click a component in, arrange and nest it, then tweak its styles in the panel until it feels right. Every design is a stack of layers, so I built layer management much like Figma's, and I used Tailwind CSS v4 for styling instead of building my own. It works best for big builds like dashboards and marketing sites.

I built it the careful way, not the fast way. My supervisor, Dr. Vi Chi Thanh3, who has deep UX expertise, pushed me to go step by step from ideation to low, mid and high fidelity. At each stage I tested the design, found what felt off, and reworked it before moving on. Those rounds of iteration kept mistakes out of the final product and made sure it worked for real, not just in a mockup.

About

I work across the full loop between design and production code. I start in Figma, exploring ideas and shaping the design there. Then, instead of handing static frames over a wall, I build it myself in React, TypeScript and Tailwind CSS, and tune the springs, camera framing and touch feel in the browser until it holds up on a real phone. Whether I'm building an infinite-canvas editor like Shrewd or a tabletop site where envelopes flip and letters unfold, I care most about how software feels in your hands after the novelty wears off.

Outside of product work, I collect postage stamps, tend a small garden, and I spend quiet evenings in my Lab and Tools rebuilding those tactile details for the screen.

Building something that has to feel right? Email me at .

  1. 1
    Flat lay photography is a still-life photography technique in which objects are carefully arranged on a flat surface and photographed directly from above at a 90-degree angle to create balanced, symmetrical, and visually appealing compositions. Grokipedia.
  2. 2
    Created by Josh Puckett, DialKit is a library that lets you tune every value live in the browser. DialKit Website.
  3. 3
    An enthusiastic lecturer, thesis instructor that helped me a lot. Read more about him: Vi Chi Thanh.