Inspiration
The inspiration for WebOrbit came during a Data Structures and Algorithms class. I was thinking about graph theory and wanted to build something visual and interactive. When I came across 3d-force-graph, I saw the perfect opportunity to apply graph visualization in a real-world context. That's when the idea of turning websites into 3D sitemaps clicked.
What it does
WebOrbit crawls a given website and visualizes its internal structure as an interactive 3D graph. Each node represents a page or asset, and the connections show how they’re linked. It supports filters, JS parsing, orbit controls, and more—all in a sleek interface that makes understanding site architecture intuitive and even fun.
How we built it
The frontend is built with HTML, JS, and TailwindCSS for speed and styling. For 3D visualization, we used the 3d-force-graph library. The backend is written in Go, using concurrency to crawl and parse pages quickly. It builds a site graph by extracting links, filtering by type, and sending the structured data to the frontend for visualization.
Challenges we ran into
Implementing the web crawler in Go was challenging since I was new to the language. Ensuring the crawler didn’t loop or hit the wrong domains required smart filtering. Integrating the backend with the frontend in real-time also took some debugging, especially when dealing with JS-parsed websites.
Accomplishments that we're proud of
- Successfully learned and used Go to build a full backend.
- Built a stable, fast, and visually impressive 3D web crawler.
- Implemented deep customization and controls for both crawling and visualization.
- Created something useful that doubles as a learning tool and visual experience.
What we learned
I learned how to work with graph data visually, build web crawlers in Go, manage complex data across full-stack applications, and combine utility with creative UX. I also gained confidence in structuring larger projects quickly under time constraints.
What's next for WebOrbit
- Add export options for sitemaps and visual snapshots.
- Add analytics like crawl time, broken links, and page types.
- Allow uploading local projects or running WebOrbit as a browser extension.
- Polish the UI further and open source it for others to build on.
Built With
- go
- html
- javascript
- tailwindcss
- three.js
Log in or sign up for Devpost to join the conversation.