I wrote a mithril emoji picker when I did work on your status extension. Let me share what I remember:
Please pick your source for emoji data carefully, I found that a lot of the packages out there have errors in them. Either they are incomplete, have duplicates or for example they don't handle emoji modifiers well.
Also, if you want to include some type of string input filter, I used this technique as I found it to be very performant and easy to implement with mithril like so
m('style',
{ 'type': 'text/css', },
[ '.ClarkWinkelmannEmojiDropdownMenu li:not([class*="' + this.query() + '"]) { display: none; }' ]
)
Looking forward to watching the video, I might even join the stream live