iOS Developer in Washington, DC, United States
Software Engineer/Biomedical Data Scientist2016 - PRESENTThe Johns Hopkins University
- Developed a Python script (using Pandas and NumPy) the generates statistical summaries from medical records.
- Used machine learning to detect relationships in medical data and to predict the effectiveness of different treatments, mostly using Python and sklearn.
iOS Developer2015 - PRESENTTickets to the City (via Toptal)
Technologies: iOS 9, AVFoundation
- Developed an iOS app for scanning ticket barcodes and sending the results to a server.
iOS Developer2015 - PRESENTSalon Swipe (via Toptal)
- Developed iPhone screens for a redesigned user interface.
- Fixed critical bugs in audio processing from a credit card swiping device.
Contract Developer2014 - PRESENTSpensa Technologies (via Toptal)
Technologies: iOS, Core Data, Swift, Git
- Developed an iOS app for deploying a network of bug zappers (on a farm).
- Refined a library for RESTful server communication.
Ph.D. Candidate2010 - PRESENTJohns Hopkins University
Technologies: Coq, Machine Learning, Python, iOS, Android, Prolog
- 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.
CEO2009 - PRESENTRoe Mobile Development
Technologies: iOS, Mac, Android, PHP/MySQL, Windows 8, Windows 8 Mobile, Objective C, C#, Java, C++
- 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.
- 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.
iOS/Android Developer2015 - 2016TMSoft
Technologies: iOS, Android
- 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.
Developer2015 - 2015Nimbot
iOS Developer2014 - 2015Zarquon (via Toptal)
Technologies: Custom Keyboard, Swift, Git
- 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.
Contractor2011 - 2012Independent Security Evaluators
Technologies: C, Mac, Open SSL
- Ported a key security product from Windows/Linux to Mac.
Contractor2010 - 2010TalkingTag
- 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.
Contractor2010 - 2010Cryptite, LLC
Technologies: iOS, OpenCV, Libcrypto
- Developed a prototype iOS scanner app for color bar codes and tools to encrypt files based on the bar codes.
MTS 42006 - 2009NetApp
Technologies: C, Free BSD, CIFS, FTP, NFS, VRRP, Wireshark, MU Box
- 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.
Developer2003 - 2006Independent
Technologies: C, Tk/Tcl
- 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.
- Smart Recorder (Development)https://itunes.apple.com/us/app/smart-recorder-7-voice-recorder/id700878921?mt=8
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 (Development)
A Python script that produces statistical summaries of patient medical records.
- Denim (Development)
- Smart Swipe Keyboard (Development)https://itunes.apple.com/us/app/smart-swipe-keyboard/id904656885?mt=8
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 (Development)
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 (Development)
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 (Development)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.
PlatformsMacOS, iOS, Android, Linux, Windows, Amazon Web Services (AWS)
Libraries/APIsTk, OpenSSL, OpenCV
ToolsAdobe Photoshop, Adobe Illustrator, MATLAB
ParadigmsFunctional Programming, Concurrent Programming
- Ph.D. in Computer Science2010 - 2018The Johns Hopkins University - Baltimore, MD
- Master of Science degree in Computer Science1986 - 1992University of Illinois - Urbana-Champaign, IL