Great stuff as usual! As an experienced developer in multiple technologies your videos are great for getting up to speed on a topic with no fluff. Thanks
Great tutorial on buildship👌🏾💯💯At least now I understand it waaay more now. And this is my first time trying to learn buildship. You’re a great teacher man🙏🏾💯❤️
For a beginner as me I am very glad to find your channel. Hopefully more in the future with the basic explanation of SQL if one choose the Supabase. Many thx.
Really nice complete tutorial that gave me a good understanding of Buildship Steve. Congrats. Could you accomplish the exact same thing directly inside FF using custom functions?
Hi Jim. Thank you very much. Yes if you want to put extra logic in the UI then of course this can be done. Ideally though keeping complexity away from the UI is the more recommended option although not always possible for everyone.
@@the_digitalproHi, Steve, I still don’t fully understand how to roundtrip from sb to bs and back to sb based on a ‘supabase new row trigger’ (which works fine) followed by some bs logic to then update the new sb row that triggered the workflow with an ‘update sb row’ node to set a new field value in that row. Having problems with the syntax. If my table his a primary key ‘aud_id’ of type int8 would the buildship update sb row node filter be ‘aud_id=eq.${(x)record.aud_id}’ and the data be ({“field”:”value”})? I also wonder: in case of sb rls how would you pass the auth token when the trigger is a new supabase row. This trigger adds a webhook in sb so do I pass a auth token over there in the header to get it to buildship. Your example here only shows a manual copy/paste input. Sorry for the difficult questions but I can’t find many examples of this and you might be the person that knows this 😉😊
Great tutorial as always. I wish you shared the supabase table though. Unfortunately I couldn't follow along without the data. Also it is not clear how to generate an authorization token for test. You extracted it from browser but we haven't even seen the flutterflow part of the application yet.
Quick question: What are some reasons to use FF vs WIX, FRAMER, etc? For example, if a barber needs to have a place for their clients to book and/or cancel appointments, why not just use a website which essentially provides all of these functionalities, including payment, confirmation etc? Can you please talk about some of the pros/benefits of FF vs a Website?
That's a huge question but a valid one. My personal opinion is that a dedicated mobile app certainly is more accessible than going to a responsive website. The fluidity will likely be quite smooth. So it's quite nice to have something which is in reach for most people to build and FF gives you that. Also remember you can build a Web experience is FlutterFlow too. Remember the purpose of FlutterFlow is to provide a toolset to rapidly build good looking UI's. Wix and Framer will provide templates but likely take you extra effort to integrate with a backend service. FlutterFlow provides that fantastic integration quite easily. This my opinion of course.
Can this be done with n8n vs. buildship? Or even node-red flows run on device against local storage of supabase data? The interest here is maintaining functionality offline.
And right at 15:49 is where things go from "no code" that Flutterflow, BuildShip, etc. ALWAYS and conviently leave out! If you don't already know how to read & write this code you don't have much of an app do you?
I do not think we are right at the point of a perfect nocode world. This is kind of a hybrid approach when performing queries using url parameters. For the perfect nocode tool we are probably 2 - 3 years off and we are expected to get a little technical in places to perform some activities. I am hoping I explain the steps clearly enough in this example which should help you customise to your needs.
When you additionally use a thirdparty integration you will always have some latency but when I was actually putting together this particular tutorial I was really impressed with the response back to my FlutterFlow project. I have also put together a number of other complex workflows whereby I have multiple Supabase database requests and I did not notice any lag back to my FlutterFlow application. Users just would not notice. Credit here to the BuildShip team for optimisations they have applied to their platform.
Hi Alex, hello from BuildShip 👋Just adding a quick note that we use GCP's cloud run which is their fastest offering compared to Firebase or Cloud functions - so you will have faster experience than using native actions. Give it a try :) We also have worked hard to optimize every step of the way so you can deploy any changes to your workflow instantly, no need to wait for long 2-3 minutes building or deploying cycle of cloud functions.
Try to do most of not all of your logic in the backend, it is secure that way and the logic doesn’t lie in your app or the user browser to check and possibly manipulate. Use backend whenever you can.
So I want to ask, with this setup, if a bad actor gets the api url(generated from buildship) from the front end (flutterflow), can they still do something bad with it? Maybe send plenty requests and crash the workflow/app or something? Or we will have to make all api calls in flutterflow private? Also does making an api call private in flutterflow hide the api url as well? Or it just hides the request headers but not the api url? Sorry if this is a lot of questions but I am trying to learn the very best security practices regarding flutterflow.
This is a good tutorial but things have changed since you made this video. Like the AI generation part is different and there is no token showing in the Superbase Get Row.
Yes the AI generation UI got much worse and now the node is called "Supabase - Get Row with Token". I hate it when they change the UI for no good reason....
Not clear how this is actually secure. Still coding the bearer token FF. Great that buildship has integration with GCP secret manager, but unless I’m missing something, that’s just kicking the can up the hill, because FF still needs to handle keys. So you’re back to having to write cloud functions and push .env in FF to manage it properly, and the last time I tried that, it became a mess fast. Would have been easier to write it from scratch in VS code.
Great question. n8n is a very mature tool without a doubt with plenty of established integration options. Self Hosting is a great option but obviously it does have its risks of course in regards to supportability. I have had a couple of close shaves in the past whereby I went to upgrade my instance only for my workflows to get junked. Thankfully I had a backup. If I were serious about this platform and I need confidence on the availability of my workflows I personally would opt for their cloud hosted solution but again this does come in at price point but you get the support. I cannot compare costs in terms of workflow usage because when I did use n8n I had a number of workflows which were not powerhouses. I've not done a direct comparison on costs but at a glance they are quite comparable. I must say the AI node generation in BuildShip has been really useful and moving around the workflow feels just more natural to me certainly coming from tools like FlutterFlow. I'm excited by BuildShip and look forward to cover it more in the future.
Hi Melvin. Thanks for your message. Yes I will make this available and wrap a tutorial around it. It is not complete yet and I wanted to make sure it was before doing anything further with it. I also have further BuildShip workflows which it would use.
Hi. No BuildShip is very different. Zapier provides out of the box integrations which allows services to work together. BuildShip is a visual backend builder which allows you to build complex workflows by interconnecting pre-built nodes or generate new ones using AI. Think of BuildShip as a serverside technology and FlutterFlow as the UI layer. In most systems you would have a frontend and serverside backend.
There is little to zero support on mobile responsive devices built in flutter or node so I basically never touch FlutterFlow or BuildShip. Just back to stable and predictable react again
I'm confused by your message. Please explain the trouble in more detail. Plenty of apps have been successfully released using FlutterFlow and I know of a number of good examples also utilising BuildShip.