iTranslated by AI
I Built the Ultimate TODO App — What Happens When You Make the Repository Public
This article is about making the GitHub repository for a Todo app I've been developing recently public.
The name of the app is Tokeru.
Introduction
Tokeru is a macOS app built with Flutter.

In a nutshell, it aims to be an "app that maximizes your daily work performance."
A Todo window, similar to Spotlight or Alfred, opens with the ⇧ ⌘ , key.
It also supports shortcuts, allowing you to create, check off, and close the window using only the keyboard.
Currently, it only has Todo features, but I plan to release features for managing time effectively and organizing thoughts in the future.
Right now, it uses Flutter's Material Design as is, but I intend to focus on the UI and the overall feel as well. (It's just not in that phase yet.)

Tokeru is currently in Beta!
Anyone can try it out, so please feel free to install it via TestFlight.
Why I Made the Repository Public
As for why I made the repository public, about 80% of the reason is simple curiosity and a desire to have people know about the product.
However, I felt there were various other pros and cons, so I'd like to introduce them here.
Benefits of Making it Public
First, let's look at the benefits.
Unlimited Use of GitHub Actions
GitHub Actions has limits on the storage and minutes (per month) you can use depending on your plan. For individual developers, you're likely using the GitHub Free plan.

However, for public repositories, those limits disappear, and you can use it as much as you want!!
Since Tokeru is a macOS app, I need to select macos-latest for builds, which consumes 10 times more minutes than Ubuntu. Having it completely free is incredibly helpful.

GitHub Actions usage is free for standard GitHub-hosted runners and self-hosted runners in public repositories.
Use Codecov for Free
Codecov, a tool for measuring test coverage, can also be used without limits.
(Actually, I haven't written any tests yet...), but even in personal development, I want to grow into someone who can write solid tests, so I'll introduce Codecov to boost my motivation.
Use Various Other GitHub Features
Besides GitHub Actions, there are features available for public repositories even on the Free plan.
- Draft Pull Requests
- Branch Protection
Getting Stars Boosts Motivation
Personal development is a long and lonely road.
While you might say it's for learning or for your own use on the surface, deep down, you're filled with a desire for someone to use it and praise you.
Let's be honest.
That said, opportunities for general users to use your app and praise you are rare.
As fellow engineers, let's support each other's motivation by giving stars!!
If you relate to this, please give Tokeru a star!!
Feeling Watched Helps Write Better Code
It's inevitable that there's a difference between the code you write at work and the code you write in private.
After all, no one is watching.
In code that no one sees, it's easy to get sloppy or neglect comments...
By creating a situation where people might be looking... 😞, you can encourage yourself to write more careful code.
Disadvantages of Making it Public
Embarrassment
Unless you have considerable confidence in your engineering skills, a feeling of embarrassment is bound to follow.
Especially in personal development, since it's not based on the premise of someone else seeing it, it's easy to write sloppily or neglect comments...
By making it public, you might be able to write as thoroughly as you do at work.
Concerns about Keys and Security
I feel anxious about whether I've included something that shouldn't be made public.
I usually try not to include them in commits, but once it's public, I have to be even more careful.
By the way, I have included Firebase keys, but my understanding is that this is not an issue.
Access to Firestore is restricted using security rules.
Concerns about Being Used for Free Continuously
If Tokeru grows and I decide to turn it into a paid product, an engineer could simply clone it and continue using it for free.
As a fellow developer, I want to believe that wouldn't happen, but the concern is not zero.
What I Prepared to Make the Repository Public
Let's Write a README
Make sure to write a thorough README, as it's the first thing people see when they visit your repository.
Of course, you should write about how to set up the environment, but it's also a good idea to include an introduction to the features to get people interested in the product.
CONTRIBUTE.md
Write a CONTRIBUTE.md for those who want to contribute.
This article might be helpful for learning how to write one.
Prepare Issues
Prepare some issues in case someone wants to become a contributor!
Also, looking at the issues can show what features are planned for the future, which might get users excited.
Branch Protection
Protect the main branch to prevent it from being bombarded with direct pushes.

Security Matters
Make sure to configure the security settings provided by GitHub.
Conclusion
Thank you for reading to the end.
I'll post updates on X (Twitter) as well, so please follow me!!
Discussion