Frontend
Backend
UI/UX
Websockets
Wed Oct 16 2024
To showcase my projects and improve my chances of securing an internship, I created this portfolio. The repository consists of three parts:
Before this project, I had never worked with WebSockets, which made it an interesting challenge. I had to consider various aspects such as security (rate limiting and inactivity kicks), responsiveness, and the fact that mobile users don’t use a mouse but still want to see the cursors of desktop users. Due to the use of inactivity kicks, mobile users were being logged out unfairly as they couldn’t move a mouse. I solved this issue by sending pings to the server when the user scrolls, with a set cooldown period, to effectively register mobile user activity.
Additionally, for hosting this project, I worked with Linux for the first time. Previously, I only had experience with basic FTP, but since my project used Node.js, I needed a server with terminal access. To achieve this, I set up a Raspberry Pi 5 with Node, Cloudflare Tunneling, and Postgres, enabling me to securely host the sites myself.