Omar Fahmy
Verified Expert in Engineering
Back-end Developer
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
Experience
Availability
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
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.
Freelance App Developer
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.
Senior Software Engineer
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.
Software Engineer
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.
Software Engineer
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.
Aerospace Engineer Intern
- 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.
Experience
Educational Physics iOS App
https://www.appadel.com/portfolio.html#physicsThe 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.comThe 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-writerA 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
Zero Below Zero iOS App
https://www.appadel.com/portfolio.html#zero-below-zeroAnyLog iOS App
https://www.appadel.com/portfolio.html#anylogOne 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/cloudflareThe project includes unit and integration tests and a GitLab CI pipeline.
The documentation is extensive, including both Scaladocs and "Readme" docs.
Skills
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
Education
Master's Degree in Aeronautical Engineering
Imperial College London - London, United Kingdom
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring