Skip Navigation

Suggestions for personal projects

cross-posted from: https://sopuli.xyz/post/7432003

I've just transferred all of my serious projects on Codeberg over to a separate organisation, and I've noticed that there are now only two mediocre repos on my main profile. Does anyone have any ideas for simple, handy things I could build to flesh it out?

I code mainly in Python, I know HTML (but not JS), I regularly use Bash and Zsh, and I am learning C++.

21 comments
  • A CRUD webapp, or a text adventure in C++ with object orientation in mind

    • Interesting. I think an online Markdown editor, maybe with S3 as a storage backend and a button to convert to PDF, could be a useful CRUD webapp. Great idea!

      It might be a bit too professional for my personal repos, though. More suited to the organisation I just moved everything to.

    • If you're going to do a text adventure, don't deprive yourself of using the most English friendly dsl ever, inform 7.

  • Perhaps try making a simple web chat application. I recommend it for a myriad of reasons:

    • You'll get to touch upon all the layers of a web app (DB/backend/frontend) in a manageably small way.
    • You'll be able to make multiple choices to learn different technologies - like which database type to use (SQL/document), which message passing method to use (requests/sockets), which frontend framework to use (Solid/Svelte/HTMX/etc), and so on.
    • Getting a minimum working system is very fast. You can easily spend less than a day completing this, even as a novice.
    • Once completed, there are many extra goals you can set yourself. Try adding roles, commands, enable sending pictures, embedding metadata for links, etc. You need only look to your favourite chat app for your next idea!
    • Good idea, although I think I'd prefer to make a desktop app. I know HTML, but static sites are as far as my web programming goes.

      However, with a bit of Python or C and a PGP library, I could probably have a go at making an encrypted P2P chat service.

  • Are you interested in working on a text editor? If so, I have an idea I plan on implementing myself for fun: a clone of HeyNote with some added functionality. HeyNote is a simple buffer that consists of blocks. It's useful when you just want to note a simple block of text (an SQL query, log output, test data) but you are not interested in structuring it. What HeyNote lacks is the ability to add title and tags to blocks. It's not an alternative to other note taking applications. It is just a buffer with unrelated blocks in it.

  • Instead of starting your own project, have you considered simply contributing to an existing open source project instead?

    • Good idea!

      • I’m glad you agree. Honestly, as someone who has also struggled with this question, I wish I’d done this earlier, because there’s a lot of advantages to it.

        It takes a lot less planning and upfront time investment before you get to see your work make a difference in the world. It’s not immediate gratification, mind you, because pull requests can sometimes sit there for days or weeks before someone has the time to review them, but when they get merged, and you get to see the feature you worked on in an app you actually use, it’s still a great feeling.

        Most projects will also give you contributor credit, so your name and/or GitHub handle will show up on their repo, website, or in the app’s “about” page, and you can claim that on any job application you might submit in the future.

        I honestly think it’s a great way to scratch your own itch (because you can pick what issues you want to work on and build features you’d actually want to use) while also helping other people and benefitting open source as a whole. Any reasonably popular project generally has a massive backlog of open issues, so if you’re at a loss where to even start, you can just look through there and pick something that seems doable.

21 comments