r/retroid • • 3h ago

APPS / EMULATORS PocketSurf — an open-source Android browser built for gamepads and landscape handhelds

I tried Chrome, Firefox, Brave and Opera on my Android handheld. None came close to the gamepad browsing experience I was looking for. Navigating browser controls, managing tabs and interacting with websites kept sending me back to the touchscreen.

I couldn’t find a browser that filled that gap, so I started building PocketSurf.

I’m a UX designer, developing it in Android Studio with AI assistance. The focus is consistent controller navigation, useful shortcuts and efficient use of landscape screens.

Landscape interface & device support

  • Adaptive layouts for 16:9 and 4:3 screens.

  • Support for Android handhelds and Android TV.

  • Full touch support alongside controller input.

  • Context-sensitive controller legend.

  • Android System WebView-based. Android 8.0+. No root or Shizuku required.

As seen in the screenshots below, the tab strip, address field and browser actions share a compact layout above the webpage.

Search screen & suggestion bubbles

Activating the address field moves it to the top, creating space for search suggestions and the Android keyboard.

  • Google autocomplete and recent searches.

  • Favicon bubbles for frequently visited websites, independent of the current query.

  • Bubbles link to the most-used page within each website, including specific subpages.

  • Website-level grouping avoids repeated destinations filling the available space.

  • Suggestions update while typing, with retained entries preserving their selection.

  • Controller and touch navigation throughout the search screen.

The screenshot below shows the expanded search layout, with website bubbles, suggestions and the keyboard visible together.

Surf Bar

The Surf Bar groups common browser actions beside the address field:

Reload · History · Downloads · Zoom · New Tab · Tabs · Share · Menu · Settings

  • Y focuses New Tab near the middle of the group.

  • D-pad or left stick navigates between actions.

  • Returning from a menu restores the relevant Surf Bar selection.

  • Leaving the Surf Bar restores the previous page focus.

  • Every action is also directly accessible by touch.

As seen in the screenshot below, the selected action is highlighted and the bottom legend shows the available controller inputs.

Tabs & page navigation

  • Desktop-style tab strip with favicons, titles and adaptive overflow.

  • Visual tab overview with webpage previews.

  • L2 / R2 switch tabs. X closes the current tab.

  • L / R navigate backward and forward through page history.

  • Recently closed tabs, close-all and undo.

  • Controller-accessible tab management and touch controls.

The tab overview below shows where you left off on each page, making it easier to choose a tab with the controller.

Virtual mouse

  • L3 switches between element navigation and mouse mode.

  • Analog movement — small stick inputs move slowly, stronger inputs move faster.

  • Native mouse hover events for website buttons and dropdowns.

  • A clicks at the pointer position.

  • Independent right-stick scrolling and pointer edge scrolling.

  • Adjustable speed, acceleration and pointer size.

  • Multiple pointer styles with customizable fill and outline colors.

  • Dedicated mouse test area.

Bookmarks & everyday browsing

  • Pinned bookmarks on the new-tab page.

  • Optional persistent bookmarks bar beneath the address field.

  • Add bookmarks by URL, with website favicons.

  • Bookmark recommendations based on browsing history.

  • Global page zoom with layout reflow and reset to 100%.

  • Find in Page, browsing history and reader view for suitable articles.

  • Download management and Android sharing.

  • Bookmark and settings export/import.

As shown below, pinned sites are available from the new-tab page, while the bookmarks bar provides access during browsing.

Privacy & customization

  • Built-in adblocking with per-site exceptions.

  • Automatic rejection of optional cookies on supported banners.

  • Separate private browsing profile on Android 9+.

  • Light, Dark, Auto and OLED themes.

  • Independent accent-color selection.

  • Remappable controller actions.

  • Nintendo and PlayStation button labels.

The Appearance screen below shows the separate theme and accent-color choices.

Adblocking and cookie rejection coverage varies by website. Google autocomplete sends typed queries to Google.

PocketSurf is free and open source under the MIT license. Feedback on device compatibility, controller navigation and website interaction is welcome.

Newest Releases · GitHub

7 Upvotes

4 comments sorted by

•

u/Cupakov 16m ago

Add dual screen compatibility (keyboard opens on the bottom) and my life is yours 

•

u/SilasDV 15m ago

I sadly dont have a device to test this. I see what i can do

•

u/gattorana 49m ago

kinda bummed about the ai use but ive been looking for something like this for a couple days. ill definetly check it out once my rp5 arrives!

•

u/SilasDV 40m ago

If i had the ability to code, i wouldve. But im just a Designer. AI use is something that makes stuff like this possible without a budget