From sentence to running app
What actually happens between your description and an app running on screen.
1
Say what you want
One sentence is enough. When it matters, Morello asks a couple of sharp questions, screens, data, vibe, before writing a line.
2
Watch it build
It plans the app, writes real React and TypeScript, builds with Vite, fixes its own build errors, loads the result in a real browser to check it, and hands you a link where it is running.
3
Make it yours
Describe changes in plain English and watch them land. Every run is checkpointed, roll back to any earlier version, anytime.
▸ Planning Streaks, 3 screens, local storage, one accent color ▸ Writing React TodayView.tsx · habitStore.ts · WeekOverview.tsx …14 files ▸ vite build error: property 'streak' is missing in type 'Habit' ▸ Fixed HabitRow.tsx, rebuilding ✓ Build succeeded, opening preview ✓ Run finished · your app is running at a link you can open
Or build an iPhone app and send it to the App Store
- Pick iOS app in the composer. Same sentence, same flow. You get a React Native project on Expo instead of a web app.
- See it at real phone size. The preview runs at 393×852 with the real notch and home-bar insets, so what you judge is what a phone shows.
- Morello looks at every screen. It taps through each tab, photographs them, and scrolls to the bottom of anything that scrolls, because a bar covering the last row only shows up down there.
- Publish compiles a real binary. Paste an Expo access token and Morello runs the iOS build on your own Expo account, then you finish the listing in App Store Connect. You need an Apple Developer account, which is Apple's requirement, not ours.
outlast/ ├── screens/ │ ├── HomeScreen.tsx │ ├── GamesScreen.tsx │ └── ProfileScreen.tsx ├── components/ │ ├── ProgressRing.tsx │ └── TabBar.tsx ├── theme.ts ├── app.json the name under your icon └── eas.json how the iOS build is made
It's a real React project, not a sandbox
- Real React. Standard React, Vite, TypeScript, and Tailwind, the same stack working front-end teams use every day.
- Real files, in a layout you can read. Components, state, and styles where a developer would expect to find them, not buried in a black box.
- A link you can share. Every build ends with your app running at its own URL, so you can open it on your phone or send it to someone.
- No lock-in. Stop paying and the code you built is still yours, in a standard React project with nothing proprietary in it.
streaks/ ├── src/ │ ├── main.tsx │ ├── App.tsx │ ├── lib/habitStore.ts │ ├── components/WeekOverview.tsx │ └── … 10 more files ├── index.html ├── vite.config.ts └── package.json // a standard React project, yours to keep