Идея мобильного сообщества и эксперименты с Vuetify

Как всегда, эмоциональная встряска привела к новым идеям. В частности, ночью понял, каким должно быть современное сообщество, которое будет жизнеспособно даже в условиях слишком быстрого темпа жизни, когда у большинства людей не хватает времени и внимания. Как это ни странно, нужно сделать шаг назад, к более простой форме — от форума к гостевухе, но в виде Progressive Web App с уведомлениями об ответах, поддержкой хештегов и оффлайнового просмотра кешированных материалов и написания новых сообщений (собственно, последнее — это то, чего мне больше всего не хватает сейчас на моём сайте).
Где-то часа полтора лежал, ворочался и крутил это в голове. Потом встал, спустился на первый этаж, зарисовал на листе бумаги основные идеи и то, каким я вижу интерфейс, после чего наконец-то смог заснуть.
Проснулся от телефонного звонка. Когда понял, что снова не усну, решил сделать прототип интерфейса такого приложения. Только вот верстать то, что я хотел, совсем с нуля долго и нудно, а прототип хочется быстро. Поэтому решил в качестве временной меры использовать Vue и поискать для него готовый набор компонентов. Набор нашёлся на удивление быстро. Он называется Vuetify, и вроде бы в нём есть почти всё, что потребуется. Нашёл на Хабре введение в Vuetify, но оказалось, что там нужна vue-cli.
Пофыркав на тему «опять забивать систему хламом», всё же решил поставить. Ubuntu предложила сделать это через snap-репозиторий. Я согласился. Но увы, при попытке запустить выдалась ошибка, что не хватает какого-то jar-файла. На Stack Overflow вычитал, что лучше ставить через npm.
Попытался установить через npm, и тут новая ошибка — слишком старая версия самого npm. Там нужна то ли 12.0, то ли 14.0, а в Ubuntu 20 — всего лишь 10.x. Нет, я, конечно, знал, что в мире Javascript с версионированием постоянно вылезают какие-то проблемы (и это одна из причин, почему я так плохо к нему отношусь), но не думал, что всё настолько плохо! Пришлось опять лезть в Интернет и искать, как поставить последнюю версию npm откуда-то из сторонних источников.
После этого всё заработало. Единственная проблема, с которой столкнулся — это линтер ругался на то, что имена компонентов должны быть из нескольких слов, тогда как в исходном примере был однословный List. Но это исправил быстро.