RU

Как мы перевезли свой интернет-магазин с InSales на собственный движок на Next.js

IWANT - наш собственный fashion-магазин. Несколько лет он жил на InSales: на старте это правильный выбор: быстро, без разработки, всё из коробки. Но в…

Next.jsInSalesмиграция интернет-магазинаe-commerceETLTypeScriptPostgreSQLSEO миграцияself-hosted152-ФЗ
Habr
RU

Я не хотел, чтобы WeTransfer читал мои файлы, и написал хранилище, которое не доверяет само себе

Каждый раз, когда нужно передать кому-то файл или пароль, выбор бесит: WeTransfer и аналоги видят всё, почта и телеграм хранят файл в плейнтексте вечн…

end-to-end encryptionшифрованиеself-hostedzero-knowledgeAES-256-GCMRustNext.jsобмен файлами
Habr
RU

SEO-админка для большого каталога: sitemap, robots, мета-превью и тревоги поисковиков в одном месте

Рассказываю, как мы собрали SEO-панель для динамического каталога: sitemap, robots.txt, мета-превью, RSS, диагностика и переобход в одном интерфейсе. …

SEOsitemaprobots.txtIndexNowNext.jsFastAPIPostgreSQLадминкапоисковые системытехническое SEO
Habr
RU

От favicon до криптографии: как мы уместили 167 рабочих инструментов в одном сервисе

Мы были двумя 16-летними студентами колледжа, чья программа безнадёжно отставала от индустрии. Пока на парах проходили технологии пятилетней давности,…

инструменты для разработчиковпесочницы в браузереформаттеры кодаWebAssemblyCodeMirrorNext.jsWeb Worker
Habr
RU

Чтобы не выглядело как пет-проект»: как я в одиночку сделал премиальный интерфейс кино-сервиса (с кодом)

В прошлой статье я рассказывал, каково в одиночку тащить фуллстек-проект, который разросся до кино-соцсети. В комментариях несколько раз спросили про …

Next.jsReactCSSglassmorphismcanvasWeb PushVAPIDFastAPIпет-проектvibemuvik
Habr
RU

Один за всех: как я в одиночку тащу фуллстек-проект, который незаметно разросся до соцсети

Начиналось как «сделаю себе сайтик про кино на пару выходных». Закончилось каталогом на десятки тысяч карточек, лентой, профилями, рейтингами, совмест…

пет-проектфуллстексоло-разработкаFastAPINext.jsPostgreSQLвыгорание
Habr
RU

Агрегатор LLM, как выбирать живые free-модели и переживать сбои провайдера

Если в проекте появляется выбор LLM, почти сразу возникает соблазн сделать это как можно проще. Взять один большой список моделей, показать его в инте…

LLMOpenRouterDjangoPythonNext.jsTypeScriptRTK QueryAIAPIFullstack
Habr
RU

Как мы сделали SEO-блог из 84 страниц на трёх языках через Claude API: рабочий рецепт и вещи, которые пошли не так

Делимся рабочим рецептом: SEO‑блог на 84 страницах в трёх языках (RU/KK/EN) через Claude API за три дня. Внутри — почему мы храним…

Claude APIAnthropicSEONext.jsTypeScriptAI-генерация контентапромпт-инжинирингhreflangмультиязычный сайтавтоматизация контента