Hi, I'm Immanuel.

I am a UI Designer

I design and build user interfaces and website front-ends, from mobile to desktop, that look sharp, feel fast, and scale effortlessly.

Design, from craft to code.

I'm a UI designer who builds. Years of shipping Nuxt and Vue applications means I understand what design actually costs to implement — so I design for the system, not just the screen.

I'm drawn to technically complex products where the interaction model matters as much as the visual layer: developer tools, infrastructure UIs, and design systems that have to scale from an end-user to an entire engineering team.

Systems thinking

Component-driven, pattern-first design — built to be handed off, implemented, and scaled.

Code-fluent

I build in Vue and Nuxt, with experience in other frontend frameworks like React. I know what ships and what doesn't before we get to review.

Technical UX

I'm comfortable designing for everyday users, power users, developers, and infrastructure operators where precision beats polish.

Agentic prototyping

I use AI tools daily — Claude Code and Cursor IDE — to collapse the distance between idea and final, polished, working product.

What I work with

Design and code are the same discipline to me — one informs the other at every step. AI is part of my workflow, from rapid prototyping and tooling to exploring new interaction patterns.

Front-End Development

Component-driven UIs with a focus on performance, accessibility, and maintainability.

  • Vue 3
  • Nuxt 4
  • TypeScript
  • Edge Functions

UI Design & Systems

Interface design, component libraries, and design systems built for real engineering teams.

  • Figma
  • Sketch
  • Design Systems
  • Component Libraries
  • Prototyping

Backend Development

REST APIs, auth patterns, and data modeling.

  • Node.js
  • Express
  • REST APIs
  • Supabase
  • PostgreSQL

Platform & Tooling

Deployment pipelines, developer experience, and infrastructure.

  • Vercel
  • GitHub
  • Vite
  • Docker

Featured projects

3D Model Viewer

Real-time rendering in the browser with orbit controls, environment and material presets, and 3D-to-screen hotspot annotations — plus progressive onboarding so the interaction model is clear without burying users in engine details.

SaaS Cloud Console

A dense, keyboard-first operator console: live-style metrics, custom D3 charts and brushing, rack topology beside a sortable instance table, command palette, and toasts — built for technical users who work fast.

Product Story Page

A marketing-style landing for a fictional product — horizontal scroll, pinned chapter reveals, and GSAP ScrollTrigger tied to scrub, with CSS gradients and shapes doing the visual work instead of heavy imagery. Respects reduced motion.

Why Vue — and why it matters.

I know React. I've shipped in it. But after years of building with Vue and Nuxt, I've come to a clear conclusion: Vue is a better-designed framework for most of what I build, and Nuxt is the best full-stack frontend environment in the JavaScript ecosystem.

Single File Components

Vue's SFC format keeps template, script, and style in one file. Logic lives where you expect it, styles are scoped by default, and there's no JSX overhead or context-switching between files.

Nuxt: the full picture

Nuxt gives me file-based routing, auto-imports, server routes, SSR/SSG, and a composable-first data layer with zero config. What takes days to wire up in a bare React project ships in an afternoon.

Reactivity that makes sense

Vue's reactivity model (ref, reactive, computed) is explicit and predictable. React's hooks require internalizing closures and stale state in a way Vue simply doesn't impose.

Opinions that scale

Vue has clear, opinionated answers for state, animation, and component patterns. React leaves those choices open, which sounds like freedom but means re-deciding the same questions on every project.

Let's build something.

I'm open to the right opportunity — a team where design and engineering work as one. If that's you, let's talk.