[{"data":1,"prerenderedAt":147},["ShallowReactive",2],{"work-id-aruna-dashboard":3},{"id":4,"title":5,"body":6,"category":118,"date":119,"description":120,"extension":121,"externalUrl":122,"featured":123,"locale":124,"meta":125,"navigation":123,"outcome":126,"path":131,"rank":132,"release":133,"role":134,"screenshot":135,"seo":136,"stack":137,"stem":142,"summary":143,"tier":144,"year":145,"__hash__":146},"projects\u002Fid\u002Fprojects\u002Faruna-dashboard.md","Aruna",{"type":7,"value":8,"toc":108},"minimark",[9,13,16,21,24,28,31,35,70,74,94,98,101,105],[10,11,12],"p",{},"Aruna adalah produk personal yang dibangun untuk satu titik sakit yang terus saya lihat: investor ritel Indonesia memetakan saham tanpa konteks musiman — apa yang terjadi pada pasar di sekitar siklus pemilu, kapan sektor berotasi, atau ke arah mana uang institusi sebenarnya bergerak. Data pasar mentah banyak tersedia; hampir tidak ada yang menghubungkannya ke sebuah keputusan.",[10,14,15],{},"Saya membangun semuanya sendiri: definisi produk, desain, analitik backend, frontend, dan deployment. Platform ini berjalan sebagai progressive web app.",[17,18,20],"h2",{"id":19},"masalahnya","Masalahnya",[10,22,23],{},"Investor ritel di pasar Indonesia haus pola tetapi kekurangan data. Perilaku musiman terkubur dalam bertahun-tahun sejarah, money flow institusi terkunci di dalam data transaksi broker, dan alat analisis yang menambah konteks biasanya berbayar atau menyembunyikan datanya di balik langganan.",[17,25,27],{"id":26},"peran-saya","Peran saya",[10,29,30],{},"Founder, pemilik produk, dan satu-satunya engineer. Masalah yang ambigu, pengguna nyata, tanpa spesifikasi yang menunggu — persis jenis pekerjaan yang ingin saya dikenal.",[17,32,34],{"id":33},"pekerjaan-teknis","Pekerjaan teknis",[36,37,38,46,52,58,64],"ul",{},[39,40,41,45],"li",{},[42,43,44],"strong",{},"Analisis musiman."," Grafik return historis dengan konteks siklus politik dan pemilu, plus heatmap return bulanan dan kuartalan.",[39,47,48,51],{},[42,49,50],{},"Money flow institusi."," Mesin skoring kustom yang menarik data transaksi broker untuk mengevaluasi akumulasi versus distribusi, ditampilkan sebagai skor per saham.",[39,53,54,57],{},[42,55,56],{},"Pelacak progres MSCI."," Perhitungan estimasi progres kapitalisasi pasar free-float saham IDX menuju ambang inklusi MSCI Standard dan Small Cap.",[39,59,60,63],{},[42,61,62],{},"Data local-first."," State watchlist dan portofolio hidup di browser terlebih dahulu, lalu bergabung dan sinkron ke Supabase (dengan keamanan tingkat baris) setelah pengguna masuk.",[39,65,66,69],{},[42,67,68],{},"Visualisasi interaktif."," Relative Rotation Graph, peta bubble pasar berbasis canvas, dan chart candlestick ala TradingView.",[17,71,73],{"id":72},"keputusan","Keputusan",[36,75,76,82,88],{},[39,77,78,81],{},[42,79,80],{},"Sinkronisasi local-first."," Watchlist pasar saham berubah cepat dan dibaca terus-menerus. Menjaga state lokal membuat aplikasi terasa instan sambil autentikasi terjadi di latar belakang.",[39,83,84,87],{},[42,85,86],{},"Amplop API terobfuskasi."," Aplikasi mem-proxy endpoint Yahoo Finance dan Stockbit di sisi server. Saya membungkus respons dalam amplop JSON terobfuskasi XOR agar proxy tidak mudah di-scrape.",[39,89,90,93],{},[42,91,92],{},"Cron server-side untuk analitik."," Skoring dan screening berat berjalan pada pekerjaan terjadwal, bukan di browser. Klien tetap antarmuka tipis yang cepat dan hosting tetap murah.",[17,95,97],{"id":96},"batasan","Batasan",[10,99,100],{},"Bangunan solo dengan anggaran kecil. Semua yang berbiaya berulang — komputasi analitik, pengambilan data — harus berjalan di tempat yang murah, dan frontend harus terasa cepat di mobile meski memuat chart padat data.",[17,102,104],{"id":103},"hasil","Hasil",[10,106,107],{},"Aruna berangkat dari ide yang ambigu (\"investor butuh konteks musiman\") menjadi PWA yang di-deploy dengan fitur nyata dan alur data nyata. Ini demonstrasi terkuat yang saya miliki tentang memilikinya sebuah produk dari ujung ke ujung.",{"title":109,"searchDepth":110,"depth":110,"links":111},"",2,[112,113,114,115,116,117],{"id":19,"depth":110,"text":20},{"id":26,"depth":110,"text":27},{"id":33,"depth":110,"text":34},{"id":72,"depth":110,"text":73},{"id":96,"depth":110,"text":97},{"id":103,"depth":110,"text":104},"Produk · Fintech","2026-09-16","Platform analisis pasar saham mobile-first untuk investor ritel Indonesia — konteks musiman, pergerakan uang institusi, dan state local-first.","md","https:\u002F\u002Farunaa.vercel.app",true,"id",{},[127,128,129,130],"Membangun grafik pola musiman, Relative Rotation Graph, dan skoring money flow.","Mengirim watchlist dan portofolio local-first yang disinkronkan melalui Supabase RLS.","Membungkus endpoint data pasar yang di-proxy dalam amplop respons terobfuskasi XOR.","Menjalankan analitik berat pada cron job server-side agar bundle klien tetap ringan.","\u002Fid\u002Fprojects\u002Faruna-dashboard","3","2025","Full-stack Developer","\u002Fimg\u002Fprojects\u002Faruna.png",{"title":5,"description":120},[138,139,140,141],"Next.js","Supabase","React","PWA","id\u002Fprojects\u002Faruna-dashboard","Produk finansial padat data yang saya bangun sendiri — dari ide yang ambigu hingga PWA yang berjalan — analisis musiman, pelacakan money flow institusi, dan sinkronisasi offline-first.","standard",2025,"DK7Pia4IktbrahiBf-iM7M3rbaIxmDYTH_0PEBDNtKw",1789641310547]