Experienced, self-motivated software engineer, focused on mobile technology. Knowledgeable in Android app programming, Kotlin, and Rest API.
Experienced, self-motivated software engineer, focused on mobile technology. Knowledgeable in Android app programming, Kotlin, and Rest API.
I worked first on Coaching, then the main Rally+ Android App.
Migrated CircleCI CI/CD pipeline to Github Actions
Wrote Github Actions to automate translations
Wrote reactive Color Branding framework, did first pass work on implementing it app wide, trained other devs in it's use, and wrote a showcase activity for other devs to reference
Did first pass work and led app-wide initiative on localization, including a script to interface with Smartling
Implemented some notifications with complicated business logic, which required the additional use of AlarmManager, BootCompletedReceiver, etc.
Integrated DataDog
Implemented and updated numerous screens and features including auth, notification center, several dashboard pods, Find Care, Spotlight, First Time User Experience, User Feedback, New Features carousel, Survey, and Settings.
Most features included additional work for analytics, and UI and unit testing. Accessibility was also taken into consideration
MVVM architecture using Fragments, ViewModels, LifeCycleScope, and Kotlin Coroutines (Including Flows)
Additional technologies I worked with included Jetpack Compose traditional XML layouts, Navigation, Paging, and ConstraintLayout. Also JSON, YAML, RetroFit, Firebase, Artifactory, Amplitude, OKHttp, Glide, Gson, CircleCI, Smartling, Timber, Lottie, KtLint, Gradle, VectorDrawables, EncryptedSharedPreferences, PreferenceDataStore, ViewBinding, Figma, etc.
A sports betting app, for which I created the Android client in Kotlin.
MVVM architecture with ViewModels, LiveData and Coroutines
Cached api calls in a Room Database
Also used DataBinding, ThreeTenAbp, Glide, Vector Drawables (local and remote via Glide), Dagger, etc.
Completely rewrote the job seeker app from scratch, using the iOS app as a reference, but sticking to material design best practices
Integrated Analytics libs including Mixpanel, AppsFlyer, and Crashlytics
Chat via Atlas on top of Layer
Place picking, Deeplinking via http and custom url scheme
Notifications via Firebase Cloud Messages
Discovered many problems and bugs with API along the way, which I worked with backend devs to fix, including many location related issues, and some very basic missing functionality such as paging for lists
Wrote the recruiter app from the ground up
Sunsetted the legacy Monster app, rebranded our job seeker experience to Monster and integrated with many of their backend services
Localized the job seeker app and released it in Canada T1, and T2 European countries
Automated the Android build process with CircleCI, Grgit
Implemented various features, and conducted A/B testing with Optimizely, and our own internal API
Wrote Python scripts to import translations from Google Docs Spreadsheets, before spearheading effort to get team using lokalise.co
Implemented OTA String updates with lokalise.co
Monitored Analytics data on Google Play and Mixpanel for irregularities
Monitored and responded to Feedback via Google Play and email
Replaced most of our raster icons with vector drawables
Added Searchable List UI to compliment existing swipe interface
GDPR compliance
Implemented Android version of Simpl app for medical residency programs using retrofit, GCM and MixPanel. Bugfixing and new features for PayNearMe, Hope Lab's MoodMeter, and Imfuna: Construction Inspector. Started a new league athletics app for Sports Illustrated.
I wrote a python web server using Django Rest Framework, JSON, Heroku, and AWS. Data is persisted in a Postgres database, with PostGIS extensions accessed via GeoDjango. ElasticSearch is used to provide full text search capabilities, and Celery and CeleryBeat for scheduling background tasks. A number of Google services are used including addressing, and Google Cloud Messaging (instant messaging and notifications). I also wrote a fully functional native Android Client, and released it on the Play store.
Transitioned an existing app composed mainly of WebViews to a mostly native experience (some articles linked to third party websites with a custom user agent). Implemented several rounds of UI improvements, in particular to team selection, and the feed, including drag and drop ordering and the addition of embedded Ooyala and YouTube video. Added Facebook Login, and sharing. Other technologies used included ORMLite, Eclipse, HockeyApp, Analytics, Admob, Bitly, Crashlytics, JSON
Worked on all aspects of the Android client, including the sync engine, notifications, content provider and ui. Additional technologies used included, SQL, Thrift, javascript, and Eclipse and IntelliJ.
Wrote Settings, QuickStart / Out of the Box apps and worked on Screensaver for the nook, an Android based E-Reader. Implemented various widgets, enhancements and bug fixes in other apps, including wallpaper and forms. Wrote XML parser for our custom menu UI, so devs could more easily create screens. Came up with the concept for and created the Browser app, which allowed users to navigate around the page with the touchscreen, while viewing it on the larger E-ink display.
Consulted on the Android project at Google, focusing on the SMS/MMS application for the T-Mobile G1. Duties included implementing new features, fixing bugs, and conducting code reviews utilizing technology such as Android, Buganizer, Eclipse, Java, Mac OS X, Perforce, and SQL.
Master
Bachelor