June 16, 2025
You can now maximise, minimise and close the window using the topbar buttons!
60 Devlogs! I've begun work on the onboarding/welcome screen, here's what I've got so far! Feel free to let me know your feedback!
Successfully migrated to ES6! Also, introduced Linkman! It changes the way modules are imported and makes it look and function more cleaner.
Revamped the log system so that it now tells you the module it came from! Previously it just said anything was main, lol.
There is now a somewhat stable implementation of the current setup! There are a couple errors but that's mainly just repointing. By the way, if you want to check out the migration process, feel free to check out refactor-testing-v2
on the GitHub repository (unless it's gone lol)
Here's the current set up right now! The new files are being created in src/framework. Currently, there are 5 different modules, but an abundance of errors..
Right now, I'm beginning the migration process! Currently, the main browser code is in script.js with approximately ~800-1000 lines of code. This is a bit messy, so I'm going to attempt to separate them into different modules and migrate to ES6 in the process!
Working on some more Search Suggestion stuff! I've finally found a Google Trends RSS feed I can use to get the latest trending search suggestions - and it works! Currently I've put my own country (NZ) but I plan to allow all countries.
Introducing.. Orb Sentinel! It's a built in ad & tracking blocker based on @ghostery/adblocker-electron's library. This will be available in Settings as a switch you can toggle.
Made this nice looking 404 page! (yes, it does work, btw) apart from the Try Again button, I'll need to make that work soon..
After a bunch of work and more behind the scenes stuff, check out this new layout! Which one do you think is better, the previous one or this new one?
Added a menu dropdown! Already begun working on the Print function and I think it works?!
Expedition's down for me, so I can't get the neighbo(u)rs - so I've also made some new random logic (I hope this works) as well as a placeholder for the final roll.
Added a new button - Image Details! It gives you details of the newly converted image, such as the colour palette, image sizes, and more!
It has been a SOLID moment since the last devlog. I attempted to refactor the browser's code (branch refactor-testing) and attempted to add basic Chrome extension support (branch extension-testing), but it's safe to say.. Chrome extensions are now supported! This is a demo of a Chrome extension running in Orb Browser. Some elements of specific extensions don't work as they have more advanced features (e.g. proxy) but that's to be expected.
I think I've lost some progress (maybe forgot to commit / pull) but I'm planning a system where there are endings!
I've added what I like to call the final main phase (Magic: the Gathering reference??) where the player has to roll a D6 to get odds or evens.
When you've rolled a low number twice, the game will now ask you to pick odd or even.. (50/50)
Added pin/unpin tab logic! You can also drag tab buttons out of the pinned area to unpin them.
I did do some other stuff, but I don't remember what it was.. anyways, you can drag tabs now! I got a bit inspired by the admin buttons on SoM (dashed border haha)
When in doubt, you can enter this into the console.. only if needed..
Added some ambient sounds and some more logic!
(excuse the lag, that's the screen capture) but I've managed to get a little bit of lore happening! It even detects the time of day..
the pixel art looks way too amazing!! loved the overall project
Forgot to mention: fixed a few bugs and now the exit button dodges your mouse cursor!
Version 1 is basically ready to ship! Can't wait to see if you all like it :D. Whoever you vote for, thanks for taking the time to read this!
Marking 10 hours, here's an official tutorial! I've also spent the rest of this time polishing and implementing Hard Mode.
Added Danger Pizza! It sets your pizzas to 0 (by that, I mean when you're collecting pizzas, you basically lose those).
Added an ending stats screen! I mean.. it's far from perfect, but it's working!
Here's a video showing all that the game has (as of now!) but it's time to make the ending.. soon..
Added blue coins! You can get them from going to base. Here are the rates:
Mythic Pizza and Blue Gift is now available! I haven't decided on what to do for the Mythic Pizza yet though - also, demo link is now up!
Parallax Background! It's not what I initially had in mind, but this took so long haha
Starting to work on the main menu and added some tweens.. isn't this awesome?
Added a +1 indicator! Or whatever they're called..
Added a countdown (usually starts at 2 minutes - but for this devlog I did 45) and some music when it reaches 30 seconds! (the music is mine - idk how good it is lol)
Added a base! Once you hit the max pizzas, you can go to the base to empty the tray.
Added a counter (and worked on some global stuff in the background)! There's one issue where it lets you collect one more pizza than the limit, but that should be easily fixable.
You can now catch pizzas! If you don't catch them, they fall on the ground and wither away..
no way.. is that.. pizzas falling from the sky?!?
After some work, I've managed to get the animations working on the player, and also the tray has an awesome interpolation animation! I don't think the GIF gives it enough justice..
I only just found out that you can track time via Aseprite :sob: Anyways, I've made some walk animations (although scuffed) and figured out how to import it into Godot!
Tweaked around with some project settings and drew up a green dude! (I'm not great at pixel art) unfortunately the time spent in Aseprite (~25-30 mins) isn't tracked by Hackatime..
Welcome! I'm going to be attempting to make a 2D game in Godot within 48 hours for Code Quest. First of all, does this look like a pizza..?
A simple game where you collect pizzas that fall from the sky! Made in Godot for Code Quest.
Welcome! I've been working on it already for a little bit - and you can click the button to roll a die with a custom message!
Roll a die! Made for the Summer of Making 2025 Survey (Scene 74).
Fixed up more bugs with the new protocol system and added the Browsing History suggestion to the Omnibox! (yes, I will probably clean up the logs)
History works! You can now view Browsing History, clear the data, and also click on the links to view them any time, although that button looks a bit.. bland..
beginning to add browsing history.. (insert eyes emoji)
after a TON of work, and an entire remake of the protocol system.. it works!! It even works great when it saves too (time to make the actual history page..!)
Progress! The system is a bit.. more better. The mini omnibox now has.. at least something related to orb://history! Also the actual omnibox now works with orb://history..!
So I've been attempting to add Browsing History, and first I'll need to implement a custom protocol: orb://history! However, it's going a bit.. uhhh.. mediocre right now..
I've been working on a scrollbar, and it does work, but it's not finished.. yet...
Welcome back! Now I'm beginning to work on Ship 2. I've been doing some minor tweaks, including a different font! What do you think about this new change..?
just wanted to say.. after a bit of tinkering.. WE GOT SOMETHING
Emulating Linux... on the WEB?! (you saw that correctly, powered by v86!)
For now, I'll ship this project! I can definitely work on a few more features in the future, but for now it's considered stable :)
Added experimental Widevine DRM support! The reason it only took a few minutes is because it's literally a dependency drop in replacement (lol) but hopefully this means it should work with some content providers that require Widevine?
Tabs now save! (it's not perfect.. but it does the job at the moment!)
When the window loses focus, it now changes its main colour! (ignore the words Hyperlink in the bottom left of the window)
Navigation buttons now work great! (also, there is support for ignoring cache refresh, but I have yet to add it.. maybe shortcuts?)
Worked on quite a few things behind the scenes - including Quick Actions (Omnibox) and stuff like preparing navigation buttons!
Finished!
I've been attempting to change the look and feel of the Omnibox for a bit now - and it's getting there! I can see a few issues, but surely that can be fixed.. right??
30 Devlog Special! (although technically the last devlog was 30)
Search suggestions! (they don't look pretty at the moment, but they work and they work good!)
...working on the design for the omnibox!
No joke, this feature took like 30 minutes
(Omnibox closes when you click out of it)
Omnibox! (well, it's in progress, but it works!) technically...
Worked a little bit on the browser... the most notable feature is the new lock/unlock icon on the Omnibox! It tells you whether a page is secure or not (although maybe I could make it a bit clearer?)
working on the omnibox design rn!
Spent quite a bit of time working on the... Omnibox! It's not pretty right now, but that will hopefully change.
Started to begin making shortcuts! Ctrl+T and Ctrl+W now work to open and close tabs.
After quite a bit of work, I've added a hover effect for closing tabs, and also implemented some logic to switch to the next or previous tab on close (I spent quite a while debugging some weird bug). Now for shortcuts! (maybe)
You can now close tabs! Although I haven't implemented a system for falling back to a different tab once closed... may do soon!
can confirm it now completely works as intended!
it works!! pretty much all of the functionality from previously is now the same. although there is one thing - all the tabs aren't supposed to be showing at once...
yay!! the title and favicon update thing works (basically), now i've just got to implement active tabs and new tabs... and then we'll be back in business.
In the process of getting it back up to normal! working on the tab buttons as of currently...
After some consideration, I've now begun to migrate from WebContentsView to WebView because working with DOM elements would be (much much) easier. Context menus work fabulously too!!
been doing some more layout work behind the scenes, and got the new tab button to look somewhat good! although one problem is that it's longer than the tab buttons and its annoying...
favicons! they look pretty good (although i will probably end up changing some things in the future) and added a few margins inside and to the buttons.
Ctrl+T now works to open new tabs! I've also made it so that new tabs get automatically selected.
now borderless! also removed the background from the sidebar buttons.
active tab! (insert eyes emoji)
After a bit of work, page tabs now reflect their title when they update!
Added Inter font! Which one do you prefer? I intend for Inter to be the main UI font, as with my other projects.
A little bit of styling was added to the buttons, and some minor adjustments to the views (rounded corners are back, view padding!)
After a bit more work, the most notable feature is that the window title now updates according to what the title on the page currently is! It's still not great - there are a few bugs I would need to fix, but it seems great so far (look at the top left!)
As a celebration of officially achieving 3h, Google now opens on launch :D (although the view sizing isn't perfect - will most likely get to fixing that soon)
Tab switching is now available! (it works great!) To make it more feature complete, I should probably add tab closing.
New Tab button! (and Chrome extensions too, as you can add them - but there isn't any way to use them yet, as I need to add the necessary integrations and stuff for them) but it's progress!
Added another WebContentView behind the existing one so content can actually begin to be put there!
Context menus work! Hopefully, they should also support Chrome Extension context menus in the future.
Worked on getting the resizing window and positioning right, since I'm using WebContentsView instead of WebView. So far, it seems to be going well! Also experimenting with Chrome Extension support and Context Menu support.
Starting to begin the project! I'm starting off with how the logo may look like - here's what I've made in a few minutes.
A minimalist, proof-of-concept browser written in Electron with Widevine DRM, Chrome extension support, and more!
Finished! This was quite fun to make, and helped me to learn a lot more about Sockets.
Finished! Basically. It was quite fun and did teach me a lot about how Discord.js works. I could be excited to work on some more Discord bots in the future.
Added a direct link button! I've been working on tons of stuff behind the scenes, so this is gonna be exciting.
Worked on a dropdown for the file formats and accent colours! It's working great.
Conversion system done! I'm using Axios to fetch the attachment image's URL, then convert it using Sharp and then send it back to the user!
It begins! Played around with context menus and getting messages set up. So far, it seems to be going quite well!
A Discord bot that lets you convert and compress images to different formats within Discord.
Complete! I think. Added some comments, fixed a critical bug that broke the extension for some users, and changed the logo slightly.
Cascade is now basically finished! It's not a huge web browser, but it bundles the basics, showing what Electron is capable of with WebViews.
(An old image is attached - see below)
Here's an example of what the main guessing interface looks like - although I do plan on improving it further.
Added a leaderboard, did some slight redesigns and made everything look somewhat better + added some other small stuff. I wish I could attach two screenshots though!
It's starting to look more like something playable! Having a few issues here and there, and the design isn't particularly great at the moment, but it's basically getting there.
Loaded an actual dataset now! Worked more on the game and how it should work and retrieved a (temporary?) data set from Hugging Face.
Starting development of the actual game process now! This is a very basic outline of how I would like the game to function.
You can now pin tabs to your heart’s content! Seriously, go for it!
Got the leave button and some other tweaks done! Well probably not done, but at least enough to get started with the actual game part..
This isn't the cleanest code quite yet, but it works! You can now join the game and then chill in the lobby with the other people who join.
Beginning to experiment with Sockets! This is my first time doing so, and so this project will serve as my testing lab. So far, it's going quite well! Managed to get the base frontend and backend sorted out (as well as understanding a little bit of how Sockets work) and I'm using Socket.io in NodeJS.
Challenge opponents to fill in the word the fastest!
You can now regenerate ExplainThat responses! Maybe there's a word you don't know, or it just doesn't make sense? Regenerate!
Widevine DRM support for Windows! (Linux is not supported as it doesn't have proper Widevine support apparently, I could be wrong though) and hopefully this allows the browser to stream protected content from platforms like Netflix (again, hopefully)..
I got embeds working, and it now actually understands the message you've replied to!
After a little bit of experimenting, I was able to get it to respond, but it responded to the message that pinged the bot... lol
Hi! Welcome :D | This project mostly serves as a sort of learning experience for me to Discord.js - I've done quite a few projects in JavaScript, and so hopefully using this library should be a breeze... I was sort of wrong. Getting set up was easy, but getting the bot to respond to any type of message is where the fun began...
Reply to any message in Discord and have AI explain it for you, blazing fast. An adaptation of my Chrome extension.
Context menus are basically complete! I know that they may be missing a couple of features that are there in the usual browsers - but at least these cover some of the basics needed for a full web browser.
Made the about window thing! For some reason when I try to scale the logo up in my photo editor it makes it look like that, which depending on how you look at it, could make things better or worse.
After some feedback (thanks btw!) I've just stripped the danger like part of the logo, and now it's just a circle with another circle in it (totally creative)
Tabs are now fast.. switching between them. There are some minor glitches, but let's just say it works!
Cascade now has new UI, some icons (powered by Font Awesome!) and now is more functional. (It's starting to shape more like a browser!) Oh, and I added context menus too. I've been working on a better API/making the browser more functional and more usable. Currently, one of the biggest features that are missing are closing tabs, but that should be simple enough!
🎉 ExplainThat has now been shipped/awaiting shipment!
This has been great, it's helped to improve my Chrome Extensions skills further and learn about API fetching and adding elements dynamically.
Right now, I'm working on the absolute basics for a browser, and so far it's going quite well! The tab system works (mostly) and you can create New Tabs and Refresh. Also, what do you think about the logo?
A proof-of-concept simplistic web browser built in Electron with Widevine DRM support.
Haven't had much time today, but I've crafted a new concept up: different levels of summarization. If you're in a hurry and want to know something quick, Low would be great for you! However, if you're not in a rush, you can pick High to have something explained in good detail.
I haven't coded the actual part yet, but it would be an idea that (could) work.
Also added a refresh button.
You can now copy the text to the clipboard!
New logo, by the way!
Page generation is now available! ExplainThat will first scan through the page and give you an explanation/summary within the span of a few seconds.
Liquid glass looks quite good... that's kinda amazing
Anyways, themes are now here! Currently there's only two, Default and Liquid Glass, but they're still amazing! (at least from my perspective). I've also added Markdown support.
The ExplainThat UI is now functional! You can select any text on any page, right click, and click on ExplainThat! and AI will now briefly explain it for you.
At the moment, I need to fine tune it a bit so that the prompt works great, and I plan on adding other features like changing the language, and maybe even add a settings panel?
Recently, I've been working on the UI for ExplainThat. I want it to primarily be a popup, as the explanations should only be around 1-2 sentences maximum. Maybe ExplainThat could act as more of a summary tool?
To begin, I've used Hack Club's AI API, and whenever you select something, AI explains it for you in 1-2 sentences, currently this is in the console.
Select any text on a webpage and have AI explain it for you, blazing fast.
🎉 ConvertBox has now been shipped/awaiting shipment!
This has been a fun time, and I've learnt a lot about how conversion works and even just more JavaScript, HTML, and CSS. I would quite like to do projects like this again.
Fixed CORS! Fixed an issue where CORS would block a user from converting some images. That being said, the project is getting close to completion...
HEX to RGB colour coding is now available! Simply select on the text that you would like to convert to HEX and it will copy the corresponding RGB value to your clipboard.
Converting selected text to QR codes is now available! You can select text on a website and have it converted straight to QR code, ready for scanning.
HTML to Markdown conversion is now available! ConvertBox can now (attempt to) convert any HTML page into Markdown format by right clicking anywhere on the body of the page (e.g. text, images).
TIFF & BMP image conversion support is now available! It uses two modules by some guy (don't remember his name) but they work absolutely perfectly.
JPEG (JPG), PNG, WebP, and ICO conversion are now available and almost complete! (for the most part).
Since I'm doing this project entirely client side, it's been a challenge to attempt to get the other file formats working. Although JPEG, PNG, and WebP are done (almost) entirely by canvas, ICO took longer to make, but I eventually figured out that it is possible to convert a PNG to ICO and still get it to work via an external NPM library. These aren't entirely complete yet, especially ICO as it resizes the image to 256x256, but it's a good starting point.
Created the project using Webpack and now thinking about what the context menu should be like.
Convert images and more without leaving your browser. Client-sided.
This was widely regarded as a great move by everyone.