Download PDF


Software Development

12 years experience in software development, predominantly in consulting and a 1 and half in product development/engineering.

Systems Analysis

9 years experience in analyzing customer's business requirements, designing solutions and writing technical specification documents. Mostly using Microsoft Visio to draw network diagrams, flow charts and UML.

Technical Pre-Sales

8 years experience in supporting the sales/account managers throughout the sales cycles in order to  design, deliver and present tender proposals, as well as develop and demonstrate POC applications . Also compiling BOMs (Bill Of Materials) and quotes for solutions requiring both mobile hardware and software.

Project Management

8 years experience in managing  the the majority of the software projects I've been involved in. Used online tools such as Basecamp, Freedcamp and Pivotal Tracker and MS Project.

Waterfall Model Development

5 years experience in implementing the Waterfall model/methodology (while working at Psion & Motorola).

XP and Agile Processes

3 years experience in development with teams using XP and Agile.

Microsoft .NET

12 years experience with the Microsoft .NET technology stack.


12 years experience in programming desktop, mobile, web, web services and speech applications using C# .NET.

Visual Studio

12 years experience in using Visual Studio for software development as well as 6 months experience in developing a Visual Studio plugin.

SQL Server Database development.

12 years of experience in using Microsoft SQL server. Although reasonably proficient in T-SQL, I mostly prefer using LINQ to SQL and LINQPad to interact with databases.

Mobile Databases (SQL CE & Replication/Synchronization Services, as well as DB4O)

12 years experience in implementing mobile applications for Windows Mobile/CE and Android in Visual Studio (C# + .NET Compact Framework), Xamarin for Android (C#) and Android Studio (Android SDK & Java) using SQL CE and DB4O.

SOAP/REST Web Service development.

12 years of experience in developing SOAP services and 6 years in REST services using Microsoft WCF. Mostly for mobile applications, but also for system integrations and middleware development. 

Web Application Development

1 year experience in developing ASP.NET web applications and 4 years experience in developing ASP.NET MVC web applications.

Windows Mobile & CE application development

8 years experience in developing .NET Compact Framework mobile applications for Windows Mobile and CE devices .

Windows Desktop Application Development

11 years experience in developing Microsoft .NET Windows Forms applications and 1 year experience in developing Microsoft WPF applications in XAML/C#.


3 years experience in developing Android applications in Java using Eclipse and Android Studio IDE. 1  year experience in developing BlackBerry applications in BlackBerry's JDE.

Android Development (Java & C#)

3 years experience in developing Android applications: both native Java applications using Eclipse as well as  C# running on top of Mono for Android (Xamarin) coded in Xamarin Studio/Visual Studio for Mac.


2 years  experience in coding in Python developing mobile Vocollect Voice Applications in Eclipse.

BlackBerry Development (Java)

1 year experience in developing BlackBerry applications using Java in BlackBerry's JDE.

Java J2ME

3 months experience in developing 2 small mobile Java applications: one for Windows  Mobile and the other for Symbian.


1 year experience in developing desktop applications using Visual Basic .NET, while I was still a student.


2 years experience in developing desktop application using Delphi, while I was still a student.

Assembly Language

Studied Assembly Language while completing the Digital Systems S3 subject/course at the Vaal University of Technology.


Studied VHDL ([Very High Speed Integrated Circuit] Hardware Description Language) while completing the Logic Design subject at Vaal University of Technology.


12 years experience in using XML within applications.


5 years (in total) experience in writing HTML web pages.


8 years experience in using IIS for hosting web applications and web services.


3 years experience in using Git on Github for source control.


9 years experience in using Subversion for source control.

Cruise Control .NET & NAnt scripts

1 years experience in being build master (managing the build server) for the company, using Cruise Control .NET and writing NAnt scripts.

TDD Test Driven Development

2 years experience in implementing TDD (Test Driven Development). For a year (I was in charge of the internal tools development) in order to profile the results of unit tests and other applications serving as test cases for our framework (when I worked at Red Live Labs).

Community Server Development

1 year experience in developing custom pages and plugins for Community Server i.e. a very successful ASP.NET based CMS (Content Management System).

Sales Force APEX API

1 year experience in integrating and supporting the integration between our ASP.NET Community Server web site and Sales Force.


9 years experience of working with virtual machines, using VMWare, Microsoft Virtual PC and Parallels (virtualization software Mac OS X).

Sagem Fingerprint technology and development

2 years experience in developing biometric applications using Sagem's fingerprint identification/verification technology (hardware/software).

RFID technology and development

1 years experience in developing mobile RFID applications.

Vocollect voice application development stack

8 years experience in designing, developing and implementing Vocollect Voice recognition applications using the Vocollect technology stack i.e. hardware and software (Task Builder, Voice Artisan, Voice Direct, Voice Console etc.).


Internet of Things: I have an understanding of IoT but formal experience limited to tracking of mobile devices via GPS, mobile RFID solutions (tags and proximity cards) and development of middleware server tracking Voice devices' activities i.e. devices being on/off, battery health statuses, device IP and MAC addresses etc. No formal experience with the likes of Raspberry Pi, Arduino or with embedded development. Have however studied PLCs (Programmable Logic Controllers) and programming in Assembly language  and VHDL (VHSIC Hardware Description Language) when I was still a student.

Psion/Motorola voice application development stack

8 Years experience in designing, developing and implementing Psion/Motorola's speech recognition applications using their TekSpeech technology stack (TekSpeech Connector, TekSpeech Emulation, TekSpeech Pro Client, SPA (Speech Process Analyzer, TekSpeech DOM etc.)

Work experience

May 2014Present

Senior Technical Consultant


Datasmith is a Microsoft Gold Partner and software consulting company that has been in business for over 20 years. Originally specializing in ERP and CRM implementations using products such as Microsoft Dynamics GP (Great Plains) and CRM. Datasmith also specialize in system integrations. Furthermore Datasmith have also developed their own WMS (Warehouse Management System) from the ground up.

I was specifically hired by Datasmith with the intent to start a mobile and voice solutions  (hardware & software) division i.e. Datasmith had never delved in mobile and voice solutions before.

My roles at Datasmith:

  • Software Development Team Lead - Johannesburg Office:
    • Supervising and mentoring junior developers.
    • Office Manager: resolving issues around the office, planning and scheduling staff meetings etc.
  •  Software Development: 
    • Mobile : Android (Java & C#) & Windows CE/Mobile (C#)
    • Web Application Development: ASP.NET MVC
    • Desktop: WinForms
    • Web Services: SOAP/REST
    • Mobile Voice Recognition: dialog development & integration into ERP/WMS
    • Databases: SQL Server
    • R&D
  • Solution Architecture:
    • Business Requirements Analysis
    • Technical Research
    • Writing Proposals
    • Writing Functional/Technical Specifications
    • Compiling BOM (Bill Of Materials) i.e. on software licenses, mobile hardware, SLAs etc.
  • Project Management:
    • Project Managing most of the projects for our customers in Johannesburg and coordination with developers  in our Johannesburg  office as well developers in Canada. 
  • Pre-sales:
    • Demonstrations
    • Presentations
    • POC development
  • Sales:
    • Quotes
    • Procurement of mobile devices & software licenses from distributors and OEM
    • Support:
    • Remote
    • Field Service

Work I've been involved in:

  • Sales/Pre-sales: During my time at Datasmith, I have brought the company owner and several employees up to speed with the voice technology landscape, as well as generated leads and led several major voice tenders. Also managed to successfully win a tender to develop and implement a mobile payment solution for Sanlam in South Africa. Have also worked on a few other smaller deals for mobile hardware and software. I am involved in every part of the project cycle, from inception at the sales/pre-sales phase to development, analysis, project management, installation, training, support etc. 
  • Management
    • Supervising and mentoring junior developers.
    • Office Manager: resolving issues around the office, planning and scheduling office meetings etc.
    • Project Managing most of the projects for our customers in Johannesburg and coordination with developers  in our Johannesburg  office as well developers in Canada. 
  • Projects
    • Excel Insight: Datasmith have an Excel plugin product called Excel Insight, which allows customers to query account data from Microsoft Great Plains from within their spreadsheet in order to calculate their general ledgers. This is performed via Excel UDFs (User Designed Functions). The original product was developed using VBScript by one of the co-founders and Technical Director of Datasmith. Since he was no longer with the company I was tasked with architecting and redeveloping the product using .NET and C#. This is a reasonably large product being made up of several components including web services, configurators and the plugin itself. Features are also available for customers to design/customise their Excel Insight functions within Excel. All standard database queries using LINQ-to-SQL and custom queries using stored procedures. Some of our customers include Burger King, Digistics, RCS, Old Mutual and many others. The development has been part of an R&D endeavour.
    • Speech Development: see our Datasmith Warehousing Solutions presentation here: Datasmith Warehousing Solutions
      • Pigeon Voice Server: due to Zebra and Vocollect (owned by Honeywell) becoming direct competitors, our customers were hesitant to use Zebra's TekSpeech middleware product to enable integrations between Vocollect voice applications and their WMS (Warehouse Management System) . I suggested  and convinced  one of our prominent customers (Pep Stores), to allow us to take on an R&D endeavour by developing and providing them with our own middleware server to replace TekSpeech. Pigeon Voice Server is now our own middleware that I personally designed and developed. It works with  Honeywell Vocollect's proprietary messages types (LUT & ODR) over TCP/IP as well as over HTTP by providing a REST web service for the voice applications to consume.
      • Presentation: Datasmith Pigeon Voice middleware server 
      • Documentation (Github Pigeon Voice Training Project):
    • Digistics (handles logistics for McDonalds, KFC, Pizza Hut and many other QSR chainstore restaurants in South Africa): I initially developed their Voice solution in 2011. Since working for Datasmith I converted the previous Vocollect voice solution at Digistics to the new Motorola hardware and software (device management and speech recognition engine). Digistics is the only company in South Africa to have a voice implementation in processes across all their Distribution Centres i.e. receiving, put away, replenishment and pickingSee case study video hereVocollect Digistics Case Study  . We later converted the solution back to Vocollect hardware and software and rolled out the solution to 8 Digistics Distribution Centres across South Africa. 
    • Pep Stores: I initially developed their speech picking solution in 2012 while working for Psion and through a personal long standing and very good relationship with them, they made Datasmith their Vocollect Voice partner. I upgraded them to the latest technology stack (hardware + software) in their warehouses across the country and redeveloped their voice picking solution against  Vocollect's latest voice engine (Voice Catalyst). The Voice application on the device was coded in Python and server-side custom Pigeon Voice Agents (plugins) were coded in C# for the integration into Pep's Oracle based WMS. 
    • TekSpeech Dialog Analyser: due to the TekSpeech Pro Client speech engine being speaker independent (initially implemented at Digistics) we had several speech recognition errors). I developed a utility for searching and analysing dialog trace files from the devices in order to report on occurrences of speech recognition errors in specific places in the speech dialog i.e. to determine specific words that were being mispronounced.
    • Sanlam TouchBuy: developed a mobile application (on .NET Compact Framework 3.5 and C#) and web application (ASP.NET MVC) allowing Sanlam employees to pay within the Sanlam shops (e.g. cafeteria) using their existing employee proximity cards (RFID). I did the tender proposal, complete analysis, research of hardware required, procurement, quoting, ordering, project management and software development, as well as integration & testing etc. Integration with Sanlam HR system was developed using FTP and flat files as per their requirements. Mobile to server integration via WCF REST web service. Integrations to Sanlam's access control system was done via SOAP services flat files via FTP.
    • Toad NUTS: developed an Android app (using C# and Xamarin) and web application (ASP.NET MVC) for an organization called Toad NUTS that focus on the conservation of the endangered Western Leopard Toad. The Android application enables the capturing of pictures and information (including GPS co-ordinates) of Western Leopard Toad sightings while the web application displays the captured data, creates statistics reports and plots sightings on a Google Map. Additional features include the ability to setup areas by drawing polygons on Google Maps thereby enabling the system to automatically calculate and allocated toad sightings to specific areas. Areas are assigned to coordinators that receive automatic email notifications when toad sightings occur within their area. Unfortunately, due to a lack of funding, we shut down website and web server hosting the mobile web services. See mobile app here: Toad NUTS Android appWebsite was previously hosted at 
    • Pigeon B2B: developed a middleware solution for integrating Micros (Point of Sale) with Microsoft Great Plains (used by Dunkin Donuts Logistics) and a custom SAP backend via web services (used by Vector Logistics for Burger King). Integration between Micros and Pigeon is via flat files and FTP, while logistics companies can integrate via stored procedures as well as WCF REST and SOAP services. The middleware handles orders, invoices and product catalog between the Point of Sale system and logistics companies, with email alerts and various business rules in place etc. Projects:
      • Micros - Burger King & Vector Logistics integration: an integration between Micros and custom web services to SAP at Vector Logistics. I performed the complete analysis, development, testing and project management (from Datasmith side). Solution was developed using WCF SOAP web services.
      • Micros - Dunkin Donuts & DD Supply Chain Logistics integrationan integration between Micros and Microsoft Great Plains. I developed the middleware and assisted with analysis and project management. Handling orders and invoices. Solution developed with REST web services, FTP file transfers and MS SQL server.
      • Sicom - Digistics & Burger King integration: an integration between Sicom (POS) and Microsoft Great Plains. I performed the complete analysis and project management (from Datasmith side) on this project. 
      • Micros - Burger King & Digistics integration: I performed the complete analysis and project management (from Datasmith side) on this project.
    • Digistics Store Delivery: developed an Android app for store deliveries i.e. eEPOD.The app allows Digistics drivers delivering to KFC/McDonalds/Pizza Hut to view their deliveries, mark them as completed, capture signatures, take pictures of  broken items and scan QR codes etc. Android app developed using Java and  Android SDK in Android Studio. Db4o used on the device as a database. Synchronisation between device and server is via WCF REST services. Integration into Digistics WMS (Warehouse Management System) via web services and stored procedures to MS SQL Server. My responsibility in this project was designing the  technical architecture project management and software development lead on both the Android app and web services. 
    • Fixersdeveloped an Android mobile app solution for Total and BP petrol pump technicians  to capture their forms on an Android tablet. Android app is integrated with Odoo ERP system via web services. Android app was developed in C# using Xamarin, SQLite database on the device and a WCF REST web service coded in C# on the middleware for integrating into Odoo. Integration into Odoo was achieved through XML RPC where I had to develop an Odoo XML RPC adapter for .NET:
      My responsibility in this project was designing the  technical architecture project management and software development lead on both the Android app and web services. My colleagues in India and Canada implemented the Odoo ERP system and customisation.  
  • Support: I currently support all of the above systems with ongoing change requests and other general troubleshooting. 
Feb 2013Present

Founder & Software Engineer

Binary Chef is my software blog where I offer career advice on working in the software industry. 

I have also  developed a suite of open-source software tools and utilities. The Github project can be accessed here:


  • Figlut Suite: a suite of applications that aim to provide an out-of-the-box data capturing solution by providing reusable applications, utilities and developer kits which aim to abstract the technical logic. This results in reduced development costs by enabling customers and developers to focus more on the custom business requirements as opposed to technical implementation. Development of extensions/plug-ins is also supported for custom/complex business requirements. Watch this short video of how to create a web enabled desktop and mobile stock taking application within 15 minutes.
    • Figlut Web Service : an out-of-the-box RESTful Web Service that enables the exposure of a Microsoft SQL Server database to the web without requiring any development for basic CRUD (Create, Read, Update, Delete) operations; it simply needs to be installed and configured to point to a Microsoft SQL Server database. Supports XML, JSON and CSV formats. Supports development of (.NET) extensions for advanced business requirements. Furthermore, for custom query purposes, filters (where clauses) can be applied directly to the URI query string and developers may also post raw SQL queries to the service to be executed directly against the target database e.g. for select queries that join tables.
    • Figlut Desktop DataBox : An out-of-the-box web based Windows desktop client application that utilizes the Figlut Web Service to enable users to perform basic CRUD operations on any Microsoft SQL Server database regardless of the database schema. Absolutely no software development is required; it simply needs to be installed and configured to point to the Figlut Web Service. Development of (.NET) extensions is however supported for more complex business requirements.
    • Figlut Configuration Manager : Both a Windows desktop application and MMC (Microsoft Management Console) snap-in are available which allow for the configuration of the Figlut Web Service and Desktop DataBox.
    • Figlut Mobile DataBox (for Windows Mobile 6) : An out-of-the-box web based mobile client application that utilizes the Figlut Web Service to enable users to perform basic CRUD operations on any Microsoft SQL Server database regardless of the database schema. Absolutely no software development is required; it simply needs to be installed on a Windows Mobile device and configured to point to the Figlut Web Service. Development of (.NET) extensions is however supported for more complex business requirements.
    • Figlut MonoDroid DataBox (for Android): a version of the Mobile DataBox for Android devices targeting Xamarin's Mono for Android. 
    • Figlut Mobile Configuration Manager (for Windows Mobile 6) : A mobile application which allows for the configuration of the Figlut Mobile DataBox.
    • Figlut Server Toolkit : A server side library targeting the Microsoft .NET Framework containing over 100 reusable classes such as SQL query generators, ORM (Object Relational Mapping), and many other helper classes saving you endless development hours. Wrapper classes are also included to consume the Figlut Web Service with single method calls.
    • Figlut Mobile Toolkit (for Windows Mobile/CE) : A mobile version of the server toolkit targeting the Microsoft .NET Compact Framework with some additional windows forms controls and utilities, such as Image Map control (vehicle inspections), camera, SA driver's license scanning, SQL CE query generators and Microsoft Synchronization Services helper classes. Wrapper classes are also included to consume the Figlut Web Service with single method calls.
    • Figlut MonoDroid Toolkit (for Android): a version of the server toolkit targeting Xamarin's Mono for Android.
    • Figlut ReModem : a utility (windows service) that allows for an internet connection to be established or disconnected on a 3G modem by sending an SMS to the modem. Can be used in scenarios where a server needs to be brought online when not having physical access to it. Thereafter you may connect to the server using some application like Team Viewer.
  • Repeat (website & desktop app): as a hobby side-project,I've developed an SMS based messaging system for creating scheduled repeat  notifications. It comes  in two options: a desktop application developed in C# and Windows forms and a web application developed in C# and ASP.NET MVC. Features include:
    • Receive Message: customers (or organization members) can send messages to organisations by sending an SMS with a hashtag and the organisations identifier to the Repeat phone number.
    • Manage Subscriptions: when receiving an SMS, the person's cell phone number automatically gets saved as a subscriber to the organization and can be mananged from the website.
    • Broadcast Messagesthis  is essentially a bulk SMS feature.
    • Messages Templates: allows organisations to create and manage reusable message templates.
    • Repeat Schedules: schedules for repeat notifications can be generated by setting a start and end date, setting the days interval, the time at which the notifcation should be sent out and the message to be sent. For example: a schedule can be created to send John an SMS every 5 days at 18:00 for the next 90 days. Repeat notifications can be configured to be sent out automatically by the Repeat system, or you can manually send out each day's notifications one by one. 
    • Configure Work Days: schedules can be generated by taking into account and excluding public holidays and other non-working days from the schedule i.e. if a repeat date falls on a non-working day (weekend or public holiday), its notification date can be rolled back to a working day. This feature can be enabled or disabled per repeat schedule.
    • Daily Repeat List: organisations receive daily emails listing the repeat entries for the day. This will allows them to plan out your day in terms of which subscribers (customers/staff members) are up for repeats for the day. The time of day at which they receive these emails can be configured in the organisation's profile settings. 
    • Automatic Notifications: as repeat notifications come up the Repeat system can automatically send them out to the subscribers without requiring any manual user intervention.
    • Reports for forecasting: reports can be viewed and downloaded to see how many upcoming repeat entries are due for this week, month, year etc. This allows organisations to forecast the number of sales they can expect going forward i.e. how many customers will have upcoming repeats in the near future. 
    • REST API: an integration REST API allows  third party developers to integrate into the system.
  • Binary Calendar: developed a simple web service API for downloading public holidays info  (given a date range). Results are returned in XML or JSON format.
  • Emitson: just for fun, I developed a small Android app and web service to allow me to control Winamp on my PC wirelessly i.e. a mobile remote control application for my music.
Oct 2012Apr 2014

Project Manager - Speech & Warehousing Solutions

Motorola Solutions

“To help bolster Enterprise sales to a new segment of customers, we are establishing Speech & Warehousing Solutions team that will leverage Psion’s experience and domain expertise in warehouse management and integrated supply chain solutions”

As Project Manager for the "Speech & Warehousing Solutions" overlay group in South Africa, I manage anything to do with speech technology i.e. sales, development, project management, customer/partner relationships and including pushing the sales people to sell speech and warehousing solutions and close deals etc. in order to achieve the set targets.

My roles at Motorola Solutions:

  1. Sales (writing tender proposals, presentations, quotes on hardware/software/services)
  2. Pre-sales (demos, presentations etc.).
  3. Systems Analysis (technical/functional specifications).
  4. Software Development (mobile & speech development).
  5. Project Management (making sure all projects go smoothly, delegating work if necessary) 
  6. Technical Writing (articles/blog/videos) etc. 
  7. Field Service Support (implementation of projects, installations of devices and software, troubleshooting etc.).
  8. Training (software and devices).

Projects and work I was involved in:

  • Custom solutions development and consulting: Using the Microsoft development stack I have developed several custom solutions for various large retail and warehousing companies in South Africa. Technologies used: .NET Compact Framework in combination with either SOAP/REST services,  Synchronization Services, Replication Services and SQL Server. Voice recognition applications were developed with a variety of Voice technologies and development tools such as, Psion TekSpeech, Psion Dialog Builder, Psion SPA (Speech Process Analyzer), Psion MMS (Multi Modal Speech), Vocollect Task Builder, Voice Console and Voice Client. Customer backend DBMS'/systems which I've integrated into include Microsoft SQL Server, Oracle and SAP WM. Technologies utilized in mobile solutions include: barcode scanning, GPS, camera, RFID, bluetooth mobile printers, biometric (fingerprint) readers, signature capturing etc. During most of these projects I managed both the projects and customer relationships as well as gathering requirements, writing technical/functional specifications, implementations/deployments, user training, support, etc. Some of the customers I have been involved in include: Spar, Pep, Digistics, TFG, Aberdare Cables and Vector Logistics.
  • Products Developed
  1. Motorola TekShed: An on-site device management console using fingerprint identification. Watch the TekShed video here
Sep 2009Sep 2012

Software Developer

Psion (now part of Motorola)

Company Description:

Psion is a pioneer of quality mobile handheld computers and their application in industrial markets around the world. We have been innovators in mobile computing since 1980, starting with the invention of the PDA, the NetBook and the Symbian OS, through to helping our global customers solve their business problems today. Our customers in South Africa include Pep, Spar, Transnet and many others. Through our open innovation business model, we have the ability to work directly with our customers and partners to co-create new variants of our mobile hardware, software and services that meet the specific needs of the marketplace.

My roles at Psion:

  1. Pre-sales and Business Development (demos, presentations etc.).
  2. Software Sales (quotes etc.)
  3. Systems Analysis (technical/functional specifications).
  4. Mobile Software Development (including web services, desktop/web applications, reports, databases etc. to support the mobile applications and integration requirements into customer backend).
  5. Mobile Speech (Recognition) Software Development (including middleware development to support integration requirements into customer backend).
  6. Project Management.
  7. Software Development Support Desktop (sample code, SDK Q&A etc.)
  8. Technical Writing (articles/blog posts on Psion's Ingenuity Working community and product documentation).
  9. Field Service Support (implementation of projects, installations of devices and software, troubleshooting etc.).
  10. Training (software and devices).

Projects and work I was involved in:

  • Custom solutions development and consulting: Using the Microsoft development stack I have developed several custom solutions for various large retail and warehousing companies in South Africa. Technologies used: .NET Compact Framework in combination with either SOAP/REST services,  Synchronization Services, Replication Services and SQL Server. Voice recognition applications were developed with a variety of Voice technologies and development tools such as, Psion TekSpeech, Psion Dialog Builder, Psion SPA (Speech Process Analyzer), Psion MMS (Multi Modal Speech), Vocollect Task Builder, Voice Console and Voice Client. Customer backend DBMS'/systems which I've integrated into include Microsoft SQL Server, Oracle and SAP WM. Technologies utilized in mobile solutions include: barcode scanning, GPS, camera, RFID, bluetooth mobile printers, biometric (fingerprint) readers, signature capturing etc. During most of these projects I managed both the projects and customer relationships as well as gathering requirements, writing technical/functional specifications, implementations/deployments, user training, support, etc. Some of the customers I completed projects for include: Pioneer Foods, Anglo Gold Ashanti, Europcar, Suzuki, Nissan, Probe, Bull Brand, QK Meats, Woolworths, Rialto Foods, Duraset, Aberdare Cables and many more.
  • Products Developed:
  1. Visit Us: an access control system for estates/office parks. Residents make bookings for visitors which then get an SMS with bookings code to be presented upon arrival. Driver's licenses and vehicle licenses are also scanned via the mobile application, verified and saved in the cloud. 
  • Internal tools development and work: When in between projects, I developed several applications/utilities such as:
  1. Psion Cabster: A utility for building, wrapping and deploying CAB files (Windows Mobile installers) to devices: Psion Cabster
  2. Psion Kapture: Due to us technicians/developers not having an efficient method of capturing our time, creating quotes for services, creating invoices and capturing customer signatures on site, I developed Psion Kapture with the intention to solve some of these problems. I developed mobile applications (BlackBerry and Windows Mobile) and a desktop application.
  3. Psion Mobile License Manager: In an effort to prevent customers from pirating the mobile applications I develop for them, I developed a node lock licensing system to generate licenses that would lock an application to a specific device. Furthermore I ensured the licensing mechanism prevents the application from running on other OEM's devices. Therefore a customer wanting to move over to a competitor would require for the application to be developed.
  4. Psion Aplex: For those customers having devices that are always connected to the internet, I developed Psion Aplex which is a cloud based licensing system whereby we can allocate licenses to specific devices/applications for a certain period of time. My intention was to cater for customers that prefer the SAAS licensing model as opposed to a once off payment for development work.  
  5. Psion Kiosk: A small mobile application I developed to enable supervisors to restrict users to only certain applications that should be used on the device, as well as restrict the web sites they can launch on the devices. 
  6. Psion Africa Web Site: Due to us not having sufficient information about our local subsidiary online, I put up a web site for us. The web site was online for over a year until corporate policy dictated that we should only have a single web site world wide. Before it was taken offline, the web site consisted of product catalogs, blogs, forums, surveys, downloads area etc. As part of this initiative I created surveys to be sent out to customers.
Oct 2008Aug 2009

Software Developer


Company Description:

Agilisto was a software development company, which mainly focused on web solutions, mobile applications and location based solutions. Projects and work I was involved in:

  • Road defect info capturing mobile application: In the mining industry, due the large size of the trucks being used, the ability to capture information regarding the state of roads is critical i.e. based on the number of faults on the roads and their severity one can calculate the petrol consumption (as well as other factors) and therefore the amount of money lost due to the existance of the faults. We had a solution that allows users to capture defects on the roads and their GPS co-ordinates via a Microsoft .NET Compact Framework based application. Defects are then synchronized with the mobile application server using the Microsoft Synchronization Services for ADO.NET. An ASP.NET web application performs calculations on the captured data and displays the results as well as plots the defects on a map. I was involved in the development of the mobile application and some of the code required to implement the synchronization services.
  • Freight/Courier mobile applications: We in partnership with various other companies have developed several .NET Compact Framework based applications designed to meet the needs of the freight and courier industries. These applications allow our clients to give their drivers specific tasks to be completed throughout the day. The applications were built using iTask; a Sybase workflow framework built on top of the Microsoft .NET Compact Framework. A Microsoft SQL Server database was used on the mobile application server. The iTask mobile application utilized Sybase's UltraLite database on the device. Synchronization between the devices and server was handled with the aid of Sybase's MobiLink. I was involved in building a few of the task types on the mobile application, as well assisting in the development of the integration layer between our clients and our mobile application server.
  • Selling of Electricity mobile application: An electricity company in northern Africa had a prepaid system that allows users to recharge their given smartcards with electricity. We had been in the process of developing a mobile solution that would allow operators to sell electricity from a mobile device. We have developed a .NET Compact Framework mobile application that allows a user to insert a smartcard into a Windows Mobile device and recharge the card with credits. All communication between the device and our mobile application server is handled via web services. I developed the mobile application. Furthermore, to enhance the appearance of the mobile UI, I developed a framework centered around the idea of animated sheets i.e. where a sheet corresponds to a form. Utilizing the framework simply involves adding sheets and thereafter controls on the sheets. Requesting a sheet to open or close results in the sheet and its controls to be moved on and off the screen.
  • VanSales / SFA (Sales Force Automation mobile application: We were in the process of developing a .NET Compact Framework application that allows sales representatives to sell products from a vehicle. The user has the option to sell, thereby create an invoice based on the items available in his/her inventory or alternatively create an order based on a product catalog. All relevant data is synchronized with the mobile application server running Microsoft SQL Server via the Microsoft Synchronization Services for ADO.NET. All data on our server was synchronized with Pastel Evolution on the client's server. I have assisted in creating the specification for the solution, developing the mobile application, designing and implementing the Microsoft SQL Server database on our mobile application server and implementing the sync services. 
Feb 2007Sep 2008

Software Engineer

Red Five Labs

Company Description:

Red Five Labs were developing a product called Net60, which was a .NET Compact Framework implementation for Symbian, S60 3rd Edition mobile devices This enables applications targeting the Microsoft .NET Compact Framework to run unchanged on mobile phones running the Symbian operating system. Projects and work I was involved in:

  • Technical Writing: I wrote several articles that were included in our product help file as well as in our web-site's knowledge-base.
  • Testing:I was involved in testing our prior CTP and Beta releases. Additional testing that I carried out included the development of simple POC's of several popular mobile DBMS's, such as IBM DB2 Everyplace, Sybase SQL Anywhere 10 (for Windows Mobile), Microsoft SQL Server CE and db40 6.4 (.NET1). The purpose of this investigation was to determine which of these DBMS's are supported by our product Net60.
  • Patient Management Application: I designed and developed a demo application that consisted of a Microsoft SQL Server database, a web-service and a .NET Compact Framework client application. The purpose of this application was for us to perform demonstrations and perhaps distribute it with Net60 as a sample application in the future.
  • Building infrastructure: I was assigned Build Master and therefore was responsible for general maintenance of the build server, which ran Cruise Control .NET. My duties included diagnosing broken builds, reorganizing build projects and modifying NAnt scripts, ensuring daily test runs ran correctly and troubleshooted any broken builds and test runs.
  • Testing infrastructure: With some guidance from my CTO at the time I designed and developed the following tools that are used to perform additional profiling and coverage analysis on our test results. The majority of these tools were executed from NAnt scripts. While our runtime executed and JIT compiled an application it also loged major events into a binary log file. This file is parsed using our Log Viewer tool. The Log Viewer also generates some useful profiling information based on the parsed data and therefore almost all of the following tools that I have developed are dependant on the Log Viewer: 
  1. ProfileWriter: searched through directories for such log files and parses them to generate the profiling data. This data is then written to either an XML file corresponding to each log file or the entire merged data is written to a Microsoft SQL Server database.
  2. ProfileNotifier: Retrieves profiling data and notifies team of test run result. 
  3. ProfileXmlMerger: searches a directory for the above mentioned XML files and then parses and merges their contents into a single XML file. 
  4. CLI Tests web site: an ASP.NET, AJAX enabled, web page that retrieves and displays the profiling data. This web-page also generates and displays graphs that illustrate the performance of our product over time i.e. based on the profiling information. 
  5. DeltaGen: a simple tool for generating a delta between the last and penultimate test run and thereafter emailed the results. The results include percentages of passing tests, as well as a list of newly passing/failing tests, previously passing failing tests and previously failing passing tests. 
  6. CovAn: a set of tools that utilize the profiling data from the database to compile a list of methods that were executed on the last test run and compare this list with a list of methods that exist in our assemblies, which is compiled using Mono.Cecil. This comparison then constitutes our code coverage i.e. which methods are being covered by tests and which are not. An additional tool performs a coverage progress analysis by comparing our coverage results between any two given test runs and determining our velocity (methods/day).
  • Application server: I was responsible for maintaining all of our internal web-sites and databases on our application server i.e. blog, profiling, wiki etc.
  • J2ME performance test application: I developed a simple multi-threaded J2ME application, that utilizes J2ME's File.Connection API. Its purpose was to compare its performance to an equivalent application running against our .NET Compact Framework on a Symbian mobile phone.
  • Community Server customization: Community Server is our pre-made and customizable ASP.NET web-site. I created several custom pages, CSModules, CSJobs and other custom work on our Community Server web-site. Some of the work included integrating our web-site with This was achieved using SalesForce's APEX API i.e. web service and SOQL (SForce Object Query Language). Furthermore all objects sent to SalesForce are queued in an MSMQ i.e. to prevent data loss.
  • Genesis: we had a tool that our customers used to bundle a .NET Compact Framework application into a .sis file in order to deploy it to a Symbian phone. The initial tool, was a console application. I was involved in the process of upgrading the application to integrate it with Visual Studio. We created a custom project type in Visual Studio, allowing the user to add a new Symbian SIS project and bundle executables and resource in it, as you would with a cab file for Windows Mobile. I also developed the initial version of the wizard that allowed for the capturing of information related to the SIS. 
Jan 2006Dec 2006

Software Developer (Student Projects)

Vaal University of Technology
  • Little Birdie - Network monitoring tool: a tool that monitors the status of machines (on/off) and user accounts (logged on/off) over a LAN. Additional features include the capturing of screen-shots from the machines on the LAN, as well as sending messages to the users logged on those machines.
  • ICOC - LAN based companies integration system: me and a friend of mine developed a system that integrates several companies' transactions and inventories. Our lecturers selected our project to be submitted and presented at Microsoft's Project Firefly in 2006
Jun 2005Jun 2005

Customer Service Networks Technician


Holiday job: I worked on a call desk at LANmetrix which amongst other services, managed WAN connections for some major companies such as Barloworld. 


Nov 2012Nov 2012



Training on developing Voice applications using Psion TekSpeech Emulation, which is a new tool part of Psion Dialog builder that allows developers to map HTML screens to Voice commands to be sent to devices. No coding is required; it's all configuration and wizards. 

Nov 2011Nov 2011


Vocollect University

Introduction to developing Vocollect voice applications using Vocollect Voice Direct ERP for SAP, which is a tool for mapping SAP Console HTML screens to voice commands to be sent to devices. All HTML to voice commands mappings are coded XML.

Jun 2011Jun 2011


Vocollect University

Course on developing Vocollect voice applications using Vocollect Voice Artisan, which is an Eclipse based development environment for developing Voice applications. All applications are coded in Python.

Feb 2011Feb 2011


Vocollect University

Course on developing Vocollect (device) voice applications using Vocollect Task Builder. Vocollect Task Builder is a development environment for developing voice applications that run on the client/device. Applications are developed in a Vocollect proprietary language/methodology.

Feb 2011Feb 2011


Vocollect University

Course on extending/customizing Vocollect Voice Direct, which is an existing Task (device voice application) that caters for most processes in a warehouse.

Sep 2010Sep 2010


Vocollect University

Course on developing voice application with Vocollect VIO (Voice Interface Objects). Vocollect VIO is an API which allows Voice applications to be developed that are server driven. TCP/IP packets need to be intercepted, interpreted, and data to be formatted correctly before being sent back to the client. No client side application needs to be developed in a VIO implementation.  

Jul 2010Jul 2010


Vocollect University

Course on the fundamentals of Vocollect Voice products and technologies; Vocollect devices, server/device software, how voice systems work etc.

Jul 2010Jul 2010


Vocollect University

Course on providing technical sales support to Vocollect Voice prospects; describing the benefits  of voice to customers, helping customers understand how ROI (Return On Investment) can be achieved through a voice implementation, the basics of warehouse management.

Jul 2010Jul 2010


Vocollect University

Course on implementing Vocollect Voice systems; configuring hardware, networks, software installations, troubleshooting, licensing etc.

Jan 2010Jan 2010



Training on developing voice applications using Psion TekSpeech as middleware. Psion TekSpeech is a middleware server used for receiving and interpreting TCP/IP messages sent by Voice devices. Each message sent by a device is handled by a TekSpeech agent that needs to be developed in a .NET. The agent is then responsible for making the queries to a database and returning data to the device. Additionally, TekSpeech has API's for integrating into SAP systems using a combination IDOCs, RFCs and BAPIs.

TekSpeech comes bundled with tools such as Psion SPA (Speech Process Analyzer) for capturing timestamps from devices and generating graphs displaying worker performance. TekSpeech is part of of a suite of tools called Psion MIS (Mobile Integration Suite), which also includes TekConsole, TekConsole_SC and TekRF. These additional tools allow SAP screens to be emulated to devices via NarrowBand (or WiFi for that matter), as well as allowing for SAP transactions to be modified on TekRF/TekConsole.

Lastly, we have Psion Dialog Builder; our very own IDE for developing client/device side voice applications that produce Tasks (device voice applications) equivalent to that produced by Vocollect Task Builder.

Mar 2009Mar 2009


Kaizania Agile

Training on using Scrum, XP and agile as software development methodology.

Mar 2009Mar 2009


IT Intellect

Training on developing Windows Mobile application using the Microsoft .NET Compact Framework.

Feb 2003Nov 2006

National Diploma

Vaal University of Technology

·Communication Skills - 69%

·Computer Skills - 95% (PD)

·Electronics S1 - 61%

·Electronics S2 - 61%

·Electrical Engineering S1 - 52%

·Digital Systems S1 - 91% (PD)

·Digital Systems S2 - 80% (PD)

·Digital Systems S3 - Programming in Assembly Language - 74%

·Logic Design 3 - PLD programming in VHDL - 88% (PD)

·Programming 1 - Delphi (Console applications) - 61%

·Programming 2 - Delphi Introduction (Object Pascal) - 60%

·Programming 3 - Delphi Intermediate (Introduction to Databases) - 74%

·Projects 1 - 78% (PD)

·Mathematics S1 - 65%

·Mathematics S2 - 64%

·Mathematics S3 - 81% (PD)

·Design Project 3 - Thesis on Computer Protection and Security - 66%

·Networks 2 - 86% (PD)

·Networks 3 - 95% (PD)

·Operating Systems 3 - 72%

·Operational Research 3 - Quantitative Analysis for Management - 80% (PD)

·Systems Analysis 2 - 62%

·Database Principles 3 (SQL) - 87% (PD)

·Industrial Electronics 2 - 74%

·Software Engineering 3 - 82% (PD)

·Computer Practice (Internship) 1 - 84% (PD)

·Computer Practice (Internship) 2 - 80% (PD)  A "(PD)" indicates a Pass with Distinction.

Jan 1998Nov 2002

High School

Norkem Park High School

·English (SG)

·Afrikaans (HG)

·Mathematics (HG)

·General Science (SG)

·Electrical Theory (SG) - N3

·Technical Drawing (HG)



  • Toad NUTS: developed an Android and web application for an organization called Toad NUTS that focus on the conservation of the endangered Western Leopard Toad (2015):
  • Implemented the first TekSpeech Pro Client (speech engine) solution in South Africa (2015): Case study video: . Also, currently the only TekSpeech certified developer in Africa.
  • Toastmasters - won an award for best public speaking (in the newcomers category) at a Toastmasters event, for an impromptu speech (2014).
  • Developed the Figlut Suite of applications, which is an out-of-the-box data capturing solution, that allows users of the Windows Desktop, Windows Mobile and Android applications to perform CRUD operations on a SQL server database, without requiring any coding. See video here:
  • Implemented half of the speech driven Warehouse Management solutions in the country and managed/supported 10 out of 11 of them (2010-2014)
  • Completed National Diploma in Computer Systems Engineer and averaging with a distinction across all subjects (2007)
  • Microsoft Project Firefly Cup Finalist (November 2006)
  • Vaal University of Technology - best Foundation Engineering Student for both modules - with distinctions (June 2003)
  • Turbo CAD student of the year - with distinction (December 2002)
  • Best Maths Student In the Standard (1998, 1999, 2000)
  • Second best Maths Student in the Standard (1997)
  • Best Maths and Art Student in the Standard (1994, 1995, 1996)
  • Kenpo Karate - won 2 gold medals at the South African Martial Arts championships (for musical and creative Kata) (1996). As well as several other medals at smaller regional championships. 
  • Kenpo Karate - Most achieving student of the year (1996)
  • Kenpo Karate -  class student of the year (1995)

Personality Traits & Qualities

  • Big picture kind of person: I always think about the big picture and don't get too bothered about petty discussions. I become demotivated when there is no long term goal/vision to strive for, and vice versa. For example, I often concern myself with the state of the company that I work for, or the industry that I'm in, even if it has nothing to do with my specific job.
  • Generalist: I enjoy trying my hands at multiple things.
  • Quality over quantity kind of person: have always prioritized quality over quantity, but due to external factors, sometimes this is just not possible e.g. budget constraints, difference of opinion with colleagues etc.
  • Presentation skills: I have been complimented in the past (by a manager) that apparently I'm very good at doing technical presentations.
  • Good teacher: I have been complimented in the past (by a manager) that apparently I am very good at taking a complex concept and explaining it in a very easy to understand manner. I particularly enjoy explaining concepts to people who ask for my help; such as to my non-technical customers.
  • Explicit & transparent communicator: I tend to be very explicit when I express myself and I always mean what I say and say what I mean.
  • Human nature: have always taken an interest in basic psychology and philosophy principles in order to understand human nature.
  • Aesthetics: have always appreciated good design and I think I have an eye for it.


  • English
  • Romanian
  • Afrikaans


Jean-Philippe Candel Durand

Motorola: Global Technical Director for Speech & Warehousing Solutions

Directly reported to Iean-Philippe for 1 and a half years.

Email: [email protected]

Mobile: +33 61 489 4523 (based in France)

Michelle Hollis

Psion: Country Manager/Managing Director

Motorola: National Sales Manager

Directly reported to Michelle for 4 years.

Email: [email protected]

Mobile: 082 442 8960

Iqbal Ahmed

Psion : Financial manager 

Motorola: Operations Manager

Indirectly reported to Iqbal for 4 years.

Email: [email protected]

Mobile: 082 371 7420

Dusan Babich

Red Five Labs: CEO

Indirectly reported to Dusan for 1 and a half years.

Email: [email protected]

Mobile: 082 461 0082

Mike Welham

Red Five Labs: CTO

Reported directly to Mike for a 1 and half years.

Email: [email protected]

Mobile: 082 881 3980

Craig Paterson

Agilisto: co-owner

Reported to Craig for 1 and half years.

Email: [email protected]

Mobile: 082 377 3416

Armand du Plessis

Agilisto: co-owner

Reported to Armand for 1 and half years

Mobile: 082 555 9629