June 16, 2025
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.
Another proof-of-concept browser written in Electron: Widevine DRM 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.