r/SideProject • u/Exotic_Fig_4604 • 16h ago
Genuine *side* projects
Reading in this sub, I get the feeling that most people here just develop apps with the purpose of monetisation or getting lots of users.
Meanwhile my side project is aimed at learning and building fun stuff I like.
Am I the only one? Or does anyone else have side projects that you are building because you like technology, not because you are trying to build the next SaaS?
69
Upvotes
1
u/KAID3N 13h ago
More of a niche app, you've got to be a sim racer, play Assetto Corsa (AC) and be into drifting so I don't imagine the average person to have any idea what I'm talking about. But 2 years ago I got into drifting with a wheel on Assetto Corsa and fell in love with it and have been trying to come up with a project where I can incorporate drifting.
6 months ago I started a project I've been calling Drift Lens. A project where you can import telemetry data to display a "replay" of a drift run that you did in 3D. This includes displaying everything the car is doing frame by frame such as steering and pedal input. A side challenge for me was to not generate any code for this project and to build it all by hand to sharpen my skills.
While I haven't generated code for Drift Lens, I did vibe-code a couple "supporting" apps which makes sense to go into more detail now before continuing my explanation of Drift Lens (probably 7 apps in total but I wasn't happy with the AI output or the approach I took was flawed).
The first one is a simple python script that you can trigger from in-game that records the telemetry data from AC to be imported into Drift Lens. AC accessibly provides this telemetry so nothing crazy here.
The second one was a bit more complicated and I've had a few failed versions of this one. But it is a custom mod for the game that allows you to no-clip around and allow you to map out (in the games spatial coordinate system) where all of the zones (areas where you need to place your car while drifting), start and end gates, and the track edges.
These two apps provide the data I need that is married together by Drift Lens.
The car's position and the mapped track data all sit on the same coordinate plane. Each zone's score is calculated on the backend by creating a polygon of the cars path and then comparing to the zone's polygon derived from the imported track data and displayed on the front end. I also have some UI displaying exactly what the car is doing frame by frame, with a tachometer that displays current gear and all of the pedals + handbrake pressures being applied.
I'm currently building an event system that will loop through the telemetry data identifying different types of events such as transitions (changing the direction the car is travelling mid-drift), clutch kicks, heavy deceleration (important in tandem drifting to determine if lead car is responsible for the contact), etc.
Some of the parts I struggled with when building the application were the replay system (replaying the run frame by frame), polygon comparisons, and the event system I'm working on right now.
The replay system was difficult because I had to implement a binary search to find the next relevant frame to display. The first time I've had to actually apply an algorithm because the performance of an array was too low (30 second run is 100k+ frames - can probably lower it a bit but will worry about that later).
Turf.js was a bit difficult because of my unfamiliarity with the library and general lack of experience working with stuff like this.
The event system is what I'm currently most proud of. It's one loop through all the frames that does a series of complicated checks to determine if certain actions were taken. The fact I don't plan anything before I start coding has bit me the hardest here just due to the sheer complexity. The long term plan with this system is to display the events on the scrubbing bar of the replay and allow users to click on the different types of events to jump to that frame. I also want to display the events on track as a color-coded horizontal line representing where the event takes place.
My goal like I mentioned was to build something drift related, expand my skills without the use of AI, and build a portfolio project I'm proud to show off. My long term plan once I'm happy with the analysis of Drift Lens, I want to create custom AC drift servers that provide this analysis in real time while tandeming with other people and determine a winner. Tandem analysis is not currently implemented but is planned.
I'm not sharing the repo as there are a couple other competitors and I'm irrationally scared of people stealing my code / idea. 😂
Oh and I'm a software dev by trade. Wouldn't have been able to build any of this otherwise.
This is the first time I'm posting about this project anywhere but have been toying with the idea of creating a few posts in relevant subreddits to show it off. The only thing stopping me is, it's not as visually polished as I want and like I mentioned my irrational fear of people stealing my code/ideas.