Bruce Edwards
Verified Expert in Engineering
Software Developer
Pretoria, Gauteng, South Africa
Toptal member since June 18, 2020
Having led the development of a great number of high-profile systems, Bruce is a highly experienced software developer. He communicates well at all levels. Apart from web development, he is also highly experienced in BI and has worked with large teams and individually.
Portfolio
Experience
- SQL - 20 years
- Data Modeling - 10 years
- Business Intelligence (BI) - 10 years
- Data Engineering - 8 years
- ETL - 7 years
- JavaScript - 7 years
- Node.js - 3 years
- Azure SQL - 1 year
Availability
Preferred Environment
Amazon Web Services (AWS), TypeScript, React, D3.js, Three.js, OpenLayers, SQL
The most amazing...
...time in my life has been sailing single-handedly across the Atlantic a few times and encountering silence.
Work Experience
Full-stack Developer (via Toptal)
Climate Edge Law Group, a California Professional Corporation
- Developed an app to download data from the Clio API and then upload Excel invoices for selected attorneys.
- Used the ExcelJS library within React to ensure that all the calculated values in the uploaded Excel invoices were still actionable with Excel formulas.
- Developed a way to persist data for customized payment percentages by uploading modified invoices through a data pipeline developed with AWS services.
- Built a secure API to Clio with support to add new users, change passwords, and reset forgotten passwords using Amazon Cognito.
React and Excel Automation Developer
D2 Legal Change Inc.
- Created a visual representation of a legal compliance process where a user can navigate through a flow chart to get results instead of wading through a PDF document.
- Built a data pipeline to keep the flow chart application up to date easily.
- Created administrative features to easily manage the layout of the flow charts after a default layout is created.
- Developed an API and storage facilities with AWS to persist changes.
Full-stack Developer
VecViz LLC
- Modified the data pipeline to handle data from new sources.
- Improved performance for mobile browsers and browsers using incognito mode.
- Added new data to some D3.js chart tooltips and improved the performance of the rendering.
Data Visualization Expert
Children's Home Society of North Carolina
- Developed an app to visualize data geographically.
- Created an interface for the user to make style changes in a very responsive manner.
- Used AWS to store config during the development phase. Once development was complete, the final config was hard coded into the React app. The idea was to empower the client to do most of the design and styling.
- Created a data pipeline to gather data from a variety of sources into the dashboard.
D3.js Expert
HR Data Hub Ltd
- Showed the developers how to structure a react component to use D3.js so that the D3.js chart scales with the component size.
- Taught the developers how to use a foreign object to display dynamic tooltips.
- Demonstrated the best design patterns to use with React and D3.js.
Full-stack Developer
VecViz LLC
- Modified an existing React application I created in an earlier project to run on a WordPress instance of Amazon Lightsail.
- Devised a deployment strategy to deploy the React application from GIT to the Lightsail instance.
- Resolved styling conflicts between the React application and the WordPress styles.
Data Architect
Ricoh Corporation - DSC - PortfolioSoftwareSolutions
- Developed the MySQL stored procedures and functions required for the Simple Send application. Modified data structures where necessary.
- Developed an innovative generic AWS lambda function that routes all traffic from and to the FE and BE without needing any modification, using MySQL's JSON support.
- Simplified the system's architecture, helping to meet the project deadlines in a timely fashion.
- Integrated some parts of the Simple Send application with a 3rd-party vendor called Planet Press and managed the digital communication between APIs.
Full-stack Developer
VecViz LLC
- Developed a secure React portal hosted on AWS utilizing API Gateway, S3, CloudFront, Route 53, Lambda, and DynamoDB.
- Created a set of highly interactive dashboards with D3.js.
- Made data pipelines to keep the dashboards up to date.
Database Engineer
D2 Legal Change Inc.
- Made an assessment of the issues that needed to be resolved. There were two known bugs in a Python script that loaded data from Excel. Formatted the data into a Word document, and then converted it to pdf.
- Found a solution to overcome the 40-character limit on Microsoft Word bookmarks. I used a hash algorithm to ensure uniqueness with a length that came in well under the 40 limit.
- Extended the functionality to add hyperlinks to the summary table.
D3.js Developer
Medify Ltd
- Developed a React app that let the user play with different configuration settings for each chart until the look and feel were exactly right.
- Developed six highly customized charts using D3 that were responsive to user interaction and changes in data.
- Developed a CI/CD pipeline to ensure timely integration into the React and Ember apps, where the charts ultimately reside.
Data Engineer
Health Data Atlas
- Automated existing data collection processes using AWS. Converted Python scripts to run as command line jobs within Amazon Batch and Amazon Lambda. All processes were improved by enabling the logging of all events either in Postgres or Dynamodb.
- Created an app to recognize data structures in JSON and CSV and then automatically create Postgres tables from the metadata and populate those tables while ensuring no duplicates. SQLAlchemy was used mainly for this.
- Created a web application to enable manual downloading of data files to Postgres. This was a React app using TypeScript and hosted on Amazon S3. It was secured using Amazon Cognito.
- Advised the client on best practices for data warehousing and data pipelines.
Data Engineer
Marubeni America Corporation - Main
- Developed a set of TSQL procedures to effectively clean IoT data and make it useable for BI purposes.
- Utilized the Elastic Jobs service in Azure to schedule initial and incremental loads.
- Used Azure Data Factory to transfer data between servers and databases.
- Created a methodology to simplify querying of maintenance data utilizing mapping and validation tables using calculated values measuring values against standard deviations. Utilized TSQL.
Full-stack Developer
Fimadex Sarl
- Developed an online portal to serve as a POC for a new online commodities trading platform.
- Moved the client's domain to AWS Route 53 and set up the portal using AWS S3, Amazon CloudFront, Route 53, API Gateway, Lambda, Batch, DynamoDB, Cognito, and IAM services.
- Rendered a large point cloud using Potree so that users can navigate through a warehouse as though in a 3D game.
- Created a feature to enable the creation of 3D mesh objects to visualize stacks of commodities in a warehouse.
- Created data visualizations using custom D3 components.
React Developer
Alchemy Consulting LLC
- Developed a web portal to visualize data from drone and satellite footage to mitigate fire risks by understanding the fuel situation and terrain of the areas of concern.
- Developed interactive features for user analysis. This meant extracting usable data from image files and storing the data in a relational database for rapid retrieval.
- Built all the data pipelines and image manipulation processes required to fulfill the needs of the portal users.
- Created the development environment and a CI/CD pipeline.
React Developer
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.
Full-stack JavaScript Developer
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.
Data Visualization Engineer
Moneyhub
- 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.
Web Developer
Mine Tech Services
- Created an interactive mapping website to visualize the data generated by mining vehicles on open pit mines. The website includes near-real-time animations of the entire fleet and numerous features to understand health events, site inspections, and more.
- 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 facilitate reporting.
- Created a user management module to secure the site and ensure user activity can be reliably reported.
- Built a task management module where work requests can be made from the interactive map and distributed to the right people. It includes all the features needed to manage tasks from beginning to end.
- Developed an administration application to manage users and the security context.
- Created a highly interactive dashboard using D3.js to visualize complex data returned by transponders on the mining equipment.
C# Engineer
Bula
- 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.
C# .NET Engineer
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.
Qlik Sense Expert
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.
D3 Developer
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.
SQL/Crystal Reports Developer
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.
Engagement Manager
Decision
- 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.
Senior BI Consultant
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.
SQL Technical Lead
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.
Independent Contractor
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.
Majority Shareholder
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.
Independent Contractor
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.
Independent Contractor
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.
Independent Contractor
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.
Independent Contractor
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.
Systems Analyst and Programmer
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.
Experience
Trend Exception Tool
http://www.scirebug.co.za/tetDEMO/tetDEMO.HTMLD3.js Chart Portal
https://medify.scirebug.net/Education
https://medify.scirebug.net/Education
SAP Certified Application Associate in Crystal Reports
SAP - Johannesburg, South Africa
MCP in Microsoft SQL Server 2008 Database Development
Microsoft - Johannesburg, South Africa
Diploma in Business Management
Damelin Business School - Johannesburg, South Africa
Certifications
Microsoft Certified Professional
Microsoft
Certified Technology Specialist, SQL Server 2008, Database Development
Microsoft
Skills
Libraries/APIs
React, Leaflet, D3.js, jQuery, Node.js, Google Maps API, Complex SQL Queries, OpenLayers, Google Geocoding API, Recharts, jQuery UI, React Redux, Three.js, Potree, NumPy, Pandas, SQLAlchemy, Chart.js, Clio API
Tools
Lumira, Xcelsius, Crystal Reports, Qlik Sense, Microsoft PowerPoint, Google Analytics, Microsoft Access, Microsoft Excel, Tableau, Eclipse IDE, Apache Tomcat, Amazon Athena, Amazon Elastic Container Service (ECS), Amazon CloudFront CDN, GitHub, Visual Studio, SQL Management Studio, Microsoft Transaction Server (MTS), SAP Analytics Design Studio, DTS, Git, Visual Studio 2012, Azure IoT Hub, Amazon Cognito, AWS Batch, Wix, AWS SDK
Languages
HTML5, T-SQL (Transact-SQL), SQL, JavaScript, CSS, TypeScript, SQL DML, Excel VBA, Stored Procedure, HTML, Python, C#, VB, AS3, Visual Basic, VB.NET, Active Server Pages (ASP), BASIC, Java, Python 3, Lava
Paradigms
Database Development, Dimensional Modeling, ETL, Database Design, Database-driven Web App Development, Business Intelligence (BI), ETL Implementation & Design, DevOps, Agile, Automation, Model View Controller (MVC), Design-driven Development (D3), MVC Design, UI Design
Platforms
Qlik, Amazon Web Services (AWS), SAP HANA, QlikView, AWS Lambda, Amazon EC2, Visual Studio Code (VS Code), Docker, Azure, AWS IoT, WordPress, Amazon Lightsail
Storage
Database Architecture, Data Pipelines, SQL Server 2012, Microsoft SQL Server, Databases, Relational Databases, SQL Server DBA, Database Performance, DB, SQL Performance, Database Administration (DBA), SQL Stored Procedures, Dynamic SQL, Data Integration, Azure SQL, SQL Server Integration Services (SSIS), MongoDB, Amazon S3 (AWS S3), PL/SQL, SQLite, PostgreSQL, Azure SQL Databases, Amazon DynamoDB
Industry Expertise
Web Design
Frameworks
Presto, Jakarta Server Pages (JSP), ASP.NET, MVC Razor, .NET, Material UI, Express.js, Flex, Razor, Electron, AngularJS
Other
Freelancing, Relational Database Design, Data Architecture, ETL Development, SAP Business Intelligence (BI), Dashboard Design, Web Intelligence, SAP BusinessObjects (BO), Google Earth KML, Data Visualization, Complex Data Analysis, Data Analysis, Full-stack, APIs, Data Modeling, Data Warehousing, Data Engineering, Data, Data Warehouse Design, Data Migration, Reporting, Data Transformation, Data Queries, Performance Tuning, Data-driven Dashboards, Data Manipulation, Data Auditing, API Design, Data Analytics, Scripting, Front-end Development, Performance Optimization, Database Schema Design, Material Design, IIS 7, Amazon RDS, Team Leadership, CI/CD Pipelines, Finance, System Administration, Analytics, Industrial Internet of Things (IIoT), Windows 10, SAP Lumira, SAP, SAP BusinessObjects Data Service (BODS), Google, Business Management, Front-end, User Interface (UI), Azure Data Factory, Amazon API Gateway, Front-end Design, Web Scraping, Charts, Graphs, Dashboards, Dash, Architecture, Web Development, User Experience (UX), Amazon Route 53, exceljs
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring