@emilkowalski: Few tricks to make your app feel more native on mobile

x.com · 2026-08-11 · by Long Nguyen ·xcom
Emil Kowalski
@emilkowalski
Few tricks to make your app feel more native on mobile
💬 12 · 🔁 54 · ❤️ 1.4K · 👁 33.7K
7:15 PM · Aug 11, 2026 · View on X

Replies (25)

alain @alainkbuilds
Some really handy ones in there. One really common source of confusion/frustration: Problem: position: sticky; stops working. It does not stick. Solution: A parent element is hiding or managing overflow. The container is not big enough. The sticky element is stretched.
Sam Gates @samjarvisgates
these are great. would add this too: | Fixed bottom bar floats mid-page on iOS | `visualViewport` resize/scroll → `translateY` the diff |
Shafic Zziwa @shaficzziwa_
Thank you for this. I love and admire your work.
Oleg Kais @oleg_kai
long press is the giveaway every time. native does nothing, web quietly offers to copy the button label.
Kaan Can Guven @kaanbuildsai
Hover states and touch targets in the same list is the whole signal.
ronish @ronish1o
me and my agents love emil kowalski
Vinay Varma @roronoazoro_189
You keep doing such great work. Thanks for these.
John Wei @makatack_
polish compounds
Aabis @aabis_nasir
love this, so useful
Nicolas @nicolvsmvrx
Perfect timing, deep in the mobile version of a trading terminal right now.
Pratik @PratikPKataria
Amazing 🤩
Cluster Protocol @ClusterProtocol
wrapping hover states in pointer media queries prevents sticky hover bugs on touch screens
Emil Kowalski @emilkowalski
Few tricks to make your app feel more native on mobile
shadcn @shadcn
I just open sourced a minimal chatbot template. This brings together everything we've been doing the past weeks: new components, shadcn/typeset, shadcn/react, tool calling, HITL with questionnaire, message parts. Deploys one click to @vercel AI Gateway.
Zach Moskow @zachmoskow
OpenRouter collected over $50M in FEES in the past year. Today that changes. Thanks to @theinformation for breaking our news. As of this morning, @concentrateai has removed all service and credit card fees and is the first and only AI Gateway to do so. Unlike @vercel, we don’t
▶
DHH @dhh
Three months of work. A (literal) thousand PRs. One incredible Quattro! Almost there. https://github.com/basecamp/omarchy/pull/6231…
dax @thdxr
kit is working on getting opencode2 running in a durable object we need this ourselves so we can bring our beloved slackbot to all of you the setup is nice esp since opencode already uses sqlite
Guillermo Rauch @rauchg
If you’re not reading the code, whether explicitly or through agentic inquiry, one or more of these is true: ○ You’re a beginner ○ Software is throwaway ○ You’re prototyping ○ You have no users / revenue ○ You’re taking on debt & risk ○ Your problems are basic And btw.
Kartik @1kartikkabadi1
The cache hit rates in Pi are absolutely insane. 99.5% 😭 how tf is this possible. what a madman @badlogicgames
Tanner Linsley @tannerlinsley
"TanStack Charts is my new favorite charting library!"
ReUI @reui_io
Awesome work! Any plans to add D3js like visualizations ?
Tanner Linsley @tannerlinsley
WDYM?
Theo - t3.gg @theo
Hot take: Meta's new Muse Spark and Muse Code stuff is actually pretty good, and Spark 1.2 going open weight is awesome
▶
Arun @hiarun02
BREAKING: Anthropic may be quietly removing Claude’s weekly usage limits.
Aaron Francis reposted @mitchellh
There are competitors that try to compete by tearing others down and there are competitors that compete by building themselves up. The former group is always a bunch of clowns and a huge red flag. The latter gets my respect. (This isn't a subtweet to anyone)

Comments (0)

No comments yet