Tags

Flutter

Python

ReactJS

Postgres

Flask

SQLAlchemy

Api Design

Cloud Hosting

Untitled Mobile App

A secret project started as a technical challenge, inspired by a problem I faced when moving back from university which has slowly evolved into a small business venture.

Flutter

Python

ReactJS

Postgres

Flask

SQLAlchemy

Api Design

Cloud Hosting

17 Aug 2021 - 27 Apr 2022

When I moved back from university in August 2021, I had an idea for a mobile app that I hadn't seen made before. I saw this as an opportunity to start a new project that would allow me to build upon all the skills I have gained so far throughout my projects, and to learn many new ones.

After some time of development, I realised that most people I showed the prototype to said how much they loved the idea, and how they could see themselves actually using it. This motivated me to challenge myself further and turn the idea into a small business venture, to not only build upon technical skills, but also see if I could pull off building and leading a small team of people and successfully releasing an app to the world.

Project Goals

  • Create the API in the most professional way possible, with full testing and documentation, with the mindset that it should be ready for a large organisation to buy and work on at any moment.
  • Split the work into portions that have a focus on a certain technology or concept that I want to learn.
  • Release the app on both app stores and have it downloaded and used by the public.

Tech Stack

For this project, I decided to use Python and Flask to build the API, as I was already very familiar with the two and believed they could handle the tasks required. I decided to use PostgreSQL for the database, and I discovered an ORM library called SQLAlchemy to interact with it from the API.

As the major functionality of the app would be heavily content-focused, I decided to create a custom content management system (CMS) to make maintaining this repository of data much easier. For this, I used ReactJS and a CSS framework called TailwindCSS for the styling.

Finally, I decided to use Flutter to code the mobile app, which is a framework that allows you to create mobile applications on both iOS and Android with a single codebase. I believed this to be the best choice as I did not have any experience in Swift or Kotlin, and given the lack of time or money I had available, Flutter would have made it possible to ship on both platforms as quickly as possible.