Echo: Trying to Hear Fiber Breathe
Github: GitHub - yfeng2824/echo: Visual and sonic demo for Fiber network liveness. · GitHub
Preview: https://echo-web-eight-alpha.vercel.app/
Before building Echo, I was designing the Fiber Dashboard. That meant I was looking at Fiber metrics every day: node counts, channel counts, numbers going up and down. The data was useful, of course, but after a while I kept having the same feeling:
I could read Fiber, but I couldn’t feel it.
That is partly because Fiber is hard to visualize in a truly “live” way. A lot of activity on Fiber happens off-chain. So unlike systems where you can watch a public stream of activity all the time, Fiber does not naturally reveal itself that way. What we can usually see more directly is channel status and a few signals on the network’s surface.
So even though Fiber is alive, it can feel quiet.
Echo was my attempt to give that quietness a pulse. I wanted to build something that could make Fiber feel more alive by using motion and sound to create a kind of live atmosphere around the network.
What Echo is & How it works
Echo is not a dashboard for inspecting the network. It is more like an experiment in experiencing the network through motion, rhythm, and sound.
Right now, Echo has two main views: Map view and Node view.
-
Map view: All announced nodes are placed on a world map based on geolocation. When nodes overlap, I slightly adjust their positions so they can still be seen individually. Even when there are no channel events, the nodes keep emitting pulses and sound. I wanted them to feel like they are breathing with us, so the network never feels completely silent. Nodes with more connections sound at a higher pitch.
-
Node view: You can search by node ID to view any announced node in the current network. Once you land on the node view, you will see that node surrounded by its connected peers. They constantly emit rings, and when those rings collide, they create secondary rings and trigger additional sound. If events related to those nodes are detected, they also produce their own visual and audio responses.
Sound system
All pitches are mapped to a pentatonic system, so the sound stays mostly harmonic. You can also adjust the root note and density using the controls in the bottom-left corner. When channel events happen — such as channel openings, updates, or closures — Echo responds with special sonic cues.
Data source
Echo fetches data from the Fiber Dashboard API and refreshes every 30 seconds, following the same update frequency as the Fiber Dashboard itself. With each refresh, it compares the latest snapshot with the previous one and calculates the difference to derive events (e.g. channel open, channel update, channel close).
How Echo was built?
This is basically a completely vibe-coded project.
As a designer, I did not start with the usual flow of making Figma prototypes and then translating them into code. I used Gemini 3.1 Pro for early visual exploration and for building the initial demo, mainly because I felt it had better aesthetic taste than other agents.
After that, I pasted the code into Codex and kept building from there. Most of the work was done with GPT-5.4 / Codex on medium or high reasoning settings. I also used Claude Code Opus 4.6 for some code reviews.
Of course, the tools helped me move faster, but the harder part was still deciding the direction — how to make the project feel artistic and alive while still staying grounded in the real behavior of the Fiber network. It was also surprisingly hard to keep the scope under control. With AI agents, I sometimes felt like my mind was exploding with ideas, and I wanted to add too many features into a single demo. One thing that helped was the gstack skill, especially its office hour tool (builder mode), which helped me step back, shape those ideas, and keep the project focused.
Why I called it Echo?
I named it Echo because a single node cannot make an echo.
An echo only exists when there is connection, response, and something beyond yourself. That felt right for Fiber, because a network only becomes alive when more people join, connect, and interact.
I was also thinking of a Chinese phrase I really like: “念念不忘,必有回响” It carries the idea that if you keep sending something out into the world, eventually there will be a response. That felt close to what this project is for me too — a small signal sent outward, hoping more people can notice Fiber, feel its presence, and maybe even join the network themselves.
If you have time, please go explore Echo and let me know what you think. I’m not an expert in development, so there may still be performance issues or other rough edges. Please bear with those — feedback is always very welcome.

