Build stuff; Break stuff; Have fun!

log

For this day, I wanted to implement swipe gestures to edit or delete a list entry. More complex than initially thought but doable within this day.

There were 3 packages to install: a gesture handle, an animation lib, and expo-haptics. After creating a swipeable row, I needed to implement the actions for edit and delete some hooks and was mostly done. After writing this all down, it sounds less complex than it felt when I implemented it. πŸ˜…

While testing the app, I saw a caching bug after switching users. User2 saw the data of User1 after a sign-out and new sign-in because the cache was not cleared on user change.

πŸ‘‹


79 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

I thought the task for this day would be easier. But using a username for sign-in is quite challenging to implement with Supabase. :/

Now I have a new table for profiles, besides the auth table Supabase provides. Because Supabase Auth can't handle sign-in with a username, I now also have an edge function running. Which I never used before. It works, so I don't complain. :)

Maybe this is something you normally don't need for an MVP, but I was tired of typing an email for the sign-in. So, for me, it needs to be in the MVP.

When I was done, I staged my changes, and I noticed that I accidentally committed my .env file. So I used git-filter-repo to remove the env file from git history. What I did not know was it removed all my staged changes without a warning. 😱 That was a shock. A big one. After some minutes walking through the house, I calmed down and sat back on the chair. I was able to rescue around 85% of the files. The rest I could reproduce somehow.

WHAT an evening! I'm back on track and happy the accident was not that bad.

πŸ‘‹


78 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

On Day 19, I made some updates so that the app feels more like an app inside the device.

It got a proper app icon and a splash screen that work in light and dark mode. Currently I focus more on a good integration with iOS; Android is coming later.

I also added a date picker. Before it was basic string insertion into the date field, which is not a good UX.

πŸ‘‹


77 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

Even if I don't post daily, I'm still making progress. I just focus more on the progress part and not on the documenting one. 😎It’s crazy how all this is coming together while I work full-time and manage family and renovating the basement. 🀯

On Day 18, the two main points on this day were a new home screen, which shows some nice little statistics, and the move to tanstack/query for a shared data layer. (Which I should have used directly from the start.)

The home screen is now showing a clean grid with 5 tiles that show summaries and top entries. The top entry tiles are clickable/tappable and trigger a search in the entry list, which feels good and in the correct place. The summary tiles are using a simple SVG chart, a bar chart to be precise.

πŸ‘‹


76 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

I'm at a point where I can focus more on the UI. And this will be time-consuming. This is a lot of trying out and seeing what sticks. It's a lot of fun, but I need to limit myself and not overdo it here. πŸ˜…

So, today I got a lot of stuff done. Refined the spacing and tried to make it even on all screens. Improved the styling of the forms and buttons. And cleaned up the styling itself, so it looks a bit more minimal.

I want to show more, but I also would like to keep it a secret what app and style I'm working on. So the posts get a bit shorter. I just want to describe what I have achieved so far.

πŸ‘‹


75 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

While working on and improving the Add/Edit Forms, I noticed that I want the same tag handling in the input form, for another list input.

Said and done. Extracting the tag input into a shared component and adjusting it for the name list input. 🧠

πŸ‘‹


74 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

I'm falling a bit behind. Started another freelance project, so things are a bit slower now.

Most of the MVP is done, and I'm starting to polish some things. For Day 15, there was a small refactor of the Add/Edit forms to make them more robust and improve the UX.

One of the notable things here is the introduction of react-hook-form and zod. Which makes the most sense in combination with Supabase. In addition, I moved all form fields into shared components.

All the changes will give me a good feeling that this app can grow after the MVP. :)

πŸ‘‹


73 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

On Day 14, I improved the error handling and fixed some bugs that bothered me for some time but were not necessary to fix directly. One of them was storing the user session between rebuilds. Every time I rebuilt the app, I needed to make a new login, which is inconvenient when developing. :D

πŸ‘‹


72 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

On Day 13, I’ve focused on a tagging system. While making entries, the user can now add tags to the entries. These tags are also now part of the search and filter functionality I implemented yesterday.

A screenshot of the search and filter field, where prefilled tags are presented: β€œbar” and β€œfoo”. The result is an entry with the title β€œTest 1, Test 2, FooBarrrr”.

Input field for tags, with 2 entries: β€œfoo” and β€œbar”.

The app is coming to a state where the MVP is nearly done. Next, I will focus a bit more on polishing and also improve the error handling.

πŸ‘‹


71 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...

Today I’ve implemented a basic search to filter the entries. It's just a simple search field on top of the entries list; here you can type in keywords and reduce the list to what you need. Simple as that.

That’s it for today. πŸ‘‹


70 of #100DaysToOffload
#log #AdventOfProgress
Thoughts? Discuss...