
Show HN: Bravo – Turn designs into native iOS and Android apps without coding - diggan
https://www.bravostudio.app/
======
diggan
Hello HN!

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!

~~~
zyl1n
Congrats! Any reason you didn't go with clojure/clojurescript for backend
also?

~~~
diggan
Thanks! We're two different people building the backend and frontend. I'm
building the frontend and I'm the most productive with Clojure/ClojureScript
and the developer building the backend is more productive with
Node.js/TypeScript

------
axaxs
This seems like a good start. I've often wondered why someone hasn't recreated
something akin to a modern VB6. Allow users to drag/drop things, add some glue
code in some intermediate language, and output to Android, IOS, or even
native. Java came somewhat close, but I think if done well could be a huge
success.

~~~
diggan
Thanks, "a good start" is what we think too, still long way to go. Yeah, I
think that's a step further than what we're focusing on now, enabling Figma
(and Sketch et al in the future) users to import their designs, add API
connections and bind design elements to API output/input. Basically making
designers avoid having to write code (hearsay here on HN but here we are :) )

~~~
toyg
I think you meant heresy...

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.

~~~
diggan
Sorry, I'm not a native English speaker, but thank you for correcting me so I
don't repeat it.

Yeah, absolutely, it wasn't called Startup News before for nothing. Was more
tongue in cheek but hard to transmit that fully I guess.

------
techdragon
I’m sure it’s useful to some people at this stage but for me I see that logins
and real rest api support are future goals which makes me deeply suspicious
since this kind of product has burned me about a half dozen times now...
starting strong but never getting to a point where I can actually use it for
real serious business work beyond the demo pre-prototype stage.

So how far away are the rest api and user login features? Bonus points if your
looking to support OpenID Connect for user authentication.

~~~
diggan
> real rest api support

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!

~~~
techdragon
That’s great to hear about the rest APIs, I was looking on the website and
couldn’t find the documentation about them, I’m guessing it might be harder to
find while browsing on my phone so my bad if it’s somewhere obvious and I
missed it.

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

~~~
diggan
> I was looking on the website and couldn’t find the documentation about them

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...](https://www.notion.so/bravostudio/Tutorial-Connect-data-to-
design-02ff42fdaa34414babb328d996f1a243#4ed3462b51354abe945394db0b67fb20)

> 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

------
ivan_ah
There is a similar project called Neonto Studio:
[https://neonto.com/nativestudio](https://neonto.com/nativestudio) The code
Neontov generates is not exactly perfect, but it's still a nice starting
point.

Bravo seems like a nicer version of this since it generates Swift / Kotlin
code.

~~~
boson89
Well that's not exact, Bravo it's free.

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!

~~~
GordonS
While I get what you're saying, I do find it a bit silly to say "Bravo doesn't
generate any code at all", when it plainly does - the app developer (or
whatever you want to call them) just doesn't get to see it, since all they get
is the binaries built from the code.

~~~
basch
"doesnt output source code" would work.

------
canada_dry
Sorry, but your website is awful.

Vertical scroll, then horizontal scroll, then finally a video that appears on
a button's hover.

Yeech!

~~~
diggan
Thanks for the feedback, happy that you wrote concretely about what you didn't
like.

------
lelehc
Great idea but Figma is not the best...Build for sketch!

~~~
stevenicr
Don't build for sketch, I am not going to buy a mac just to use your app.

