Skip to main content

Останні статті

Думки про розробку, технології та найкращі практики

4 хв читання

Стабільність sitemap: чому lastmod ніколи не має бути new Date()

Поширена помилка у Next.js sitemap: встановлення lastmod на поточну дату при кожному білді. Google бачить кожну сторінку як «оновлену» при кожному деплої, що розмиває пріоритет сканування. Ось виправлення.

next.jsperformance
5 хв читання

Деплой Next.js на Vercel vs Fly vs Railway: реальні цифри з 3 клієнтських проєктів

Я деплоїв продакшн Next.js застосунки на Vercel, Fly.io і Railway. Ось реальні витрати, час холодних стартів, досвід деплою і компроміси з реальних проєктів — не синтетичні бенчмарки.

next.jsperformance
5 хв читання

Міграція з Tailwind 3 на Tailwind 4: шлях за 90 хвилин

Я мігрував Next.js проєкт із 40 компонентів із Tailwind 3 на Tailwind 4 за 90 хвилин. Ось покрокова інструкція, що зламалось, що пропустив codemod, і один підводний камінь, який коштував мені 20 хвилин.

next.jsperformance
5 хв читання

Dependabot для сольного розробника: групований конфіг, який я реально шипаю

Dependabot без конфігурації надсилає 30 PR на тиждень і перетворюється на шум, який ти ігноруєш. Ось групований конфіг, що надсилає 2–3 PR на тиждень із значущими оновленнями — setup, який я використовую на кожному клієнтському проєкті.

securitynext.js
5 хв читання

Progressive enhancement в епоху RSC: що працює, що — ні

Server Components змінили, які патерни progressive enhancement взагалі реальні. Форми — краще, ніж будь-коли. Клієнтська інтерактивність потребує більше думання. Ось що я виніс зі shipped RSC-застосунків на реальних юзерах.

next.jsux
5 хв читання

Кукі-банери по-правильному (і за законом) — мінімум для Словаччини/ЄС

Більшість кукі-банерів або нелегальні (попередньо обрані чекбокси, немає кнопки відмови), або надмірні (ентерпрайз-платформи згоди для сайту в 5 сторінок). Ось мінімальний легальний сетап для малих сайтів у ЄС.

security
4 хв читання

A/B-тестування на малотрафіковому сайті: коли працює, коли карго-культ

У більшості маленьких сайтів недостатньо трафіку, щоб A/B-тести давали реальні результати. Ось математика, коли це працює, що робити замість, і як не обдурити себе статистикою.

uxperformance
4 хв читання

Оптимізація зображень у Next.js 16: що змінилося, за чим тягнутися

Обробка зображень у Next.js значно еволюціонувала. Ось поточний стан next/image, коли його використовувати, коли пропускати, і оптимізації, які реально рухають Lighthouse.

next.jsperformance
5 хв читання

Генерація OG-зображень у Next.js 16 без безсонних ночей

Динамічні OG-зображення роблять посилання професійними в Twitter та Slack. Ось сетап, який працює в продакшні без сюрпризів — і підходи, від яких я відмовився.

next.jsperformance
5 хв читання

Schema.org для сервісного бізнесу: JSON-LD, який має бути в кожному портфоліо

Більшість портфоліо розробників шиплять нуль структурованих даних. Ось 4 блоки JSON-LD, які допомагають Google зрозуміти сервісний бізнес — з копіпаст-кодом для Next.js.

performancenext.js
5 хв читання

Postgres vs DynamoDB vs SQLite для нового SaaS: чесний дефолт

Кожному новому SaaS потрібна база даних. У Postgres, DynamoDB та SQLite у кожного своя ніша. Ось коли обирати кожну — на основі проєктів, які я реально шипив.

performance
5 хв читання

Server Actions у продакшні: 4 речі, які я більше не повторю

Server Actions спрощують мутації в Next.js. Але після шипінгу на трьох клієнтських проєктах я зібрав чотири патерни, які виглядали нормально в розробці й ламалися в продакшні.

next.js
5 хв читання

Після запуску: 30-денний план стабілізації, який варто вимагати від розробника

Перші 30 днів після запуску — період, коли спливає більшість проблем, яких можна було уникнути. Ось план по тижнях, який я запускаю на кожному клієнтському проєкті — і що попросити у розробника, якщо він не пропонує подібного.

performancesecurity
4 хв читання

App Router vs Pages Router у 2026: ще актуальне питання?

App Router в Next.js стабільний вже понад два роки. Pages Router досі працює. Якщо починаєш новий проєкт або підтримуєш існуючий — ось чесний стан справ у 2026.

next.js
3 хв читання

Фіча, від якої ми відмовили клієнта — і чому він потім подякував

Клієнт хотів real-time спільне редагування в MVP. Ми сказали ні. Через шість місяців після запуску він сказав, що це було найкраще спільне рішення. Чому.

case-studypricing
3 хв читання

23 пункти передзапускового чекліста, який я проганяю перед кожним клієнтським запуском

Кожен клієнтський проєкт отримує цей чекліст перед запуском. 23 пункти по безпеці, продуктивності, SEO, моніторингу та юридичних питаннях. Більшість займають 5 хвилин. Разом запобігають 90% післязапускових пожеж.

performancesecurity
3 хв читання

Вибір CMS для Next.js-сайту: Sanity, Payload чи чистий MDX?

Я шипив Next.js-проєкти з усіма трьома. Коли кожен з них — правильний вибір, що ламається на масштабі, і чому я за замовчуванням беру чистий MDX для більшості solo-dev сайтів.

next.js
4 хв читання

Коли Lighthouse CI впав на 20 балів — 8 годин на пошук

Оцінка продуктивності впала з 96 до 76 за ніч. Ні змін коду, ні нових залежностей. Причина: комбінація затримки Google Fonts з edge-сервера та зображення, що не було lazy-loaded.

performancenext.js
3 хв читання

Як вести щотижневі демо з розробником, щоб ніщо не здивувало на запуску

Щотижневе демо — найефективніший інструмент для утримання MVP на курсі. Точний формат, який я використовую з кожним клієнтом: що показувати, що питати, які червоні прапорці відстежувати.

hiring
4 хв читання

GDPR для невеликого SaaS: 5-годинний сетап, якого достатньо

Не потрібен юридичний аудит за €10K, щоб бути GDPR-комплаєнтним. Мінімально життєздатний сетап, який я реалізую для кожного EU-орієнтованого SaaS: що робити, що пропустити, що реально важливо.

security
3 хв читання

vercel.json, що мовчки зламав мій сайтмап на місяць

Одне правило редиректу в vercel.json змусило сайтмап повертати HTML замість XML. Google перестав індексувати нові сторінки на 4 тижні. Як я знайшов і зневадив.

performancenext.js
5 хв читання

Технічне SEO, яке кожен розробник має шипити за замовчуванням (і яке більшість пропускає)

12-пунктний чекліст технічного SEO, який я проганяю на кожному Next.js-проєкті. Більшість розробників пропускають мінімум 5 з них. Кожен пункт — менше 30 хвилин на реалізацію.

performancenext.js
4 хв читання

Типізовані змінні оточення в Next.js без t3-env

40-рядковий сетап для повністю типізованих, валідованих змінних оточення в Next.js. Нуль залежностей, рантайм-валідація при старті та IntelliSense скрізь.

next.jssecurity
5 хв читання

Чому мій Stripe тест-режим пройшов, а продакшн зламався

Все працювало в Stripe test mode. Потім ми вийшли в прод — і платежі мовчки зависли. Коренева причина: комбінація підпису вебхуків, idempotency keys та поля метаданих, яке тест-режим ігнорує.

stripesecurity
6 хв читання

Патерни лендінгів, що реально рухають конверсію для B2B SaaS

Я побудував 12+ SaaS-лендінгів. Ці 7 патернів стабільно піднімають конверсію — не тому що хитрі, а тому що прибирають тертя саме в тих місцях, де відвідувачі вагаються.

uxperformance
5 хв читання

Налаштування Sentry, що ловить корисні помилки (а не шум)

Мій продакшн-конфіг Sentry для Next.js: фільтрація гідраційного спаму, групування за причиною та алерти на те, що реально важливо. З реальними прикладами конфігу.

performancenext.js
6 хв читання

QR check-in на масштабі: 12K+ сканувань без єдиного збою

Як я побудував систему QR check-in, що обслуговує площадки на 3,000 місць з офлайн-підтримкою, JWT-підписом квитків і часом сканування до 200мс. Архітектура, код і продакшн-числа.

performancesecurityreact-native
4 хв читання

next-intl vs next-i18next: вартість міграції, яку я реально заплатив

Я мігрував продакшн Next.js сайт з next-i18next на next-intl. Чому, скільки зайняло, що зламалося і чи було воно того варте.

next.jsi18nperformance
4 хв читання

Чому ваш Upwork MVP застряг (і що робити замість цього)

Модель найму Upwork ламається для MVP. Чому це трапляється, патерн за кожним застряглим проєктом, який я рятував, та альтернатива, що реально випускає.

hiringpricing
5 хв читання

Real-time WebSocket патерни для тикетингу та чату: продакшн-плейбук

Патерни з двох продакшн-систем: тикетинг-платформа з 12K одночасних виборів місць та командний чат з індикаторами присутності. Що працює, що ні, і архітектура за обома.

next.jsperformancecase-study
5 хв читання

Vercel vs Cloudflare vs self-hosted Next.js: таблиця вартості та DX у 2026

Реальні витрати з 3 клієнтських деплоїв. Де Vercel вартий своїх грошей, де Cloudflare економить, і коли self-hosting має сенс. Цифри, не думки.

next.jsperformancepricing
7 хв читання

Що випускати в MVP, а що урізати — з 5 реальними прикладами

Найскладніше в скоупінгу MVP — не збірка, а рішення, що не збирати. П'ять реальних проєктів, п'ять списків урізань і фреймворк, який я використовую для рішень.

pricinghiring
5 хв читання

Баг, що проявився лише на iPhone SE

Чекаут, що працював на кожному пристрої, окрім 4-дюймового екрана. Як тач-таргет 44px, фіксований футер та адресна строка Safari склалися в баг, який ніхто не міг відтворити в офісі.

performanceuxcase-study
7 хв читання

Supabase vs Railway vs Neon: цінові пороги і де кожен починає кусатися

Три варіанти хостингу Postgres, на яких я відвантажував у продакшн. Де кожен дешевший, де дорожчає, і вартість міграції, про яку ніхто не каже.

next.jsperformancepricing
6 хв читання

Нативний застосунок чи мобільний веб: дерево рішень для фаундера

Не технологічний спір — бізнес-рішення. Коли натив вартий своїх грошей, коли веб-застосунку достатньо, і 5 запитань, що роблять відповідь очевидною.

hiringreact-nativepricing
8 хв читання

Червоні прапорці при наймі розробника для стартапу

Сімнадцять тривожних сигналів на дзвінках, у портфоліо та договорах — ті, що засновники зазвичай помічають заднім числом і шкодують, що не розгледіли раніше.

hiringmvppricing
5 хв читання

Індекс у Postgres, на пошук якого пішло 3 дні

Запит дашборду, що мав відпрацьовувати за 40ms, займав 6 секунд. Фікс — одна команда CREATE INDEX. Знайти, яка саме, зайняло три дні.

performancecase-study
8 хв читання

Offline-first React Native: як ми зберегли вибір місць плавним у потязі на 3G

Архітектура, що зробила пікер на 12K місць миттєвим при 0 смужках сигналу. Синхронізація стану, оптимістичні записи, черга, що переживає kill застосунку, і крайові випадки, про які ніхто не попереджає.

react-nativeofflinemobile
8 хв читання

Як правильно відвантажити i18n у Next.js: роутинг, SEO і граблі RSC

Помилки i18n, які проходять код-ревʼю і ламаються у продакшні — петлі middleware, canonical-теги, пастки hreflang і крайовий випадок серіалізації RSC, що мовчки зʼїдає переклади.

next.jsi18nseo
7 хв читання

Три врятовані проєкти в цифрах: у що реально обійшовся «дешевий розробник»

Три реальні проєкти, які прийшли до мене зламаними. Що пішло не так, скільки коштувало полагодити, і математика, що показує, чому «дешевий» варіант виявився найдорожчим.

pricinghiringcase-study
6 хв читання

Я видалив rate limiting із контактної форми. Ось чому.

Rate limiting — рефлекс. На реальній портфоліо-формі він нічого не вирішив, додав залежність від Redis і зламав легітимні відправки. Чесна математика, коли його пропускати.

securitynext.jstradeoffs
8 хв читання

Stripe vs Lemon Squeezy vs Paddle: реальні трейдофи з відвантаження трьох чекаутів

Різниця в податках, цінах та інтеграціях, яка спливає тільки після перших 100 платячих клієнтів — і режими відмови, унікальні для кожного.

stripepaymentsstack-choice
8 хв читання

Що реально купують €12K: порядковий розклад вартості реального MVP

Не гіпотетика. Реальний проєкт, реальні статті витрат, реальні години. Куди йдуть гроші, коли ви наймаєте solo full-stack розробника для MVP з нуля.

pricingcase-studyhiring
7 хв читання

Бриф засновника: що надіслати розробнику, щоб не втратити 8 тижнів

Шаблон односторінкового брифу, який економить засновникам тижні неузгодженої роботи. Що включити, що залишити за рамками, і три питання, важливіші за будь-який Figma-файл.

hiringmvppricing
6 хв читання

React Native vs Flutter для стартапу з двох засновників: відповідь без священної війни

Обидва відвантажують. Обидва нормальні. Реальні фактори рішення — це найм, покриття вебом і поточні навички команди, а не порівняння фреймворків, яке ти знайдеш на Reddit.

react-nativeflutterstack-choice
8 хв читання

Від Figma до 8K встановлень: як ми відвантажили React Native-застосунок E7 Shop

Нативний iOS + Android застосунок-компаньйон для івент-тикетингу. 60fps вибір місць, офлайн QR-гаманець, рейтинг 4.8★. 10 тижнів, React Native + Expo.

case-studyreact-nativeperformance
8 хв читання

Як описати MVP так, щоб він реально вийшов за 12 тижнів

Помилки в описі, що перетворюють 12-тижневий проєкт на 6-місячний, і письмові артефакти, які тримають проєкт на рейках із першого тижня.

mvphiringpricing
7 хв читання

Вебхуки Stripe у продакшні: 6 режимів відмови, про які ніхто не попереджає

Патерни відмов, які спливають тільки після перших 1000 оплачених подій — баги підписів, шторми ретраїв, мовчазні 200-ки, і фікс для кожного.

stripenext.jsdebugging
7 хв читання

Архітектура квиткової платформи на 12K квитків за подію: всередині E7

Повний стек івент-тикетингу — інтерактивні карти залів, Stripe-чекаут, WebSocket у реальному часі, QR-чекін. 12 тижнів від нуля до продакшену.

case-studynext.jsstripe
5 хв читання

Next.js vs Remix у 2026: порівняння, яке реально має значення зараз

Срач 2023 року закінчено. Після злиття Remix у React Router 7 і стабілізації Next.js RSC чесні відмінності менші, ніж думає інтернет — але вони все одно не ті, які потрібні більшості засновників.

next.jsstack-choicehiring
6 хв читання

Як я вибив Lighthouse 98 на тримовному сайті на Next.js

Оптимізації, які реально зрушили бали, дві, на які я витратив час дарма, і те, про що більшість Lighthouse-туторіалів тихо брешуть.

next.jsperformancei18n
6 хв читання

Як ми перебудували Etalon Translation за 6 тижнів: +34% конверсії та Lighthouse 98

WordPress-сайт агентства → Next.js 15. Три локалі, MDX-блог, 0.8s завантаження. Повна історія: що вирізали, що здивувало, реальні цифри.

case-studynext.jsperformance
6 хв читання

Соло full-stack розробник vs агенція vs фрилансер: чесне порівняння

Ціна, швидкість, ризики і відповідний формат для трьох варіантів, між якими обирає кожен засновник. Де кожен виграє, а де спалює бюджет.

hiringmvppricing
5 хв читання

Фіксована ціна vs погодинна: чому я беру за віхами

У кожному погодинному рахунку схований другий рахунок. Аргументи за фіксовану ціну, коли погодинна реально виграє, і як продавити розробника на чесну фіксовану ціну.

pricinghiringmvp
5 хв читання

Скільки насправді коштує кастомний SaaS MVP у 2026-му

Порядковий розбір реального MVP за €15K. Без «залежить від задач», без націнки агенції, без туману — реальні цифри за 10-тижневим проєктом.

pricingmvphiring
4 хв читання

Чотирирядковий спам-фільтр, що замінив reCAPTCHA на моїй контактній формі

Honeypot + time-floor + ліміти розміру. Без стороннього скрипта, без виноски про приватність, без галочки. Два місяці роботи і нуль спаму в інбоксі.

securitynext.jsux
1 хв читання

Server Components: трейдоф, який вкусив

Коротка історія про межі серіалізації, іконки в props і як я дебажив помилку Next.js без стектрейсу.

next.jsreactdebugging
1 хв читання

Hello, world — чому я знову пишу

Навіщо цей блог: короткі нотатки з реальних проєктів, речі, які хотілося б знати раніше, і трейдофи, що рідко потрапляють у туторіали.

metawriting