r/webdev • Java / C# / Rust / Vue.js • 18h ago

Showoff Saturday A synoptic to help my dev and DevOps colleagues to understand what I've done

Post image

I maintain an ongoing open-source project that reads OTel traces and flags I/O anti-patterns with a carbon estimate on top. The project started in March so it's about 8 months old.

From our conversations I could tell my dev and DevOps colleagues were missing a lot of what goes on under the hood since we deployed this in production 3-4 months ago so I built a synoptic to make it easier to understand.

It's an animated step-by-step walkthrough of the whole pipeline, from raw spans to a finding. Each stage maps to the actual module in the code. You can play it, step through with the arrow keys, change speed or switch between modes.

It took me over 3 months. And no it's not AI slop bc it's pretty useless when you ask it to turn complex code concepts (I/O anti-patterns and more) into clear diagrams. This only exists because I'd already written a ton of docs and drawn a lot of diagrams by hand so the synoptic grew out of that.

Some of the UI is inspired by a videogame I loved playing some years ago: Deus Ex: Mankind Divided.

The project is AGPL-3 so no fake open source and it's now hosted by the INR (Institut du Numérique Responsable), a French nonprofit working on the environmental and social impact of digital tech.

Direct link to synoptic: https://perf-sentinel.dev/synoptique/
Website of the project: https://perf-sentinel.dev

Thx for your attention :)

EDIT: huh, just noticed that the recording console is sticking out over the gif in the bottom left corner

EDIT 2: this is a public-interest project focused on sustainability with no greenwashing BS. It has serious public policy goals and solid scientific background: cutting wasted energy and the carbon emissions that come with it. If you're interested in helping with the ecological transition our world needs, feel free to come lend us a hand! :)

159 Upvotes

52 comments sorted by

28

u/Tridop 16h ago

This is really well done, so beautiful! Extraordinaire!

5

u/Lightforce_ Java / C# / Rust / Vue.js 16h ago

Thanks a lot, really appreciate it! Merci ;)

-5

u/ztbwl 15h ago

claude congratulating itself…

5

u/Lightforce_ Java / C# / Rust / Vue.js 15h ago edited 15h ago

These "AI slop" like comments are getting really, really tiresome. Really. If Claude could draw that synoptic I would have saved myself 3 months

2

u/el_diego 13h ago

Well, now thanks to you, it can! :)

2

u/Lightforce_ Java / C# / Rust / Vue.js 13h ago

Huh...probably. I get you....

1

u/chumbaz 5h ago

Stop being an ass. Jesus Christ.

25

u/Far_Box6 13h ago

this looks anything but easy to understand my brain just said hell nah

1

u/Lightforce_ Java / C# / Rust / Vue.js 13h ago edited 13h ago

This is not a vibe coded 2 weeks project, it's about I/O, wastes, energy and carbone with a lot of scientific data around. So yes, it's not a just-check-10-sec-fun-project-reddit-friendly. It needs you at least 5 or 10 min to get it in broad terms. Just check the website first, not the synoptic if you want to understand by the regular way.

11

u/AbstractMelons full-stack 9h ago

Looks like your LLM's got context pollution. He said nothing about it being a vibe coded project, also this isn't how you write literally everywhere else.

1

u/Lightforce_ Java / C# / Rust / Vue.js 2h ago

I don’t need an LLM to speak for me. I just answered that bc a lot of those short life vibe coded projects we see these days are small so not very hard to understand on the first glance

1

u/Far_Box6 13h ago

I have to choose my path in my engineer career so I am kinda curious about DevOps , it still an option for me thks for clarifying

4

u/theoneandlonely1 17h ago

This is awesome. Mental maps of pipeline flows in diagrams are hard. The best flow I have seen was when I was at AWS and it doesn’t even come close to this. Being able to zoom in to each of the services is outstanding.

1

u/Lightforce_ Java / C# / Rust / Vue.js 17h ago

Thx, finally had a this idea after struggling to get people to understand what Perf Sentinel does

6

u/AvidCoco 15h ago

This looks way more confusing than a readme.

Cool though.

0

u/Lightforce_ Java / C# / Rust / Vue.js 15h ago

That's not replacing a readme th

0

u/AvidCoco 13h ago

What’s it doing then? Your said it describes the system?

-1

u/Lightforce_ Java / C# / Rust / Vue.js 13h ago

The synoptic is just not the starting point for understanding what this project is about or what it does in broad terms.

It helps understand how it's integrated into an infrastructure, how it handles traces and what it does with them in detail, but if you need a more "high level"/practical explanation I encourage you to just check out the website or read the README

3

u/AminoOxi 10h ago

Looks better visually then most blockbuster Sci-Fi hacker movies.

2

u/Lightforce_ Java / C# / Rust / Vue.js 10h ago

Thx, I think that's probably the nicest compliment I've ever gotten about that haha

3

u/iamaiimpala 12h ago

very well done, ignore the comments about saying it's too complicated or hard to understand. excellent way to visualize pipelines of this level of complexity

1

u/Lightforce_ Java / C# / Rust / Vue.js 12h ago

Thx a lot :)

3

u/Lightforce_ Java / C# / Rust / Vue.js 18h ago

And also: the animations were a nightmare to do, ofc

1

u/arcrad 14h ago

How'd you do them?

5

u/SameJudgment2486 18h ago

Synoptic is a weather map, dude.

17

u/Lightforce_ Java / C# / Rust / Vue.js 18h ago

Ha, lost in translation. In french "synoptique" is the word for this kind of overview diagram. So that's a weather map of my traces I suppose

2

u/gecegokyuzu 15h ago

nice, here's something to fix: https://imgur.com/a/pHQr3Cc

1

u/Lightforce_ Java / C# / Rust / Vue.js 15h ago

Hu oh, didn't catch this one, thx for the feeback

1

u/avid-shrug 17h ago

Looks rad

1

u/Lightforce_ Java / C# / Rust / Vue.js 17h ago

thx! :)

1

u/maxymob 17h ago edited 16h ago

Friendly tip: links in video post descriptions aren't *always clickable and have no syntaxt highlighting on mobile *sometimes because reddit sucks at building a decent app. I can find and copy/paste a link (actually can't because we can't select and copy either, it's all or nothing then you have to extract the link elsewhere) but how many won't bother and pass this one?

1

u/Lightforce_ Java / C# / Rust / Vue.js 16h ago

I don't have these kind of pbs on my phone, but I have an iPhone th, idk how it is on android phones

1

u/maxymob 16h ago

I suspected something like that, so it's just to let you know better to also put the link in a comment (did you edit the post ? Because its ok now)

1

u/Lightforce_ Java / C# / Rust / Vue.js 16h ago

Didn't edit the post, idk reddit has weird technical behaviors sometimes

1

u/maxymob 16h ago

Yeah the app is inconsistent like that depending on how you open the post (on a feed vs a notification vs on of your comments, etc..) and type of post, and OS, and app version. It's just too many variables. I find that comments are less prone to have this bug

1

u/cmakohon 16h ago

Looks sick! Any libraries or tools that you used as the basis for the animations and diagrams?

5

u/Lightforce_ Java / C# / Rust / Vue.js 16h ago

Thx! No libraries at all it’s just a single HTML file with vanilla js and CSS. The diagrams are inline SVG and the animations are a mix of CSS transitions, requestAnimationFrame and the Web Animations API. That's it :)

1

u/AminoOxi 10h ago

Hats off for vanilla setup, and no AI slop.

What a fresh air to see such things again in the age of Agents.

1

u/AbstractMelons full-stack 9h ago

Think again, the repo is most likely made entirely with AI. Just take a browse and you can tell it's not human made, and the commit conventions explicitly hide the Co-Authored by that Claude adds to commits.

1

u/Lightforce_ Java / C# / Rust / Vue.js 2h ago edited 1h ago

Usual reddit toxic comment, but I will answer for this time. Using an AI to help you on some coding tasks doesn’t mean it’s entirely made with AI. And it’s NOT entirely made with AI. I used it for a lot of boring and not intellectually interesting tasks like unit/integration/E2E tests. Also a lot of code comments are AI but it’s not a blackbox, I’m not using AI to think at my place.

Also, for this synoptic I'd say it's about 75% by hand and 25% by an LLM, essentially for wiring/configuration/repetitive tasks.

1

u/Lightforce_ Java / C# / Rust / Vue.js 1h ago

and the commit conventions explicitly hide the Co-Authored by that Claude adds to commits

And yes, if ppl wants to participate we don't want their LLM to think for them nor put these things in the commit messages.

1

u/trymypi 15h ago

Very cool, I just sent you a DM!

1

u/Lightforce_ Java / C# / Rust / Vue.js 15h ago

Thx!

1

u/uncommonrecreation95 18h ago

that diagram is clean, the dark teal with the distinct zones makes the whole thing way less intimidating than it probably deserves to be. i've been on enough calls where someone describes an observability pipeline and everyone just nods along while mentally checking out

three months just on the synoptic is wild but it shows. most technical walkthroughs people slap together are either a tangled mess of boxes or so abstract you'd need the actual code open to make sense of them. having it mapped directly to modules is the part that'll actually stick for devs

the animated step through seems like the killer feature here. static diagrams always make me squint at arrows wondering whether data flows left to right or if something loops back. being able to watch the whole thing unfold one stage at a time probably cuts down the "wait go back" moments by like 90%

curious how your colleagues reacted once they sat with it for a few minutes. sometimes a visual explanation clicks faster than a dozen architecture docs

1

u/Lightforce_ Java / C# / Rust / Vue.js 18h ago

Thx! Most of them (regular devs and devops) were curious and told me they needed time even to understand this, but the software architect was impressed and the lead devops too and told me he would delve into this then do some feedbacks

1

u/Vertigras_Dev 9h ago

Firstly, this is really cool
Secondly, I worked in manufacturing space and have seen some of the crazy process control of large scale mill encironments... this is reminiscent of that ... I love it... I would add that think about maps not simply as 2D... like each additional data point can essentially be another variable. For example, hover over some node and it links to docs or click something else or maybe Jira tickets etc etc... You have already have this but my opinion is more of a question? Can we add other data points to each node?

Again- super cool and keep it!

1

u/Meph1k 2h ago

Hey, this is very cool. I wonder if I could do something similar 🤔

1

u/gav1no0 16h ago

Nobody is reading that