You are browsing as a guest. Sign up (or log in) to start making projects!

solxmn

@solxmn

Joined June 7th, 2026

  • 8Devlogs
  • 6Projects
  • 5Ships
  • 39Votes
Ship Pending review

I’m done!

The basic idea is still pretty small: get cookie banners out of the way, show how long an article might take, and help me find my place again when I have to stop reading.

The cookie skipper took more work than I expected. It had to recognize common consent platforms while searching for the deny button. Some reject buttons were titled I do not agree, which is easy to miss if you only look for buttons named “reject” or “decline”, and not even mentioning the localization options. I ended up checking the surrounding markup and several kinds of button metadata while keeping the actual click logic reject-only.

The reading badge had its own set of edge cases. Articles do not all use the same HTML, and some of them fill in their content after the page loads. I added duplicate protection, a force-show action, and a guard against counting the same badge repeatedly when the toggle is switched on and off.

The marker feature grew out of a practical annoyance: closing a tab should not mean losing the article and the exact place I reached. There are now three slots, each with a name and optional timestamp. Returning to one finds the original tab if it is still open, otherwise opens the page and restores the saved position. Chrome needed an extra fix here because the popup closes as soon as a new tab is created, so the background script has to finish the handoff.

I kept the Chrome and Firefox versions in sync as I went. They share the popup, content, and background behaviour, with the expected Manifest V3 difference in Firefox’s background setup. Firefox also required the local-only data collection declaration before the add-on could be submitted, however it is not present as of version v1.0.0 if you download it via github.

The popup went through a surprising number of small redesigns. I started with a dark three-stat layout, then moved toward the more formal looking version that is there now. It is not trying to be flashy; it just makes the automation visible and gives you control over it. Settings, markers, and stats stay in local extension storage.

After the tests passed and the Firefox submission was accepted, I finally called it finished. It is a small tool, but it removes what I think are a few annoyances that show up every time I read online.

Try project → See source code →
Open comments for this post

1h 14m 31s logged

This will be my last devlog for this project :]

I:

  • Added everything needed in manifest.json in order to actually upload the project;

  • Uploaded the Firefox extension to Firefox Add-ons marketplace, and it got accepted;

  • Revised the banner detection logic so the extension can handle more consent platforms and common variations in their markup;

  • Checked and fixed inconsistencies between the chrome and firefox version while respecting the differences between their manifest v3 implementations, and more

will ship soon :feels-the-aura:

0
0
25
Open comments for this post

1h 2m 29s logged

General Improvements, UI and Features

  • Reworked the popup layout, gave it a more formal look with wider spacing. Redesigned sections, improved the logic, and made the reset action smaller and cleaner.

  • Added reading markers with three save slots, editable names, optional timestamps, site labels, and cross-tab return support.

You can now save a position, switch tabs, and jump back to the checkpoint later.

  • Improved the cookie skipper logic with site-specific handling, broader cookie-control detection, debounced mutation scans, and safer reject-only behavior.

- Also fixed reading-badge stats related bugs, added a force-show badge button, and made settings update without refreshing the page.

Added contract tests for both Chrome and Firefox builds.

Features

The extension currently has 3 main features:

1. Cookie Banner Skipper

Automatically detects cookie and consent banners, then selects reject or necessary-only options instead of accepting tracking cookies. It supports common consent platforms, site-specific handling, and broader detection based on cookie-related buttons, IDs, classes, and labels.

2. Reading Time Badge

Displays an estimated reading time and word count on longer articles. The badge can be dismissed, and the Show reading badge button can force it to appear when automatic detection doesn’t recognize the page.

3. Reading markers/Timestamps

Provides three customizable save slots for reading positions. Each marker can have its own name, optional timestamp and scroll position marker. The URL is still kept next to the name, in case you forget. Markers CAN be used from another tab or reopened automatically in a new tab when the original page is no longer open.

0
0
24
Open comments for this post

28m 10s logged

Getting started

Worked on the UI, Logo and reading logic.

Simplified it a lot, because otherwise it’d be too complex for such a simple,short project like this. So far it’s going great, haven’t encountered a lot of issues/bugs yet.

0
0
5
Ship

Mee7

Shipped mee7, a small Slack bot built with Node.js and Slack Bolt.

This was definitely one of the easier projects I’ve worked on compared to some of my other recent ones, but I still had a lot of fun making it. The main challenge wasn’t really the bot itself, but getting everything working together properly.

The most interesting part was handling APIs. mee7 uses several public APIs for things like cat facts, dog images, jokes, useless facts, and quotes, so I got to learn how to make requests to different endpoints and handle their responses inside a Slack bot.

I also learned more about structuring a Node.js project around Slack Bolt and how to host the bot continuously with Nest.

Overall, it was a simpler project than some of the others I’ve shipped, but it was still a really fun one to build. It gave me a better understanding of APIs and how they can be combined with other services to make something actually useful (or at least entertaining) inside Slack.

Try project → See source code →
Ship

Easter egg done!

I made another little thing for my site: a small top-down scene with a character, a tree, some particles, and a short interaction.
I’m not going to spoil what actually happens in the scene. If you want to see that part, you’ll have to find it yourself.

What it is

It’s a single-page top-down scene made with vanilla JS and CSS. You can walk around, interact with things, and eventually get sent somewhere else.

There’s also some collision, particles, animations, and a few other small details that make it feel a little less like a static webpage.

Some problems I ran into

One of the first problems was correctly setting the tree’s size. I had multiple things affecting its scale at once, which resulted in it being way bigger than it was supposed to be. Once I figured out what was actually controlling its size, it was a pretty easy fix.

The collision was another one. The hitboxes didn’t always line up with what was actually on screen, so I ended up making a small hitbox editor to make placing them much easier. It can also save and export the hitbox data, which made testing things a lot less painful.

I also had to figure out how to keep the world consistent when resizing the browser. This ended up being one of the more annoying parts, since quite a few things depended on the screen size. Getting the background, movement, and collision to all agree took a few attempts.

There were also the usual animation problems. The character could keep walking against a wall, or quickly tapping a key could make the animation look weird, just your average game engine errors. Nothing particularly complicated, but definitely the kind of stuff you don’t notice until you actually start playing it.

Then there was the tree layering.

I wanted the character to be able to walk behind the tree while still appearing in front of the leaves, which took a surprisingly long time to get looking right. I ended up doing some slightly weird CSS/image layering instead of making completely separate sprites for everything.

And, of course, there were a bunch of tiny mistakes along the way. Typos, duplicated code, things being in the wrong layer, and a few cases where something looked completely broken for no obvious reason.

Basically, normal web development.

What was easier than expected

Once the basic systems were working, adding smaller things became pretty easy.

The particle effects were simple to tweak, rectangular hitboxes were straightforward to add, and the dialogue UI was mostly just a matter of adjusting some CSS until it looked right.

What was harder than expected

The biggest surprise was how many things depended on the screen size.

Something that sounds as simple as making the world stay the same size ended up affecting a lot more than I expected.

There was also a lot more manual work involved than I originally thought, especially when preparing some of the visual assets and getting the different layers of the tree to work together.

A few things I left as they are

The world is based on the screen size when it’s first loaded, so it isn’t necessarily identical on every device and may break on some (sorry!).

For something this small, I don’t really mind. It’s meant to be a little hidden scene on my website, not a full game.

There’s also still a debug option for the hitboxes in the code. It’s useful when I’m working on the scene, so I kept it around.

And yes, this is an easter egg.

You’ll have to find it yourself.

  • 1 devlog
  • 2h
  • 14.86x multiplier
  • 27 Stardust
Try project → See source code →
Ship

The UNDERTALE Based New Tab page is here!

This one was honestly a lot easier to put together than the portfolio. Some of the structure and little snippets came from things I had already written there, so I didn’t have to reinvent everything from scratch. Once the main layout was in place, most of it was just connecting everything together and making it feel like one cohesive page.

It ended up becoming a little more than just a new tab page, too. You’ve got search engines, shortcuts, a to-do list, a calendar, a journal, seasonal borders and particles, a clock, and now a seasonal music player.

And yes, you should still look around.

There are some easter eggs hidden here and there. One thing is probably only going to make sense if you’ve seen some of my other projects.

I’m not going to spoil them, though. That’s half the fun.

Built with plain HTML, CSS, and JavaScript. No frameworks, no build system.

Have fun finding things.

Try project → See source code →
Open comments for this post

1h 47m 3s logged

I am FINALLY done with this easter egg!!
I added some finishing touches, but also fixed a lotta stuff. I mostly had some problems with trying to split the player’s hitbox in half (for z-index purposes) and I also had to split the tree gif 😭 . I’m unsure if I should tune the map hitboxes better, but I think I’ll keep it like this. Was VERY fun though, I definitely gained more experience with this. will ship soon :)

0
0
11
Ship

The Story Behind solxmn.me

solxmn.me started long before the domain itself existed.

The very first version of my website was created on an .is-a.dev subdomain on October 8, 2025. At the time, I was still figuring out how I wanted the site to look and how I wanted to approach web development.

Initially, I used AI to help create a few different templates, then experimented with modifying the ones I liked most. Eventually, though, I stopped relying on templates and started actually learning HTML, CSS, and JavaScript myself. I also took inspiration from websites and services like Linktree and other personal websites I came across, while gradually developing my own style.

A few months later, I applied for the GitHub Student Developer Pack. On July 15, 2026, I used it to claim my .me domain through Namecheap for one year. That was the point where the project started feeling much more like a real personal website rather than an experiment.

For the redesign, I took a different approach. Before writing the code, I designed the entire website in Photoshop. I wanted to have a clear idea of the layout and the final concept before I started implementing it. Having the whole design in front of me made it much easier to turn the idea into an actual website.

Once I had the motivation to work on it, I went all in. I spent around four to five hours a day working on the redesign, tweaking details, fixing things that bothered me, and gradually turning the original concept into something I was genuinely proud of.

After the main redesign was finished, I started adding more personal touches and Easter eggs. Those small details became one of my favorite parts of the project because they made the site feel less like a generic portfolio and more like something that actually belonged to me.

Despite using AI during the early stages of the project, I barely used it in the versions that were actually deployed. I only used it once or twice, mainly for debugging and for writing GitHub push descriptions. Most of the final website was built by me, through everything I learned while working on it, obviously taking much inspiration from Toby Fox and Temmie Chang’s works.

This (and probably the final) version is made up of 2 main pages:
A more “professional” index page, which has most of my socials, and some brief introductions, my skills, hobbies and whatnot;
The redesign, the actual CORE ;) of the website, but I’m not going to tell you how to get to it or what’s in it :P, it’s up to you to figure out what else is there.

Looking back, the project has been a really fun experience. It started as a simple personal website, but along the way it became a way for me to learn web development, experiment with design, and build something that I could genuinely call my own.

I don’t think this will be the last project like this, either. Building this site made me want to create more things from scratch, and I’m definitely looking forward to seeing what I end up making next.

Try project → See source code →
Open comments for this post

2h 15m 37s logged

Worked on THE main easter egg (huge deltarune fan)
Regained motivation to work on this. I had to rewrite a small part of the engine for this 😭 absolutely worth it tho. I’m like 80% done, I just have to add the map hitboxes and I’m golden!

0
0
63

Followers

Loading…