Yesterday I’ve finally created my first Flask app, using Flask along with the Airtable API as an alternative database.
This is an example how you can create your first own very simple flask app and deploy it online.
However this text is not meant to be a flask tutorial.
It’s rather a Python Flask example using the Flask API.
But you may learn a lot from it and eventually even get some inspiration from it.
Python Flask Example in Practice
I’ve simply built that app to tinker with the Airtable API and to host a Python Flask app on my own.
The goal was to get as much feedback as possible.
In the following paragraphs I describe how and why I decided for the tech stack.
And I will share the initial results of the project launch with you.
Use Cases of Varta App
So far the Varta App is of course quite useless.
It only shows images related to Varta.
And they change once you click on the respective button.
To build apps which might appeal a big audience, I had the idea to find a topic which is currently trending on Google Trends or on Reddit.
I think this may be an interesting way to provide solutions for certain, very clear target groups.
Therefore I am planning to build some apps like this on a basic level – just to get used to building and launching.
Eventually the value of these apps should increase in order to actually solve problems or benefit people in some way.
Overview on the Tech Stack
Flask vs Django
In the past I’ve already had some experience with Django.
But the framework seemed way to big and complicated for me.
I wasn’t really able to produce proper results.
I only got one simple app running.
Maybe my expectations have just been to big.
Flask and Airtable API
Finally I decided to Python’s Flask along with Airtable instead of Django.
Flask is very simple compared to Django.
You basically develop everything using what people would call function based views in Django.
In general the app basically consists of four files:
- photo script (python)
- index file (html – flask template)
- style file (CSS)
- flask app file (python)
I only used a simple Python script (photo script) which collects some pre-populated images from the Airtable API.
You can make flask work by using flask templates.
For my simple application I only needed one simple html file, which I used as flask template.
This html flask template gets some basic styling from a CSS file.
Everything is tied together using the usualy basic python flask app file.
Airtable API as Database
I’ve used Airtable as an alternative database.
Database setup can often be a mess.
And usually you pay extra to run databases.
Therefore I simply wanted to test how this all works with Flask and Airtable.
The Airtable Pricing is setup in a way that you can use the free plan to build basic projects basically for free.
I originally got inspired by Jakob Greenfield.
He gave me the idea to use Airtable as alternative database.
Heroku Free Hosting
So far I’ve decided to host this Varta App on Heroku’s free plan.
Heroku’s free plan will end soon.
But I have some experience with Heroku.
Therefore it seemed to be the easiest choice.
Generally I am looking for a tech stack which enables me to build tools with low (or rather no) cost in the beginning.
Thus I want to become able to build basic apps quickly and launch them to a big audience, in order to test the general interest in a certain topic.
Domain vs Subdomain
For money saving purposes I’ve only used my own subdomain varta.SamHartmann.com so far.
Buying a complete domain, just to build a fun project doesn’t make sense from my point of view.
But subdomains are usually included heavily in most hosting plans.
So building the first one, two or few projects on subdomains of my own domain, seems reasonable so far.
Marketing: Launch Project
After setting up the project, I’ve brainstormed several topics and target groups to which is related.
These are the one’s which came to my mind:
Hence I’ve quickly headed over to Reddit and posted that I’ve build this app in several subreddits.
So far I’ve only covered the investment subreddits.
I wrote individual posts for each single subreddit… and got banned or the posts got deleted on most of them.😣
After launching the website on the first subreddit, I quickly set up a google analytics property to know how many people visit the website.
During the first 16 hours I got almost 160 visitors.
On the top of the hype (😁) I got up to 10 visitors at the same time.
Result, Thougts & Lessons Learned
Took me roughly 2 days to build an app using Flask and Airtable.
Both are tools which I’ve never used before.
I only have very limited experience with general Python programming (self-taught).
Google Trends: Interesting Idea
Choosing trending topics using google trends seems to be an intersting approach.
But of course I am not sure how much the current trend of the varta topic influenced peoples’ interest to visit the website.
And in the end it probably doesn’t matter much if people visit the website solely because there’s currently a trending topic.
Build a Business on a lasting Problem
If you want to build a serious business, you may rather want to build something which does not just rely on a current trend.
It should rather be the solution to a lasting problem.
If you just want to try to attract some people to your social media, this might be a fun way to try it.
And probably I’ll try do do that in a similar way for some more projects.
In the long run it makes sense to build serious businesses.
However it might be interesting to see if it’s even possible to build shortly trending websites and monetize them by including apps from a partner.
This is how I saw Guilherme doing it with beachnearby in the past.
👀 I’m really impressed by the amount of data https://t.co/kVFwKSEarp has now.
🤯 From yesterday to today, more than 4,000 data were added. And now it has 148,859 data entries totally – for 24,586 beaches.
🦑🤿 The beaches also look much more varied 🌺🐠 pic.twitter.com/oqt4P2X8af— Guilherme Rizzo from CSS Scan (@gvrizzo) April 17, 2022
Hope: Learn more – Improve Coding Skills
My goal is simply to repeat the process of building and shipping quickly and often for now.
This enables me to code a little bit and make small improvements every day.
Thus I hope to improve my coding skills in the long run, level up my tech stack and eventually build more valuable projects which are able to make money.
Reddit hates me
Launching on reddit seems difficult, because most subreddits immediatly ban you, if you include links in your post.
Therefore it may be beneficial to launch in clear niche forums too in the future.
However, this obviously involves way more work as well.
Signing up on respective forums is laborious and oftentimes you’ll not be allowed to post links there initially.
Therefore it may be a good idea to try actually building valuable apps as soon as possible.
So that it’s eventually worth the effort of signing up on forums and put in the work to distrubute such an app as far as possible.
And eventually the app or whatever idea should be valuable enough to charge money – so that I am not limited to a cheap & dirty tech stack.
If I eventually earn some money with it I’ll also be able to spend more time in direct outreach.
Which from my point of view and from the experience of many other entrepreneurs with whom I’ve talked is one of the most reasonable things to do in order to boost your sales in the beginning.
Business is what counts
So in the end it’s about business.
If you are just building for the fun – okay, you can to that.
But that’s not my idea and my goal.
Building the skills to launch quickly as Pieter Levels may be one of the most valuable skills.
🍰 Only 4 out of 70+ projects I ever did made money and grew
📉 >95% of everything I ever did failed
📈 My hit rate is only about ~5%
🚀 So…ship more pic.twitter.com/oAn2rdRpFT— @levelsio (@levelsio) November 7, 2021
Having a time frame of approximately one month to work on a certain project (or rather business) also sounds like a reasonable time frame.
Thus you have enough time to launch your product on several channels.
But especially you have the time to talk with many people.
You can talk to the target group.
You can talk to press and eventually get traffic from their trusted websites.
You can set up partnerships (with influencers or other people).
Eventually you’ll be able to sell something – if you but buy buttons on something which is worth it.
Further Launches and Follow Up Projects
And theoretically there are still some subreddits left.