День добрый, думаю, что здесь стоит разбить на два вопроса:
1. Вопрос как построить гриду, которая при добавлении элементов не полетит:
ul {
display: flex;
flex-wrap: wrap;
}
ul > li {
flex: 0 0 33.3%;
max-width: 33.3%;
}
Конечно ширину элементов внутри ul можно задать уже какую надо :)
2. Проблема с неограниченной подгрузкой
Это называется
Infinity scroll
Так же сделано и у Pinterest - Massonry Grid + Infinity Scroll.