June 16, 2025
The base shop is now finished! With 3 themes, default aurora, light mode, and cyberpunk neon, you can go to the shop and buy those themes if you have enough coins for them, and in the future I am planning to put way more items in the shop, and put a lot of time into that, like stuff that are not just themes.
Added AI Insights! Also made it so the XP by concept chart didn't show too many categories like AAA theorem SAS etc, and instead just grouped those into one general category, like geometric proofs. I made a prompt for the AI so it could generate insights to see what you need to work on, and the insights are styled with markdown for an even better look. AI helped me make the prompts for the AI, and the concept map to make sure concepts given by the AI were more general than very specific, AI also helped me with debugging and styling. The next thing needed to do is keep adding more features(hello, shop) and also make it work for any subject, not just math, because currently the prompts given to the AI and more things like the concept map are all focused on math, but I will be sure to extend it to work with any subject, and also let you sort your logs by unit, so if you are studying for different unit, the AI insights and more will be focused on that specifically, and I will have to change a lot of the AI auto logging for that(used the word AI a lot in this message lol).
After SO MUCH debugging I added the image upload to XP section, you can now upload images and get XP based off difficulty, the next thing to add is allowing user text input along with the image. I spent a lot of time trying to figure out why everything was working but the amount of XP given after uploading an image was not showing up, and turns out I just had an extra closing div tag the entire time...
Going to add more improvements soon, like the shop!
I added AI to the log page, you can tell it what you did and it will give you XP based off that! It took a while to implement especially because the prompt had to be changed many times, but now it can choose how much XP you get, and its pretty accurate, and it is pretty good at detecting exaggeration! Next up is adding image support so you can give it an image of what you did and it will give XP based off difficulty and also your input(because difficulty changes from person to person, so input is valuable to understand how hard it was)
Added base design, like the particle effects and XP adding
Did some bug fixing before I ship, making sure everything works, now there is a pulsating blue dot at the account icon if you are not signed in.
This is the final Devlog before I ship this version! The next version will be version 1.2, or 2.0, depending on how much more I can add to the project, and it will be pretty soon, either in a month or so or in a few days(because I can't code when Im on vacation for a month, so it all depends on ship certification. Im planning to let widgets talk to a main event bus that lets widgets reduce how visible they are when you are doing something that needs focus, like during a Pomodoro timer.
Summary of what was done in this update:
Added save functionality to a database and accounts, which makes Aetheris better in every way! You also aren't forced to sign in ever!
That's all for now! Hope you like the new Aetheris.
FINALLY AFTER SO MUCH WORK, literally like a total of 6 hours(including yesterday) on letting things save to Supabase, IT WORKS! You can go open Aetheris, click on the top left corner log in with Github, and everything you do will be saved to the cloud! Please make sure to wait like 3 seconds before leaving or reloading the page because I didn't want to spam Supabase with every mini change so waiting 3 seconds will make sure everything is saved. Currently everything about where widgets are located how big they are and all that is saved, backgrounds are also saved! If you use the stock widget and enter the companies you want to track and then reload, that will also be saved.
Main thing here is that you can have your own account connected to Github so you don't lose info.
AI helped me debug, it was really helpful to make sure I was not stuck for an even longer time.
I have been working for so long and I finally got Github login working, but the modal is blank a lot of the time when logged in and I still have no idea why, the class for a modal is setting itself to hidden but I have no code making that happen, I was planning to finish the update then post the devlog, but I will do more work soon.
Started base UI design, I have been working on Figma for the past few days trying out designs, and also sketching out diagrams on the themes for this project.
The image is probably going to be the base layout for this website and Im aiming for it to be minimalistic and modern, I have also been trying out designs for themes, and the current one came out pretty well, I just need to implement it.
Next up is making the JS so buttons start working a bit.
AETHERIS IS READY TO SHIP!!! This will be my final Devlog for version 1.0! The readme is ready, and this has truly been a huge journey, I really hope that every user will love Aetheris, and I'm looking to improve it more in the future. I made sure as much bugs as I could remove were removed, so it should be a smooth experience! I hope everybody likes it! But always remember, version 2.0 is coming!
I checked for bugs and fixed any that were there. I really liked coding this project and it teached me so much, and I'm planning to do a version 2.0 soon enough! I fixed bugs related to widgets starting at a really small size, finally gave the pomodoro timer a preview image(yeah idk why I left that behind for so long) and now it's ready to be shipped! I will probably ship it tomorrow morning to be safe(and post one more dev log probably after doing a final check)
The onboarding is finished! If you visit the website it should let you go through the onboarding and it will teach you the basics of Aetheris! I had so many bugs during the development though, because I made it so you would have to move around the widgets to go to the next step at one step, but no matter how hard I tried to get around the issue it would not register me moving the widget, so after so many minutes of work on that, I decided to add a next button, but still the onboarding teaches you a lot and it's a great addition!
I also added a themes page so you can change themes, it's where the settings is located, it's another tab.
THE 16 WIDGETS ARE FINISHED!
Here is the complete list: 1. Clock
2. Greeting
3. To-Do List
4. Weather
5. AI Chat
6. Pomodoro Timer
7. Notepad
8. News Ticker
9. Stock/Crypto Ticker
10. Countdown Timer
11. GitHub Stats
12. Quote of the Day
13. Quick Links
14. System Stats
15. Unit Converter
16. Calculator
Now that that is done,(Which took so long lol) I will move on to the next step, onboarding. This won't just be a video, it will be interactive, it will tell the user what to do and more! Hopefully it does not take too long to make, since it's mostly just javascript and a tiny bit of css, so I'll get it started!
I got so much done! I made a countdown widget, which was really easy because there was no api connection, and then made a stock ticker widget, just like the news one but it is not as wide and just scrolls downwards, that also took way less time, and since we fixed a lot of bugs earlier, adding stuff is way more organized and takes way less time, and I finally added a Github stats widget! You can look at your stats on Github at a glance! I am making more widgets per day now because there are no longer bugs holding me back, and I want to get done with the 16 widgets so I can improve other stuff and start designing the onboarding.
(What AI was used for: To make sure my connection between API's were secured, and for debugging)
OK, so this went WAY LONGER THAN I THOUGHT, so here it is: Objective:
The goal was to implement Adaptive Widgets, starting with the Weather widget. The idea was simple: as the widget is resized, it should show more detail—hourly and daily forecasts, scaling up smoothly with size.
The Problem:
The core issue appeared almost immediately: widget resizing was fundamentally broken. The resize handle was present visually, but dragging it didn’t resize anything—instead, it just moved the entire widget. With that broken, testing adaptive behavior was impossible.
Debugging the Bug:
Multiple attempts were made to fix it:
• CSS tweaks were applied to bring the handle to the front, in case it was buried under other layers.
• A dedicated drag handle was introduced to separate movement from resizing.
• The entire 3D parallax effect was disabled, suspecting it was interfering with mouse tracking.
None of it worked. The handle remained unresponsive, and the widget remained locked in place.
The Discovery:
Stripping down the UI to just the basics revealed something subtle but critical: a faint, gray resize handle—one that hadn’t been visible before. It belonged to the library itself, not the custom UI. That was the clue.
It turned out the issue wasn’t with the handle at all. The 3D CSS transform applied to the widget body was creating an invisible “pane” over the entire widget. The handle could be seen through this pane, but mouse interactions couldn’t reach it. The transform essentially blocked all clicks.
The Fix:
The solution came through CSS: by setting pointer-events: none on the widget’s body, mouse clicks could pass through that invisible layer. Then, pointer-events: auto was selectively reapplied only to interactive elements like buttons, inputs, and the drag handle. With that change, the resize handle finally responded as expected.
The Result:
Resizing worked smoothly. As the widget expanded, it revealed the hourly forecast. Expanded further, it added the full three-day forecast. Shrinking it collapsed the view back into its minimal state. The adaptive logic responded instantly and intuitively.
Conclusion:
This unlocked a major feature that had been blocked for a long time. With resizing finally reliable, adaptive widgets can now be built confidently on top of a solid foundation.
(AI used for: Debugging, understanding deep CSS issues)
Well, today was easier than I thought. There were less bugs than past updates and I was able to add the feature where you can give a prompt to make your widget spacing look how you want it, and it works! I guess... the main thing here is that the AI tries its best to space out widgets, and it has all the info about them too, what they are called, the sizes of the widgets, the size of the grid, the size of your tab of Aetheris, all of that, but it's results can get pretty random, and I will do as much as I can to improve this feature more, but it is what it is for now. But on to the good stuff, you can visit it at https://aetheris-sigma.vercel.app/ ! The bottom two circles either open the settings panel or the widget layout reorganizer. The icons for both are not working on the moment, but I can make it work(update: when I wrote this devlog I decided to go fix it or try to but I spent 20 minutes trying all types of solutions but still nothing worked, I even am trying to use the css files for the icons and added them as files into the main program code)
What I used AI for: Debugging, finding ways to help me fix the icon not showing up issue, a bit of commenting
This was a huge structural update for Aetheris. The dashboard was getting busy, so it was time to build the system that gives users full control over their space: the Settings Panel.
The settings panel is glassy just like the rest of the layout, it is easy to read and you can easily remove and add widgets, each widget has a image preview so you can see what a widget looks like before adding it
I also refractored tons of code, I made a new file called app.js, moved some code in there took code out of widgets-v2.js moved things around, of course this caused a lot of bugs but it was not as much as last time(flashbacks).
Next Step: This sounds pretty crazy but I'll be connecting the OpenAI API to get info on where your widgets are placed, and whenever you want you can click reorganize widgets and it will ask you how you want it to be reorganized and you can say something like: Make everything easy to see without cluttering the dashboard and it will get values from where your widgets are, what widgets you have on the dashboard, how big those widgets are, how big your current tab of Aetheris is(if I can get that info, if not I'll try my best to make it work without that info) and then finally chatgpt will get that info and send the backend back the values of where the widgets should be and then finally your widgets will look even better with nice spacing!
Once I finish that automatic widget spacing feature, I will move on to work on just finishing the goal of 16 widgets, so you can have anything you want on the dashboard.
As always you can visit the website at https://aetheris-sigma.vercel.app/ .
(AI used for: Making sure refractor stayed as organized as possible, debugging help)
OK, WOW. I have never went so deep into debugging, but today I did, there were SO MANY BUGS, one bug after the other, just to add my chatbot widget. I started out just coding the chatbot widget, got the backend working, but then somehow the whole background image for the page went away and I could not see anything, after that was eventually fixed there were more 404 errors, the chatbot kept not responding and then I had to restructure where the code folders were, put new folders, change build commands in Vercel, leaked my API key once(yeah um) and after all that, my weather api key just was not working so I tried so many debugging steps that just led me down an endless path, or so I thought cause I eventually made it work so Vercel could detect it, and it worked(I originally thought it just was not being pushed to Github for some reason but it was). The build process is now in package.json(I had to change package.json SO MANY TIMES because builds were failing and all that) Not to mention sometimes the whole Vercel page just said 404, and that was even worse, because every time something went well 15 more errors just popped up in front of me!(Well probably not cause IT WAS SO HARD TO DEBUG) but it's finally pretty stable, of course there are a lot of missing features but the widgets should be working adn you can access it at https://aetheris-sigma.vercel.app/ . It says here I spent 1 hour and 1 min and 55 seconds, but I actually spent 1 hour and 40 minutes, it shows that in my coding project, I don't know why it is showing less time here. Not to mention when the OpenAI key did start working I had to spend another few minutes fixing the fact that the response was not showing although the logs were showing code 200 and the response was being processed.
(I also used my previous project folders to help me find out the cause of all the errors happening with Vercel and the 404 errors, I just made the project structure of this project work the same as my other Vercel projects)
What did I use AI for? For debugging, because it helped me debug stuff also made my project structure work for Vercel better, and helped me comment my code a bit, and helped me understand some weird errors.
And that's it! The chatbot widget is officially there(memory is not working yet)! I said last update that I would fix the resizing buttons but I just went through so much in this 1 hour and 40 minutes and I don't want to put another 30 more bugs in front of me so I'll do that later.
(also, it might be time to add the settings bar I have been planning, since it's getting pretty busy on the dashboard, and I can't have so many widgets in one place so I'm planning on making it so you can drag and drop the widgets you want, since I am aiming for a total of 16 widgets, and more if needed)
FINALLY the resizing bug has been fixed, you can't resize it by dragging the corners still(working on that) but now I was able to make it so the widgets were not always small. There is a new weather widget too! A lot of stuff are still not complete and some widgets are too small to begin with(still) but that will be fixed next update!(hopefully)
BUT THE BIGGEST THING OF ALL: There is a website for it now! You can visit it at https://aetheris-sigma.vercel.app/ and try out the application! Again, there will be tons of bugs but soon enough it will be more stable and more features will be added.
AI used for: Helping me comment my code if I forget that this block did something, it also helped me debug my code when there were huge bugs(like the resizing bug) and it also helped me design the widgets(not a lot though, just a tiny bit to make sure everything was consistent)
Next Up: Probably more bug fixes and adding a new chatgpt widget so you can talk to AI within a widget(and hopefully making it so you can drag the corners to resize something)
This was widely regarded as a great move by everyone.