Good web apps are just as much about elegant design as about efficient code.
I am a UX designer and front-end engineer who bridges the gap between design and development to build interfaces that are visually, functionally, and architecturally beautiful.
.multi-select-combo-box {
display: flex;
position: relative;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
column-gap: var(--space-inline-xxs);
row-gap: var(--space-stack-xs);
isolation: isolate;
box-sizing: border-box;
min-height: var(--size-form-input-height);
padding: var(--space-stack-xs) var(--space-inline-m);
border: var(--border-form-inputs);
border-radius: var(--border-radius-form-inputs);
color: var(--color-text);
z-index: 1;
& li {
list-style-type: none;
margin: 0;
padding: 0;
}
&:focus-within {
border: var(--border-focused-form-inputs);
box-shadow: var(--box-shadow-focused-form-inputs);
}
& input {
flex: 1;
min-width: 15rem;
border: none;
padding: 0;
margin: 0;
@supports selector(:focus-visible) {
&:focus {
outline: none;
background: transparent;
}
&:focus-visible {
outline: unset;
}
}
}
.chevron {
display: flex;
align-items: center;
justify-content: center;
}
}
Web App
A clinician-facing React app with a companion patient mobile app, designed to help patients communicate effectively with their care teams.
Design System
An in-house design system for Fora Health's web app, focusing on a professional and minimal aesthetic.
<Card as=aside> <Stack as=label vertical spacing=xs padding=l justifyContent=flex-start> <input ...hiddenInputProps /> <div class=styles.iconWrapper> <Icon name=chat-bubble size=l /> </div> <Text detail4>title</Text> <Text body>children</Text> </Stack> </Card> 42 atomic React components make composing new UI easy and consistent.
Designed in Figma…
…developed, documented, and tested in Storybook.
Web Game
A web puzzle game that can only be solved using developer tools.
Try it outEvery level turns an aspect of HTML/CSS/JS into a game mechanic.
font-family Property
<table> Element
console.log()
A black box approach to validation makes every level an open-ended sandbox.
A gallery of my work across mobile, web and graphic design.