Josh profile photo

Author, speaker, and open source maintainer on projects in the TypeScript ecosystem such as Learning TypeScript, typescript-eslint, and TypeStat.


  • Learning TypeScript

    O'Reilly book teaching TypeScript for JavaScript developers. Out now - buy it today on Amazon / O'Reilly!

  • typescript-eslint

    Maintainer on the tooling that enables ESLint to work with TypeScript code and provides TypeScript-specific rules.

  • TypeStat

    Converts JavaScript to TypeScript and TypeScript to better TypeScript with static analysis.

  • FullScreenMario

    College project: an HTML5 remake of the original Super Mario Bros. It had the original 32 levels, a procedural map generator, and a level editor. Shut down by Nintendo's DMCA notices.

  • FullScreenPokemon

    Spiritual successor to FullScreenMario on my custom game engine. It'll have the original 151 and campaign, a procedural map generator, and a level editor. Work in progress.

  • Budgie

    Abstract metaprogramming syntax that compiles into common OOP languages. Work in progress.

  • Emojisplosion

    Blasts emoji like fireworks all up in your HTML page. Great for easter eggs, pranks, and other shenanigans.

  • See more projects on my GitHub.


You can find my speaker rider at JoshuaKGoldberg/speaker-rider.



Founding member of Codecademy's Web Platform team. It creates and maintain tools used by frontend developers across the company, from design systems to React testing utilities to mass TypeScript conversions.

I previously toured Codecademy's Learner Experience team, which focuses on improving the core user experience of our content authoring and consumption platforms, and Codecademy's Growth team, responsible for improving user happiness & revenue growth via iterative experimentation.

Microsoft Sway

Through November 2018 worked on Sway, an education-focused Office app. I focused on web client performance, front-end engineering systems, and static code analysis.

Co-architected a full rewrite of Sway in React+MobX+Inversify+Glamor, later released as the Print to Web view in Word.

  • Engineer in CRM sales vertical. My team focused on integrating Azure machine learning for sales insights in the desktop and mobile apps.

  • Intern on AX Internal Support. Created dynamic search aggregator for Lucene or proprietary databases to aggregate cross-source references.

  • Schalk Lab

    Set up neuroscience lab Drupal website and internal NAS, created a MySQL database management system in Matlab, and worked on BCI2000.