foontzoot

Sinisa Petkovic

Software Developer

LinkedIn      •      GitHub      •      Stack Overflow


As a seasoned Software Developer/Consultant and Team Leader, I have complimented and led teams through all software development phases for over two decades. My expertise extends from requirement gathering and analysis to design, development, testing, and support. I am well-versed in server operating systems and virtualization, development environments, frontend and backend programming languages, and data architecture. I am proficient in .NET/C#, JavaScript/TypeScript, Go, PHP, Python and Spring. I am skilled in database development using relational, document and graph databases. I am adept at designing and implementing scalable cloud solutions, including Azure and AWS.


Highlights

.NET

I have deep expertise across the full spectrum of .NET technologies, including both .NET Framework and .NET Core. My mastery of core concepts such as Threading, Cashing, Delegates, Events, Generics, Collections, LINQ, Exception Handling, Transactions, Reflection, and Serialization ensures the development of highly scalable, robust, and easily maintainable server-side applications that consistently exceed expectations.

I bring experience across various .NET UI technologies, including modern web experiences with Blazor, cross-platform native applications with MAUI, and established desktop solutions using WPF and WinForms. While my primary focus is crafting intuitive and engaging user interfaces, my familiarity with legacy WebForms applications allows for seamless integration and maintenance within diverse .NET ecosystems.

OTHER BACKEND FRAMEWORKS

I am skilled in utilizing the event-driven architecture of NodeJS, the batteries-included approach of Django, the micro-framework nature of Flask, the performance-focused Gin and Fiber, the developer-friendly experience of Laravel, and the concurrency model of Phoenix.

REACT & ANGULAR

I bring proven proficiency in developing modern, responsive, and dynamic user interfaces using React and Angular. My hands-on experience with these leading frameworks, demonstrated in various projects, ensures a comprehensive understanding of contemporary web development practices and the ability to deliver engaging and effective user experiences.

OTHER FRONTEND FRAMEWORKS

I love crafting dynamic and efficient user interfaces. My expertise spans foundational web technologies, including HTML and vanilla JavaScript, augmented by modern approaches like htmx for enhanced interactivity with minimal JavaScript. I am proficient in server-side rendering using HTML templates for both Golang and Python (including the Django framework), ensuring robust, maintainable, and performant web applications.

CLOUD TECHNOLOGIES

Highly experienced in Cloud Technologies, with deep expertise across Microsoft Azure and AWS. Proven ability to design, develop, and deploy cloud-based solutions on PaaS and IaaS, leveraging a wide range of services, including Azure App Service, Functions, Durable Functions, various storage solutions (Queue, Table, Blob), API Management, App Insights, Logic Apps, Data Factory, DevOps, and AWS services like IAM, EC2, S3, Event Bridge, Lambda, SQS, SNS, API Gateway, Aurora, Secrets Manager, Cloud Watch, and Code Pipeline.

DATABASES

I have worked extensively with a diverse set of database and data storage systems, including relational databases like SQL Server, SQL Azure, PostgreSQL, MySQL, Oracle, and SQLite, NoSQL databases such as DynamoDB, Cosmos DB, Document DB, and MongoDB, graph databases like Neo4j, in-memory data stores like Redis, and NoSQL cloud platforms like Firebase. My skills cover comprehensive data management across these paradigms, including SQL, T-SQL, PL/SQL, Cypher (for Neo4j), data structure management in Redis, Firebase data modeling, schema design (relational and graph models), transactions, data migrations, performance tuning, stored procedures, functions, triggers, and views.

DATA INTEGRATION & ETL

Adept at leveraging cloud-based and on-premises data integration technologies, including Azure Data FactoryAWS Glue, and SQL Server Integration Services (SSIS). Furthermore, I have experience developing custom solutions using C#, Python and Go to extend and automate data integration workflows, enabling more granular control and efficient handling of specific business requirements. I have a proven track record of designing and implementing efficient data integration solutions to meet diverse business needs.

MESSAGING SERVICES

Proficient in utilizing messaging services to enhance backend systems’ scalability, reliability, and fault tolerance. I have hands-on experience with AWS SQS for building decoupled and distributed applications, AWS SNS for efficient notification delivery and building event-driven architectures, Azure Service Bus for advanced messaging patterns, Azure Queue Storage for cost-effective queuing, traditional solutions like MSMQ, and the versatile RabbitMQ for complex routing and message handling.

DISTRIBUTED STREAMING SERVICES

Adept at designing and implementing highly scalable and real-time backend solutions by strategically using pub/sub messaging patterns. My experience includes leveraging Apache Kafka for high-throughput, fault-tolerant data streaming and event processing.

PROGRAMMING LANGUAGES

Throughout my extensive career as a software engineer, I have cultivated deep expertise in various programming languages. I am fully proficient in C#, Go, JavaScxript, TypeScript, Python, C/C++, Java Spring, PHP, and Scala, allowing me to contribute effectively to diverse projects and teams. My passion for continuous learning extends to exploring and experimenting with languages like Rust, Elixir, Ruby, and OCaml, fostering adaptability and a broad understanding of software development paradigms.


Experience

LAWPRO | Toronto, ON | Nov 2021 - Present

Remote | SENIOR SOFTWARE ENGINEER, CONSULTANT

As a Software Engineer within the Nimbus Consulting Team, I have been instrumental in building and maintaining LawPRO’s TitlePLUS Insurance Service. My full-stack capabilities encompass backend development using .NET Core, C#, Go, serverless technologies like Lambda and API Gateway, and frontend development with React, Redux, and MaterialUI. I have a proven track record of modernizing technology stacks, including migrations of .NET, Node.js, and CI/CD pipelines. My contributions have directly resulted in improved data synchronization, enhanced database performance, and the delivery of practical solutions for user management and data reporting.

My experience includes designing and refactoring RESTful APIs following the CQRS pattern with MediatR and FluentValidation. Notably, I delivered an effective User Profile solution that resolved significant data synchronization issues between Okta and LawPRO services. I have also enhanced database performance and accuracy by modifying and creating numerous MySQL stored procedures. I collaborated closely with the TitlePLUS Client Services team to plan and design new features, ensuring user needs are effectively translated into functional and engaging interfaces.

INFOSYS (PwC Global) | Atlanta, GA | Aug 2021 - Nov 2021

Remote | TECH LEAD, CONSULTANT

As a member of the Infosys Consulting Team for PwC Global Compliance Service, I played a role in team growth and code quality. I provided guidance, mentoring, and thorough one-on-one pull request reviews to junior team members, fostering their development and ensuring adherence to best practices. My technical contributions spanned frontend development with Angular 10+, PrimeNG, and NgRx, as well as backend API development and data access using .NET and Dapper, working closely with the Software Architects Team on planning and design. Notably, I championed the introduction of unit testing within the SQL Server Database Solution to improve data integrity and reliability.

FREEDOM MOBILE | Toronto, ON | Apr 2021 - Aug 2021

Remote | SENIOR SOFTWARE ENGINEER, CONSULTANT

Contributing to the development and maintenance of Freedom Mobile services, I have significant experience in API design and infrastructure automation. This involved converting numerous API calls to a serverless architecture leveraging AWS API Gateway, Lambda, PostgreSQL, and DynamoDB. I also led the refactoring of a monolithic backend solution towards a microservices-ready architecture, adhering to SOLID and DRY principles. Furthermore, I enhanced code reusability by creating NuGet packages and managing them via AWS CodeArtifact, and streamlined database infrastructure by recreating an AWS Aurora PostgreSQL database using a Entity Framework Core code-first approach based on an existing SQL Server database. My experience extends to modernizing communication protocols by migrating a WCF SOAP service to gRPC and establishing efficient CI/CD pipelines with Jenkins and Terraform.

autoTRADER.ca | Vancouver, BC | Sep 2020 - Apr 2021

Remote | SENIOR SOFTWARE ENGINEER, CONSULTANT

As a Software Engineer within the One-Source team at AutoTrader, I was instrumental in building and maintaining critical One-Source solutions. A key achievement involved the successful creation and deployment of an Azure Durable Function with a central orchestrator and two sub-orchestrators, which automated the backup and clearing of over 4.5 million old entries from various data stores including Cosmos DB, SQL Server, Table Storage, Blob Storage, and Cognitive Search Indexes. This automation, coupled with efficient data handling via Azure Data Factory, not only improved system efficiency but also resulted in significant savings in Azure resource utilization. My responsibilities further included working on various data transformation projects, effectively tackling technical debt, performing essential refactoring and version upgrades, enhancing our software delivery pipelines with Azure DevOps, and improving the performance and stability of the dealer-facing React application.

TUNDRA TECHNICAL SOLUTIONS CLIENT | Cambridge, ON | Mar 2020 - Sep 2020

Cambridge, ON | FULLSTACK SOFTWARE DEVELOPER, CONSULTANT

As part of the ICS development team, I focused on modernizing and improving the efficiency of existing systems. This included working across the technology stack with ASP.NET APIs, Angular frontends, Win Forms/WPF applications, and Oracle PL/SQL queries. I enhanced the resilience of backend communication by adding availability checks for frequently restarted MSMQ services. I also spearheaded the migration of our codebase and its history from SVN to Git on Azure DevOps and established robust CI/CD pipelines using CMake, PowerShell, WiX, Python, and YAML. A key contribution was the conversion of legacy DLL files into manageable NuGet packages, hosted on an internal Azure Pipelines feed, which helped unclutter Visual Studio solutions and improve build processes. Additionally, I improved team collaboration by transitioning documentation from MS Word & Visio to accessible Azure DevOps Wikis.

INDELLIENT | Oakville, ON | Sep 2019 - Mar 2020

Oakville, ON | SENIOR SOFTWARE ENGINEER, CONSULTANT

As a Principal Developer within the OSG development team, I was central to building and maintaining OSG’s integrated solutions, with a primary focus on the cloud-based (AWS) distributed web application for OSG eBilling/eStatement, utilizing .Net Core, EF Core, Razor Pages, and PostgreSQL. My responsibilities included creating serverless functions with AWS Lambda and Java Spring, deploying tools and Web Apps to Amazon EC2, and extensively leveraging jQuery Data Tables for robust data presentation and manipulation. I also played a key role in ensuring system stability by troubleshooting occasional issues across OSG-maintained solutions on AWS, initiating unit and integration testing, enhancing logging services with Serilog, and establishing CI/CD pipelines using Terraform, Jenkins, GitHub, and AWS. Furthermore, I contributed to data processing efficiency by upgrading and optimizing multiple Python ETL packages and modernized the application framework by migrating .NET Core and EF Core from version 2.2 to 3.1.

BOND BRAND LOYALTY | Mississauga, ON | Nov 2018 - Sep 2019

Mississauga, ON | FULLSTACK SOFTWARE DEVELOPER

Contributing to the Ford development team, I was involved in building and maintaining critical internal sales and service web applications and financial calculators for Ford Canada. My responsibilities spanned both backend and frontend technologies, including the development of the SynapzeCX FordTube microservices solution using ASP.NET Core, Identity Server, Angular 4+, and related technologies like RabbitMQ, Redis, Docker, Kubernetes, and Elasticsearch. I also spearheaded modernization efforts by migrating on-prem SQL Server solutions to Azure, transforming SSIS projects into Azure Data Factory, and automating a complex daily data import process using Azure Service Bus, Azure Functions, and Azure Storage. Additionally, I improved the development lifecycle by moving the code repository to Azure DevOps and implementing automated builds and deployments, and contributed to platform modernization by upgrading legacy WebForms sites to Vue, replacing jQuery and outdated DevExpress modules.

TITUS INC. - Ottawa, ON | Aug 2018 - Nov 2018

Hybrid | SOFTWARE DEVELOPER

As a member of the agile Office Add-On development team, I played a key role in building cutting-edge ML-powered security solutions for MS Office. My technical contributions focused on an upgraded Office Add-on solution developed using ASP.NET Core, Node.js, TypeScript, React, OpenID Connect, SignalR, and Kestrel. I also engineered a C++ wrapper for GNU Linux to facilitate integration with a ASP.NET Core application. Recognizing the importance of code quality, I introduced frontend testing frameworks like Mocha, Istanbul, and NYC and contributed to the creation of a private NPM repository. My active participation in weekly code quality meetings, involving the presentation and discussion of SonarQube reports, underscored my commitment to delivering high-quality software within a collaborative agile setting.

QUESTICA - Burlington, ON | Oct 2016 - Aug 2018

Burlington, ON | FULLSTACK SOFTWARE DEVELOPER

As a Fullstack Software Developer within the Questica development team, I contributed to the development of a next-generation multitenant budgeting and financial platform, including the architecture and development of the OpenBook Azure cloud data visualization product using ASP.NET Core, EF Core, Azure AD, Azure SQL, and Aurelia. My expertise includes working with complex SQL, Transactions, Stored Procedures, Triggers, and packages across large databases using SSMS and SQL Server Profiler. I was actively involved in the migration of Questica Budget from on-prem to Azure IaaS, where I developed data import/export and transformation services using Azure Data Factory. I also improved application performance using Azure Search and SQL optimization techniques, implemented Application Insights for enhanced monitoring, and modernized the development process by migrating TFS to Git-based VSTS with continuous integration.

THE HUNT GROUP / THE GIFT CARD GROUP / THE REBATE COMPANY | Mississauga, ON | Mar 2007 - Oct 2016

Mississauga, ON | PRINCIPAL SOFTWARE DEVELOPER

A Principal Software Developer with a proven track record in consulting, I have guided clients through software architecture, design, and development strategies. My experience includes full-stack web development on Azure, emphasizing mobile-first responsive design principles. I have developed a range of applications, including web solutions on Azure App Service, desktop applications using WinForms and WPF, and specialized tools and calculators. I also possess experience in developing and maintaining on-prem web applications utilizing PHP and MySQL. My technical skills encompass database design (both SQL Server and MySQL), performance optimization, complex reporting, and data migrations. I am a strong advocate for code quality and have initiated unit, integration, and security testing within development lifecycles. A key achievement involved architecting and executing the modernization of a legacy custom-built Inventory system, leading its migration from MS Access to a robust WPF application with SQL Server and ultimately to a scalable Razor Pages Web App, resulting in improved modularity, performance, and security.

CRYPTOLOGIC | Toronto, ON | Jan 2006 - Mar 2007

C++/MFC CLIENT SIDE SOFTWARE DEVELOPER

As a Software Developer on the client-side poker development team, I focused on enhancing the user experience by implementing new features according to provided specifications. I also played a crucial role in maintaining the stability and security of the application by identifying and resolving a major bug within the existing 2D engine code related to incorrectly implemented GDI functions. Furthermore, I proactively re-implemented several areas of the codebase to eliminate potential string format overruns, mitigating potential security vulnerabilities. Throughout the development process, I collaborated closely with the QA Team to ensure the delivery of a high-quality and bug-free product.

SELEP | Toronto, ON | C++ DEVELOPER | Jun 2005 - Jan 2006

PLAVOSLOVO | Belgrade, Serbia | CO-FOUNDER | May 2001 - May 2005

SOFT-TRAIN INSTITUTE | Toronto, ON | PROGRAMMING INSTRUCTOR | May 1999 - May 2001

SAVILLE SYSTEMS | Edmonton, AB | C++/JAVA DEVELOPER, CONSULTANT | May 1998 - May 1999

KM HITECH | Vancouver, BC | C++/JAVA DEVELOPER | Jul 1995 - Apr 1998


Education

1990 - 1994 | UNIVERSITY OF BELGRADE | FACULTY OF MATHEMATICS

Bachelor’s degree in mathematics

Belgrade, Serbia


Projects

Backend Solutions .NET6 to .NET8 Migration (LawPRO/TitlePLUS)

.NET • AWS • Lambda • NuGet • Upgrade Assistant Dotnet Tool • GitHub Copilot


Announcements/Advertizing Board (LawPRO/TitlePLUS)

.NET • AWS • Aurora RDS (MySQL) • SQL • React • Redux • NPM


Notification Service (LawPRO/TitlePLUS)

.NET • AWS • Aurora RDS (MySQL) • SQL • React • Redux


Custom Reporting Service (LawPRO/TitlePLUS)

.NET • AWS • Aurora RDS (MySQL) • SQL • StoredProcedures • React • Redux


Backend Solutions .NET Core 3.1 to .NET6 Migration (LawPRO/TitlePLUS)

.NET • AWS • Lambda • NuGet • Upgrade Assistant Dotnet Tool

I spearheaded the modernization of a large .NET Core Web API, migrating it from version 3.1 to .NET 6. This critical upgrade involved a comprehensive process utilizing the Upgrade Assistant .NET Tool to address code compatibility and leverage new features. The migration also necessitated updating the Lambda runtime version to align with .NET 6. Furthermore, I meticulously updated numerous NuGet packages to their .NET 6 supported versions, including key dependencies such as Autofac, MediatR, FluentValidation, and the necessary AWS SDK packages. This migration ensured improved performance, enhanced security, and access to the latest .NET capabilities within the existing AWS Lambda deployment environment.


User Profile & User Sync (LawPRO/TitlePLUS)

.NET Core • AWS • SecretsManager • API Gateway • Lambda • SQS • SNS • SES • Okta • Aurora (MySQL) • GitHub • GitHub Actions

Solved the issue of mismatched user profile information between LawPRO and TitlePLUS by introducing the user changed event Okta webhook. Okta calls AWS API Gateway that invokes Lambda -> SQS -> Lambda -> DB update -> SNS flow. I also designed and created the User Profile section in the front-end React app that allows users to view and update their information.


Custom Forgot Password / Username (LawPRO/TitlePLUS)

.NET Core • AWS • SecretsManager • API Gateway • Lambda • SES • Okta • Aurora (MySQL) • GitHub • GitHub Actions

Created the custom forgot password or username service as the LawPRO users have pre-assigned user names. The service also allows users to update their existing recovery questions and answers. I used React for the front end and AWS and .NET Core for the back end.


CI/CD Migration from AWS CodePipeline to GitHub Actions (LawPRO/TitlePLUS)

.NET Core • AWS • CodePipeline • Lambda • GitHub • GitHub Actions

As part of a TitlePlus updated workflow initiative, I significantly improved the CI/CD pipeline by replacing AWS Code Pipeline with GitHub Actions. This involved defining efficient, declarative workflows using YAML, securely managing sensitive credentials with GitHub Secrets, and leveraging environment variables for configuration management across different stages. The deployment process was streamlined to assume an IAM identity with the necessary permissions, ensuring secure and automated deployments of the .NET Lambda functions.


OneSource Data Cleanup (autoTRADER.ca)

ASP.NET Core • Azure Durable Function • Azure Function • EF Core • Azure Cognitive Search • Redis • Azure DevOps • Terraform

AutoTrader had many old and unused orphaned assets, primarily images and videos, stored in Azure Blob Storage, Azure Table Storage, and Cosmos DB. I worked on a Durable Function that found those assets, backed them up to on-prem storage, and purged them from the Azure storage. This Durable Function had one central orchestrator and two sub-orchestrators. After the first run, we archived and deleted more than 4.5 million orphaned images and videos from the storage. We also cleared several million entries in Azure Search Indexes. Unfortunately, I can’t reveal the dollar amount saved.


OSG eBilling/eStatement Solution (Indellient)

ASP.NET Core • Web API • Razor Pages • PostgreSQL • EF Core • Npgsql • ASP.NET Core Identity • JavaScript • jQuery DataTable • Redis • AWS • GitHub • Jenkins • Terraform • nUnit • Jira • Slack

I contributed to OSG’s eBilling/eStatement solution, a cloud-based (AWS) data-driven electronic presentment platform built with .NET Core, EF Core, and Razor Pages for the online portal, and PostgreSQL for robust data storage. This distributed application, which also leverages Identity Server for secure authentication and Java Spring Lambdas for API services, provides accurate bill/statement replicas, self-service administration, dynamic reporting, and robust security, effectively simplifying delivery, reducing costs, and improving efficiency for end-customers.


SynapzeCX - User Asset Upload (Bond Brand Loyalty)

ASP.NET Core • Web API • Angular • TypeScript • RxJS • SQLServer • EF Core • Identity Server • Redis • RabbitMQ • Docker • Azure DevOps • Mocha • Elasticsearch

SynapzeCX is Bond’s flagship microservices platform built with ASP.NET Core and Angular 7. It’s a message-based distributed application with many modules. I worked on user asset upload, upload approval and upload publishing, which are parts of the Resource module. In the process, I created required tables in SQLServer, Web APIs on the server, routes, services, directives and actual pages on the client. I collaborated closely with Design and QA teams using Jira in an agile environment. I created Powershell tool for one-click build and local debug run used by everyone in the group.


FordTube Migration (Bond Brand Loyalty)

ASP.NET Core • Postman • Fiddler • SqlServer • RabbitMQ • Redis • Data Structures • Threading

FordTube Migration is an application I created to migrate approximately three thousand videos from deprecated FordTube web application to the SynapzeCX platform for Ford and Lincoln. The script would scrape existing videos and relevant metadata from the old site and upload them to the SynapzeCX Resource module using existing APIs. This project also included small web redirection app, so existing links get translated into the new platform.


ASP.NET MVC • VueJS • WebPages • DevExpress • SQLServer

Upgraded existing ASP.NET WebPages based reports when jQuery and DevExpress updates made them unusable. I used ASP.NET MVC 4.6 with Vue on the client and restored reports to their original state. Well, I added a few additional themes.


P2P Knowledgebase Test (Bond Brand Loyalty)

ASP.NET MVC • jQuery • Entity Framework 6 • SQLServer

I updated the current P2P platform by creating a Knowledgebase Test, a trivia type multiple answers test. It has two parts, customer test and admin reporting and test creator side. I used ASP.NET MVC 4.6 and jQuery, added additional Area and, with the help from Design and QA teams, completed the task on time.


Modern Office Add-On (Titus Inc.)

ASP.NET Core • Kestrel • SignalR • OpenId Connect • NodeJS • TypeScript • Gulp • NUnit • Mocha • Istanbul • NYC • VSTS • SonarQube

Modern Office Add-On is visible part to Titus Data Classification solution. It’s created with TypeScript as Node.js app, running inside the MS Office or the Office 365. The app accesses back-end connections and ML classification software thru installed Windows service, running Kestrel web app built in ASP.NET Core, with OpenID Connect token authentication and SignalR for communication with Node.js app. Test coverage was 100% on the back-end and 94% on the front-end.


OpenBook (Questica)

ASP.NET Core • EF Core • ASP.NET Identity • Azure SQL • Aurelia • Gulp • Bower • Moq • NUnit • Jasmine • Swagger • Azure • SASS • VSTS

Questica OpenBook software can help you build transparency and trust by communicating your data visually. Present financial and non-financial data with descriptive text, informational pop-ups, charts, and graphs. The searching, filtering and sorting tools allow you to find the right information faster and discover information that was once hidden in a spreadsheet. It is a .NET Core multitenant SPA application hosted on Azure. Backend API is build using CQRS and Repository patterns.


Divide by Zero Bug Fix (Questica)

Azure SQL • Azure • SQLServer • SSMS Query Profiler

Investigated and fixed divide by zero bugs in SQLServer stored procedures. The error occurs when NULL values are converted to 0 for various calculations in Questica Budget Software. The client complained about the length of budget creation after switching to Azure from local hosting.


Salaries Baselines/Snapshots (Questica)

ASP.NET 4.6.2 • WebPages • WebAPI • jQuery • SQLServer • Reporting Services • SQLServer Data Tools • CSS • TFS

Feature request for the Salaries module of the Questica Budget application. Created 30+ de-normalized snapshot tables and more than 40 stored procedures in order to capture salaries data. Updated UI to support adding snapshots. Created several comparison reports and subreports. Deployed reports to development and production environments. Optimized queries and stored procedures.


Financial Statements (Questica)

ASP.NET 4.6.2 • WebPages • WebAPI • jQuery • SQLServer • CSS • TFS

Financial Statements is a module for Questica Budget application that offers the ability to configure and generate financial statements, including Income Statements, Balance Sheets, and Cash Flow Statements. All three statements include both a current statement and the ability to project forward using forecast years. With a new set of accounts for assets, liabilities and equities, this new module helps give a complete picture of your current financials and the road ahead. As a team member, I created entities, screens, menu items, reporting entities, reports, security bits, logging and unit tests for Cash Flow Statement.


Order Direct (The Hunt Group)

ASP.NET 4.5 • MVC • jQuery • Materialize • Mandrill • Azure Blob Storage • Azure App Service • AzureSQL • GitHub

Order Direct is a Web application created to help our clients with easier customer/employee rewarding with gift cards. Each client can manually enter a single recipient, or they can upload Excel, CSV or XML file with a list of recipients, gift card type, and reward value. They have access to financial reporting, production status and returned or undeliverable shipments. The web application was created in ASP.NET MVC 4.5 (hosted on Azure as App Service) and Azure SQL as a backend database. App uses Azure Blob Storage for uploaded files. Admin section is used by THG staff for fulfillment, shipping and client administration. Transactional emails are sent with Mandrill API and front-end uses Materialize library.


Tim Hortons & Boston Pizza Custom Gift Cards (The Hunt Group & Buy-A-Tab)

ASP.NET 4.5 • MVC • FTP • Azure App Service • Azure SQL • Dapper • SQLServer • GitHub

Completed this project with ASP.NET MVC 4.5 to accommodate client’s need for printing, fulfillment, activation and shipping of custom gift cards. The project was divided into several parts: fetching data and custom images, data manipulation for upload to the database, upload of images to the local database accessible by the printer, cards QA, data upload to client’s FTP for activation, fulfillment, shipping and invoicing. Card proxy numbers were pre-loaded in our database. We used Azure App Service for hosting and Azure SQL with Dapper for data. Due to a printer limited networking abilities; we used local SQLServer 2008 for temporary image storage.


Internal Inventory App (The Hunt Group)

MS Access • SQLServer • ASP.NET 2.0, 3.5, 4.0, 4.5 • SSRS • Classic ASP • MVC • WebAPI • JS • AngularJS • jQuery • Bootstrap • GitHub

Maintained and updated internal Inventory System based on SQLServer 2000 and MS Access. I played a key role in the successful migration of our database from SQLServer 2000 to SQLServer 2008 and later to SQLServer 2012. In the same process, I completely redesigned front-end GUI built in MS Access to a friendlier user experience using ASP.NET WPF. During the upgrade, I created and optimized over 200 stored procedures and redesigned over 50 reports. Shipping/receiving tasks are 30% more efficient after adding barcode and QR Code enabled products tracking. In 2012, I converted the whole system from client/server type application to a 100% web-based system with no loss in productivity. I upgraded back-end to ASP.NET API web service and front end to the Razor Pages app.


Dell Advantage (The Hunt Group & Dell Canada)

RedHat • PHP 5.X • MySQL • Apache • Bootstrap • jQuery • Mandrill • GitHub

I created the exact clone of the wab application hosted on e-bay. Dell Advantage members get 5% back on a Dell ePromotional Card for all Dell.ca purchases over $100. This application was created with PHP and MySQL. We used Mandrill for transactional emails. Existing data was provided by several Dell departments and was combined into one single source.


Rogers Promotions (The Hunt Group & Rogers Canada)

RedHat • JBoss • Java 5, 6, 7 • Spring 3.x, 4.x • Hibernate • PostgreSQL • Bootstrap • jQuery • Mandrill • GitHub

I designed, architected, developed and helped maintain online Rogers Loyalty Reward program management web application. We built it in three sections; end-customer for current status, Rogers Admin for Rogers Marketing Team reporting and data insights and THG Admin for shipping, warehousing and invoicing. It handled the daily upload of about 100K de-normalized CSV records into our on-premise PostgreSQL DB. I created an ETL process for import into staging tables and transform data into appropriate tables. The program would email Rogers IT detailed explanation when it encountered inaccurate data. Designed and developed a various social network and email integration packages using provided APIs from Twitter, Facebook, Google and Mandrill.


City of Calgary Rebate (The Hunt Group & City of Calgary)

RedHat • JBoss • Java • Spring • Hibernate • PostgreSQL • Custom CSS • jQuery • Mandrill • GitHub

For many years, Calgarians could get a $50 rebate from the City of Calgary for purchasing a WaterSense toilet. Unfortunately, the program is closed as of August 15, 2016. Residents could determine eligibility before applying based on the Postal Code, number of toilets already replaced in their address and the toilet model (SKU). We provided extensive reporting to the City of Calgary rebate program.


StoreFrontDirect (The Hunt Group)

Magento • PHP • MySQL • CSS

StoreFrontDirect is the end-to-end eCommerce solution that has all the online sales prerequisites in one unified platform. It starts with a robust StoreFront designed for branding, usability and adaptability to the pace of your business. Hosted back-office services from logistics to payments processing to settlement - and advanced first of its kind analytics - are embedded to unlock the full potential of your business. Everything is easy to initiate and designed to scale with your company.


Property Management Social Web App (Freelance Project)

React • Flux • Firebase • Jest • SASS • react-cli • npm • GitHub

This is a web app where managers/owners can post their properties for rent, upload pictures and create available for viewing time slots. Customers can view, fill an online application and set an appointment. Front-end was created with React and Firebase was used for the back-end.