Ajuda: richtext - alguém já criou um?

Fazia um tempo que eu precisava me desafiar e no trabalho apareceu essa chance.

Em resumo, eu preciso criar um editor no estilo richtext, é algo que acho legal de fazer mas no momento não tenho tempo hábil, será um aprendizado bem bacana mas estou meio sem rumo, comecei a fazer algo mas bati numa parede e não consigo avançar.

Até o momento aprendi sobre o atributo contenteditable que basicamente transforma qualquer elemento em uma espécie de textarea, e consegui aplicar estilos como texto negrito, itálico, sublinhado e até alterar a cor do texto, mas tudo ainda muito limitado e com comportamentos estranhos.

Uma coisa que estou travado também é em como aplicar determinado estilo apenas no texto selecionado, e não no texto todo que é como consegui até agora.

Acredito que criar um richtext editor não seja um desafio de nível avançado, mas para mim está sendo, por isso vim até aqui pedir ajuda.

Caso alguém já tenha feito algo parecido com um richtext editor fale comigo nos comentários, ficarei muito grato!

Este é um desafio pessoal que também estou enrolando pra fazer mas que parece muito divertido! Não tenho nem ideia de como te ajudar no momento por que é algo que também vou pegar do zero, mas ficarei feliz se em breve publicar aqui também os seus feitos e dicas!

Opá amigão, da uma olhada nesse repositório https://github.com/Elieel5/text-editor