Recently, I wrapped up my very first gig on Fiverr, a platform where freelancers (aka sellers) can post “gigs” on their profiles, offering various services. Potential buyers are then able to search through these gigs, and the sellers’ profiles, to choose a seller to either purchase an existing gig, or to negotiate terms for a custom gig, resulting in an offer by the seller, to be accepted/rejected by the buyer. Reflection on my very first freelance gig through the Fiverr platform. My first customer reached out for the latter in response to my gig posting about Python coding (see my Consulting page for a link to my Fiverr profile).
The initial contact occurred through a message on Fiverr with a detailed problem statement, the tools the customer had at hand, what operating system they were going to use the solution on, and a target timeline. I reviewed the requirements and terms and concluded this was right up my alley. It would exercise my existing coding experience with Python, require me to look into how to leverage both Selenium and ChromeDriver for Selenium. The offered payment was reasonable, given that I’m trying to make a name for myself on the platform, and the timeline was adequate, with some wiggle room if it was needed.
I can’t provide too many details about the field the work was performed for, other than to say it was medical in nature. I can, however, provide a high-level summary:
- Medical documents are received
- Within the document, patient data and document classification must be parsed
- Document data must then be input into a web form, the document attached and the form submitted to the patient record on a website
- A final step requires the submission of any pending document actions on the site and a move of the document out of the source directory into a “processed” directory
- Dis-qualifiers such as patient record not found, incomplete document data, or other errors must not upload the document and must not move it to the “processed” directory
Because the website that the data and documents were being entered and uploaded to does not have an available API (application programming interface), I had to interface with the web UI. This was an interesting challenge and the only other tool I’ve used for comparable functionality was AutoIt to interact with the Windows desktop nearly 15 years ago.
Fortunately, Selenium and ChromeDriver are both available within the Python ecosystem and are well-established, meaning I had extensive documentation and others’ experience to rely upon to get me where I needed to be.
For an easy win, I started by writing Python code to launch the Chrome browser and log in to the target site. With this out of the way, I took an iterative approach to each feature to extract, enter form data, attach documents, etc., and after the first weekend I had an initial Alpha release that I delivered to my customer.
There were plenty of minor bugs and we discovered some inconsistencies in the document formatting and data entry/organization that I had to write code to handle. Also, my customer wanted to not have to maintain a Python virtual environment, meaning I needed to package the application for their operating system.
As it turned out, my development rig for this project was on a different operating system than what my customer was running. Fortunately, I also had a system with the same OS and version, so I just had to port over my virtual environment and test/debug my code for any anomalies introduced by the OS switch, then build package up the application for portability. This was, dare I say, a strange kind of fun for me. It had also provided some justification in recently purchasing this other system (how many laptops, desktops and servers does one System Engineer/Developer need anyway?).
Not even 4 days into the engagement, immediately after delivering the first Alpha release, our family dog, Lacy, was taken to the emergency vet because, over just a few days, she went from the picture of health to no longer eating and being very lethargic. During that second week of the Fiverr engagement, we discovered that Lacy had developed a mass on her spleen, and for quality of life considerations, we helped her pass from this life in as humane a way as possible.
I mention the loss of Lacy here because my customer was not only flexible as we navigated the sudden and unexpected loss, and the grief that came with it, but they also were genuinely concerned and interested in giving me space to grieve and take a few days to recover from the initial blow. In the grand scheme of things, I only lost about 4 days, between vet visits and a couple of days to let the fog clear. I don’t think I can properly convey how much my customer’s support helped during that time, though I did try to tell them.
Coming out of the second weekend, I had a Beta release ready, this one packaged, so my customer wouldn’t have to maintain or concern themselves with a Python virtual environment on their system. The only caveat is that the ChromeDriver Python module will need to be updated and the rest of the code repackaged after some Chrome browser updates are applied. Barring any major changes to the browser or module, this work should take less than 15 minute in total, and I’ve included basic support updates in the terms of delivery.
Testing highlighted a few more issues on the document side but proved that the code I’d written was handling these exceptions as intended. By Monday evening into the third week, we had a release candidate delivered with partial validation. A misunderstanding on my part had required a last minute revision, and at the end of the weekend we were out of use cases to further test against. So we had to wait until the following weekend when more documents would arrive for processing.
The third and final weekend of the engagement brought a total of 71 documents. We arranged a Zoom session so my customer could share their screen and run the application, while I observed, so I could gather data related to any errors or failures. This would assist me in quickly addressing any last remaining issues.
The application was launched and we watched and chatted as the browser was programmatically navigated. One after another after another processed successfully. The tally at the end was 61 documents successfully processed, 9 documents kicked back due to data inconsistencies between the documents and the patient records (the code did what it was supposed to here), and 1 document that actually caused the website, itself, to error, and which wasn’t related to my code at all.
So what are my takeaways from this experience?
First and foremost, I need to better reconcile my estimates on how much time a given effort will take versus what a buyer is willing to pay. While my customer left me a generous 100% tip on top of the base negotiated price, calculating an hourly rate came out to be about as lucrative as driving for DoorDash, minus the wear-and-tear on my car, or the cost of gas. This is not to be construed as a slight to my customer, as I am thankful for the opportunity they presented me with, and I truly enjoyed both working with the code and working with them! I just won’t be replacing my day job with freelancing anytime soon at my current hourly productivity levels. As I get more efficient and faster at Python, the hourly ROI growth will naturally increase.
Secondly, it’s important to factor in that this was my first gig on the platform. Not only did I get paid to exercise existing skills as well as pick up a couple new ones, but I also got an AMAZING review from my customer which will help other buyers on the platform feel more confident in choosing me for their projects. I’m confident the more buyers I deliver quality and value to, the more positive reviews I’ll receive and the more opportunities will come my way.
I want to conclude by saying I most definitely see the potential for more freelance work through platforms like Fiverr and Upwork. Some will argue that the fees these platforms charge are a little steep, but I just see it as a mutually beneficial arrangement. Were it not for Fiverr, I would never have gotten this particular gig and the opportunities and challenges associated with it. I wouldn’t have gotten paid anything at all. I wouldn’t have met and connected with my customer. I wouldn’t have the reach I now have with the positive review I now have on Fiverr. Thank you so much, my first buyer on Fiverr (you know who you are) for reaching out and giving me the opportunity to, as you so eloquently put it, bring your vision to life.
For assistance with Python application development, visit https://brianalcorncom.wordpress.com/consulting/ for links to my Fiverr and Upwork profiles, or reach out directly to me through the contact form.



