Depende do seu objetivo.
Para começar aprender tem que ir bem básico, treinando cada conceito muito bem, aprendendo usar bem cada mecanismo da programação, desde Hello World, passando por entrada de dados, cálculos, controle de fluxo básico e avançado, tipagem, conversões, até organização do código, segurança, eficiência, etc..
Dificilmente é uma boa ideia aplicar tudo isso em projetos grandes. O ser humano não lida bem com detalhes e o todo ao mesmo tempo, e não aprende bem duas coisas ao mesmo tempo. Projetos pequenos funcionam melhor.
Conforme vai avançando e os mecanismos estão dominados, o que precisa treinar é a engenharia, e aí projetos pequenos ajudam pouco.
Um dos maiores erros que eu vejo as pessoas fazerem hoje em dia é pegar projetos grandes quando ela não é capaz de lidar com isso. Ela só tem a sensação que está conseguindo evoluir, que está alcançando objetivos, mas ela está se iludindo, só decorando receita de bolo, não aprendendo programar de verdade.
Assim como em certo momento a evolução só se dará quando se faz algo mais complexo.
Para portfólio o mais importante é destacar que domina todo o processo. Pode ser projetos pequenos onde mostra em cada uma algo diferente. Mas um projeto grande também é importante para mostrar que consegue juntar tudo adequadamente. Se puder juntar tudo em um projeto só, está ótimo. É importante mostrar todos os aspectos, o cuidado que tem com cada aspecto.
Isso ainda não mostrará outras coisas importantes, como o processo para chegar ali. Mas já é alguma coisa. Não mostrará se trabalha bem em equipe, mas a ideia não é fechar tudo.
Eu gosto da ideia de um CMS. Porque ele pode ter o tamanho que você quiser, de 1 página CRUD e 1 template, até algo bastante sofisticado que pode aplicar tudo o que quiser. Pode até mesmo ter partes com algum interesse mais específico, até calculadora bem feita, aquela calculadora que ninguém mais faz. Pode ter chat, cadastros, venda, controle estilo wiki, e-commerce, só blog e institucional, permitindo personalização de várias formas, alatamente escalável, expansível, etc.
Ideia é o de menos, o que importa é a execução. Mas quem não tem a ideia, pode ter mais dificuldade com a execução. E pode ser menos prazeroso, que é algo que ajuda no processo. A ideia de como fazer é muito mais importante do que a ideia do que fazer.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).