Dicko Azrinaldi

I'm drawn to real problems and deeply skeptical of solutions built without them. What you'll find here isn't a catalog of buzzwords, it's a trace of how I think and the systems I've built across geospatial infrastructure, urban research, and network protocols. Saya tertarik pada masalah yang nyata, dan sangat skeptis terhadap solusi yang dibuat bukan untuk menjawabnya. Yang ada di sini bukan sekadar daftar kemampuan teknis, melainkan jejak bagaimana saya berpikir dan sistem yang saya bangun di ranah geospasial, riset kota, hingga protokol jaringan.

Dicko Azrinaldi
Problem & Anti-pattern Problem & Antitesis

Regional spatial datasets in Indonesia are scattered across incompatible government portals, inconsistent coordinate systems, and opaque manual procurement flows. Teams waste days verifying whether a layer exists for their Area of Interest before analysis even begins. Data spasial daerah di Indonesia tersebar di berbagai portal instansi yang tidak seragam, proyeksi koordinat yang berbeda-beda, dan alur permohonan manual yang tertutup. Tim riset maupun teknis sering habis waktu berhari-hari hanya untuk memastikan ketersediaan layer di wilayah studi mereka.

Mindset & Architecture Jejak Berpikir & Arsitektur

Separated instant visual verification from engineering fulfillment. Built an interactive Geoportal catalog indexing 56 standardized thematic sheets (EPSG:4326) across Physical, Environmental, Planning, Hazard, and Socio-Economic domains, paired with a multi-data workspace where users define custom AOIs, target formats, and project briefs in a single submission. Memisahkan proses verifikasi visual cepat dengan pemrosesan teknis. Membangun katalog Geoportal interaktif yang mengindeks 56 lembar peta tematik terstandar (EPSG:4326) lintas 5 kategori utama, dipadukan dengan ruang kerja multi-data tempat pengguna menentukan AOI, format output, dan brief teknis dalam satu alur pengajuan.

56 Thematic Sheets · Multi-AOI Briefs · Bilingual EN/ID · WGS 84
Problem & Anti-pattern Problem & Antitesis

Urban planning research is routinely locked inside static 200-page academic PDFs or proprietary municipal dashboards. Citizens who experience the street every day have no accessible medium to inspect the spatial data shaping their city. Riset perencanaan kota sering kali terkunci di dalam laporan PDF tebal atau dashboard instansi yang kaku. Warga yang sehari-hari merasakan kualitas trotoar dan ruang terbuka tidak memiliki medium yang ramah untuk membaca data spasial yang membentuk kota mereka.

Mindset & Architecture Jejak Berpikir & Arsitektur

Combined spatial data engineering with long-form visual journalism across three research streams: Urban Mobility (auditing 126 km of Malang pedestrian networks), Emotional Landscapes (mapping mental restoration across 150 green nodes), and Civic Spatial Literacy. Built with PostGIS, Svelte 5, and MapLibre GL. Menggabungkan rekayasa data spasial dengan jurnalisme visual interaktif dalam tiga fokus riset: Mobilitas Kota (audit 126 km jaringan pejalan kaki Kota Malang), Lanskap Emosional (pemetaan pemulihan psikologis di 150 titik ruang hijau), dan Literasi Spasial Warga. Dibangun dengan PostGIS, Svelte 5, dan MapLibre GL.

Svelte 5 · PostGIS · MapLibre GL · 126 km Street Network Audit
Problem & Anti-pattern Problem & Antitesis

Producing a clean, publication-grade map usually forces people into heavy desktop GIS suites (QGIS/ArcGIS) just to style basemaps, overlay a GeoJSON file, and configure margins, scales, and north arrows. Membuat peta siap cetak yang rapi sering kali memaksa pengguna membuka software GIS desktop yang berat (QGIS/ArcGIS) hanya untuk mengatur gaya basemap, menumpangkan file GeoJSON, serta menyusun skala dan kompas.

Mindset & Architecture Jejak Berpikir & Arsitektur

Designed strictly as a single editing surface with zero dead UI. Built on SvelteKit 5 runes, MapLibre GL, and OpenFreeMap vector tiles. Supports client-side GeoJSON, KML, and CSV drag-and-drop, local draft schema normalization (`normalizePosterDraft`), Nominatim query caching, and high-DPI canvas export. Dirancang sebagai satu permukaan kerja tanpa UI yang mubazir. Dibangun dengan SvelteKit 5 runes, MapLibre GL, dan OpenFreeMap vector tiles. Mendukung drag-and-drop GeoJSON/KML/CSV di sisi klien, normalisasi skema draf lokal (`normalizePosterDraft`), caching pencarian lokasi, dan ekspor kanvas beresolusi tinggi.

SvelteKit 5 Runes · MapLibre GL · OpenFreeMap · Client-side GeoJSON/KML
Problem & Anti-pattern Problem & Antitesis

Connecting coding agents and API clients to an authenticated Gemini Web account usually relies on heavy headless Chrome or CDP wrappers, while still lacking a clean protocol adapter for OpenAI Chat Completions, Responses events, function calling contracts, and multi-account quotas. Menghubungkan coding agent dan klien API ke akun Gemini Web umumnya bergantung pada proses headless Chrome atau pembungkus CDP yang berat, sekaligus belum memiliki adaptor bersih untuk endpoint Chat Completions, Responses, pemanggilan fungsi (tool calls), dan pengelolaan kuota multi-akun.

Mindset & Architecture Jejak Berpikir & Arsitektur

Treated browserless transport as an implementation detail behind a clean API bridge. Built a Go daemon exposing /v1/chat/completions and /v1/responses (JSON and SSE) over per-account Chrome_150_PSK uTLS and HTTP/2 sessions. Reuses Gemini continuation tokens, offloads history beyond 850k characters into text attachments, validates prompt-based tool calls against JSON Schema, and rotates session cookies in the background. Menjadikan transport tanpa browser sebagai detail implementasi di balik API bridge yang rapi. Membangun daemon Go yang menyediakan /v1/chat/completions dan /v1/responses (JSON dan SSE) di atas sesi uTLS Chrome_150_PSK dan HTTP/2 per akun. Menggunakan kembali token kelanjutan sesi, memindahkan riwayat di atas 850 ribu karakter ke lampiran teks, memvalidasi tool call terhadap JSON Schema, dan merotasi cookie secara otomatis di latar belakang.

Go 1.26+ · Chrome_150_PSK uTLS · Chat Completions & Responses · Multi-Account Quota
Problem & Anti-pattern Problem & Antitesis

OpenCode provides free-tier upstream inference, but models change dynamically and reasoning models frequently consume small max_tokens budgets before emitting visible text, leaving clients with empty responses. OpenCode menyediakan akses inferensi gratis, namun katalog model berubah secara dinamis dan model penalaran (reasoning) sering menghabiskan anggaran token output sebelum menghasilkan teks jawaban, menyebabkan respons kosong pada klien.

Mindset & Architecture Jejak Berpikir & Arsitektur

Engineered a zero-dependency Node.js bridge on 127.0.0.1:20129 that discovers free models hourly, routes Meta Muse to Responses and others to Chat Completions, enforces additive reasoning token floors to guarantee answer content, and standardizes reasoning_content. Membangun bridge Node.js tanpa dependensi pihak ketiga pada 127.0.0.1:20129 yang mendeteksi model gratis per jam, merutekan Meta Muse ke Responses API dan model lain ke Chat Completions, menerapkan batas dasar token penalaran agar jawaban tidak kosong, dan menstandarisasi output reasoning_content.

Node.js Stdlib · Hourly Model Discovery · Dual Protocol Routing · Token Floor

I treat software engineering as a discipline of structuring messy reality into fitting systems. Rather than locking myself into a single stack, I start from the bottleneck, whether that means indexing dozens of regional geospatial layers so non-GIS teams can inspect them in seconds, or writing a native uTLS/HTTP2 daemon in Go to avoid spinning up a 700 MB headless browser. Saya memandang rekayasa perangkat lunak sebagai disiplin menyusun realitas yang berantakan menjadi sistem yang pas. Alih-alih mengunci diri pada satu stack tunggal, saya selalu berangkat dari titik sumbatnya: entah itu mengindeks puluhan layer geospasial agar bisa diperiksa dalam hitungan detik oleh tim non-GIS, atau menulis daemon uTLS/HTTP2 di Go agar tidak perlu menjalankan browser headless ratusan megabita.

Spatial & Urban Systems Sistem Spasial & Kota

WebGIS architecture, vector tiling (PMTiles, MapLibre GL), PostGIS spatial indexing, automated geospatial pipelines, and urban mobility analytics. Arsitektur WebGIS, vector tiling (PMTiles, MapLibre GL), spatial indexing PostGIS, otomatisasi pipeline geospasial, dan analitik mobilitas perkotaan.

Systems & Protocol Bridges Sistem & Jembatan Protokol

Go network daemons, uTLS fingerprint impersonation, HTTP/2 multiplexing, SSE stream translation, and LLM tool-calling adapters. Daemon jaringan berbasis Go, uTLS fingerprint impersonation, HTTP/2 multiplexing, translasi stream SSE, dan adaptor pemanggilan tool LLM.

Product & Interfaces Produk & Antarmuka

Svelte 5 / SvelteKit, TypeScript, Python (FastAPI), and calm, high-density interfaces built for real operational workflows. Svelte 5 / SvelteKit, TypeScript, Python (FastAPI), serta antarmuka yang tenang dan fungsional untuk alur kerja nyata.