John Fehr, Developer in Winnipeg, MB, Canada
John is available for hire
Hire John

John Fehr

Verified Expert  in Engineering

Software Developer

Location
Winnipeg, MB, Canada
Toptal Member Since
April 30, 2017

John has over 20 years of software engineering experience on a wide variety of platforms and computer languages. He is extremely quick to pick up new technologies and APIs. He communicates extremely well and has worked in teams of all sizes.

Portfolio

Cadabra Corp
Xcode, Objective-C, Swift, iOS
Promotex, Inc
MySQL, PHP
Privoro LLC
iPhone, Objective-C, iOS

Experience

Availability

Part-time

Preferred Environment

Swift, Xcode, MacOS

The most amazing...

...project I've completed on my own is the Mobile Laser Scanner iPhone app which captures a 3D model using your iPhone, rotating platform, and laser line.

Work Experience

Software Engineer

2007 - 2017
Cadabra Corp
  • Designed and developed an iOS app written in Objective-C, called Mobile 3D Laser Scanner, which allows the user to capture a video of an object on a rotating platform with a line laser pointed at the object and calculate a 3D-point cloud for that object.
  • Designed and developed an iOS app written in Swift 3, called Follow The Loot, which uses an OCR engine to live capture paper currency serial numbers and tracks where that paper currency travels.
  • Designed and developed an iOS app written in Objective-C, called Sekrets, which encrypts your private files, and allows you to have multiple passwords for different files without storing any of the passwords on the device for better security.
  • Designed and developed an iOS app called DishLoc, written in Objective-C, which uses augmented reality to help you determine a good location to mount your satellite dish and have a clear view of the satellites you are wanting to receive signals from.
  • Designed and developed an iOS game called PuzzleBlox, written in C# using Unity, which lets you solve a variety of photo puzzles by rearranging boxes in 3d.
  • Designed and developed an iOS game called Video Poker Gold Collection, written in Objective-C, which included 32 variations of video poker typically seen in bars and casinos.
  • Updated Dare to be Creative's Renamer4Mac macOS software to add extra features using Objective-C.
Technologies: Xcode, Objective-C, Swift, iOS

Web Developer

2006 - 2017
Promotex, Inc
  • Updated Promotex.ca administration web portal to allow owner to upload daily inventory lists so customers have a better idea of when items are in stock and ready to ship.
  • Implemented a daily backup system for Promotex.ca's inventory database and ensured restoration worked flawlessly.
  • Maintained and supported Promotex.ca website.
Technologies: MySQL, PHP

Software Engineer

2015 - 2016
Privoro LLC
  • Developed and maintained a privacy app in Objective-C, used to test the security of your RF and audio with and without the Privacy Guard in place.
  • Developed and maintained a demo iOS app in Objective-C to demonstrate how hackers could monitor your location, conversation, and take pictures using your iPhone without your awareness.
  • Developed and maintained a macOS application in Objective-C to download and display the information captured by the iPhone demo app.
Technologies: iPhone, Objective-C, iOS

iOS Software Engineer

2011 - 2016
SCA (via Avenue Inc)
  • Developed and maintained Tork Snapshot—an in-house iPad sales tool that allowed salespeople to take a picture of a clients area and show various paper and soap dispensers in their correct orientation and size.
  • Developed and maintained Xpressnap Customizer—an in-house iPad sales tool that allowed a salesperson to display a Tork Xpressnap paper dispenser with a variety of backgrounds, colors, and options in 3D.
  • Developed and maintained Tork Cost In Use Calculator—an in-house iPad sales tool that translated a large excel spreadsheet into a user friendly iPad app that salespeople used to show the advantage of using Tork branded dispensers vs the competitors.
  • Developed and maintained Tork Advantage—an in-house iPad sales tool that allowed salespeople to sign up new customers on site, creating, printing, and emailing the official agreement forms.
  • Updated and maintained Xpressnap Stuffing Guide—an in-house iPad saleperson tool that enabled salespeople to report incidents of customers stuffing their Xpressnap dispensers with non-Xpressnap refills.
  • Developed and maintained Tork Insider—an in-house iPad salesperson app that allowed distributors to keep up to date with products, services, and events in the SCA corporation.
  • Developed and maintained Decision Tree—an in-house iPad app that helped a salesperson guide a customer to their appropriate dispenser with a series of questions.
  • Developed and maintained SCA Exchange—a customer-facing iPad app that allowed customers to read about the latest SCA news and share on their social media.
  • Developed and maintained a back-end administrative website that control the dispensers available to various distributors in Tork Snapshot and Decision Tree iPad apps.
  • Developed and maintained a back-end web service that controls the media available on the SCA Exchange and Tork Insider iPad apps.
Technologies: Xcode, iOS, Objective-C

Mobile Software Engineer

2014 - 2014
Miracle Dent (via Sanity Consulting)
  • Updated a damage-tracking system iPhone app to allow scouts to find potential customers with dents in their cars to create new incidents.
  • Updated a damage-tracking system iPhone app to allow managers to view incidents and contact potential customers about the cost of repairs.
  • Updated a damage-tracking system iPhone app to allow customers to create new warranty registrations.
Technologies: Objective-C, Xcode, iOS

Web Developer

2013 - 2014
Nichol Commercial Licensing (via Integrationworx)
  • Updated an intranet PHP web application to allow searches of all vehicles by serial numbers, unit numbers, and license numbers.
  • Added the ability to allow more flexibility in terms of filters and pagination in the reporting system for an intranet PHP web application.
  • Updated an intranet PHP web app to allow new transactions and associated fees on clients, companies, locations, and department levels.
  • Added a number of new features to an intranet PHP web application to make the manual entry of information more streamlined and less time-consuming.
  • Found and fixed a variety of bugs in the existing intranet PHP web app.
Technologies: Symfony, Kendo UI, JavaScript, CSS, HTML, PHP

Mobile Software Engineer

2013 - 2014
Watershed Health (via Norima Consulting)
  • Updated an Objective-C iPad application to enable doctors and patients to communicate about potential cardiovascular health concerns and learn how to make changes to their lifestyle to avoid heart attacks.
  • Added an update an Objective-C iPad application to allow post-heart-surgery patients to keep their doctor informed about diet and exercise to ensure optimal recovery without the need to come to the hospital.
  • Updated an Objective-C iPad application to enable doctors and patients to maintain a lower level of feedback about ongoing diet and exercise to ensure that recurrent heart problems did not occur.
Technologies: Xcode, Objective-C, iOS

Mobile Software Engineer

2013 - 2013
GoKart Labs
  • Developed an Android app written in Java for the Target corporate fall meeting team building exercise that uses ultrasonic audio to trigger animations and events in the app.
  • Helped complete an Objective-C iOS app for the Target corporate fall meeting team building exercise that uses ultrasonic audio to trigger animations and events in the app.
  • Developed an Objective-C iPhone app for fans of the the Minnesota Wild NHL team which is triggered by ultrasonic sounds played through the speakers at the games when the team scores in order to engage fans.
Technologies: Objective-C, iOS, Java, Android

Mobile and Web Developer

2011 - 2011
Qliance (via Norima Consulting)
  • Developed a back-end for Qliance patient portal in MVC—allowing patients to report medicinal reactions and usage to doctors and to see their own history of reports.
  • Updated the back-end for Qliance patient web portal in MVC, which allows doctors to quickly get informed of patients current status and history.
  • Updated the back-end for Qliance patient web portal in MVC which allows doctors to correlate prescribed medications for trends in adverse reactions.
Technologies: Model View Controller (MVC), ASP.NET, C#

Software Engineer

2009 - 2011
Ceridian (via Norima Consulting)
  • Implemented a number of payroll enhancements to a VB6 payroll project with a large team and agile methodology.
  • Debugged, developed, maintained, and converted the above payroll project from US to Canadian standards.
  • Acted as the lead developer for Ceridian iPhone app, written in Objective-C, which allows client companies to securely manage their payrolls, and view past payroll history on their iPhone.
Technologies: Visual Basic, Xcode, Objective-C, iPhone

Mobile Software Engineer

2010 - 2010
Ready Credit (via Onshore.ca)
  • Added an ATM locator to the ReadyCARD iPhone app using Objective-C.
  • Added the ability to transfer money between ReadyCARD VISA prepaid credit card holders to ReadyCARD iPhone app using Objective-C.
  • Added an ability to transactions history retrieval to ReadyCARD iPhone app using Objective-C.
Technologies: Xcode, Objective-C, iOS

Software Engineer

2008 - 2010
Onshore.ca
  • Developed the back-end for a user-facing website that encouraged users to post pictures of their projects that used the new Glidden FreshAir paints using Java, Wicket, Spring, and Hibernate.
  • Developed the back-end for an administration portal for the Glidden FreshAir paints user site to moderate users posts and comments using Java, Wicket, Spring, and Hibernate.
  • Designed and developed data transport system between Java and C++ applications using Protobuf on a helicopter simulator for Mystic Coders.
  • Developed a promotional iPhone app for Orbitz gum's Dirty Mouth campaign using Objective-C.
  • Developed a promotional iPhone app called FrapApp which was a Starbucks promotion to encourage users to meet up at Starbucks for a drink using Objective-C.
Technologies: Objective-C, iOS, Hibernate, Spring, Apache Wicket, C++, Java

Web Developer

2009 - 2009
Librestream
  • Updated a WordPress site to allow the creation of partner company portals and be able to specify which site content is available in different company portals using PHP.
  • Updated a WordPress site to allow client companies to have multiple user logins that have the same access to that companies portal using PHP.
  • Updated a WordPress site to allow administrators to CRUD companies, users, and content to manage the customer company portals, users, and content using PHP.
Technologies: WordPress, PHP

Software Engineer

2007 - 2008
Ice Futures Canada (via @IT)
  • Developed, maintained, and supported a variety of VB6, VB.NET, and SQL Server financial (futures markets) applications.
  • Developed and maintained an intranet web app using HTML, CSS, and VB.NET.
  • Mentored junior developers having problems with SQL Server and VB.NET.
Technologies: Microsoft SQL Server, Visual Basic 6 (VB6), VB.NET

Software Engineer and Support

2006 - 2007
Investors Group (via @IT)
  • Developed and maintained a variety of C++, C#, and VB6 client/server financial applications for Windows.
  • Worked on the web development and maintenance for intranet site using HTML, CSS, and VB.NET.
  • Supported the suites of client/server software which run on the consultants' workstations.
Technologies: Visual Basic for Applications (VBA), Visual Basic, Oracle9i, C#, .NET, C++

Software Engineer

2003 - 2006
Renolds Transport (via Wildcard Design)
  • Developed and maintained C#, VB6, and Access/VBA applications for their trucking management.
  • Developed Windows XP/2000 applications and tools using Access/VBA and VBScript.
  • Designed and developed a company website using PHP and MySQL.
  • Developed the communication software between Windows PCs and wash bay debit cards machines using VBA.
Technologies: MySQL, PHP

Software Developer

2000 - 2006
QNX Software Systems Ltd
  • Completed port of Unreal Tournament to the QNX Operating System in C++.
  • Debugged and optimized a number of core Photon C libraries, resulting in a space savings of up to 50% on an embedded system.
  • Maintained QNX's legacy multimedia system written in C.
  • Assisted in troubleshooting QNX RTOS components on ARM, SH, MIPS, X86, and PPC processor boards.
  • Design and implemented QNX's multimedia architecture for their primary product, the QNX Neutrino RTOS. It is a highly efficient, heavily tested modular graph based multimedia system, written primarily in C.
  • Authored numerous design documents and technical articles for QNX's Marketing and Technical Publications departments.
  • Optimized core graphics rendering library used by Photon, the QNX GUI, written in C.
  • Ported WMA9 and various other codecs to the new QNX Multimedia framework, in C and C++.
  • Maintained and improved the QNX Multimedia framework written in C and C++.
  • Developed a DV multimedia decoder for QNX's multimedia framework from the spec written in C.
Technologies: C, Photon, QNX

Software Engineer (Contractor)

1998 - 2000
Be, Inc (via Wildcard Design)
  • Ported a DV codec to the BeOS multimedia framework.
  • Trained software companies on the use and integration of their products with BeOS in the USA, Canada, and Europe.
  • Ported MPEG audio and video codecs to the BeOS multimedia framework.
  • Ported Cinepak video codec to the BeOS multimedia framework.
  • Helped to port the RealPlayer audio/video codec to the BeOS multimedia framework.
Technologies: C++, BeOS

Software Engineer

1995 - 2000
Wildcard Design
  • Designed and implemented a number of cross platform tools and api's to make porting of games from Windows to BeOS, QNS RTP and Linux possible, written in C and C++.
  • Ported Abuse, Axia, Doom, Heretic, Hexen, and Eric's Ultimate Solitaire to BeOS, QNX RTP, and Linux using C and C++.
  • Ported Civilization: Call to Power, Worms: Armageddon, and Shogo MAD to BeOS using C++.
  • Designed and developed a TRS-80 Model III emulator for BeOS written in C.
  • Designed and developed a TRS-80 Model III emulator for AmigaDOS, and later ported to BeOS, Linux, and QNX RTP written in C.
  • Developed a HP scanner driver for BeOS using C.
Technologies: RTP, QNX, AmigaOS, C++, C, Linux, BeOS

Software Engineer

1997 - 1998
Lorienne, Inc (later Beatware, Inc)
  • Worked as the project lead for BeOS image manipulation application, later renamed ePicture Pro for BeOS written in C++ using the BeOS API.
  • Helped debug and maintain Reggae—a word processor developed for BeOS in C++ using the BeOS API.
  • Helped debug and maintain Mail-It—a word processor developed for BeOS in C++ using the BeOS API.
Technologies: C++, BeOS

Systems Analyst / Systems Admin

1994 - 1997
Environment Canada
  • Designed and developed weather-related analysis and retrieval software for use by weather forecasters and external customers.
  • Ported numerous weather forecasting applications from Fortran to C for use on HP9000 Unix workstations.
  • Developed a text-to-voice application for public weather services.
  • Maintained a network of more than 20 HP9000 Unix workstations and Windows computers.
Technologies: Unix, C, Fortran

Software Engineer

1995 - 1995
Nova Design (via Wildcard Design)
  • Developed HP scanner drivers for the AmigaDOS application, ImageFX.
  • Developed 2 modules (a PNG loader and PNG saver) for the AmigaDOS application, ImageFX.
Technologies: C, AmigaOS

Mobile 3D Laser Scanner iOS App

This is an app I wrote that allows you to record a video of an object on a rotating platform with a line laser pointed at it. The app will convert the captured video into a 3D model of the object.

Follow The Loot iOS App

https://followtheloot.com/
Follow The Loot lets you scan in the serial numbers from your bills—be they US dollars, Canadian dollars, Mexican Pesos, Brazilian Real, Chinese Yuan, Indian Rupee, or Euros!

Once you've "looted" your bills, they show up on the map and you can see where they've been. When someone else "loots" your bills, the app updates and shows you the path its taken. Optionally, you can be notified if one of your bills has a bounty on it because of a unique or rare serial number pattern.

Magnetic Levitation Sculpture

http://cadabralabs.com/blog/?p=44
This is a small wooden sculpture that incorporates a strong magnet and a pair of Bismuth cones to levitate a smaller magnet. A small dial allows you to adjust the position of the small magnet.

The Magnetapult: A Magnetic Catapult

This catapult derives its launching power from the repulsion of very strong neodymium rare earth magnets. The perfect size and performance for office wars!

Languages

Swift 3, C, Objective-C, Swift, Visual Basic .NET (VB.NET), C#, PHP, C++, Visual Basic, VB.NET, Fortran, HTML, CSS, Visual Basic 6 (VB6), Visual Basic for Applications (VBA), JavaScript, Java

Frameworks

iOS SDK, .NET, Apache Wicket, Spring, Hibernate, Photon, Kendo UI, Symfony, ASP.NET, Android SDK

Libraries/APIs

iOS API, REST APIs, Protobuf, jQuery, Android API

Tools

Interface Builder, Xcode, Git, CVS, Sketch

Platforms

iOS, MacOS, BeOS, AmigaOS, Unix, WordPress, Windows, Linux, Android

Storage

MySQL, Oracle9i, Microsoft SQL Server

Paradigms

Model View Controller (MVC)

Other

iPhone, QNX, RTP, Augmented Reality (AR)

1989 - 1993

Bachelor of Computer Science with Honors in Computer Science

University of Manitoba - Manitoba, Canada

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring