Danny Engelman 🌷🏍️🛥️
engelman.nl
Danny Engelman 🌷🏍️🛥️
@engelman.nl
I do modern Web Component Development with technologies supported by **all** WHATWG partners (Apple, Google, Microsoft & Mozilla)

👨🏻‍💻TRS-80 Scriptkiddie '79+
🎓 Computer Science '87 - '92
❤️ Online since 1990 yes! 1990 I started with Email and Gopher
Pinned
LOL

"decode this cypher word, each letter on a chessboard"

GPT5 said: CHECKMATE (WTF 9 letters)
GPT5.1 said PAWNSTAR (great answer, but wrong)
GPT5.2 said: CONFUSED (also a great answer)

Will GPT666 get it right?
Some people still don't get shadowDOM.

The main reason shadowDOM exists is on the other side of the boundary!!

For many moons now all complex tags like
December 24, 2025 at 10:02 AM
For the woke people who think every gender, race and mental state has a right to live;
but state Web Components shadomDOM should die

shadow-style.github.io

#webcomponents
December 23, 2025 at 12:29 PM
One 3 line AI prompt created:

shadow-style.github.io

too lazy to enter a second prompt, I was only exploring content for my Web Component course
December 21, 2025 at 11:51 AM
LOL

"decode this cypher word, each letter on a chessboard"

GPT5 said: CHECKMATE (WTF 9 letters)
GPT5.1 said PAWNSTAR (great answer, but wrong)
GPT5.2 said: CONFUSED (also a great answer)

Will GPT666 get it right?
December 20, 2025 at 8:04 AM
You got $16M funding....

... but your site is just a static page
December 12, 2025 at 10:07 AM
No, it did not "self-destruct", it removed the button in lightDOM with:

button.remove()

"self-destruct" is: this.remove()

I rewrote it, to prevent those FOUCs, for my own use:

gist.github.com/adactio/a445...
Web Install HTML web component
Web Install HTML web component. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
December 12, 2025 at 9:49 AM
shadowDOM is older than React

But us mortal Web Component developers couldn't use it till years later

𝙨𝙞𝙣𝙘𝙚 𝙬𝙝𝙚𝙣 𝙙𝙤𝙚𝙨 𝙪𝙨𝙚𝙧-𝙖𝙜𝙚𝙣𝙩 𝙨𝙝𝙖𝙙𝙤𝙬𝙍𝙤𝙤𝙩 𝙚𝙭𝙞𝙨𝙩 𝙞𝙣 𝙩𝙝𝙚 𝙗𝙧𝙤𝙬𝙨𝙚𝙧𝙨?

#webcomponents
October 8, 2025 at 8:20 AM
september 25th 2025, a young man's superintelligent AI system tells him that he must go on a date or face certain suicide from loneliness.

It's a tall order for a guy who hasn't left his apartment in 42 days and is more than happy to stay at home with technology.

www.youtube.com/watch?v=NZ8G...
Sci-Fi Short Film “A Date in 2025" | DUST
YouTube video by DUST
www.youtube.com
September 25, 2025 at 8:54 AM
What word is spelled?

ChatGPT thought for 7 minutes and 17 seconds, and said:

𝙋𝘼𝙒𝙉𝙎𝙏𝘼𝙍

Wrong word, because AI is great at logic, but can't think...

What word do you see?
September 19, 2025 at 10:53 AM
Dear AI,

You were trained on blog-posts that do not show the chaining of super in:

super().attachShadow({mode:"open"})

That does not make your statement below right.

super() DOES return the this scope
September 15, 2025 at 8:35 AM
AI is trainend on "old" code

It has no clue what can be done in modern browsers

dashed-html.github.io
September 3, 2025 at 3:12 PM
... I would pay big bucks for an AI system that removes all
"You Know" remarks those Muricans make.

That would slash an hour long video in half.
August 18, 2025 at 2:39 PM
August 16, 2025 at 2:42 PM
My StackOverflow challenge entry, built with Chessboard Web Components

stackoverflow-challenges.github.io/cipher/index...

Became the simplest LLM quality tester

GPT5:
August 10, 2025 at 9:10 AM
Am I wrong?

I think we all have been using Custom Elements not to its full extend

You can use Custom Elements/Web Components?
(which extend from HTMLElement)

*Without* using any JavaScript!

Am I wrong?

dev.to/dannyengelma...
Not a DIV inside/in sight/site
<tag-name></tag-name> ANY tagname with a dash is a valid...
dev.to
August 6, 2025 at 9:03 AM
Are you defining your UI Web Components *before* DOM is parsed?

Or are you fighting FOUCs because you defined your UI Web Components (too) late *after* DOM was parsed
(using defer, import module or readystate/DOMContentLoaded)
August 5, 2025 at 11:39 AM
What color is the Web Component background?

⏹️ Error, super() must come first in the constructor

⏹️ Red, ::part styles parts inside shadowDOM

⏹️ Not Red, ::part in the host container can style parts

⏹️ Not Green, the Web Component is 0 height

Multiple answers possible

jsfiddle.net/WebComponent...
August 4, 2025 at 8:47 AM
Had some fun turning a String into an SVG, creating an animated PacMan.

The <sprite-meister> Web Component reads a Template Literal String, processes variables AND functions (pulse, ease and rotate) then creats ONE SVG with 24 frames. All client-side.

jsfiddle.net/WebComponent...

PacMan code:
August 1, 2025 at 8:21 AM
𝘿𝙤𝙣'𝙩 𝙨𝙝𝙤𝙤𝙩 𝙮𝙤𝙪𝙧𝙨𝙚𝙡𝙛 𝙞𝙣 𝙩𝙝𝙚 𝙛𝙤𝙤𝙩 𝙖𝙣𝙙 𝙗𝙡𝙖𝙢𝙚 𝙩𝙝𝙚 𝙜𝙪𝙣!

OP: "𝘸𝘦𝘣 𝘤𝘰𝘮𝘱𝘰𝘯𝘦𝘯𝘵𝘴 𝘪𝘯𝘴𝘵𝘢𝘯𝘵𝘪𝘢𝘵𝘦 𝘪𝘯 𝘵𝘩𝘦 𝘰𝘳𝘥𝘦𝘳 𝘵𝘩𝘦𝘪𝘳 𝘥𝘦𝘧𝘪𝘯𝘦() 𝘮𝘦𝘵𝘩𝘰𝘥𝘴 𝘢𝘳𝘦 𝘤𝘢𝘭𝘭𝘦𝘥 𝘪𝘯 𝘑𝘢𝘷𝘢𝘚𝘤𝘳𝘪𝘱𝘵. 𝘛𝘩𝘦 𝘏𝘛𝘔𝘓 𝘰𝘳𝘥𝘦𝘳 𝘥𝘰𝘦𝘴𝘯’𝘵 𝘮𝘢𝘵𝘵𝘦𝘳"

NO!

WCs defined *BEFORE* DOM is parsed execute in DOM order
WCs defined *AFTER* DOM is parsed execute in define() order
July 31, 2025 at 8:30 AM
I love semantic HTML
July 31, 2025 at 7:29 AM
There are THREE types of "Custom Elements"

NOT using any Web Components core technology:
❌ Custom Elements API
❌ Templates
❌ shadowDOM

then creating a HTML tag,
by only typing <𝙩𝙖𝙜-𝙣𝙖𝙢𝙚>...

Have I then created a "Web Component" ⁉️

You tell me...

dev.to/dannyengelma...

#webcomponents
July 21, 2025 at 3:35 PM
Since its impossible to edit BlueSky posts,
and they are posts anyway,
I made my post a blogpost.

#webcomponents / Web Components

𝙉𝙤𝙩 𝙖 𝘿𝙄𝙑 𝙞𝙣𝙨𝙞𝙙𝙚/𝙞𝙣 𝙨𝙞𝙜𝙝𝙩/𝙨𝙞𝙩𝙚

dev.to/dannyengelma...
Not a DIV inside/in sight/site
&lt;tag-name&gt;&lt;/tag-name&gt; ANY tagname with a dash is a valid...
dev.to
July 18, 2025 at 9:07 AM
Still writing DIV-soup?

ANY tagname with a dash becomes a valid HTMLElement,
NOT HTMLUnknownElement as some gurus claim.

That means you can replace ALL DIVs with semantic HTML.
Absolutely NO JavaScript required, only HTML and CSS!

Should we call them "Web Components"? You tell me

#webcomponents
July 16, 2025 at 7:28 AM
In which Web Component can you disable shadowDOM
with 2 keystrokes?

#webcomponents
July 2, 2025 at 9:31 AM
𝙄𝙩𝙨 35+𝘾 / 95+𝙁 𝙝𝙚𝙧𝙚 𝙞𝙣 𝘼𝙢𝙨𝙩𝙚𝙧𝙙𝙖𝙢

𝙄 𝙖𝙢 𝙤𝙣𝙡𝙮 𝙪𝙨𝙞𝙣𝙜 𝙨𝙝𝙖𝙙𝙤𝙬𝘿𝙊𝙈 𝙩𝙤𝙙𝙖𝙮 😎
July 1, 2025 at 12:40 PM