🍕 Viva Pizza: Making a secure storefront (pizza delivery) on Coda

This has been a successful exploration of how to make a secure storefront + production management doc using:

  • a sandboxed published doc for placing an order
  • a private back-office doc for processing and managing orders and the source-of-truth database

and Coda Forms to connect the two.

:point_up_2: Place an order, wait for an email, watch the video :point_down:


P.S. This exploration is very interesting for another reason. If I could build a cart, one could build a Typeform replacement, an interface with any sort of conditional logic to collect input, and send it to the private doc the same way I did it with the pizza orders.

1 Like

Hey @Paul_Danyliuk ,

This is really built so nice - nice looking, logical, clean, expandable…

I am wondering about one aspect though: this doc is in play mode, which is obviously good for this demo. But when you would actually use this for “your” pizza business, what kind of mode would you use? You would want non-coda users to access this doc as well? Maybe I a overlooking something, but I don’t see it (yet).


Of course — this is just a storefront, a landing page for anyone to collect an order using the interface I built for them, and submit it in a form. It is intentional that the doc is a sandbox. And I don’t need people’s logins to order pizza — as long as they specify their phone number and delivery address (an email address in this particular demo) and I know how to contact them and where to deliver the pizzas, I couldn’t care enough if they have an account or not. On the contrary, this is less friction for people.

All the processing is done on the backend doc that’s not shared with any of the customers. This is proper frontend/backend separation here.

Think of the @viva-pizza doc as a Typeform basically.

1 Like

Hey Paul,

Thank you for clarifying that. You put a tremendous amount of work in this ‘demo’ and you have stretched once again what can be done with Coda. Thanks for sharing and showing what’s possible.

I wasn’t aware one can use a form to submit real data even when the doc is in playmode, one more eyeopener.

Greetings, Joost

1 Like

It’s an embed, so yeah, it’s just like a form opened by itself in a new tab

1 Like

This is an amazing doc :partying_face: :star_struck: :grin: !

Thank you so much for building and sharing it @Paul_Danyliuk :raised_hands: !

I’m going to keep it in mind for my future published docs as in terms of UX this is just perfect :raised_hands: ! (and UX is still something I need to work on :blush: )

Congratulations Paul :partying_face: :raised_hands: !!!

1 Like