Pluto

Pluto #

By Pluto: Brandon Ngo, Andre Slavescu, Ibrahim Ahmed, Ishan Baliyan, Anay Baid, Ali Al Shammaa

Describe an app. We build it. Instantly. #

Pluto Banner

Pluto turns your ideas into working apps using just text and images. No coding required. Describe what you want, attach a sketch if you’d like, and Pluto generates a fully functional app you can use, edit, and share with friends on their own devices.

Pluto App

Pluto


How It Works #

3 screens. That’s it.

  1. Describe your app with text, images, or both
  2. Wait a moment while our LLM builds it in the background
  3. Use your app right inside Pluto, then share it with the world

Prompt

Generation


What Makes Pluto Special #

Multimodal prompting - Type a description, snap a photo of a sketch, or combine both. Pluto understands all of it.

Live in-app preview - Your generated app runs in a sandboxed WebView with a full backend database. No export needed.

Preview

Edit with natural language - Don’t like something? Just tell Pluto what to change. It reads your current app and applies targeted updates.

Version history - Every edit creates a new version. Rewind to any previous version at any time.

Version History

Discovery feed - Publish your app for the entire Pluto community to try. Browse and use apps other people have built.

Discovery

Background generation - Start a build, close the app, do whatever you want. A notification tells you when it’s ready.

Background


Under the Hood #

LayerStack
Android clientKotlin, Jetpack Compose, MVVM, Coroutines, WebView
BackendPython, FastAPI, hosted on Railway
AIOpenAI API with structured JSON blueprints
AuthJWT access + refresh tokens, secure SSL
Generated app storagePer-app sandboxed SQLite via REST API
  • Full end-to-end pipeline: auth, multimodal prompt, async generation, versioned artifacts, local unpack, WebView runtime, and a per-app database
  • Generated apps get their own CRUD backend so they can actually store and retrieve data
  • Connection pooling with LRU eviction keeps the backend fast under load
  • Zip extraction hardened against path traversal attacks
  • Foreground service ensures generation completes even if the user leaves the app

The Team #

Built by Team Pluto for CS 446, Winter 2026.

View the source on GitHub