Для вашего стека есть несколько вариантов.
Первый самый очевидный: ларка в виде АПИ, на фронте Vue как SPA.
Второй вытекает из предыдущего. Отказ от полноценного SPA в пользу использования отдельных интерактивных блоков, реализованных на Vue. Всё ещё требует глубокого погружения в изучение фронт-фреймворка. Хотя, на мой взгляд, там не очень высокий порог входа.
Наконец, если вы не хотите глубоко уходить во фронтэнд разработку, и вам требуется при написании простеньких скриптов соблюсти какую-то систему, чтобы потом не погрязнуть в лапшовом коде, то можно попробовать какой-то очень простой фреймворк/библиотеку.
Я могу порекомендовать Стимул –
https://stimulus.hotwired.dev/handbook/introduction (
перевод на русский)
Вся документация читается и осмысливается буквально за час-два.