[{"data":1,"prerenderedAt":1333},["ShallowReactive",2],{"content-query-p2jvGpC4Jz":3},[4,128,267,311,369,433,532,624,704,776,872,959,1050,1094,1137,1180,1303],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"img":11,"tags":12,"role":18,"outcome":19,"body":20,"_type":122,"_id":123,"_source":124,"_file":125,"_stem":126,"_extension":127},"\u002Fprojects\u002Fproject-1","projects",false,"","Jereeb","Precision agriculture platform — former CTO (2021–2024); GIS, drone mapping, orchard management.","projects\u002Fjereeb-intro.png",[13,14,15,16,17],"cto","gis","agriculture","vue","iot","Former CTO","Led product and engineering for orchard management + photogrammetry (2021–2024)",{"type":21,"children":22,"toc":117},"root",[23,35,40,47,53,59,93,106],{"type":24,"tag":25,"props":26,"children":31},"element","h1",{"className":27,"id":30},[28,29],"font-light","text-center","jereeb-precise-agriculture-platform",[32],{"type":33,"value":34},"text","\nJereeb, Precise agriculture platform\n",{"type":24,"tag":36,"props":37,"children":39},"slider",{"slides":38},"[\n\"\u002Fprojects\u002Fjereeb-intro.png\",\n\"\u002Fprojects\u002Fjereeb-desktop-map.png\",\n\"\u002Fprojects\u002Fjereeb-desktop-map-add-menu.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-splash.png\",\n\"\u002Fprojects\u002Fjereeb-mobile-login.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-login.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-calendar.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-encyclopedia.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-home.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-map-ndvi.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-map.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-orchards-list.png\",\n\"\u002Fprojects\u002Fjereeb-page-mobile-weather.png\"\n]",[],{"type":24,"tag":41,"props":42,"children":44},"h2",{"id":43},"role",[45],{"type":33,"value":46},"Role",{"type":24,"tag":48,"props":49,"children":50},"p",{},[51],{"type":33,"value":52},"I was CTO at Jereeb from early 2021 until 2024.",{"type":24,"tag":41,"props":54,"children":56},{"id":55},"what-i-did",[57],{"type":33,"value":58},"What I did",{"type":24,"tag":48,"props":60,"children":61},{},[62,64,70,72,77,79,84,86,91],{"type":33,"value":63},"I built the front-end infrastructure on ",{"type":24,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":33,"value":69},"Vue.js",{"type":33,"value":71}," and ",{"type":24,"tag":65,"props":73,"children":74},{},[75],{"type":33,"value":76},"Vuetify",{"type":33,"value":78},", and led the engineering team while we built an agriculture platform. Working with ",{"type":24,"tag":65,"props":80,"children":81},{},[82],{"type":33,"value":83},"GIS",{"type":33,"value":85}," and geo-location data was a large part of the job. We also shipped an Android app with ",{"type":24,"tag":65,"props":87,"children":88},{},[89],{"type":33,"value":90},"Cordova",{"type":33,"value":92},". A related effort was a photogrammetry track for drone mapping (2D and 3D) into the platform.",{"type":24,"tag":48,"props":94,"children":95},{},[96,98],{"type":33,"value":97},"Project website: ",{"type":24,"tag":99,"props":100,"children":104},"a",{"href":101,"rel":102},"https:\u002F\u002Fjereeb.com",[103],"nofollow",[105],{"type":33,"value":101},{"type":24,"tag":48,"props":107,"children":108},{},[109,111],{"type":33,"value":110},"Application: ",{"type":24,"tag":99,"props":112,"children":115},{"href":113,"rel":114},"https:\u002F\u002Fapp.jereeb.com",[103],[116],{"type":33,"value":113},{"title":8,"searchDepth":118,"depth":118,"links":119},2,[120,121],{"id":43,"depth":118,"text":46},{"id":55,"depth":118,"text":58},"markdown","content:projects:project-1.md","content","projects\u002Fproject-1.md","projects\u002Fproject-1","md",{"_path":129,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":130,"description":131,"img":132,"tags":133,"body":139,"_type":122,"_id":264,"_source":124,"_file":265,"_stem":266,"_extension":127},"\u002Fprojects\u002Fproject-2","uBeac, IoT platform","uBeac: Adaptive IoT Platform","projects\u002Fubeac-intro.png",[134,135,136,137,138,17],"ui\u002Fux","product-design","front-end","javascript","vuejs",{"type":21,"children":140,"toc":261},[141,148,152,163,192,215,226,237,251,256],{"type":24,"tag":25,"props":142,"children":145},{"className":143,"id":144},[28,29],"ubeac-iot-platform",[146],{"type":33,"value":147},"\nuBeac, IoT platform\n",{"type":24,"tag":36,"props":149,"children":151},{"slides":150},"[\n\"\u002Fprojects\u002Fubeac-intro.png\",\n\"\u002Fprojects\u002Fubeac-sheet.png\",\n\"\u002Fprojects\u002Fubeac-dashboard-blue-dark.png\",\n\"\u002Fprojects\u002Fubeac-dashboard-dark.png\",\n\"\u002Fprojects\u002Fubeac-dashboard-light.png\",\n\"\u002Fprojects\u002Fubeac-reports-chart.png\"\n]",[],{"type":24,"tag":48,"props":153,"children":154},{},[155],{"type":24,"tag":156,"props":157,"children":160},"span",{"className":158},[159],"text-[22px]",[161],{"type":33,"value":162},"\nMy responsibility was leading a front-end team to make a web application and\nalso designing UI\u002FUX of the web application.\n",{"type":24,"tag":48,"props":164,"children":165},{},[166],{"type":24,"tag":156,"props":167,"children":169},{"className":168},[159],[170,172,177,178,183,185,190],{"type":33,"value":171},"\nWe utilized ",{"type":24,"tag":65,"props":173,"children":174},{},[175],{"type":33,"value":176},"Vuejs",{"type":33,"value":71},{"type":24,"tag":65,"props":179,"children":180},{},[181],{"type":33,"value":182},"Vuex",{"type":33,"value":184}," alongside ",{"type":24,"tag":65,"props":186,"children":187},{},[188],{"type":33,"value":189},"bootstrap-vue",{"type":33,"value":191}," to build the web client.\n",{"type":24,"tag":48,"props":193,"children":194},{},[195],{"type":24,"tag":156,"props":196,"children":198},{"className":197},[159],[199,201,206,208,213],{"type":33,"value":200},"\nImplementing ",{"type":24,"tag":65,"props":202,"children":203},{},[204],{"type":33,"value":205},"live IoT dashboard",{"type":33,"value":207}," with ",{"type":24,"tag":65,"props":209,"children":210},{},[211],{"type":33,"value":212},"websocket",{"type":33,"value":214}," was a great experience of mine in the uBeac project.\n",{"type":24,"tag":48,"props":216,"children":217},{},[218,220],{"type":33,"value":219},"Project Website: ",{"type":24,"tag":99,"props":221,"children":224},{"href":222,"rel":223},"https:\u002F\u002Fubeac.io\u002F",[103],[225],{"type":33,"value":222},{"type":24,"tag":48,"props":227,"children":228},{},[229,231],{"type":33,"value":230},"A side project of uBeac platform: ",{"type":24,"tag":99,"props":232,"children":235},{"href":233,"rel":234},"http:\u002F\u002Fhook.ubeac.io\u002F",[103],[236],{"type":33,"value":233},{"type":24,"tag":238,"props":239,"children":240},"blockquote",{},[241,246],{"type":24,"tag":41,"props":242,"children":244},{"id":243},"ubeac-adaptive-iot-platform",[245],{"type":33,"value":131},{"type":24,"tag":48,"props":247,"children":248},{},[249],{"type":33,"value":250},"Accelerated IoT Solutions, Insightful Real-Time Data, Cutting-Edge Digital Transformations\nuBeac is a versatile IoT platform for centralized digital transformation, data integration, and visualization. uBeac’s IoT hub allows you to connect, process, and visualize real-time data in a secure way. Build an enterprise IoT solution that securely scales to millions of devices.\nSecure IoT platform to build or retrofit a better connected IoT infrastructure",{"type":24,"tag":48,"props":252,"children":253},{},[254],{"type":33,"value":255},"Live interactive IoT dashboad designed for uBeac project",{"type":24,"tag":257,"props":258,"children":260},"img",{"src":259,"alt":8},"\u002Fprojects\u002Fubeac-big-dashboard.png",[],{"title":8,"searchDepth":118,"depth":118,"links":262},[263],{"id":243,"depth":118,"text":131},"content:projects:project-2.md","projects\u002Fproject-2.md","projects\u002Fproject-2",{"_path":268,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":269,"description":270,"img":271,"tags":272,"body":277,"_type":122,"_id":308,"_source":124,"_file":309,"_stem":310,"_extension":127},"\u002Fprojects\u002Fproject-4","Figma Parand Plugin","Parand Generate random Persian text in different subjects to speed up your design workflow. ","projects\u002Ffigma-parand-intro.png",[273,274,275,276],"figma","plugin","persian","design",{"type":21,"children":278,"toc":306},[279,286,290],{"type":24,"tag":25,"props":280,"children":283},{"className":281,"id":282},[28,29],"figma-parand-plugin",[284],{"type":33,"value":285},"\nFigma Parand Plugin\n",{"type":24,"tag":36,"props":287,"children":289},{"slides":288},"[\n\"\u002Fprojects\u002Ffigma-parand-intro.png\"\n]",[],{"type":24,"tag":48,"props":291,"children":292},{},[293],{"type":24,"tag":156,"props":294,"children":296},{"className":295},[159],[297,299,304],{"type":33,"value":298},"\nParand is an open-source ",{"type":24,"tag":65,"props":300,"children":301},{},[302],{"type":33,"value":303},"Figma",{"type":33,"value":305}," plugin.\nParand generate random Persian text in different subjects to speed up your workflow.\n",{"title":8,"searchDepth":118,"depth":118,"links":307},[],"content:projects:project-4.md","projects\u002Fproject-4.md","projects\u002Fproject-4",{"_path":312,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":313,"description":314,"img":315,"tags":316,"body":319,"_type":122,"_id":366,"_source":124,"_file":367,"_stem":368,"_extension":127},"\u002Fprojects\u002Fproject-5","MarkdownServer","Simple markdown server","projects\u002Fmarkdown-server-intro.png",[317,122,318],"python","oss",{"type":21,"children":320,"toc":364},[321,328,332,354],{"type":24,"tag":25,"props":322,"children":325},{"className":323,"id":324},[28,29],"markdownserver",[326],{"type":33,"value":327},"\nMarkdownServer\n",{"type":24,"tag":36,"props":329,"children":331},{"slides":330},"[\n\"\u002Fprojects\u002Fmarkdown-server-intro.png\"\n]",[],{"type":24,"tag":48,"props":333,"children":334},{},[335],{"type":24,"tag":156,"props":336,"children":338},{"className":337},[159],[339,341,345,347,352],{"type":33,"value":340},"\nIt's just a simple ",{"type":24,"tag":65,"props":342,"children":343},{},[344],{"type":33,"value":324},{"type":33,"value":346}," written in ",{"type":24,"tag":65,"props":348,"children":349},{},[350],{"type":33,"value":351},"Python3",{"type":33,"value":353},". I needed a\nsimple markdown server, but there was not any that I liked, so I made myself.\n",{"type":24,"tag":48,"props":355,"children":356},{},[357,358],{"type":33,"value":219},{"type":24,"tag":99,"props":359,"children":362},{"href":360,"rel":361},"https:\u002F\u002Fpypi.org\u002Fproject\u002Fmarkdownserver\u002F",[103],[363],{"type":33,"value":360},{"title":8,"searchDepth":118,"depth":118,"links":365},[],"content:projects:project-5.md","projects\u002Fproject-5.md","projects\u002Fproject-5",{"_path":370,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":371,"description":372,"img":373,"tags":374,"body":376,"_type":122,"_id":430,"_source":124,"_file":431,"_stem":432,"_extension":127},"\u002Fprojects\u002Fproject-6","Landingo","Landingo is an open-source tool which aims to help us to enjoy creating webpages. ","projects\u002Flandingo-intro.png",[375,318,16],"landing-page",{"type":21,"children":377,"toc":428},[378,385,389,418],{"type":24,"tag":25,"props":379,"children":382},{"className":380,"id":381},[28,29],"landingo",[383],{"type":33,"value":384},"\nLandingo\n",{"type":24,"tag":36,"props":386,"children":388},{"slides":387},"[\n\"\u002Fprojects\u002Flandingo-intro.png\"\n]",[],{"type":24,"tag":48,"props":390,"children":391},{},[392],{"type":24,"tag":156,"props":393,"children":395},{"className":394},[159],[396,398,403,405,410,411,416],{"type":33,"value":397},"\nAn open-source tool to make landing page (Static page) fast and easy.\nWritten in ",{"type":24,"tag":65,"props":399,"children":400},{},[401],{"type":33,"value":402},"JavaScript",{"type":33,"value":404},", utilizes ",{"type":24,"tag":65,"props":406,"children":407},{},[408],{"type":33,"value":409},"VueJs",{"type":33,"value":71},{"type":24,"tag":65,"props":412,"children":413},{},[414],{"type":33,"value":415},"bootstrap",{"type":33,"value":417},".\n",{"type":24,"tag":48,"props":419,"children":420},{},[421,422],{"type":33,"value":219},{"type":24,"tag":99,"props":423,"children":426},{"href":424,"rel":425},"https:\u002F\u002Flandingo.ir",[103],[427],{"type":33,"value":424},{"title":8,"searchDepth":118,"depth":118,"links":429},[],"content:projects:project-6.md","projects\u002Fproject-6.md","projects\u002Fproject-6",{"_path":434,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":435,"description":436,"img":437,"tags":438,"body":442,"_type":122,"_id":529,"_source":124,"_file":530,"_stem":531,"_extension":127},"\u002Fprojects\u002Fproject-7","Avid","Dental learning platform — product UI and front-end delivery.","projects\u002Favid-intro.png",[439,440,441],"education","frontend","product",{"type":21,"children":443,"toc":527},[444,451,455,495,505,516],{"type":24,"tag":25,"props":445,"children":448},{"className":446,"id":447},[28,29],"avid",[449],{"type":33,"value":450},"\nAvid\n",{"type":24,"tag":36,"props":452,"children":454},{"slides":453},"[\n\"\u002Fprojects\u002Favid-intro.png\",\n\"\u002Fprojects\u002Favid-app-intro.png\",\n\"\u002Fprojects\u002Favid-app-intro-1.png\",\n\"\u002Fprojects\u002Favid-app-intro-2.png\",\n\"\u002Fprojects\u002Favid-app-intro-3.png\",\n\"\u002Fprojects\u002Favid-app-login-1.png\",\n\"\u002Fprojects\u002Favid-app-login-2.png\",\n\"\u002Fprojects\u002Favid-app-login-3.png\",\n\"\u002Fprojects\u002Favid-app-otp-1.png\",\n\"\u002Fprojects\u002Favid-app-otp-2.png\",\n\"\u002Fprojects\u002Favid-app-otp-3.png\",\n\"\u002Fprojects\u002Favid-app-otp-3.png\",\n\"\u002Fprojects\u002Favid-app-home.png\",\n\"\u002Fprojects\u002Favid-app-course-page.png\",\n\"\u002Fprojects\u002Favid-app-side-menu.png\",\n\"\u002Fprojects\u002Favid-app-chapter-page.png\",\n\"\u002Fprojects\u002Favid-app-question-success.png\",\n\"\u002Fprojects\u002Favid-app-question-explain.png\",\n\"\u002Fprojects\u002Favid-app-question-wrong.png\",\n\"\u002Fprojects\u002Favid-app-chapter-badge.png\"\n]",[],{"type":24,"tag":48,"props":456,"children":457},{},[458],{"type":24,"tag":156,"props":459,"children":461},{"className":460},[159],[462,464,469,470,475,477,482,484,489,490,494],{"type":33,"value":463},"\nA learning platform for dental students in Iran.\nI wrote the backend side in ",{"type":24,"tag":65,"props":465,"children":466},{},[467],{"type":33,"value":468},"Python",{"type":33,"value":71},{"type":24,"tag":65,"props":471,"children":472},{},[473],{"type":33,"value":474},"Flask",{"type":33,"value":476}," ",{"type":24,"tag":65,"props":478,"children":479},{},[480],{"type":33,"value":481},"MongoDB",{"type":33,"value":483},", and the frontend is written in ",{"type":24,"tag":65,"props":485,"children":486},{},[487],{"type":33,"value":488},"VueJS",{"type":33,"value":71},{"type":24,"tag":65,"props":491,"children":492},{},[493],{"type":33,"value":76},{"type":33,"value":417},{"type":24,"tag":48,"props":496,"children":497},{},[498,499],{"type":33,"value":219},{"type":24,"tag":99,"props":500,"children":503},{"href":501,"rel":502},"https:\u002F\u002Faviddent.ir",[103],[504],{"type":33,"value":501},{"type":24,"tag":48,"props":506,"children":507},{},[508,510],{"type":33,"value":509},"Application Address: ",{"type":24,"tag":99,"props":511,"children":514},{"href":512,"rel":513},"https:\u002F\u002Fflash.aviddent.ir",[103],[515],{"type":33,"value":512},{"type":24,"tag":48,"props":517,"children":518},{},[519,521],{"type":33,"value":520},"API Document: ",{"type":24,"tag":99,"props":522,"children":525},{"href":523,"rel":524},"https:\u002F\u002Fflashapi.aviddent.ir\u002Fapidocs\u002F",[103],[526],{"type":33,"value":523},{"title":8,"searchDepth":118,"depth":118,"links":528},[],"content:projects:project-7.md","projects\u002Fproject-7.md","projects\u002Fproject-7",{"_path":533,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":534,"description":535,"img":536,"tags":537,"role":541,"outcome":542,"draft":7,"body":543,"_type":122,"_id":621,"_source":124,"_file":622,"_stem":623,"_extension":127},"\u002Fprojects\u002Fproject-8","Hal","Personal robotics experiment — hobby hardware\u002Fsoftware build.","projects\u002Fhal-intro.png",[538,539,540],"hobby","robotics","embedded","Maker","Personal learning project in robotics and embedded systems",{"type":21,"children":544,"toc":615},[545,552,556,562,567,571,576,582,587,593,598,602],{"type":24,"tag":25,"props":546,"children":549},{"className":547,"id":548},[28,29],"hal-personal-robot",[550],{"type":33,"value":551},"Hal — personal robot",{"type":24,"tag":36,"props":553,"children":555},{"slides":554},"[\n\"\u002Fprojects\u002Fhal-intro.png\"\n]",[],{"type":24,"tag":41,"props":557,"children":559},{"id":558},"problem",[560],{"type":33,"value":561},"Problem",{"type":24,"tag":48,"props":563,"children":564},{},[565],{"type":33,"value":566},"I wanted a hands-on robotics sandbox to explore sensing, actuation, and embedded control outside of client work.",{"type":24,"tag":41,"props":568,"children":569},{"id":43},[570],{"type":33,"value":46},{"type":24,"tag":48,"props":572,"children":573},{},[574],{"type":33,"value":575},"Personal maker project — design, electronics, and software experiments.",{"type":24,"tag":41,"props":577,"children":579},{"id":578},"solution",[580],{"type":33,"value":581},"Solution",{"type":24,"tag":48,"props":583,"children":584},{},[585],{"type":33,"value":586},"Built a personal robot platform as a learning lab for embedded systems and DIY robotics.",{"type":24,"tag":41,"props":588,"children":590},{"id":589},"result",[591],{"type":33,"value":592},"Result",{"type":24,"tag":48,"props":594,"children":595},{},[596],{"type":33,"value":597},"A hobby project that informs my IoT and hardware-adjacent product work — not a commercial product.",{"type":24,"tag":599,"props":600,"children":601},"hr",{},[],{"type":24,"tag":48,"props":603,"children":604},{},[605],{"type":24,"tag":99,"props":606,"children":612},{"href":607,"className":608},"\u002Fcontact?interest=product",[609,610,611],"btn-primary","inline-block","mt-6",[613],{"type":33,"value":614},"Discuss IoT \u002F product engineering",{"title":8,"searchDepth":118,"depth":118,"links":616},[617,618,619,620],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},"content:projects:project-8.md","projects\u002Fproject-8.md","projects\u002Fproject-8",{"_path":625,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":626,"description":627,"img":628,"tags":629,"role":541,"outcome":632,"body":633,"_type":122,"_id":701,"_source":124,"_file":702,"_stem":703,"_extension":127},"\u002Fprojects\u002Fproject-9","DIY 3D printer","Self-built 3D printer — hobby fabrication and embedded tooling.","projects\u002F3dprinter-intro.png",[538,630,631],"3d-print","maker","Working DIY printer for prototyping and learning",{"type":21,"children":634,"toc":695},[635,641,645,649,654,658,663,667,672,676,681,684],{"type":24,"tag":25,"props":636,"children":639},{"className":637,"id":638},[28,29],"diy-3d-printer",[640],{"type":33,"value":626},{"type":24,"tag":36,"props":642,"children":644},{"slides":643},"[\n\"\u002Fprojects\u002F3dprinter-intro.png\"\n]",[],{"type":24,"tag":41,"props":646,"children":647},{"id":558},[648],{"type":33,"value":561},{"type":24,"tag":48,"props":650,"children":651},{},[652],{"type":33,"value":653},"I needed accessible prototyping capability for electronics enclosures and mechanical parts without waiting on external shops.",{"type":24,"tag":41,"props":655,"children":656},{"id":43},[657],{"type":33,"value":46},{"type":24,"tag":48,"props":659,"children":660},{},[661],{"type":33,"value":662},"Personal maker project — assembly, calibration, and firmware tooling.",{"type":24,"tag":41,"props":664,"children":665},{"id":578},[666],{"type":33,"value":581},{"type":24,"tag":48,"props":668,"children":669},{},[670],{"type":33,"value":671},"Built and tuned a DIY 3D printer as part of my maker toolkit alongside CNC, PCB, and IoT work.",{"type":24,"tag":41,"props":673,"children":674},{"id":589},[675],{"type":33,"value":592},{"type":24,"tag":48,"props":677,"children":678},{},[679],{"type":33,"value":680},"A reliable hobby fabrication setup used for personal prototypes and experiments.",{"type":24,"tag":599,"props":682,"children":683},{},[],{"type":24,"tag":48,"props":685,"children":686},{},[687],{"type":24,"tag":99,"props":688,"children":692},{"href":689,"className":690},"\u002Ftools",[691,610,611],"btn-outline",[693],{"type":33,"value":694},"See maker toolkit",{"title":8,"searchDepth":118,"depth":118,"links":696},[697,698,699,700],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},"content:projects:project-9.md","projects\u002Fproject-9.md","projects\u002Fproject-9",{"_path":705,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":706,"description":707,"img":708,"tags":709,"body":713,"_type":122,"_id":773,"_source":124,"_file":774,"_stem":775,"_extension":127},"\u002Fprojects\u002Fproject-11","rezababakhani.com","Personal website — Nuxt 3, Tailwind, Figma.","projects\u002Frezababakhani-intro.png",[710,711,712,273,134],"nuxt3","vue3","tailwind",{"type":21,"children":714,"toc":771},[715,722,726,753,762],{"type":24,"tag":25,"props":716,"children":719},{"className":717,"id":718},[28,29],"personal-website",[720],{"type":33,"value":721},"\nPersonal website\n",{"type":24,"tag":36,"props":723,"children":725},{"slides":724},"[\n\"\u002Fprojects\u002Frezababakhani-intro.png\",\n\"\u002Fprojects\u002Frezababakhani-sheet-intro.png\"\n]",[],{"type":24,"tag":48,"props":727,"children":728},{},[729],{"type":24,"tag":156,"props":730,"children":732},{"className":731},[159],[733,735,740,741,746,748,752],{"type":33,"value":734},"\nCreating a personal website with help of ",{"type":24,"tag":65,"props":736,"children":737},{},[738],{"type":33,"value":739},"Nuxt3",{"type":33,"value":71},{"type":24,"tag":65,"props":742,"children":743},{},[744],{"type":33,"value":745},"Tailwind",{"type":33,"value":747}," was so much\nfun. I like clean UI and simple things. Designed in ",{"type":24,"tag":65,"props":749,"children":750},{},[751],{"type":33,"value":303},{"type":33,"value":417},{"type":24,"tag":48,"props":754,"children":755},{},[756],{"type":24,"tag":156,"props":757,"children":759},{"className":758},[159],[760],{"type":33,"value":761},"\nIf you like it, it's open source, you can clone the project from here:",{"type":24,"tag":48,"props":763,"children":764},{},[765],{"type":24,"tag":99,"props":766,"children":769},{"href":767,"rel":768},"https:\u002F\u002Fgithub.com\u002Fbabakhani\u002Frezababakhani.com",[103],[770],{"type":33,"value":767},{"title":8,"searchDepth":118,"depth":118,"links":772},[],"content:projects:project-11.md","projects\u002Fproject-11.md","projects\u002Fproject-11",{"_path":777,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":778,"description":779,"img":780,"tags":781,"role":783,"outcome":784,"body":785,"_type":122,"_id":869,"_source":124,"_file":870,"_stem":871,"_extension":127},"\u002Fprojects\u002Fproject-12","Anten","Sports livestream platform — led front-end team of 3 at Farakav (2018).","projects\u002Fanten-intro.png",[440,782,16,441],"streaming","Front-end lead","Launch grew to about 2M users in the first months",{"type":21,"children":786,"toc":863},[787,794,798,802,807,811,816,820,825,829,841,851,854],{"type":24,"tag":25,"props":788,"children":791},{"className":789,"id":790},[28,29],"anten-sports-livestream-platform",[792],{"type":33,"value":793},"Anten — sports livestream platform",{"type":24,"tag":36,"props":795,"children":797},{"slides":796},"[\n\"\u002Fprojects\u002Fanten-intro.png\"\n]",[],{"type":24,"tag":41,"props":799,"children":800},{"id":558},[801],{"type":33,"value":561},{"type":24,"tag":48,"props":803,"children":804},{},[805],{"type":33,"value":806},"Sports fans needed a reliable way to livestream events at scale on the Iranian web — with a product that could grow quickly after launch.",{"type":24,"tag":41,"props":808,"children":809},{"id":43},[810],{"type":33,"value":46},{"type":24,"tag":48,"props":812,"children":813},{},[814],{"type":33,"value":815},"In 2018 at Farakav, I led a front-end team of 3 to ship the first version of Anten.",{"type":24,"tag":41,"props":817,"children":818},{"id":578},[819],{"type":33,"value":581},{"type":24,"tag":48,"props":821,"children":822},{},[823],{"type":33,"value":824},"Built the web client experience for livestreaming sports events, focusing on performance, clarity, and a launch-ready UI for a high-traffic audience.",{"type":24,"tag":41,"props":826,"children":827},{"id":589},[828],{"type":33,"value":592},{"type":24,"tag":48,"props":830,"children":831},{},[832,834,839],{"type":33,"value":833},"After launch the product grew to about ",{"type":24,"tag":65,"props":835,"children":836},{},[837],{"type":33,"value":838},"2 million users",{"type":33,"value":840}," in the first months (as we measured at the time).",{"type":24,"tag":48,"props":842,"children":843},{},[844,845],{"type":33,"value":97},{"type":24,"tag":99,"props":846,"children":849},{"href":847,"rel":848},"https:\u002F\u002Fanten.ir\u002F",[103],[850],{"type":33,"value":847},{"type":24,"tag":599,"props":852,"children":853},{},[],{"type":24,"tag":48,"props":855,"children":856},{},[857],{"type":24,"tag":99,"props":858,"children":860},{"href":607,"className":859},[609,610,611],[861],{"type":33,"value":862},"Discuss a similar project",{"title":8,"searchDepth":118,"depth":118,"links":864},[865,866,867,868],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},"content:projects:project-12.md","projects\u002Fproject-12.md","projects\u002Fproject-12",{"_path":873,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":874,"description":875,"img":876,"tags":877,"role":783,"outcome":879,"body":880,"_type":122,"_id":956,"_source":124,"_file":957,"_stem":958,"_extension":127},"\u002Fprojects\u002Fproject-13","Tamasha","Video sharing platform — led a front-end team of 4 to ship the first version.","projects\u002Ftamasha-intro.png",[440,878,441],"video","Shipped first version with a team of 4",{"type":21,"children":881,"toc":950},[882,889,893,897,902,906,911,915,920,924,929,939,942],{"type":24,"tag":25,"props":883,"children":886},{"className":884,"id":885},[28,29],"tamasha-video-sharing-platform",[887],{"type":33,"value":888},"Tamasha — video sharing platform",{"type":24,"tag":36,"props":890,"children":892},{"slides":891},"[\n\"\u002Fprojects\u002Ftamasha-intro.png\"\n]",[],{"type":24,"tag":41,"props":894,"children":895},{"id":558},[896],{"type":33,"value":561},{"type":24,"tag":48,"props":898,"children":899},{},[900],{"type":33,"value":901},"Iranian users needed a modern video sharing experience competitive with global platforms, built for local scale and product speed.",{"type":24,"tag":41,"props":903,"children":904},{"id":43},[905],{"type":33,"value":46},{"type":24,"tag":48,"props":907,"children":908},{},[909],{"type":33,"value":910},"In 2015 at Farakav, I led a front-end team of 4 to implement the first version of Tamasha.",{"type":24,"tag":41,"props":912,"children":913},{"id":578},[914],{"type":33,"value":581},{"type":24,"tag":48,"props":916,"children":917},{},[918],{"type":33,"value":919},"Delivered core front-end architecture and UI for browsing, watching, and sharing video content.",{"type":24,"tag":41,"props":921,"children":922},{"id":589},[923],{"type":33,"value":592},{"type":24,"tag":48,"props":925,"children":926},{},[927],{"type":33,"value":928},"Launched a popular video sharing platform still known in the Iranian market.",{"type":24,"tag":48,"props":930,"children":931},{},[932,933],{"type":33,"value":97},{"type":24,"tag":99,"props":934,"children":937},{"href":935,"rel":936},"https:\u002F\u002Ftamasha.com\u002F",[103],[938],{"type":33,"value":935},{"type":24,"tag":599,"props":940,"children":941},{},[],{"type":24,"tag":48,"props":943,"children":944},{},[945],{"type":24,"tag":99,"props":946,"children":948},{"href":607,"className":947},[609,610,611],[949],{"type":33,"value":862},{"title":8,"searchDepth":118,"depth":118,"links":951},[952,953,954,955],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},"content:projects:project-13.md","projects\u002Fproject-13.md","projects\u002Fproject-13",{"_path":960,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":961,"description":962,"img":963,"tags":964,"role":783,"outcome":968,"body":969,"_type":122,"_id":1047,"_source":124,"_file":1048,"_stem":1049,"_extension":127},"\u002Fprojects\u002Fproject-14","Varzesh3","High-traffic Iranian sports website — led a front-end team of 5–7.","projects\u002Fvarzesh3-intro.png",[440,965,966,967],"sports","scale","leadership","Shipped web apps for a high-traffic sports destination",{"type":21,"children":970,"toc":1041},[971,978,982,986,991,995,1000,1004,1009,1013,1018,1028,1031],{"type":24,"tag":25,"props":972,"children":975},{"className":973,"id":974},[28,29],"varzesh3-high-traffic-sports-website",[976],{"type":33,"value":977},"Varzesh3 — high-traffic sports website",{"type":24,"tag":36,"props":979,"children":981},{"slides":980},"[\n\"\u002Fprojects\u002Fvarzesh3-intro.png\"\n]",[],{"type":24,"tag":41,"props":983,"children":984},{"id":558},[985],{"type":33,"value":561},{"type":24,"tag":48,"props":987,"children":988},{},[989],{"type":33,"value":990},"Varzesh3 serves a massive daily sports audience. The product needed scalable front-end applications and a team that could deliver reliably under traffic pressure.",{"type":24,"tag":41,"props":992,"children":993},{"id":43},[994],{"type":33,"value":46},{"type":24,"tag":48,"props":996,"children":997},{},[998],{"type":33,"value":999},"From 2015–2019 at Farakav, I led the front-end team (5–7 engineers) building related web applications.",{"type":24,"tag":41,"props":1001,"children":1002},{"id":578},[1003],{"type":33,"value":581},{"type":24,"tag":48,"props":1005,"children":1006},{},[1007],{"type":33,"value":1008},"Led architecture and delivery for sports web experiences — mentoring engineers, shipping features, and keeping the stack maintainable at scale.",{"type":24,"tag":41,"props":1010,"children":1011},{"id":589},[1012],{"type":33,"value":592},{"type":24,"tag":48,"props":1014,"children":1015},{},[1016],{"type":33,"value":1017},"Worked on a high-traffic Iranian sports website over several years of product evolution.",{"type":24,"tag":48,"props":1019,"children":1020},{},[1021,1022],{"type":33,"value":97},{"type":24,"tag":99,"props":1023,"children":1026},{"href":1024,"rel":1025},"https:\u002F\u002Fvarzesh3.com\u002F",[103],[1027],{"type":33,"value":1024},{"type":24,"tag":599,"props":1029,"children":1030},{},[],{"type":24,"tag":48,"props":1032,"children":1033},{},[1034],{"type":24,"tag":99,"props":1035,"children":1038},{"href":1036,"className":1037},"\u002Fcontact?interest=cto",[609,610,611],[1039],{"type":33,"value":1040},"Discuss technical leadership",{"title":8,"searchDepth":118,"depth":118,"links":1042},[1043,1044,1045,1046],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},"content:projects:project-14.md","projects\u002Fproject-14.md","projects\u002Fproject-14",{"_path":1051,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1052,"description":1053,"img":1054,"tags":1055,"body":1057,"_type":122,"_id":1091,"_source":124,"_file":1092,"_stem":1093,"_extension":127},"\u002Fprojects\u002Fproject-31","Persian Datepicker","Javascript jalali calendar capable datepicker widget","projects\u002Fpersian-datepicker-intro.png",[137,1056],"opensource",{"type":21,"children":1058,"toc":1089},[1059,1066,1070,1079],{"type":24,"tag":25,"props":1060,"children":1063},{"className":1061,"id":1062},[28,29],"persian-datepicker",[1064],{"type":33,"value":1065},"\nPersian Datepicker\n",{"type":24,"tag":36,"props":1067,"children":1069},{"slides":1068},"[\n\"\u002Fprojects\u002Fpersian-datepicker-intro.png\"\n]",[],{"type":24,"tag":48,"props":1071,"children":1072},{},[1073],{"type":24,"tag":156,"props":1074,"children":1076},{"className":1075},[159],[1077],{"type":33,"value":1078},"\nJavascript jalali calendar capable datepicker widget\n",{"type":24,"tag":48,"props":1080,"children":1081},{},[1082,1083],{"type":33,"value":219},{"type":24,"tag":99,"props":1084,"children":1087},{"href":1085,"rel":1086},"http:\u002F\u002Fgithub.com\u002Fbabakhani\u002Fpwt.datepicker",[103],[1088],{"type":33,"value":1085},{"title":8,"searchDepth":118,"depth":118,"links":1090},[],"content:projects:project-31.md","projects\u002Fproject-31.md","projects\u002Fproject-31",{"_path":1095,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1096,"description":1097,"img":1098,"tags":1099,"body":1100,"_type":122,"_id":1134,"_source":124,"_file":1135,"_stem":1136,"_extension":127},"\u002Fprojects\u002Fproject-32","Persian Heat Chart","Some Ui Tools Compatible With Persian Layout And Jalali Calendar","projects\u002Fpersian-heat-chart-intro.png",[137,1056],{"type":21,"children":1101,"toc":1132},[1102,1109,1113,1122],{"type":24,"tag":25,"props":1103,"children":1106},{"className":1104,"id":1105},[28,29],"persian-heat-chart",[1107],{"type":33,"value":1108},"\nPersian Heat Chart\n",{"type":24,"tag":36,"props":1110,"children":1112},{"slides":1111},"[\n\"\u002Fprojects\u002Fpersian-heat-chart-intro.png\"\n]",[],{"type":24,"tag":48,"props":1114,"children":1115},{},[1116],{"type":24,"tag":156,"props":1117,"children":1119},{"className":1118},[159],[1120],{"type":33,"value":1121},"\nPersian Heat chart. A heat map is a graphical representation of data where the individual values contained in a matrix are represented as colors.\n",{"type":24,"tag":48,"props":1123,"children":1124},{},[1125,1126],{"type":33,"value":219},{"type":24,"tag":99,"props":1127,"children":1130},{"href":1128,"rel":1129},"https:\u002F\u002Fgithub.com\u002Fbabakhani\u002Fpwt.calheatmap",[103],[1131],{"type":33,"value":1128},{"title":8,"searchDepth":118,"depth":118,"links":1133},[],"content:projects:project-32.md","projects\u002Fproject-32.md","projects\u002Fproject-32",{"_path":1138,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1139,"description":1140,"img":1141,"tags":1142,"body":1143,"_type":122,"_id":1177,"_source":124,"_file":1178,"_stem":1179,"_extension":127},"\u002Fprojects\u002Fproject-33","Persian Date","javascript date library for parsing, validating, manipulating, and formatting persian dates System.","projects\u002Fpersian-date-intro.png",[137,1056],{"type":21,"children":1144,"toc":1175},[1145,1152,1156,1165],{"type":24,"tag":25,"props":1146,"children":1149},{"className":1147,"id":1148},[28,29],"persian-date",[1150],{"type":33,"value":1151},"\nPersian Date\n",{"type":24,"tag":36,"props":1153,"children":1155},{"slides":1154},"[\n\"\u002Fprojects\u002Fpersian-date-intro.png\"\n]",[],{"type":24,"tag":48,"props":1157,"children":1158},{},[1159],{"type":24,"tag":156,"props":1160,"children":1162},{"className":1161},[159],[1163],{"type":33,"value":1164},"\nJavaScript date library for parsing, validating, manipulating, and formatting Persian dates System.\n",{"type":24,"tag":48,"props":1166,"children":1167},{},[1168,1169],{"type":33,"value":219},{"type":24,"tag":99,"props":1170,"children":1173},{"href":1171,"rel":1172},"https:\u002F\u002Fgithub.com\u002Fbabakhani\u002FpersianDate",[103],[1174],{"type":33,"value":1171},{"title":8,"searchDepth":118,"depth":118,"links":1176},[],"content:projects:project-33.md","projects\u002Fproject-33.md","projects\u002Fproject-33",{"_path":1181,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1182,"description":1183,"img":708,"tags":1184,"role":1189,"outcome":1190,"body":1191,"_type":122,"_id":1300,"_source":124,"_file":1301,"_stem":1302,"_extension":127},"\u002Fprojects\u002Fsabzema","Sabzema","Odoo ERP consultancy — implementation, custom modules, and DevOps for organizations in Iran.",[1185,1186,1187,1188],"odoo","erp","devops","consultancy","Founder","Helping organizations run operations on Odoo with custom modules and reliable DevOps.",{"type":21,"children":1192,"toc":1293},[1193,1200,1204,1209,1213,1226,1230,1260,1264,1269,1275,1280,1283],{"type":24,"tag":25,"props":1194,"children":1197},{"className":1195,"id":1196},[28,29],"sabzema-odoo-erp-for-organizations",[1198],{"type":33,"value":1199},"Sabzema — Odoo ERP for organizations",{"type":24,"tag":41,"props":1201,"children":1202},{"id":558},[1203],{"type":33,"value":561},{"type":24,"tag":48,"props":1205,"children":1206},{},[1207],{"type":33,"value":1208},"Many organizations in Iran need ERP that matches real operational processes — not a generic import of a foreign playbook. Spreadsheets, disconnected tools, and rigid off-the-shelf setups slow finance, inventory, and delivery teams.",{"type":24,"tag":41,"props":1210,"children":1211},{"id":43},[1212],{"type":33,"value":46},{"type":24,"tag":48,"props":1214,"children":1215},{},[1216,1218,1224],{"type":33,"value":1217},"Founder of ",{"type":24,"tag":99,"props":1219,"children":1222},{"href":1220,"rel":1221},"https:\u002F\u002Fsabzema.com",[103],[1223],{"type":33,"value":1182},{"type":33,"value":1225}," (2024–present). I lead discovery, architecture, custom Odoo module development, deployment, and ongoing DevOps support.",{"type":24,"tag":41,"props":1227,"children":1228},{"id":578},[1229],{"type":33,"value":581},{"type":24,"tag":1231,"props":1232,"children":1233},"ul",{},[1234,1240,1245,1250,1255],{"type":24,"tag":1235,"props":1236,"children":1237},"li",{},[1238],{"type":33,"value":1239},"Map business processes before configuration",{"type":24,"tag":1235,"props":1241,"children":1242},{},[1243],{"type":33,"value":1244},"Implement and customize Odoo modules for finance, inventory, CRM, and operations",{"type":24,"tag":1235,"props":1246,"children":1247},{},[1248],{"type":33,"value":1249},"Integrate with existing systems where needed",{"type":24,"tag":1235,"props":1251,"children":1252},{},[1253],{"type":33,"value":1254},"Deploy with Docker\u002FLinux\u002FNginx practices and train internal teams",{"type":24,"tag":1235,"props":1256,"children":1257},{},[1258],{"type":33,"value":1259},"Offer retainers for support and iteration",{"type":24,"tag":41,"props":1261,"children":1262},{"id":589},[1263],{"type":33,"value":592},{"type":24,"tag":48,"props":1265,"children":1266},{},[1267],{"type":33,"value":1268},"Through Sabzema I take Odoo projects from first deployment through ongoing support and iteration.",{"type":24,"tag":41,"props":1270,"children":1272},{"id":1271},"stack",[1273],{"type":33,"value":1274},"Stack",{"type":24,"tag":48,"props":1276,"children":1277},{},[1278],{"type":33,"value":1279},"Odoo · Python · PostgreSQL · Docker · Linux · Nginx · DevOps",{"type":24,"tag":599,"props":1281,"children":1282},{},[],{"type":24,"tag":48,"props":1284,"children":1285},{},[1286],{"type":24,"tag":99,"props":1287,"children":1290},{"href":1288,"className":1289},"\u002Fcontact?interest=odoo",[609,610,611],[1291],{"type":33,"value":1292},"Discuss an Odoo project",{"title":8,"searchDepth":118,"depth":118,"links":1294},[1295,1296,1297,1298,1299],{"id":558,"depth":118,"text":561},{"id":43,"depth":118,"text":46},{"id":578,"depth":118,"text":581},{"id":589,"depth":118,"text":592},{"id":1271,"depth":118,"text":1274},"content:projects:sabzema.md","projects\u002Fsabzema.md","projects\u002Fsabzema",{"_path":1304,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1305,"description":1306,"img":1307,"order":1308,"tags":1309,"body":1311,"_type":122,"_id":1330,"_source":124,"_file":1331,"_stem":1332,"_extension":127},"\u002Fprojects\u002Ftwdetector","Timey-wimey detector.","Hobby hardware detector experiment (Doctor Who–inspired).","projects\u002Ftw-detector.png",0,[538,1310,540],"hardware",{"type":21,"children":1312,"toc":1328},[1313,1320,1324],{"type":24,"tag":25,"props":1314,"children":1317},{"className":1315,"id":1316},[28,29],"timey-wimey-detector",[1318],{"type":33,"value":1319},"\nTimey-wimey Detector\n",{"type":24,"tag":36,"props":1321,"children":1323},{"slides":1322},"[\n\"\u002Fprojects\u002Ftw-detector.png\",\n\"\u002Fprojects\u002Ftw-detector.png\",\n\"\u002Fprojects\u002Ftw-detector.png\"\n]",[],{"type":24,"tag":257,"props":1325,"children":1327},{"src":1326,"alt":8},"\u002Fprojects\u002Ftw-detector-sheet.png",[],{"title":8,"searchDepth":118,"depth":118,"links":1329},[],"content:projects:twdetector.md","projects\u002Ftwdetector.md","projects\u002Ftwdetector",1791356686984]