HackerTrans
TopNewTrendsCommentsPastAskShowJobs

realrocker

no profile record

Submissions

Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js

livefir.fly.dev
127 points·by realrocker·3 yıl önce·43 comments

comments

realrocker
·8 gün önce·discuss
I am using claude cli/tmux on a hetzner box and connecting to it via claude remote control. I have connected the box and my phone over telnet which allows me to view any UI work. Sometimes I do have to switch to my laptop for UI desktop layouts.

One gap which I kept running into on both mobile and desktop was refining the initial plan and then later refining the generated artifacts which involved lots of imprecise copy-paste. To scratch my own itch I built a review tool to improve the velocity of planning and refining generated artifacts. It has become my daily driver: https://github.com/livetemplate/prereview
realrocker
·2 ay önce·discuss
exactly. LLM code output is so high that it has become unreasonable to review the code in terminal or ide
realrocker
·2 ay önce·discuss
Yeah the project is right out of the oven so will add some usage gifs shortly to the repo. Meanwhile here are some screenshots on imgur: https://imgur.com/a/zxZo651
realrocker
·2 ay önce·discuss
:) We are all converging on the same problems and tooling to fix them.

Built this in the last couple days to review changes done by claude on a hetzner box(over tailscale on my phone) and leave comments before pushing to remote : https://github.com/livetemplate/prereview.

Runs everywhere and can has a claude skill: /prereview which starts a new instance for the current changes. Has a “Hand-off” button to signal claude to process the comments.

UI is responsive. I use it on my iphone with claude mobile app + /remote-control to leave comments before pushing.Still requires polish but core features work.
realrocker
·2 ay önce·discuss
that’s exactly the core value proposition of the tool I have been working on : https://github.com/livetemplate/tinkerdown
realrocker
·2 ay önce·discuss
I am working on https://github.com/livetemplate/tinkerdown to leverage the the two effective outputs of LLMs : html and markdown . Still WIP
realrocker
·3 ay önce·discuss
Recently started using: https://github.com/babonet/Markco (cant find the similar extension i used previously since it got uninstalled). I add inline comments in the markdown and I have a skill which uses the comments to update the plans and remove resolve comments.
realrocker
·3 ay önce·discuss
Good ideas. I am working on something similar but with a tiered complexity to fallback to html for complex use cases : https://github.com/livetemplate/tinkerdown, https://github.com/livetemplate/tinkerdown/blob/main/docs/gu...
realrocker
·3 ay önce·discuss
excellent work. I have been using a vscode extension for this for an year.
realrocker
·4 ay önce·discuss
No that makes sense. Waiting for feedback might lead to churn. Pretty cool idea.
realrocker
·4 ay önce·discuss
That is super cool. Sorry to be nitpicky but would really like to know your mental model: I didn’t understand from the blog why user waiting for a functional UI is a problem ? isn’t the partial streamed UI non-functional ?

I can see the value in early user verification and maybe interrupting the LLM to not proceed on an invalid path but I guess this is customer facing so not as valuable.

"In interactive assistants, that latency makes or breaks the experience." Why ? Because user might just jump off ?

(edited)
realrocker
·4 ay önce·discuss
The streamed execution idea is novel to me. Not sure what’s it significance ?

I have been working on something with a similar goal:

https://github.com/livetemplate/tinkerdown
realrocker
·3 yıl önce·discuss
The first step counter button is supposed to reload the page. The second step buttons update the page w/o reload
realrocker
·3 yıl önce·discuss
Hey. I have checked out pushup before. Its great. I guess I am taking a niche approach which not many would find useful. To clarify: What is adding more complexity? alpinejs ?
realrocker
·3 yıl önce·discuss
Its locking and the state is shared. Didn’t expect a lot of interest for this or I would have built a better demo :)

htmx is great!
realrocker
·3 yıl önce·discuss
The (claimed) value proposition is leveraging block/template to decompose the html page and bind its computation to browser events over a pubsub channel. Its a toolkit and not a framework so one can still use their favourite framework. The Go library isn’t doing anything earth shattering but re-implementing the aforesaid design would still need to be done in any framework.
realrocker
·3 yıl önce·discuss
The state is shared between users for the demo. Its possible to separate state in the library per user but I haven't enabled it.
realrocker
·3 yıl önce·discuss
Yeah I was afraid of that. Websockets are costly. Thankfully the approach doesn't completely depend on websockets so I have disabled it for now on the site.
realrocker
·3 yıl önce·discuss
It is intended as a longer-term project originating from the previous experiment: https://github.com/adnaan/gomodest. You are right, a better selection criteria for the target audience should be enlisted. I have been working on this for a while so I just got greedy for some early feedback.
realrocker
·3 yıl önce·discuss
This example has most of the scenarios you have called out: https://github.com/livefir/fir/tree/main/examples/fira. Fir aims to limit itself to rendering templates on the server and making it available for all subscribers as a browser CustomEvent which is consumed by alpine.js for more complex interactivity. The expectation is the that the developer handles it via either alpine.js plugins or standard JS code.

[edit] This is still a work-in-progress so I will certainly add better guides and documentation moving forward. Although its good to get feedback that this approach might be interesting for at least some people.