Your own project
Pro: You can decide on everything:
- programming language
- technology stack
- architecture
- code layout
- testing
Contra: You have to do everything yourself.
- programming
- documentation
- examples
- design
- logo
- web site for the project
- No users.
- No cooperation from others (at least at the beginning).
- No community.
Advice:
- Something like that probably already exists. Maybe better finding it and contributing to that project.
- Take an existing proprietary product and implement an open source alternative