Senior Software Engineer at Callstack | Author of The @reactnativerwd ๐Ÿ›ธ | Trusted by 1,000 React Native Developers

Joined March 2019
14 Photos and videos
Luke Brandon Farrell retweeted
Give it one sentence a deadline. It plans, scaffolds, installs native deps, runs the app on a simulator, screenshots itself, iterates on the visual bar, writes tests, and ships. Brain: @Callstack's Apex LLM (it speaks React Native). Hands: Nous Research's Hermes agent. Unattended, in ~15โ€“30 min each, it shipped a Skia semantic-graph note app with on-device TF-IDF linking, a shader glass-slab toy, and a breathing-orb guide โ€” all verified on simulator. When a build white-screened, it diagnosed the Reanimated/New-Arch bug, fixed it, and re-verified itself. This is the future of mobile dev. ๐Ÿงต๐Ÿ‘‡
3
4
16
1,809
Just released a fun little React Native library for temperature badges with colour scales๐ŸŒก๏ธ Check it out ๐Ÿ‘‰ github.com/lukebrandonfarrelโ€ฆ #ReactNative #OpenSource #MobileDev #JavaScript #TypeScript #WeatherApp #DevCommunity
54
Today I polished off several issues with our Magic Link features. Essentially, we need a Magic Link feature because weโ€™ll be publishing the product on an existing Etsy store. So, when users purchase via Etsy, we need a way for them to design their book and place their order based on the Etsy purchase theyโ€™ve already made. Magic Links allow us to set that up and send Etsy users directly to customise their book, without going through the same journey and checkout flow as regular users. Tomorrow I'll start adapting all of this onto a mobile app ๐Ÿคž #shipaton2025 #shipaton #buildinpublic
68
Okay, I couldnโ€™t help myselfโ€”I built a simple orders table for customers and an order details page you can access by clicking into the orders. TBH, itโ€™s super simple right now and will probably need some improvements, but itโ€™s enough to get us rolling for the B2C launch for #shipaton2025. This way I can start focusing on the mobile app experience and our AI-based journaling. More to comeโ€ฆ #buildinpublic #shipaton
67
Today, I wonโ€™t be diving into anything too code-heavy. Instead, I focused on organising our Linear Board to give us a clear path toward multiple releases. The first release is coming next week, where weโ€™ll launch the B2C web portion of the app. (Remember, the codebase is built with Tamagui and multi-platform technologies, so weโ€™ve had native in mind this whole time). This release will let customers start building books. Weโ€™ve already done some extensive user testing, but weโ€™re open to moreโ€”so if anyone wants a free memory book DM me, wink wink ๐Ÿ˜‰. Next week, Iโ€™ll be polishing the final touches on the B2C experience, then switching over to the mobile app to get it ready for launch. Weโ€™ll first release the mobile app with the B2C experience, and later in Septemberโ€”just in time for the Ship-a-ton Hackathonโ€”weโ€™ll add AI-powered journaling, premium templates, and memory-building features, all behind the RevenueCat SDK. But for today, it was all about Linearโ€”planning out what the next week will look like, while also taking advantage of the new background agent feature in Cursor. #buildinpublic #shipaton #shipaton2025 #cursor #linear #reactnative #revenuecat
1
64
I already had Cursor background agents make two PRs. I mean, Iโ€™m not going to trust it with just anything, but for some of the smaller things, Iโ€™ll let it run a first draft.
38
Yesterday and today I worked on an ImageViewer component with reordering. The reordering was important so we can define the media order on our listings in our application. The ImageViewer is built with Tamagui and supports adding, deleting, viewing, and reordering photos. Itโ€™s pretty generic and could fit into any app. If this gets 100 likes, Iโ€™ll drop the full component for free after the Ship-a-ton Hackathon. I included an architecture breakdown below. #shipaton #buildinpublic
1
1
6
426
Next, we have a Carousel component. On mobile, you can swipe left/right to change photos, and it simply displays a photo or video.
1
25
Put it all together and weโ€™ve got a crossโ€‘platform ImageViewer. ๐Ÿ˜Ž Iโ€™ll probably need to do a bit more work to make it fully crossโ€‘platform, but Tamagui got us most of the way thereโ€”there may be some remaining work around the sortables.
22
I just entered ๐—Ÿ๐—ถ๐˜๐˜๐—น๐—ฒ ๐—˜๐—บ๐—ผ๐˜๐—ถ๐—ผ๐—ป๐˜€ into the RevenueCat Ship-a-thon. ๐Ÿšข ๐—Ÿ๐—ถ๐˜๐˜๐—น๐—ฒ ๐—˜๐—บ๐—ผ๐˜๐—ถ๐—ผ๐—ป๐˜€ is software for building ๐—ฏ๐—ฒ๐—ฎ๐˜‚๐˜๐—ถ๐—ณ๐˜‚๐—น ๐—บ๐—ฒ๐—บ๐—ผ๐—ฟ๐˜† ๐—ฏ๐—ผ๐—ผ๐—ธ๐˜€. Weโ€™re launching features like: โžก๏ธ ๐—˜๐—ฑ๐—ถ๐˜๐—ฎ๐—ฏ๐—น๐—ฒ ๐˜๐—ฒ๐—บ๐—ฝ๐—น๐—ฎ๐˜๐—ฒ๐˜€ you can customise โžก๏ธ ๐—๐—ผ๐˜‚๐—ฟ๐—ป๐—ฎ๐—น๐—ถ๐—ป๐—ด ๐—ณ๐—น๐—ผ๐˜„๐˜€ to capture memories โžก๏ธ ๐—ฃ๐—ฟ๐—ถ๐—ป๐˜-๐—ผ๐—ป-๐—ฑ๐—ฒ๐—บ๐—ฎ๐—ป๐—ฑ ๐—ฏ๐—ผ๐—ผ๐—ธ๐˜€ โžก๏ธ ๐—ฆ๐˜‚๐—ฏ๐˜€๐—ฐ๐—ฟ๐—ถ๐—ฝ๐˜๐—ถ๐—ผ๐—ป๐˜€ to unlock premium templates For the hackathon, our focus is the ๐—บ๐—ผ๐—ฏ๐—ถ๐—น๐—ฒ ๐—ฎ๐—ฝ๐—ฝ (๐—ถ๐—ข๐—ฆ ๐—”๐—ป๐—ฑ๐—ฟ๐—ผ๐—ถ๐—ฑ) โ€” but weโ€™re building everything as a ๐—จ๐—ป๐—ถ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—น ๐—”๐—ฝ๐—ฝ, so the same codebase runs on Web, iOS, and Android. Hereโ€™s the stack weโ€™re working with: โžก๏ธ ๐—ฅ๐—ฒ๐—ฎ๐—ฐ๐˜ ๐—ก๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—˜๐˜…๐—ฝ๐—ผ for building cross-platform โžก๏ธ ๐—ง๐—ฎ๐—บ๐—ฎ๐—ด๐˜‚๐—ถ for the UI layer (so we can share components across web & native) โžก๏ธ ๐—”๐—ฝ๐—ฝ๐˜„๐—ฟ๐—ถ๐˜๐—ฒ as the backend (auth, storage, syncing) โžก๏ธ ๐—ฅ๐—ฒ๐˜ƒ๐—ฒ๐—ป๐˜‚๐—ฒ๐—–๐—ฎ๐˜ for subscriptions and paywalls Weโ€™re aiming to ๐—น๐—ฎ๐˜‚๐—ป๐—ฐ๐—ต ๐—ฏ๐—ฒ๐˜๐˜„๐—ฒ๐—ฒ๐—ป ๐—ป๐—ผ๐˜„ ๐—ฎ๐—ป๐—ฑ ๐—ฆ๐—ฒ๐—ฝ๐˜ ๐Ÿฏ๐Ÿฌ๐˜๐—ต. Iโ€™ll be sharing progress, challenges, and lessons learned about the stack ๐—ฎ๐˜€ ๐—ฝ๐—ฎ๐—ฟ๐˜ ๐—ผ๐—ณ ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ๐—ถ๐—ป๐—ด ๐—ถ๐—ป ๐—ฝ๐˜‚๐—ฏ๐—น๐—ถ๐—ฐ. RevenueCat Ship-a-thon: shipaton.com/ #ReactNative #RevenueCat #shipathon #buildinpublic #MobileDev #IndieDev #Subscriptions #Appwrite #Tamagui #Expo
2
1,009
Luke Brandon Farrell retweeted

1
6
21
6,183
I โค๏ธ ChatGPT Canvas
47
Donโ€™t get so caught up in what youโ€™re doing that you lose the people you were doing it for along the way.
42
In TypeScript 5.5, we now have โ€œInferred Type Predicatesโ€. This helps you avoid hard type casting with as or writing a type guard with is. Now, .filter methods return the correct type without extra syntax. #TypeScript #Coding #JavaScript #Programming #WebDev #TechNews
68
A few weeks ago, while assisting a good friend, a junior developer at a small company, I encountered a notably disorganised codebase. lukebrandonfarrell.com/blogsโ€ฆ

1
66
As I sit on this plane, about to take off, I can't help but recall that this is a company that struggled with getting their Select inputs to function correctly.
83