Ken Roe, Developer in Vienna, Austria
Ken is available for hire
Hire Ken

Ken Roe

Verified Expert  in Engineering

Mobile Developer

Location
Vienna, Austria
Toptal Member Since
October 21, 2014

Ken is a highly skilled mobile app developer and software engineer with over twenty years of experience. He has been running a small company that develops and sells mobile apps, and he is especially good at Python, Objective-C, Android, and Swift. He holds a Ph.D. in computer science from Johns Hopkins University.

Portfolio

Roe Mobile Development
C++, Java, C#, Objective-C, Windows Mobile, Windows, MySQL, PHP, Android, MacOS...
SiFive
RISC-V, Coq
RYOT (Verizon, via Toptal)
Kotlin, Java, Unreal Engine, H264, MediaCodec, FFmpeg, NDK...

Experience

Availability

Part-time

Preferred Environment

Android Studio, Vi, Xcode

The most amazing...

...product I've developed is an iOS app, Smart Recorder, which has been installed on over a million iOS devices.

Work Experience

CEO

2009 - PRESENT
Roe Mobile Development
  • Developed and published an audio recorder app (Smart Recorder for iOS) from scratch. Smart Recorder makes extensive use of the various audio APIs in iOS including AudioToolbox and the creation of Audio graphs. The app has 1,000,000 device installs and over 100,000 users. This project gave me experience building and maintaining a commercial quality app.
  • Developed PHP/MySQL code for a transcription service server. This tool accepted RESTful requests from the Smart Recorder app, maintained a database of customer account information, and forwarded requests to the Amazon Mechanical Turks service for processing.
  • Managed the development and publication of an Android port of the Smart Recorder product (over a period of about a year).
  • Developed and published several other iOS apps including Smart Swipe Keyboard, Travel Diary, Transylvania, The Nuclear Test, and Word Quiz.
  • Developed and published a port of Smart Recorder to Windows 8 written in C++ and XAML.
  • Developed and published a port of Smart Recorder for Windows phone using C#, C++, and XAML.
Technologies: C++, Java, C#, Objective-C, Windows Mobile, Windows, MySQL, PHP, Android, MacOS, iOS

Staff Software Engineer

2019 - 2020
SiFive
  • Developed Coq framework for proof by reflection. This speed up rewriting operations.
  • Developed methodologies and best practices for completing large proofs in the Coq theorem prover.
  • Developed well founded proof for ProcKami processor.
  • Contributed to the following open source repositories:. https://github.com/sifive/RiscvSpecFormal. https://github.com/sifive/Kami. https://github.com/sifive/ProcKami.
Technologies: RISC-V, Coq

Android Engineer

2019 - 2019
RYOT (Verizon, via Toptal)
  • Developed a viewer for H264 video stream.
Technologies: Kotlin, Java, Unreal Engine, H264, MediaCodec, FFmpeg, NDK, Augmented Reality (AR), Video Streaming, Android

Software Engineer/Biomedical Data Scientist

2016 - 2019
The Johns Hopkins University
  • Developed a Python script (using Pandas and NumPy) that generates statistical summaries from medical records.
  • Developed two medical web apps using PHP, Bootstrap, and JavaScript.
  • Used machine learning to detect relationships in medical data and to predict the effectiveness of different treatments, mostly using Python and sklearn.
Technologies: MySQL, JavaScript, PHP, NumPy, Pandas, Scikit-learn, Python

Ph.D. Candidate

2010 - 2018
Johns Hopkins University
  • Developed a framework within the Coq theorem prover for verifying imperative programs written in a language such as C.
  • Developed a GUI front end (using Python) for developing theorems using the Coq theorem prover.
  • Taught students about Prolog, SAT solvers, and various other constraint solving systems as TA for a declarative methods class.
  • Taught students as TA for an introductory Android class.
  • Developed the IPC 3 iOS app under a contract with the JHU medical center.
  • Developed an educational iOS app for the neurology department.
Technologies: Prolog, Android, iOS, Python, Machine Learning, Coq

iOS/Android Developer

2015 - 2016
TMSoft
  • Added iOS 9 search support for White Noise 6.0.
  • Fixed a number of bugs required to make the Android release of WhiteNoise 6.0.
  • Added audio to the chatter view in both the iOS and Android White Noise Market apps.
  • Redesigned the settings page in both the iOS and Android White Noise Market apps.
  • Localized both the iOS and Android versions of WhiteNoise.
Technologies: Android, iOS

iOS Developer

2015 - 2015
Tickets to the City (via Toptal)
  • Developed an iOS app for scanning ticket barcodes and sending the results to a server.
Technologies: iOS, AVFoundation

Developer

2015 - 2015
Nimbot
  • Developed a simple PHP/JavaScript website to automatically fill in blanks in hospital consent forms.
Technologies: PHP, JavaScript

iOS Developer

2015 - 2015
Salon Swipe (via Toptal)
  • Developed iPhone screens for a redesigned user interface.
  • Fixed critical bugs in audio processing from a credit card swiping device.
Technologies: iOS

iOS Developer

2014 - 2015
Zarquon (via Toptal)
  • Refined a custom keyboard layout for iOS.
  • Fleshed out all variants of the keyboard (ASCII, URL, Twitter, etc.).
  • Added iPad layouts.
  • Refined the layout algorithm.
  • Integrated an in-app purchase library.
  • Developed a container app with collection view and search bar.
  • Integrated a library for key pop-ups and tap-and-hold functionality.
Technologies: Git, Swift

Contract Developer

2014 - 2015
Spensa Technologies (via Toptal)
  • Developed an iOS app for deploying a network of bug zappers (on a farm).
  • Refined a library for RESTful server communication.
Technologies: Git, Swift, Core Data, iOS

Contractor

2011 - 2012
Independent Security Evaluators
  • Ported a key security product from Windows/Linux to Mac.
Technologies: OpenSSL, MacOS, C

Teaching Assistant

2011 - 2011
Johns Hopkins University
  • Supervised student Android projects for an Android development course.
  • Gave an occasional lecture during the execution of the course.
  • Held regular office hours to answer student questions.
Technologies: Java, Android

Contractor

2010 - 2010
TalkingTag
  • Developed a low vision version of the talking product.
  • Added many enhancements to improve the performance of the Talking Tag iOS app and integration with Flurry analytics.
Technologies: iOS

Contractor

2010 - 2010
Cryptite, LLC
  • Developed a prototype iOS scanner app for color bar codes and tools to encrypt files based on the bar codes.
Technologies: Encryption, OpenCV, iOS

MTS 4

2006 - 2009
NetApp
  • Developed many sections of documentation for a Common Criteria EAL 4 cert.
  • Fixed many bugs in the Datafort product. This involved FreeBSD Kernel level coding from which I have extensive experience with networking protocols such as CIFS and LDAP as well as C coding.
  • Developed enhancements to the Datafort configuration tools to handle multiple input/output ethernet ports.
  • Developed documentation to help other engineers get up to speed with the Datafort development enviornment.
Technologies: Wireshark, Virtual Router Redundancy Protocol (VRRP), NFS, FTP, Common Internet File System (CIFS), FreeBSD, C

Developer

2003 - 2006
Independent
  • Developed an SMT solver (the heuristic theorem prover) in C. This tool went on to take a second and third place at SMT-Comp'06.
Technologies: Tcl/Tk, C

Smart Recorder

Smart Recorder is an audio recorder I developed for iOS. It allows both recording and editing and provides a wide variety of features such as auto-pause (temporarily stop recording when the room is silent) and multi-speed playback (with pitch correction).

Smart Recorder also features a transcription service that converts voice to text.

Clinical Profiles

A Python script that produces statistical summaries of patient medical records.

Denim

Denim – This is a decision support tool that aims to provide an environment in which knowledge engineers and domain experts can convert clinical guidelines into executable rules that generate alerts in the Epic IT framework. This tool is a web app developed with PHP, Bootstrap, MySQL, and JavaScript.

Smart Swipe Keyboard

Smart Swipe keyboard is a custom keyboard for iOS. It allows entry of words by dragging from the first to the last letter and provides the ability to customize the keyboard's colors or to add a background image.

Transylvania

Transylvania is an adventure game. It was originally released on the Apple II in the 1980s. I co-developed a port of this game for iOS.

Ipc3

I developed ipc3, an app for the Johns Hopkins medical center. It gives cancer patients information on treatment options.

CoqPIE IDE for Coq and PEDANTIC Static Analysis Model

http://www.cs.jhu.edu/~roe
CoqPIE is an IDE I developed for the Coq theorem prover. It is available on GitHub at https://github.com/kendroe/CoqPIE.

PEDANTIC is a Coq framework I am developing to model the behavior of imperative programs.

Both these projects will form key pieces of my Ph.D. thesis.

Languages

Objective-C, C, HTML5, Python, Tcl, Java, Prolog, C#, ML Programming Language, C++, Coq, Tcl/Tk, Swift, Kotlin, PHP, SQL, JavaScript

Libraries/APIs

jQuery, Tk, Scikit-learn, Pandas, NumPy, OpenSSL, OpenCV, NDK, FFmpeg

Paradigms

App Development, Mobile Development, Functional Programming, Concurrent Programming, RISC-V

Platforms

MacOS, iOS, Android, Windows Mobile, FreeBSD, Linux, Windows, Amazon Web Services (AWS)

Other

CTO, Software Development, Front-end Development, Machine Learning, Encryption, Common Internet File System (CIFS), FTP, NFS, Virtual Router Redundancy Protocol (VRRP), Vi, AVFoundation, Video Streaming, Augmented Reality (AR), MediaCodec, H264

Tools

Adobe Photoshop, Adobe Illustrator, Wireshark, Git, Xcode, Android Studio, MATLAB, Android NDK

Frameworks

Core Data, Unreal Engine, Qt

Storage

MySQL

2010 - 2018

Ph.D. in Computer Science

The Johns Hopkins University - Baltimore, MD

1986 - 1992

Master of Science Degree in Computer Science

University of Illinois - Urbana-Champaign, IL

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