Founder and Developer2016 - PRESENTMike (LoudUp LTD)
- Built the artist and band management app from the planning stage to the launch. Planned the functionality of the various screens and worked with a designer on creating designs, collaborating through multiple iterations to finalize each screen.
- Created a back-end REST API using ASP.NET Web API, interfacing with a MongoDB database. The API was later migrated from ASP.NET Web API 4.5.2 to ASP.NET Core 2.0 and then to ASP.NET Core 3.0.
- Built the iOS and Android apps using Xamarin iOS and Xamarin Android. This included functionality, such as task and event management, goal setting and financial management, entering income and expenses, uploading receipts, and budgeting.
- Developed the applications using the Xamarin Native framework with the MVVM pattern, allowing 100% access to native features while achieving over 70% code sharing across the iOS and Android versions.
- Built various integrations (OAuth authentication using Facebook, Twitter, and Apple), installed attribution using the Branch SDK, integrated Mixpanel in the app and API for analytics, and maps and location autocomplete using Google APIs.
- Developed in-app subscriptions using the App Store and Google Play store, including full server-side validation.
- Integrated Crashlytics using Visual Studio App Center. Implemented charting to show how the account balance has changed over time, push notifications using Microsoft Azure, and local notifications for task and event reminders.
- Built a custom offline sync functionality, enabling the app to be functional offline and sync with the API when back online. It included logic for handling conflicts and retries.
- Wrote unit tests for both the app and back end and UI tests for the app. Tested the UI on multiple devices using Xamarin Test Cloud. Set up a full continuous integration and continuous delivery pipeline using Visual Studio App Center.
- Built a web application with the same functionality as the mobile application, using React and Stripe for subscriptions in 2020. Created the marketing pages as static pages using Gatsby, with a Contentful integration for the blog content.
Founder | Web Developer2013 - PRESENTLoudUp
- Built the music-based social network from the design phase to the launch. Architected and implemented the user interface, worked with a designer, and designed the database.
- Designed user registration, login features, and OAuth integration using Facebook and SoundCloud.
- Integrated with various social platforms, such as Facebook, Twitter, and SoundCloud. Combined with SparkPost for sending emails, Google for location and map services, YouTube and Vimeo for videos, and MusicBrainz for artist information.
- Developed an ad-serving component, allowing adverts to be dynamically added and served based on advert type, user location, user type, and screen size.
- Implemented the music-playing functionality, using the jPlayer plugin and allowing music to be streamed from SoundCloud.
- Designed and implemented social networking features, allowing users to connect to other users on the platform, rate songs and videos, post comments, and send private messages. Developed a forum, news feed, and real-time activity feed.
- Built a location-based search functionality, allowing users to search for other users based on the distance from a location with the longitude or latitude data provided by the GeoNames data feed and the geography data type provided by SQL Server.
- Developed the peripheral applications, allowing unread notifications to be emailed to the user every evening, sending emails with suggested users for users to connect to, and sending notifications for incomplete profiles.
- Rewrote a large part of the application in 2019/2020 from ASP.NET MVC and jQuery to use a .NET Core Web API and React stack.
- Built the mobile app for the platform in 2022/2023, initially using Xamarin Forms and then migrating it to .NET MAUI once it was released. Features include the ability to swipe through artists and play music.
Software Developer2021 - 2022Blapp (via Toptal)
Technologies: Architecture, Node.js, Firebase, Firebase Cloud Functions, React Native, Expo, Google Maps, Google Places API, Web Scraping, Google Cloud Storage, Google AdMob
- Worked on developing an app to help users find black-owned businesses in their surrounding area and online.
- Worked on the Google Places API integration, experimenting with search queries in order to find the query that returns the most accurate results for each category required.
- Implemented the ability to import online products into the application using APIs, web scraping, and manual uploads.
- Applied the ability to refine the automatic results by manually including and excluding certain businesses.
- Implemented the front-end changes to show images from Google for each business shown as well as features such as the location auto-complete and performance enhancements to improve the loading speed.
- Designed and implemented the back end for social features such as profile creation, user discovery, following users, liking businesses, sending push notifications, and finding your contacts within the app. Implemented in-app ads using AdMob.
- Implemented phone verification using the Twilio API.
Web Developer2015 - 2016WaterStreet Company (via Toptal)
- Completed the development of a new automated insurance application.
- Developed the endorsement functionality for making changes to an existing automated insurance policy.
- Created the policy cancellation and reinstatement functionality.
- Built integrations to external services to allow validation of previous policies.
- Developed functionality for underwriters to override points applied to policies resulting in a policy premium recalculation. Implemented the business logic when points should be applied to a policy.
- Improved the display of billing information for policies, allowing agents to see a breakdown of premiums and fees, payments made, and payments due or late.
- Developed the action items functionality, enabling action items to be assigned to agents or underwriters, and reviewed and handled using the application.
- Contributed to the functionality for uploading documents, adding memos, and downloading forms.
- Followed the Agile methodology with daily stand-ups and weekly sprints.
Software Developer2005 - 2013Merrill Lynch
- Created a web-based foreign exchange trading platform for booking live trades using streaming prices, viewing trade blotters, and real-time profit and loss calculations.
- Created the peripheral apps and services to support the main application, carrying out functions such as loading customer data from other bank systems, updating trade statuses based on events in other systems, and producing end-of-day reports.
- Created a web service API to allow other bank systems to interface with this application. The interface allowed other banks to retrieve rates, book trades, and query information.
- Developed enhancements to the application, such as pre-deal credit checking, 24-hour trading, FX options (Vanilla and Exotic), limit orders, integration with new pricing sources, and new reporting tools for various teams.
- Created the reusable components to help with functions, such as reconciling data, rate calculations, converting time zones, reading and writing to queues, using IBM WebSphere MQ technology, and querying the Active Directory to get user information.
- Participated in the support rota dealing with help desk queries weekly. It included speaking to traders, financial advisers, and the finance and operations teams about system-related queries or issues.
- Managed a team of three developers, one based in London and two based offshore.