Show HN: Bravo – Turn designs into native iOS and Android apps without coding
bravostudio.app
bravostudio.app
This is a project we've (ten people team, four developers) been working on since about May this year. It currently supports importing a design from Figma (more to come), setting up API requests and binding the output of the API requests to design elements from your Figma document. From this, we then generate native applications (no webviews nor React Native) that you can preview directly in the phone. You can also create a build where you get the full native app as a binary (IPA for iOS and apk for Android) that you can ship to the app store.
Bit behind the scenes:
- Android version using Kotlin
- iOS version using Swift
- Backend written in JS with NestJS
- Frontend (built by my) made in ClojureScript with reagent and re-frame
Been a fun experience setting up everything from 0 and it's probably the largest project I've done myself with ClojureScript and it's been an absolute bliss to use it. If you're a frontend developer (or developer who wants to do frontend), you should definitely try out ClojureScript and see how it feels.
Hoping to share more experiences and lessons in the future around the development of the platform. In the meantime, any feedback is good feedback, so please don't hold back, y'all usually pretty good at that!
Hope you like it, Thanks!
But don’t underestimate HN as a codemonkey hive; there are plenty of folks here who understand the value of business velocity and low barriers for market entry.
Yeah, absolutely, it wasn't called Startup News before for nothing. Was more tongue in cheek but hard to transmit that fully I guess.
So how far away are the rest api and user login features? Bonus points if your looking to support OpenID Connect for user authentication.
Currently we do support "real REST API" as-in you can use any HTTP API. What's missing is making sure POST and other methods actually are useful in that they can use/deliver values from other requests. Let me know if there is something specific you're missing for this.
> user login features
User login features are definitely on the roadmap but unclear right now how it will be integrated. We might go with something like Auth0 which gives bunch of different integrations built-in (like OpenID Connect). If you'd be open to talk more exact needs and I can give a more exact answer. (happy to answer as a comment here or email [victor@bravostudio.app])
Thanks a lot for the feedback, super helpful!
And on the topic of user logins, I actually mentioned OpenID Connect because I’m using Auth0 at work and for my own personal projects, so if you’re looking at supporting Auth0 directly that’s fantastic news for me! :-D
Yeah, we have plenty of great documentation already but doesn't mean we don't want more. Just takes time :)
In the meantime, there is a tutorial that goes through how the flow works with APIs here: https://www.notion.so/bravostudio/Tutorial-Connect-data-to-d...
> And on the topic of user logins, I actually mentioned OpenID Connect because I’m using Auth0 at work and for my own personal projects, so if you’re looking at supporting Auth0 directly that’s fantastic news for me! :-D
Ah, that's cool, great data-point to have! Thank you for the overall feedback
Bravo seems like a nicer version of this since it generates Swift / Kotlin code.
Also Bravo doesn't generate any code at all, it's built with Swift and Kotlin, but it's a nocode platform, where you get the final packages (ipa and apk), but not the code.
Also Bravo allows to add all the backend and API logic from the same tool, so it's pretty fast to create a working app with API calls.
Hope I brought some light!
I think it ships with a couple of basic ones like Google Sheets and Generic JSON, but the general idea is that customers write their own.
Source: I was the original author of Neonto Studio years ago :)
There's a free version of the same product for React only at https://reactstudio.com
Vertical scroll, then horizontal scroll, then finally a video that appears on a button's hover.
Yeech!