Sign in

Lennart Brandt

@brandtnewlabs.com
125 followers 128 following 167 posts

Design + Code in one 💻 🎨 🏳️‍🌈 Building brandtnew apps with React Native, Expo, and Supabase. Built & sold WeBurn 💪 Now working on @roamwise.app

PostsRepliesMedia
Reposted by Lennart Brandt
Expo @expo.dev · 10/07/2025
✨ 3 hooks. 1 paywall. No mess. Learn how @brandtnewlabs.com built seamless subscriptions into his Expo app with @revenuecat.com using: • usePurchasesInitialize • usePurchasesMonitor • usePurchases Plus fantastic design tips: expo.dev/blog/how-to-...
expo.dev
From idea to income: How to build seamless subscriptions with Expo and RevenueCat
Learn how Roamwise uses Expo and RevenueCat to implement seamless subscriptions—with custom hooks, smart paywall design, and real-world code.
1172
Lennart Brandt @brandtnewlabs.com · 13/05/2025
Refreshed my ASA knowledge with the official Apple Ads Certificate this morning! It took me 2 hours from start to finish 🥳 I'm now officially Apple Ads certified. Time to start my first campaign! certification-ads.apple.com/certificate...
certification-ads.apple.com
I'm certified with Apple Ads and ready to drive campaign results on the App Store.
Check out the certificate that confirms my successful completion of Apple Ads Certification.
010
Lennart Brandt @brandtnewlabs.com · 01/05/2025
Using it in two client projects and I'm loving it! Make sure to decide on how to work with the database. E.g. using legend-state together with supabase for offline-first support (and a great DX, as you don't have to keep local end remote state in sync)
050
Lennart Brandt @brandtnewlabs.com · 25/04/2025
Just realised the official react-native-purchases package by @revenuecat.com has only ~900⭐️… that’s 2,100 fewer than react-native-iap. Especially for @expo.dev apps, RevenueCat is the de facto standard for in-app purchases. Give it some love! ⭐️👇 github.com/RevenueCat/...
github.com
GitHub - RevenueCat/react-native-purchases: React Native in-app purchases and subscriptions made easy. Support for iOS and Android.
React Native in-app purchases and subscriptions made easy. Support for iOS and Android. - RevenueCat/react-native-purchases
040
Lennart Brandt @brandtnewlabs.com · 24/04/2025
I'm in love with @expo.dev, @swmansio.com's Reanimated, and gorhom's Bottom Sheet ❤️
060
Lennart Brandt @brandtnewlabs.com · 23/04/2025
Normally I’m all for keeping things simple — no unnecessary UI or animations. But I’m a big fan of the Joi app and just had to recreate how the buttons animate when the bottom sheet changes position. Fun fact: @roamwise.app’s design is heavily inspired by Joi and Flighty ✨
010
Lennart Brandt @brandtnewlabs.com · 22/04/2025
Here’s a look at my CardSheet in action: It uses expo-router’s transparent modal with animation: none — the animation is fully handled inside the sheet. Thinking about open-sourcing it… should I? 👀
030
Lennart Brandt @brandtnewlabs.com · 22/04/2025
Spent one weekend building a custom animation system on top of @swmansion.com’s Reanimated and @expo.dev router. Every animation in my apps now feels on-brand — and I can animate anything in seconds.
150
Lennart Brandt @brandtnewlabs.com · 21/04/2025
Recording your work to share it? Great way to catch bugs 🐛 Just spotted some unnecessary re-renders in the Roamwise calendar while filming a demo 😅 #reactnative #expo #indiedev
110
Reposted by Lennart Brandt
WuTangIsForTheChildren @wutangforchildren.bsky.social · 18/04/2025
London bus stop near Amazon HQ 🔥
321362267676
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Or is the whole flatlist in a blurview and the blurintensity is animated based on some x scroll position of the currently visible item?
120
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Looks amazing! Each item in the flatlist is a blurview with animated props (blur intensity) hooked up to the scroll position?
120
Reposted by Lennart Brandt
Lennart Brandt @brandtnewlabs.com · 18/04/2025
I’ve shared this animation before — but now it’s finally dialed in. ✨ Snappy pop-in scale on the buttons ⚡️ Fast spring for the progress bar 🌈 Interpolated colors on the progress dots Built using @expo.dev & @swmansion.com’s Reanimated. Code snippets + a gist for the progressDots below 👇
2161
Lennart Brandt @brandtnewlabs.com · 19/04/2025
That's amazing! 👀
020
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Ugh, that's annoying. Do you already have something new in sight?
010
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Looking forward to meeting you, Jon 😊
000
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Thanks a lot, Jacob!
000
Lennart Brandt @brandtnewlabs.com · 19/04/2025
Thank you! 😊
000
Lennart Brandt @brandtnewlabs.com · 18/04/2025
I’ve shared this animation before — but now it’s finally dialed in. ✨ Snappy pop-in scale on the buttons ⚡️ Fast spring for the progress bar 🌈 Interpolated colors on the progress dots Built using @expo.dev & @swmansion.com’s Reanimated. Code snippets + a gist for the progressDots below 👇
2161
Lennart Brandt @brandtnewlabs.com · 18/04/2025
👋 Let's meet and have a coffee, tea or beer 😊
030
Lennart Brandt @brandtnewlabs.com · 18/04/2025
I’ll be attending @appjs.co in May! 🥳 Excited to meet fellow React Native & Expo devs IRL, chat about apps, animations, and everything in-between. Who else is going? Let’s connect! 👋 #AppJSConf #ReactNative #Expo #IndieDev
4120
Lennart Brandt @brandtnewlabs.com · 17/04/2025
Did you know ~60% of users decide whether to subscribe during onboarding? 🚨 That’s exactly why I placed Roamwise’s paywall at the end of onboarding. It instantly reconstructs your travel history from your photo library. Feels like magic 🧙‍♂️ #indiedev #buildinpublic #reactnative
071
Lennart Brandt @brandtnewlabs.com · 16/04/2025
Thank you!
020
Lennart Brandt @brandtnewlabs.com · 16/04/2025
Check out the new SchengenPro feature in Roamwise: apps.apple.com/app/id67436... No spreadsheets. No stress. Just clear rules — finally made visual.
apps.apple.com
‎Roamwise: Country Tax Tracker
‎KNOW YOUR DAYS. STAY COMPLIANT. Roamwise helps you track how many days you’ve spent in each country — so you can stay on top of visa rules, tax residency limits, and travel planning with total peace of mind. WHY ROAMWISE? Designed for digital nomads, remote workers, frequent flyers, and expats, Ro…
020
Lennart Brandt @brandtnewlabs.com · 16/04/2025
I’m an EU citizen 🇪🇺, so I don’t deal with Schengen limits myself — but I’ve seen how confusing and stressful it is for non-EU travelers. So I set out to build the clearest, most intuitive solution out there. More visual. More useful. More… brandtnew. ✨
120
Lennart Brandt @brandtnewlabs.com · 16/04/2025
If users love it, I’ll expand it: ✅ Trip planner → Simulate future travel to see if you’ll stay compliant before booking. ✅ Even smarter alerts & edge-case handling (e.g. dual passports, visa overlap)
110
Lennart Brandt @brandtnewlabs.com · 16/04/2025
Why this feature? During #ASO research, I found that “Schengen” has surprisingly high search demand — and very few good apps solving the problem. So I built a feature that makes sense in one glance — no spreadsheet brain freeze required.
110
Lennart Brandt @brandtnewlabs.com · 16/04/2025
The interface is designed for clarity: 🟩 Status tile — tells you if you’re compliant, close to the limit, or over it 🗓️ Recommended action — based on your situation 📊 180-day timeline graph — shows days spent: In Schengen, Outside Schengen, No data 🔜 Upcoming day releases — when your days reset
110
Lennart Brandt @brandtnewlabs.com · 16/04/2025
That’s why I built SchengenPro inside Roamwise — a privacy-first travel compliance app. It gives you instant clarity on: ✅ How many Schengen days you’ve got left ✅ When you need to leave ✅ Which past dates count against your limit
110
Lennart Brandt @brandtnewlabs.com · 16/04/2025
Most travellers can spend 90 days within any 180-day period in the Schengen Area. But calculating that manually? An absolute nightmare💀 You either rely on spreadsheets… Or clunky tools that feel more complex than the rules themselves.
110
Lennart Brandt @brandtnewlabs.com · 16/04/2025
Schengen rules are confusing. Roamwise isn’t ✨ I just launched SchengenPro — a new feature that gives travellers a clear, visual overview of their 180-day Schengen timeline. Here’s what it does and why I built it 🧵 #indiedev #reactnative #expo
170
Lennart Brandt @brandtnewlabs.com · 15/04/2025
The one thing I’ve learned about App Store screenshots: They’re not just for looks—they’re your fastest pitch. With Roamwise, I made sure every screenshot instantly answers: “Why should I care?” Users don’t want features. They want instant clarity.
050
Lennart Brandt @brandtnewlabs.com · 15/04/2025
I just fire console.logs 💀💀💀
010
Lennart Brandt @brandtnewlabs.com · 14/04/2025
Yes! Android is a real nightmare 😅 Which Android device(s) are you using for testing? I'm running a Nothing Phone 2A for Android development.
120
Lennart Brandt @brandtnewlabs.com · 14/04/2025
Learned the hard way: Always test on a real device as early as possible ‼️ Simulator felt smooth—but on my actual phone, haptics hit different, and Roamwise’s photo analysis slowed way down with my full media library. Nothing beats real-world testing #reactnative #buildinpublic
3160
Lennart Brandt @brandtnewlabs.com · 13/04/2025
Thank you 😁
020
Lennart Brandt @brandtnewlabs.com · 13/04/2025
Thank you Matt 🥳
010
Lennart Brandt @brandtnewlabs.com · 13/04/2025
Thanks a lot Oliver 😁
020
Lennart Brandt @brandtnewlabs.com · 12/04/2025
Ah okay! 😅 And unfortunately AI is completely incompetent regarding all things react performance.
110
Lennart Brandt @brandtnewlabs.com · 12/04/2025
What was the issue with the performance? I just had struggles with huge amount of data in @roamwise.app too and managed to fix it through FlatList and proper separation of data loading into separate components.
220
Lennart Brandt @brandtnewlabs.com · 12/04/2025
Turning 35 today! 🥳 Feeling great—healthier, happier, and more productive than ever. Freelancing with React Native @expo.dev wasn’t the plan, but it’s turned out to be a pretty good path to freedom.
3131
Lennart Brandt @brandtnewlabs.com · 11/04/2025
I didn’t think about groups at all 😅 But coming from react navigation, I found a flat stack without groups easier to maintain. And if I want to change how a specific screen is displayed, I can just change the options through constants and don’t have to update navigation routes throughout the app.
030
Lennart Brandt @brandtnewlabs.com · 11/04/2025
Clean routes, easy modals, and zero headaches ✨ @expo.dev router is such a joy to work with.
181
Lennart Brandt @brandtnewlabs.com · 11/04/2025
Exactly. The only downside I see is that I have to take screenshots for the App Store images which is a bit annoying 😅
100
Lennart Brandt @brandtnewlabs.com · 11/04/2025
Thank you Mark 😊
010
Lennart Brandt @brandtnewlabs.com · 10/04/2025
Clean! 💅
000
Lennart Brandt @brandtnewlabs.com · 10/04/2025
Thank you 😊
000
Lennart Brandt @brandtnewlabs.com · 10/04/2025
9/ Hope this saved you some time, headaches, and keyword potential. If you’re building apps solo and care about visibility, ASO isn’t optional. It’s leverage. Follow for more indie dev + app growth lessons. And maybe ❤️ + RT if this was helpful 🙏
010
Lennart Brandt @brandtnewlabs.com · 10/04/2025
8/ Want to DIY your keyword research like a pro? Here’s what I recommend: 🔍 Learn the App Store keyword rules 🧠 Use tryastro.app for idea generation 🧹 Manually clean and compress the final list 💯 Use every character wisely
tryastro.app
Astro: App Store Optimization Tool for iOS developers
Astro helps you improve the visibility of your app and grow your revenue. Track keywords, check the popularity and difficulty of each keyword, and get suggestions on the best keywords to add.
100
Lennart Brandt @brandtnewlabs.com · 10/04/2025
7/ Bottom line: ChatGPT is great at suggesting keyword ideas. But DO NOT trust it to structure your final ASO keyword set. It will break the rules, waste your slots, and hurt your ranking.
100