Started: January 24, 2025
Ended: February 7, 2025
Duration: 14 days
Link: https://euvinkeel.github.io/tango-trainer
tl;dr
- The project was a (successful) first step at creating + finishing something in public.
- I got more accustomed to Rive, Tailwind, CSS, TS in general.
- I need to shift my focus towards depth, not breadth.
Inspiration
It began how most of my projects start: I notice a pain point, no matter how trivial, and begin to think about how I could solve it.
When I first set out to make this, I really just needed a push to code something again. It had been a while since I sat down and tried to complete a full project, so I thought that recreating one of my favorite morning routines (playing LinkedIn’s games) would be a simple & quick way to de-rust. More importantly, the only other site that offers an infinite-mode version of the game had some issues with it. At the time, changing the puzzles sometimes resulted in tiles not responding to clicks, I had to refresh the page sometimes, the board was too visually different from the original, and it wasn’t actually infinite (there are 100 pre-set boards).
Overall, I’m pretty happy with how it runs and looks. There are optimizations to be made: notably, the backtracking algorithm used to generate random boards & the way each individual Rive instance loads. There could be more features, like open sourcing the TangoTS module, making it actually modular and portable, high scores, ELO rankings…
But I’ll leave the project as it is right now. As time went on, I think I became unsatisfied with what exactly I was learning.
Learnings
This project forced me to dive right into new tools.
Rive, despite all the struggles I had with it, has become really attractive to me for creating animated graphics and putting that polish & shine on things. As someone with experience with DaVinci Resolve and Blender, I really appreciate a proper visual editor for getting animated graphics just right.
I also found myself reaching for Tailwind for really quick styling iteration, and the v4 release has been such a nice step away from wrangling config files.
The more I become accustomed to these, the faster I can make stuff happen. The more I become accustomed to common problems, the faster I can skip through them and get to the juicy parts of a project.
Despite the above, I felt lacking in what I was doing. I spent a bit too much time wading through documentation, trying to perfect the small details in the presentation of it all. Plus, the scope of the project doesn’t lend itself well to other users (which was currently just me), communities, audiences, career growth, or profit.
But all it needed to be was a first step of many. In that regard, it’s a success. What’s next?
Pivot
I’ve been reflecting on what I need more of in life, and what I see around me.
Earlier this year, I joined an online community where others share their own learning journey. There, I see a disproportionate amount of those trying to learn low-level concepts, math, and AI. And I’ve distanced myself from such hard concepts because I’ve tended to be more visual and high-level.
I’ve always thought that I couldn’t pursue such specialized, “hard” fields. Sure, I passed all my computer science university courses just fine — and those involved lots of math — but I only learned enough to pass the exams, never enjoyed them, and certainly never retained them after the quarter was over.
The above would have been enough for me to write off going back into hard subjects if it wasn’t for the community aspect.
I’ve been deeply missing a sense of community and rivalry in what I do and what I create. People to be inspired by, people to (healthily) compare myself to, people to share things with. When you’re too much of a generalist, it’s hard to deeply connect with others. When what you create is so subjective, it’s hard to feel rivalry. And when you’re out of university, all of the above is drastically muted.
But when you are a part of a specialized & self-led community, things can get so much more enjoyable and engaging. Every step you take is more shareable, relevant, interesting to others.
For the next few weeks, I’m going to try to join a passionate crowd in MathAcademy and see where it takes me. Maybe I’ll write about what I think of the platform, what I get out of it. (I really like the idea of being trained by an AI — I think we could use more of that in a lot of places.)
That’s probably not enough of a goal in itself… I’m still thinking about what I’d like to actually create/develop.
We’ll see what the next reflection post looks like!