Ever wanted to build a IT product startup but never had the courage to do so? It might be easy than you think and does not cost you arms and legs. You can validate your ideas and even get a working prototype to your customers with less than 100 USD.
Tech is Evil
Got an idea then jot it down on a paper or whiteboard. Getting distracted is the last thing to do when your creative juices as flowing. Apart from all goodness that technology provides us, it's very good in constraining freehand scribbling and also making us lose focus. Make it simple and stop searching for complex digital tools.
Nothing beats a simple pen and paper in terms of productivity.
Pretend and Play
If you intend to quickly have an interactive prototype fast then Figma is the best tool to go. It’s super fast to work with, simple, and deployed instantly with real-time updates. You can show off your idea as you build it.
Invision Studio is another alternative but it requires you to download an application and keep files in sync with the cloud. Also, you can only have 1 prototype for the free plan.
Go with Figma.
Learning to code to build software is no child play. Apart from this, you need to be also concerned with deployment and maintenance strategies for production to the customers. Hence if you lack a technical co-founder then no code/low code tools are the way to go.
Couple of tools to note
- Bubble — If you are building only web apps then Bubble is an excellent choice and several pre-built templates can be purchased. The cheapest would be 29 USD per month for one editor. It is extendable using plugins, both free and paid.
- Appsheet — This is a very simple tool that integrates with google sheets. And comes with options to deploy in both mobile and web. The starting cost is around 5 USD per user. And if you need advanced functionality such as barcode scanning etc then 10 USD per user needs to be paid. If you want some features like recording audio then you’re out of luck.
- Appgyver — This is a free option. Great features and easy to use. However, on a personal level, I was never able to deploy an app successfully.
- Glideapps — Private apps are around 40 USD and an additional 2 USD per user, but the limitation would be for the 25,000 data rows. Hence if 100 users use 250 rows of data then you are already maxed out. It provides several templates to start with.
- Amazon Honeycode — Good for internal tools and not for consumer applications and even the highest plan could set you back 20 USD per user.
App sheet — the choice is platform is very critical as there is no way you can migrate between the different tools.
Let me do it the Hardway
Coding a product from scratch is daunting and more so if you’re not from a technical background. It also depends on your capability to grasp the technical concepts and jargon. And with the plethora of frameworks and languages, only the confusion keeps growing.
Let me make it simple for you. There are three parts
- The Frontend — This is what the user sees and interacts with. You are able to read this very article only because there is a program that converts the bits and bytes and renders them on the screen.
- The Database — This is where the customer data is stored.
- The Backend — This is where the actual work is done. Right from fetching the data from the database and sending it to the frontend and vice-versa.
There are several tools or frameworks that make your life a little bit easier. Sometimes backend comes with templating engines which take care of rendering the frontend code also. However, choosing them should boil down to the type of application you want to build. The most popular frameworks used by startups are
- Backend -Nodejs with Express (pug templating engine) or Python -Django (jinja2 templating engine).
- Frontend — React and Vue is slowly rising in popularity especially when the companies switch from server-side templating to frontend
- Database — MongoDB which is based on stored data as documents and PostgreSQL which stores in a format similar to the rows and columns of the excel sheet table. MongoDB is known as schemaless which means it does not restrict you in terms of the data (document) structure. Hence a single folder (collection) of documents each can have a different data structure. PostgreSQL on the other hand forces you to have a clear structure from the start and all the rows in a single table should conform to the structure(schema). The latter also comes with a full-text search for free.
Type of Application
Interactive / Realtime applications
For any application that needs some real-time or interactiveness node js with react could be the ideal choice.
The most famous stack or framework is known and MERN which is an abbreviation for (MongoDB, ExpessJS, React, and NodeJS). MongoDB is really easy to start with however in the long run due to the schemaless nature, you might end up with a problem when the same collection of documents have different structures and you need to somehow manage all of them within your application code without conflicts.
Hence it best to opt for the PERN framework. The only difference is that PostgreSQL is replaced for MongoDB. Further managed PostgresSQL databases are in plenty. Whereas the managed MongoDB is a monopoly and also costs higher.
Simple / Analytical applications
If real-time / interactiveness is not the primary concern but good analytics and data munging are then Django is the best option. The default template engine is very powerful and the inbuilt class-based views take care of most of the common cases making development and prototyping easy. You can also connect Django to a frontend framework like react using the DjangoRestFramework.
It also comes with a ready-to-work admin page where you are can add or modify data ease. User management is also available out of the box.
However, most of the third-party libraries are outdated or lack support for Django/python when compared to Nodejs.
Getting developers are easy because you only need to focus on python.
In this method, you maintain your main application in PERN and maintain the analytical stuff in python. Also instead of Django, another faster framework called FastAPI can be used. It is simple and easy to integrate.
Flutter — Made by Google. It's getting increased support recently when compared to react-native. It has native AI/ML capabilities built by Google. However, it's built using a language called Dart which requires additional learning/maintenance.
Once you have to build your application you need to show that to your public users. This process is called deployment to production. There are several options ranging from renting out services to host your frontend, backend, and database separately vs hosting them all in a single server. Also, there is a combination of options in between them.
Heroku — Know as PAAS (platform as a service). This is the cheapest deployment option available for development and testing. They offer support for PostgreSQL and the app can run for free up to 400 hours /1000 hours and your server also sleeps afters 30 mins of inactivity. The basic plan in which the server keeps running costs about 15 USD (7 for app server + 9 for managed PostgreSQL database)
Digital Ocean Droplet — Also known as a virtual server. If cost is a concern then a single digital ocean droplet is the best bet. It costs about 5 USD per month only. However, deployment and maintenance are more difficult than above.
AWS — Known as IASS infrastructure as a service. One of their offerings called serverless is pretty good and supports several programming languages. You don't have to pay for the idle time of the backend. It has always free tier usage. However, the relational database will set off a minimum of 22 USD. You can choose freemium Dynamodb, however, you need to keep in mind the vendor lockin.
Digitalocean App platform — Starts with 15 USD for managed PostgreSQL database and 12 USD for running the application. It can run the majority of the languages including containers.
Hostman — Starts with 8 USD for PostgreSQL and app server each. Overall this is the cheapest option compared with the least complexity involved.
Easy and cheap — PERN Stack (R for react/react-native), Fastapi if ML with hosting in Hostman.
Steps to go from idea to product
- Put out your idea on a piece of paper/whiteboard that is low-tech and does not restrain you.
- Transfer it to a PPT and create a pdf -> gather suggestions and feedback using google sheets
- Make a clickable prototype using Figma
- Convert your idea to a mobile app or web app using AppSheet. Upgrade to higher plans only based on necessity
- Move to Hostman for production deployment as Heroku will be more costly.
- Move to AWS if the Company has outrun the Hostman offerings.