Wireframes

Unless you’re a UX expert, I wouldn’t recommend trying to design a fully functioning UI in Figma or wherever. Still, it certainly doesn’t hurt to attempt to mock one up. There are a variety of ways. Figma is great but more complex than it needs to be. Often, a sketch on a piece of paper with annotations around it is enough to get started and give you something to build towards. The same for the backend, paper, Google Draw, Draw.io or Lucid Charts are all great ways to sketch out what the backend data processing and storage layers might look like.

Web Framework

This will be an important consideration if your application has a web frontend. Again, it depends on whether you’re comfortable writing web applications because things can get ugly quickly! Even if you’re not a web developer, you’ve probably heard of React, so that sounds like a great place to start, right? I suggest you go for something easier to get going. We’ve had great success with Svelte for web development, but that’s still complex. If you’re used to programming in Python, there are even non-HTML-based frameworks to get you going. For example, if you’re building a dashboard for data output, using Plotly Dash to create and render charts on a page is a great starting point.

Programming Language

What language do you use? Often, the question is, what are you most comfortable using? It’s a prototype, so we can make life easy here. If you’re happy writing Javascript, consider a backend written using NodeJS. If you’re a Python developer, that’s cool; there are plenty of frameworks to build applications quickly and easily using Python. Of course, this also impacts the cloud level; if you’re using Lambda functions or similar, you can leverage these same languages there.

Choice of Cloud and Services

Which cloud service do you use? Well, do you already use one? Chances are for a prototype and build out to production if you’re happy with it, it’s okay. You might think twice if you’ve got some specific integration requirements, a service only provided by one provider, or some data locality issues or similar. In this case, find one that works for you. But all the mainstream providers are acceptable, along with some of the lesser-known, more local ones like Scaleway, with whom we enjoy working.

Everything as code

You may think this is overkill, but in the future, you will understand. Try to deploy your infrastructure using code, try to do your builds using code, and write your apps using co… oh! Anyway, you get the idea. The reason is that there may be a time between building the prototype and getting it to the point of MVP and on to production, and remembering how you configured your cloud services, ran the build to get the container built and so on is essential. It may take a little longer in the bootstrap process but try to use code for all your workflows, so when you come back, 6 or 12 months down the line, it all continues to work how you left it. You can also read and document the code very effectively.