awsome is an Electron + Next.js desktop app for visualizing AWS infrastructure as an interactive topology graph.
It uses a single unified Next.js frontend and an Electron preload bridge to fetch AWS resources from a local AWS profile, transform them into graph data, and render them with Cytoscape.
- VPCs
- Subnets
- EC2 instances
- RDS instances
- Security groups
- Electron
- Next.js
- React
- Cytoscape
- AWS SDK for JavaScript
- The Electron main process creates the desktop window and exposes a safe IPC bridge through
preload.js. - The Next.js UI calls
window.awsAPI.fetchTopology(). - The backend fetches AWS resources using the selected local profile and region.
- The graph builder converts those resources into nodes and edges.
- Cytoscape renders the topology in the desktop UI.
Install dependencies:
npm installRun the app in development:
npm run startThis starts:
- Next.js on port
3000 - Electron connected to the Next.js dev server
Build the Next.js app:
npm run build:webStart Electron in production mode:
npm run start:electronIn production, Electron starts a local Next.js server from the built .next output and loads that app inside the desktop window.
The app expects AWS credentials to be available on the local machine through AWS shared config/credentials files, using a profile name such as default.
You can choose:
- AWS profile
- AWS region
Then load the live topology from the app UI.
backend/ AWS fetching and graph building
pages/ Next.js UI
public/assets/ AWS service assets used by the UI
styles/ Next.js styling
main.js Electron main process
preload.js Electron preload bridge
- The legacy plain Electron renderer has been removed.
- The backend fetch and graph-building logic remain unchanged.
- The current app focuses on live topology visualization rather than infrastructure editing/apply workflows.
