নোট
ব্লগ
ফ্রন্টএন্ড ইঞ্জিনিয়ারিং, SEO, AI, অ্যানালিটিক্স আর বাস্তব প্রোডাক্ট তৈরির নোট।
37 পোস্ট
DeepSeek দাম বাড়াল — একই V4 Flash পুরোনো দামের চেয়েও কমে পেলাম অন্য হোস্টে
১৭ আগস্ট সকালে দেখি DeepSeek API-তে আমার খরচ স্বাভাবিকের প্রায় পাঁচ গুণ হয়ে গেছে। পরে একই DeepSeek-V4-Flash-0731 checkpoint অন্য এক provider-এর কাছে পাই এবং পরীক্ষা করি, যার বর্তমান দাম DeepSeek-এর পুরোনো দামের চেয়েও প্রায় 45% কম।
ফ্রেম বা সময় নষ্ট না করে অ্যানিমেটেড WebP, GIF ও APNG-কে H.264 MP4-এ যেভাবে রূপান্তর করি
আমার প্রোডাকশন প্রক্রিয়া ব্যবহারকারী বাস্তবে যে সম্পূর্ণ ফ্রেম দেখে তা পুনর্গঠন করে, উৎসের সময় সংরক্ষণ করে, প্রতিটি চূড়ান্ত MP4-এর জন্য একটি CFR বেছে নেয়, ছবি না বাড়িয়ে সবচেয়ে ছোট সাধারণ ক্যানভাস ব্যবহার করে, সামঞ্জস্যপূর্ণ H.264 সেগমেন্ট এনকোড করে দ্বিতীয় ক্ষয়যুক্ত এনকোড ছাড়াই জোড়ে এবং ফাইল ও তার HTTP ডেলিভারি—দুটিই যাচাই করে। একটি মাপা রানে মোট 1.49 GB-এর 217টি অ্যানিমেটেড WebP একটি 78.49 MB H.264 MP4 হয়েছে।
সব ব্রাউজার এররেই অ্যালার্ট দিচ্ছিলাম: সেই শোরকে কীভাবে কাজে লাগার প্রোডাকশন মনিটরিংয়ে বদলেছি
শুরুর ফ্রন্টএন্ড রিপোর্টার বিজ্ঞাপন ব্লক হওয়া, GTM ব্যর্থতা, AbortError, অস্পষ্ট Script error এবং আসল Next.js চাঙ্ক ব্যর্থতাকে একইভাবে দেখত। পরে মালিকানা, ব্যবহারকারীর ওপর প্রভাব, প্রমাণের মান, ঘটনাগুলোর সহসম্পর্ক এবং রিকভারিকে ভিত্তি করে মনিটরিং নতুন করে সাজিয়েছি।
ডিপ্লয়মেন্টের পরে পুরোনো Next.js ট্যাব কেন ভেঙে যায়: পুরোনো HTML, হারিয়ে যাওয়া চাঙ্ক ও সংস্করণ-অসামঞ্জস্য
একটি ডিপ্লয়মেন্টের পরে প্রোডাকশন মনিটরিংয়ে আমার নিজের Next.js অ্যাপ্লিকেশনের একটি JavaScript চাঙ্ক লোড হতে ব্যর্থ হয়। লগটি ব্যর্থতা প্রমাণ করেছিল, কারণ নয়। সেই ঘটনাকে ভিত্তি করে এই লেখায় পুরোনো ট্যাব, পুরোনো HTML, হারিয়ে যাওয়া /_next/static অ্যাসেট, সংস্করণ-অসামঞ্জস্য, পুরোনো সম্পদ সংরক্ষণের সময়সীমা, deploymentId, নিরাপদ ধাপে ধাপে প্রকাশ, মনিটরিং ও নিয়ন্ত্রিত পুনরুদ্ধার ব্যাখ্যা করা হয়েছে।
যে এক টিক আমার CFR ভেঙে দিয়েছিল: 5580 কেন 5625 ছিল না, আর 3751 কেন 3750 ছিল না
আমার ভ্যালিডেটর বারবার 16 fps MP4 বাতিল করছিল, কারণ একটি প্যাকেটের সময়কাল 5625-এর বদলে 5580 টিক ছিল। পরে 24 fps-এ 3750-এর জায়গায় 3751 টিক ধরা পড়ে। এই দুই ব্যর্থতা আমাকে উৎসের সময়-নির্ধারণ, CFR কোয়ান্টাইজেশন, MP4 সময়ভিত্তি, PTS/DTS, মাল্টিপ্লেক্সিং এবং প্যাকেট-স্তরের যাচাই আলাদা করে দেখতে শিখিয়েছে।
H.264 ব্যবহার করে বাস্তব ব্যবহারের একটি ভিডিওকে ~280 MB থেকে ~50 MB-এ নামিয়েছি যেভাবে
বাস্তব ব্যবহারের একটি ভিডিওতে H.264 বিন্যাসকে CRF 28, x264 veryslow, 720p-শ্রেণির সর্বোচ্চ রেজোলিউশন, কার্যকর ফ্রেম হার এবং ডিকোডারের জন্য সংযত সীমার চারপাশে নতুন করে সাজানোর পর আকার প্রায় 280 MB থেকে 50 MB-এ নেমে আসে। এর আগের ধাপেই একই উদাহরণ প্রায় 350 MB থেকে 238 MB-এ নেমেছিল, আর পুরোনো সংগ্রহের পর্যালোচনায় দেখা যায় কয়েক মেগাবিট প্রতি সেকেন্ডের H.264 ফাইল মোটেই বিরল ছিল না।
আমি Gitae বানিয়েছি যাতে website outage-কে শুধু “up/down” নয়, আরও গভীরে diagnose করা যায়
Gitae বানিয়েছি একটি practical প্রশ্নের উত্তর পেতে: website সত্যিই unavailable, নাকি সমস্যা শুধু local? এটি Moscow ও Helsinki-এর external VDS checks-এর সঙ্গে DNS, HTTPS/TLS, ports, routing, IP, hosting এবং CMS signals মিলিয়ে দেখে, এবং প্রতিটি result-কে final proof নয়, diagnostic evidence হিসেবে ধরে।
Production software-এ TypeScript ও Codex এত ভালো কাজ করে কেন
Production কাজের ক্ষেত্রে TypeScript Codex-কে এমন কিছু দেয় যা ভালো prompt দিয়েও পুরোপুরি বদলানো যায় না: machine-checkable contract, দ্রুত compiler feedback এবং বড় refactor-এর জন্য নিরাপদ পথ।
আমি Jurfi.com বানিয়েছি: গঠনমূলক লিগ্যাল ড্রাফটের জন্য ব্রাউজারভিত্তিক স্টুডিও
আমি Jurfi.com বানিয়েছি ফর্ম ও টেমপ্লেট থেকে ব্রাউজারের মধ্যেই গঠনমূলক লিগ্যাল ওয়ার্কিং ড্রাফট তৈরি করতে, ড্রাফট লোকালভাবে রাখতে এবং রিভিউকে প্রক্রিয়ার স্পষ্ট অংশ করতে—সফটওয়্যার আইনজীবীর বিকল্প এমন দাবি না করে।
SaaS থেকে আমার প্রথম আয়: একটি পেমেন্ট আসলে কী প্রমাণ করেছিল
নিজের তৈরি SaaS প্রোডাক্ট থেকে পাওয়া প্রথম পেমেন্টটি ছোট ছিল, কিন্তু সেটি আমার হাতে থাকা প্রমাণের ধরন বদলে দিয়েছিল। একটি ট্রানজ্যাকশন কী নিশ্চিত করতে পারে, কী পারে না, এবং কেন একই আচরণের পুনরাবৃত্তি আসল milestone-এর চেয়ে বেশি গুরুত্বপূর্ণ—এই লেখাটি তা নিয়ে।
আমি কীভাবে Codex দিয়ে ১৫টি প্রজেক্ট রিভিউ করি, কিন্তু চূড়ান্ত নিয়ন্ত্রণ নিজের হাতে রাখি
১৫টি সফটওয়্যার প্রজেক্ট রিভিউ করা আগে মানে ছিল অসংখ্য পুনরাবৃত্তিমূলক চেকের মধ্যে ডুবে যাওয়া। Codex bug, test, SEO, translation, localization আর consistency অনেক দ্রুত পরীক্ষা করতে সাহায্য করে, কিন্তু আমি প্রতিটি AI finding-কে verdict নয়, lead হিসেবে দেখি এবং প্রতিটি পরিবর্তন নিজে verify করি।
ChatGPT Plus-এ Codex limit-এর শেষ ৩–৫% আমি কেন বড় engineering task-এ খরচ করি — আপডেট: ২০২৬ সালের গ্রীষ্মে পদ্ধতিটি আর কাজ করেনি
আপডেট: ২০২৬ সালের গ্রীষ্ম নাগাদ এই workflow আমার জন্য আর নির্ভরযোগ্য ছিল না। account থেকে ৫-ঘন্টার counter অদৃশ্য হয়, শুধু weekly limit দেখা যায়, এবং দীর্ঘ task weekly allowance শেষ হলে থেমে যেতে পারে।
আমি AI দিয়ে ১০,০০০ SEO আর্টিকেল প্রকাশ করেছিলাম—শেষে Google-এ আমার সাইটের indexed page দাঁড়িয়েছিল শূন্য
Mass AI publishing শুরুতে shortcut মনে হয়েছিল: Google আমার তৈরি ১০,০০০ article URL-ই crawl করেছিল, কিন্তু প্রায় ১,০০০ page-ই সত্যি index হয়ে Search-এ দেখা দিয়েছিল এবং real traffic এনেছিল। পরে সেই indexed page-গুলোও হারাতে থাকে, শেষ পর্যন্ত পুরো site zero indexed page-এ পৌঁছে যায়। এই experience AI, SEO, translation এবং AI-কে autonomous publisher নয়, assistant হিসেবে ব্যবহারের বিষয়ে আমার চিন্তা বদলে দিয়েছে।
8GB/256GB M1 MacBook-এর সঙ্গে পাঁচ বছর: এখনও কেন বদলাইনি
প্রায় 1,000 ডলারে 8GB মেমরি ও 256GB SSD-সহ বেস M1 MacBook কিনে আমি সেটি দিনে প্রায় 15 ঘণ্টা সফটওয়্যার ডেভেলপমেন্ট, মিডিয়া কাজ, লেখা, শেখা ও সাইড প্রজেক্টে ব্যবহার করেছি। পাঁচ বছর পর সীমাবদ্ধতা স্পষ্ট, কিন্তু আপগ্রেড ভাবছি আমার workload বেড়েছে বলে—মেশিনটি আর কাজে লাগে না বলে নয়।
ChatGPT দিয়ে ব্লগ ২০ ভাষায় অনুবাদ করার পর সারা বিশ্ব থেকে সার্চ ট্রাফিক আসতে শুরু করল
AI আমার জন্য বহু-ভাষার প্রকাশনার অর্থনীতি বদলে দিয়েছে। এক ভাষার ব্লগ থেকে আমি প্রতিটি লেখা সর্বোচ্চ ২০ ভাষায় প্রকাশ করতে শুরু করি, ফলে অর্গানিক সার্চ থেকে নতুন নতুন প্রবেশপথ তৈরি হয়েছে।
আমি QRViz-কে ফ্রি static QR code generator হিসেবে লঞ্চ করেছি — আর distribution-এর জন্য SEO-র ওপর বাজি ধরেছি
QRViz হলো browser-based static QR code generator, campaign platform নয়। এটি URL, Wi-Fi, vCard, PDF, menu, event, packaging এবং অন্যান্য stable destination support করে। Size, quiet zone, error correction, colors, gradients, eye styles এবং logo placement বদলে PNG, SVG বা PDF export করা যায়।. qrviz.com-কে একটি ফ্রি QR কোড জেনারেটর হিসেবে লঞ্চ করেছি; বিজ্ঞাপনের বাজেট, পেইড অ্যাকুইজিশন বা মনিটাইজেশন ফানেল নেই। মানুষ এটি খুঁজে পাবে কি না, সেই অনিশ্চয়তা নিয়ে আমি পুরোপুরি SEO-র ওপর নির্ভর করছি।
SaaS বানানোর চেয়ে কাস্টমার পাওয়া আমার কাছে কেন বেশি কঠিন লেগেছে
SaaS বানানোর অভিজ্ঞতা থেকে আমার সরাসরি শেখা: ইঞ্জিনিয়ারিংয়ে ফিডব্যাক ছিল পরিষ্কার ও যাচাইযোগ্য, কিন্তু ডিস্ট্রিবিউশন, পজিশনিং, মেসেজিং এবং রিটেনশনে লুপটি ছিল একেবারে আলাদা ও অনেক কম পূর্বানুমানযোগ্য।
আমি একাই একটি SaaS প্রোডাক্ট বানিয়েছি। পেমেন্ট চালু হতেই কাজের অর্থ বদলে গেল
রাতে, সপ্তাহান্তে আর ছুটির দিনে আমি একাই এই প্রোডাক্টটি বানিয়েছি। পেমেন্ট চালু হওয়ার পর bug, onboarding, moderation, retention আর trust আর ভবিষ্যতের কাজ রইল না; এগুলো বাস্তব একটি প্রোডাক্ট চালানোর অংশ হয়ে গেল।
I Got 550 Views from One Image, Voiceover, and Subtitles: What Three Shorts Tests Actually Taught Me
A simple YouTube Short built from one static image, a voiceover, and subtitles reached 550 views. After three early tests, the useful lesson was not a proven formula, but a repeatable way to experiment without confusing a promising signal with proof.
মস্কোর একটি Frontend চাকরিতে প্রায় 6,000 আবেদন দেখেছি। এটি রাশিয়ার IT বাজার সম্পর্কে কী বলে — আর কী বলে না
2023 সালের শেষ দিকে রিক্রুটাররা আমাকে বলতেন, একটি পদের জন্য 300–500 আবেদনই অনেক। 20 জানুয়ারি 2026-এ মস্কোর একটি mid-level Frontend পদের আবেদনসংখ্যা কয়েক ঘণ্টার মধ্যে প্রায় 6,000-এ যেতে দেখেছি। এই সংখ্যাটি আসলে কী ইঙ্গিত দেয়, কী প্রমাণ করে না, এবং প্রার্থী হিসেবে আমি এখন এটিকে কীভাবে পড়ি, সেটাই এখানে লিখেছি।
DeepSeek কীভাবে আমার Node.js workflow বদলে দিল: ছয় মাসে ৪,০০০-এর বেশি commit
২০২৫ সালে আমার GitHub graph প্রায় ফাঁকা অবস্থা থেকে বছরের দ্বিতীয়ার্ধে ৪,০০০-এর বেশি commit-এ পৌঁছেছিল। এই লেখায় বলেছি AI coding কীভাবে আমার Node.js side-project workflow বদলেছে, কোথায় সময় বাঁচিয়েছে, কোথায় ভুল করেছে, আর কেন verification এখনও generation speed-এর চেয়ে বেশি গুরুত্বপূর্ণ।
২৮ বছর বয়সে আমার প্রথম TikTok: একটি vertical product demo আমাকে traffic সম্পর্কে কী শিখিয়েছে
২৮ বছর বয়সে আমি প্রথম TikTok পোস্ট করি এবং একই product demo Reels ও Shorts-এও দিই। আসল শিক্ষা views নয়; 9:16 frame কীভাবে desktop interface বদলে দেয় এবং reach-কে acquisition ভেবে ভুল না করে short-form traffic কীভাবে মাপতে হয়—সেটাই ছিল গুরুত্বপূর্ণ।
আমি 25 বছরের পুরোনো ডোমেইন কিনেছিলাম: dead URL-এ দিনে 1,000+ request আসতে শুরু করল
2000 সালে প্রথম নিবন্ধিত একটি ডোমেইনে নতুন সাইট চালু করার পর পুরোনো URL-এ দিনে 1,000-এর বেশি request এবং Yandex Webmaster-এ এক রাতেই 900-এর বেশি error দেখেছিলাম। এখানে কী সত্যিই প্রমাণ করা গিয়েছিল, কেন targeted 410 ব্যবহার করেছি এবং এখন aged domain কীভাবে audit করতাম তা ব্যাখ্যা করেছি।
Yandex 12,500টি পৃষ্ঠা ইনডেক্স করেছিল, তবু রাশিয়া থেকে ট্রাফিক প্রায় শূন্য ছিল: যে Cloudflare সমস্যাটি আমি বুঝিনি
Yandex 12,500টি পৃষ্ঠা ইনডেক্স করেছিল, কিন্তু রাশিয়া থেকে ট্রাফিক ছিল প্রায় শূন্য। আমি সমস্যাটিকে নেটওয়ার্ক পাথ পর্যন্ত সীমিত করি, Cloudflare proxy বন্ধ করি, নিজের VDS-এর Nginx-এ cache, compression ও basic protection সরিয়ে নিই, এবং অ্যাক্সেস ফিরে আসে।
আমার স্ট্যাটিক Next.js সাইটে প্রতিদিন হাজারো ভলনারেবিলিটি স্ক্যান আসে। Nginx প্রায় টেরই পায় না
লগে WordPress, PHP backdoor, .env আর .git/config খোঁজা probe-এর অভাব নেই। আমার static Next.js + Nginx সেটাপে এগুলোর বেশিরভাগই সস্তা miss ও 404 হয়ে শেষ হয়, আর পর্যবেক্ষণের সময় CPU load বদলায়নি। এই অভিজ্ঞতা static-site security সম্পর্কে আসলে কী বলে—এবং কী বলে না—সেটাই এখানে পরিষ্কার করছি।
Yandex আমার নতুন সাইটে ট্র্যাফিক পাঠাতে শুরু করল, আর Google প্রায় স্থিরই রইল
একই নতুন প্রজেক্টে Google দীর্ঘ সময়ে মাত্র প্রায় 300 ক্লিক দিয়েছে, আর Yandex Webmaster-এ স্পষ্ট উর্ধ্বগতি দেখা গেছে—এক পর্যায়ে ক্লিক +500% পর্যন্ত দেখানো হয়েছিল। গুরুত্বপূর্ণ বিষয় হলো, এই সংখ্যাগুলো কী প্রমাণ করে আর কী করে না।
Yandex এক রাতেই আমার 4,278টি Next.js পেজ ইনডেক্স করল — এতে আসলে কী প্রমাণিত হলো?
Yandex প্রায় একসঙ্গে আমার Next.js দিয়ে statically generated 4,278টি পেজ ইনডেক্স করেছিল। এটি বাস্তব একটি প্রযুক্তিগত মাইলফলক ছিল, কিন্তু ranking বা traffic সাফল্যের প্রমাণ নয়। এখানে আমি আলাদা করছি—SSG ও programmatic SEO সম্পর্কে এই ফলাফল কী বলেছিল, আর কী বলেনি।
SEO-তে আমার প্রথম মাস: ৬৩২ অর্গানিক ভিজিটর এবং বট ট্রাফিক নিয়ে একটি বাস্তবতা যাচাই
কাজের একটি বড় SEO উদ্যোগের প্রস্তুতি হিসেবে আমি ব্যক্তিগত side project-কে পরীক্ষার ক্ষেত্র বানিয়েছিলাম। এক মাসে ৬৩২ অর্গানিক ভিজিটর এলেও, ৮৩ ভিজিটরের একটি দিন দেখিয়েছে সন্দেহজনক ট্রাফিক ও analytics-এর সীমাবদ্ধতা কত সহজে ফলাফলের গল্প বদলে দিতে পারে।
Yandex Webmaster প্রায় এড়িয়েই যাচ্ছিলাম। দুই সপ্তাহ পরে Google-এর চেয়ে বেশি ট্র্যাফিক আসছিল সেখান থেকে
SEO-গুরুত্বপূর্ণ কাজের প্রজেক্টের আগে হাতে-কলমে শেখার জন্য Next.js দিয়ে side project বানিয়েছিলাম। প্রথম দুই সপ্তাহে Google থেকে 58 জন আর Yandex থেকে 200 জন ভিজিটর আসে—এবং বুঝি traffic, indexing ও diagnostics আলাদা করে দেখা দরকার।
Yandex Metrica বনাম Google Analytics: এক সপ্তাহ পর কেন আমি Metrica-কে বেশি পছন্দ করেছি
নতুন একটি প্রজেক্টে আমি এক সপ্তাহ Google Analytics এবং Yandex Metrica পাশাপাশি চালিয়েছি। Webvisor-এর session replay-এর কারণে Metrica আমার কাজে বেশি সুবিধাজনক মনে হয়েছে, তবে এটি আমার workflow-এর অভিজ্ঞতা—সবার জন্য একটি প্ল্যাটফর্ম ভালো, এমন প্রমাণ নয়।
Yandex আমার ব্লগ /en ছাড়া crawl করেছিল; 308 redirect 404 ঠেকিয়েছে
sitemap-এ প্রায় 3,000টি /en/blog/... পেজ যোগ করার পর দেখি Yandex সংশ্লিষ্ট /blog/... path crawl করার চেষ্টা করছে। আগে থেকেই থাকা 308 redirect request-গুলোকে 404-এ শেষ হতে দেয়নি। আসল শিক্ষা ছিল না যে Yandex sitemap “ভেঙে দিয়েছে”; বরং পরিষ্কার redirect layer URL architecture-কে কতটা resilient করতে পারে।
দুটি নতুন সাইট Google-এ হঠাৎ উঠল, তারপর কয়েক দিনের মধ্যে ট্রাফিক প্রায় ১০ গুণ কমল
পরপর দুটি লঞ্চে Google impressions সঙ্গে সঙ্গে বেড়েছিল, তারপর কয়েক দিনের মধ্যেই ট্রাফিক প্রায় এক-দশমাংশে নেমে আসে। প্যাটার্নটি বাস্তব, কিন্তু এটিই যে তথাকথিত “Google honeymoon” ছিল তা আমি প্রমাণ করতে পারি না।
Yandex Search থেকে এক রাতেই ২,০০০ পেজ উধাও। আসলে এখান থেকে কী নিশ্চিতভাবে বোঝা গিয়েছিল?
Yandex Webmaster-এ দেখলাম, প্রায় ৮,০০০ পেজের মধ্যে ২,০০০ পেজ আর search-এ অংশ নিচ্ছে না। ২৫% পতন বড় ছিল, কিন্তু আসল শিক্ষা ছিল—দেখা search-status change-কে প্রমাণিত cause ধরে নেওয়া যাবে না।
MoscowJS 66-এ ১০টিরও বেশি প্রশ্ন করে দুটি পুরস্কার জিতেছিলাম
MoscowJS 66-এ Telegram bot, LangChain.js, site builder architecture এবং TypeScript type testing নিয়ে talk চলাকালে আমি ১০টিরও বেশি প্রশ্ন করি। তার মধ্যে দুটি সেরা প্রশ্ন হিসেবে নির্বাচিত হয় এবং আমি দুটি পুরস্কার পাই।
PiterJS #79 থেকে যা শিখলাম: Legacy Monolith, FrontOps, Web Performance এবং আরও ভালো প্রশ্ন
সেন্ট পিটার্সবার্গের PiterJS #79 ছিল আগে থেকেই থাকা সিস্টেম কীভাবে রক্ষণাবেক্ষণ করা যায় তা নিয়ে: legacy monolith, FrontOps এবং web performance metrics। আমি ফিরেছি ব্যবহারযোগ্য নোট, Q&A-তে পাওয়া দুটি পুরস্কার এবং offline meetup-এ সক্রিয় অংশগ্রহণের মূল্য নিয়ে নতুন উপলব্ধি নিয়ে।
আমি 21 ভাষায় Next.js ব্লগ চালু করেছিলাম। 439 Google ইমপ্রেশন আসলে আমাকে কী বলেছিল
প্রথম সপ্তাহে আমার 21 ভাষার Next.js ব্লগ Google থেকে 439 ইমপ্রেশন ও 5 ক্লিক পেয়েছিল। পরে 471 পেজের মধ্যে 436টি ইনডেক্সড ছিল। আসল শিক্ষা ছিল visibility, indexing এবং বাস্তব search performance-কে আলাদা করে দেখা।
JavaScript নিয়ে ছয় বছর পর MoscowJS 65: কেন আমি এখনও স্থানীয় মিটআপে যাই
৫ জুন ২০২৫-এ T Bank-এ MoscowJS 65-এ অংশ নিয়েছিলাম। চারটি সেশন AI-কে ভিন্ন ভিন্ন দিক থেকে দেখেছিল, কিন্তু আমার মূল উপলব্ধি ছিল আরও সহজ: স্থানীয় মিটআপ এখনও এমন কিছু দেয়, যা ডকুমেন্টেশন বা রেকর্ডিং পুরোপুরি বদলে দিতে পারে না।