快轉到主要內容

我的著作

2022


增強用戶表達:Hike 的機器學習驅動方言貼圖鍵盤

作為 Hike Limited 機器學習團隊的負責人,我主導開發了一個創新的、人工智能驅動的方言貼圖鍵盤。這個項目旨在通過智能地根據多語言輸入(包括印地英語、泰米爾英語和各種其他語言組合)推薦貼圖,從而革新用戶表達方式。 項目概述 #我們的目標是創建一個智能貼圖推薦系統,能夠理解和回應多樣化的語言輸入,同時根據個別用戶的偏好和互動來個性化推薦。 技術方法 #核心技術 # 使用 Python 進行後端開發和模型訓練 使用 TensorFlow 和 TensorFlow Lite 進行模型開發和設備端推理 使用自然語言處理(NLP)技術進行語言理解 使用 BigQuery 進行數據存儲和分析 使用 Airflow 進行工作流程編排 主要特點 # 多語言輸入處理:開發能夠理解和解釋混合語言輸入的 NLP 模型。

建立高度可擴展的電子商務基礎設施:記憶體購物車服務和API網關

作為印度一家主要電子商務平台的首席工程顧問,我領導了我們基礎設施中兩個關鍵組件的設計和實施:高度可擴展的購物車服務和強大的API網關。這些項目對於提升我們平台處理大量流量和提供無縫購物體驗的能力至關重要。 挑戰 #我們的電子商務平台正在經歷快速增長,導致了幾個技術挑戰: 在高流量期間由於響應時間慢導致的購物車放棄 難以管理和擴展我們不斷增長的微服務數量 需要在API層面更好地管理流量和安全性 解決方案概述 #我們通過開發兩個關鍵組件來解決這些挑戰: 基於記憶體SQL的購物車服務:用於管理用戶購物車的高性能、可擴展解決方案。 基於Kong的API網關:集中管理、保護和優化API流量的網關。 基於記憶體SQL的購物車服務 #設計原則 # 速度:利用記憶體處理實現超快速讀/寫操作。 可擴展性:設計為水平可擴展以處理流量峰值。 可靠性:實施數據持久化和恢復機制。 實施細節 # 技術堆疊: Redis作為主要記憶體數據存儲 SQLite用於數據持久化 Python用於服務邏輯 主要功能: 實時購物車更新和同步 訪客和登錄用戶的會話管理 智能產品信息緩存 可擴展性措施: 基於用戶ID實施分片 設計便於複製和集群管理 數據一致性:

開創印度第一個真正的電子商務市場平台 Tradus

在2010年代初期,當印度的電子商務格局剛開始成形時,我有機會在 Tradus 領導一個變革性的專案。作為資深工程經理,我的任務是開發印度第一個真正的電子商務市場平台,這個挑戰將推動印度新興線上零售領域的可能性極限。 Tradus 的願景 #Tradus (http://tradus.com) 旨在透過創建一個多個賣家可以列出產品、在價格和服務品質上競爭的平台來革新印度的線上購物。這在當時的印度是一個新穎的概念,因為大多數電子商務網站都採用庫存模式運營。 團隊領導和專案範圍 #管理一個15人的工程師團隊,我們的任務明確但具有挑戰性: 將現有的 Tradus 平台轉變為全面的市場平台 開發印度第一個面向爬蟲和聚合器的公開電子商務 API 使用複雜的小工具和 JavaScript 庫增強用戶界面 優化平台性能以處理增加的流量和交易 建立市場平台 #市場平台架構 #我們首先重新設計核心架構以支持多個賣家,實施: 可擴展的賣家註冊系統 賣家庫存管理工具 強大的訂單路由和履行系統 公平透明的賣家評級機制 開創電子商務 API #我們最重要的成就之一是設計和實施印度第一個公開的電子商務 API。這涉及:

革命性頭像創作:在 Hike 開發 Hikemoji 的電腦視覺模型

作為 Hike Limited 的機器學習顧問,我參與開發了 Hikemoji 的尖端電腦視覺模型,這個專案旨在直接從用戶的自拍照生成酷炫頭像。這項創新功能顯著提升了 Hike 平台的用戶參與度和個人化體驗。 專案概述 #Hikemoji 的目標是創建高度個人化、視覺吸引力強的頭像,準確反映用戶的面部特徵和風格偏好。我的角色專注於開發複雜的電腦視覺模型,將頭像組件與特定面部特徵匹配。 技術方法 #核心技術 # 使用 Python 進行模型開發和數據處理 使用 TensorFlow 和 PyTorch 構建和訓練神經網絡 使用 OpenCV 進行圖像處理任務 使用 BigQuery 進行大規模數據存儲和分析 使用 Airflow 進行工作流管理和調度 關鍵組件 # 面部特徵提取:開發模型以準確識別和映射自拍照中的關鍵面部特徵。

2021


革命性電子商務:從Magento遷移到自定義Python平台

作為印度一家領先電子商務公司的首席工程顧問,我主導了一個將我們的平台從Magento遷移到自定義Python解決方案的變革性項目。這項雄心勃勃的計劃不僅現代化了我們的技術堆棧,還為前所未有的可擴展性和創新奠定了基礎。 挑戰 #我們快速增長的電子商務平台面臨著基於Magento架構的限制: 高流量事件期間的可擴展性問題 實施自定義功能的靈活性有限 影響用戶體驗的性能瓶頸 由於許可和託管要求導致的高運營成本 解決方案:自定義Python平台 #我們開始了一個全面的遷移計劃,選擇Python作為新平台的核心語言。我們的方法包括以下關鍵方面: 漸進式遷移:我們採用了分階段方法,逐步將組件從Magento遷移到新的Python系統。 微服務架構:我們將Magento的單體結構分解為微服務,提高了模塊化和可擴展性。 Python生態系統:我們利用Python豐富的生態系統,為系統的不同組件使用Django和Flask等框架。 API優先設計:我們實施了API優先的方法,便於與移動應用和第三方服務的集成。 雲原生架構:新平台設計為雲原生,充分利用可擴展的雲服務。 實施亮點 # Python核心服務:我們用Python和Java重寫了關鍵服務,如產品目錄和用戶認證。 數據遷移:開發了強大的ETL流程,將數據從Magento遷移到我們的新數據庫結構。 性能優化:實施了緩存策略並優化了數據庫查詢,以提高整體系統性能。 DevOps集成:為Python服務的自動測試和部署設置了CI/CD管道。 監控和日誌記錄:實施了全面的監控和日誌記錄解決方案,以提高系統可觀察性。 挑戰和解決方案 # 挑戰:確保遷移期間的業務連續性。 解決方案:實施了綁架者模式,逐步替換Magento組件,同時保持無縫運作。 挑戰:從Magento到Python生態系統的知識轉移。 解決方案:進行密集的培訓課程和結對編程,提升開發團隊的技能。 挑戰:在遷移過程中維護數據完整性。 解決方案:開發了嚴格的數據驗證和對賬流程,以確保數據準確性。 結果和影響 # 提高可擴展性:新平台在高峰銷售期間輕鬆處理了500%的流量增長。 性能提升:頁面加載時間改善了60%,顯著提升了用戶體驗。 成本降低:由於優化了雲資源利用,運營成本降低了40%。 開發速度提高:新功能開發時間縮短了50%,這要歸功於我們自定義平台的靈活性。 更好的分析:改進了數據收集和分析能力,提供了更深入的用戶行為和業務績效洞察。 結論 #從Magento遷移到自定義Python平台標誌著我們公司技術演進的關鍵時刻。它不僅解決了即時的可擴展性和性能問題,還為未來的增長和創新奠定了基礎。這個項目的成功展示了自定義解決方案在快速變化的電子商務世界中解決獨特業務需求的力量。

在 Tyroo 使用核心 Java 建立分析系統:革新印度廣告科技

在 2010 年代初期,當數位廣告在印度開始蓬勃發展時,我有機會在當時印度最大的廣告科技公司 Tyroo 工作。作為一名軟體工程師,我在開發分析系統方面扮演了關鍵角色,這些系統將塑造該地區數據驅動廣告的未來。 Tyroo 的願景 #Tyroo 旨在為廣告商和發布商提供關於廣告活動效果、用戶行為和投資回報率的深入洞察。我們的目標是建立強大、可擴展的分析系統,能夠實時處理大量的廣告數據。 技術挑戰和解決方案 #處理大數據 #廣告數據的龐大數量是我們的主要挑戰。我們需要每天處理數十億次廣告曝光、點擊和轉換。 解決方案:我們利用核心 Java 的效率來建立分布式處理系統。使用 Apache Hadoop 等技術進行分布式存儲和處理,我們創建了一個可擴展的基礎設施,能夠處理數兆位元組的數據。 實時分析 #廣告商需要最新的洞察來有效優化他們的廣告活動。 解決方案:我們使用 Java NIO(新 I/O)開發了一個實時分析引擎,用於非阻塞 I/O 操作。這使我們能夠高效處理傳入的數據流,為我們的分析儀表板提供近乎實時的更新。 複雜查詢處理 #廣告商經常需要在龐大的數據集上運行複雜的多維查詢。 解決方案:我們使用 Java 實現了一個自定義查詢引擎,針對我們廣告數據的特定結構進行了優化。這個引擎利用先進的索引技術和內存緩存來快速提供查詢結果。

2020


革命性行動通訊:開發 Kirusa 語音簡訊

2009 年,當行動通訊領域正在快速發展時,我有機會在印度新德里的 Kirusa 參與一個開創性的專案。作為一名軟體工程師,我是負責開發和實施 Kirusa 語音簡訊團隊的一員,這是一個創新的應用程式,結合了語音和簡訊,最終觸及超過 2.5 億用戶。 Kirusa 的願景 #Kirusa 旨在縮小語音和文字通訊之間的差距,創造一個可供廣泛用戶使用的解決方案,包括那些覺得打字困難或偏好語音通訊的用戶。目標是開發一個電信供應商可以輕鬆整合到現有系統中的產品。 技術概述 #核心技術 # J2EE(Java 2 Enterprise Edition):我們應用程式的骨幹,提供強大且可擴展的伺服器端平台。 MySQL:我們選擇的資料庫管理系統,為處理數百萬用戶記錄和訊息提供可靠性和性能。 開發的主要功能 # 語音錄製和壓縮:實施高效算法來捕捉和壓縮語音訊息,以最小化數據使用。 簡訊整合:開發一個系統,將語音訊息無縫轉換為簡訊通知,確保與非語音簡訊用戶的兼容性。 電信整合層:創建一個靈活的整合層,允許輕鬆部署到不同電信供應商的系統中。 用戶管理系統:建立一個可擴展的用戶管理系統,能夠處理跨多個電信網絡的數百萬用戶。 訊息排隊和傳遞:實施一個強大的排隊系統來管理訊息傳遞,確保即使在高負載下也能保持可靠性。 技術挑戰和解決方案 #挑戰:可擴展性 #潛在用戶群超過 2.

2012


塑造內容分享的未來:SlideShare 早期時光

2007-2008年,剛從大學畢業,我有了一個非凡的機會加入 SlideShare,成為其首批五名軟體工程師之一。這段經歷將我推向了一個新創公司的核心,這家公司後來徹底改變了人們在線上分享和獲取專業內容的方式。 SlideShare 的願景 #SlideShare 的目標是成為簡報的 YouTube,創建一個平台,讓專業人士可以輕鬆上傳、分享和發現任何主題的簡報。我們的目標是建立一個強大、用戶友好的平台,可以處理各種內容類型並擴展到數百萬用戶。 技術概覽 #作為早期工程師之一,我參與了平台開發的各個方面: 核心技術 # Ruby on Rails:我們的主要網頁框架,選擇它是因為其快速開發能力 MySQL:用於強大的數據庫管理 FreeBSD:作為我們的伺服器操作系統 Nginx 和 Apache:用於網頁服務和代理 各種支援技術:包括 Python、PHP 等 開發的關鍵功能 # URL 上傳系統:實現了允許用戶直接從 URL 上傳簡報的功能。 伺服器管理:參與管理和擴展我們的伺服器基礎設施以處理不斷增長的流量。 轉換引擎:在開發將各種文件格式轉換為網頁友好簡報的系統中發揮了關鍵作用。

革命性行動銀行:使用 Python 和元程式設計在 MPower Money 開發 PHIRE

在 2008-2009 年,當行動技術開始改變各個行業時,我有機會參與了印度新德里 MPower Money 的一個開創性項目。作為一名軟體工程師,我在開發 PHIRE 方面發揮了重要作用,這是世界上第一個允許用戶通過簡訊進行銀行交易的行動借記網路,利用 Python 和先進的元程式設計技術的力量。 MPower 的願景 #MPower Money 旨在革新印度的金融服務使用,因為當時印度有相當大一部分人口沒有銀行帳戶或銀行服務不足。目標是創建一個系統,讓任何擁有基本行動電話的人都能進行銀行交易,有效地將簡訊轉變為金融工具。 PHIRE:行動銀行的突破 #PHIRE(Phone Initiated Remittance Engine,電話啟動匯款引擎)被設計為行動銀行世界中的革命性平台。它允許用戶: 查詢帳戶餘額 轉帳給其他用戶 支付帳單 充值行動電話 接收交易通知 所有這些功能都可以使用簡單的簡訊指令完成,使銀行服務對任何擁有行動電話的人都可以使用,無論是否有網路連接或智慧型手機。 技術概述 #核心技術 # Python:整個平台開發的主要程式語言 元程式設計:廣泛用於創建靈活和動態的程式碼結構 SQLite:用於輕量級、無伺服器的資料庫管理 簡訊網關整合:處理收發簡訊 開發的主要功能 # 動態簡訊指令解析:利用元程式設計創建一個靈活的系統來解釋和執行簡訊指令。

提升PPC管理:在Clickable建立強大且可擴展的解決方案

2009年,我有機會在印度古爾岡的Clickable擔任軟體工程師。Clickable被認可為TechCrunch前50名公司,是簡化主要網絡每次點擊付費(PPC)廣告管理的先驅。我的角色專注於提升其旗艦產品的安全性和可擴展性,為其強大的性能和未來準備做出貢獻。 Clickable的願景 #Clickable旨在為廣告商和代理商簡化PPC管理,提供一個統一的平台來管理多個廣告網絡的活動。目標是讓複雜的PPC廣告世界對各種規模的企業更加易於使用和高效。 技術概覽 #核心技術 # .NET平台:我們應用程式開發的基礎 C#:後端邏輯的主要程式語言 ASP.NET:用於建立動態網頁和網路應用程式 MS SQL:我們的資料庫管理系統,用於儲存和檢索大量廣告數據 重點關注領域 # 安全性增強:實施強大的安全措施以保護敏感的廣告數據和用戶資訊。 可擴展性改進:提升系統處理不斷增長的用戶數量和增加的數據量的能力。 性能優化:提高數據處理和報告的速度和效率。 內部產品工程:開發和完善內部工具以支持核心產品。 技術挑戰和解決方案 #挑戰:數據安全 #保護敏感的廣告數據和用戶資訊至關重要。 解決方案:我們實施了多層安全方法: 利用ASP.NET的內建安全功能進行身份驗證和授權。 使用.NET Framework的加密類對靜態和傳輸中的敏感數據進行加密。 開發全面的審計日誌系統以追蹤所有數據訪問和修改。 挑戰:應對不斷增長的數據量 #隨著Clickable用戶群的增長,系統需要高效處理越來越大的數據集。 解決方案:我們專注於數據庫和應用程式的可擴展性: 在MS SQL中實施數據庫分區以更有效地管理大型表格。 使用ASP.