[{"data":1,"prerenderedAt":1892},["ShallowReactive",2],{"featured-projects-engineering-design-id":3,"experience-id":982,"hidden-projects-engineering-design":1109,"github-contributions":1110},[4,196,344,614,724,849],{"id":5,"title":6,"architecture":7,"body":32,"category":155,"company":156,"contribution":157,"cover":160,"description":161,"draft":162,"extension":163,"featured":164,"links":165,"meta":170,"metrics":171,"navigation":164,"order":181,"path":182,"role":183,"seo":184,"stem":185,"technologies":186,"timeline":192,"type":193,"year":194,"__hash__":195},"projects_id\u002Fprojects\u002Fvektorpedia.md","VektorPedia",[8,12,16,20,24,28],{"id":9,"label":10,"detail":11},"sources","GloBI · Wikidata · DBpedia · NCBITaxon","Empat knowledge graph publik yang mendeskripsikan spesies, taksonomi, dan interaksi biotik.",{"id":13,"label":14,"detail":15},"ingest","Ingesti & penyelarasan","Entitas dari setiap sumber diambil lalu diselaraskan menjadi satu knowledge graph keanekaragaman hayati.",{"id":17,"label":18,"detail":19},"graph","Knowledge graph keanekaragaman hayati","Serangga, virus, dan tanaman yang terhubung lewat edge interaksi bertipe.",{"id":21,"label":22,"detail":23},"analysis","Analisis jaringan & skoring","Metrik graf memberi skor seberapa mungkin seekor serangga berperan sebagai vektor virus tanaman.",{"id":25,"label":26,"detail":27},"api","Web server Python","Menangani query dan pemrosesan data untuk mesin pencari.",{"id":29,"label":30,"detail":31},"client","Client Vue","UI pencarian bagi peneliti untuk menjelajahi kandidat vektor beserta buktinya.",{"type":33,"value":34,"toc":143},"minimark",[35,40,53,57,60,64,71,75,79,83,105,109,113,128,132,135,139],[36,37,39],"h2",{"id":38},"masalah","Masalah",[41,42,43,44,48,49,52],"p",{},"Virus tanaman menyebar melalui serangga, tetapi pengetahuan tentang serangga ",[45,46,47],"em",{},"mana"," yang membawa virus ",[45,50,51],{},"apa"," tersebar di banyak database keanekaragaman hayati. Peneliti dan praktisi penyakit tanaman tidak punya satu tempat untuk bertanya: \"serangga apa saja yang kemungkinan menjadi vektor virus ini?\"",[36,54,56],{"id":55},"konteks","Konteks",[41,58,59],{},"Ini adalah tesis magister saya di IPB University. Datanya sebenarnya sudah tersedia secara publik — di Global Biotic Interactions (GloBI), Wikidata, DBpedia, dan ontologi NCBI Taxonomy — tetapi dalam bentuk, identifier, dan tingkat kelengkapan yang berbeda-beda.",[36,61,63],{"id":62},"solusi","Solusi",[41,65,66,67,70],{},"Saya membangun ",[68,69,6],"strong",{},", mesin pencari yang didukung knowledge graph keanekaragaman hayati yang terintegrasi. Data dari keempat sumber diambil dan diselaraskan menjadi satu graf yang menangkap hubungan antara serangga, virus, dan tanaman. Analisis jaringan pada graf itu memunculkan dan memberi skor pada kandidat serangga vektor.",[36,72,74],{"id":73},"arsitektur","Arsitektur",[76,77],"architecture-explorer",{":nodes":78},"architecture",[36,80,82],{"id":81},"tantangan-teknis","Tantangan teknis",[84,85,86,93,99],"ul",{},[87,88,89,92],"li",{},[68,90,91],{},"Sumber yang heterogen"," — setiap knowledge graph memakai identifier dan kosakatanya sendiri, sehingga entitas harus diselaraskan dulu sebelum analisis apa pun bisa bermakna.",[87,94,95,98],{},[68,96,97],{},"Sinyal dari struktur"," — data interaksinya jarang; analisis jaringan dipakai untuk menyimpulkan kandidat vektor dari cara spesies saling terhubung, bukan hanya dari catatan langsung.",[87,100,101,104],{},[68,102,103],{},"Dari riset menjadi produk"," — mengubah pipeline riset menjadi aplikasi pencarian yang bisa dipakai dalam waktu sekitar tiga bulan.",[36,106,108],{"id":107},"dampak","Dampak",[110,111],"metric-grid",{":metrics":112},"metrics",[41,114,115,116,119,120,127],{},"Penelitian ini dipublikasikan di jurnal terindeks Scopus (",[45,117,118],{},"JISEBI",", 2024) dan di-deploy di ",[121,122,126],"a",{"href":123,"rel":124},"https:\u002F\u002Fvektorpedia.ipb.ac.id\u002F",[125],"nofollow","vektorpedia.ipb.ac.id",".",[36,129,131],{"id":130},"pelajaran","Pelajaran",[41,133,134],{},"Knowledge graph kuat justru karena membawa konteks — tetapi sebagian besar usahanya ada pada pekerjaan penyelarasan yang tidak glamor. Pengalaman pencarian yang baik di atasnyalah yang membuat riset bisa dipakai oleh orang di luar laboratorium.",[36,136,138],{"id":137},"cuplikan","Cuplikan",[140,141],"gallery",{":images":142},"[{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F1.jpeg\",\"alt\":\"Ringkasan ide\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F2.jpeg\",\"alt\":\"Tahapan penelitian\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F3.jpeg\",\"alt\":\"Graf interaksi\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F4.jpeg\",\"alt\":\"Embedding takson\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F5.jpg\",\"alt\":\"Skoring serangga vektor\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fvektorpedia\u002F6.jpg\",\"alt\":\"Halaman informasi detail\"}]",{"title":144,"searchDepth":145,"depth":145,"links":146},"",2,[147,148,149,150,151,152,153,154],{"id":38,"depth":145,"text":39},{"id":55,"depth":145,"text":56},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":81,"depth":145,"text":82},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},{"id":137,"depth":145,"text":138},"AI · Knowledge Graph","IPB University",{"team":158,"mine":159},"Arah riset dan bimbingan berasal dari dosen pembimbing tesis saya.","Ingesti data, integrasi knowledge graph, analisis jaringan, dan seluruh aplikasi pencarian (backend + frontend).","\u002Fimages\u002Fwork\u002Fvektorpedia\u002F6.jpg","Mesin pencari yang menemukan serangga vektor virus tanaman dengan mengintegrasikan empat knowledge graph publik dan menjalankan analisis jaringan di atasnya.",false,"md",true,[166,167],{"label":126,"url":123},{"label":168,"url":169},"Paper yang dipublikasikan","https:\u002F\u002Fe-journal.unair.ac.id\u002FJISEBI\u002Farticle\u002Fview\u002F50015",{},[172,175,178],{"value":173,"label":174},"4","knowledge graph publik terintegrasi",{"value":176,"label":177},"3 bln","dari desain hingga aplikasi ter-deploy",{"value":179,"label":180},"Scopus","publikasi terindeks",1,"\u002Fprojects\u002Fvektorpedia","Peneliti & Engineer (Tesis magister)",{"title":6,"description":161},"projects\u002Fvektorpedia",[187,188,189,190,191],"Python","Vue","SPARQL","Knowledge Graph","Network Analysis","Agu 2022 — Des 2023","engineering",2023,"n5qltCpJWbV_EBq4sTMY0t9TqBBkwsmbWLtiYqIicJE",{"id":197,"title":198,"architecture":199,"body":219,"category":311,"company":312,"contribution":313,"cover":316,"description":317,"draft":162,"extension":163,"featured":164,"links":318,"meta":322,"metrics":323,"navigation":164,"order":145,"path":333,"role":334,"seo":335,"stem":336,"technologies":337,"timeline":341,"type":193,"year":342,"__hash__":343},"projects_id\u002Fprojects\u002Fmakassar-raya-motor.md","Intelijen Penjualan Spasial",[200,204,208,211,215],{"id":201,"label":202,"detail":203},"data","Data penjualan + indikator BPS","Catatan penjualan dealer digabung dengan data PDRB, pendapatan per kapita, dan jumlah penduduk dari Badan Pusat Statistik (BPS).",{"id":205,"label":206,"detail":207},"geo","Batas wilayah GeoJSON","Batas provinsi, kabupaten\u002Fkota, dan kecamatan yang disiapkan bersama tim pemetaan spasial.",{"id":25,"label":209,"detail":210},"Layanan spasial FastAPI","Mengolah data spasial dan menjalankan fitur-fitur pemetaan.",{"id":212,"label":213,"detail":214},"viz","Dashboard Plotly","Peta dan grafik interaktif per provinsi, kabupaten\u002Fkota, dan kecamatan.",{"id":216,"label":217,"detail":218},"app","Aplikasi web Laravel Livewire","Manajemen data, impor, dan dashboard yang tertanam dalam satu tempat.",{"type":33,"value":220,"toc":301},[221,223,226,228,231,233,263,265,267,269,280,282,284,287,289,296,298],[36,222,39],{"id":38},[41,224,225],{},"PT. Makassar Raya Motor mengelola 10 cabang Daihatsu di Sulawesi Selatan, Sulawesi Tengah, dan Sulawesi Tenggara. Keputusan penjualan diambil tanpa gambaran geografis yang jelas tentang di mana permintaan kuat, lemah, atau belum tergarap.",[36,227,56],{"id":55},[41,229,230],{},"Data penjualan sudah ada, tetapi tidak terhubung dengan geografi maupun konteks sosial-ekonomi. Analisisnya harus bekerja di beberapa tingkat — provinsi, kabupaten\u002Fkota, kecamatan, dan desa — dan bisa dipakai oleh pemangku kepentingan non-teknis.",[36,232,63],{"id":62},[84,234,235,241,247,253],{},[87,236,237,240],{},[68,238,239],{},"Analisis spasial"," penjualan di 3 provinsi, 54 kabupaten\u002Fkota, 709 kecamatan, dan 7.394 desa.",[87,242,243,246],{},[68,244,245],{},"Peta yang punya konteks"," — dipadukan dengan indikator PDRB, pendapatan per kapita, dan jumlah penduduk dari BPS, dirancang bersama para ahli perencanaan wilayah.",[87,248,249,252],{},[68,250,251],{},"Dashboard interaktif"," yang dibangun dengan Python Plotly.",[87,254,255,258,259,262],{},[68,256,257],{},"Aplikasi web full-stack"," (Laravel Livewire) untuk manajemen data, impor, dan dashboard yang tertanam, didukung layanan ",[68,260,261],{},"FastAPI"," untuk pemrosesan spasial.",[36,264,74],{"id":73},[76,266],{":nodes":78},[36,268,82],{"id":81},[84,270,271,274,277],{},[87,272,273],{},"Menyerap dan membersihkan GeoJSON untuk tiga provinsi di beberapa tingkat administratif.",[87,275,276],{},"Menjaga peta tetap responsif saat merender ratusan poligon kecamatan.",[87,278,279],{},"Menggabungkan catatan penjualan dengan wilayah administratif secara konsisten.",[36,281,108],{"id":107},[110,283],{":metrics":112},[41,285,286],{},"Pemangku kepentingan bisa menjelajahi kinerja penjualan berdampingan dengan indikator sosial-ekonomi dalam sekali lihat, alih-alih membaca spreadsheet per cabang.",[36,288,131],{"id":130},[41,290,291,292,295],{},"Nilai sebuah dashboard ada pada pertanyaan yang bisa diajukan orang melaluinya. Memadukan data penjualan dengan data sosial-ekonomi publik mengubah \"di mana kita berjualan?\" menjadi \"di mana kita ",[45,293,294],{},"seharusnya"," berjualan?\".",[36,297,138],{"id":137},[140,299],{":images":300},"[{\"src\":\"\u002Fimages\u002Fwork\u002Fmakassar-raya-motor\u002Fmrm1.jpeg\",\"alt\":\"Analisis peta\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fmakassar-raya-motor\u002Fmrm3.jpeg\",\"alt\":\"Analisis dashboard\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fmakassar-raya-motor\u002Fmrm2.jpeg\",\"alt\":\"Manajemen data\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fmakassar-raya-motor\u002Fmrm4.jpeg\",\"alt\":\"Fitur impor data\"}]",{"title":144,"searchDepth":145,"depth":145,"links":302},[303,304,305,306,307,308,309,310],{"id":38,"depth":145,"text":39},{"id":55,"depth":145,"text":56},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":81,"depth":145,"text":82},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},{"id":137,"depth":145,"text":138},"Data · Geo-web","PT. Makassar Raya Motor",{"team":314,"mine":315},"Desain peta dikerjakan bersama para ahli perencanaan wilayah di tim pemetaan spasial.","Analisis spasial, dashboard Plotly, backend FastAPI, dan aplikasi web Livewire.","\u002Fimages\u002Fwork\u002Fmakassar-raya-motor\u002Fmrm1.jpeg","Analisis spasial dan dashboard interaktif yang memetakan kinerja penjualan di 3 provinsi hingga 7.394 desa untuk grup dealer Daihatsu.",[319],{"label":320,"url":321},"Profil klien","https:\u002F\u002Fdaihatsumrm.co.id\u002F",{},[324,327,330],{"value":325,"label":326},"3","provinsi dianalisis",{"value":328,"label":329},"709","kecamatan dipetakan",{"value":331,"label":332},"7,394","desa tercakup","\u002Fprojects\u002Fmakassar-raya-motor","Software Engineer & Data Analyst (Kontrak)",{"title":198,"description":317},"projects\u002Fmakassar-raya-motor",[187,261,338,339,340],"Plotly","Laravel Livewire","GeoJSON","Okt 2023 — Jun 2024",2024,"_D742L1GZZNkRqF5HT4LX-uZAcLP0N-ChpS-wZAfXAc",{"id":345,"title":346,"architecture":347,"body":362,"category":583,"company":584,"contribution":585,"cover":587,"description":588,"draft":162,"extension":163,"featured":164,"links":589,"meta":593,"metrics":594,"navigation":164,"order":603,"path":604,"role":605,"seo":606,"stem":607,"technologies":608,"timeline":611,"type":193,"year":612,"__hash__":613},"projects_id\u002Fprojects\u002Ftimemarket.md","TimeMarket",[348,351,355,358],{"id":29,"label":349,"detail":350},"PWA mobile-first","Bisa diinstal dari Chrome sehingga berperilaku seperti aplikasi Android native.",{"id":352,"label":353,"detail":354},"ui","Komponen Livewire","UI interaktif tanpa SPA terpisah, sehingga pengembangan tetap cepat.",{"id":216,"label":356,"detail":357},"Aplikasi Laravel","Program kerja (proker), pekerjaan, aturan pendelegasian, serta model peran\u002Fhak akses.",{"id":359,"label":360,"detail":361},"db","MySQL","Pegawai, program kerja, pekerjaan, dan riwayat beban kerja.",{"type":33,"value":363,"toc":574},[364,366,369,371,393,395,421,428,430,432,434,441,562,564,566,569,571],[36,365,39],{"id":38},[41,367,368],{},"Sebagai bagian dari program inovasi internal Bank Indonesia, kantor perwakilan Gorontalo membutuhkan cara untuk mendelegasikan pekerjaan secara tepat, memantaunya, dan menjaga beban kerja setiap pegawai dalam batas yang wajar.",[36,370,56],{"id":55},[41,372,373,374,377,378,377,381,384,385,388,389,392],{},"Aplikasinya harus bisa dipakai dari mana saja dan mudah bagi setiap pegawai — dari staf hingga kepala kantor. Ada empat peran yang terlibat: ",[68,375,376],{},"Pegawai",", ",[68,379,380],{},"Ketua Tim (Chief)",[68,382,383],{},"Kepala Kantor (KPw)",", dan ",[68,386,387],{},"Admin",", masing-masing dengan hak berbeda atas program kerja (",[45,390,391],{},"proker",") dan pekerjaan.",[36,394,63],{"id":62},[84,396,397,404,411,418],{},[87,398,399,400,403],{},"UI interaktif dengan ",[68,401,402],{},"Livewire"," agar pengembangan tetap cepat.",[87,405,406,407,410],{},"Desain ",[68,408,409],{},"mobile-first"," sehingga sama baiknya di desktop maupun ponsel.",[87,412,413,414,417],{},"Mode ",[68,415,416],{},"semi-PWA",": dengan metadata yang tepat, aplikasi bisa diinstal dari Chrome dan dibuka seperti aplikasi Android native.",[87,419,420],{},"Buku panduan pengguna untuk proses peluncuran.",[41,422,423],{},[424,425],"video",{"src":426,"controls":164,"muted":164,"playsInline":164,"preload":427},"\u002Fimages\u002Fwork\u002Ftimemarket\u002Ftimemarket_homescreen.webm","none",[36,429,74],{"id":73},[76,431],{":nodes":78},[36,433,82],{"id":81},[41,435,436,437,440],{},"Model hak akses adalah inti produknya: siapa yang boleh membuat, mengubah, memindahkan, atau menyelesaikan pekerjaan bergantung pada peran ",[45,438,439],{},"dan"," pada apakah pengguna tersebut memimpin program kerja itu.",[442,443,444,464],"table",{},[445,446,447],"thead",{},[448,449,450,454,456,459,462],"tr",{},[451,452,453],"th",{},"Fitur",[451,455,376],{},[451,457,458],{},"Chief",[451,460,461],{},"Kepala Kantor",[451,463,387],{},[465,466,467,482,496,510,523,536,549],"tbody",{},[448,468,469,473,476,478,480],{},[470,471,472],"td",{},"Melihat program kerja & pekerjaan",[470,474,475],{},"Ya",[470,477,475],{},[470,479,475],{},[470,481,475],{},[448,483,484,487,490,492,494],{},[470,485,486],{},"Menambah program kerja",[470,488,489],{},"—",[470,491,475],{},[470,493,489],{},[470,495,489],{},[448,497,498,501,504,506,508],{},[470,499,500],{},"Mengubah program kerja",[470,502,503],{},"Jika ketua proker",[470,505,475],{},[470,507,489],{},[470,509,475],{},[448,511,512,515,517,519,521],{},[470,513,514],{},"Menambah \u002F mengubah \u002F menghapus pekerjaan",[470,516,503],{},[470,518,503],{},[470,520,489],{},[470,522,489],{},[448,524,525,528,530,532,534],{},[470,526,527],{},"Memindahkan pekerjaan ke orang lain",[470,529,503],{},[470,531,503],{},[470,533,489],{},[470,535,489],{},[448,537,538,541,543,545,547],{},[470,539,540],{},"Menandai pekerjaan selesai",[470,542,475],{},[470,544,489],{},[470,546,489],{},[470,548,489],{},[448,550,551,554,556,558,560],{},[470,552,553],{},"Kalender utama",[470,555,475],{},[470,557,475],{},[470,559,475],{},[470,561,489],{},[36,563,108],{"id":107},[110,565],{":metrics":112},[41,567,568],{},"Kontraknya diperpanjang untuk versi kedua, yang selesai dalam 3 bulan, disusul 6 bulan pemeliharaan.",[36,570,131],{"id":130},[41,572,573],{},"Untuk tool internal, adopsi mengalahkan fitur. Membuatnya bisa diinstal di ponsel yang sudah dibawa orang setiap hari berdampak lebih besar pada pemakaian dibanding fitur mana pun.",{"title":144,"searchDepth":145,"depth":145,"links":575},[576,577,578,579,580,581,582],{"id":38,"depth":145,"text":39},{"id":55,"depth":145,"text":56},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":81,"depth":145,"text":82},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},"Produk · Full-stack","Bank Indonesia — Kantor Perwakilan Gorontalo",{"mine":586},"Pengembangan full-stack v1 dan v2, mode PWA, dan buku panduan pengguna.","\u002Fimages\u002Fwork\u002Ftimemarket\u002Ftimemarket.png","PWA manajemen beban kerja untuk Kantor Perwakilan Bank Indonesia Gorontalo yang menyeimbangkan pendelegasian pekerjaan antarpegawai.",[590],{"label":591,"url":592},"timemarket.masuk.id","https:\u002F\u002Ftimemarket.masuk.id",{},[595,597,600],{"value":173,"label":596},"peran pengguna dengan hak akses berbeda",{"value":598,"label":599},"6 bln","pengembangan full-stack v1",{"value":601,"label":602},"v2","kontrak diperpanjang untuk versi kedua",3,"\u002Fprojects\u002Ftimemarket","Web Developer (Kontrak)",{"title":346,"description":588},"projects\u002Ftimemarket",[609,402,610,360],"Laravel","PWA","Mei 2021 — Agu 2022",2021,"jtgKnP9AsFBnHJbF9T3K5wvkcenRA9Hu6oL2nnWpJmg",{"id":615,"title":616,"architecture":617,"body":632,"category":696,"company":616,"contribution":697,"cover":700,"description":701,"draft":162,"extension":163,"featured":164,"links":702,"meta":706,"metrics":707,"navigation":164,"order":714,"path":715,"role":716,"seo":717,"stem":718,"technologies":719,"timeline":722,"type":193,"year":194,"__hash__":723},"projects_id\u002Fprojects\u002Fcontag.md","Contag School",[618,622,625,629],{"id":619,"label":620,"detail":621},"clients","Back office & aplikasi","Back office untuk admin dan aplikasi untuk pengguna akhir.",{"id":25,"label":623,"detail":624},"NestJS API","Layanan modular dengan dependency injection, satu modul per domain.",{"id":626,"label":627,"detail":628},"domain","Modul domain akademik","Lebih dari 20 modul yang mencakup alur kerja urusan akademik.",{"id":359,"label":630,"detail":631},"Database","Data akademik yang persisten.",{"type":33,"value":633,"toc":687},[634,636,639,641,655,657,659,661,673,675,677,679,682,684],[36,635,39],{"id":38},[41,637,638],{},"Contag School membangun produk SaaS untuk pengelolaan urusan akademik perguruan tinggi. Mereka membutuhkan backend yang andal agar back office dan aplikasinya bisa berbagi data dan mengotomatiskan alur kerja.",[36,640,63],{"id":62},[41,642,643,644,647,648,651,652,127],{},"Saya mengembangkan ",[68,645,646],{},"lebih dari 20 modul API"," di atas ",[68,649,650],{},"NestJS",", disesuaikan dengan alur kerja akademik Contag, dan menjaga ritme pengiriman yang stabil dengan ",[68,653,654],{},"800+ commit",[36,656,74],{"id":73},[76,658],{":nodes":78},[36,660,82],{"id":81},[84,662,663,666],{},[87,664,665],{},"Menjaga modul yang terus bertambah tetap konsisten dan independen — modul NestJS + dependency injection membantu menegakkan batasannya.",[87,667,668,669,672],{},"Menerapkan prinsip ",[68,670,671],{},"SOLID"," agar fitur baru memperluas sistem, bukan menulis ulang sistem.",[36,674,108],{"id":107},[110,676],{":metrics":112},[36,678,131],{"id":130},[41,680,681],{},"Dengan banyak modul, konvensi lebih penting daripada kecerdikan. Penamaan yang jelas dan struktur yang konsisten membuat codebase mudah dipahami oleh anggota tim lainnya.",[36,683,138],{"id":137},[140,685],{":images":686},"[{\"src\":\"\u002Fimages\u002Fwork\u002Fcontag\u002Fc1.jpeg\",\"alt\":\"Back office\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fcontag\u002Fc2.jpeg\",\"alt\":\"Aplikasi\"}]",{"title":144,"searchDepth":145,"depth":145,"links":688},[689,690,691,692,693,694,695],{"id":38,"depth":145,"text":39},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":81,"depth":145,"text":82},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},{"id":137,"depth":145,"text":138},"Backend · SaaS",{"team":698,"mine":699},"Arah produk dan aplikasi klien dipegang oleh tim Contag.","Modul API backend, mengikuti prinsip SOLID dan praktik clean code.","\u002Fimages\u002Fwork\u002Fcontag\u002Fc2.jpeg","Modul API backend untuk platform SaaS yang mengelola urusan akademik perguruan tinggi.",[703],{"label":704,"url":705},"contag.id","https:\u002F\u002Fcontag.id\u002F",{},[708,711],{"value":709,"label":710},"20+","modul API dikerjakan",{"value":712,"label":713},"800+","commit",4,"\u002Fprojects\u002Fcontag","Backend Engineer",{"title":616,"description":701},"projects\u002Fcontag",[650,720,721],"Node.js","TypeScript","Mar 2023 — Okt 2023","WjbffGgoVSAh9F5-TmVhrdrHi7-Sk0Z0rKJ9uxB3ZKI",{"id":725,"title":726,"architecture":727,"body":741,"category":818,"company":726,"contribution":819,"cover":822,"description":823,"draft":162,"extension":163,"featured":164,"links":824,"meta":831,"metrics":832,"navigation":164,"order":839,"path":840,"role":841,"seo":842,"stem":843,"technologies":844,"timeline":846,"type":193,"year":847,"__hash__":848},"projects_id\u002Fprojects\u002Fdigimosque.md","Digimosque",[728,732,735,737],{"id":729,"label":730,"detail":731},"android","Aplikasi Android","Pencarian masjid, donasi, fitur takmir.",{"id":25,"label":733,"detail":734},"Laravel API","Termasuk algoritma pencarian masjid terdekat.",{"id":359,"label":630,"detail":736},"Didesain ulang untuk mendukung fitur baru sambil tetap mempertahankan data lama.",{"id":738,"label":739,"detail":740},"admin","Panel admin Livewire","Data masjid, akses perangkat IoT, verifikasi takmir.",{"type":33,"value":742,"toc":809},[743,745,748,750,753,755,781,783,785,787,789,792,794,797,799,802],[36,744,39],{"id":38},[41,746,747],{},"Digimosque adalah platform masjid digital: mencari masjid terdekat, berdonasi untuk kegiatan keagamaan, mengelola kas \u002F infak \u002F kurban masjid, dan menghubungkan perangkat IoT (layar, AC, jadwal sholat). Prototipe Android-nya membutuhkan API sungguhan, dan pengurus membutuhkan panel web.",[36,749,56],{"id":55},[41,751,752],{},"Data yang sudah ada harus dipertahankan, jadi kami melakukan reverse-engineering terhadap database lama dan menyesuaikannya untuk fitur baru. Tenggat waktunya sudah dekat.",[36,754,63],{"id":62},[84,756,757,764,771],{},[87,758,759,760,763],{},"Memberi masukan untuk ",[68,761,762],{},"desain ulang database"," bersama product manager.",[87,765,766,767,770],{},"Membangun API ",[68,768,769],{},"pencarian masjid terdekat"," dan beberapa endpoint lainnya.",[87,772,773,774,777,778,780],{},"Membangun ",[68,775,776],{},"seluruh panel admin"," dengan ",[68,779,402],{}," — komponen yang bisa dipakai ulang memungkinkan 15 modul selesai dalam waktu kurang dari dua bulan.",[36,782,74],{"id":73},[76,784],{":nodes":78},[36,786,108],{"id":107},[110,788],{":metrics":112},[41,790,791],{},"Aplikasinya tersedia di Play Store.",[36,793,131],{"id":130},[41,795,796],{},"Memilih tool demi tenggat waktu, bukan demi CV: Livewire memungkinkan saya memakai ulang komponen dan bergerak cepat tanpa membangun SPA terpisah.",[36,798,138],{"id":137},[140,800],{":images":801},"[{\"src\":\"\u002Fimages\u002Fwork\u002Fdigimosque\u002Fdigi1.png\",\"alt\":\"Panel admin\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fdigimosque\u002Fdigi2.png\",\"alt\":\"Panel admin\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fdigimosque\u002Fdigi3.png\",\"alt\":\"Panel admin\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fdigimosque\u002Fdigi4.png\",\"alt\":\"Panel admin\"}]",[803,804],"iframe",{"src":805,"title":806,"loading":807,"allow":808,"allowFullScreen":164},"https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002FuFxaXUciovo","DigiMosque Box & DigiMosque Mobile Apps","lazy","accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",{"title":144,"searchDepth":145,"depth":145,"links":810},[811,812,813,814,815,816,817],{"id":38,"depth":145,"text":39},{"id":55,"depth":145,"text":56},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},{"id":137,"depth":145,"text":138},"Backend · Admin",{"team":820,"mine":821},"Dibangun bersama dua developer lain; dukungan deployment dari tim.","API pencarian masjid terdekat dan endpoint lainnya, masukan untuk desain ulang database, dan seluruh panel admin.","\u002Fimages\u002Fwork\u002Fdigimosque\u002Fdigi6.png","API pencarian masjid terdekat dan panel admin 15 modul untuk platform masjid digital.",[825,828],{"label":826,"url":827},"Profil perusahaan","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fdigimosque",{"label":829,"url":830},"Play Store","https:\u002F\u002Fplay.google.com\u002Fstore\u002Fsearch?q=digimosque&c=apps",{},[833,836],{"value":834,"label":835},"15","modul admin",{"value":837,"label":838},"\u003C 2 bln","untuk membangun panel admin",5,"\u002Fprojects\u002Fdigimosque","Web Developer (Berbasis proyek)",{"title":726,"description":823},"projects\u002Fdigimosque",[609,402,845],"REST API","Mar 2022 — Mei 2022",2022,"2CBdohpPbpWkkvGLEp1hoZ2dR3qKFULOa5FofMOpQnI",{"id":850,"title":851,"architecture":852,"body":869,"category":958,"company":959,"contribution":960,"cover":962,"description":963,"draft":162,"extension":163,"featured":164,"links":964,"meta":965,"metrics":966,"navigation":164,"order":972,"path":973,"role":974,"seo":975,"stem":976,"technologies":977,"timeline":980,"type":193,"year":847,"__hash__":981},"projects_id\u002Fprojects\u002Fjadwalin.md","Jadwalin",[853,857,861,865],{"id":854,"label":855,"detail":856},"excel","Ekspor Excel dari SIAK","Data mata kuliah dan contoh jadwal, karena akses API langsung tidak diizinkan.",{"id":858,"label":859,"detail":860},"import","Impor & validasi","Alur kerja Excel yang sudah familier bagi staf.",{"id":862,"label":863,"detail":864},"rules","Rule engine","Batasan program studi, dosen, ruangan, dan SKS sebagai validation rule Laravel.",{"id":866,"label":867,"detail":868},"generator","Generator greedy","Mengusulkan jadwal bebas bentrok secara otomatis.",{"type":33,"value":870,"toc":949},[871,873,876,878,885,887,931,933,935,937,939,941,944,946],[36,872,39],{"id":38},[41,874,875],{},"Fakultas Ekonomi dan Bisnis Islam IAIN Sultan Amai Gorontalo perlu mengelola jadwal kuliah di seluruh fakultas tanpa bentrok.",[36,877,56],{"id":55},[41,879,880,881,884],{},"Data mata kuliah ada di Sistem Informasi Akademik (SIAK), tetapi akses API tidak diizinkan. Yang ",[45,882,883],{},"dimiliki"," staf adalah file ekspor Excel.",[36,886,63],{"id":62},[84,888,889,895,925],{},[87,890,891,894],{},[68,892,893],{},"Impor berbasis Excel",", sehingga staf tetap memakai alur kerja yang mereka kenal dan integrasinya tidak bergantung pada akses SIAK.",[87,896,897,898],{},"Empat aturan bentrok, diimplementasikan sebagai validation rule Laravel sehingga aturan baru mudah ditambahkan:\n",[899,900,901,907,913,919],"ol",{},[87,902,903,906],{},[68,904,905],{},"Program studi"," — jadwal satu program studi tidak boleh bertabrakan.",[87,908,909,912],{},[68,910,911],{},"Dosen"," — seorang dosen tidak bisa mengajar dua kelas sekaligus.",[87,914,915,918],{},[68,916,917],{},"Ruangan"," — satu ruangan tidak boleh dipesan dua kali.",[87,920,921,924],{},[68,922,923],{},"SKS"," — jumlah SKS mata kuliah harus sesuai dengan slot waktunya.",[87,926,927,930],{},[68,928,929],{},"Generator jadwal otomatis"," menggunakan algoritma greedy.",[36,932,74],{"id":73},[76,934],{":nodes":78},[36,936,108],{"id":107},[110,938],{":metrics":112},[36,940,131],{"id":130},[41,942,943],{},"Ketika integrasi ideal tidak tersedia, temui pengguna di tempat data mereka sudah berada. Impor Excel memang kurang elegan dibanding API — tapi jauh lebih berguna.",[36,945,138],{"id":137},[140,947],{":images":948},"[{\"src\":\"\u002Fimages\u002Fwork\u002Fjadwalin\u002Fjadwalin3.png\",\"alt\":\"Ringkasan jadwal\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fjadwalin\u002Fjadwalin1.png\",\"alt\":\"Manajemen jadwal\"},{\"src\":\"\u002Fimages\u002Fwork\u002Fjadwalin\u002Fjadwalin2.png\",\"alt\":\"Detail jadwal\"}]",{"title":144,"searchDepth":145,"depth":145,"links":950},[951,952,953,954,955,956,957],{"id":38,"depth":145,"text":39},{"id":55,"depth":145,"text":56},{"id":62,"depth":145,"text":63},{"id":73,"depth":145,"text":74},{"id":107,"depth":145,"text":108},{"id":130,"depth":145,"text":131},{"id":137,"depth":145,"text":138},"Produk · Algoritma","IAIN Sultan Amai Gorontalo",{"mine":961},"Satu-satunya developer — analisis, aturan, generator, dan UI.","\u002Fimages\u002Fwork\u002Fjadwalin\u002Fjadwalin3.png","Penjadwalan kuliah skala fakultas dengan aturan bentrok dan generator otomatis berbasis algoritma greedy, bersumber dari ekspor Excel alih-alih API yang terkunci.",[],{},[967,969],{"value":173,"label":968},"aturan bentrok yang ditegakkan",{"value":970,"label":971},"2 bln","waktu pengerjaan",6,"\u002Fprojects\u002Fjadwalin","Full-stack Developer",{"title":851,"description":963},"projects\u002Fjadwalin",[609,978,979],"Greedy algorithm","Excel import","Apr 2022 — Mei 2022","qnJD1j_wHBUS_IEYXoIOMBGjQpEbqjyQEHT4kzwUbmA",{"id":983,"extension":984,"items":985,"meta":1106,"stem":1107,"__hash__":1108},"experience_id\u002Fid\u002Fdata\u002Fexperience.yml","yml",[986,1002,1011,1022,1031,1039,1047,1056,1062,1073,1080,1086,1092,1097],{"company":987,"role":988,"period":989,"location":990,"kind":991,"summary":992,"highlights":993},"Singapay","Senior Fullstack Developer","Jan 2025 — Sekarang","Tangerang","work","Membangun sistem pembayaran — payment gateway, PPOB, alur B2B\u002FB2C, dan API-nya.",[994,995,996,997,998,999,1000,1001],"Merawat inti payment gateway yang menangani ratusan ribu transaksi per hari.","Integrasi bank dengan standar SNAP (standar open API Bank Indonesia), termasuk lapisan access token dan tanda tangan request.","Menstandarkan integrasi biller PPOB di balik satu skema dan satu interface — menambah layanan baru yang dulu sekitar dua minggu kini sekitar tiga hari.","Memindahkan job transaksi yang padat ke message queue asinkron; layanan payment gateway dan PPOB baru dibangun dengan Go seiring monolit dipecah.","Menangani proyek PPOB bersama tim yang hampir seluruhnya berada di Shanghai.","Rilis tanpa downtime dengan blue-green deployment, di Huawei Cloud dengan Alibaba Cloud sebagai situs disaster recovery.","Pengecekan integritas ledger, patch data yang bisa di-revert, dan tooling penyelesaian sengketa transaksi.","Front end Payment Link; code review dan onboarding engineer baru.",{"company":1003,"role":1004,"period":1005,"kind":991,"summary":1006,"highlights":1007,"url":1010},"Anveesa (open source)","Kontributor","Apr 2026 — Sekarang","Rangkaian developer tools open-source — database studio, manajemen database, AI retrieval (RAG), dan cloud storage.",[1008,1009],"Kontribusi front-end dengan Vue.","Terlibat di Anveesa Aras, Anveesa Vestra, Anveesa Nias, dan Anveesa Workflow.","https:\u002F\u002Fanveesa.com\u002F",{"company":1012,"role":1013,"period":1014,"location":1015,"kind":991,"summary":1016,"highlights":1017},"Bank Indonesia — Departemen Regional","Machine Learning Consultant · Lead, TIARA v3 (Kontrak)","Jul 2025 — Agu 2025","Jakarta (remote)","Memimpin pengembangan TIARA v3, chatbot kebijakan berbasis AI milik Bank Indonesia — arsitektur, fitur, hingga deployment end-to-end.",[1018,1019,1020,1021],"RAG di atas PostgreSQL + pgvector dengan Gemini, ditambah tool query tabel berbasis pandas yang bisa dipanggil model.","Classifier GLiClass self-hosted untuk menyaring prompt masuk dari upaya prompt injection.","Akurasi respons 88% dan keberhasilan uji fitur 100%, termasuk penanganan pertanyaan di luar cakupan.","Portal pengguna dan admin dengan React \u002F Next.js, lengkap dengan dokumentasi teknis.",{"company":1012,"role":1023,"period":1024,"location":1025,"kind":991,"summary":1026,"highlights":1027},"Machine Learning Consultant · Lead, RAISA (Kontrak)","Okt 2024 — Jan 2025","Jakarta (onsite)","Memimpin pengembangan RAISA, sistem penilaian risiko untuk data transaksi penyelenggara jasa pembayaran (PJP) dan kegiatan usaha penukaran valuta asing (KUPVA).",[1028,1029,1030],"Prediksi Net Risk Assessment (NRA APU) dengan machine learning mencapai akurasi 95%.","Dashboard analisis risiko atas lebih dari 50 juta transaksi per bulan.","Memangkas waktu analisis manual hingga 30% melalui otomatisasi.",{"company":312,"role":1032,"period":341,"location":1033,"kind":991,"summary":1034,"highlights":1035,"project":1038},"Software Engineer & Data Analyst (Kontrak Remote)","Makassar (remote)","Intelijen penjualan spasial untuk grup dealer Daihatsu di tiga provinsi.",[1036,1037],"Analisis spasial penjualan di 3 provinsi, 54 kabupaten\u002Fkota, 709 kecamatan, dan 7.394 desa.","Dashboard Plotly, backend spasial FastAPI, dan aplikasi web Livewire.","makassar-raya-motor",{"company":616,"role":1040,"period":722,"location":1041,"kind":991,"summary":1042,"highlights":1043,"project":1046},"Backend Developer (Berbasis proyek)","Jakarta","Modul API untuk SaaS akademik perguruan tinggi.",[1044,1045],"Lebih dari 20 modul API NestJS dan 800+ commit, mengikuti prinsip SOLID.","Ditulis dengan TypeScript, didukung Supabase.","contag",{"company":156,"role":1048,"period":1049,"location":1050,"kind":1051,"summary":1052,"highlights":1053,"project":1055},"M.Kom. Ilmu Komputer","2021 — 2023","Bogor","education","Kecerdasan Komputasional & Optimasi. IPK 3,83 \u002F 4.",[1054],"Tesis tentang knowledge graph interaksi biotik dan analisis jaringan (terindeks Scopus).","vektorpedia",{"company":584,"role":605,"period":611,"location":1057,"kind":991,"summary":1058,"highlights":1059,"project":1061},"Gorontalo","Membangun TimeMarket, PWA manajemen beban kerja, lalu versi keduanya.",[1060],"v1 dalam 6 bulan pengembangan full-stack; v2 dalam 3 bulan ditambah 6 bulan pemeliharaan.","timemarket",{"company":1063,"role":1064,"period":1065,"location":1057,"kind":1066,"summary":1067,"highlights":1068,"project":1072},"Generasi Baru Indonesia (GenBI) Gorontalo","Ketua","Agu 2020 — Sep 2021","organization","Memimpin komunitas penerima beasiswa Bank Indonesia — 6 departemen dan 3 komisariat kampus.",[1069,1070,1071],"Lebih dari 60 acara dan kegiatan rutin dalam satu tahun.","Membangun ulang sistem penilaian anggota; keanggotaan aktif naik menjadi 80%.","Merumuskan visi 2025 dan merancang identitas visual organisasi.","genbi-branding",{"company":726,"role":841,"period":1074,"location":1057,"kind":991,"summary":1075,"highlights":1076,"project":1079},"Jan 2021 — Jun 2021","API pencarian masjid terdekat dan seluruh panel admin.",[1077,1078],"Panel admin 15 modul dalam waktu kurang dari dua bulan dengan Livewire.","Unit test dengan PHPUnit.","digimosque",{"company":1081,"role":1082,"period":1083,"location":1057,"kind":1051,"summary":1084,"project":1085},"Universitas Negeri Gorontalo","S.Kom. Sistem Informasi","2016 — 2021","Lulusan terbaik Fakultas Teknik. IPK 3,53 \u002F 4.","sindasi",{"company":584,"role":1087,"period":1088,"location":1057,"kind":991,"summary":1089,"highlights":1090},"Web Developer (Magang)","Sep 2019 — Des 2019","Membangun Raisa, aplikasi web untuk memantau inflasi daerah dengan peringatan dini.",[1091],"Dibangun dalam 3 bulan pengembangan full-stack.",{"company":1093,"role":1094,"period":1095,"location":1057,"kind":1066,"summary":1096},"Linux Study Group — Gorontalo","Kepala Divisi Multimedia","Feb 2017 — Jan 2018","Sesi berbagi IT mingguan tentang desain grafis dan editing video, ditambah workshop kampus dengan pembicara nasional.",{"company":1098,"role":1099,"period":1100,"kind":991,"summary":1101,"highlights":1102,"project":1105},"HEX Studio (@hexstudiogo)","Desainer Grafis & Antarmuka (Praktik independen)","2016 — Sekarang","Studio desain pribadi yang menerima brief brand dan antarmuka dari klien dan organisasi.",[1103,1104],"Identitas brand dari brief hingga logo final — Katili Corp, Kotaluwuk.com, dan logo HEX Studio.","Desain antarmuka responsif untuk Kongkong, diserahkan dalam bentuk kode front-end yang berfungsi.","hexstudio-logo",{},"id\u002Fdata\u002Fexperience","X3Rlc7w8qPqY8PGdt4HI5Ct5ZjSuzL2Ebf1FifciaAE",[],{"username":1111,"total":1112,"contributions":1113,"fetchedAt":1891},"kikiraihan",6330,[1114,1117,1120,1123,1126,1129,1131,1133,1136,1139,1142,1145,1148,1151,1153,1155,1157,1160,1162,1165,1167,1170,1172,1175,1177,1180,1182,1185,1188,1190,1193,1195,1197,1200,1203,1205,1207,1210,1213,1215,1218,1221,1224,1226,1228,1230,1232,1234,1237,1239,1241,1243,1245,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1279,1281,1283,1285,1288,1290,1292,1295,1297,1300,1302,1304,1306,1308,1310,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1340,1342,1344,1346,1349,1351,1353,1355,1357,1359,1361,1363,1366,1368,1370,1373,1375,1377,1379,1381,1383,1385,1387,1390,1392,1394,1396,1398,1401,1403,1405,1407,1409,1411,1413,1416,1418,1420,1422,1425,1427,1429,1431,1433,1435,1437,1440,1442,1444,1446,1448,1450,1453,1455,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1700,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889],{"date":1115,"count":1116,"level":181},"2025-10-05",9,{"date":1118,"count":1119,"level":1119},"2025-10-06",0,{"date":1121,"count":1122,"level":145},"2025-10-07",16,{"date":1124,"count":1125,"level":181},"2025-10-08",7,{"date":1127,"count":1128,"level":181},"2025-10-09",15,{"date":1130,"count":972,"level":181},"2025-10-10",{"date":1132,"count":1119,"level":1119},"2025-10-11",{"date":1134,"count":1135,"level":181},"2025-10-12",8,{"date":1137,"count":1138,"level":181},"2025-10-13",14,{"date":1140,"count":1141,"level":181},"2025-10-14",10,{"date":1143,"count":1144,"level":145},"2025-10-15",18,{"date":1146,"count":1147,"level":145},"2025-10-16",24,{"date":1149,"count":1150,"level":181},"2025-10-17",11,{"date":1152,"count":181,"level":181},"2025-10-18",{"date":1154,"count":1141,"level":181},"2025-10-19",{"date":1156,"count":1128,"level":181},"2025-10-20",{"date":1158,"count":1159,"level":603},"2025-10-21",37,{"date":1161,"count":1135,"level":181},"2025-10-22",{"date":1163,"count":1164,"level":145},"2025-10-23",20,{"date":1166,"count":972,"level":181},"2025-10-24",{"date":1168,"count":1169,"level":181},"2025-10-25",12,{"date":1171,"count":145,"level":181},"2025-10-26",{"date":1173,"count":1174,"level":145},"2025-10-27",25,{"date":1176,"count":1116,"level":181},"2025-10-28",{"date":1178,"count":1179,"level":181},"2025-10-29",13,{"date":1181,"count":1122,"level":145},"2025-10-30",{"date":1183,"count":1184,"level":145},"2025-10-31",29,{"date":1186,"count":1187,"level":145},"2025-11-01",21,{"date":1189,"count":972,"level":181},"2025-11-02",{"date":1191,"count":1192,"level":145},"2025-11-03",26,{"date":1194,"count":1174,"level":145},"2025-11-04",{"date":1196,"count":1138,"level":181},"2025-11-05",{"date":1198,"count":1199,"level":714},"2025-11-06",47,{"date":1201,"count":1202,"level":145},"2025-11-07",28,{"date":1204,"count":1187,"level":145},"2025-11-08",{"date":1206,"count":1128,"level":181},"2025-11-09",{"date":1208,"count":1209,"level":603},"2025-11-10",38,{"date":1211,"count":1212,"level":603},"2025-11-11",32,{"date":1214,"count":1174,"level":145},"2025-11-12",{"date":1216,"count":1217,"level":603},"2025-11-13",34,{"date":1219,"count":1220,"level":603},"2025-11-14",31,{"date":1222,"count":1223,"level":714},"2025-11-15",57,{"date":1225,"count":1192,"level":145},"2025-11-16",{"date":1227,"count":1174,"level":145},"2025-11-17",{"date":1229,"count":1164,"level":145},"2025-11-18",{"date":1231,"count":1150,"level":181},"2025-11-19",{"date":1233,"count":1174,"level":145},"2025-11-20",{"date":1235,"count":1236,"level":603},"2025-11-21",33,{"date":1238,"count":1141,"level":181},"2025-11-22",{"date":1240,"count":145,"level":181},"2025-11-23",{"date":1242,"count":1187,"level":145},"2025-11-24",{"date":1244,"count":1236,"level":603},"2025-11-25",{"date":1246,"count":1247,"level":145},"2025-11-26",19,{"date":1249,"count":1217,"level":603},"2025-11-27",{"date":1251,"count":1144,"level":145},"2025-11-28",{"date":1253,"count":181,"level":181},"2025-11-29",{"date":1255,"count":714,"level":181},"2025-11-30",{"date":1257,"count":1128,"level":181},"2025-12-01",{"date":1259,"count":1217,"level":603},"2025-12-02",{"date":1261,"count":1174,"level":145},"2025-12-03",{"date":1263,"count":1164,"level":145},"2025-12-04",{"date":1265,"count":1147,"level":145},"2025-12-05",{"date":1267,"count":1202,"level":145},"2025-12-06",{"date":1269,"count":972,"level":181},"2025-12-07",{"date":1271,"count":1212,"level":603},"2025-12-08",{"date":1273,"count":1236,"level":603},"2025-12-09",{"date":1275,"count":1174,"level":145},"2025-12-10",{"date":1277,"count":1278,"level":603},"2025-12-11",44,{"date":1280,"count":1128,"level":181},"2025-12-12",{"date":1282,"count":1159,"level":603},"2025-12-13",{"date":1284,"count":1125,"level":181},"2025-12-14",{"date":1286,"count":1287,"level":145},"2025-12-15",30,{"date":1289,"count":1220,"level":603},"2025-12-16",{"date":1291,"count":1287,"level":145},"2025-12-17",{"date":1293,"count":1294,"level":145},"2025-12-18",22,{"date":1296,"count":1116,"level":181},"2025-12-19",{"date":1298,"count":1299,"level":603},"2025-12-20",39,{"date":1301,"count":181,"level":181},"2025-12-21",{"date":1303,"count":1122,"level":145},"2025-12-22",{"date":1305,"count":1135,"level":181},"2025-12-23",{"date":1307,"count":1135,"level":181},"2025-12-24",{"date":1309,"count":714,"level":181},"2025-12-25",{"date":1311,"count":1312,"level":603},"2025-12-26",36,{"date":1314,"count":1192,"level":145},"2025-12-27",{"date":1316,"count":1119,"level":1119},"2025-12-28",{"date":1318,"count":1184,"level":145},"2025-12-29",{"date":1320,"count":1294,"level":145},"2025-12-30",{"date":1322,"count":1164,"level":145},"2025-12-31",{"date":1324,"count":603,"level":181},"2026-01-01",{"date":1326,"count":1247,"level":145},"2026-01-02",{"date":1328,"count":603,"level":181},"2026-01-03",{"date":1330,"count":1179,"level":181},"2026-01-04",{"date":1332,"count":1184,"level":145},"2026-01-05",{"date":1334,"count":1202,"level":145},"2026-01-06",{"date":1336,"count":1144,"level":145},"2026-01-07",{"date":1338,"count":1339,"level":603},"2026-01-08",35,{"date":1341,"count":1236,"level":603},"2026-01-09",{"date":1343,"count":839,"level":181},"2026-01-10",{"date":1345,"count":972,"level":181},"2026-01-11",{"date":1347,"count":1348,"level":714},"2026-01-12",53,{"date":1350,"count":1212,"level":603},"2026-01-13",{"date":1352,"count":1202,"level":145},"2026-01-14",{"date":1354,"count":1122,"level":145},"2026-01-15",{"date":1356,"count":1187,"level":145},"2026-01-16",{"date":1358,"count":1147,"level":145},"2026-01-17",{"date":1360,"count":1122,"level":145},"2026-01-18",{"date":1362,"count":1299,"level":603},"2026-01-19",{"date":1364,"count":1365,"level":603},"2026-01-20",43,{"date":1367,"count":1339,"level":603},"2026-01-21",{"date":1369,"count":1236,"level":603},"2026-01-22",{"date":1371,"count":1372,"level":145},"2026-01-23",23,{"date":1374,"count":1179,"level":181},"2026-01-24",{"date":1376,"count":1119,"level":1119},"2026-01-25",{"date":1378,"count":1164,"level":145},"2026-01-26",{"date":1380,"count":1294,"level":145},"2026-01-27",{"date":1382,"count":1299,"level":603},"2026-01-28",{"date":1384,"count":1179,"level":181},"2026-01-29",{"date":1386,"count":1247,"level":145},"2026-01-30",{"date":1388,"count":1389,"level":145},"2026-01-31",27,{"date":1391,"count":1122,"level":145},"2026-02-01",{"date":1393,"count":1220,"level":603},"2026-02-02",{"date":1395,"count":1174,"level":145},"2026-02-03",{"date":1397,"count":1339,"level":603},"2026-02-04",{"date":1399,"count":1400,"level":714},"2026-02-05",52,{"date":1402,"count":1294,"level":145},"2026-02-06",{"date":1404,"count":1119,"level":1119},"2026-02-07",{"date":1406,"count":839,"level":181},"2026-02-08",{"date":1408,"count":1372,"level":145},"2026-02-09",{"date":1410,"count":1299,"level":603},"2026-02-10",{"date":1412,"count":1192,"level":145},"2026-02-11",{"date":1414,"count":1415,"level":714},"2026-02-12",51,{"date":1417,"count":1150,"level":181},"2026-02-13",{"date":1419,"count":1119,"level":1119},"2026-02-14",{"date":1421,"count":1119,"level":1119},"2026-02-15",{"date":1423,"count":1424,"level":603},"2026-02-16",40,{"date":1426,"count":603,"level":181},"2026-02-17",{"date":1428,"count":1220,"level":603},"2026-02-18",{"date":1430,"count":1184,"level":145},"2026-02-19",{"date":1432,"count":1174,"level":145},"2026-02-20",{"date":1434,"count":1164,"level":145},"2026-02-21",{"date":1436,"count":1236,"level":603},"2026-02-22",{"date":1438,"count":1439,"level":714},"2026-02-23",61,{"date":1441,"count":1217,"level":603},"2026-02-24",{"date":1443,"count":1199,"level":714},"2026-02-25",{"date":1445,"count":1339,"level":603},"2026-02-26",{"date":1447,"count":1192,"level":145},"2026-02-27",{"date":1449,"count":603,"level":181},"2026-02-28",{"date":1451,"count":1452,"level":714},"2026-03-01",50,{"date":1454,"count":1312,"level":603},"2026-03-02",{"date":1456,"count":1457,"level":714},"2026-03-03",60,{"date":1459,"count":1169,"level":181},"2026-03-04",{"date":1461,"count":1138,"level":181},"2026-03-05",{"date":1463,"count":1294,"level":145},"2026-03-06",{"date":1465,"count":1119,"level":1119},"2026-03-07",{"date":1467,"count":1312,"level":603},"2026-03-08",{"date":1469,"count":1247,"level":145},"2026-03-09",{"date":1471,"count":1294,"level":145},"2026-03-10",{"date":1473,"count":1164,"level":145},"2026-03-11",{"date":1475,"count":1169,"level":181},"2026-03-12",{"date":1477,"count":1144,"level":145},"2026-03-13",{"date":1479,"count":1119,"level":1119},"2026-03-14",{"date":1481,"count":1119,"level":1119},"2026-03-15",{"date":1483,"count":1169,"level":181},"2026-03-16",{"date":1485,"count":603,"level":181},"2026-03-17",{"date":1487,"count":1247,"level":145},"2026-03-18",{"date":1489,"count":839,"level":181},"2026-03-19",{"date":1491,"count":1128,"level":181},"2026-03-20",{"date":1493,"count":714,"level":181},"2026-03-21",{"date":1495,"count":145,"level":181},"2026-03-22",{"date":1497,"count":1119,"level":1119},"2026-03-23",{"date":1499,"count":972,"level":181},"2026-03-24",{"date":1501,"count":145,"level":181},"2026-03-25",{"date":1503,"count":181,"level":181},"2026-03-26",{"date":1505,"count":181,"level":181},"2026-03-27",{"date":1507,"count":1119,"level":1119},"2026-03-28",{"date":1509,"count":1119,"level":1119},"2026-03-29",{"date":1511,"count":603,"level":181},"2026-03-30",{"date":1513,"count":1147,"level":145},"2026-03-31",{"date":1515,"count":1128,"level":181},"2026-04-01",{"date":1517,"count":1147,"level":145},"2026-04-02",{"date":1519,"count":1174,"level":145},"2026-04-03",{"date":1521,"count":1141,"level":181},"2026-04-04",{"date":1523,"count":1144,"level":145},"2026-04-05",{"date":1525,"count":1147,"level":145},"2026-04-06",{"date":1527,"count":1294,"level":145},"2026-04-07",{"date":1529,"count":1128,"level":181},"2026-04-08",{"date":1531,"count":1164,"level":145},"2026-04-09",{"date":1533,"count":839,"level":181},"2026-04-10",{"date":1535,"count":1138,"level":181},"2026-04-11",{"date":1537,"count":1184,"level":145},"2026-04-12",{"date":1539,"count":1144,"level":145},"2026-04-13",{"date":1541,"count":1128,"level":181},"2026-04-14",{"date":1543,"count":1202,"level":145},"2026-04-15",{"date":1545,"count":1184,"level":145},"2026-04-16",{"date":1547,"count":1202,"level":145},"2026-04-17",{"date":1549,"count":1119,"level":1119},"2026-04-18",{"date":1551,"count":1119,"level":1119},"2026-04-19",{"date":1553,"count":1150,"level":181},"2026-04-20",{"date":1555,"count":1187,"level":145},"2026-04-21",{"date":1557,"count":1294,"level":145},"2026-04-22",{"date":1559,"count":1187,"level":145},"2026-04-23",{"date":1561,"count":1144,"level":145},"2026-04-24",{"date":1563,"count":1174,"level":145},"2026-04-25",{"date":1565,"count":839,"level":181},"2026-04-26",{"date":1567,"count":1135,"level":181},"2026-04-27",{"date":1569,"count":972,"level":181},"2026-04-28",{"date":1571,"count":1116,"level":181},"2026-04-29",{"date":1573,"count":1174,"level":145},"2026-04-30",{"date":1575,"count":1116,"level":181},"2026-05-01",{"date":1577,"count":1119,"level":1119},"2026-05-02",{"date":1579,"count":1119,"level":1119},"2026-05-03",{"date":1581,"count":1164,"level":145},"2026-05-04",{"date":1583,"count":1179,"level":181},"2026-05-05",{"date":1585,"count":1184,"level":145},"2026-05-06",{"date":1587,"count":1312,"level":603},"2026-05-07",{"date":1589,"count":1247,"level":145},"2026-05-08",{"date":1591,"count":1119,"level":1119},"2026-05-09",{"date":1593,"count":1122,"level":145},"2026-05-10",{"date":1595,"count":1144,"level":145},"2026-05-11",{"date":1597,"count":1128,"level":181},"2026-05-12",{"date":1599,"count":1174,"level":145},"2026-05-13",{"date":1601,"count":1119,"level":1119},"2026-05-14",{"date":1603,"count":1247,"level":145},"2026-05-15",{"date":1605,"count":1119,"level":1119},"2026-05-16",{"date":1607,"count":1119,"level":1119},"2026-05-17",{"date":1609,"count":1159,"level":603},"2026-05-18",{"date":1611,"count":1147,"level":145},"2026-05-19",{"date":1613,"count":1144,"level":145},"2026-05-20",{"date":1615,"count":1212,"level":603},"2026-05-21",{"date":1617,"count":1187,"level":145},"2026-05-22",{"date":1619,"count":1150,"level":181},"2026-05-23",{"date":1621,"count":1119,"level":1119},"2026-05-24",{"date":1623,"count":1164,"level":145},"2026-05-25",{"date":1625,"count":1179,"level":181},"2026-05-26",{"date":1627,"count":1119,"level":1119},"2026-05-27",{"date":1629,"count":1128,"level":181},"2026-05-28",{"date":1631,"count":1150,"level":181},"2026-05-29",{"date":1633,"count":1119,"level":1119},"2026-05-30",{"date":1635,"count":1119,"level":1119},"2026-05-31",{"date":1637,"count":1119,"level":1119},"2026-06-01",{"date":1639,"count":1141,"level":181},"2026-06-02",{"date":1641,"count":1179,"level":181},"2026-06-03",{"date":1643,"count":1644,"level":145},"2026-06-04",17,{"date":1646,"count":1150,"level":181},"2026-06-05",{"date":1648,"count":145,"level":181},"2026-06-06",{"date":1650,"count":1141,"level":181},"2026-06-07",{"date":1652,"count":1128,"level":181},"2026-06-08",{"date":1654,"count":1144,"level":145},"2026-06-09",{"date":1656,"count":1299,"level":603},"2026-06-10",{"date":1658,"count":1209,"level":603},"2026-06-11",{"date":1660,"count":1389,"level":145},"2026-06-12",{"date":1662,"count":1138,"level":181},"2026-06-13",{"date":1664,"count":1125,"level":181},"2026-06-14",{"date":1666,"count":1294,"level":145},"2026-06-15",{"date":1668,"count":145,"level":181},"2026-06-16",{"date":1670,"count":1389,"level":145},"2026-06-17",{"date":1672,"count":1294,"level":145},"2026-06-18",{"date":1674,"count":1141,"level":181},"2026-06-19",{"date":1676,"count":1217,"level":603},"2026-06-20",{"date":1678,"count":1128,"level":181},"2026-06-21",{"date":1680,"count":1389,"level":145},"2026-06-22",{"date":1682,"count":1389,"level":145},"2026-06-23",{"date":1684,"count":1192,"level":145},"2026-06-24",{"date":1686,"count":1179,"level":181},"2026-06-25",{"date":1688,"count":1644,"level":145},"2026-06-26",{"date":1690,"count":1150,"level":181},"2026-06-27",{"date":1692,"count":1119,"level":1119},"2026-06-28",{"date":1694,"count":1247,"level":145},"2026-06-29",{"date":1696,"count":1128,"level":181},"2026-06-30",{"date":1698,"count":1699,"level":603},"2026-07-01",42,{"date":1701,"count":1702,"level":714},"2026-07-02",77,{"date":1704,"count":1278,"level":603},"2026-07-03",{"date":1706,"count":1119,"level":1119},"2026-07-04",{"date":1708,"count":1192,"level":145},"2026-07-05",{"date":1710,"count":1220,"level":603},"2026-07-06",{"date":1712,"count":1644,"level":145},"2026-07-07",{"date":1714,"count":1202,"level":145},"2026-07-08",{"date":1716,"count":1389,"level":145},"2026-07-09",{"date":1718,"count":1174,"level":145},"2026-07-10",{"date":1720,"count":181,"level":181},"2026-07-11",{"date":1722,"count":1119,"level":1119},"2026-07-12",{"date":1724,"count":1389,"level":145},"2026-07-13",{"date":1726,"count":1236,"level":603},"2026-07-14",{"date":1728,"count":1125,"level":181},"2026-07-15",{"date":1730,"count":839,"level":181},"2026-07-16",{"date":1732,"count":839,"level":181},"2026-07-17",{"date":1734,"count":145,"level":181},"2026-07-18",{"date":1736,"count":1119,"level":1119},"2026-07-19",{"date":1738,"count":1119,"level":1119},"2026-07-20",{"date":1740,"count":1119,"level":1119},"2026-07-21",{"date":1742,"count":1119,"level":1119},"2026-07-22",{"date":1744,"count":1119,"level":1119},"2026-07-23",{"date":1746,"count":1119,"level":1119},"2026-07-24",{"date":1748,"count":1119,"level":1119},"2026-07-25",{"date":1750,"count":1119,"level":1119},"2026-07-26",{"date":1752,"count":1116,"level":181},"2026-07-27",{"date":1754,"count":1122,"level":145},"2026-07-28",{"date":1756,"count":714,"level":181},"2026-07-29",{"date":1758,"count":1116,"level":181},"2026-07-30",{"date":1760,"count":1116,"level":181},"2026-07-31",{"date":1762,"count":839,"level":181},"2026-08-01",{"date":1764,"count":1119,"level":1119},"2026-08-02",{"date":1766,"count":1169,"level":181},"2026-08-03",{"date":1768,"count":1220,"level":603},"2026-08-04",{"date":1770,"count":1187,"level":145},"2026-08-05",{"date":1772,"count":1644,"level":145},"2026-08-06",{"date":1774,"count":1164,"level":145},"2026-08-07",{"date":1776,"count":1119,"level":1119},"2026-08-08",{"date":1778,"count":1119,"level":1119},"2026-08-09",{"date":1780,"count":1169,"level":181},"2026-08-10",{"date":1782,"count":1247,"level":145},"2026-08-11",{"date":1784,"count":1179,"level":181},"2026-08-12",{"date":1786,"count":1116,"level":181},"2026-08-13",{"date":1788,"count":1122,"level":145},"2026-08-14",{"date":1790,"count":1119,"level":1119},"2026-08-15",{"date":1792,"count":1119,"level":1119},"2026-08-16",{"date":1794,"count":1119,"level":1119},"2026-08-17",{"date":1796,"count":1147,"level":145},"2026-08-18",{"date":1798,"count":1125,"level":181},"2026-08-19",{"date":1800,"count":1247,"level":145},"2026-08-20",{"date":1802,"count":1247,"level":145},"2026-08-21",{"date":1804,"count":1119,"level":1119},"2026-08-22",{"date":1806,"count":1119,"level":1119},"2026-08-23",{"date":1808,"count":1192,"level":145},"2026-08-24",{"date":1810,"count":839,"level":181},"2026-08-25",{"date":1812,"count":1187,"level":145},"2026-08-26",{"date":1814,"count":1138,"level":181},"2026-08-27",{"date":1816,"count":1169,"level":181},"2026-08-28",{"date":1818,"count":1141,"level":181},"2026-08-29",{"date":1820,"count":145,"level":181},"2026-08-30",{"date":1822,"count":1141,"level":181},"2026-08-31",{"date":1824,"count":1179,"level":181},"2026-09-01",{"date":1826,"count":1179,"level":181},"2026-09-02",{"date":1828,"count":1125,"level":181},"2026-09-03",{"date":1830,"count":839,"level":181},"2026-09-04",{"date":1832,"count":1119,"level":1119},"2026-09-05",{"date":1834,"count":1119,"level":1119},"2026-09-06",{"date":1836,"count":1122,"level":145},"2026-09-07",{"date":1838,"count":1187,"level":145},"2026-09-08",{"date":1840,"count":839,"level":181},"2026-09-09",{"date":1842,"count":1116,"level":181},"2026-09-10",{"date":1844,"count":1179,"level":181},"2026-09-11",{"date":1846,"count":1119,"level":1119},"2026-09-12",{"date":1848,"count":1119,"level":1119},"2026-09-13",{"date":1850,"count":1147,"level":145},"2026-09-14",{"date":1852,"count":1294,"level":145},"2026-09-15",{"date":1854,"count":1144,"level":145},"2026-09-16",{"date":1856,"count":1287,"level":145},"2026-09-17",{"date":1858,"count":1184,"level":145},"2026-09-18",{"date":1860,"count":972,"level":181},"2026-09-19",{"date":1862,"count":972,"level":181},"2026-09-20",{"date":1864,"count":1247,"level":145},"2026-09-21",{"date":1866,"count":1135,"level":181},"2026-09-22",{"date":1868,"count":1164,"level":145},"2026-09-23",{"date":1870,"count":1147,"level":145},"2026-09-24",{"date":1872,"count":1644,"level":145},"2026-09-25",{"date":1874,"count":1169,"level":181},"2026-09-26",{"date":1876,"count":603,"level":181},"2026-09-27",{"date":1878,"count":1294,"level":145},"2026-09-28",{"date":1880,"count":1122,"level":145},"2026-09-29",{"date":1882,"count":1144,"level":145},"2026-09-30",{"date":1884,"count":1247,"level":145},"2026-10-01",{"date":1886,"count":1150,"level":181},"2026-10-02",{"date":1888,"count":1644,"level":145},"2026-10-03",{"date":1890,"count":714,"level":181},"2026-10-04","2026-10-04T12:45:46.591Z",1791117945711]