Email: django.python.pro@gmail.com | Phone: +27725235515 | Location: Hartebeespoort, South Africa | LinkedIn: jody-beggs-63953787
What excites me is science and the modern technology we find ourselves around. Apart from programming, hardware has a special place in my heart.
ESP32's are my latest pet project.
https://www.espressif.com/en/products/socs/esp32
Raspberry pi and arduino have opened remote control and motion control to the middle class and opened so many interesting opportunities.
I enjoy learning about new technologies and being challenged to think outside of the box.
With AI it's now possible to start expanding on IoT
Kastelo | October 2024 - Present
Automating user interactions on mobile devices using Appium and WebdriverIO to test complex user flows.
Cullinan Holdings Limited | November 2020 - April 2023
Django Python Developer
Streamlined error reporting using Loggly (Solar Winds) to alert when Django throws an error.
Error Logging: Loggly-python-handler==1.0.1
And integrated the OTP process into the login process using a custom backend.
Database
Postgres (psycopg2)
Using Django Tenants to develop software
Django-tenants
This made the development a "Software as a Service" product.
This application enables Django-powered websites to have multiple tenants via PostgreSQL schemas. A vital feature for every Software-as-a-Service website.
Developed software for the following tenants:
Python 3.6
Django Stack
Django==2.2.1
Django-autocomplete-light==3.5.1
django-ckeditor==6.0.0
django-cors-headers==3.7.0
Django-crispy-forms==1.7.2
djangorestframework==3.10.3
Used Javascript all the time mainly (JQuery): validation for a variety of fields and situations.
iono.fm | January 2014 - March 2014
My role was to develop on a Mac using VM WARE 6 to run Ubuntu 12.04.
We used Source Tree to manage a GitHub repository.
Iterm and byubo to manage and install the server software and deploy code using bash scripting.
Program in PHP using Sublime Text and CodeIgnitor to maintain and develop new modules for the web application.
Track bugs and issues on Bug Herder.
Keep on track with Trello to make sure I hit deadlines control workload.
Test using all browser and mobile devices.
Bytes Managed Solutions | June 2014 - November 2014
KrazyBoys | November 2014 - March 2015
Sole purpose was to help on the development of https://thisisme.com/.
Written in Python using the Django framework.
Tools used in the development:
MiServe | May 2015 - May 2016
Bike Bar 58 Lower main Rd | April 2015 - December 2017
So I walked into this bar and four years later I left. What started out as a Sunday shift ended in me being manager.
Python Programming Solutions | May 2008 - Present
Developing a framework for hosting and managing fast, modern web applications.
Projects:
Tangent Solutions | March 2018 - February 2019
4-Sure | April 2019 - March 2020
Pycharm
First time I was forced to intimately grasp Pycharm and loved it. From setting up the virtual environment to running tests against the code-base and database. Still used the command line for Git but ended up creating tests to run against any client instance.
Fault Finding and bug fixing
Logging the functionality of a Class, Function or endpoint has become my top priority for one reason: the logged information can be used to create tests for that particular code. That means not only is it easier to create the test i.e. not faked and valid from the frontend, but once the test is using the logged data, you essentially start testing the developers use the correct data and receive valid errors or returned data. This also means when the code is worked on in the master, the tests created from logging can double-check that the functionality is still working.
Finally automation. We can use the tests to automate testing before the code is released live. This starts to ensure that, as a bug stomper, I don't chase bugs introduced by front-end software testers entering in random information and correct data structure is enforced.
PyTest
I found out the hard way that testing helps. Before adjusting a single letter of code, write a basic test to hit the endpoint/function and check the returned data. If needed inject test data. Can be tricky if you need to save or test against a database. Use Pycharm to manage the different tests.
Can integrate TOX if the environment allows.
BUGS
Every minor bug came through me. Replicating the error was task one. Which was a test and then fixing it easier. Trawling error logs to find clues and context was key.
First the client, the environment, Development, Staging or LIVE, and a claim number. All major traffic was focused on two main endpoints or Classes. Create and Update. Create being the easier, I created that one from code setup for me. Client aware i.e. used specific code for individual clients stored on the code.
Clients included Multichoice, Builders, and the insurance industry.
Managed through Jira (Attlassin) and linked to GitHub.
Django rest API
I was tasked with the creation of endpoints and functionality. Usually, I am given a JSON data packet then depending on what's needed either save/update the database, request external API, or code alternative functionality.
Django Authentication
Integrated OTP Authentication into the custom backend.
GIT
Branching of development and committing to the development branch for each customer. Never touching master. There were up to 8 clients linked through Atlassian.
Team
I've always worked in conjunction with other developers, allowing me to focus on the backend. I understand frontend, I need to, but my talent lies in the backend.
The only time you see my work is in the Documentation. The rest is endpoints and backend functionality hidden from view. Or when something not working.
Created: January 25, 2026
https://3pillars.pythonanywhere.com/
This is a backend that manages login, content, products, ecommerce etc
Uses django-crm and firebase to manage flows and contact relevant users.
Still working on the actual app
Created: January 25, 2026
https://3pillars-frontend.vercel.app/
Create and mange businesses registered with the site
Business owners portal to statistics and advanced feature, changing API key for yoco or courier guy
Created: January 25, 2026
https://java-mellow-project.vercel.app/
An example of an integrated site
Login, crud for products and business owner or cart for registered users.
Cart working with yoco
Created: January 26, 2026
Didn't test the website, only the Django backend and the App frontend on Staging (QA)
High School | 1994 - 1997