I'm Thomas Weibenfalk. A developer from Sweden.

I share my knowledge of modern front end development in a (hopefully) down to earth and fun way!

I'll cover topics as React, Vanilla Javascript, Gatsby, CSS, HTML and occasional backend development. A lot of the focus is on ReactJS cause I love it! As I'm also a designer there might even be some UI/UX stuff from time to time.

This channel is for both beginner and experienced Front End developers who wants to learn more.

So ... if you want to learn the latest in Frontend this is the channel for you to subscribe to. ;)


Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-07-15T04:20:24Z`
Route: `/channel/UCnnnWy4UTYN258FfVGeXBbg/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-07-15T04:20:24Z`
Route: `/channel/UCnnnWy4UTYN258FfVGeXBbg/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>