# Alexandre Joly

> Design engineer at [Yoojo](https://yoojo.com), based in Geneva, Switzerland.

I design and build interfaces end to end, and I care about the details that make them feel right.

## Projects

- [Kwern](https://kwern.app): A team of AI agents that market your product (Web app, 2026)
- [Carbon](https://carbon.alexandrejoly.me/): Meeting transcripts that stay on your Mac (macOS app, 2026)
- [Gymup](https://gymup.ai): AI strength coach, built on a professional coach's system (iOS & web app, 2026)
- [Skippr](https://skippr.sh): The SSH terminal built for agents, on iPad (iPad app, 2026)
- [responsivecn](https://responsivecn.alexandrejoly.me/): shadcn overlays that turn into drawers on mobile (shadcn registry, 2026)
- [react-easy-modals](https://react-easy-modals.alexandrejoly.me/): Headless, zero-dependency modal stack for React (React library, 2025)

## Agent skills

- [design-to-shadcn](https://www.skills.sh/alexdemzz/skills/design-to-shadcn): Skin shadcn primitives from any website or screenshot
- [shadcn-composition-patterns](https://www.skills.sh/alexdemzz/skills/shadcn-composition-patterns): Compound-component laws for shadcn projects

## Components

- [Notification Badge](https://alexandrejoly.me/components/notification-badge.md): A counter or dot on an icon or avatar, cut out with CSS shape() so it reads on any background
- [Onboarding](https://alexandrejoly.me/components/onboarding.md): A step-by-step flow with a segmented progress bar and CSS-only step transitions
- [Hint](https://alexandrejoly.me/components/hint.md): A labeled trigger that opens a help bubble, its hit area stretched by a pseudo-element
- [Infinite Scroll](https://alexandrejoly.me/components/infinite-scroll.md): A list that loads more as you scroll, down or up, with a reverse mode held in place by CSS alone
- [Marquee](https://alexandrejoly.me/components/marquee.md): A strip that loops its items only once CSS scroll-driven animations detect they overflow
- [Item Inset Separator](https://alexandrejoly.me/components/item-inset-separator.md): A divider under an Item that starts at its content, past the media, placed with CSS anchor positioning

## Recognition

- [Website of the Day, Best UI, UX & Innovation](https://www.cssdesignawards.com/sites/alexandre-joly-portfolio/46054): CSS Design Awards, 2024
- [Honorable Mention](https://www.awwwards.com/sites/alexandre-joly-portfolio): Awwwards, 2024
- [Website of the Day, Best UI, UX & Innovation](https://www.cssdesignawards.com/sites/alexandre-joly-portfolio/33214/): CSS Design Awards, 2018

## Previously

- [Portfolio 2025](https://2025.alexandrejoly.me): Next.js, Three.js and a lot of springs (2025)
- [Portfolio 2018](https://2018.alexandrejoly.me): React, Sass and smooth scrolling (2018)

## Elsewhere

- [X](https://x.com/AlexDmzz)
- [GitHub](https://github.com/AlexDemzz)
- [LinkedIn](https://www.linkedin.com/in/alexandre-joly-a23154107/)
- [Email](mailto:alexandre.joly36@gmail.com)

## More

- [Components](https://alexandrejoly.me/components.md): Free, open-source React components for shadcn/ui by Alexandre Joly. Install each one with the shadcn CLI, then read its live examples and API reference.
- [About](https://alexandrejoly.me/about.md): Who Alexandre Joly is: a French design engineer in Geneva who has built Yoojo’s interfaces since 2018, plus side products, shadcn/ui components and awards.
- [Contact](https://alexandrejoly.me/contact.md): How to reach Alexandre Joly: email for a project, a role or a question about a component, X and LinkedIn to follow along, and GitHub issues for any bug.
- [Privacy](https://alexandrejoly.me/privacy.md): What Alexandre Joly’s site collects about visitors: no cookies, no analytics, no tracking. Only Cloudflare’s request logs, kept a few days to debug errors.
- [llms.txt](https://alexandrejoly.me/llms.txt): this site’s index for agents
