Skip to main content

What is Advent of TypeScript?

Advent of TypeScript is TypeHero’s flagship month-long event running from December 1st through December 25th. Inspired by the advent calendar tradition, this event releases a brand new TypeScript challenge every day, creating an exciting countdown to Christmas while helping you level up your TypeScript skills.

Event Format

Each day from December 1-25, a new challenge is unlocked at midnight. These challenges:
  • Start simple on Day 1 and progressively increase in difficulty
  • Focus on TypeScript’s type system, covering topics from basic unions to advanced conditional types
  • Feature fun, holiday-themed scenarios (Santa’s cookies, reindeer logistics, gift wrapping, and more)
  • Include comprehensive test cases to guide your solution
  • Can be solved at your own pace - challenges remain available after their unlock date

Challenge Themes

Advent of TypeScript challenges are built around festive scenarios that make learning TypeScript more engaging. For example:
  • Day 1: Help Santa define types for his favorite cookie flavors
  • Day 25: A culminating challenge that brings together concepts from the entire month
Each challenge comes with a creative narrative that connects the TypeScript problem to the holiday season.

Features

Daily Challenges

New challenges unlock each day at midnight during December. The challenge page displays:
  • A countdown timer to the next day’s challenge
  • Visual calendar showing which days you’ve completed (marked with special indicators)
  • Access to all previously unlocked challenges

Leaderboards

Compete with the TypeScript community through two types of leaderboards: Daily Leaderboards: The first 100 participants to solve each day’s challenge earn points:
  • 1st place: 100 points
  • 2nd place: 99 points
  • 3rd place: 98 points
  • And so on, decreasing by one point per rank
Overall Leaderboard: Aggregates your points across all 25 days to crown the ultimate Advent of TypeScript champion.

Achievements & Badges

Earn exclusive Advent of TypeScript badges to display on your TypeHero profile:

Bronze Badge

Attempt at least 1 challenge

Silver Badge

Complete 5 or more challenges

Gold Badge

Complete 15 or more challenges

Platinum Badge

Complete all 25 challenges
These badges appear next to your name throughout the platform and on your public TypeHero profile at typehero.dev.

Community Solutions

Once you solve a challenge, you can:
  • View and share your solution with the community
  • Browse other participants’ creative approaches
  • Discuss different strategies in the comments
  • Learn from the collective wisdom of the TypeScript community

Submission History

Track your progress with detailed submission history showing:
  • All your attempts for each challenge
  • Which submissions passed or failed
  • Your journey to finding the optimal solution

Past Events

Advent of TypeScript has been running since 2023, with each year bringing new challenges and improvements:

2024 Event

The 2024 event featured:
  • A brand-new dedicated platform at adventofts.com
  • Enhanced leaderboard system with prizes
  • Improved challenge interface with better TypeScript support
  • Community features for sharing and discussing solutions

2023 Event

The inaugural Advent of TypeScript 2023 introduced the community to this unique learning experience and featured 25 progressively challenging TypeScript problems.

Event Philosophy

Advent of TypeScript is designed to be fun, educational, and inclusive. Challenges range from beginner-friendly to expert-level, ensuring there’s something for everyone regardless of TypeScript experience.
The event emphasizes:
  • Learning Over Competition: While leaderboards add excitement, the primary goal is skill development
  • Community Engagement: Collaborate and learn from fellow TypeScript enthusiasts
  • Real-World Relevance: Challenges mirror patterns you’ll encounter in production code
  • Accessibility: All challenges are free and open to anyone with a TypeHero account

Tips for Success

Many participants find the TypeScript Playground helpful for experimenting with solutions. You can copy test cases there, work through the logic, then bring your solution back to the TypeHero editor.
The test cases are your guide! They show exactly what the challenge is asking for. As challenges get trickier, the tests become invaluable hints.
The #advent-of-typescript channel in the TypeHero Discord is the perfect place to discuss challenges, share insights, and get unstuck when you’re puzzled.
Challenges remain accessible even after their unlock date. There’s no pressure to solve them immediately. Take your time and enjoy the learning process!
Challenges ramp up quickly, and that’s by design. If a challenge feels tough, you’re not alone! Use it as an opportunity to stretch your TypeScript muscles.

Get Involved

Ready to participate? See our Participating in Events guide to get started. Have questions or want to stay updated on announcements? Join our community:

Discord Community

Chat with participants and get help

GitHub

Star the project and contribute

Build docs developers (and LLMs) love