Case study · BEYONDtrading, LLC
PullTab Trading
A bootstrapped trader app that outgrew its no-code platform and owns its stack.
Live on App Store + Google Play. Platform rent gone.
Chapter 01
Client
BEYONDtrading, LLC, owned by Carey McLean. PullTab Trading is a trading journal app for retail forex and futures traders who want to get better by reviewing their own trades, not by reading another influencer's opinions.
Website: pulltabtrading.com · App Store: iOS · Google Play: Android
Chapter 02
What it is
PullTab Trading is a native iOS + Android journal for retail traders. It opens instantly, syncs their trades in real time, and reminds them, with push notifications that actually arrive, to review their sessions while the lessons are still fresh. One calm, fast tool for a discipline that demands both.
Chapter 03
Existing Success
PullTab already had real users on Bubble.io. Store listings with reviews, a year of traders running their review habit in the product, and an audience that knew the app. The brand wasn't starting from zero, the question was whether it could afford to stay on Bubble.
Chapter 04
The Challenge
Carey had been a Bubble super-user for close to eight years by this point, and Bubble deserves real credit: it's genuinely good at getting an idea off the ground fast, without hiring anyone. It's how PullTab got its first real users at all.
But the business outgrew what made Bubble easy in the first place.
- Every small change turned into a hunt. The low-code editor that felt simple at the start got clunky as the app grew. A change that should take two minutes meant clicking through screens to find the right workflow. Updates slowed down, and Carey wasn't even opening her own app every day anymore. That's the real cost of no-code at scale: not the invoice, the app quietly going stale.
- Rent kept rising, and it took real hours to manage. Bubble's pricing scales with workflow volume, so the bill climbs as the app gets used. Carey was spending real hours just watching workflows so they wouldn't get stuck or spike the cost. Today the equivalent backend on Supabase runs about $25 a month. On Bubble it was running close to $130.
- The platform boxed in what the app could do. Bubble couldn't even serve a GET and a POST request on the same endpoint, a basic thing any real backend handles without a second thought. Owning your own endpoints, webhooks and email sending (PullTab now uses Resend) sounds small until you've spent hours working around a platform that can't do it.
- The experience didn't match the user. Serious traders move quickly; Bubble's mobile wrapper took 3 to 4 seconds to cold-start and couldn't deliver the swipe gestures, haptics, and instant feedback that make a daily-habit app worth opening.
- Push notifications were fragile. Apple and Google tightened their push requirements. Keeping Bubble's push path working meant ongoing maintenance just to not regress.
- A deadline was about to lock in another year. Bubble's plan was about to auto-renew. Stay on the platform and pay another year, or ship a native replacement in 3 weeks and own the product.
Chapter 05
The Solution
theAppChicks rebuilt PullTab as a native iOS + Android app in under 3 weeks: same App Store listing, same Google Play listing, same users, zero downtime. Here's what the business got out of it, as capabilities BEYONDtrading now owns:
Change it in near real-time, not on the dashboard's schedule
The biggest week-to-week change, and the real story here. On Bubble, every update meant clicking through the platform's workflows, hunting for how the no-code builder wanted a page or a data flow edited. On the native stack, Carey watches the change build in a simulator, says "that looks great, one more tweak," and it's live in minutes. The app can finally move at the speed of the business instead of the speed of a form builder.
Releasing is now a sign-off, not a chore
Every build goes to TestFlight first. Carey does a manual walkthrough there, and only once she's happy does she say "send it to Apple for review." No logging into App Store Connect or the Play Console to push it through. Even the store screenshots, listing text and assets are generated automatically now, work that used to be entirely manual. Release day takes minutes instead of an afternoon of dashboard navigation, and the app improves as often as the business needs it to.
An app that respects the user's time
Native shell loads in under 500ms, where Bubble took 3 to 4 seconds. Swipe gestures, haptics, and real-time trade sync feel like a real app because it is one. Users who were tolerating the old experience now want to open the new one.
Real-time sync, not polling
Closed trades land on the timeline within seconds of the broker reporting them. No polling delay, no "pull to refresh" ritual, the journal is current when you open it. That's the difference between an afterthought and a daily habit.
No platform rent, no platform lock-in
Bubble's monthly workflow bill, once running close to $130 a month, is gone. The equivalent Supabase backend runs about $25 a month, with room to scale, so the marginal cost of each new user stays low even as the numbers grow. No more hours spent babysitting workflows so they don't get stuck or spike the bill.
Real endpoints, real ownership
Bubble couldn't serve a GET and a POST on the same endpoint, a basic thing any real backend handles without thinking. PullTab now runs its own endpoints, its own webhooks, and its own email through Resend. Every credential lives in BEYONDtrading's own accounts: Apple Developer, Google Play Console, Supabase, Expo. The app is signed with the original Android keystore, so the store update path stayed intact. If theAppChicks disappeared tomorrow, PullTab would keep running.
Chapter 06
What traders see
- A launch screen that's ready in half a second.
- Their trades, synced and grouped the way they think about them, not the way a form builder thinks about them.
- Push notifications that actually arrive, from the right app, with no "verify your subscription" drift.
- Same App Store listing they installed before: same reviews, same history, same app name, just faster.
Chapter 07
What BEYONDtrading sees
- A codebase in their own GitHub, deploys in their own Expo account.
- A release flow that's TestFlight, then a walkthrough, then Carey's sign-off, then Apple review. No dashboard navigation, no vendor-specific tooling to relearn.
- Automated store assets: screenshots, listing text and submissions all generated and handled without manual work.
- A user base that grows without the bill growing linearly with it.
- Dev work compounds: every improvement lands on both platforms at once, not rebuilt per store.
Chapter 08
How the migration worked
A Bubble export comes out as one messy JSON file covering everything the app does. From there, each workflow got pulled out and rebuilt properly, often cleaner and more streamlined than the Bubble original. Existing users didn't have to do anything: same app, same login, same trade history. The whole migration, from export to a working native app, took under 3 weeks.
Chapter 09
Why this matters
PullTab is the pattern for any founder whose "MVP on a no-code platform" has outgrown the platform:
You shipped on Bubble, Webflow, Glide or Softr because it was fast. Now your real users deserve a real app, and you deserve to be able to keep up with your own product again. theAppChicks migrates you off, same listings, same users, zero downtime, and hands you something you can actually iterate on.
It's also proof that 3 weeks is enough when the scope is disciplined and the store listings stay stable. No rebuild-from-scratch drama, no new brand launch, no re-marketing push. Just the same product, faster to change and cheaper to run.
Appendix
Status
Live on iOS + Android. Migrated in under 3 weeks from first commit to TestFlight, with zero user-visible downtime.
Appendix
Technical appendix
Included for the curious. This is how the outcomes above are delivered; none of it is the story.
| Layer | Choice | Why it serves the business |
|---|---|---|
| Mobile | Expo + React Native | One codebase, two stores, native feel on both |
| Backend | Supabase | Identity, trades, and member state in one place; real-time sync removes polling |
| Push | Expo | Push notifications on iOS and Android; survives Apple/Google tightening |
| Signing | Original Android keystore + App Store Connect API keys | Preserves store listing, reviews, and update path, no user disruption |
| Build / release | EAS Build + EAS Submit | Every release is a standard command, not a vendor-specific portal |
| Secrets | Doppler (dev / stg / prd) |
Store credentials never live in the repo or in a dashboard screenshot |
Auth is magic-link-first: the signup flow collects an email, login sends a one-time code. No password to remember, no "verify your email" wall between a new user and the product.


