Ajmal retweeted
We rebuilt our mobile apps in Swift and Kotlin with agents. To keep pace and hold our quality bar, we built Reflex: an agentic-first architecture that lets agents build and verify app behavior across iOS and Android without needing devices or simulators.
Here's how it works, piece by piece:
shopify.engineering/reflex
Ajmal retweeted
One of the best side effects of moving mobile development to remote machines: you can make it multiplayer.
Product, design and engineering can all open the same running app in a browser, from anywhere. No Mac, no Xcode, nothing to install.
Ajmal retweeted
てんさいなAPIを見つけた
明日これやろ
developer.apple.com/videos/p…
Ajmal retweeted
The community I run, Singapore Product Design, is having an event this Saturday and I'm really excited about this one.
We're talking about how design helps communities grow, and how communities help designers grow. That's pretty much the story of my last few years.
Benjamin, Justin and Tommy from @NgeeAnnNP will share real projects where design made a difference. @ACollinHadley from @nyproductdesign is joining us too, sharing what makes design communities work in New York.
After that, there's Q&A, food, and time to just hang out and meet people.
Sat 31 Oct, 5:30pm to 8:30pm. It's free, but seats are limited.
Thank you @designsingapore for supporting us.
Would love to see you there. Event page and sign-up in the reply below.
tired of setting the status bar style on every screen?
introducing "@rbayuokt/expo-adaptive-status-bar" for @expo / @reactnative 🎉
it natively reads what's behind the status bar and picks light or dark icons itself.
one line, every screen 🪄
AdaptiveStatusBar.enable();
New in baguette 0.2.8 🥖
- baguette notify sends a push notification to your app on the iOS simulator. No APNs keys or device token.
- send a push from the browser or the CLI, tap it, check the screen. The CLI makes it scriptable, so CI or an AI agent can run it too.
github.com/tddworks/baguette
Ajmal retweeted
ArrangementView is a new SwiftUI API in iOS 27.1 that takes some time to get your head around, so I wrote a post exploring it on iPhone Duo, with lots of examples of how split and overlay layouts adapt as the device folds:
nilcoalescing.com/blog/Arran…
Ajmal retweeted
Design Engineering Tip:
Moving a playing embed to another spot with appendChild restarts it. The iframe is removed, then inserted again. moveBefore() moves it, and it keeps playing:
if ("moveBefore" in slot) slot.moveBefore(player, null)
else slot.insertBefore(player, null)
Ajmal retweeted
Introducing Anatomy
Describe a machine in one line. Claude brings it to life.
- Interactive isometric wireframes you can rotate, inspect and explore
- WebGL shaders for fire, water, plasma and more
- Real 3D motion, with individual parts that rotate and move
Install it as an agent skill. Fully open source.
Ajmal retweeted
Your side projects should be compounding very fast with AI. Every problem solved can be re-used or extracted into a generic module. Every design decision should make the next thing beautiful by default. Your agents should be constantly stealing from your past decisions.
Ajmal retweeted
magnetic bento hover effect w/ css anchor positioning
.bento {
li:hover article { anchor-name: --a; }
.indicator {
position-anchor: --a;
inset: anchor(inside);
transition: inset var(--dur) var(--ease);
}
}
Ajmal retweeted
`field-sizing: content` lets you autosize textareas in css
but what if you want the height to transition instead of snap? wrap it and sync the wrapper height with a ResizeObserver ↓
Ajmal retweeted
Made a launch film for my animation library.
Every frame is an SVG drawn in JavaScript. No After Effects, no WebGL.
cube-motion.dev/
Ajmal retweeted
had to open source this one!
here’s the swiftui package 😃
github.com/haplollc/Thinking…
Ajmal retweeted
One nice subtle benefit of using Base UI over Radix is that the animations are interruptible since Base uses CSS transitions instead of keyframes.
This is me spamming on both dropdowns, notice the glitchiness in the one on the left.





















