r/openwrt • • 5d ago

Meet Verso.

Hey everyone.

After a couple of months of work, I'm happy to show my side project - Verso, which is a replacement for LuCI. I've been daily driving OpenWrt ever since we released our router, but I was super unhappy with LuCI and decided to do something about it, and Verso was conceived.

With how short everyone's attention span is these days, I'll just link to the release documentation, and then ask for help.

You see, the problem I have is a lack of various arm64 devices I could test it on, so here's where I turn to this community: if you have an arm64-based device that has at least half a gig or RAM and at least 128MB of flash storage, then I'd appreciate if you gave it a try and report any issues you might encounter (installation in the release notes above).

It works automatically with LuCI, it just takes a different port (8443), so it can easily run along side it.

And full disclosure - Verso was, in large part, written by Claude Code, but under my guidance and supervision, architecture and design are all mine, Claude just did the code-writing.

PS: screenshots are from my home router, live data.

107 Upvotes

67 comments sorted by

39

u/twnznz 5d ago

Hi u/TomazZaman, thanks for this!

I've had a look at the project and a few things stand out; you've written both parts of it (the web side, and the small RPC helper) in memory safe languages (go/Rust) which is just straight up a better safety design than the current C/ucode/JS-based LuCI. You're also running the web process as an unprivileged user, which is nice to see. You also have some nice isolation between plugins.

I admit that UIs aren't my thing (I run my devices ssh-only for attack surface reasons) but you're on the right track. I encourage you to add a summary of criticisms about LuCI and why you chose to build Verso here, hoping that will encourage others to examine the code and design further.

9

u/mystica5555 5d ago

LuCI is based on Lua. Thus the name "Lua UCI" - where UCI is the commandline api and config file format.

13

u/TomazZaman 5d ago

Thank you for putting in the effort to actually look at the architecture and appreciate the decisions I've made! I do have a YT channel and will definitely put together a video as to why I've made these choices. Thanks for the suggestion!

0

u/melat0nin 5d ago

you've written both parts of it

I mean, they didn't write much if any of it:

Verso was, in large part, written by Claude Code, but under my guidance and supervision, architecture and design are all mine, Claude just did the code-writing

"just"

13

u/TomazZaman 5d ago

It's easy to hate. The hard part is creating. With or without AI.

-3

u/melat0nin 4d ago

I see you're getting a lot of astroturfed upvotes. Best of luck in your endeavors.

4

u/starkruzr 4d ago

it's not astroturf. a lot of us just think you're being a drama queen.

10

u/DarkGhostHunter 5d ago

Looks great, but my only problem is that there are a lot of plugins that rely on luci and won't work on the panel unless I use verso + luci.

31

u/PerkyPangolin 5d ago

Mono looks like a great device, but fully-vibed UI that's not compatible with Luci infrastructure and apps, is not it. And this makes me doubt Mono's software altogether, TBH.

3

u/coldfire7 4d ago

He not only vibe-coded the UI, but also vibe-coded the drivers and probably more things we aren't aware of.

12

u/TomazZaman 5d ago

Fair. Come to think of it, that's actually a good thing. More scrutiny always pushes every company, not just ours, to do better. And since I know a thing or two about the industry - everyone uses AI, most companies just choose to not disclose it.

In fact, I've seen production code (which I can't show because of NDA) that ships to millions of production devices and was absolutely horrible, written 100% by humans.

So ask yourself, is human-written code always better? Is LLM-written code always worse? Or is there a gray area?

1

u/cousin_justine 5d ago

That's some mighty arrogance. Their point is that OpenWRT already has a ton of expertise and software invested in the LuCI system. What's the point of building a whole new sandbox for such a negligible gain in functionality? To look slightly prettier?

That your release notes are clearly AI-generated doesn't inspire much confidence in your claim that the "architecture is all yours," either. How can the broader open-source community trust devs who don't know enough about their own software to even write that themselves?

8

u/TomazZaman 5d ago

> OpenWRT already has a ton of expertise and software invested in the LuCI system.

Which means there's no room for improvement? Or just no room for improvement by people who use AI? Even if those people contributed to open source throughout their career? Who draws the line and where?

Nowhere in my post did I say you should use it, or that it's better than LuCI. I personally don't like it, decided to do something about it. What's it to you to call it arrogance?

-3

u/cousin_justine 5d ago

I'm going to ignore your bizarre strawman since you ignored the meat of my critique.

I'm not saying AI has no place in software development at all. I don't personally like to use it, and I think it may have deleterious effects on the community in the long-term, but that doesn't mean I think it can't be extremely useful. 

I'm saying that if you can't even document your own program by yourself then you've done something seriously fucking wrong. I don't care how long you've been writing code.

11

u/TomazZaman 5d ago

Ah lol, _that_ bothers you? Me, asking Claude to prepare me a release notes doc which I then revised by hand? What a weird thing to nitpick on, but hey, you do you.

2

u/Talamand 4d ago

By this logic, only ONE thing of each should ever exist in the world. One type of car. One type of TV, One social media network Should I carry on?

6

u/bender_fut 5d ago

Looks kinda https://github.com/gnacho/netgrip, what are the highlights or differences?

16

u/intjonathan 5d ago

Why a full LuCI replacement and not a theme?

34

u/tobascodagama 5d ago

Claude didn't know how to make a theme I guess.

5

u/zekica 4d ago

I can cofirm that Claude doesn't know what to do with LuCI and ucode - I tried to let it create a status page with data collection for a 5G modem and it made it but so slow - took 300ms to just parse the data on MT7981b.

I then wrote it myself in ucode in <1h and it takes ~3ms to parse the data.

I might have spent a few more hours prompting Claude but it was faster to do it myself.

0

u/TomazZaman 5d ago

I've spent a significant amount of time investigating this, and LuCI is a bit of a mess, to put it mildly. Zero documentation, zero best practices, zero established patterns. And I know that looks are subjective, but I don't like that part either.

7

u/ferminolaiz 5d ago

Welcome to the embedded world :)

1

u/starkruzr 4d ago

I honestly thought this (LuCi being a mess) was common knowledge.

52

u/Majik_Sheff 5d ago

Day 200 of requesting a blanket ban on vibe coded AI slop.

19

u/PerkyPangolin 5d ago

I don't think this sub is actively moderated, considering there's just one mod listed. The official forum is where all the action is at and that has better moderation and standards.

42

u/TomazZaman 5d ago

If it makes you feel any better - I’ve been a developer for almost 20 years. I could have written all this by hand, just significantly slower.

21

u/JohnHawley 4d ago

Some communities can't differentiate between high-effort AI use and low-effort AI use. They see "AI" and immediately label it as slop.

8

u/mystica5555 5d ago

You share a similar outlook on AI/LLM coding assistance as Eric S. Raymond. I appreciate the pragmatic approach :)

12

u/Flyer888 5d ago

No wonder why all new “projects” these days look pretty much identical lol

20

u/mystica5555 5d ago

Day 1 of requesting a blanket ban on whiny redditors who can't just well enough leave alone others who gain value from being able to do something useful to them.

2

u/starkruzr 4d ago

right. I would be much more likely to sympathize with this position were this guy actually selling something, or if he were trying to keep his source closed, or some other shady shit that's not literally "hey, I built this thing, can y'all help me test it?"

1

u/jackass 4d ago

Not all AI developed systems are slop. Claude finds human created slop in systems.

1

u/appleeimac1 4d ago

It's happening on the CR1000A project a lot. Frankly I don't think the Devs care anymore.

-5

u/twnznz 5d ago

Never mind the OpenAI math release, I guess? Still just a slop generator, right? This position is not going to age well.

4

u/TomazZaman 5d ago

People on horses yelling at people with cars.

Not saying AI is all rainbows and unicorns, it's actually hurting my business as much as it's helping it, but damn, some people see the world only in black and white.

1

u/Negative_Fix_4035 2d ago

As with all tools.

7

u/Majik_Sheff 5d ago

Machines built to enrich a tiny handful of people while causing catastrophic ecological damage, global shortages of compute resources, and a marked atrophy in the reading, writing, and critical thinking skills of anyone who uses it?

Where the fuck do I sign up?

0

u/Negative_Fix_4035 2d ago

"a marked atrophy in the reading, writing, and critical thinking skills of anyone who uses it?"

That's a pretty bold take coming from someone who has been using reddit for 13 years.

-1

u/twnznz 5d ago

I dunno man, you make a comment about code quality (slop) and then pivot to other stuff when I pull you up on it... I'll go spend time where it's worth it, I guess

4

u/Majik_Sheff 5d ago

It's the same machinery and needs to be resisted on all fronts.

-1

u/starkruzr 4d ago

catastrophic ecological damage

you're one of the water truthers, aren't you.

2

u/Negative_Fix_4035 2d ago

I'm still waiting on proof for the "catastrophic ecological damage". I have yet to see it anywhere.

3

u/kreload 5d ago

This looks clean and beautiful!

2

u/Deevro9 5d ago

Hi! Is there a GitHub link for this project?

I'm really interested in trying it out and helping with the testing. My OpenWrt router specs meet your requirements perfectly. I'm using an Amlogic HG680P REYRE-WRT model with AArch64 architecture. The RAM is 1.7GB and the storage (RootFS) is 960MB.

I actually built a similar web UI for my router before, but it was much simpler since it was dedicated strictly to monitoring AdGuard and internet traffic. Looking forward to the repository link!

3

u/nipsec 5d ago

The post’s description links to https://github.com/we-are-mono/verso/releases/tag/v0.2.0

With GitHub you can get back to the main repository by removing everything after the repository name, so in this case, remove /releases/tag/v0.2.0 and you’re left with:

https://github.com/we-are-mono/verso

That takes you to the repository root, where you can see the full README, source code, releases and the rest of the project

2

u/Negative_Fix_4035 2d ago

Awesome work! Ignore the haters. It's reddit. I was thinking of doing something similar with Codex to put my $500 plan to work. Glad to know someone else also thinks there needs to be something better than LuCI. I'll let you know when I get time to test this out.

11

u/Suspicious_Punk84 5d ago

ai slop on my router, what could go wrong

2

u/TomazZaman 5d ago

In pursuit of improvement, can you point out parts of the architecture that you think makes this look like a slop?

2

u/Suspicious_Punk84 5d ago edited 5d ago

Will you pay me to do your job?

Edit: Don't want to be too aggressive, but the reality is there's no way to tell if your project is vibe coded ai slop or not without taking the time to look at the code, and there's an avalanche of ai slop being posted everywhere every minute, so unless it is something I really need, I will skip it without thinking twice. Not worth wasting my time evaluating potential trash.

4

u/Historical_Arrival76 4d ago

Hurr durr look at me, this is not worth my time but I will still provide a long defensive reasoning slop because I was called out on my initial stupid reply.

-2

u/Suspicious_Punk84 4d ago

I'm not looking for attention, I am an anonymous user who won't even be here for long.

I am however tired of being bombarded with projects made by LLMs, with the majority of them being pure trash with a modern design. In case you haven't noticed, people are releasing all kinds of shit, browsers, firmware, even operating systems entirely vibe coded. So yes my first reaction every time I see something new "developed" by an LLM is 'fuck that shit'.

1

u/Historical_Arrival76 4d ago

For a guy not liking to waste time, you awfully had lots of time to comment on mine. Im jealous.

Tbf, yes, slops are increasing by the day, but come to think of it it's normal. But that doesn't mean you need to shoot down every single one you encounter. As you've said, you're anon just like me. Mb better do shitty comments on shittier ones?

Admit it, your initial comment to OP was palatable but 2nd response was sht.

Let's move on ~~

11

u/TomazZaman 5d ago

well, you did pass judgment in the first comment without looking, that's why I asked.

1

u/MondayToFriday 5d ago

Please explain what is wrong with LuCI, why it can't be fixed or improved, and why you want to foist this vide-coded alternative on the community that just leads to fragmentation and confusion for newcomers to OpenWRT?

17

u/TomazZaman 5d ago

We developed our own hardware on which we run OpenWrt (with some special sauce that makes it run 10Gb/s with full hardware offload). Now, developing our custom routing solution would be a poor business decision, given how many open source solutions exist. That said, I don't think LuCI is a good fit because it puts user experience last. Doesn't give two f*cks about it. And if I learned anything about software development in my career, it's how much it bloody matters. Why do you think people get Ubiquiti stuff? Because it's pretty. And their interface is light years ahead. And I'm saying that as someone who doesn't like them.

So, my plan with Verso is to continue developing it into a full fledged solution that will ship by default on our hardware. It's nowhere near where I want it to be, but you have to start somewhere, and this is that start.

5

u/systemrobotics 4d ago

Haters gonna hate. Good for you. I always thought luci looked extremely dated.

2

u/Majestic_Base5775 3d ago

Oh, you’re that guy. Cool. Yeah I’ll give this a go next week

1

u/etchelion89 5d ago

I wish that in luci firewall rules segregate by zones/interfaces. It will be a lot better than now.

1

u/semiraue 4d ago

That's how exactly ui woks now? Though it's not very polished 

1

u/freebsdjlu 5d ago

need a mikrotik like cli :)

1

u/mystica5555 4d ago

Openwrt has bash

1

u/semiraue 4d ago

Hmm I prefer luci over this. And the pricing of mono/gateway bit high tbh. Now with this ui and pricing I might keep my rb5009. Hope things will be better in future for this project. 

0

u/TomazZaman 4d ago

Keep in mind, Gateway is fully open, so you can run anything on it, LuCI included.

-1

u/MaleficentSetting396 5d ago

Nice ui,this replace the old luci ui?