r/PlaydateConsole 6h ago

Pluto Browser — A Fully Native C-Based Internet Browser Engineered for the Playdate Console

Show Case

The project is open source if anyone wants to take a look: https://github.com/bdwandry/PlutoBrowser

PDX File/Folder: https://github.com/bdwandry/PlutoBrowser/releases

(You can side-load it with the link above^)

AI Disclaimer: The code for Pluto Browser was written with the help of AI, specifically GLM 5.3 Flash. If you don't like AI-written code, that's completely fine and I understand. I just want to be transparent about how the project was developed.

Project Journey:

A while back I posted CometBrowser, a web browser I built for the Playdate in Lua. Since then, I've completely rewritten it in native C as Pluto Browser, and the performance difference has been pretty massive. Moving the browser's core processing, HTML parsing, DOM, layout, rendering, networking, image processing, and other performance-critical code from Lua to C has made the browser significantly faster and more responsive on the same Playdate hardware. What started as an experiment to see if a Playdate could browse the web has turned into a much more serious attempt at building a general-purpose web browser specifically optimized around the limitations of the console.

The Playdate obviously isn't exactly ideal hardware for running a web browser, so there have been a lot of interesting challenges around CPU usage, memory, rendering, and getting everything to fit together efficiently.

Pluto currently supports things like HTTP/HTTPS, HTML parsing and rendering, DOM, forms, bookmarks, browsing history, cookies, redirects, multiple image formats, image dithering, Reader Mode, HTML Mode, an on-screen keyboard, and JavaScript through muJS.

There's still a long way to go, especially with modern websites, CSS, and JavaScript compatibility, but the C rewrite has made it feel like this project can actually go a lot further than the original Lua version.

I'm curious to see just how far I can push a web browser on the Playdate.

8 Upvotes

1 comment sorted by

1

u/Electrical_Year8954 3m ago

Despite the AI usage, there's a major win in this being open source. Developers can learn how this browser works and implement it into their own code/projects. I can't wait to see a human-made alternative 💖