Gaia iOS Specialist
Mar. 2021 - Jun. 2022Gaia is a Danish startup that allows people to invest in companies that have a sustainable way of doing business.
The app was built from scratch. Actually, the whole platform was built from scratch. I had a key role leading the development team and helping defining the roadmap and tailoring the deployment process in conjunction with PO, UI/UX designer and backend developer.
I spent some time on designing the architecture that I'd use to write the code. I always put a lot of though on how to write code that will be easily maintainable in the future. I defined a simple architecture with classes responsible for processing the business logic, UI rendering and events handling and a Coordinator to deal with the app navigation. I also chose to use the Strategy pattern to define how the screen would be presented, so the decision whether a scene would be presented modally or pushed is made by the presenter injected into the scene.
Another architecture decision was to abstract any service used by the app like Firebase, Networking, Keychain, etc.
The data fetching is made with Repository classes. Currently the app only get data from the backend, but it would be easy to add local storage with this strategy.
I also use Tuist to generate the Xcode project automatically and avoid all possible conflicts that are hard to deal with when committing changes into Git.
I setup Fastlane in order to build, run tests and deploy the app. I also setup CircleCI for CI/CD.
The platform is live and the iOS app can be found in the App Store. It was launched in March 2022 and got around 300 customers in 3 months.
Technologies used: iOS, Swift, Git, Notion, SOLID, Coordinator Architecture, Firebase, Analytics, Fastlane, RESTful API calls. App Store: https://apps.apple.com/us/app/gaia/id1558912595