Applications Developed
Here are a few applications that I have put together on my travels in an attempt to make things easier for my fellow colleagues. I have not attended any specific programming course. Everything I have learned is self-taught. Before I pick up a project I review language options decide what is most logical and learn that language as I require - doing my best to ensure I follow best practices for the implementation I use. versed in VB.NET, Powershell, PHP, Python, MySQL, REST APIs, HTML5, Javascript, and jQuery.Technologies that I am currently familiar with include:
- VB.NET
- Powershell
- PHP
- Python
- MySQL
- Rest APIs
- HTML5
- CSS3
- Javascript
- jQuery
TurboDemands
Programming languages used:
- VB.NET
Description
TurboDemands is a windows application developed to streamline the process of communicating with customers via Letter & E-mail, as well as documenting these interactions.This application provides the benefits of allowing the user to spend more time focusing on the specifics of the message in the communication rather than the technical and sometimes tedious process of creating, customizing and sending the communication via mail and e-mail. A considerable amount of time is saved with automation, templates are used which ensures communications are accurate, notes are automatically generated to be saved within the existing CRM software and each communication is automatically saved as a text file.
Features
- Collects user information and fills in template fields
- Template dynamically changes depending on ‘Demand’ form status
- E-mail and Letter sent with single button press
- CRM note generated dynamically based on template, including customer and template status information
- Equipment information including brand name & restocking costs calculated
- Depending how the application is deployed, all users can be provided with the same unified set of templates or can have their own personal set.
- Checks in place to ensure multiple communications are not re-sent within the same day / month
- Allows user to review previous communication sent before sending new
- If template calls for information that is normally collected from CRM but is missing, a warning is displayed.
- If more than one piece of equipment to be quoted is detected, warns the user to ensure this is an intended action
- Automatically detect invalid demand situations and prevent additional communication in such situations (no more balance, no equipment owing)
Manual
TurboDemands ManualProration Calculator
Programming languages used:
- HTML / CSS
- Javascript
Description
This tiny app provides an automated way to calculate refunds and initial invoices for prorated services. This allows all employees with this task to perform in a accurate and unified manner.Network Diagnostic Script
Live Version HereProgramming languages used:
- HTML / CSS
- PHP
- Powershell 2.0-5.0
- Batch
Description
This application collects necessary information in order to diagnose network connection problems and sends the results to a pre-programmed email address as well as displays them in a formatted html page. The implementation of this script is unconventional as a PHP script dynamically creates a batch file depending on how the web form is filled and offers it as a download. When launched, the batch file creates a powershell script and executes it bypassing the default execution policy in Windows. Guiding a user to execute a .bat file can be easier than a .ps1 file.I worked extensively with the client to ensure that the software exceeds requirements for testing necessary as well as ease of use and user privacy.
Information it collects:
- Modem Logs
- Collects modem diagnostic information from the web-interface of any cable modem not requiring a login
- Network Info/Tests
- ipconfig /all
- windows firewall info via netsh command
- arp -a (physical address info)
- netstat
- ping, tracert, nslookup to:
- localhost
- default gateway
- google.com
- customer entered url
- Wi-Fi Connection History
- PC Info
- CPU
- RAM
- Process/Application Info
- Running Processes
- Services
- Installed Applications
Highlights the following:
- Bad ping results
- High latency
- Time-outs
- Processes running known to cause issues
- Processes using more than 10-15% CPU time
- Older Single/Dual core systems
- Systems with 4GB or less total system memory
- Slow speed test result
Advantages of this script:
- Automatically emails results to specified support e-mail (no copy/paste, or screenshots by end user)
- Collects all information required to submit a trouble ticket to a cable provider
- Collects additional information useful for diagnosing/resolving perceived slow speeds problems
- Allows user to review and approve/deny what is collected before actually running the test
- Interactive: user can define a url they are having issues with to run tests to.
- Presents user with pleasing diagnostic result page in web browser for their uown review.
- Output is well formatted and easy to read and there are bookmarks for each section.
Programming languages/Methods used:
Server Side:
- PHP
- MySQL
- Ajax
- Smarty
Client Side:
- HTML
- CSS
- JavaScript
- Ajax
- Google Maps Javascript API
Description:
This project was developed to streamline the paperwork and logistics of tree removal crews working for a city. We were handed a stack of addresses each day with no knowing where in the GTA they would be. This application helped map out our day as well as keep track of special instructions, completed jobs and other job related specifications.Features:
- Developed with a 'mobile-first' mindset to ensure the application was easily usable via smartphone
- Quickly add jobs to database using AJAX with map confirmation of address location
- View Map with all jobs assigned as pushpins to easily identify the best route to perform the jobs efficiently
- Job pushpin markers include how many trees/items expected at each job site
Do Entertain Us
Programming languages/Methods used:
Server Side:
- PHP
- MySQL
- Ajax
- Smarty
Client Side:
- HTML
- CSS
- JavaScript
- Ajax
- Restful APIs (Freebase, Google Places, Google Maps)
Description:
This project is a website in which aims to connect the public with entertainment that relates to them. It is neither a business directory nor events calendar. It may have both those features but it's main purpose is allows a user to specify any of; what activity they want to do, what amount of energy they want to spend, maximum cost, whether the activity is family friendly, wheelchair accessible, or other attributes.Features:
- Search by
- Activity name (bowling, golfing, cycling)
- Attribute (family friendly, casual, competitive, wheelchair accessible)
- Keywords in description or name
- Amount of Energy the user wants to spend on an activity
- Interactive map of activities
- Business / Place entry is done by searching 'Google Places' for business information to assure data integrity and less data entry for the end user.
- Event Information is automatically imported from
- London Public Library Website (via HTML Parsing)
- Eventbrite API
- Meetups API
- Places and Events are automatically indexed using a customizable keyword database to link them to associated Activities and Attributes
Note:
This project is on pause as most of its functionality is complete, however the front end-needs a complete overhaul. I realized part way through creating this application that AJAX was the best way to go and started using that for some of the administrator features. At this point I need to collaborate with a Web Designer who can assist with creating a more pleasing user interface.Programming Advisor
Programming languages used:
- Visual Basic .NET 2012
- Microsoft Excel InterOp
Description:
This Windows project is for the call center agents of television service provider in which changed it's tv channel packaging (it's programming). This small program allowed the call center representative to easily compare the customer's current (old) package with the service provider's new offerings. To quickly answer questions such as What is lost?, What extra do I get?, How do I get to keep X channel?Features:
- Shows number of channels lost and channels gained upon migrating to suggested package
- If a channel is lost the application displays the name of the package required to get said channel
- Reverse migrations and previously mentioned suggestions are possible
- Cross-province/state migrations are possible. (Different areas had different programming packages)
- Programming Platform information is entered via an easily generated Excel table
ARS Helper
Programming languages used:
- Visual Basic .NET 2012
Description:
This Windows project for the call center agents of a television service provider is to aid in frequent tasks that the agent performs such as note taking, quoting prices, quick access to customer's account information, and sending emails to other departments.Features:
- User is able to copy block of text including client's account information and press 'capture' to have ARS Helper parse and make available that same account info to the user.
- Stays on top of other windows so it's always accessible [Optional]
- User is able to type call related notes and notes are automatically formatted as service provider requires depending on call type by pressing a call type button which also copies those notes to the windows clipboard, ready to be pasted into the service provider's CRM software.
- Personal notes (not copied to clipboard with rest of notes)
- Can shrink in size so when you're not using it it only displays client account information and uses less screen real-estate [Optional]
- One click to copy customer account information to clipboard to be ready to be pasted into a different application.
- Can save each case that is entered for future reference either automatically or on demand
- Caches what was previously in the Windows clipboard any time that it uses it and allows the user to 'Restore' the clipboard if they need to bring back any data previously in it
- Allows user to easily track the amount of credits they have applied to client's accounts and why (a metric the provider was concerned about)
- One click to open Google Maps to the client's address (To assist with sending technicians)
- Templates - Completely customizable templates allowing the users to insert any field from the program including user entered employee ID and manager information into user typed stationary. Useful for cross department communications
- Includes an option to restart Citrix clipboard transfer service in case it stops working
- Cost Calculator allows user to select client's package, promotions, and rentals to calculate what client's expected costs should be.
- Links to previously mentioned 'Programming Advisor'
- Appearance - colour scheme, program opacity, font, and background image are all definable by the user.
Calculator.ods
Programming languages used:
- OpenOffice Calc
Description:
Some companies make billing complicated!This small 'application' assists call center agents with billing related calls
Features:
- Quick SUM of all charges and credits entered.
- Allows calculation of monthly and one time charges
- Merely select client's province/state for their tax rate to be auto-populated
- Proration calculation available for calculating # of days service or # of months service - gives result before/after tax, before/after one time charges
- Difference calculation - enter customer's quote on one side and actual bill on other side to easily compare difference to troubleshoot possible causes
- Popular plans and associated information are stored so they can be selected from a drop down and added to the calculation and users can quickly reference what is included in the plan.
Specialty Note Tool
Programming languages used:
- Visual Basic .NET 2010
- MySQL
Description:
This project is a Windows application for call center agents of a computer hardware vendor. Assisting agents with note taking and frequent tasks they make.Features:
- Has all fields necessary for formatted note taking as required by vendor.
- User can specify to pre-populate any field with any data they wish. (useful if they like to use a certain template, or if they are taking a lot of the same type of call)
- Contains searchable list of all supported products - can search by all/part of product number, product name, and/or product line.
- Program is resizable and all elements move and resize in real-time with the resize.
- Templates - Completely customizable templates allowing the users to insert any field from the program including user entered employee ID and manager information into user typed stationary. Useful for cross department communications and emails to the customer.
- Templates are saved both locally and on a remote server for both user customizability and consistent formatting of communications
- User break/lunch/hold timer
- Quick links to vendor's website for product information, support, downloads, and part replacement.
- Shows pop-up alerts for certain models as they have multiple/misprinted SKUs
- Customizable alerts as information is filled out to remind user of certain call flow actions that are required (ie: once a solution is entered remind user to confirm that the customer is assured the issue is resolved)
- Notes are automatically formatted as vendor requires, copied and ready to be pasted into the service provider's CRM software on a single click.
- Gives a visual output of what fields were used to generate the formatted note
- Can save each case that is entered for future reference either automatically or on demand
- Caches what was previously in the Windows clipboard any time that it uses it and allows the user to 'Restore' the clipboard if they need to bring back any data previously in it
- Appearance - colour scheme, program opacity, font, and background image are all definable by the user.
- Availability timer - Upon resetting/clearing the notes from the program a timer is started and displayed which lets the user how much time has passed since their last customer interaction.
- Senior Survey - Agents will often interact with 'seniors' or peers for assistance with their calls. Specialty Note Tool includes a quick survey form to provide feedback on assistance interactions, data from the surveys is stored in MySQL.