During the period 2016-2021, I randomly kept writing in a Word document in my pc. When I felt inspired, I just wrote about my day and how I felt, things I wanted to do or other ideas. It was also a great way to process and to clear up my mind.
At one point I started adding more details like a "vote" from 0 to 5 and/or a positive and negative thing about the day.
In 2019, I became tired of writing in a Word document and I heard this relatively new thing called "Flutter". I had had some experience with an Android app before that, but that was a different and old technology (Cordova). Furthermore, people seemed to enjoy Flutter.
Unluckily I had to postpone this side-project in sight of my thesis... so in 2020, after graduating (🎉), I came back to it. This was during the covid period, so I had plenty of free time.
I decided it was a great oppotunity for me to learn Flutter, so i dived into it!
This was one of the first times I found myself working torwards a COMPLETE new project, without having any idea about how things should have be done. I just had an idea of how I wanted it to look or behave in some ways.
I talked about it to a couple friends to get some suggestions on what might have been there, so that I could have a better vision. I also had a look at existing apps in the Play Store.
After reflecting about it, I started sketching!
I had no experience with fast prototyping tools, so I used OneNote and my tablet to let my imagination flow. This is what I came up with...
The main functionalities I wanted were:
- View and edit days
- Create diaries
- Settings & personalization
I wanted the possibility to have more that one diary, each with its own days. This is different from typical apps, where there is just one general diary. In this way users can organize diaries based on content and customize each one in different ways.
During development I was faced with many unexpected problems: the need for a common design, a good color palette, the understanding of the user needs and my own and how to bring high customizability to the app (which I wanted), other than the new programmin language.
Starting to work
Many other features were implemented, like:
- "diary lock" with a 4 PIN code
- Disable/enable modification of past days
- Background grid of the page (lines, squares, dots, blank)
- A graph to check "mood" progress by week/month
- Automatically detect if updates were available
Initially, each diary had all days in one single infinite-scrolling column, but then I decided to divide everything by month.
It took me a lot of time and effort to improve the experience and the UI. In particular, finding the right formula to combine color personalization with dark/light theme colors while keeping a consistent look.
I published the app in January 2021, after a couple months of hard work. I kept updating it for a year, until I felt it was complete.
A "memo mode" was later implemented: users could write memos for the future and set a reminder notification for that day. It kept the same UI as the diary, but only allowed to write in the future, while diaries only in the past (up to 1 year).
At one point, I realized that modern apps don't just have to work in one device, but should be able to move data between devices. That's why I also implemented a Google Drive Backup/Restore system, so that users felt safe about not losing their data.
I learnt how to use Flutter, Google Play Store and understood more about apps, privacy and user-clarity. Apps need a lot of work in order to be kept up to date with bug fixes and new software releases.
Defining steps, goals or interfaces to implement makes development much faster.
It most importantly taught me to follow my instinct. This project was made for me, by me... and seeing many people actually starting to use it, made me appreaciate my work and increased my confidence in creating digital products.