TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim

Details

The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!

Recent Episodes

NOV 13, 2026
TS7 in the Playground, Parcel 3 Goes 100x Faster, and Excalibur Hits 1.0 | News | Ep 89
News for the week of November 2, 2026: the TypeScript Playground now runs the Go-based TS7 in your browser, Parcel 3 is a ground-up Rust rewrite that's up to 100x faster, and Excalibur hits 1.0 after thirteen years. From the community: TypeScript running inside its own type system, flawless Chrome tab capture, and what to do about too many TypeScripts. Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools. Homepage and Docs: https://excaliburjs.com Make Your First Game in 10 Minutes Join the Discord: https://discord.gg/9UemP985Uy Chapters (00:00) - Tooling: TypeScript Playground V2 Powered by WASM (03:00) - Tooling: Porffor passes 96% of test262 and has better Node compat (04:29) - Tooling: Node.js security updates for November 11 (05:18) - Tooling: Node.js 27 alpha notable changes in V8 (06:24) - Tooling: Rune is a terminal IDE that supports TypeScript 7 (08:11) - Tooling: Parcel V3 is a ground-up rewrite in Rust (10:45) - Tooling: Playwright test runner now supports Bun (12:21) - Frameworks: Excalibur reaches 1.0 milestone (18:07) - Web Platform: Cloudflare is enabling Temporal API in workers starting in December (19:16) - Web Platform: Safari 27.3 beta brings more modern web goodies (23:42) - Security: GitHub moving to block pull_request_target workflows in December (24:51) - Security: 9 tips to harden your GitHub actions against outside threats (31:54) - Library watch: Lume 4.0 is out, a static site generator (32:40) - Library watch: TanStack AI 1.0 is now stable (35:27) - Library watch: Kysely, a type-safe SQL builder (36:27) - Community: tstst, TypeScript in the TypeScript Type System (37:28) - Community: State of JavaScript 2026 survey is out! (38:00) - Community: I'm feeling lost with all the TypeScript options now (41:30) - Community: Tales from the Void, October 2026 recap (42:15) - Community: Daniel Roe makes vite-plugin-checker (43:44) - Community: Better Stack on the new tsrs TypeScript Rust port (44:17) - Community: Paul Irish's Chrome Capture takes flawless videos of your Chrome (46:03) - Bleet of the week (46:40) - Cool Link: .NET 11 and its new async runtime (50:36) - Cool video: I let AI refactor my codebase for 3 weeks, then I read the code (52:32) - Cool link: Not everything needs an LLM by PostHog engineering (54:35) - The Minnesota Long Goodbye News Tooling & RuntimesTypeScript: A new TypeScript Playground supporting the Go-based TS7 (via Rob Palmer) Porffor: Now passing ~96% of Test262, with decent Node compat (via Oliver Medhurst) Notable V8 changes from Node.js 26 to 27 (Alpha) Rune 1.3 is released – Kitty graphics and tier 1 TypeScript support Announcing Parcel 3 alpha Playwright v1.65.0 – Run tests with Bun FrameworksExcalibur v1.0.0 Released! Web PlatformCloudflare: Temporal will be enabled by default in Workers from December 1, 2026 (via Rob Palmer)Related: Temporal: The 9-Year Journey to Fix Time in JavaScript (Bloomberg) Related: Temporal: It's about time! (Jason Williams, State of the Browser) Safari: Safari 27.3 Beta ships Temporal, using, import defer, and more (via Rob Palmer) Security CornerSocket: GitHub to Block pull_request_target Workflows by Default Starting December 2 Socket: Hardening GitHub Actions Against Outside Threats Library Watch Lume 4: The future of Lume, the static site generator TanStack AI 1.0: Still Your AI, Still Your Way Joist 2.5: State Machines, PostgreJS, Read Locks, Metrics Kysely: Type-safe SQL query builder, in production at a lot of companies since 2021 From the Community zzj3720: TSTST, TypeScript compiling TypeScript inside its own type system (via Adam) Sacha Greif: The 2026 State of JavaScript survey is now open Reddit: Feeling lost with all the TypeScript options now. What are you actually using? VoidZero: Tales from the Void: October 2026 Recap Daniel Roe: vite-plugin-checker v1 is out Better Stack: TypeScript Got Ported To Rust... And It's 3x Faster Than Go Paul Irish: chrome-capture, flawless no-dropped-frames AV1 capture of a Chrome tab Bleet of the Week: Installing TypeScript security patches... Cool Links AI Engineer: I Let Agents Refactor My Codebase for 3 Weeks. Then I Read the Code. (Keiji Kanazawa, Microsoft) Microsoft Learn: What's new in .NET 11 runtime .NET Blog: Performance Improvements in .NET 11 (Stephen Toub) PostHog: Not everything needs an LLM (Jina Yoon) Music Seahorse Dreams by Kubbi (Spotify) ...
77 MIN
NOV 5, 2026
Nuxt DevTools V4, It's JS Engine Season, and TypeScript Still #1 on GitHub | News | Ep 88
News for the week of October 26, 2026: Nuxt DevTools V4 is bigger and badder than ever, it's JS engine season with Yavashark and Boomkat, and TypeScript stays #1 on GitHub as more than 40% of pull requests now start with an agent. From the community: a SOML parser in TS types, a TypeScript to SNES compiler, and how to access the runtime values for type unions. Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools. Homepage and Docs: https://excaliburjs.com Make Your First Game in 10 Minutes Join the Discord: https://discord.gg/9UemP985Uy Chapters (00:00) - Tooling: tttt and the rise of personal TypeScript compilers (03:43) - Tooling: Ende revisits Deno’s original runtime philosophy (06:57) - Tooling: Yavashark, an Embeddable JavaScript Engine Written in Rust (09:20) - Tooling: Boomkat, a ES2026 JavaScript in C3 (10:14) - Tooling: Next SWC major up to 3X faster native parsing, 10X faster parsing via JavaScript API (11:38) - Tooling: Node.js 27 Alpha has major V8 engine updates (13:54) - Tooling: Elide embeds a C compiler and linker (16:37) - Frameworks: Nuxt DevTools v4 is out (17:59) - Frameworks: TanStack DB 1.0 RC1 and test oracles (22:20) - Web Platform: Recap of GitHub Universe 2026 (27:10) - Web Platform: Sourcemap scopes arrive (28:57) - Web Platform: HTML-in-Canvas is here in Chrome 157 (31:22) - Web Platform: Firefox 159 and Safari 27.2 (32:49) - Security: Linux kernel TCP flaw allows remote code execution (34:29) - Security: Anthropic removes compromised Claude Code Cursor extension (36:29) - Security: knip is a Security Hardening Tool (37:21) - Library Watch: CDP-Kernel runs Node/Deno/Bun in Jupyter notebook (37:55) - Library Watch: svjeez lets you animate SVGs declaratively (39:46) - Library Watch: ohne.dev, a zero-dependency TypeScript web framework (41:11) - Library watch: Build shaders locally, OSS from shaders.com (41:31) - Library watch: Domicile brings web tech to Linux desktops (42:17) - Community: Boston TS meetup is back Nov 19 (42:44) - Community: Jamie Tanna explains how to get access to type unions at runtime (44:13) - Community: sindresorhus made a TypeScript-only SOML parser with zero runtime code (46:13) - Community: Compiling TypeScript into Super Nintendo games (48:08) - Community: Tom Schindl on null vs undefined (49:13) - Community: City builder game engine written in TS (49:54) - Community: Mike Haas makes Caladesi, a toy language in .NET that is basically TypeScript (52:05) - Community: Antony Jones built a logic gate simulator in TS (52:48) - Community: nyamauru on six different ways to write a User type (54:37) - Community: Armin's tip on Angular 22 @Service decorators (55:44) - Community: Lemmings-ts, OSS browser remake of the classic Lemmings game (56:50) - Bleet of the Week (57:55) - Cool Interview: Stephen Toub on porting a 400,000-line runtime from TypeScript to Rust (01:03:21) - Cool Essay: I am Dr. Jekyll and Mr. Hyde about AI (01:07:07) - The Minnesota Long Goodbye News Tooling & Runtimestttt: I finished the TypeScript type checker. it's fast – TS type checking in C (via Tess) Ende homepage is live Yavashark: I've Built A JS Engine Every Day For 950 Days Straight (via Rob Palmer) Boomkat: A tiny JS engine with ES2026 + native TS and JSX support (via Ricardo Tomasi) SWC Next: Inspired by the Yuku compiler architecture (via Rob Palmer) Node.js 27 Alpha Elide 1.6.2: Embedded C compiler and linker via LLVM FrameworksNuxt DevTools v4 TanStack DB 1.0 RC1: Going All In on Oracles Web PlatformGitHub Universe 2026: Evolving every layer of the stackPlus: Octoverse: Commits, pushes, reach new highs in 2026 as developers build with agents Plus: GitHub debuts Copilot Fusion, a new model selection & orchestration system that beats Claude Code for half the API cost ECMAScript: Simon Zünd ships the TG4 Stage 3 “Scopes” proposal for source maps in Chrome 158 (via Rob Palmer) HTML-in-Canvas in Chrome 157: Interactive DOM inside 2D, WebGL, and WebGPU Firefox 159.0, See All New Features, Updates and Fixes Safari 27.2 Release Notes Security CornerPSA: Linux Kernel TCP Flaw With 9.8 CVSS Score Affects Ubuntu, Red Hat and Other DistributionsRelated: Fixes available in -proposed pocket for CVE-2026-98432 (Ubuntu) Socket: Cursor Removes Malicious Claude Code 2.1.313 Extension From Its Marketplace PSA: knip.dev is a security hardening tool (via Philippe Serhal) Library Watch cdp-kernel: A Jupyter kernel for TypeScript and JavaScript, extracted from Deno's, that runs notebooks on Node, Deno, Bun, workerd and celld (via Thomas Lockney) svjeez: Write a scene in TypeScript and compile it to a self-contained animated SVG (via
84 MIN
OCT 29, 2026
Prettier in Bun, Deno's Spiritual Successor, and Extraction Models Are A Thing | News | Ep 87
News for the week of October 19, 2026: Bun 1.4.4 ships bun fmt (a Prettier port) and cuts Bun.SQL CPU time by 40%, Ende arrives as a spiritual successor to Deno, and Cloudflare drops a new kind of deterministic output model called Clairic. From the community: content mappers galore, Aspire as “strongly typed docker compose”, and TanStack Redact, a lighter drop-in replacement for React. Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools. Homepage and Docs: https://excaliburjs.com Make Your First Game in 10 Minutes Join the Discord: https://discord.gg/9UemP985Uy Chapters (00:00) - Tooling: Rolldown Adds Support for Multiple TypeScript Compilers (02:19) - Tooling: Ende, a Community-supported Fork of Deno (03:42) - Tooling: Bun 1.4.4 Featuring bun fmt, bun check, faster Bun.SQL (05:43) - Web Platform: Cloudflare Introduces Clairic, a New Extraction Model (11:10) - Web Platform: Firefox Wishes You Would Come Back (12:41) - Security: Brotli2Shell Vulnerability Affects .NET, Python, and Other Runtimes (14:13) - Security: There's a Third PHP2Shell Bug Without an Emergency Fix (15:16) - Security: Practice Apps to Test Your Leet Hacker Skillz (16:16) - Library Watch: TanStack Introduces Redact, a Lightweight Replacement for React (17:25) - Library Watch: ArkType's attest Now Supports TS 7.1 (18:32) - Library Watch: Forges.link for Abstracting Code Hosting Providers (20:17) - Library Watch: Tsonic Compiles TypeScript to .NET, Rust, and Mojo (21:51) - Library Watch: Reylo, Type Checking SQL (24:10) - Library Watch: Celesta, Code-first Video Creation (25:49) - Library Watch: Markasso.it, A Zero Latency Whiteboard Engine (26:44) - Library Watch: mini-van, a Minimalist Template Engine (27:49) - Community: Jovi de Croock Works on Updating gql.tada for TS 7 (30:31) - Community: John Reilly Working on ts-loader v10 for TS 7.1 (32:44) - Community: Aspire Has Changed, See What's New with Barret Blake (35:50) - Community: Matt Pocock on Why Courses Are Still Selling (42:26) - Community: Orta from Puzzmo Built a Custom SSR Framework (43:23) - Bleet of the Week (43:57) - Cool Product: Tailscale, Remote Networking Tunnels (46:54) - Cool Interview: Brian Kernighan, Creator of C Programming Language (47:50) - Cool Link: The Fun of Programming Doom in DNS (49:37) - The Minnesota Long Goodbye News ToolingRolldown: Pick your TypeScript compiler for .d.ts generation (via Kevin Deng) Get started with Ende Bun v1.4.4 Web PlatformCloudflare: Introducing Clairic, a new System One class of extraction models It’s time to come back to Firefox. The Internet you loved is still here. Security CornerBrotli2Shell: .NET October 2026 Out-of-Band Security Updates PHP: There's a third PHP2Shell bug, but it won't get an emergency fix juice-shop: Practice Web Application Security with OWASP (via OSRepos) Library Watch TanStack Redact: A drop-in replacement for React and React DOM that renders synchronously (no time slicing or async rendering) ArkType attest: now supports the TypeScript 7.1 beta Forges: One TypeScript client for issues, PRs, notifications, checks and webhooks across 12 forges (via Daniel Roe) Tsonic: Generate C#, Mojo, and Rust source from TypeScript Reylo: Import .sql files into TypeScript with full type inference and zero codegen, using TypeScript 7.1 content mappers (by Colin McDonnell) Celesta: Code-first videos with React and TypeScript (via natsuneko.cat) Markasso: Framework-agnostic whiteboard engine in vanilla TypeScript and Canvas 2D, with no dependencies (GitHub) Mini-Van: A minimalist template engine for DOM generation and manipulation, for both client-side and server-side rendering (SSR) From the Community Jovi De Croock: Tada after tsserver plugins John Reilly: TypeScript 7.1 and the ts-loader v10 beta Armen Vardanyan: Building an auditMap operator for RxJS from throttle and concatMap Barret Blake: Aspire 2026 Revisit, Episode 1 - Overview Matt Pocock: Courses are still very much alive, they've just changed Orta Therox: Built his own SSR framework for Puzzmo Bleet of the Week Cool Links Tailscale Brian Kernighan: Inside Bell Labs, The Best Programmer, Why C Won The Register: No shame in the Domain Name game: DNS is doomed, literally (Corey Quinn) Stratechery: The End of the Internet Music Seahorse Dreams by Kubbi (Spotify)
67 MIN
OCT 22, 2026
TypeScript 7.1 Beta, eMudhra CA Compromise & PHP2Shell, and Cloudflare's tsrs Rust Port | News | Ep 86
News for the week of October 12, 2026: the internet is on fire with major security issues from a compromised CA to critical PHP vulnerabilities and remote code execution in Node.js! But at least TypeScript 7.1 beta is out, along with tsrs, a Rust port from oxc team. From the community: a game to help you create a mental model of memory mapping, which new image format is best for the web, and an interview with Daniel Rosenwasser on what comes after TS 7. Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools. Homepage and Docs: https://excaliburjs.com Make Your First Game in 10 Minutes Join the Discord: https://discord.gg/9UemP985Uy Chapters (00:00) - Security: eMudhra CA Compromise Allows TLS Impersonation (04:10) - Security: Node.js High CVE for Remote Code Execution (05:53) - Security: PHP2Shell, Critical PHP Vulnerability (07:45) - Security: Socket for Origin Version Control Released (08:51) - Security: What Just Happened? (11:37) - Tooling: TypeScript 7.1 Beta (19:22) - Tooling: tsrs, Cloudflare's Port of TypeScript 7 to Rust (23:28) - Tooling: tsc-ts, Porting TypeScript to TypeScript (with a C Runtime) (24:20) - Tooling: tsc-dotnet, Experimental TypeScript Port to C# (26:36) - Tooling: Bun Working on AOT Compilation? (29:45) - Tooling: Elide the Polyglot Runtime is Now Stable (32:00) - Frameworks: Astro 7.4 Features New Timings Flag for Build (32:40) - Frameworks: TanStack Start 1.0 is Stable (33:40) - Frameworks: Snapfire, TypeScript Web Apps Served in Rust (37:32) - Web Platform: Firefox 158 Now Supports JPEG XL (37:52) - Library Watch: Nuclo, Fast Lightweight DOM Updates (39:01) - Library Watch: OpenWorkflow, an OSS Alternative to Temporal (41:06) - Library Watch: ts-rs, Generate TypeScript Bindings from Rust Types (42:14) - Library Watch: tmcp, a Batteries-included Alternative to Official TypeScript MCP SDK (44:14) - Community Highlights: TypeScript Memory Mapper Game (45:41) - Community: The Register Interviews Ryan Dahl on Deno Joining Cloudflare (47:42) - Community: Josh Goldberg Interviews Daniel Rosenwasser on Software Engineering Daily (48:10) - Community: Filip Sodic on Why Types Are Worth Typing (49:26) - Community: Node Banter on Shipping TS Source in npm (52:30) - Community: Isaac Levin Writes About Building an RSS Reader in TS (53:13) - Community: Next.js on Improving Navigation Experience in v0 (54:02) - Community: Jake Archibald on JPEG XL vs. AVIF for Web Use Cases (56:47) - Bleet of the Week (57:12) - Cool Link: Breadboard Clock Series (58:09) - Cool Link: Teal, Statically Typed Dialect of Lua (58:33) - Cool Link: The Decoherence Trap by Maevyn.codes (01:02:13) - The Minnesota Long Goodbye SecurityNode.js October 2026 Security Updates CERT-EU - Critical Vulnerabilities in PHP The Internet goes on high alert after discovery of 8 compromised TLS certs - Ars Technica Informal advisory and diagnostics: https://emudhra.we-have-a-problem.com/ Socket for Origin Now Available Tooling Announcing TypeScript 7.1 Beta Introducing tsrs: a Port of TypeScript to Rust tsc-ts: TypeScript in TypeScript, compiles using scriptc typescript-dotnet: Experimental port of TS 7 to C# (via Reddit) Bun AOT in the works Elide: 1.6.0 Changelog Frameworks Astro 7.4 TanStack Start 1.0 is Stable SnapFire: Write TypeScript, served in Rust Library Watch Nuclo: fast lightweight DOM framework for updates OpenWorkflow: OSS workflow engine alternative to Temporal ts-rs: TS Bindings from Rust Types (via Mike) tmcp: build opinionated TypeScript MCP servers (via Paolo) From the Community Prescod: TypeScript Memory Mapper Game (Free) The Register: Interview with Ryan Dahl about Deno + Cloudflare Software Engineering Daily: TypeScript 7 and What Comes Next (Josh Goldberg & Daniel Rosenwasser) Filip Sodic: Types Are Worth Typing Nodeland: Don’t Ship the Source (TypeScript), listen to the podcast episode Isaac Levin: Building an RSS Reader in TypeScript Next.js: Improving navigation experience in v0 with Next.js 16.4 Jake Archibald: JPEG XL vs AVIF for web use-cases Bleet of the Week Cool Links Setting the time on my breadboard clock: Breadboard clock part 5 Statically Typed Lua Ma...
74 MIN
OCT 14, 2026
Theo's $420K TS-Rust Port, bun check, and Deno Joins Cloudflare | News | Ep 85
News for the week of October 5, 2026: Theo spends $420,000+ porting the TypeScript compiler to Rust, the new Bun (type)check command claims 3-7x speedups, and Deno joins Cloudflare. From the community: ViteConf is October 15, GitHub moves off CSS-in-JS, and Syntax is donating. Sponsored by Excalibur.js Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools. Homepage and Docs: https://excaliburjs.com Make Your First Game in 10 Minutes Join the Discord: https://discord.gg/9UemP985Uy Chapters (00:00) - Tooling: ts-rust, a Vibe Port of TypeScript 7 to Rust (06:03) - Tooling: bun check, 2-7X Faster Type Checking in Bun 1.4.3 (10:07) - Tooling: bun Adds lint and format Commands, Forking oxlint and oxfmt (11:27) - Tooling: terser Adds Erasable Types Support (13:17) - Tooling: Node.js 26.11.0, New Docs and Benchmarking Perf Hooks (15:22) - Frameworks: Next.js 16.4 Adds Cache Components Programming Model (19:21) - Web Platform: Deno Joins Cloudflare, But Will No Longer Maintain the Runtime (24:24) - Web Platform: Chrome 155+ Will Support JPEG XL (26:12) - Security: Vite Dev Server CVE for Arbitrary Command Execution (27:41) - Security: TanStack Start CVE for Reflected Cross-site Scripting (28:37) - Security: zod and Other Packages Were Nearly Compromised (30:38) - Security: New GhostAction Wave Steals Cloud and AI Credentials (32:50) - Other News: Remembering Margaret Hamilton, Apollo Space Programmer (33:14) - Library Watch: maligator, an AOT Compiler for JavaScript to C (34:24) - Library Watch: fjson, a Friendly JSON-alike Language and Parser (35:10) - Library Watch: logtape 2.4 (36:23) - Library Watch: plumeria, Type-safe Zero-runtime Atomic CSS (37:02) - Community: ViteConf is October 15 (37:26) - Community: Syntax.fm Calling for Nominations to Fund OSS Maintainers (37:48) - Community: GitHub is Switching from CSS-in-JS to CSS Modules (40:13) - Community: Mark Built a JavaScript Runtime Over the Weekend Called Bento (41:48) - Community: Grafana's Cuetsy and Thema TypeScript Code Generation (42:26) - Bleet of the Week (43:11) - Cool Event: Ludum Dare, Make a Game in 48 Hours (44:02) - Cool Study: Where is the Bottleneck in Software Development and AI? (45:46) - Cool Tool: TypeScript to Zod Schema Tool (and More!) (46:40) - Cool Link: ascii.rest, Animated ASCII Art for Web Pages (48:22) - The Minnesota Long Goodbye News ToolingTheo: ts-rust Bun: Bun 1.4.3 Terser: Experimental type erasure (via Rob Palmer) MetaframeworksNext.js: Next.js 16.4 Web PlatformCloudflare: Deno joins Cloudflare Node: Node.js 26.11.0 (Current) Chrome: Shipping JPEG XL in Chrome (155+) Security CornerVoidZero: Vite Dev Server security update TanStack: TanStack Start security update: CVE-2026-102989 Zod: Security advisory: malicious npm package changes affecting zod, nub, and standard-schema Socket: New GhostAction Wave Hits Hundreds of Repos, Expanding Beyond CI/CD Secrets to Cloud Credentials Other newsMIT News: Margaret Hamilton, computing pioneer, dies Library Watch Maligator: JS AOT to C compiler (GitHub) fjson from Cinnamon: friendly JSON parser for TypeScript LogTape: LogTape 2.4.0 Plumeria: type-safe CSS with a Rust compiler From the Community VoidZero: ViteConf is October 15th Syntax.fm: Syntax is donating GitHub: Switches from CSS-in-JS Mark Malstrom: Bento, a JS runtime in a weekend Sam Boyer: Grafana's schema-driven data language: Cuetsy and Thema (via Evangaline Rome) Bleet of the Week: “Cloudflare” Meteor Cool Links Artificial Intelligence in the Firm: Bottlenecks in Software Production TypeScript to Zod Schema ASCII Rest Music Seahorse Dreams by Kubbi (Spotify)
73 MIN