
John Fehr
Verified Expert in Engineering
Software Developer
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
Experience
- C - 15 years
- Objective-C - 6 years
- iOS SDK - 6 years
- Swift - 2 years
- Swift 3 - 1 year
Availability
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
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.
Web Developer
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.
Software Engineer
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.
iOS Software Engineer
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.
Mobile Software Engineer
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.
Web Developer
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.
Mobile Software Engineer
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.
Mobile Software Engineer
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.
Mobile and Web Developer
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.
Software Engineer
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.
Mobile Software Engineer
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.
Software Engineer
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.
Web Developer
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.
Software Engineer
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.
Software Engineer and Support
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.
Software Engineer
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.
Software Developer
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.
Software Engineer (Contractor)
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.
Software Engineer
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.
Software Engineer
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.
Systems Analyst / Systems Admin
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.
Software Engineer
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.
Experience
Mobile 3D Laser Scanner iOS App
Follow The Loot iOS App
https://followtheloot.com/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=44The Magnetapult: A Magnetic Catapult
Education
Bachelor of Computer Science with Honors in Computer Science
University of Manitoba - Manitoba, Canada
Skills
Libraries/APIs
iOS API, REST APIs, Protobuf, jQuery, Android API
Tools
Interface Builder, Xcode, Git, CVS, Sketch
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
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)
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