Wendy Cheang Piano Studio

I am a pianist and private teacher based in San Mateo, Northern California. Through this platform, I hope my students could enjoy sharing their music regularly to a wider audience.

Please reach me at wcheang.studio@gmail.com for information.

Biography:
Raised in Canada, Wendy Cheang has been an experienced performer since a very young age. Her musical appearances have taken place in many parts of the world.

She holds an ARCT Perfomer's Diploma from the Royal Conservatory of Music in Toronto, a Bachelor of Music from the University of British Columbia, and a Master of Music in Advanced Performance from the Royal College of Music in London.

Prior to her relocation to California in 2018, Ms Cheang taught extensively in London, Macau, and Hong Kong. She was invited to perform at major venues and was in-demand as a jury for competitions such as The Hong Kong Students Open Competition and The Macau-Asia Piano Competition.






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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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-06-22T16:49:17Z`
Route: `/channel/UClmS_RWxUXlAOdehrw4eKJA`
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:29:22 in 'get_60_videos:continuation:sort_by'
  from src/invidious/routes/channels.cr:56:36 in 'videos'
  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>