Ajmal (@ajmalafif) header
Ajmal (@ajmalafif) profile picture
Singapore
Joined April 2009
Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)Photo by Ajmal (@ajmalafif)
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
44
146
49
1,534
188,265
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.
18
19
5
294
31,062
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.
2
2
1
23
727
Ajmal retweeted
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();
6
26
2
285
8,748
Ajmal retweeted
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
2
2
22
3,056
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…
9
20
165
10,810
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)
10
18
2
567
18,533
Ajmal retweeted
This new SwiftUl modifier allows the navigation toolbar to dynamically hide and reveal based on scroll direction.
3
32
599
23,561
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.
434
1,594
669
18,217
2,683,594
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.
66
34
14
805
56,196
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); } }
39
150
8
2,798
97,389
`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 ↓
11
36
2
977
42,452
new syntax highlighter jus' dropped ✨ def try this ↓
After about a year, on and off, I am veeeery happy to release TWINKLEPLOP, a syntax highlighter of tremendous power! The speed of prism with the customisation of Shiki.
4
23
336
32,287
Made a launch film for my animation library. Every frame is an SVG drawn in JavaScript. No After Effects, no WebGL. cube-motion.dev/
56
65
10
1,611
72,560
had to open source this one! here’s the swiftui package 😃 github.com/haplollc/Thinking…
loved the thinking orb reactive native package so much that I decided to recreate the animations with SwiftUI really enjoy the feel of these!
15
44
3
664
60,106
Ajmal retweeted
Prototyped a Swift interpreter that runs native, fully interactive iOS apps directly from a .swift file
294
476
128
9,321
1,764,053
Designing at the speed of voice. Speaking the layout into existence into existence with Jev, @shadcn and a local transcription model.
18
29
12
438
102,107
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.
28
36
4
1,464
70,648
I love that Jev can fit into basically any app. You don't need to build everything around a chat, you can just integrate intelligent features into the background, like these auto-fill buttons. Much better UX than with slow LLMs. Feels like the missing piece!
21
24
3
736
43,233