How we built a TikTok for Bluesky with Expo
Users••7 minutes read
João Davi S.N.
Guest Author
Spark is a TikTok-style app built with Expo and the AT Protocol, offering longer videos, live-streaming, and user-owned data on decentralized social.

This is a guest post from João Davi S.N. - he is a front-end developer focused primarily on React.js and React Native, and he's part of the team building Spark.
...
Spark is our attempt to bring a TikTok-like experience to decentralized social networks — specifically those using the AT Protocol, the same technology behind Bluesky. By developing Spark as its own app with a custom backend, we can support features such as longer videos, more advanced editing tools and live-streaming. Using Expo has greatly accelerated how we build, iterate, and ship features.
Today we're announcing the public beta for Spark so please give it a try and let us know what you think!
Our journey building Spark
When we first explored the idea of a “TikTok for Bluesky,” we quickly ran into a roadblock: Bluesky itself was built to rival X (formerly Twitter), not support feature-rich video. The one-minute limit in Bluesky just wasn’t enough for what we had in mind. We needed more creative flexibility — things like filters, effects, a music library, and multi-minute videos.
So, we decided to build Spark directly on the AT Protocol. This approach allows us to interoperate with the Bluesky community (for cross-posting or discovering friends) but sidestep the one-minute cap. In Spark, creators can share videos up to three minutes in length, with plans for live-streaming in the near future.
Spark’s standout features
- Advanced Creation Tools: Spark needs to be a legitimate alternative to mainstream short-form video platforms, so we are including filters, music, and other creative effects that help videos pop.
- Platform Interoperability: The AT Protocol allows for any platforms on it to work together. Users can choose to share their Spark content to Bluesky, either as a one-minute direct upload or an embedded longer clip.
- Decentralized Data Ownership and Control: Much like Bluesky, Spark will let users host their own PDS (Personal Data Server) if they want full control over their data. Otherwise, they can rely on our hosted option.
- Extended Video Length: One of the biggest differentiators to other ATproto apps is the ability to share up to three-minute videos. This opens the door to tutorials, vlogs, music covers, and more.
- Customizable Algorithms: Users can create customized feeds, catering to specific user needs and preferences.
- Open-Source Framework: The AT Protocol is an open-source framework, allowing for community contributions and innovation.
- Live-Streaming: Live video is an essential part of modern social apps, and it’s high on our priority list. Our hope is that by leveraging the AT Protocol, Spark’s live-streaming will offer real-time engagement while maintaining user data transparency.
Why we chose Expo
Building Spark with Expo has been a game-changer for several reasons:
- Rapid Iteration: Expo’s Over-The-Air (OTA) updates let us push new features without waiting for standard app store approval. This is vital in the early stages when we’re shipping fast and testing often.
- Unified Development: With a single codebase for iOS and Android, we can focus on making Spark’s interface intuitive and seamless across devices.
- Built-in Ecosystem: Expo’s robust tooling, from testing libraries to asset management, simplifies development. We can focus on refining Spark’s user experience instead of wrestling with native dependencies.
Challenges and lessons learned
1. Balancing user autonomy and feature richness
Because Spark and Bluesky are decentralized, it’s important to let users choose how they store data. However, building for user-run servers adds extra complexity. We’ve had to ensure Spark’s back-end services remain robust enough for general use, while also enabling advanced users to run a PDS on their own infrastructure.
2. High-performance video
To provide a TikTok-like experience, Spark needs near-instant playback, smooth scrolling, and responsive editing tools. Making that happen in a cross-platform environment means aggressive optimization — from preloading video frames to ensuring each filter runs efficiently on any device.
3. Designing a fair revenue model
We plan on monetizing through various digital business models, with the goal of sharing revenue with creators. It’s a work in progress, because we want to keep things sustainable without overshadowing the user experience. Our priority is ensuring that monetization benefits the entire ecosystem — creators included.
Tips for others building apps on the AT Protocol
- Start small: Our first prototype was just a one-minute uploader. It taught us what was lacking in Bluesky’s existing infrastructure and pushed us to build our own. Don’t be afraid to iterate quickly.
- Embrace the Expo pipeline: If you’re developing for mobile, Expo can drastically reduce friction. Its streamlined environment is perfect for fast feedback loops, whether you’re testing video playback or user authentication flows.
- Connect with the community: The AT Protocol is still evolving, so best practices aren’t firmly established. Engaging with other developers on forums, GitHub, and social media ensures you learn from each other’s experiences.
What’s next for Spark?
Today is our beta launch because the front-end and back-end are now polished enough for creators to dive in and start publishing. The next big features we’ll tackle include:
- Live-streaming: Real-time events and Q&As with creators.
- Advanced editing: A broader effects library, plus more creative overlays.
- Better feed curation: Multiple feeds for different categories (music, dance, Spark-exclusive content, etc.).
Ultimately, we want Spark to give creators true autonomy over their data while offering the full suite of features you’d expect from a modern social video platform. By building on Expo, we’re able to move quickly without sacrificing quality, and the AT Protocol ensures that the app can integrate seamlessly with Bluesky and other emerging decentralized platforms.
If you’re interested in trying Spark and helping shape its future, stay tuned for the beta sign-up. We’re excited to see how creators use these longer videos, filters, and other tools to bring new energy and inspiration to the world of decentralized social networks.


