# Carriage - ১৮ মাসে তৈরি ভ্রমণকারীদের সহায়তা অ্যাপ

Company: Upwork
Service: অ্যাপ ডেভেলপমেন্ট
Period: 2022-12 - 2024-06
Tech: React Native, NestJS, GraphQL, MongoDB, TypeScript, Node.js, Expo, Socket.IO
Web: https://webanion.com
Canonical: https://webanion.com/bn/portfolio/carriage-traveler-help-app-delivered-over-18-months

এমন কোথাও নামলেন যেখানকার ভাষা আপনি জানেন না, চারপাশে সাহায্য আছে অথচ নাগালের বাইরে। Carriage সেটিকে নাগালে আনে: নিজের ডট চালু করুন, দেখুন কাছাকাছি কারা আপনার ভাষা জানেন এবং সাহায্য করতে রাজি, একজনের কাছে এগিয়ে যান, আর তিনি সম্মত হলে বার্তা পাঠাতে, কল করতে বা সামনাসামনি দেখা করতে পারেন। একক ডেভেলপার হিসেবে React Native অ্যাপ ও NestJS GraphQL ব্যাকএন্ড দুটিই তৈরি করা হয়েছে, খালি নেভিগেশন শেল থেকে শুরু করে সোশ্যাল লগইন, প্রোফাইল, নির্দিষ্ট পরিধিতে খোঁজা, অ্যাপ্রোচ প্রবাহ ও বার্তা আদান প্রদান পর্যন্ত, ধাপে ধাপে সরবরাহ করে। দেড় বছরে একটানা একটি চুক্তিতে এগারোটি মাইলফলক গৃহীত হয়েছে, শেষ হয়েছে ১.৮.০ সংস্করণে।

## পুরো গল্পটা

একজন ভ্রমণকারীর সবচেয়ে খারাপ মুহূর্ত, সাহায্য করতে পারেন এমন একজন অচেনা মানুষ, আর একটি একটি করে গৃহীত মাইলফলকে গড়ে ওঠা একটি পণ্য।

### যে মুহূর্তে কেউ আপনার কথা বোঝে না

<p>প্রত্যেক ভ্রমণকারী এই মুহূর্তটা চেনেন: একটি স্টেশন, একটি ফার্মেসি বা একটি পুলিশ ডেস্ক, যেখানে কেউ আপনার ভাষা জানে না, অথচ আপনার কথা এখনই কাউকে বোঝানো জরুরি। অনুবাদ অ্যাপ একটা বাক্যে সাহায্য করে, পুরো পরিস্থিতিতে নয়। আপনি চান কাছেই এমন একজন মানুষ, যিনি আপনার ভাষা জানেন এবং সাহায্য করতে রাজি।</p><p>Carriage তৈরি হয়েছে ঠিক সেই মুহূর্তের জন্য, আর সেই অসংখ্য মানুষের জন্য, যারা কাছেই কোনো অচেনা মানুষ আছেন জানলে খুশি মনেই তাকে সাহায্য করতেন।</p>

### আগে ভাষা, তারপর কে আপনাকে খুঁজে পাবে

<p>প্রতিটি প্রোফাইল শুরু হয় একজন মানুষ কোন কোন ভাষা বলেন এবং কতটা ভালো বলেন তা দিয়ে, কয়েকটা শব্দ থেকে শুরু করে সাবলীল পর্যন্ত, তারপর তার আগ্রহ এবং কারা তাকে দেখতে পাবে তার একটি স্পষ্ট বাছাই: একটি বয়সসীমা, লিঙ্গ ও প্রোফাইলের ধরন। এই একটি সেটআপই ঠিক করে দেয় কে কাকে খুঁজে পাবে, ফলে ভ্রমণকারীর মিল হয় সেই ভাষায় যেটা আসলে দরকার, আর কাউকেই এমন মানুষের সামনে দেখানো হয় না যাদের তিনি বেছে নেননি।</p>

### মানচিত্রে ডট, সাহায্য করতে রাজি মানুষ

<p>নিজের ডট চালু করলেই মানচিত্রে দেখা যায় আপনার পরিধির মধ্যে কারা আছেন যাদের সঙ্গে আপনার ভাষা মেলে এবং যারা এই মুহূর্তে সাহায্যের জন্য আছেন, এক নজরে লস অ্যাঞ্জেলেসের দশ মাইল। কোনো ডটে ট্যাপ করে দেখুন তিনি কে, বয়স কত, কোন কোন ভাষা বলেন, আর একটি ছোট পরিচিতি, তারপর তার কাছে এগিয়ে যান, নয়তো পরের জনকে দেখুন। সাহায্যকারী সম্মতি না দেওয়া পর্যন্ত এর বেশি কিছু শেয়ার হয় না, আর সম্মতি দিলে দুজনে বার্তা পাঠাতে পারেন, অডিও বা ভিডিও কল করতে পারেন, এবং পরিস্থিতি দাবি করলে সামনাসামনি দেখাও করতে পারেন।</p><p>এটা কোনো ডিরেক্টরি ঘাঁটার মতো লাগে না, বরং ভিড়ের মধ্যে ঠিক মানুষটির সঙ্গে চোখাচোখি হওয়ার মতো লাগে।</p>

### আপনি চাইলে তবেই দেখা যাবে

<p>আপনাকে খুঁজে পাওয়া যাবে কি না, সেটা আপনার সিদ্ধান্ত, আগে থেকে চালু করা থাকে না। সাহায্যকারী নিজে চালু না করা পর্যন্ত তার ডট বন্ধ থাকে, ফিল্টার ঠিক করে দেয় কারা দেখা যাবে এবং একসঙ্গে কতগুলো ডট দেখাবে, আর বাসা ও কর্মস্থল বাদ রাখা যায়, ফলে সেখানে গেলে ডট নিজে থেকেই বন্ধ হয়ে যায়। সাহায্যকারীদের কাছে এটাই কয়েক মিনিটের জন্য একটু উপকার করা আর সারাদিন ডাকের অপেক্ষায় থাকার মধ্যে পার্থক্য, আর এ কারণেই মানুষ যোগ দিতে রাজি হন।</p>

### ডট থেকে কথোপকথন

<p>একজন অচেনা মানুষের কাছে এগিয়ে যাওয়া ছোট একটি অনুরোধ, আর Carriage সেটাকে ছোটই রাখে। সাহায্যকারী সম্মতি দিলেই দুজনে একটি প্রাইভেট চ্যাটে পৌঁছে যান, যেখানে ভ্রমণকারী নিজের ভাষায় পরিস্থিতি বুঝিয়ে বলতে পারেন আর সাহায্যকারী উত্তরে জানাতে পারেন পথের দিশা, কোন নাম খুঁজতে হবে বা কোথায় অপেক্ষা করতে হবে। আগের প্রতিটি কথোপকথন ইনবক্সে থেকে যায়, তাই ভ্রমণকারীর যাদের সঙ্গে আগে পরিচয় হয়েছে, পরের বার কোথাও নামলে সেই সাহায্যকারীরা মাত্র এক ট্যাপ দূরে।</p><p>প্রতিষ্ঠাতার কাছে এটাই সেই মুহূর্ত, যখন পণ্যটি আর শুধু একটি মানচিত্র থাকে না, একটি সম্পর্ক হয়ে ওঠে, আর এ কারণেই মানুষ আবার অ্যাপটি খোলেন।</p>

### যখন টাইপ করা খুব ধীর

<p>কিছু পরিস্থিতি উত্তরের অপেক্ষা করতে পারে না। একজন ফার্মাসিস্ট প্রশ্ন করছেন, একটি ট্রেন ছাড়ার মুখে, একজন অফিসার এখনই উত্তর চান। চ্যাটের হেডার থেকে ভ্রমণকারী সাহায্যকারীকে অডিও কল করতে পারেন, কিংবা ভিডিওতে গিয়ে ক্যামেরা ধরতে পারেন সাইনবোর্ড, ফর্ম বা কাউন্টারের দিকে, যাতে সাহায্যকারী পরিস্থিতিটা বুঝে তার হয়ে কথা বলতে পারেন। কল চলে Twilio দিয়ে, চ্যাটের সেই একই NestJS ব্যাকএন্ডের মাধ্যমে, ফলে ফোন নম্বর আদান প্রদান না করেই দুজনে অ্যাপের ভেতরে কথা বলেন, আর সাহায্য কতদূর যাবে তা ঠিক করেন সাহায্যকারী।</p>

### পণ্যের ভেতরেই বৃদ্ধি আর আয়ের ব্যবস্থা

<p>একটি কনজিউমার অ্যাপের দরকার ব্যবহারকারী, আর নিজের খরচ নিজে চালানোর একটি উপায়। প্রত্যেক সদস্য পান একটি রেফারেল কোড ও একটি QR কোড, যা অ্যাপের লিংক শেয়ার করে, আর বন্ধুরা সেটি দিয়ে যোগ দিলে পুরস্কার মেলে, ফলে নেটওয়ার্ক বাড়ে এর ভেতরে আগে থেকে থাকা মানুষদের মাধ্যমেই। ফ্রি ট্রায়ালের পর Carriage Pro খুলে দেয় আরও বেশি ডট, অ্যানালিটিক্স, একটি Pro ব্যাজ এবং বিজ্ঞাপনমুক্ত অ্যাপ, যা প্রতিষ্ঠাতাকে দেয় আয়ের একটি উৎস, সেই ব্যবহারকারীদের কাছ থেকে যারা অ্যাপটি থেকে সবচেয়ে বেশি সুবিধা পান।</p>

### আঠারো মাস, এগারোটি গৃহীত মাইলফলক

<p>প্রতিষ্ঠাতার দরকার ছিল এমন একজন পার্টনার, যিনি দেড় বছর পরেও নিয়মিত কাজ ডেলিভারি দিয়ে যাবেন। Carriage তৈরি করেছেন একজন ডেভেলপার, React Native অ্যাপ এবং NestJS, GraphQL ও MongoDB ব্যাকএন্ড দুটিই, এগারোটি মাইলফলকে। প্রতিটি মাইলফলক আগে লিখিতভাবে পরিকল্পনা করা হয়েছে, স্ক্রিনশট ও একটি ওয়াকথ্রু ভিডিওসহ হস্তান্তর করা হয়েছে, এবং একটি সেটেলমেন্ট ডকুমেন্টের মাধ্যমে গৃহীত হয়েছে, যা ক্লায়েন্ট নিজের কাছে রেখেছেন।</p>

### ইচ্ছা করেই সাদামাটা একটি ভিত্তি

<p>প্রথম মাইলফলকটি ছিল ইচ্ছা করেই জৌলুসহীন: অ্যাপের নেভিগেশন আর কাঠামো, খালি স্ক্রিনসহ, কোনো ডেমো ফিচার ছাড়া। এরপরের সবকিছু তাড়াহুড়োর শুরুকে জোড়াতালি দিয়ে সামলানোর বদলে সেই ভিত্তির ওপরই গড়ে উঠেছে, আর স্কোপের পরিবর্তন চুপচাপ মেনে নেওয়ার বদলে খোলাখুলি আলোচনা করে ঠিক করা হয়েছে।</p><p>প্রতিষ্ঠাতার কাছে এর মানে ছিল এমন একটি পণ্য যা আঠারো মাস ধরে কোনো রিরাইট ছাড়াই বেড়েছে, এমন একটি বাজেট যা সবসময় চোখের সামনে ছিল, আর প্রতিটি সিদ্ধান্তের রেকর্ড। ভ্রমণকারীদের কাছে এর মানে ছিল এমন একটি অ্যাপ, যা ঠিক সেই মুহূর্তে কাজ করেছে যখন তাদের সবচেয়ে বেশি দরকার ছিল।</p>
