A Day of Building LarixGames
Today was one of those messy, frustrating, productive days that somehow ends up moving everything forward at once.
I spent the day working on the LarixGames project, not just on the games themselves, but on the whole structure around them: the site, the game library, the server, the admin system, and the overall identity of what this project is becoming. It was not a simple “add one feature and move on” kind of day. It was more like cleaning, rebuilding, simplifying, breaking things, fixing them, and finally starting to see the project take a clearer shape.
Moving From Random Prototypes to a Real Collection
One of the biggest things I worked on was defining what LarixGames should actually feel like.
At first, the site and messaging were a bit scattered. There were many game ideas, different directions, and a lot of experimental energy, but the overall presentation did not feel focused enough. So today became partly about making the whole thing more coherent.
Instead of making the project sound like a rough prototype lab or an unfinished experiment, I wanted it to feel like a growing collection of games that are actively being developed. That small shift in tone changed a lot. It made the site feel calmer, clearer, and more intentional.
The direction that finally made sense was simple: LarixGames should present itself as a growing collection of ad-free games in development. That says what it is without overexplaining, and it fits the kind of work I am doing right now.
Reworking the Main Site
A big part of today went into the LarixGames main website.
The goal was to stop treating the homepage like a vague landing page and turn it into a proper front door for the project. I worked on the structure, the tone, and the design so that the site would feel cleaner, flatter, and more aligned with the identity of the games.
The homepage now focuses on a few core things:
- introducing LarixGames clearly
- presenting featured games
- linking to the playable library
- keeping the messaging simple and confident
The text changed a lot during this process. I did not want it to sound like a survey, a startup pitch, or a temporary prototype page. I wanted it to sound like a real project that is evolving over time. The final direction became much more grounded and much more natural.
Keeping the Playable Library on GitHub Pages
Another important part of the day was deciding how the game library itself should work.
The games are currently hosted through GitHub Pages, and instead of fighting that setup, I decided to make it part of the structure. That turned out to be the right move.
So now there is a clearer split:
- the main site acts as the public-facing LarixGames homepage
- the GitHub Pages site acts as the game library
- the play page launches the individual games
This made the whole system more practical. The homepage no longer needs to duplicate everything, and the GitHub Pages side can stay focused on actually browsing and playing the games.
I also reworked the GitHub Pages index and play page so they better match the visual language of the main site. That way, moving from the main LarixGames site into the library no longer feels like jumping into a completely different project.
Updating the Design and Branding
Today also included branding work, which turned out to matter more than I expected.
Since Larix is a tree, I explored logo ideas around that meaning. The first version was interesting, but it felt too detailed and too illustrative for the site. So I pushed it toward something more minimal and more aligned with the warm, simple, flat style of the project.
The logo and icon were then added into the site structure, including the browser tab icon and the larger visual identity for the GitHub Pages game library. That helped the project feel much more like one connected thing instead of separate technical pieces taped together.
These small details make a difference. Once the logo, favicon, colors, and site structure start working together, the project feels more believable and more complete.
Fixing the Server and Discovering a Bigger Problem
Not everything today was visual.
A large part of the work turned into server debugging. At one point I noticed that the personal site was not showing any records from the database, and that sent me down a deeper investigation into the Docker setup, the Mongo connection, and the environment configuration.
At first it looked like a connection issue. Then it turned out the app was connecting correctly, but the collections were empty. That led to checking databases, volumes, old Docker data, and server state more carefully.
Eventually it became clear that Mongo had been exposed publicly for a period of time, and the server had almost certainly been hit by an automated attack. A ransom-style database with the familiar “READ_ME_TO_RECOVER_YOUR_DATA” name confirmed that. That was not a fun discovery.
Still, once that became clear, the path forward also became clearer:
- remove the public Mongo exposure
- keep the database private inside Docker
- inspect old volumes
- search for recoverable data
- identify what survived and what did not
That kind of day is exhausting, but it is also useful, because it forces the infrastructure to become more solid.
Recovering What Could Be Recovered
After the database issue was identified, the next step was recovery work.
I checked Docker volumes on the server and on the local machine, compared Mongo data volumes, inspected uploads, and searched for anything that could still be restored. One encouraging discovery was that the uploaded files were still there. The image assets had not disappeared, which meant not everything was lost.
I also checked old local Docker volumes and tried opening them with different Mongo versions. That ended up revealing an important detail: the local database volume had been upgraded to MongoDB 8, which explained why older Mongo containers could not open it. Once the correct version was used, I was able to create an archive dump and move closer to restoring usable data.
Even though the local copy did not contain as much content as I hoped, the process itself was valuable. It turned a vague failure into something specific and understandable.
Rebuilding the Admin Side
Because the database content had been wiped or reduced so heavily, I also needed a reliable way to get back into the system and manage it again from inside the app.
So today also included adding a default admin seed process. The idea was simple: when the app starts, if no admin user exists, it should create one automatically. That way I can always sign in and regain control of the admin area without manually creating a user through the database every time.
That kind of safety mechanism is not flashy, but it matters. It is the kind of thing that makes a project easier to maintain after something goes wrong.
Writing Again to Test the System
Once the admin flow was taking shape, the next step was to test the content side again by preparing a sample article.
That part felt surprisingly important. After all the infrastructure work, having something as simple as writing an article again made the whole project feel alive. It reminded me that the point is not just to keep containers running or fix environment files. The point is to create a place where the games, updates, and ideas can actually live.
What This Day Really Changed
Looking back, today was not just about “fixing a site.”
It was about turning LarixGames into something more deliberate.
The games are still in development. The collection is still growing. There are still missing pieces, rough edges, and things to rebuild. But the direction is much stronger now. The main site is clearer. The GitHub Pages library is more aligned. The branding is more consistent. The backend is safer. The admin access is being restored. The whole project feels less accidental and more intentional.
That is a good day of work, even if it included debugging, broken databases, and a lot of back-and-forth decisions.
What Comes Next
The next steps are becoming easier to see now.
The immediate focus is:
- restoring and stabilizing content
- confirming admin access works correctly
- continuing to refine the sites
- adding more game entries cleanly
- using the platform not just as a tech setup, but as a real home for the projects
LarixGames still feels like a work in progress, but now it feels like the right kind of work in progress: one with structure, identity, and momentum behind it.
Here Some Pictures of todays work
