Bruce Edwards, Material Design Developer in Pretoria, Gauteng, South Africa
Bruce Edwards

Material Design Developer in Pretoria, Gauteng, South Africa

Member since November 9, 2016
Bruce is a highly experienced software developer, having led the development of a bunch of high-profile systems. He communicates well at all levels. Apart from web development, he is also highly experienced in BI and has worked with large teams as well as individually.
Bruce is now available for hire




Pretoria, Gauteng, South Africa



Preferred Environment

SQL Management Studio, Visual Studio Code, Windows 10

The most amazing...

...thing I've written is a SQL-based workflow engine that had a limited ability to learn by improving rules via random sampling and testing.


  • Web Developer

    2017 - PRESENT
    Mine Tech Services
    • Created an interactive mapping website to visualize the data generated by mining vehicles on open pit mines. Includes near-real-time animations of the entire fleet as well as numerous features to understand health events, site inspections, speeding incidents, etc.
    • Built a data management component using C# to easily manage Ajax calls from a website to a SQL database.
    • Designed normalized SQL data structures to handle the interactions on the website and to facilitate reporting.
    • Created a user management module to secure the site and ensure that user activity can be reliably reported on.
    • Built a task management module where work requests can be made from the interactive map and distributed to the right people. Includes all the features needed to manage tasks from beginning to end.
    • Developed an administration application to manage the users and the security context.
    • Created a highly interactive dashboard using D3 to visualize the complex data returned by the transponders on mining equipment.
    Technologies: jQuery UI, jQuery, JavaScript, Microsoft SQL Server, LeafletJS
  • React Developer

    2021 - 2021
    Shanbohogue Corp.
    • Used the FlexLayout React component to enable moving components around on the UI.
    • Created a heatmap component with D3 to render hundreds of thousands of points instantaneously with user interaction. This was done by integrating D3 with canvas.
    • Created a configurable D3 bar chart component to improve the performance of an existing feature.
    • Got heatmap component to act as a data filter for other components so that any zoom or brush events would affect the other visualization components to show visible data only.
    Technologies: React, D3.js, React Redux
  • Full-stack JavaScript Developer

    2020 - 2021
    Albayanat Alwasphiah LTD
    • Developed an app using React and D3 that visualized data for a large international trading company.
    • Created customized D3 charts and mapping and selection components to be used within the project.
    • Created data structures, SQL queries, and the API to access the data.
    • Packaged the app in Electron for certain use cases.
    • Productionized the app for deployment to the client. This app renders LTR for English and RTL for Arabic.
    • Created a translation module to translate between English and Arabic based on the version selected.
    Technologies: JavaScript, React, Node.js, SQLite, PostgreSQL, Electron, D3.js, Git, Docker, Express.js
  • Data Visualization Engineer

    2020 - 2020
    • Created a series of React components based on Recharts to visualize data retrieved from AWS Athena.
    • Built the web service using Node.js to access the data from Athena. This service created SQL on the fly based on user-defined parameters.
    • Developed a Node.js module to prepare Athena data for optimal data retrieval as part of the daily ETL process.
    • Created an application with Node.js and React to test my React components before they were uploaded to the live system. This application also simulated all the possible filters that users would be able to specify.
    • Built custom charts with D3 and integrated them into the React components. All React components were functional components using React hooks.
    • Suggested and created charts to highlight interesting aspects of the business.
    • Cleaned up data on Athena and formulated an efficient method of data retrieval eliminating all data joins in real time.
    • Created forms with Material-UI.
    Technologies: Amazon Web Services (AWS), Node.js, Presto DB, Material-UI, SQL, AWS Athena, AWS, D3.js, Recharts, React
  • C# Engineer

    2019 - 2019
    • Supported an MVC application for Bula Law written in C#.
    • Added new features such as tree structures to display company offerings.
    • Extended JavaScript objects to resolve issues that could not be resolved at the C# level.
    • Managed virtual machines using the Azure interface.
    • Worked with the integrated VS Azure source control to manage versions and deploy to Dev and Prod.
    Technologies: Azure, SQL, Model View Controller (MVC), Razor, JavaScript, C#
  • C# .NET Engineer

    2019 - 2019
    Bula Law
    • Made numerous enhancements to an existing MVC web application.
    • Created SQL scripts to manipulate complex data without losing integrity for bulk user activity.
    • Performed system admin tasks on Azure portal.
    Technologies: Azure, SQL, Model View Controller (MVC), Razor, JavaScript, C#
  • Qlik Sense Expert

    2019 - 2019
    Bula Law
    • Created an app to query an Azure SQL database via a C# API with various end points. I passed credentials to the appropriate connector to get an access token and then applied this to the post body of the subsequent HTTP requests to the API. This could only be done by coding in the load script. The retrieved data was then used to incrementally populate a bunch of QVD files which I designed in accordance with the visualization requirements.
    • Built a load script to use Qlik Sense SQL to process the QVD raw data in ways required by the visualization. Some tricky workarounds were required because Qlik Sense does not support SQL window functions such as Rank().
    • Created an SVG extension with D3 in order to satisfy a mapping requirement of Bula's, apart from putting together the basic building blocks for Bula to expand upon the charts I created.
    • Managed the licensing, publishing, security, and task scheduling to create a fully automated system that gets updated every day.
    • Built the ETL in a robust way so that any failures were handled without loss of data or the need for interventions.
    Technologies: D3.js, JavaScript, Qlik Sense, SQL
  • D3 Developer

    2018 - 2018
    University of Colorado
    • Created a data visualization using D3 that simulated a lava lamp effect.
    • Created geographical data visualization using D3.
    • Integrated D3 modules with React.
    • Modified an existing API to access MongoDB with Node.js.
    • Used Git.
    Technologies: Node.js, Express.js, React, JavaScript, D3.js
  • SQL/Crystal Reports Developer

    2017 - 2018
    Space Machine & Engineering Corp (via Toptal)
    • Created a Crystal Report with dynamically extendable columns for export into Excel.
    • Created an SQL stored procedure to pivot data dynamically based off the Crystal Report parameter selections to support the report above.
    • Created a number of Crystal Reports to be embedded within the E2 Shop software.
    • Liaised with the E2 support staff to overcome limitations in the E2 Crystal integration.
    Technologies: Crystal Reports, Microsoft SQL Server
  • Engagement Manager

    2014 - 2016
    • Created visualization extensions for SAP Lumira using D3.js.
    • Created a maintenance-free table-driven ETL system using MS SQL Server linked servers. Deployed to four different clients with differing requirements.
    • Created a SQL-based table-driven workflow rules engine to manage assets for a bank. Created the dynamic front-end in Flash player with AS3.
    • Created a BI system for an online movie download site using PostgreSQL for the back-end, ETL, and data warehouse, and Tableau for the front-end visualizations. Data mostly derived from Google Analytics.
    • Created numerous extensions for Xcelsius with AS3 and HTML5. These extensions were used to create a multitude of dashboards for a wide selection of clients.
    • Satisfied the data visualization requirements of a multitude of different clients. This included database design, ETL, report writing, and data visualization.
    • Managed development teams on-site on three occasions. The largest team I managed had three members.
    Technologies: Python, SAP Analytics Design Studio, SAP, Tableau, AS3, SAP HANA, PostgreSQL, SQL Server Integration Services (SSIS), Java, D3.js, JavaScript, Crystal Reports, Dashboard Design, SAP Lumira, SQL, Google Analytics
  • Senior BI Consultant

    2009 - 2014
    Asyst Intelligence
    • Modeled a dimensional data warehouse for an asset management company. Used SSIS for the ETL and SAP Business Objects to visualize and report the data.
    • Created a geo-spatial dashboard system capable of rendering huge amounts of spatial data rapidly. Points changed shape, size, and color in response to questions asked of the data embedded within the KML. Shapes changed color and lines changed width, color, and style in response to questions.
    • Gathered the requirements, created the ETL, designed and developed the data warehouses when required, wrote the reports, and satisfied the data visualization requirements of a wide variety of clients. Created dashboards on a daily basis.
    Technologies: Google, Flex, SQL Server Integration Services (SSIS), AS3, Apache Tomcat, JSP, HTML5, JavaScript, Java, C#, SAP BusinessObjects Data Service (BODS), SQL
  • SQL Technical Lead

    2006 - 2009
    Massana Technologies
    • Initiated and developed a system to manage the data transformations from the legacy “Venus” system to the new SAP system being developed by the city of Johannesburg. The system was required to process 30 TB of data in a limited window.
    • Created applications to manage the extracts coming from the city, to manage the loading of data into SAP and to give an online view of all activity to the business on demand.
    • Created a system to generate the purification logs to enable the city to identify data requiring purification.
    • Did extensive data analysis to help all areas of the project to better understand the data and issues surrounding it. This includes an automated system to request and return test data for the testing team.
    • Served as acting project manager for data for a couple of months until a SAP specialist was recruited.
    Technologies: DTS, SQL
  • Independent Contractor

    2006 - 2006
    Alexander Forbes Insurance
    • Developed a self-contained component for integrating the quoting system with a large brokerage.
    • Wrote a .NET version and wrote a migration script for another project.
    Technologies: SQL, VB.NET, Visual Basic
  • Majority Shareholder

    2002 - 2005
    Nedbank (Client of Comvision)
    • Wrote three modules for the collection system at Peoples Bank: a module to manage third-party external trace companies, a module to manage third-party attorneys, and a module to manage the handling of write-offs for the bank. All the modules were built on the Flux framework, which I developed for Comvision.
    • Hired to give guidance to the MIS department at Peoples Bank. After automating the manual procedures in place and developing structures to generate and distribute reports throughout the organization, I negotiated a deal whereby Comvision supplied and managed resources to develop software for Peoples Bank.
    • Oversaw the development and implementation of a collections system and an up-front segmentation system. Both systems leverage the intranet for the user interface and utilized the RDMS SQL Server to protect the data and enforce business rules. Both systems have become mission critical and are an integral part in the success of Peoples Bank. The credit checking system is responsible for assessing and processing loan applications. It comprises an out-of-process component to asynchronously query the Experion database and a system of parameter tables to manage application scoring and ensure a dynamic environment essential to the business.
    • Created the debt collection system using a product called Flux, which is the property of Comvision and is a unique framework capable of developing complex workflow systems in a relatively short space of time. Flux excels at enforcing business rules for organizations whose business rules change frequently and sometimes dramatically.
    Technologies: ASP, VB.NET, Visual Basic, SQL
  • Independent Contractor

    2000 - 2000
    ICS (UK-based Microsoft Service Provider)
    • Contracted out to the Drug Safety Research Unit (D.S.R.U.) on behalf of ICS. The D.S.R.U. maintains a database of medical case studies in an attempt to spot long term side effect in drugs.
    • Created a workflow system to manage the input of data into the database. Because of the difficulty in deciphering the handwriting of those in the medical profession, the actual documents were scanned into the system and stored on the database. We used a product called Image Basic to allow users to zoom into and out of the stored images in order to decipher the handwriting and keep track of all the notes scribbled in the margins.
    • Produced a series of stored procedures, which extracted the data and images for publication.
    • Created a series of GUI screens to maintain static data and data relationships.
    • Identified ways of speeding up the workflow system especially with regard to uploading large images. I eliminated unnecessary processing and significantly improved performance on both the front and back ends.
    • Mentored the head of the DP department.
    Technologies: BASIC, SQL, Visual Basic
  • Independent Contractor

    1999 - 1999
    Harrods, Ltd.
    • Eliminated deadlocks from the Harrods Sales Audit System arising from replication conflicts.
    • Wrote a management reporting system to produce formatted reports and distribute them throughout the organization via an exchange server integrated with MS Outlook. The scheduler was written in VB and the reports were formatted in MS Access and distributed via Microsoft Exchange.
    • Wrote a fully transactional cash management system to reconcile actual cash collected with expected trade. The bulk of the work involved writing stored procedures in SQL with some DBA work involving replication.
    • Optimized SQL queries.
    Technologies: Microsoft Access, SQL, Visual Basic
  • Independent Contractor

    1998 - 1999
    Honda UK
    • Created ActiveX components for the Honda Company Cars system, primarily all of the overnight scheduled tasks managing feeds from a mainframe system and a back-end module of stored procedures to validate vehicle documentation for accounting purposes.
    • Created a report writing system making use of the Excel object.
    Technologies: Microsoft Transaction Server (MTS), SQL, Visual Basic
  • Independent Contractor

    1994 - 1997
    Automobile Association of South Africa
    • Analyzed, designed, developed, and implemented a claim processing system for the AA.
    • Trained staff to maintain systems written by myself prior to my leaving.
    • Customized a product called Customer Ixchange for the launch of a new product within the AA.
    • Analyzed, designed, developed, and implemented a call taking and vehicle dispatching system for the AA’s new state-of-the-art call center. The system integrated with a trunk radio network to communicate between the vehicles in the field and the control center.
    • Analyzed a new membership system. Maintained and converted PRO IV-based software to SQL Server 6 and Windows NT 3.5.
    Technologies: SQL, Visual Basic
  • Systems Analyst and Programmer

    1988 - 1992
    Huw Edwards Computer Systems
    • Analyzed, designed, developed, and implemented a claim processing system for the Rand Mutual Assurance Company. During this time, I was hired out by Huw Edwards Computer Systems on a contractual basis to write the Rand Mutual System.



  • Languages

    HTML5, T-SQL, SQL, JavaScript, CSS, C#, VB, AS3, Visual Basic, VB.NET, BASIC, Python, Java
  • Libraries/APIs

    React, LeafletJS, D3.js, jQuery, Node.js, Google Maps API, Recharts, jQuery UI, React Redux
  • Tools

    Lumira, Xcelsius, Crystal Reports, Qlik Sense, Microsoft PowerPoint, Google Analytics, Microsoft Access, Microsoft Excel, Tableau, Eclipse IDE, Apache Tomcat, AWS Athena, Amazon Athena, SQL Management Studio, Microsoft Transaction Server (MTS), SAP Analytics Design Studio, DTS, Git, Visual Studio 2012
  • Paradigms

    Database Development, Dimensional Modeling, ETL, Database Design, Database-driven Web App Development, Model View Controller (MVC), Design-driven Development (D3), MVC Design
  • Storage

    Database Architecture, Data Pipelines, SQL Server 2012, Microsoft SQL Server, Azure SQL, SQL Server Integration Services (SSIS), SQLite, MongoDB, PostgreSQL, AWS S3
  • Other

    Freelance, Relational Database Design, Data Architecture, ETL Development, SAP Business Intelligence (BI), Dashboard Design, Web Intelligence, SAP BusinessObjects (BO), Qlik, Google Earth KML, Data Visualization, Complex Data Analysis, Data Analysis, Material Design, IIS 7, Windows 10, SAP Lumira, SAP, SAP BusinessObjects Data Service (BODS), Google, AWS
  • Frameworks

    Presto DB, JavaServer Pages (JSP), MVC Razor, .NET, Material-UI, Express.js, ASP, JSP, Flex, Razor, Electron, AngularJS, ASP.NET
  • Platforms

    SAP HANA, Visual Studio Code, Amazon Web Services (AWS), Docker, Azure


  • SAP Certified Application Associate in Crystal Reports
    2010 - 2010
    SAP - Johannesburg
  • MCP in Microsoft SQL Server 2008 Database Development
    2010 - 2010
    Microsoft - Johannesburg
  • Diploma in Business Management
    1991 - 1991
    Damelin Business School - Johannesburg


  • Microsoft Certified Professional
    APRIL 2012 - PRESENT
  • Certified Technology Specialist, SQL Server 2008, Database Development

To view more profiles

Join Toptal
Share it with others