UX/UI DESIGN - PROGRAMMING
STATUS : RELEASED
What is Simplyt ?
Simplyt only goal is to make list management simple, fast and efficient. Create a new list, add elements, and boom : your list is saved and synchronized on all your devices. Simplyt works offline as well as online for an even better management. In addition to all this, the app allows you to create shared lists among several users or log in using the all-new Apple Sign-In.
Sign In with Apple
How did I make it ?
Creating this app, I challenged myself to use the all new Apple Sign In combined with Google Firestore to make it as simple as possible and yet still powerful. The real goal that pushed me forward was to use an early stage technology with a third-party database.
Firestore and lists structure
To create Simplyt, I relied on Google Firestore. All lists are stored as collections containing attributes such as : creation date, id, number of elements and name. All lists elements are stored as sub-collection inside their parent list collection.
Shared lists use the same structure but also contain both users and usernames list.
When a user wants to add someone to a list, a request is created using collections as well, linking the added user to the list owner with their unique id.
Apple Sign-In and account management
To access its lists, a user must login. This can be done in two different way : using a standard email-password connexion or using Sign-In with Apple.
Standards connexion are managed directly by Firestore while Sign-In with Apple required some adaptation. When a user choose to use Apple connexion, its account is managed directly inside iOS settings. For standards user, email and password recovery are available directly within Simplyt using Firestore functions.
Language and skills
Using a recent option such as Sign-In with Apple allowed me to go beyond my knowledge and limits. Combining this with Firebase databases and managing accounts was an extremely rewarding experience. Simplyt, really improved my knowledge of Swift, Xcode and Cocoapods. Managing offline data persistance and avoiding errors when synchronizing between devices was also a great option to add, as it taught me some good programming practices.
Learn more about me