"How hard can it be?" This is what I told myself the moment I decided to start learning how to write code from scratch. I went from not being able to write "hello world" in any programming language to building MobileGPT - the WhatsApp application that was one of the first to bring ChatGPT to WhatsApp.
When I first decided to learn how to code, I was an engineer who had just left my job and was trying to start up a bitcoin exchange in 2017. I weighed all my options and considered:
In the end, I went with option 4. In this article, I will share my story and journey, what I learned, and how I learned it. Hopefully, it will help a few people considering coding as a new career path and also show others that it is possible to learn coding and go on to building amazing products.
Like any journey, you need to plan ahead. Most people who studied programming did so at school as part of their studies. There was a schedule, lecturers, assignments, and a routine.
If you are switching careers, you might have to learn coding part-time while working, watching videos online when you get a chance. This is not going to be easy, but do not despair - it is completely possible and has been done before.
I started by giving myself time. I created a schedule and a routine, assigning time in my day to do certain things consistently. I worked through the course content and built projects from the courses. The key here is consistency. When you decide to learn how to code, consistency will be important.
Sorry to burst that bubble, but online learning courses are just the foundation or starting point. They are never going to be enough if you want to become a real programmer. These are some of the places where I started learning:
These two platforms have everything you need to get started, but ultimately, it was reverse engineering projects on GitHub that gave me the edge and knowledge to start building real-life projects.
This means finding code online for software built by professional developers, studying the code, and figuring out how they did it. At the time, I was learning blockchain development, so I was studying code created for Hyperledger Sawtooth. Yes, I was new to coding and thought blockchain development was the best way to get started.
Today, I would not start with blockchain code. In fact, try working with code within your area of interest. I am into OpenAI APIs now, so a good place to start reverse engineering code would be OpenAI Cookbook -
In my learning journey, watching videos and courses from Udemy and Udacity might have been 30% of my learning, 40% was reverse engineering code, and the remaining 30% was experience.
You gain experience from building your own stuff, your own ideas. You take what you have learned from different places and stitch it together into your own unique project.
After I was convinced that I had learned enough from online courses and reverse engineering projects, I started building my own.
I started with a mobile application on Android that would call the CoinMarketCap API for the latest crypto prices. I could input my portfolio of coins, and it could calculate the full value of my portfolio in real-time. It was a useful app that helped me realize one important thing: I never wanted to build another native mobile application again.
It was just too tedious. Writing the same code for different operating systems and screen sizes was overwhelming. Even creating app icons required multiple files for different resolutions. As an engineer at heart, I did not have time for such tediousness.
I knew I had to be a creator of ideas. Back-end development was an obvious choice. I would build back-end code using Python and work with systems that made sense to me.
I started building web applications in Python with frameworks like Flask and Django. I liked the flexibility of Python, and very quickly, I was turning around projects faster than the industry norm. I used my engineering mind to find the path of least resistance and apply the theory of constraints to solve problems through code. I'm glad I didn't learn the "dev-house" way of building things. I simply imagined solutions and used code as a tool.
So, of course, when ChatGPT came out, it was pretty obvious to me. I needed this on my phone, but not as another mobile app. I needed a better solution. I decided to integrate it with the WhatsApp Meta API and create an interface on WhatsApp.
But how could I create enough complexity in WhatsApp to handle user profiles, payment processing, rate limiting, and more?
When ChatGPT was introduced, I knew I needed it on my phone. However, I sought a more efficient solution than creating yet another mobile app. That's when the idea struck: integrating ChatGPT with the WhatsApp Meta API and building an interface within WhatsApp. I was on my way to building MobileGPT - the world's first ChatGPT implementation on WhatsApp, which was launched on Product Hunt on March 13th, 2023.
But MobileGPT was not just another wrapper around ChatGPT. I added more features to make the product valuable to anyone seeking Generative AI capabilities on the go. These included:
With MobileGPT, you can easily create professional documents by providing a simple prompt and description. For example, if you need to develop a business plan, instead of spending hours on it, you can simply provide MobileGPT with basic information about your business idea, and it will generate a full business plan for you in less than a minute.
MobileGPT allows you to conduct real-time research on the web using AI. It can collect all the information from the first page of Google search results and prepare a comprehensive research report for any query. Just provide the query, and MobileGPT will do the rest.
Generative AI and image generation work hand in hand, and now you can generate images directly within MobileGPT while having normal chat conversations with AI. MobileGPT has integrated Stable Diffusion XL for better image quality and output.
Upload a PDF document to MobileGPT and chat with it. Whether you need a summary, want to extract important insights, or simply understand the document without reading all 100 pages, MobileGPT has you covered. It can provide summaries and extract relevant information from the document, saving you time and effort.
MobileGPT allows you to easily create reminders and notes. Simply tell MobileGPT to save a specific message as a note or set a reminder for a particular task, and it will create and store the note or send you a WhatsApp reminder at the specified time. Notes are useful for saving important responses or information for future reference.
With MobileGPT, understanding a website becomes effortless. Just provide MobileGPT with the website link, and it will summarize the content for you in a Word document. You can also chat with a website by using the "chat to website" feature, similar to how you would chat with a PDF.
MobileGPT on WhatsApp offers an array of powerful features that extend beyond traditional ChatGPT capabilities, making it a versatile tool for various tasks.
Check out MobileGPT here: https://mobile-gpt.io/