Для удобства нужно не опрашивать сервер раз в 30 секунд, а подписать клиент на сервер-сайд события, тогда любые изменения на сервере будут пробрасываться на клиентов максимально оперативно...
Напрашивается резонный вопрос - а к чему такие изыски?
Бразуеры совершенно оправданно регулирует доступ к файловой системе посредством JS, иначе зашел чел на страничку, а его ценные данные ррраз и улетели аяксом в неизвестном направлении...
Если надо картинку бабахнуть на сервер, то ее можно сериализовать через canvas, и передать напрямую аяксом, как POST (в GET существенно жестче ограничения на размер передаваемых данных).
Если картинка здоровая, то надо будет пошаманить над конфигом веб-сервера и пхп, или что там на бэкенде принимает запросы...
href="javascript:void(0);" вот это вот везде в ссылках лишнее. Достаточно preventDefault() навесить в одном месте. Ну и в целом переопределять функциональность стандартных элементов таким образом не айс на мой взгляд...
Я бы в массивчик сложил все что надо вывести, а потом уже массивчик 1 раз вывел... В частности console.table умеет красиво показывать разнообразные массивы. В случае с id+email можно очень удобно это все увидеть... Вот урл для погружения в матчасть https://developer.mozilla.org/ru/docs/Web/API/Cons...
Диверсифицировать надобно, я считаю... Смежные ниши осваивать... Логотипы дизайнятся не так часто, в основном при создании проекта или при редизайне/ребрендинге. Как вариант не циклиться на конкретной бирже и искать множество источников. Например наваять себе онлайн портфолио и как-то его прдвигать. Если верить вордстату, в яндексе в месяц всевозможные запросы с формулировками со смыслом "дизайн/разработка логотипа" проходят десятки тысяч раз...
В каждом монастыре свой устав. Либо заходишь в иерархию сверху и диктуешь устав на свой лад, либо заходишь снизу и подстраиваешься под существующий. Если иерархия большая, сложная и старая, то там все сложнее, но суть та же...
Не дам гарантию на 100%, но вроде во время блокирующих операций рендеринг не производится. Соответственно необходимо переписать AJAX запросы на неблокирующий асинхронный манер.
Так же необходимо отдавать себе отчет в том, что айти нынче по сложности мало уступает медицине. Я когда с десктопа на веб пересесть решил, поначалу ошалел от количества нюансов и деталей, которые необходимо учитывать, чтобы хоть что-то работало хоть как-то... И этих деталей с каждым годом все больше. Расслабился на пол-года и отстал по полной программе от прогресса, потом судорожно наверстываешь.
Пару лет назад только стал появляться ангуляр и прочие реакты с эмберами во фронтенде, тогда балом правил jquery и прочие extjs, а нынче я посмотрел на один такой проект, запиленный на jquery, причем сам грешен, сам так же писал некоторое время назад, и отказался я от поддержки такого проекта, ибо мозги не резиновые и ТАК насиловать свою силу воли я считаю за гранью добра и зла...
В общем начнешь сейчас подхватывать технологии, за пару лет выйдешь на более-менее приличный уровень, и обнаружишь, что твои технологии безнадежно устарели... А то, что сейчас в тренде и только-только вылупляется, совсем не факт что выстрелит и взлетит... Короче тут интуицию надо напрягать по полной, чтобы угадать...
Еще встречаются такие адские поделки на вордпрессе, что диву даешься, кому в голову могло прийти подобное архитектурное решение...
В общем опыт и здравый смысл - наиболее ценные вещи, на мой взгляд.