June 2024 - present
Senior Fullstack Developer
RemoteIndependant Contractor
Working fulltime in this role, I assume ownership of all web application development related functions, and work closely with medical professionals to develop new and innovating healthcare products and services.
In support of this role I develop and maintain a patient centric Laravel web application for facilitating patient treatment and clinical records management.
Tech Stack- Laravel
- Next.js
- AWS
- Google Analytics
- Tailwind CSS
- Node.js
- JavaScript
- GitHub
- GitHub Actions
February 2022 - present
Freelance Fullstack Developer
RemoteFueltronics
My neighbor and I work over some weekend hackathons to build new and interesting solutions for his business, such as mobile and Laravel apps.
Fueltronics is a fuel management solution where the traditional control system of commonly found fuel pumps are upgraded to a custom built IoT board. I have worked with the team to convert the IoT board from an Raspberry Pi board running the Python pump controller software locally, to an ESP32 board backed by an Android based laser scanner device running a custom React Native app.
My contribution to the project is to build and maintain the Laravel backend, API, front-end and also the build the React Native mobile applications running on the Newland Android scanner. The solution is already being used in production at various sites nationally.
Tech Stack- Angular
- Tailwind CSS
- Node.js
- Next.js
- Artificial Intelligence
- React Native
- Android
- Arduino
- Raspberry Pi
- Python
- GitHub
- GitHub Actions
- Amazon EC2
- Amazon S3
October 2021 - June 2024
Senior Full Stack Developer
RemotenuvoteQ
As a fullstack developer I worked with project managers (PMs), other developers and user interface (UI/UX) designers to develop scalable and secure full-stack Laravel web applications.
My primary duties included designing and developing the back end of the web applications using PHP, Laravel and Node.js and MySQL, and translating the front-end Figma desings into reusable functional front-end components using tech such as Blade, Livewire, Vue.js and Alpine.js.
I was fortunate to have worked on several interesting projects with a very supportive and talented team, and closely with the client's marketing and technical teams. We succeeded in delivering numerous successful public facing products, some of which was high traffic that service thousands of daily users.
Following Agile principles, tools and technologies like TDD, JIRA, BitBucket, AWS and Sentry enabled us to deliver high quality and performant web applications.
Tech Stack- Laravel
- Node.js
- Vue.js
- Vuex
- Vuetify
- PHP
- Bitbucket
- Jira
- TDD
- Teamwork
- Amazon EC2
- Amazon S3
- Docker
- Machine Learning
- Artificial Intelligence
January 2011 - August 2021
ICT Manager
Bloemfontein, South AfricaInterstate Bus Lines
As and ICT manager, I was tasked with taking ultimate responsibility of the ICT team and ICT related responsibilities in the company. My primary duties included leading the ICT team to serve the passengers, users and various stakeholders of the company.
As a secondary function to my role, I was tasked with developing internally used systems and applications used by the HR, workshop and operations teams, including employee performance tracking, fleet management and quality control. Some of the systems was multitenant applications used not only by Interstate, but also the various subsidiaries and sister companies to Interstate.
I leveraged PHP, CodeIgniter and later Laravel as the stack for the applications, and later rebuilt most of the older systems from C#, ASP.net MVC and CodeIgniter to Laravel. Most of the systems is still in use today and continue to contribute to Interstate's amazing legacy.
Tech Stack- Laravel
- JavaScript
- VMWare vSphere
- Azure
- Sage X3
- Active Directory
December 2018 - August 2021
Senior Developer
Remote3 Quarks
3 Quarks a local startup company offered a unique medical practice management solutions, featuring patient clinical data management and real-time billing integration with most South African medical schemes.
As the principle developer my role included maintaining the existing PHP and React codebases and developing the next iteration of the company's core product named Medbar. I was also responsible for looking after the various server and hosted systems.
During my tenure I worked closely with vendors, healthcare service providers and pathology laboratories to build a full fledged multitenant patient centric clinical data management and realtime billing application. I also worked closely with the billing and admin team to onboard new medical practices, patients and migrate existing medical practices onto the new Medbar platform.
Tech Stack- Laravel
- JavaScript
- PHP
- MySQL
- Vue.js
- Vuex
- Node.js
- Bootstrap
- SOAP
- REST
- SQL
- React
- Linux
- Nginx
October 2008 - December 2010
Network Administrator
Bloemfontein, South AfricaInterstate Bus Lines
In the network administrator role, I was responsible to oversee all IT related taks of the company, and to improve efficiency and drive down costs. The company at that time had several remote and isolated branches with limited interconnectivity, and I was required to build a small ICT team to serve the users and sites in all IT related systems.
I was also tasked with coding various internally used tools and systems to import and collect sales data from ticket machines installed on each of the busses and ticket sales offices, and import the data into the CRM systems, and public facing web apps and websites to serve the passengers.
To improve efficiency and drive down costs, my team and I piloted a POC to consolidate the company's telephony services and data network services, by leveraging existing company infrastructure and high sites to roll out a long distance wireless data network and replace the legacy wired telephony services with VoIP telephony services.
I was also responsible for developing policies and procedures related to IT and IT security, and further the short to mid-term ICT strategy of the company.
During my time at the company , my team and I managed to significantly reduce the company's expenditure on ICT services, through automating tasks, building various feedback tools and dashboards, and implementing new technologies and methods.
I also fostered long term relationships with various suppliers and vendors that enabled the company to procure hardware and software at very competitive prices from reputable suppliers and vendors.
Tech Stack- PHP
- CodeIgniter
- jQuery
- WordPress
- C#
- ASP.NET MVC
- Python
January 2005 - September 2008
Senior IT Technician
Bloemfontein, South AfricaITEC
Working as an IT technician and team lead, I was tasked with onsite customer support and building various network and server solutions for various customers with unique requirements.
During my tenure, I learnt new new skills and gained a lot of experience in understanding various customer and business requirements, and designing solutions and systems to solve the clients unique business requirement. Me and my built various solutions, including WANs, LANs, servers, firewalls and other systems.
I also maintained an on premise Unix server, hosting the companies email, web and FTP sever, and employed my coding abilities to add new features to the system, such as hosting a private software, common Windows XP and printer drivers, and tools for our team.
Having programming and coding experienced helped me to be a 10x technician, as I was able to built many tools and scripts to automate many daily repetitive tasks, such as Windows server bootup scripts, scripts for mounting remote drives and configuring user machines automatically at startup, and numerous little tools to troubleshoot networks, and even remove malware from infected Windows machines.
I was also the only person among my peers running Linux (Fedora Core, OpenSuse) as my daily driver, and was fortunate to leverage my Linux experience to help out my team and ITEC on numerous occasions.
Tech Stack- PHP
- Visual Basic
- JavaScript
- Drupal
- Joomla
- Microsoft SQL Server
- Active Directory
- SOAP
- XAMPP
- Linux
- Windows Server
- Microsoft IIS
January 2005 - September 2008
Side Hustle
Bloemfontein, South AfricaPHPWEB
I started PHPWEB as a freelance and part-time software development and web hosting services, to supplement my income.
Building PHPWEB offered me the opportunity to learn about finding and selling to customers, and the business side of software development. I managed to foster long term relationships with many happy clients and worked on numerous exciting projects.
During this time, I mostly built custom web applications and websites using PHP and eventually CodeIgniter, but also deployed many Drupal, Joomla and WordPress sites. I also built some highly customized and personalized themes and features.
As my full-time responsibilities and commitments progressed, I was forced to systematically scale down and hand over projects to other vendors, until I finally closed PHPWEB down in September 2008.
Tech Stack- PHP
- CodeIgniter
- JavaScript
- jQuery
- Joomla
- Drupal
- WordPress
- Linux
- REST
- XML
July 2004 - May 2005
Technician
Kempton Park, South AfricaParnis Airport Services
Parnis Airport Services a contractor for Airports Company South Africa (ACSA) was during my tenure there responsible for building and the upkeep of various industrial automated machines, such as bagage handling systems, aviobridges, aircraft ground power units, and other related systems at Johannesburg International Airport (now OR Tambo International Airport)
As a technician, I was tasked with not only the upkeep and maintenance of the existing systems, but also helped build and refactor the systems as and when required. Maintaining and refactoring industrial control systems requires a good understanding of electronics and lader logic, the code that the PLC ran to drive contactors, variable speed drives, and more. Not only was I maintaining the legacy and existing aviobridges, but I was also a member of the team constructing and building new aviobridges that our team installed at gates C1 to C8 and two others at Cape Town International Airport, that is still after two decades in daily use at these airports.
To support my role, I automated several tasks, such as building various tools, including an VB6, MS Access based inventory management system to replace the Lotus123 based inventory system that was in use at that time.
Tech StackJanuary 2003 - June 2004
Warehouse Manager
Bloemfontein, South AfricaWetherleys
Working in a leadership role, I was tasked with overseeing the overall warehouse operations of the branch, including staff, inventory, fleet, drivers, and logistics.
During this time I did not build or code any public facing products, but built numerous tools and programs to asit me and our team in our duties, such as an asset tracking system, staff time and attendance system, and other tools.
Tech Stack- Visual Basic
- VBA
- ASP
- Microsoft Access
- Microsoft IIS
- SQL
June 2001 - December 2002
Team Supervisor
Joahnnesburg International AirportParnis Airport Serives
Parnis Airport Services a contractor for Airports Company South Africa (ACSA) was during my tenure there responsible for building and the upkeep of various industrial automated machines, such as bagage handling systems, aviobridges, aircraft ground power units, and other related systems.
I was tasked with leading a team of operators on various PLC and Scada (ICS) controlled systems, ensuring the efficient running various airport baggage handling systems, aviobridges (also known as passenger boarding bridges), and aircraft ground power units (GPUs).
During my tenure I assumed overall responsibility for my team, our duties, and learnt numerous skills in terms of human resources management, leadership, and motivation.
Having a keen technical interest, I leveraged all the opportunities presented to me, to up-skill myself and learn as much as I possibly could about how the various ICS systems work, the technology behind the PLCs, Scada, ICS, and Modbus network.
To automate and supplement my work performance, I coded various tools using VB6, HTML, JavaScript
Tech Stack- Visual Basic
- HTML
- JavaScript
February 2000 - June 2001
Supervisor
Bloemfontein, South AfricaWetherleys
I was responsible for ensuring that high quality products reach the customers in an agreed time and professional manner. I was in charge of the quality control, fleet and logistics of our branch and supervised a small team of store staff and delivery drivers.
During my tenure I learnt and was exposed to many new skills and responsibilities, such as time management, motivation, leadership and taking ownership of tasks and accountability for the tasks performed by the team you are leading.
I did not do any real programming, but dabbled a bit with HTML, JavaScript, and automated things for myself to improve and support my work performance, such as VBA macros ODBC and forms in Excel.
Tech Stack- Microsoft Excel
- VBScript
- HTML
- JavaScript
- VBA