For our kids, the progression has been:
- Scratch Jr.
- Scratch
- Replit
Scratch helps them understand programming concepts such as variables, lists, conditionals, and events, but still in an intuitive visual programming interface.
Replit gives the kids access to real programming languages (JS, Python, etc.) but with lots of support, and the same "remix other people's projects" culture.
Indeed, our kids have found that there are a LOT of Replit users in their early teens (12-15), and they all help each other out.