ब्लॉग

वह हिस्सा जिसे इंसान सच में महसूस करता है

सफ़र · 27 जून 2026

कुछ हफ़्ते पहले कुछ भी नहीं था, सिवाय Pratyush, Sachin, Anand x Merlin Warriors की उस एक मीटिंग के, कि हमें बस Merlin Agent शिप करना है। बस एक ख़ाली रेपो, एक विंडो, और एक वादा कि हम लोगों के डेस्कटॉप पर एक असली एजेंट पहुँचाएँगे।

आज यह v1.0.x पर है। साइन्ड, नोटराइज़्ड, शिप हो रहा है।

बिल्ड पर हम 3 लोग थे (मैं, Shubhankit और Shahbaz), वैसे Merlin AI की पूरी टीम हमें “Merlin Warriors” बुलाती है, प्यारा है। तो असल में हुआ कैसे, यह रहा।

शुरुआत एक प्रोटोटाइप से

रेपो का जन्म merlin-desktop के नाम से होता है। यह एक प्रोटोटाइप है और मुश्किल से टिका हुआ है। स्ट्रीमिंग जुगाड़ से जोड़ी गई है, ऑथ बस एक ख़ाका है, UI वही है जो शिप हो जाए।

सच कहूँ तो शुरुआत करने का सही तरीक़ा यही है। कोई ज़रूरत से ज़्यादा प्लानिंग नहीं, बस बनाना, तोड़ना और ठीक करना। लेकिन एक चलता हुआ प्रोटोटाइप और ऐसा प्रोडक्ट जिसे लोग सच में महसूस करें, दो बिल्कुल अलग चीज़ें हैं, और उस फ़ासले को पाटना ही ज़्यादातर असली काम था।

काम का बँटवारा

हमने काम इस हिसाब से बाँटा कि हम में से किसे किस चीज़ की परवाह किए बिना रहा नहीं जाता।

Shubhankit ने रीढ़ संभाली। SDK स्ट्रीमिंग, OAuth डीप लिंक, ऑटो अपडेट, कोड साइनिंग और नोटराइज़ेशन, सेशन और अप्रूवल का अंदरूनी ढाँचा।

Shahbaz ने पहुँच संभाली। वेब सर्च, इमेज और वीडियो जनरेशन, YouTube टूल्स, MCP टूलिंग, फ़ाइल अटैचमेंट।

मैंने वह हिस्सा लिया जिसे यूज़र सच में छूता है।

वह हिस्सा जिसे यूज़र छूता है

मैंने जो पहली चीज़ की, वह कोई फ़ीचर भी नहीं थी। वह थी रेंडरर में एक असली डिज़ाइन सिस्टम लाना। लेआउट, स्पेसिंग, कंपोनेंट्स, डिज़ाइन टोकन।

चेंजलॉग पर यह बोरिंग दिखता है। लेकिन उसके बाद की हर चीज़ को यहीं से विरासत मिली, हर चिप, हर मार्जिन, हर मोशन कर्व, इसलिए यह किसी भी एक फ़ीचर से ज़्यादा मायने रखता था।

फिर यह बस बढ़ता ही गया। हर टूल के लिए फ़्लो चिप्स। रिज़ल्ट व्यू। एक फ़ाइल पैनल जो डॉक हो जाता है। सर्च, रीनेम, डिलीट और रिलेटिव टाइमस्टैम्प के साथ नए सिरे से बना साइडबार। मोशन वाली सेटिंग्स स्क्रीन जो झटकेदार नहीं लगतीं। एक फ़्लोटिंग साइडबार जो macOS की ट्रैफ़िक लाइट्स का सच में ख़याल रखता है।

छोटी चीज़ें। लेकिन ज़्यादातर फ़र्क़ छोटी चीज़ों से ही पड़ता है।

वह हिस्सा जिसे कोई नहीं देखता

फिर आया वह हिस्सा जिसे कोई नहीं देखता। चेन ऑफ़ थॉट स्ट्रीमिंग सोच के बीच में ही टूटती रहती थी और मुझे उसके पीछे पड़ना पड़ा। अप्रूवल पैनल को डरावना नहीं, सुरक्षित महसूस कराना था। फ़्लोटिंग Merlin पैनल को Dock आइकन चुराए बिना आपके काम के ऊपर टिकना था।

मैंने एक स्क्रीनशॉट-टू-कॉन्टेक्स्ट बटन शिप किया ताकि एजेंट वही देख सके जो आप देख रहे हैं। कुछ समय तक मैंने Whisper के साथ ऑन-डिवाइस वॉइस डिक्टेशन भी चलाया था। बाद में हमने उसे हटा दिया। क्या काटना है, यह जानना भी इसी का हिस्सा है।

और फिर वह हिस्सा जिसमें कोई चमक-दमक नहीं। इसे एक असली प्रोडक्ट बनाना। एक ढंग का macOS ऐप आइकन। एक स्टाइल किया हुआ DMG इंस्टॉलर। प्राइसिंग प्लान। प्लान डाउनग्रेड ब्लॉक करना 😅। सिस्टम ट्रे। प्रोडक्शन हार्डनिंग।

यही वह फ़ासला है “मेरी मशीन पर तो चलता है” और ऐसी चीज़ के बीच जिसे मैं अपने दोस्तों के साथ शेयर कर सकूँ।

सामने का दरवाज़ा

डेस्कटॉप ऐप तो बस आधा हिस्सा था। बाक़ी आधा था सामने का दरवाज़ा। हमने वेबसाइट पर getmerlin.in/agent लैंडिंग पेज भी बनाया, नैवबार, चेंजलॉग पेज, ऑनबोर्डिंग ईमेल, Shahbaz और Arush की मदद से प्राइसिंग चेकआउट, ऐप डाउनलोड फ़्लो। वह पेज जिस पर लोग ऐप खोलने से पहले ही पहुँचते हैं, और वह पहली चीज़ जिसे उन्हें यक़ीन दिलाना होता है।

एक ख़ाली विंडो उस कमिट में बदल गई जिसने इसे 1.0.0 तक पहुँचाया। साइन्ड, नोटराइज़्ड, ऑटो अपडेट होता हुआ, असली डेस्कटॉप पर।

रास्ता कुछ यूँ रहा: प्रोटोटाइप, फिर “remove old codebase for fresh start” वाला पूरा रीसेट क्योंकि हम पहले वाले से आगे निकल चुके थे, फिर प्रोडक्शन के लिए तैयार करना, फिर रिलीज़।

वह हिस्सा जो मैं Git लॉग में नहीं दिखा सकता

लेकिन सच कहूँ तो, हम तीनों का कोड लिखना वह हिस्सा है जो मैं आपको Git लॉग में दिखा सकता हूँ। जो हिस्सा मैं पूरी तरह नहीं दिखा सकता, वह हैं बाक़ी सब लोग जिन्होंने इसे एक बिल्ड से एक लॉन्च में बदल दिया।

Anand ने प्रोडक्ट को ईमानदार और सही दिशा में रखा। Sachin और Udita उन कॉल्स में मौजूद थे जिन्होंने तय किया कि हम इसे कैसे लॉन्च करना चाहते हैं, उन ढेर सारे फ़ैसलों के पीछे का साझा दिमाग़, जो आज बस इसलिए ज़ाहिर लगते हैं क्योंकि किसी ने पहले उन पर बहस करके उन्हें सुलझाया। Athul ने लैंडिंग पेज का वह एहसास डिज़ाइन किया जिसे मैंने बस पिक्सल्स में उतारा। Sachin और Anand के ढेर सारे अहम सुधारों के साथ 🫡

Nikhil वह लॉन्च वीडियो एडिट कर रहा है जो यह सब लोगों के सामने रखने वाला है। और Satvik तो पूरी तरह टीम प्लेयर रहा है, ऐप को उसकी हदों तक टेस्ट करता रहा और उससे सीधे-सीधे पूरे के पूरे ऐप वाइब कोड करता रहा, जो असल दुनिया वाला ऐसा इस्तेमाल है जिसे कोई इंटरनल टेस्ट प्लान कभी कवर नहीं करता।

जिस बात पर मैं बार-बार लौटता हूँ, वह यह है कि इसमें से कुछ भी सिर्फ़ फ़्रंटएंड का काम नहीं था। यह प्रोडक्ट थिंकिंग, डिज़ाइन सिस्टम, AI इंटरैक्शन डिज़ाइन था, और उस हिस्से की शुरू से आख़िर तक ज़िम्मेदारी लेना था जिसे इंसान सच में महसूस करता है। लेकिन इसमें से कुछ भी अकेले शिप नहीं होता।

मैंने कई रातें उन डिटेल्स पर बिताईं जिन पर ज़्यादातर लोग कभी जानबूझकर ध्यान नहीं देंगे, और असल बात भी यही है। अगर लोग इसे महसूस नहीं करते, तो इसका कोई मतलब नहीं।

और अब हम अगले दौर में हैं। सब सिर झुकाकर लॉन्च की तैयारी में लगे हैं, ऐड्स स्केल कर रहे हैं, इसे असली यूज़र्स के सामने ला रहे हैं। वह हिस्सा जहाँ दुनिया सच में इसे इस्तेमाल करेगी, अब शुरू होता है।

अभी शुरुआत है, अभी सीख रहा हूँ, लेकिन Merlin Agent लाइव है।

अगर मैं यहाँ किसी का नाम लेना भूल गया हूँ, तो माफ़ी चाहता हूँ, वह मेरी चूक है, आपके योगदान की कमी नहीं। इसे बहुत सारे हाथों और बहुत सारे दिमाग़ों ने उठाया है, जितना एक पोस्ट में समा सके उससे कहीं ज़्यादा।

अगर आप AI प्रोडक्ट्स बना रहे हैं, तो मेरी ईमानदार राय यह है। प्रोटोटाइप तेज़ी से शिप करें, फिर असली समय इसमें लगाएँ कि वह ऐसा लगे जैसे किसी ने परवाह की हो। फिर अपने आस-पास ऐसे लोग रखें जो उतनी ही परवाह करते हों। असली काम वही है।