মিরপুরের একটা কোচিং সেন্টারের জন্য অ্যাটেনডেন্স আর ফি-ম্যানেজমেন্টের সফটওয়্যার বানাতে গিয়ে পরিচিত এক ফ্রিল্যান্সার প্রায় তিন সপ্তাহ কাটিয়ে দিয়েছিলেন শুধু স্ট্যাক ঠিক করতে। Laravel দিয়ে শুরু, তারপর ইউটিউবে একটা ভিডিও দেখে Next.js-এ সরে যাওয়া, আবার auth নিয়ে আটকে গিয়ে Laravel-এ ফেরত। সব মিলিয়ে আসল কোড লেখা হয়েছিল চার দিনের। এই লেখাটা ঠিক সেই তিন সপ্তাহ বাঁচানোর জন্য।
সোজা কথায়: Laravel আর Next.js—দুটো দিয়েই একটা কাজের SaaS দাঁড় করানো যায়। প্রশ্নটা কোনটা ভালো তা নয়। প্রশ্নটা হলো, আপনার হাতে যখন সপ্তাহে ২০ ঘণ্টা আর মাথায় পাঁচজন সম্ভাব্য কাস্টমার, তখন কোন টুলটা আপনাকে কম জায়গায় আটকাবে। এটাই একমাত্র প্রাসঙ্গিক মাপকাঠি।
দুটো টুলের আসল চরিত্র
Laravel একটা পূর্ণাঙ্গ ব্যাকএন্ড ফ্রেমওয়ার্ক, আর সেটা মতামতসহ আসে। লগইন-রেজিস্ট্রেশন, Eloquent ORM, মাইগ্রেশন, কিউ (queue), শিডিউলার (ক্রন), মেইল, ফাইল স্টোরেজ, পারমিশন পলিসি—সব একই বাক্সে। উপরন্তু Cashier দিয়ে সাবস্ক্রিপশন বিলিং আর Filament দিয়ে অ্যাডমিন প্যানেল এক বিকেলে দাঁড় করানো যায়। আপনি যা পান, তা হলো সিদ্ধান্ত কম নিতে হওয়ার সুবিধা।
Next.js মূলত একটা রেন্ডারিং ফ্রেমওয়ার্ক—App Router, সার্ভার কম্পোনেন্ট, রুট হ্যান্ডলার। এর বাইরে প্রতিটা জিনিস আপনার নিজের বাছাই: ডাটাবেসের জন্য Prisma না Drizzle, auth-এর জন্য Auth.js না Clerk, ব্যাকগ্রাউন্ড জবের জন্য আলাদা সার্ভিস, মেইলের জন্য Resend। স্বাধীনতাটা আসল, কিন্তু জোড়া লাগানোর সময়টাও আসল।
এক লাইনের নিয়ম: প্রোডাক্টের দাম যদি ডাটাবেসের ভেতরে থাকে (রিপোর্ট, ইনভয়েস, রোল, হিসাব) তাহলে Laravel। আর দাম যদি স্ক্রিনের ওপরে থাকে (স্পিড, SEO, ইন্টার্যাকশন) তাহলে Next.js।
সপ্তাহ ১: কোড নয়, এক পাতায় প্রোডাক্ট
প্রথম সপ্তাহে এডিটর খোলারই দরকার নেই। এক পাতা কাগজে লিখে ফেলুন—কে ব্যবহার করবে, কোন তিনটা স্ক্রিন ছাড়া প্রোডাক্টটা অচল, আর টাকা কোন পথে আসবে। উদাহরণ দিই: একটা কুরিয়ার-মার্চেন্ট ড্যাশবোর্ড SaaS-এর তিন স্ক্রিন হতে পারে—CSV দিয়ে অর্ডার আপলোড, স্ট্যাটাস ট্র্যাকিং, আর মাস শেষে COD রিকনসিলিয়েশন। ব্যস। ড্যাশবোর্ডে গ্রাফ, ডার্ক মোড, নোটিফিকেশন সেন্টার—এসব চার নম্বর থেকে শুরু, মানে এখন নয়।
- তিনটার বেশি স্ক্রিন লিখে ফেললে বুঝবেন স্কোপ ফুলে গেছে; কেটে ছোট করুন।
- দাম আগে ঠিক করুন, পরে নয়—মাসে ৳৪৯৯ নাকি বছরে ৳৪,৯৯৯, সেটাই ঠিক করে দেবে আপনি সেলফ-সার্ভ সাইনআপ বানাবেন নাকি হাতে ইনভয়েস পাঠাবেন।
- পাঁচজন সম্ভাব্য ইউজারের সঙ্গে ফোনে ১৫ মিনিট কথা বলুন। তাঁরা এখন সমস্যাটা কীভাবে সামলান জেনে নিন—উত্তর প্রায় সবসময়ই এক্সেল, আর সেটাই আপনার আসল প্রতিদ্বন্দ্বী।
সপ্তাহ ২: একই ছোট জিনিস দুই স্ট্যাকে বানান
এখন কাগজে তুলনা পড়া বন্ধ করে হাতে-কলমে পরীক্ষা করুন। স্পেক ঠিক করুন এক লাইনে: সাইনআপ, লগইন, একটা প্রোটেক্টেড পেজ, আর ডাটাবেসে একটা রেকর্ড সেভ। প্রতিটা স্ট্যাকের জন্য দুই দিন সময় বেঁধে দিন। Laravel-এর স্টার্টার কিটে এটা সাধারণত দুই-তিন ঘণ্টার কাজ। Next.js-এ Auth.js + Drizzle + একটা হোস্টেড Postgres (Neon বা Supabase) মিলিয়ে প্রথমবার পাঁচ-ছয় ঘণ্টা লাগতে পারে—সেশন আর ডাটাবেস কানেকশন ঠিক করতে গিয়েই বেশিরভাগ সময় যায়।
এই পরীক্ষার উদ্দেশ্য বিজয়ী ঘোষণা করা নয়। উদ্দেশ্য হলো আপনি ব্যক্তিগতভাবে কোথায় আটকান সেটা বের করা। কারণ SaaS বানানোর ৮০ শতাংশ সময় যায় ছোট ছোট খুঁটিনাটিতে—ইমেইল ভেরিফিকেশন কাজ করছে না, ফাইল আপলোড ৪১৩ এরর দিচ্ছে, ক্রন চলছে না। যে স্ট্যাকে এই খুঁটিনাটিগুলো আপনি দ্রুত পার হন, সেটাই আপনার স্ট্যাক—অন্য কারও নয়।
Laravel যেখানে স্পষ্টভাবে এগিয়ে
- সাবস্ক্রিপশন, ইনভয়েস, VAT/AIT-এর হিসাব—অর্থাৎ ব্যাকএন্ড-ভারী প্রোডাক্ট, যেখানে লজিকটাই মূল পণ্য।
- অ্যাডমিন প্যানেল দিন একেই লাগবে: Filament দিয়ে CRUD, ফিল্টার, এক্সপোর্ট, রোল—সব এক দিনে।
- SMS/ইমেইল পাঠানো, নাইটলি রিপোর্ট, রিমাইন্ডার: কিউ আর শিডিউলার বিল্ট-ইন, আলাদা সার্ভিস কিনতে হয় না।
- হোস্টিং বাজেট টাইট: দেশি cPanel শেয়ার্ড হোস্টিং (বছরে ৳৩,০০০–৫,০০০) PHP চালাতে অভ্যস্ত, আর দরকার হলে $৬-এর VPS-এ সরানো সহজ।
Next.js যেখানে এগিয়ে
- মার্কেটিং সাইট আর অ্যাপ এক কোডবেসে থাকবে—SEO ল্যান্ডিং পেজ, ব্লগ, আর লগইন-করা ড্যাশবোর্ড একসঙ্গে।
- ইন্টার্যাক্টিভ UI: ড্র্যাগ-ড্রপ বোর্ড, লাইভ এডিটর, রিয়েল-টাইম প্রিভিউ—যেখানে প্রতিটা ক্লিকের রেসপন্স গুরুত্বপূর্ণ।
- আপনার বা টিমের হাত ইতিমধ্যেই JavaScript-এ পাকা; নতুন করে PHP শেখানোর সময় নেই।
- খুব দ্রুত ইটারেট করতে চান—git push করলেই প্রিভিউ URL, ক্লায়েন্টকে পাঠিয়ে দিলেন।
সপ্তাহ ৩–৪: কঙ্কালটা দাঁড় করান
এই দুই সপ্তাহে চারটা টেবিল আর একটা ফ্লো—এর বেশি কিছু নয়। ইউজার, অর্গানাইজেশন (টিম), মেম্বারশিপ, আর আপনার মূল entity। মাল্টি-টেন্যান্সি মানে এখন প্রতি ক্লায়েন্টে আলাদা ডাটাবেস নয়; মানে হলো প্রতিটা টেবিলে একটা organization_id কলাম আর প্রতিটা কোয়েরিতে সেটা বাধ্যতামূলকভাবে ফিল্টার হওয়া। Laravel-এ global scope, Next.js-এ একটা হেল্পার ফাংশন—যেটাই হোক, নিয়মটা যেন কোড রিভিউ ছাড়াই ভাঙা না যায়।
বাস্তব SaaS-এ সবচেয়ে আগে যেটা ভাঙে সেটা স্কেল নয়, সেটা হলো একজন ইউজারের ডেটা আরেকজনের চোখে পড়ে যাওয়া। এই একটা বাগ আপনার প্রথম পাঁচটা কাস্টমারকেই উড়িয়ে দিতে পারে। তাই টেস্ট যদি মাত্র পাঁচটা লেখেন, সেগুলো এখানেই লিখুন।
দুই সপ্তাহ শেষে যদি নিজের অ্যাকাউন্টে লগইন করে অন্তত একটা আসল কাজ (অর্ডার আপলোড, রিপোর্ট জেনারেট, ইনভয়েস তৈরি) পুরোপুরি শেষ করতে না পারেন, তাহলে নতুন ফিচার যোগ করবেন না—স্কোপ কাটুন।
সপ্তাহ ৫: টাকা নেওয়ার ব্যবস্থা
এখানে বাংলাদেশি বাস্তবতা আলাদা, আর এটাই টিউটোরিয়ালগুলো বলে না। Stripe বাংলাদেশে রেজিস্টার্ড কোম্পানিকে সরাসরি অ্যাকাউন্ট দেয় না। কাস্টমার যদি দেশে হয়, তাহলে SSLCommerz, aamarPay বা ShurjoPay-এর মতো অ্যাগ্রিগেটর, নয়তো সরাসরি bKash পেমেন্ট গেটওয়ে—এগুলোই বাস্তব পথ। কাস্টমার যদি বিদেশে হয়, তাহলে Paddle বা LemonSqueezy-র মতো মার্চেন্ট-অব-রেকর্ড সার্ভিস, যারা ট্যাক্সের ঝামেলা নিজে সামলে আপনার ব্যাংক বা Payoneer-এ টাকা পাঠায়।
Laravel-এ Cashier Paddle-এর জন্য তৈরি ইন্টিগ্রেশন দেয়। Next.js-এ webhook হ্যান্ডলার নিজে লিখতে হবে—কাজটা কঠিন নয়, কিন্তু signature ভেরিফাই আর idempotency নিজে সামলাতে হবে। আর হ্যাঁ, প্রথম দিন থেকেই সেলফ-সার্ভ সাবস্ক্রিপশন বাধ্যতামূলক নয়। প্রথম ২০ জন ক্লায়েন্টকে হাতে ইনভয়েস পাঠিয়ে bKash বা ব্যাংক ট্রান্সফারে টাকা নিন। এতে আপনি দুই সপ্তাহ বাঁচালেন, আর জানলেন মানুষ আসলেই টাকা দিতে রাজি কি না।
সপ্তাহ ৬–৭: লঞ্চ, লগ আর প্রথম দশজন
ডিপ্লয়ের জায়গায় জটিলতা বানাবেন না। Laravel হলে মাসে $৬–$১২-এর একটা VPS (DigitalOcean, Hetzner, Vultr), Ubuntu + Nginx + PHP-FPM + MySQL; সার্ভার সেটআপে হাত না দিতে চাইলে Forge বা Ploi। Next.js হলে শুরুতে Vercel-এর ফ্রি টিয়ার, ট্রাফিক বাড়লে $২০-এর Pro—অথবা ফাংশন বিলের চমক এড়াতে নিজের VPS-এ Node + PM2। এর সঙ্গে তিনটা জিনিস দিন একেই বসান: Sentry (এরর), UptimeRobot (ডাউনটাইম), আর প্রতিদিনের ডাটাবেস ব্যাকআপ অন্য কোথাও—একই সার্ভারে ব্যাকআপ রাখাটা ব্যাকআপ নয়।
প্রথম দশজন ইউজার Google থেকে আসবে না। আসবে ফেসবুক গ্রুপ, হোয়াটসঅ্যাপ, আর আপনার পুরোনো ক্লায়েন্টদের রেফারেন্স থেকে। প্রত্যেককে নিজে হাতে অনবোর্ড করুন, স্ক্রিন শেয়ার করে দেখান, আর তাঁরা কোথায় থমকে যান সেটা নোট করুন। ওই নোটই আপনার পরের স্প্রিন্টের ব্যাকলগ।
যা এখন করবেন না
- Laravel API + Next.js ফ্রন্টএন্ড একসঙ্গে। দুইটা ডিপ্লয়, দুইটা auth-এর গল্প, CORS, টোকেন রিফ্রেশ—প্রথম প্রোডাক্টে এটা নিছক আত্মহত্যা।
- Docker Swarm, Kubernetes, মাইক্রোসার্ভিস। আপনার ৫০ জন ইউজারের জন্য একটা ৪ জিবি VPS-ই বেশি।
- নিজের হাতে auth লেখা। পাসওয়ার্ড রিসেট, রেট লিমিট, সেশন—এগুলো সমাধান হয়ে গেছে, ব্যবহার করুন।
- নিজস্ব ডিজাইন সিস্টেম। Tailwind + shadcn/ui বা Filament-এর ডিফল্ট চেহারা প্রথম ২০ জন কাস্টমারের জন্য যথেষ্ট সুন্দর।
ঠিক পথে আছেন কি না, বুঝবেন এভাবে
- সপ্তাহ ২ শেষে: দুই স্ট্যাকেই লগইন কাজ করছে, আর আপনি একটা বেছে নিয়েছেন।
- সপ্তাহ ৪ শেষে: আপনি ছাড়া অন্য একজন মানুষ লগইন করে মূল কাজটা শেষ করতে পেরেছেন, আপনার সাহায্য ছাড়া।
- সপ্তাহ ৬ শেষে: প্রথম টাকা ঢুকেছে—তা সে হাতে পাঠানো ইনভয়েসেই হোক।
- সপ্তাহ ৮ শেষে: অন্তত তিনজন সপ্তাহে একবারের বেশি লগইন করছেন। এটাই আসল সিগন্যাল, সাইনআপ সংখ্যা নয়।
খরচের বাস্তব ছবি
ডোমেইন বছরে ৳১,২০০–১,৫০০। হোস্টিং মাসে ৳৭৫০–১,৫০০ (VPS) অথবা Vercel-এ শুরুতে শূন্য। ট্রানজেকশনাল ইমেইল Resend বা Brevo-র ফ্রি টিয়ারে চলে যাবে। এরর ট্র্যাকিং Sentry-র ফ্রি টিয়ার। অর্থাৎ প্রথম ছয় মাসে আপনার নগদ খরচ মাসে ৳২,০০০-এর নিচে রাখা সম্পূর্ণ সম্ভব। খরচ বাড়ানোর সিদ্ধান্তগুলো কাস্টমার আসার পরে নিন, আগে নয়।
সাধারণ প্রশ্ন
প্রশ্ন: PHP কি মরে যাচ্ছে? Laravel শিখে কি সময় নষ্ট হবে? না। বাংলাদেশের এজেন্সি ও প্রোডাক্ট কোম্পানিগুলোতে Laravel-এর কাজ এখনো প্রচুর, আর ডেভেলপারও পাওয়া যায় তুলনামূলক সহজে। বরং ভালো React ডেভেলপারের বেতন বেশি এবং তাঁদের ধরে রাখা কঠিন—দ্বিতীয় ডেভেলপার নিয়োগের কথা ভাবলে এটা হিসাবের ভেতরে রাখুন।
প্রশ্ন: Next.js দিয়ে কি ভারী ব্যাকএন্ড কাজ করা যায় না? যায়, কিন্তু ব্যাকগ্রাউন্ড জব আর দীর্ঘ প্রসেস সার্ভারলেস ফাংশনে চালানো ঝামেলার—টাইমআউট আছে। বড় রিপোর্ট বা বাল্ক SMS-এর কাজ থাকলে হয় আলাদা worker সার্ভিস লাগবে, নয়তো নিজের সার্ভারে হোস্ট করতে হবে।
প্রশ্ন: Laravel + Inertia দিয়ে React ব্যবহার করলে কি Next.js-এর সুবিধা পাওয়া যায়? বেশিরভাগটাই পাওয়া যায়—React কম্পোনেন্ট, SPA-র মতো নেভিগেশন, একটাই ডিপ্লয়। যেটা পাবেন না তা হলো Next.js-এর স্ট্যাটিক/SEO রেন্ডারিং মডেল। মার্কেটিং পেজগুলো আলাদা করে বানিয়ে নিলে এই সমঝোতাটা বেশ কাজের।
প্রশ্ন: পরে স্ট্যাক বদলাতে হলে? ডাটাবেস স্কিমা পরিষ্কার রাখলে আর বিজনেস লজিক কন্ট্রোলার/রুটের ভেতরে ছড়িয়ে না দিলে মাইগ্রেশন সম্ভব। তবে সত্যি বলি—৫০ জন পেইং ইউজার হওয়ার আগে স্ট্যাক বদলানোর প্রয়োজন প্রায় কখনোই পড়ে না।
আপনি যদি এই আট সপ্তাহের রোডম্যাপটা শুরু করতে চান কিন্তু কঙ্কালটা দাঁড় করাতে একটু হাত দরকার হয়—স্ট্যাক অ্যালিক্সে আমরা Laravel আর Next.js দুটোতেই SaaS বেস, বিলিং আর অ্যাডমিন প্যানেল বানিয়ে দিই। আপনার এক পাতার প্ল্যানটা পাঠান, বাকিটা নিয়ে কথা বলা যাবে।

