Omar Fahmy, Developer in London, United Kingdom
Omar is available for hire
Hire Omar

Omar Fahmy

Verified Expert  in Engineering

Back-end Developer

Location
London, United Kingdom
Toptal Member Since
July 20, 2020

Omar is a full-stack iOS developer with seven years of experience across back end and iOS. Since 2020, he has focussed on iOS development, publishing several apps to the App Store. In his role at Delphia, he has delivered major features and improvements to their retail investment iOS app. Omar has also provided back-end features, including building a new greenfield finance project using Python and pandas.

Portfolio

Delphia
Swift, SwiftUI, Python 3, Pandas, Django
Freelance
Swift, SwiftUI, SpriteKit, UIKit, Xcode, Mobile Development, iOS, Git...
iManage
Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors, Linux...

Experience

Availability

Part-time

Preferred Environment

Swift, Python 3, Scala

The most amazing...

...thing I've built is a control system for an unstable wing during my degree, which had to perform real-time signal processing on an Arduino inside a wind tunnel.

Work Experience

Senior Software Developer

2022 - PRESENT
Delphia
  • Launched a feature for users to compare their investment returns with the Standard and Poor's 500 (S&P 500).
  • Developed a feature for users to join our decentralized autonomous organization (DAO), including connecting their crypto wallet.
  • Improved support for Dynamic Type and VoiceOver throughout our application.
Technologies: Swift, SwiftUI, Python 3, Pandas, Django

Freelance App Developer

2020 - PRESENT
Freelance
  • Developed an educational app to teach students chemistry using interactive simulations, available for iOS and iPad.
  • Created an educational app to teach students physics using interactive simulations for iOS and iPad.
  • Architected a framework to share common components between both apps.
  • Included comprehensive support for VoiceOver throughout both apps.
Technologies: Swift, SwiftUI, SpriteKit, UIKit, Xcode, Mobile Development, iOS, Git, Unit Testing

Senior Software Engineer

2019 - 2020
iManage
  • Received the award for engineering excellence in our annual employee awards out of over 600 employees.
  • Resolved numerous memory leaks by profiling the application using VisualVM, usually in response to high-pressure customer incidents.
  • Improved the speed of one of the document ingestion stages exponentially.
  • Simplified the integration testing by removing the dependency on a dedicated integration testing VM so that any developer could easily run the tests locally while also freeing up the VM for other uses.
  • Added instrumentation using Graphite and created default Grafana dashboards to facilitate application monitoring, saving time when diagnosing production issues.
Technologies: Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors, Linux, SQL, MongoDB, PostgreSQL, REST APIs, ScalaTest, Docker, Java, Scala, Back-end Development, Play 2, Java VisualVM, Akka, Play Framework, Git, Unit Testing

Software Engineer

2017 - 2019
iManage
  • Delivered a performance-intensive back-end service that provided document processing for law firms.
  • Reduced the speed of two of our document processing algorithms by 50% and 90%.
  • Developed a feature to calculate precision and recall for user-trained data-extraction models using cross-validation and implemented it using Akka Streams.
  • Rewrote existing complex imperative code as purely functional code, which enabled me to add thorough unit tests for a complex part of the application—reducing bugs and improving maintainability.
Technologies: Akka Streams, Functional Programming, JVM, Memory Profiling, Akka Actors, Linux, SQL, MongoDB, PostgreSQL, REST APIs, ScalaTest, Docker, Java, Scala, Back-end Development, Play 2, Java VisualVM, Akka, Play Framework, Git, Unit Testing

Software Engineer

2016 - 2017
BAE Systems Applied Intelligence
  • Configured new fraud detection workflows using BAE's flexible and complex NetReveal platform for one of the worlds leading financial institutions.
  • Helped develop an internal application to run "planning poker" sessions, which enabled distributed teams to improve their agile processes.
  • Collaborated on developing a Jira plugin for internal use to conduct team questionnaires and produce charts of the results.
Technologies: SQL, MongoDB, REST APIs, Java, Back-end Development, JavaScript, Git

Aerospace Engineer Intern

2015 - 2015
Facebook
  • Developed a powerful design and analysis tool for use by other engineers, using MATLAB to automate a third-party Java program.
  • Converted an existing spreadsheet into a MATLAB program which allowed design parameters to be adjusted and produced detailed graphs to assist high-level design discussions.
  • Presented high-level overviews of MATLAB programs to other engineers and stakeholders for peer reviews.
Technologies: MATLAB

Educational Physics iOS App

https://www.appadel.com/portfolio.html#physics
This app is designed to teach students physics using interactive and customizable simulations. It was written in SwiftUI for iPhone and iPad.

The app features several objects the user interacts with, creating unique simulations to learn about equations of motion. For example, the user may explore the motion of brick resting on an inclined conveyor belt, which is itself attached to a moving scissor lift. There are also examples of projectile motion, where the user can throw the brick.

The brick's facial expression animates using a combination of SpriteKit and SwiftUI. The app provides an area where the student can freely explore different objects and configure their simulation.

The app's architecture allows for easily adding and customizing different types of simulation objects and maximizes code reuse to simplify adding future units.

The app includes thorough unit tests and comprehensive support for VoiceOver.

The client provided designs for the app. I was the sole developer and contributed to the physics content. The Development is complete for the app, and it will be released to the App Store once the quiz questions are finalized.

Educational Chemistry iOS App

https://chem-sims.com
This app is designed to improve how students learn chemistry and help them prepare for their exams. It features interactive simulations, with a quiz after each section.

The app was written in SwiftUI, using UIKIt and SpriteKit.

There are many visualizations, and all are focused around a common beaker. These include a grid of molecules, a macroscopic view with dynamic colors, bouncing molecules, dissolving solute particles, a growing precipitate, etc. The more advanced molecule simulations make use of SpriteKit.

Outside of the beaker, there are several interactive tools, such as sliders, burners, liquid droppers, and scales. There are also containers that move and drop molecules into the beaker in response to the motion.

The app is split into different units, which mirror the AP Chemistry syllabus. It is architected using a separate module for each unit, which helps keep them well encapsulated and easier to work on.

The app uses a tipping model, implemented using both consumable and non-consumable in-app purchases using StoreKit.

Comprehensive unit tests have been added, and thorough support for VoiceOver.

The client provided the app designs, and I was the sole developer. It is available for both iOS and iPad.

Wave Writer iOS App

https://www.appadel.com/portfolio.html#wave-writer
The idea behind Wave Writer was to create a high-quality, immersive writing experience. Inspired by voice recording apps that show how sound waves respond to the user’s voice, WaveWriter brings this idea to typing.

A wave at the top of the screen responds as the user types. The animation properties even change as the user types faster or slower, and the wave slowly comes back to the starting position when the user is finished typing.

The wave uses the Accelerate framework to compute the curve, to ensure a fluid and smooth user experience.

There are several carefully designed themes complementing the animation that the user can choose from, for both light mode and dark mode.

WaveWriter was made using Swift and SwiftUI and is available for iPhone.

iManage Extract | AI Platform for Law Firms

iManage Extract is an AI platform used by the world's leading law firms to extract essential information from their documents. I worked as a Scala developer, working on the data processing engine for these documents. I delivered massive document processing speed improvements—over 90% in one case—and improved robustness by fixing several memory leaks causing application failure. I was involved in all elements of this product, from planning to implementation, automated testing, manual testing, deployment, and support.

Zero Below Zero iOS App

https://www.appadel.com/portfolio.html#zero-below-zero
I created a puzzle game for iOS using SwiftUI. The game is based on a graph-theory puzzle called the Dollar Game. I created a novel algorithm to find the minimum number of levels for each level and implemented this using Scala. The cost of calculating the minimum number of moves grows incredibly fast as the game becomes more complex, making these levels unfeasible. My algorithm enabled me to create complex levels where using a conventional brute force approach is impossible.

AnyLog iOS App

https://www.appadel.com/portfolio.html#anylog
AnyLog is a flexible logging application made using the Flutter UI toolkit. Users can create custom spreadsheets to keep track of whatever they want.

One of the challenges of designing this kind of app is keeping the UI simple while still exposing many configuration choices.

Storing such flexible data also required careful design of the SQL schema and the codebase itself.

AnyLog has excellent support for screen readers, including the charts tab, where the user can select a data point to hear its value readout with a screen reader.

I am currently rewriting AnyLog using SwiftUI and CoreData.

Scala Client for Cloudflare API

https://gitlab.com/migamake/api/scala/cloudflare
A Scala client to call Cloudflare API endpoints to manage DNS records. This client was designed to be used as a template for other projects moving forward, serving as the best practices benchmark.

The project includes unit and integration tests and a GitLab CI pipeline.

The documentation is extensive, including both Scaladocs and "Readme" docs.

Languages

Scala, Swift, SQL, Java, JavaScript, Dart, Python 3

Libraries/APIs

REST APIs, Akka Streams, SpriteKit, Pandas

Tools

ScalaTest, Git, Xcode, Slack, IntelliJ IDEA, Java VisualVM, MATLAB

Paradigms

Unit Testing, Functional Programming, Mobile Development

Other

Back-end Development, Akka Actors, Memory Profiling

Frameworks

Play 2, SwiftUI, Play Framework, Akka, UIKit, Flutter, Django

Platforms

JVM, Docker, iOS, Linux

Storage

PostgreSQL, MongoDB

2011 - 2016

Master's Degree in Aeronautical Engineering

Imperial College London - London, United Kingdom

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