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

ऐसे अधिकांश टूल्स फुल-स्टैक वेबडेव, NLP, या CLI डोमेन में हैं, और मुख्य रूप से पायथन (Flask/vanilla), टाइपस्क्रिप्ट (React/Svelte/Vue), और/या गोलैंग में लिखे गए हैं। लगभग एक दर्जन पूर्ण प्रोजेक्ट्स का सोर्स कोड मेरे GitHub प्रोफाइलपर उपलब्ध है, और मैंने नीचे सर्वश्रेष्ठ में से कुछ के अधिक विस्तृत विवरण लिखे हैं।

कार्य और शैक्षिक अनुभवों के विवरण के लिए, मेरा देखें रेज्यूमे.

क्रीम दे ला क्रीम

लिंगोट्रैक.कॉम

अक्टूबर '22 से नवंबर '23 तक मेरा जुनूनी प्रोजेक्ट, लिंगोट्रैक (50k+ SLOC, Golang + TypeScript + Svelte) भाषा सीखने वालों के लिए एक सामाजिक मंच है जो प्रगति को ट्रैक करने और आकर्षक, स्तर-उपयुक्त मीडिया खोजने में मदद करता है। शिक्षार्थियों की उपलब्धियों को विज़ुअलाइज़ करके, उन्हें आकर्षक विदेशी सामग्री खोजने की अनुमति देकर, और उन्हें साथी उत्साही लोगों से जोड़कर, साइट प्रवीणता की यात्रा को थोड़ा कम भयावह बनाने की उम्मीद करती है।

लिंगोट्रैक का निर्माण करने से मुझे बहुत कुछ सीखने को मिला है, क्योंकि मैंने एक सीखने के अनुभव के रूप में जितना हो सके स्क्रैच से करने की कोशिश की। इसमें स्ट्राइप एकीकरण से लेकर क्लाउड-आधारित लिनक्स VM के प्रबंधन से लेकर स्वचालित CI/CD बनाने तक सब कुछ शामिल था, साथ ही कम निराशा भी नहीं थी!

लेकिन अंतिम परिणाम इसके लायक रहा है - लगभग एक हजार मासिक सक्रिय उपयोगकर्ता हैं, हमारे क्राउडसोर्स डेटाबेस में 1500 से अधिक मीडिया लेख हैं, 4.5 साल सीखने का ट्रैक किया गया है, और मुझे हर हफ्ते कई बार प्रशंसक मेल मिलते हैं!

आप लिंगोट्रैक के बारे में अधिक जानकारी यहाँ पा सकते हैं आधिकारिक परिचय पृष्ठ या जाँच करके इसका प्रोडक्ट हंट पर अच्छी तरह से स्वीकृत लॉन्च.

लोकडैप्ट.कॉम

पिछले जीवन में, मैंने एक अनुवादक के रूप में काम किया है, एक $40m+ फंडेड स्टार्टअप के लिए i18n डेव कार्य का अनुबंध किया है, और एक दशक तक यूरोप में रहा हूं। इन अनुभवों के दौरान, एक बात बिल्कुल स्पष्ट हो गई है: किसी वेबसाइट को अंतरराष्ट्रीयकरण करने (बहुभाषी बनाने) की प्रक्रिया बहुत लाभदायक है, लेकिन साथ ही अनुचित रूप से कठिन भी।

प्रवेश करें लोकडैप्ट (25k+ SLOC, टाइपस्क्रिप्ट + रिएक्ट + स्वेल्ट + सुपाबेस), एक क्लॉड-संचालित प्लेटफ़ॉर्म जो किसी भी साइट को दो पंक्तियों के कोड के साथ बहुभाषी बनाता है। किसी भी साइट के head में एक मिनिफाइड JS स्निपेट + संबंधित CSS को बस जोड़कर, प्लेटफ़ॉर्म किसी भी साइट को स्वचालित रूप से, सटीक रूप से, और किफायती तरीके से कई भाषाओं में अनुवाद कर सकता है। इस पेज पर इसे आजमाएं — नीचे दाईं ओर एक बटन है!

उपलब्धियों में एक अनुवाद प्रबंधन डैशबोर्ड, उप-डोमेन पर अनुकूलित SEO के लिए रिवर्स-प्रॉक्सी सेवा, वेब वर्कर्स के साथ समानांतरीकरण, अनुकूलित सहबद्ध कार्यक्रम, सर्वरलेस एज फंक्शंस, क्लाइंट-साइड कैशिंग, ब्राउज़रलेस सूडो-DOM रीराइट्स शामिल हैं, विस्तृत दस्तावेज़ीकरण, और भी बहुत कुछ।

वर्तमान में कुछ YC कंपनियों के खिलाफ प्रतिस्पर्धा कर रहा हूं, और SF में एक अच्छी फंडिंग वाले स्टार्टअप ने मुझे अपने साथ लेने की कोशिश की, लेकिन उत्पाद पर आशावादी हूं और अभी के लिए इसी के साथ बने रहने का इरादा है!

हैकाथॉन जीत

ColdCraft.ai

alt alt alt alt

ColdCraft.ai (~10k SLOC, फ्लास्क + टाइपस्क्रिप्ट + स्वेल्ट) एक SaaS कोल्ड ईमेलिंग Chrome एक्सटेंशन है जिसमें एक संबद्ध डैशबोर्ड है जो आपके रेज्यूमे, Google कैलेंडर, Gmail, और LinkedIn के साथ एकीकृत होता है ताकि आप सेकंडों में अत्यधिक व्यक्तिगत कोल्ड ईमेल लिख सकें। मैंने इसे एक दोस्त के साथ मिलकर फ्रेशमैन स्प्रिंग (SP '24) के दौरान कई सप्ताहों में बनाया था।

परियोजना ने जीता LinkedIn और Ciscoकॉर्नेल के वार्षिक इंजीनियरिंग प्रदर्शनी के दौरान कॉर्पोरेट पुरस्कार, और कई निवेश और अधिग्रहण प्रस्ताव प्राप्त किए हैं।

नोटहैक्स

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

यह कहा, नोट्स निश्चित रूप से होमवर्क, सुदृढीकरण आदि के लिए बहुत मददगार हैं, और इसलिए मैंने कुछ समान विचारधारा वाले नए दोस्तों के साथ टीम बनाई कनाडा का सबसे बड़ा हैकाथॉन एक AI- और CV-संचालित नोट-टेकिंग टूल बनाने के लिए जो हमारे लिए इस भारी काम को संभाल सके। हमारा Next.js-, Flask-, और OpenAI-संचालित टूल व्याख्यानों में बैठता है, सुनता है और संक्षिप्त मार्कडाउन नोट्स लेता है जिनके साथ आप बाद में बातचीत कर सकते हैं और सहेज सकते हैं। इसके अलावा, जेस्चर-सेट मेटापैरामीटर जैसे संक्षेपीकरण स्तर, ठहराव, और नोट्स का विस्तार / संकुचन भी उपलब्ध हैं।

हमारे प्रयासों और रात भर जागने ने हमें दिलाया #1/43 के लिए ग्रोक का सर्वोत्तम उपयोग ट्रैक (एक प्रमुख एलएलएम कंपनी)।

सर्जलिंगो

alt

मैंने लगभग सौ प्रतिभागियों के साथ 48 घंटे के ऑनलाइन हैकाथॉन के लिए 'सर्वश्रेष्ठ एकल हैक' जीता। थीम किसी उद्योग को बाधित करना था, और मेरी प्रस्तुति, एक भाषा सीखने का उपकरण जिसका नाम सर्जलिंगो था, जो एनएलपी और पोस्टग्रेएसक्यूएल का लाभ उठाकर सीखने वालों को ट्विटर शैली के व्यक्तिगत वाक्य प्रदान करता था, ने विदेशी भाषा सीखने के उद्योग को प्रभावी ढंग से बाधित किया।

आप डेवपोस्ट पेज पर हैकाथॉन प्रस्तुति देख सकते हैं यहाँ, के साथ-साथ एक संबंधित वीडियो और अधिक विस्तृत विवरण। इसी तरह, आप इसे स्थानीय रूप से चला सकते हैं बैकएंड से फोर्क करके और फ्रंटएंड गिटहब से।

फाइंडसर्कल्स

alt alt alt alt

सर्कल्स (~7k SLOC, Next.js + Supabase + Google Cloud) एक वेब ऐप है जो आसान, सहज मुलाकातों के लिए दोस्तों के समूहों के भीतर और नए लोगों से जुड़ने के लिए है, जो कॉर्नेल के विशाल परिसर में मेरे तीन प्रोजेक्ट टीम के साथियों और मेरे अनुभवों से प्रेरित है।

उपयोगकर्ता दोस्तों को सर्कल बनाने के लिए आमंत्रित कर सकते हैं, और GCal एकीकरण के साथ, सर्कल्स स्वचालित रूप से साझा खाली समय ढूंढता है और गतिविधियों का सुझाव देता है। सर्कल्स हर सोमवार या अनुरोध पर प्रस्तावित मिलने का समय और कार्यक्रम भी ईमेल करता है। सॉफ्टवेयर 2 अन्य प्रमुख विशेषताओं का भी समर्थन करता है:

  1. पारस्परिक दोस्तों को आमंत्रित करना जो खाली हैं, नए दोस्त बनाने को प्रोत्साहित करने के लिए
  2. कार्यक्रमों के लिए साझा फोटो एल्बम बनाना

इस उपकरण ने कॉर्नेल के 2024 बिग रेड हैक्स हैकाथॉन में निर्णायकों से सर्वश्रेष्ठ डोमेन पुरस्कार (findcircles.co) जीता, और यह छात्र-निर्णायक का पसंदीदा था (दुर्भाग्य से स्टाफ निर्णायकों को उनके काम से संबंधित Google कैलेंडर और शेड्यूलिंग की बहुत याद आई 😅)।

चुनिंदा साइड प्रोजेक्ट्स

भाषा सीखने का डैशबोर्ड

एक सरल, केवल स्थानीय संस्करण लिंगोट्रैक जो उक्त बाद के संस्करण के लिए प्रेरणा के रूप में काम किया।

language-learning-dashboard एक सौंदर्यात्मक, फुल-स्टैक भाषा-सीखने वाला वेबऐप है जिसे मैंने कोविड-19 लॉकडाउन के दौरान कुछ महीनों में बनाया था। एक गंभीर चीनी भाषा सीखने वाले के रूप में, मुझे हाल ही में लगा कि मैं अपनी विदेशी भाषा की प्रगति को ट्रैक करने के लिए बाजार में मौजूद साइटों से पूरी तरह संतुष्ट नहीं हूं — और इसलिए मैंने तार्किक काम किया और अपने लिए एक नई साइट शुरू से बनाई!

परिणामस्वरूप एक न्यूनतम लेकिन शक्तिशाली डैशबोर्ड बना, जो प्रगति ट्रैकिंग और समय लॉगिंग के लिए एक बिजली की गति से, सहज इंटरफ़ेस प्रदान करता है, यहां तक कि एक मिनट तक। चाहे वह फ़ाइल अपलोड हो, PostgreSQL-संचालित टाइमलाइन विज़ुअलाइज़ेशन हो, या यहां तक कि एक आकर्षक डार्क मोड हो, इस टूल में सब कुछ है। लेकिन संक्षेप में, मैं यहां सभी (कई!) विवरणों में नहीं जाऊंगा क्योंकि मैंने विस्तृत दस्तावेज़ीकरण तैयार किया है कहीं और ऑनलाइन और तीन महीनों तक इसका उपयोग करने के अपने अनुभवों को लिखा है मेरे ब्लॉग पर.

ऑनलाइन लाइफ कैलेंडर

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

alt

विशेषताएं

  • अपने जीवन को दिनों से लेकर दशकों तक कहीं भी देखें
  • घटनाओं के आधार पर अपने जीवन के चरणों को रंग कोड करें
  • अपने जीवन के पलों को टेक्स्ट और छवियों के साथ भरें
  • अपने लिए सरल कार्ड के रूप में विशिष्ट लक्ष्य निर्धारित करें
  • अपने जीवन के बारे में विस्तृत आंकड़े देखें और अपना खुद का जीवन कैलेंडर डाउनलोड करें

...और बहुत कुछ! ऑनलाइन लाइफ कैलेंडर पूरी तरह से मुफ्त है, लिखते समय इसके कई सौ उपयोगकर्ता हैं, और व्यक्तिगत रूप से आत्म-प्रेरणा और योजना के लिए एक बेहतरीन संसाधन साबित हुआ है। इसका सोर्स कोड पाया जा सकता है यहाँ.

अपडेट: वित्तीय कारणों से साइट को बंद कर दिया गया है, लेकिन सोर्स कोड अभी भी GitHub पर उपलब्ध है।

भाषा सांख्यिकी

मुझे विज़ुअलाइज़ेशन और आंकड़ों के साथ एक अस्वस्थ जुनून है, और language-statistics अच्छी तरह से प्रदर्शित करता है। यह आपकी डायरेक्टरी के लिए कमांड-लाइन से सीधे एक GitHub रेपो जैसा कलरबार प्रदर्शित करता है, जिसे PNG या SVG इमेज के रूप में देखा जा सकता है।

मुझे हमेशा इस बात से काफी परेशानी होती थी कि GitHub भाषा बार केवल GitHub तक ही सीमित था, क्योंकि यह जो विवरण प्रदान करता है वह काफी आंख खोलने वाला है। इसलिए, मैंने इसे एक Python पैकेज के रूप में फिर से बनाने का निर्णय लिया। अब मेरे प्रोग्राम के साथ आप बस चला सकते हैं statistics अपने टर्मिनल में कहीं से भी और एक सुंदर कलरबार देख सकते हैं, जैसा कि ऊपर दिखाया गया है — और सबसे अच्छी बात यह है कि यह अत्यधिक अनुकूलन योग्य है।

ये कुछ अतिरिक्त सुविधाएं हैं जो इसे GitHub के मुकाबले एक बढ़त देती हैं linguist:

  • कुछ फाइल प्रकारों को बाहर रखने का विकल्प चुनें
  • रूट डायरेक्टरी से प्रोग्राम की खोज की गहराई निर्दिष्ट करें
  • अपनी निर्यात की गई छवि कैसी दिखती है उसे नियंत्रित करें
  • वह सीमा चुनें जिस पर फाइलें मिश्रित हो जाती हैं Other
  • उपयोग किए गए रंगों और फाइल प्रकारों की अधिकतम संख्या तय करें

यह नामित फाइलों का भी समर्थन करता है, जैसे Dockerfile या Cakefile। आप अधिक जानकारी प्राप्त कर सकते हैं README.md पर पढ़कर रिपो, या इसे स्वयं डाउनलोड करके।

लिंगुआकाइट

alt alt alt

LinguaKite एक अनुकूलित अंग्रेजी-भाषा-सीखने वाला ऐप है जिसे मैंने अपने जूनियर हाई स्कूल वर्ष की गर्मियों में बनाया था। Python और Vue के ~5k SLOC मूल्य के साथ एक पूर्ण-स्टैक, NLP-संचालित ऐप, यह उपयोगकर्ताओं को अपने शब्दकोष का प्रबंधन और देखने, ग्रेडेड सामग्री पढ़ने, समझ को मजबूत करने के लिए क्विज लेने, और बहुत कुछ करने का मौका देता है।

सब कुछ एक साथ रखना एक चुनौती थी, कुछ बहुत ही असामान्य फ्रेमवर्क संयोजनों को देखते हुए जिनका मैंने ऐप बनाने के लिए उपयोग किया था, लेकिन अंतिम परिणाम उस दोस्त के लिए बहुत मददगार था जिसके लिए मैंने इसे बनाया था और इसने मुझे रास्ते में बहुत कुछ सिखाया।

शतरंज ग्राफ

alt alt alt
शुरू करें उन्नत अंतर्दृष्टि शतरंज की कल्पना के साथ अपना खेल।

हालांकि मैं छोटा था तब शतरंज खेलता था, मैं शाही खेल से भटक गया था जब तक कि COVID-19 का प्रकोप नहीं हुआ, जब घर पर अधिक समय और कम यात्रा करने का मतलब था कि मुझे और अधिक शौक ढूंढना होगा। शतरंज एक ऐसा ही शौक बन गया, और मैं जल्द ही अपने आप को दिन में घंटों तक खेलते या रणनीति पर काम करते हुए पाया।

इस दौरान, मुझे यह देखकर आश्चर्य हुआ कि शतरंज खिलाड़ियों के कौशल को दृश्य रूप से प्रदर्शित करने वाला सॉफ्टवेयर काफी कम था। मुझे एहसास हुआ कि मुझे उस कमी को पूरा करना होगा, और इसलिए मैंने कुछ हफ्ते कोडिंग में बिताए chess-graph के साथ plotly.

मैंने इस प्रोजेक्ट में बहुत मेहनत की, और नवीनतम रिलीज अब खिलाड़ियों को अपना रंग, गेम्स फाइल, शेडिंग, होवर टिप्स आदि चुनने की अनुमति देता है।

लो फेस मोड

कुछ समय पहले, मुझे OpenCV पायथन लाइब्रेरी मिली — कंप्यूटर विजन के लिए एक टूल। जैसे-जैसे मैंने इसके साथ खेला और अधिक से अधिक क्षमताओं का पता लगाया, मुझे लगा कि मैं इसका उपयोग एक बड़ी व्यक्तिगत निराशा के बिंदु को हल करने में मदद करने के लिए कर सकता हूं: एक बैटरी लाइफ जो एक मैकबुक एयर पर होने का कोई मतलब नहीं रखती थी।

और इस प्रकार, कुछ अच्छी हैकिंग के बाद, मेरे पास एक कार्यशील प्रोटोटाइप था low-face-mode, एक प्रोग्राम जो मेरी स्क्रीन को मंद कर देता था जब मैं इसे नहीं देख रहा था और इसे चमकदार कर देता था जब मैं देख रहा था। इसके अलावा, यह वास्तविक समय में किया गया था, कमांड-लाइन से चलाने योग्य था, और यहां तक कि अनुमत चेहरों की 'व्हाइटलिस्ट' के आधार पर चमकदार/मंद करने की अनुमति देता था।

दुर्भाग्य से, जैसा कि मुझे जल्द ही पता चला, पृष्ठभूमि में इस तरह का प्रोग्राम चलाने से जितनी बैटरी बचती थी, उससे कहीं अधिक खर्च हो जाती थी। लेकिन AppleScript प्रोग्रामिंग भाषा के साथ काम करना, Linux को समर्थन देने के लिए एक पुल रिक्वेस्ट का समाधान करना, और चारों ओर से बहुत कुछ सीखना मुझे एक तैयार उत्पाद (देखें GIF) के साथ छोड़ दिया और फिर भी बहुत खुश।

निष्कर्ष

ऊपर मेरे काम का एक प्रतिनिधि नमूना है, लेकिन अगर आप और देखना चाहते हैं, तो मेरे GitHub प्रोफाइल या मुझे एक ईमेल भेजें!