David Luhr
luhr.co
David Luhr
@luhr.co
Design engineer working on accessible design and code at Buffer. Creator of https://youtube.com/@buildux
My team at Buffer is hiring a Senior Engineer – Growth Marketing.

We'll work closely together on projects like referral programs, internationalization, and tracking/experimentation systems.

- Fully remote
- 4-day work week
- $156.5K–$202.3K

Apply: buffer.com/journey/a661...
November 20, 2025 at 4:04 PM
Dark mode isn't just to look cool. It's an important accessibility feature that makes the experience better for everyone.

Light mode causes eye strain and discomfort for me across a day. Dark mode solves this and makes content more legible for me.

Stoked dark mode is now available in Buffer!
October 29, 2025 at 6:46 PM
Playing around with animation and content ideas for an upcoming Buffer feature. If people have animation enabled (accessibility-first design), comments spawn in random positions. Might include a button to clear the comments and a scroll-driven animation that ties into the page.
September 29, 2025 at 4:52 PM
Sneak peak of my work this week: rich, interactive charts with follower growth, posting frequency, engagement, and reach benchmarks we gather at Buffer.

This project got me deep into charting/dataviz libraries and SQL queries. Excited to launch it soon!
August 12, 2025 at 8:32 PM
I recently built a new homepage hero section on Buffer.com with this fun interactive animation. I'm writing a post to break down the build since there are lots of cool tricks I learned along the way.

What do you want me to cover? What questions do you have?
August 7, 2025 at 6:41 PM
We're hiring for 3 engineering roles at Buffer!

- Senior Product Engineer (Frontend)
- Senior Product Engineer (Backend)
- Senior Backend Engineer (Platform and API)

These roles offer $156.5K - $202.3K + equity. We're a fully remote, global team with a 4-day workweek.

Apply: buffer.com/journey
July 17, 2025 at 2:43 PM
We're redesigning the @buffer.com website in the open.

🗓️ Tomorrow (Wednesday) I'll be livestreaming at 9 AM PST (UTC -8) to show my design engineering process for this large-scale redesign.

I'll be redesigning our Open Salaries page and answering your questions.

www.youtube.com/@buildux
September 10, 2024 at 5:30 PM
This is best achieved with negative margins using the % unit, which is relative to the parent. We fine tune the overlap amount that scales proportionally to the viewport and parent container.

We also set `pointer-events: none;` to prevent the image from blocking clicks.
July 30, 2024 at 3:50 PM
Further down, we have feature sections with a grid layout and images that we want to overlap surrounding content.

These images need to proportionally overlap their containers as the screen (viewport) scales in size.
July 30, 2024 at 3:49 PM
To achieve these, we use (negative) margins with `rem` for a fixed overlap amount.

We set a negative `margin-block-start` on the image, and match this amount with `margin-block-end` on the hero section. This allows us to control the overlap independent of the screen size.
July 30, 2024 at 3:49 PM
We just launched Bluesky support with @buffer.com and the landing page was a great demo of how to use various units for overlapping images.

Let's start with the hero image. We want it to extend past the bottom of the hero section, without impacting the layout of the next section:
July 30, 2024 at 3:49 PM
Lately I've been building an accessible tree navigation with full keyboard support. Support for the ARIA Treeview pattern is lacking so I've created a simpler and better supported approach.

There's subtle complexity in the arrow key logic based on the current item and tree state.

More info soon!
August 24, 2023 at 10:01 PM