Универсального фреймворка не существует, так как каждая задача предъявляет свои требования к интерфейсу. (Поэтому копируя паттерны даже у успешных сервисов вы можете столкнуться с проблемой, так как ваши задачи будут не совпадать.)
При создании фреймворка учитывайте несколько вещей:
С какими сущностями вы будете работать? Это могут быть карточки, таблицы, картинки, статьи, графики. Заранее определив это, вы сможете примерно понять, какая структура подойдет проекту.
Какие устройства будут использовать ваши пользователи? Если мобильный трафик займет значительное место, то следует заранее продумать адаптивный интерфейс.
Как может трансформироваться интерфейс в будущем? Понимая это, вы сможете создать структуру, готовую к появлению нового функционала.