Just did a mini-app with the app builder: customer feedback + coupon codes (baserow + stripe integration)

I finally took the app builder for a spin and decided to use it for a customer feedback form which delivers a coupon code for discount at the end.

My overall feedback: the combination of low code app + form builder + database is very powerful. The fact that you can freely link from database rows to gui widgets is very convenient. Baserow is also one of the rare tools which allows anonymous lowcode apps, other such platforms require people to sign up.

My app works like this: user lands on the form from my marketing system, with their email address as the parameter. They get asked a couple of questions, and in the end they are rewarded with a coupon code.

I didn’t want to use a static coupon code, because users may share it between themselves, so I use a view to return the first row out from “valid coupon codes”. When the user validates the form, it marks that coupon code as “redeemed” (using a button action), and it removes it from the “valid” view.

I do have to pre-populate those coupon codes, but that can be done trivially using a script which calls the stripe API and then the baserow API.

So overall this baserow app builder is already very usable if you’re doing something like gathering feedback, gathering signups, something like that. The possibilities for logic and conditional branching are a bit light right now.

I ran into a bug: if a parameter is passed by url, i’m not able to pass it to another page through a link, the parameter simply doesn’t appear on the link properties for the next page.

That’s an awesome use case, @lucw. We’re so glad you’re using Baserow’s application builder and we really appreciate your feedback. If you have any other thoughts or ideas for improvement, we’re all ears!

@jrmi, could you please check out this potential bug?

reproduction:

  • create page1 with url /:param_1
  • create page2 with url /page2/:param_1
  • create a link/button on page1 to navigate to page2, when populating param_1, I cannot find a field in the pop-up menu that appears.

I can add screenshots if it’s not clear @jrmi

No need for screenshot, I was able to reproduce it. Actually we did it on purpose but I don’t think it was for a real reason. Thanks for reporting. Issue created.

Thank you @jrmi very appreciated!
By the way baserow has become my default “polling” system for my Saas users / mini crm. Better than typeform as all the data lives together.

Update on my mini-app: some customers abused the free coupon code mechanism, so I had to implement something a bit more complex with baserow app builder + baserow data table which contains the coupons + n8n + convertkit.

The workflow is:

  • user is sent the promotion on convertkit
  • they are redirected to the form on baserow app builder
  • the form picks a coupon code from a list, then marks that coupon as redeemed
  • then, a webhook on a baserow table calls n8n
  • on n8n, the workflow sets a user field on convertkit, then adds a tag, and this fires off a sequence on convertkit which results in the user getting the coupon code.

This way the customer can only go through the workflow once.

I’m kind of getting the hang for those low code apps now. For a long time, I resisted the no-code trend, thinking I was better off writing it myself. And it’s true that if you’re a competent app developer (notice how I just called myself a competent app developer :p), you can write something more powerful using traditional code.

The thing is, with marketing, you’ll end up writing a lot of throw-away code which stops being useful after a promotion. So by putting these marketing workflows in no-code apps, you can keep your main code clean with only stuff that is going to live in production for a long time.

i like the clean appearance of the forms on baserow app builder. I think it could stand to have more functionality, like branching (if-then-else). Passing some state from one view to another could be easier also. I trust @jrmi will write all that for us !

Thank you very much for sharing this experience. I’m sure it will help others as well!

You’re right. No-code tools are excellent for non-developers, but they’re also valuable for developers. As a developer (competent or not :smile:), I find these tools complement well traditional development. They allow us to focus on the parts that really need custom code. Additionally, no-code tools empower end users to make changes themselves, enhancing flexibility and efficiency.

We definitely agree. For now, we have other missing features to address first, but we will revisit this as soon as possible.