I'm Preet Vadaliya. Some of you may remember me — I contributed to App Inventor a few years ago and was a GSoC contributor (2021). I've been away from the project for quite a while, and this is my way of coming back.
Over the last weeks I've been reworking the Neo layout so that it feels like one consistent, modern design system rather than a restyled classic. It follows the shadcn/ui "nova" pattern: a small set of design tokens, a set of UI primitives (buttons, fields, dialogs, menus, toasts…) and screens composed from them, with Tabler icons for every component. All of it lives under style/neo and goes through a handful of hooks in the core, so the classic layout keeps working unchanged.
What's in the demo so far:
Project list, folders and the project toolbar
The designer: project bar, palette (with an extension drop area), viewer with real device frames (phone / tablet / monitor, Android and iOS), component tree, properties panel with new property editors, Media dialog
Redesigned dialogs and wizards (new project, project properties, UI settings, …)
Try it:https://appinventor-neo.uc.r.appspot.com — sign in with any Google account. It's a plain App Inventor instance running my branch; there's no build server behind it, so Build → .apk won't work, but the Companion connects normally.
It is not finished. Some screens and dialogs are still classic or half-done (blocks editor chrome, several build/connect dialogs, the template gallery, the admin pages), and you'll find rough edges. That's exactly why I'm posting now: I'd rather hear early what feels right and what doesn't than polish in the wrong direction.
Does the designer layout (palette · viewer · tree · properties) work for you in daily use? Column widths, spacing, readability?
Property editors — anything that got harder than in classic?
Dialogs: heading + body + footer on every dialog, inline validation instead of alerts — good or annoying?
Anything that looks unfinished or inconsistent — screenshots welcome.
To be clear about intent: this is not a commercial project and never will be. The demo instance exists only to collect feedback; nothing is monetised and I'm not building a product on top of App Inventor. If the response is positive, my goal is to bring the work back into App Inventor itself — I'll write the usual design doc and split the branch into reviewable pull requests with the MIT team's guidance.
I think you could add another layout—for example, named "Modern"—and leave "Neo" as it is.
I also think that if someone has a lot of projects, a list is better than tiles.
Great to see you back! This redesign looks great. I agree with @Patryk_F ‘s comment about adding it as another layout option instead of replacing Neo. That would be easier for teachers to manage since a lot of curricula and screenshots were just redone for Neo.
I love the “Test on my phone” dropdown button. I can see “Test on web emulator” being super easy to add/find that way once it’s formally released.
Small nitpick: the selection bounding box on the button in the screenshot below doesn’t quite match the actual button size. (I am on Chrome if that makes a difference). I haven’t tested all of the components, but am seeing the same thing for DatePicker, ListPicker, TimePicker, Textbox…etc.
A nice option is the horizontal phone preview without changing the orientation in Screen1.
A very nice and compact look for the color editor in the designer.
An excellent media manager.
Bug: The extension selection window has no background.
@natalie thanks for the feedback, I haven’t started working on the Screen editing and how better we can preview the mocks but sure that is next target, want to make them as much as similar to actual device
One thing should be addressed, I think, in the designer is that, apart from the icon, there is no reference to the original component, and when a user renames it without a suitable prefix/suffix ( or names it in his own language ) it is not that evident what is the base component
You added an help icon on the right, which is good, I’d add the component base name, in parentheses, beside the component name ( or a tooltip… )