Programmed with
Swift
SwiftUI
What is Aesthetic Kit?
Aesthetic Kit is an iPhone theming app and my last company's most popular app, with over 8 million downloads to date. It allows app icon customization, widgets, and full themes to customize your device. My first task on this app was to give it a general touch-up. I worked on refining the UI, including speed optimizations and new animations.
After this, I worked on a much bigger project, which was to move all the custom widgets to the server and create a new API structure to add widgets without an app store update. In this app, custom widgets have a few presets but allow you to change parts of the widget, such as the background image, fonts, colors, and custom text. Unfortunately, adding new custom widget presets was very tedious and difficult, since the previous developer had chosen to make each of the 100+ widgets have its own file. This is why an API was needed, and a condensing of all the features into a single widget.
The previous developer had started work on this task but hadn't gotten far beyond creating the API structure. I soon found out this structure wasn't at all suitable for the widgets and would cause the same problems as the previous implementation. So I got to work on a new structure.
After a few weeks of work, I had a structure and widget that could do it all. It could take any combination of background color, images, gifs, any date and time format, analog clocks, calendars, batteries, countdowns, weather, quotes, and any other static text. This structure opened the doors for huge expandability of different widget types in the future. It supported small, medium, and large widgets all with a single easy-to-manage SwiftUI view.
I was very happy with the result, as the code was fast and concise, and I wrote very good documentation on the API structure. Programming these widgets was my first experience really working with SwiftUI, which made it a fun but difficult process. I also gained experience with animated widgets and got much better with the MVVM architecture.
Utilizing
Xcode
AWS
Bitbucket