MAC APP / OSS · CASE STUDY

DevPortal.

Let idle dev environments rest.

Instead of keeping multiple local web apps running all the time, run only what you need, when you need it. DevPortal brings starting, stopping, and accessing apps into one experience.

Go / WailsReactReverse ProxyLocal-first
DevPortal's main screen. The left sidebar groups apps into All, Running, Waiting, and Stopped; the right side lists local apps, each with start/stop buttons and a local URL.
APP SCREENSHOTAn actual screen from DevPortal. Click to view at full size.
01 / PROBLEM FRAMING

What problem does it solve?

The more local tools you have, the more start commands and ports you need to remember, and the more effort it takes to stop processes you aren't using. I wanted to open them like ordinary websites instead of launching each one from a terminal. That was the starting point.

02 / DESIGN DECISIONS

What I chose, and how I built it.

DESIGN NOTE / 01

Make startup a result, not an action

Visiting a local domain triggers a stopped app to start.

DESIGN NOTE / 02

Return idle time to resources

Processes with no access for a set period are stopped automatically.

DESIGN NOTE / 03

Group multiple dev processes

Frontend and backend startup are treated as a single app.

DESIGN NOTE / 04

Make state visible

A GUI and logs show running status and configuration.

03 / HOW IT WORKS

The big picture.

Visit in the browser→Start if stopped→Connect via reverse proxy→Stop after idle time
A simplified concept diagram for clarity. See the source code for exact implementation details.

For technical details, the README and source code in the public repository are the primary source.

Read the README and code on GitHub ↗
04 / STATUS & LIMITATIONS

Status and caveats.

DevPortal is a macOS app. See the README on GitHub for setup, supported environments, and limitations. No performance measurements are published in this prototype.

Want to try it?

This page is an introduction. Installation steps, requirements, license, and the latest status are in the public repository.

Check out DevPortal on GitHub ↗