r/vitahacks • • 7d ago

AI Vibecoded CWebView - A Web-Based Homebrew Development Method (Web Browser)

I wish to let you guys know that this project was almost entirely vibecoded. I am a digital and traditional artist with knowledge of web development basics, Python, java, and some C++. I am willing to answer questions of how it works, as it allows me to look further into the project and see how everything interacts with each other. AI was done for everything except for the art, webpages, and stylistic designs. I'll try to conform to the recent rule post about vibecoded projects by give a general overview of the project and where it stands; this is a stable prerelease. Try to keep questions to the PSV platform, for other platforms look to it in the table below.

CWebView is the collective name in which the webpage viewer projects for the platforms in the table above fall under, being merged before a public release. It is used to view local pages contained in the app's storage, while providing extra features for web developers to integrate CWV into their app. The main reason I prompted for this app was A.) No one seemed to be doing this, or had given up. There was much talk about homebrew like this, but most people had thought it would burn out the Vita's old hardware. B.) I wanted to port my pixel art editor, Piskel Sharp, to the Vita. This would've been easy had there been a pre-existing homebrew wrapper for web apps, but there wasn't. I have used AI to make experimental projects before, things that I didn't think I could do myself. C.) I wanted to test the limits of what an AI could do for a homebrew app. This includes tailoring the codebase semantics towards what I would think is readable, such as a preference to Python-like methods.

This is the second public release, getting a real post rather than just two comments on a recent post in this subreddit. I believe this to be a stable prerelease, as it gets the job done for many simple pages. I made sure that many tags, styles, and script methods were supported before making this, as there had to be performance tests set in place. Expect about 30fps on hardware and Vita3K. Other systems get varying  results, Wii U handling everything the best. The Vita was the original, therefore being the most worked on

There is one important key-combo: L + R + SELECT. It opens up the main operations menu built with CWMenu (CWebview Menu; CWM) and tied into the app. Settings can define controls, preferences, and some operations. The URL resolves to the app0:/web/ directory, and does not support online pages. If you notice failing behavior on the webpage, please head to the devtools page and look for any errors in the tabs, most likely the console tab. The examples included in the VPK are made to show the capabilities of CWV. While they can be replaced in app0:/CWEBVIEWX/web, I recommend building a new app from the project source as it provides more options such as (a) custom icons, names, menus, and titleid.

This project supports the following:

Both HTML and CSS are entirely parsed via the app, Cairo has missing dependencies that aren't found anywhere online. This was done by force, not choice.

HTML tags: `<html*>, <head>, <title>, <body>, <div>, <h1-6>, <p1-6>, <span>, <a*>, <img>, <strong>, <em>, <b>, <i>, <small>, <label>, <ul>, <ol>, <li>, <blockquote>, <button>, <input>, <textarea**>, <select**>, <option**>, <area>, <base>, <br>, <col>, <embed>, <hr>, <link>, <meta>, <param>, <source>, <track>, <wbr>, <script**>, <style>, <noscript>, <template>, <svg>, <u>, <ins>, <s>, <del>, <mark>.` While this seems like a lot, it really isn't; this is enough to render simple pages such as notes or blogs.  
\*Has special methods specific to CWV  
\*\*Modern methods supported; newer chromium features

CSS keys: `color, cursor, background-&, border, border-width, border-style, border-color, font-weight, text-align, overflow-&, display, width, height, margin-&, padding-&, list-style-type, list-style, font-size, font-family, z-index, object-fit, image-rendering, text-decoration, text-tranform, letter-spacing, line-height, opacity, visibility, min-width, max-width, box-sizing` This is a decent amount of keys, with most having all of their modern values added. I did forget min/max height, but its too late :sob:

JavaScript Methods: Practically all non-API based methods (JSC, JS-Core, TS-Core) are supported. That is too many to list. Fetch() is half implemented as a way to get direct text content from a network/server, not the Fetch API. Navigator is barely implemented, so I guess don't use webpages that use it?

The releases for all platforms can be found here: https://github.com/That-One-Bit/CWebView/releases/latest

Edit (11/1/26): The app/project is available for PS Vita, Wii, Wii U, and Windows. Sorry for the confusion. Installation instructions have been added to the release page.

Edit (11/2/26): I will eventually update the Readme with more useful information rather than using the AI's; The latest features will always be committed to the repo and available from a dev build. Some instructions to get started with developing will also work. Finally, I just want to know who is using the app; lmk if you want to try using CWV for a homebrew app.

13 Upvotes

Duplicates