Ensemble Update - March 2025
In a nutshell:
- Customer Spotlight: Swoop
- Face Detection for Camera 🤳
- JavaScript Code Validator: Catch errors before runtime 🧠
- Web Camera Overlay: Now buttery smooth 🖼️
- Desktop Studio Enhancements 💻
- Flutter 3.29.2 Compatibility 🚀
- Firebase Custom Token Auth ♿
Customer Spotlight: Swoop

We’re thrilled to feature Swoop - The All-In-One Transportation Solution. A long-time Ensemble partner, Swoop has built multiple mobile apps on our platform to power their modern ground transportation services. Swoop delivers seamless experiences across a wide range of users and industries, from corporate travel managers to students and sports teams.
Their mission? To simplify group transportation at scale — and we’re proud to help make that vision a reality.
🤳 Face Detection – Built Right Into Your Camera

Take your camera to the next level with live face detection—no extra effort required.
- Real-time face detection inside your camera
- Adjustable accuracy and alignment
- Auto-capture when a face is detected
- Custom feedback messages (like “Face centered!”)
Perfect for seamless onboarding flows, presence checks, and attendance systems.
🧠 JavaScript Code Generation – Now with Smart Validation

We’ve added a context-aware JavaScript Validator to our AI code generation pipeline.
Now, whenever the AI writes JavaScript for your app:
- The code is validated against Ensemble’s context
- If there’s an issue, the AI auto-fixes it before you ever see it
This means fewer surprises, cleaner output, and more reliable smart code—every time.
🖼️ Web Camera Overlay – Lightning Fast, Butter-Smooth

Our web camera experience is now silky smooth thanks to a re-engineered overlay system.
- Uses Web Workers to move image processing off the main thread
- Keeps your UI responsive even during intensive capture/render cycles
- Feels faster, acts smarter
📊 Track Events with JavaScript
Easily log custom events straight from JavaScript using ensemble.logEvent()
:
ensemble.logEvent({
name: "event from code",
provider: "firebase",
parameters: {
timestamp: ensemble.formatter.now().getDateTime()
}
});
Track user flows, feature usage, and app behavior with just a few lines of code.
💻 Desktop Studio – Smarter Local Development

Local dev just got a glow-up. New improvements in our Desktop Studio include:
- Cloud Sync: Automatically update local apps from the cloud
- Auto-Updates: Always stay on the latest version
- Git-Friendly: Manifest files now use relative paths, perfect for working across branches and teams
Everything you need for a smoother offline dev workflow.
👉 Download the desktop app and take control of your app development from your own machine.
🔐 Firebase Custom Token Authentication – Now Supported

You can now sign users in using custom Firebase tokens from your backend.
How it works:
- Send a token generated via the Firebase Admin SDK
signInWithCustomToken
handles login or auto-account creation- Access
event.data.user
andevent.data.idToken
upon success
Ideal for advanced auth flows, enterprise backends, and third-party login systems.
🔧 And a Few More Goodies…
- ✅ Flutter 3.29.2 Compatibility – Fully supported templates
- 📱 Android Media Permission Fix – Play Store–friendly
- 🧱 ListView gap fix – Spacing issues resolved
- 🧭 TabBar Border Support – Add borders for visual emphasis
- 🎞️ Animated Header Fade – Smoother transitions for headers
- 🔧 Core Improvements – Camera, file manager, and event handling enhancements