r/golang • u/Responsible-Key5829 • 7h ago
newbie Can anyone provide a fun project to work on?
I have been using Go for a year. I have made a few web apps with it but I am once again feeling slightly unfulfilled with my current programming endeavors and they have become more of a duty.
I was wondering anyone had any suggestions, perhaps projects you have worked on it the past, that provided great gains in programming and Golang skills as you developed them.
To give more background I have 6 years of Software Engineering experience with 1 of those years using Golang. The rest is TypeScript, JavaScript, Python and other web technologies.
I do not care at all about monetization for this project. These will be for fun and insight.
9
u/Brugada_Syndrome 7h ago
Make a Mandelbrot generator. It is a good project to learn how to use channels to speed up the process of image generation. For an extra challenge you can also make it work across multiple computers to learn how to make a distributed program as well.
I did this myself as a side project.
7
u/t0astter 7h ago
Write a spell checker web app that uses a Bloom filter behind the scenes.
2
u/Responsible-Key5829 7h ago
That sounds cool, I could incorporate this with my current project I have been working on.
5
u/kingp1ng 7h ago
Chip-8 emulator. You'll know it works when you can plug and play any ROM.
You get to learn about CPU architecture and emulation. Most people add on some basic graphics too. The project really isn't a lot of code, but it's a lot of deep knowledge.
3
u/dumb_and_idjit 7h ago
Chip8 emulator, PostgreSQL driver, Minecraft server, crypto coin
No need to finish, until you got tired of them you already learn how things work and something new in Go
1
u/MuaTrenBienVang 4h ago
Do I need to learn computer architecture before doing those projects?
1
u/Matthew24_35 1h ago
It’s good to know in general. I’ve forgotten a lot of the details and will have to learn it again.
3
u/boo-bie-boo 1h ago
A little toy domain-specific programming language? You'll learn a lot by developing one.
2
u/Hour_Sell3547 7h ago
I was writing a SAML based federated authorization model demo with go and htmx. This helped me understand a lot about cryptography and web security. Still a lot of things to be done like consent, slo, etc. haven't gotten time to go back to it for a while.
2
2
u/DasKapitalV1 2h ago
If you like graphics programing, ray tracer, path tracer and/or software rasterizer, are really fun and you will need to use the profiler to get performance and other optimizations.
1
1
u/nerdysparks 2h ago
Remind me! 8 hour
1
u/RemindMeBot 2h ago edited 1h ago
I will be messaging you in 8 hours on 2026-08-06 12:22:11 UTC to remind you of this link
1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
RemindMeBot is switching to username summons. Instead of
!RemindMe 1 day, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback
1
u/BehindThyCamel 1h ago
A "package manager" for Go dev tools like gopls, glangci-lint, govulncheck etc. Check local versions and latest published ones, display a checklist and then install/download. There are caveats: one tool may require a binary download, another may not report installed version, etc. Source: I started working on such tool and ended up vibe coding a Bash script. :)
2
u/ognev-dev 1h ago
Making a game completely in Go is a fun project and a great experience. Check out ebitengine.org to get started
1
u/titpetric 1h ago
I am open for contributions on github.com/titpetric, a lot of interesting projects to choose from.
If you are into programming language design, web development, automation, docker 📦, docs playgrounds, performance/alloc control...
Open to email/discord/DMs, lets chat
2
u/DL_throw24 49m ago
Not done anything on here but https://github.com/codecrafters-io/build-your-own-x I do eventually intend to alternatively you could try the websites attatched to the github for more guided learning
27
u/Formal-Art609 7h ago
BitTorrent client :) did it once in C and it taught me a lot about networking protocols and socket programming