Si Kelly
si-kelly.bsky.social
Si Kelly
@si-kelly.bsky.social
Senior front end dev working in healthcare
I get that a lot of people are in denial about the appetite of the wider public for AI
November 17, 2025 at 6:58 PM
aly do you give any credence to the idea that some of us are ahead of the curve, used to be AI evangelists but have now been disillusioned by hitting the limits and witnessing the drawbacks, and maybe this will happen more widely?
November 17, 2025 at 6:58 PM
At the end of the day any complexity must be modelled, putting it into a reactive template doesn't change that.
November 13, 2025 at 11:37 AM
I am a fan of manual DOM updates in a single update function for each component. It's fast and you can still write in semi-declarative way eg:
update(){
this.statuslabel.textContent=this.status.label;
this.statuslabel.classList.toggle('is-active', this.activeStatuses.includes(this.status));
//.…
}
November 13, 2025 at 11:37 AM
- users can choose the best public WiFi
- less frustrating when using fragile wifi eg on a train
- spreads load as users abandon overused WiFi endpoints
November 5, 2025 at 10:04 AM
I hope they appreciate it!!
November 5, 2025 at 9:39 AM
Animated gif 👍🏻

...just kidding - sorta!
November 5, 2025 at 9:27 AM
Yep custom elements can replace CSS classes as style primitives rather than having to use WCs
November 4, 2025 at 11:33 AM
What I think you are going for is (3), but somehow seamlessly rendered on the server. The sunny uplands you are dreaming of always seem to be just out of reach!
November 4, 2025 at 7:42 AM
3. Use them as the main primitive for an entirely client-rendered UI without the need for a build step. You might use a component library or build your own maybe using Lit. JavaScript has to be enabled but you don't have to always use templates or the shadow DOM.
November 4, 2025 at 7:42 AM
2. Use them for drop-in UI components in an otherwise static web page. Like a zoomable chart, map or other interactive element. This might be a 3rd party component. Once again JavaScript is nicely contained.
November 4, 2025 at 7:42 AM
1. You render HTML on the server, using any existing templating tech - let's say php, why not? You wrap parts of your SSR'd markup with custom tags to add interactivity on the client. It keeps JS neatly contained, and enables progressive enhancement. Eg to turn a long form into a multi-step wizard.
November 4, 2025 at 7:42 AM
I don't actually disagree with anything in your post but I have been using web components for a little while now and the way I see it is there are three ways to use them where you don't end up fighting them:
November 4, 2025 at 7:42 AM
Also she has a very dry sense of humour which is kind of an antidote to the rest of YouTube
November 2, 2025 at 1:02 AM
She is incredibly and inexplicably engaging. I watched a 3h50m video about Star Trek from her. I think that's the most attention I've ever paid to anything
November 2, 2025 at 12:54 AM
That is not the beauty
November 1, 2025 at 11:52 PM
What Reform are insinuating is that there is some kind of powerful woke minority which is against white people and trying to push them out of being represented. It's a clever message and we should not underestimate the power it has over people. By name-calling we play into their hands.
November 1, 2025 at 10:33 AM
Hey that's unfair, no-one can use JavaScript safely!
October 27, 2025 at 2:25 PM
I've used Lit and it is a beautiful thing! Lit basically super-powers web components, I think that's why I included it as an example. Who would say no to a super-power? But I can't shed this feeling that we could be in a place where we don't need another layer on top of the browser to create app UIs
October 22, 2025 at 4:33 AM
True, I think more should be made of that. I am worried that 3rd party Web comp libs and design systems (and WC Frameworks like Lit) will be the next jQuery/react/npm maintenance headache in a few years
October 21, 2025 at 4:00 PM
Like it would be better to wrap dynamic parts of a form in specific custom WC. Eg <myapp-form-address> implements any logic inside, showing/hiding child elements, postcode-lookup/select-all-checkbox-options type scenarios.
October 21, 2025 at 3:26 PM
Instead of relying on libraries of 3rd party components, shouldn't we be encouraging directly making use of Web Component API for progressive enhancement?
October 21, 2025 at 3:26 PM
I do like this because of the fact it takes an expression as a parameter, worries me that eventually you'll end up writing an expression interpreter to handle brackets, && etc.
October 21, 2025 at 3:26 PM
It's something I'm always banging on about
I would build my own. I also feel like if a component is generic enough and common enough to justify being in every shared component lib, it should really be built into the browser. Sortable/filterable table, search/suggest combobox, basic graph types, even.
October 21, 2025 at 6:44 AM