Sign in

Gavin Nelson

@gavin.social
4.5K followers 266 following 157 posts

Designer

PostsRepliesMedia
Gavin Nelson @gavin.social · 14/01/2026
AGI agents let anyone build anything Me:
3300
Gavin Nelson @gavin.social · 18/09/2025
yeah it's a lot of fun. especially with AI assistance now it feels like the main advantage of Origami (speed) is eroding. I like getting closer to the metal
010
Gavin Nelson @gavin.social · 18/09/2025
this is entirely swiftui, no metal. could definitely make it better with metal tho! I just build and run with Xcode
000
Gavin Nelson @gavin.social · 18/09/2025
im controlling it! It's all SwiftUI
110
Gavin Nelson @gavin.social · 18/09/2025
a (rough) iOS Split View concept there are many reasons this form doesn't work well but the interaction was fun to prototype
7520
Gavin Nelson @gavin.social · 14/09/2025
made a Minority Report style magnification loupe shader in Metal
3557
Gavin Nelson @gavin.social · 13/09/2025
tried to clean up and comment the code here: github.com/gavinmn/iOSA...
github.com
GitHub - gavinmn/iOSAppMeshTransform
Contribute to gavinmn/iOSAppMeshTransform development by creating an account on GitHub.
060
Gavin Nelson @gavin.social · 13/09/2025
no problem
000
Gavin Nelson @gavin.social · 13/09/2025
recreated the new iOS app mesh transform using Metal
3613
Gavin Nelson @gavin.social · 03/09/2025
i'm using Motion for most of that
000
Gavin Nelson @gavin.social · 03/09/2025
it is!
020
Gavin Nelson @gavin.social · 02/09/2025
experimenting with a minimal glass highlight effect
3261
Gavin Nelson @gavin.social · 27/08/2025
finder intelligence
2300
Gavin Nelson @gavin.social · 27/08/2025
frame 2
1180
Gavin Nelson @gavin.social · 15/04/2025
yes (back camera)
100
Gavin Nelson @gavin.social · 15/04/2025
in some ways it's more immersive, in others it's more distracting? I just made the demo to satisfy my curiosity
040
Gavin Nelson @gavin.social · 15/04/2025
to chase my curiosity
050
Gavin Nelson @gavin.social · 15/04/2025
iOS × visionOS experiment
15933
Gavin Nelson @gavin.social · 09/04/2025
on email, once you've cleared the unwanted messages, then what do you do?
100
Gavin Nelson @gavin.social · 09/04/2025
ok but what do you actually do?
100
Gavin Nelson @gavin.social · 09/04/2025
if you open up a busy inbox (email, linear, slack dms, etc.), what's the first thing you start doing?
1140
Gavin Nelson @gavin.social · 03/04/2025
I've thought for years this should be a first party feature in social networks
390
Gavin Nelson @gavin.social · 03/04/2025
been feeling like it was time for an avatar change. something that feels more like me. if you're thinking 'who is this?' here’s a before and after
61210
Gavin Nelson @gavin.social · 12/03/2025
I haven't used it in years but I remember Hey email doing it well
000
Gavin Nelson @gavin.social · 12/03/2025
Exactly
010
Gavin Nelson @gavin.social · 11/03/2025
What? Keep read/unread functionality, I'm just suggesting it's not the best way to solve the problem people generally use it for.
110
Gavin Nelson @gavin.social · 11/03/2025
FWIW the way I handle this in my email is anything "done" gets archived, things that need doing are left in the inbox, and only things that are literally unread are marked unread.
010
Gavin Nelson @gavin.social · 11/03/2025
No, it's fine to have a mark as unread option. I'd say it should be supplemented by some sort of reply to later type option.
110
Gavin Nelson @gavin.social · 11/03/2025
Well it's definitely partially the products fault if it doesn't give you a good solution to the "save for later" problem and you're forced to use mark as unread
100
Gavin Nelson @gavin.social · 11/03/2025
The thing you need to reply to is not "unread" (most of the time) it's read and needs to be replied to later. Mark as unread is never designed to be a good solution to this
151
Gavin Nelson @gavin.social · 11/03/2025
Everyone wants to use it to remember to reply or revisit the thing, but it's better served by some flag/remind me/save for later type feature that doesn't auto mark as read when I open the app and the conversation is still selected
250
Gavin Nelson @gavin.social · 11/03/2025
hot take for today: 'mark as unread' is almost never the solution to your problem (both as a consumer and designer)
5320
Gavin Nelson @gavin.social · 10/03/2025
Yeah might need to either remove the animation or delay it a bit. Point is that customer requests lists can get very long so being able to jump right to one with the initial tap might be useful.
000
Gavin Nelson @gavin.social · 10/03/2025
Yes, the contrast of this one doesn't come through in the video super well, but the drag handle is there.
000
Gavin Nelson @gavin.social · 10/03/2025
I’ve been thinking about how to make Linear’s overlay sheets more familiar yet still powerful. v2: - Multiple detents for focus/multitasking - Optional gestures for added efficiency that don’t interfere with expected behaviors - Familiar transitions Feedback welcome
4300
Gavin Nelson @gavin.social · 09/03/2025
Thank you. I built it using SwiftUI
110
Gavin Nelson @gavin.social · 08/03/2025
- Exposing the message controls after each response solves the 'avatar problem' and makes these much more consumer friendly. - The shadow on the message input is much improved. - Now iOS and web are very consistent with each other.
080
Gavin Nelson @gavin.social · 08/03/2025
- Adding the label to search in particular is very smart. - Voice and Whisper still need some clarity and Deep Research could make room possibly by moving into the chat window.
140
Gavin Nelson @gavin.social · 08/03/2025
This deserves some follow up now that OpenAI has made a bunch of updates and my opinions have changed. - New message input gives more space to add labels to the controls which is needed for the consumer market.
2171
Gavin Nelson @gavin.social · 07/03/2025
Yeah the background is actually much more obscured but the poor lighting when filming this video makes it stand out much more.
000
Gavin Nelson @gavin.social · 07/03/2025
More adjustments that should help the spatial map of things bsky.app/profile/gavi...
050
Gavin Nelson @gavin.social · 07/03/2025
What do you think of this? bsky.app/profile/gavi...
210
Gavin Nelson @gavin.social · 07/03/2025
This is fun—adjusted the interpolation like you suggested so you can peek at the background while still touching down and if you flick up with enough velocity, you can cancel the dismiss as if you dragged it back up. Thanks again for the detailed feedback!
250
Gavin Nelson @gavin.social · 06/03/2025
Some other examples: - Tapping on a property itself to jump directly to the selection menu (status in this demo) - Displaying customer requests (dismiss is a bit janky here 😵‍💫)
020
Gavin Nelson @gavin.social · 06/03/2025
Yeah the intention here is a universal overlay component that can accept any content to be displayed on top. Would be nice to have some sort of interpolation tho if the content that triggers it is visible on the base view too tho.
110
Gavin Nelson @gavin.social · 06/03/2025
Fair! I already changed the swipe to go back to be 1:1 with your drag
130
Gavin Nelson @gavin.social · 06/03/2025
Curious if this version makes the connection stronger for you? (Bluesky compression is probably going to make a lot of this hard to see...) - Interpolate background scale, blur, and opacity relative to the dismiss gesture - More vertical movement on entrance and exit - Less background blur
120
Gavin Nelson @gavin.social · 06/03/2025
Yeah I intended to have the incoming content track your gesture on the swipe to go back, but I realized that didn't make it into my prototype!
010
Gavin Nelson @gavin.social · 06/03/2025
Ah I think that's just a video illusion. When it animates in, I just tapped the screen I didn't drag on anything.
010
Gavin Nelson @gavin.social · 06/03/2025
Good feedback! Not done with this yet so will have to see how I can make it all clearer.
110