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.

👉 Try it now!


🧠 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

👉 Try here!


📊 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.

👉 Try it here!


💻 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 and event.data.idToken upon success

Ideal for advanced auth flows, enterprise backends, and third-party login systems.

👉 Try it now!


🔧 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