Thursday, February 1, 2018

My freelancing journey

Hey everyone! It's been a while since I last used this. I've done several things since I last wrote here. I am now working in UPRM with NEXT. Aside from that I am also working on my own freelance projects, which is what I intend to talk about here.

On 2016 I got an opportunity to create a web page for a local company. The company sells medical equipment to different hospitals around Puerto Rico. The page was mostly promotional, just some text, images and descriptions of the different equipments sold by the company. I finished this web page around January 2017, mostly because my contacts with the company were extremely busy and they couldn't meet with me to discuss the details. On the beginning of January 2017 they payed me and all was well. My contact with that company, who is also a personal friend and ex-coworker, recommended me to someone who needed an application. And this is the beginning of my journey with my current client.

My new client and I met in January 2017. He explained his needs and we agreed on a web application. Though I am not allowed to disclose too much details, the functionality of the application was simple: it was mostly input data and save in db. I began this project mid January 2017. I made the web application using Python Flask and MySQL, and Dreamhost Hosting. By early February I already had a working application which my client would begin testing. My client's goal was to sell this application as a service to other big clients. So the testing process began and, obviously, along the way changes were made and new features were added.

My client was able to convince a big client of his to buy the application as a service. There was to be a pilot program to test out the app, and if everything went well they would begin a contract. There was a "pre pilot" where one of the bigger issues was that the web application was dependent on internet, and most of the areas where the application was being used had no internet access. My client and I discussed the possibility of developing a mobile application. The idea was that the mobile application would save data locally on the device, and then at the end of the day the users would synchronize their data to the already existing database in the hosting.

By September, my client was convinced that the mobile application was absolutely necessary. We talked about starting the application and the process began. Unfortunately, during that time, hurricane Maria hit. Everyone knows the great tragedy it brought. Fortunately for me I was not as deeply affected by Maria as most people were, and STILL ARE. I was out of electricity for 16 days and my water service was never out. 2 weeks after I got electricity back, I got my internet service back. During this time I was in contact with my client and, fortunately, he still wanted the application. So as soon as I got my electric service back I started working (it was a bit tough without internet at first). By January 2018, the application was finished. I used Ionic Framework and Python Flask for the API that handles the synchronization process. It was very tough to learn Ionic, but with perseverance and will power I pulled through.

In January my client and I began testing the application, every aspect of it. He also got other people to test it out. In the process bugs were fixed and features were added, like before. Today is the first day of the pilot program for the big client of my client. The application was installed in iOS and Android devices, and now we will know for sure if the application is working as intended. I'm not gonna lie, I'm a little bit nervous. We'll see how everything goes, but hopefully it will be a success.

I have to say, I have learned a lot during this time. My goal is to go completely freelance, and be able to live working under my terms. I have ways to go to reach my goal but I will work hard for it. At the moment, I am working simultaneously on a project with two friends. My intention in returning to this blog is to document my coding process again. It will not only help me (and others) on future references, but it will also help with the documenting process related to the project. I will blog about any project I'm currently working on. I hope that through these entries I am able to help anyone reading this.