June 22, 2025
I've started rewriting the entire thing in Go, once again. I just like Go so much, and I think I can do cooler things with it. I've already added user authentication and authorization, so I think I can implement a proper user system (which would be super super cool.)
I've just added a favicon and a page title to the project. I've also written a Containerfile so that I can easily deploy the project by pulling the built image from Docker hub. Among other features I've improved, there is now rate limiting and some other stuff.
I've completely rewritten the whole project from Go and plain HTML, JS, and CSS to Svelte 5, because I couldn't figure out how to setup CORS headers correctly. The UI looks much better now and I've also added the ability to upload files! That is, until I broke it again.. On that now. The original functionality was completely retained (the LinkShare (badumtss) part still works), and now I'm going to have to rebrand to FileShare. kidding.
I'm transitioning the frontend to Preact now. Before, it was a simple HTML page with a favicon and a script. I didn't need a framework back then - and I probably don't need it now either, but that's just a skill issue lol.
You know the Steam in-game overlay (that sometimes doesn't work on Linux)? This is it, only in Minecraft (and with full Linux support, of course)!
The website is now up and running. I think it looks pretty nice now.
I've improved the code quality a lot, added unit tests and stuff like that. Lots of good coding practices implemented, separated concerns, you know how it goes. I'm currently in the process of acquiring a domain for hosting this project.
I've improved the web front-end a lot, now the resulting link is copied directly to the clipboard and the user can easily copy it again by clicking on the textarea where the link is displayed and just pressing <C-c> like they normally would. I still need to add rate-limiting and stuff, but I'm happy with my work so far.
I've developed the backend and a bare-bones frontend. Now I just need to style the frontend the little bit and fix up some little detail, but otherwise, this is just a devlog about how I've already finished this project. Lots of fun! I learned a lot about Go.
Anonymous, open-source link sharing
A beach volleyball simulation thing
An online version of the "people" game Wavelength, where a person tries to guess a number between 1 to 10 based on subjects that the other players try to hint the guessing one with.
An online version of the "people" game Wavelength, where a person tries to guess a number between 1 to 10 based on subjects that the other players try to hint the guessing one with.
Smaller update here, I've set up GitHub Actions to automatically build and test the project and its parts on push. This will make it easier for me to catch my silly mistakes so that they don't make it to the final project. I've also improved the structure of some stuff, but that's not as important.
I have the foundation for my project. I've rewritten it from scratch a few times by now (haha), but I feel like it's going pretty well at this point. The time I've racked up so far seems pretty adequate to me - I've got a (to my best judgement) functional backend WebSocket server that handles the routing and dispatching of canvas updates and stuff, but I've got to work out how to do the rendering on the client side now. Spoiler - I've never done this. But I look forward to it, I think it's going to be a very enlightening experience for me. I'm pretty happy with how it's going so far, especially the server side. I even got to use some of the concepts I read about in CS books, so that's very nice.
The idea is a global canvas. That's it. Anyone can visit the website and draw whatever they want on a (basically) infinite sheet of paper, that also has the magical property of updating itself in real-time for everyone.
This was widely regarded as a great move by everyone.