2 poin oleh GN⁺ 2025-11-05 | 1 komentar | Bagikan ke WhatsApp
  • Setiap kali mencari tiket pesawat murah, ada proses rumit yang mengharuskan pengecekan sekaligus terhadap berbagai aturan seperti visa, paspor, dan persyaratan domisili pajak
  • Sistem imigrasi dan pajak tiap negara menghitung ‘hari tinggal’ dengan standar yang berbeda, sehingga menimbulkan kebingungan
  • Untuk mengatasinya, dikembangkan aplikasi ‘Residency’ yang memverifikasi catatan perjalanan dan aturan layaknya compiler
  • Aplikasi ini menghitung secara lokal dan secara otomatis memeriksa kedaluwarsa paspor, visa, IDP, dan persyaratan domisili pajak
  • Dengan mengelola riwayat perpindahan pribadi dan aturan administratif secara konsisten, aplikasi ini berfungsi sebagai alat untuk mengidentifikasi risiko sebelum melintasi perbatasan

20 menit sebelum membeli tiket pesawat

  • Saat penulis menemukan tiket supermurah ke Islandia, ia harus segera memeriksa visa, paspor, SIM, dan persyaratan domisili pajak
    • Proses ini memakan waktu sekitar 20 menit, dan bukan sekadar membandingkan harga, melainkan meninjau berbagai syarat administratif secara bersamaan
  • Selama 10 tahun terakhir, ia menangani berbagai pengajuan visa dan kewarganegaraan berdasarkan spreadsheet yang mencatat riwayat perjalanannya
  • Namun, ia menilai cara ini tidak efisien, lalu membayangkan sistem yang bisa otomatis menentukan, “Apakah perjalanan ini akan menimbulkan masalah?

‘State’ yang tidak diberi tahu oleh sistem

  • Schengen, Inggris, domisili pajak, dan masa berlaku paspor masing-masing menilai status seseorang dengan kriteria yang berbeda
    • Schengen memakai aturan 90/180 hari, Inggris memakai jumlah tengah malam berdasarkan tahun pajak, dan paspor memakai masa berlaku serta jumlah halaman kosong sebagai acuan
  • Informasi seperti ini tidak diekspos langsung kepada pengguna, dan hanya dapat diakses oleh petugas perbatasan
  • Penulis mendefinisikan ini sebagai “masalah mem-parsing State” — harus menafsirkan sudut pandang pemerintah dan status sistem secara bersamaan
Iklan

Berbagai kasus pengecualian administratif

  • Saat mengajukan kewarganegaraan Inggris, seseorang harus membuktikan bahwa pada tanggal yang sama tepat 5 tahun sebelum tanggal pengajuan, ia berada di Inggris
    • Jika meleset bahkan satu hari, setelah menunggu berbulan-bulan hasilnya bisa ditolak dan perlu membayar biaya pengajuan ulang
  • Saat transit di bandara Inggris, seseorang baru diakui sebagai ‘tinggal’ jika melakukan aktivitas yang tidak terkait perjalanan (misalnya membeli camilan atau menonton pertunjukan)
  • Perubahan zona waktu selama Ramadan di Maroko (UTC↔UTC+1) dapat mengubah perhitungan hari tinggal
  • Aturan-aturan ini tersebar di berbagai situs pemerintah dan PDF, sehingga pengguna harus menafsirkannya sendiri

Simulasi perjalanan sebagai ‘peringatan compiler’

  • Penulis memperkenalkan konsep linter yang memverifikasi rencana perjalanan dari sudut pandang “apakah ini bisa dikompilasi?”
  • Melalui contoh rute (DUB→EWR→MEX→LHR→TFS), ia membandingkan perbedaan perhitungan hari tinggal di tiap negara
    • Irlandia 0 hari, AS 0 hari, Meksiko 2 hari, Inggris 0~1 hari, Schengen 1 hari
  • Setiap hasil dapat berubah tergantung versi basis data zona waktu, sehingga versinya dipatok dan dihitung ulang saat ada perubahan
  • Tujuannya adalah membangun sistem verifikasi otomatis dengan kriteria penilaian yang sama seperti petugas perbatasan

Struktur dan fungsi aplikasi Residency

  • Aplikasi ini mensimulasikan dalam berbagai bentuk “apa yang akan terjadi jika tindakan ini dilakukan”
    • Contoh: saat memesan perjalanan ke Alpen, apakah hari tinggal Schengen akan terlampaui, atau bagaimana dampak keluar negeri sebelum akhir tahun pajak
    Iklan
  • Aturan tiap negara disimpan sebagai blob data interpretasi yang dikelola versinya, sehingga riwayat lama tetap dipertahankan saat aturan berubah
  • Validitas paspor, visa, dan IDP juga diproses sebagai state machine
    • Contoh: saat transit di Dubai, kasus ketika “masih valid saat tiba” berubah menjadi “tidak valid saat berangkat” dapat dideteksi otomatis
  • Pengguna dapat menetapkan tujuan sendiri (misalnya batas hari tinggal di negara tertentu), dan aplikasi memberi peringatan berdasarkan itu

Desain local-first dan perlindungan privasi

  • Semua perhitungan dijalankan di dalam perangkat, dan tetap berfungsi tanpa koneksi jaringan
    • Dengan meniadakan komunikasi server, aplikasi menghindari masalah kecepatan, privasi, dan tanggung jawab hukum
  • Sinkronisasi cloud tidak didukung, tetapi data dapat diekspor langsung sebagai file
  • Pada awalnya hanya mendukung perhitungan hari Schengen, tetapi kemudian ditambahkan aturan pajak Inggris, kedaluwarsa dokumen, dan fitur simulasi
  • Alasan aplikasi ini dirilis adalah karena penulis ingin pengguna lain juga bisa mengurangi 20 menit ketidakpastian yang sama

Hasil penggunaan nyata dan kesimpulan

  • Sebelum membeli tiket ke Islandia, aplikasi ini menghitung secara akurat bahwa IDP tidak diperlukan, Schengen masih memiliki sisa 34 hari, dan kapan domisili pajak berakhir
  • Saat benar-benar masuk, penilaian petugas di bandara Keflavík sesuai dengan hasil aplikasi
  • Nama aplikasinya adalah Residency, tersedia untuk iOS dan dibeli sekali tanpa langganan
  • Pada akhirnya, artikel ini ditutup dengan pesan bahwa “perbatasan tidak bisa dipanggil dengan cURL, tetapi dengan melacak status diri sendiri, kita bisa mendapatkan jawaban yang sama seperti pemerintah

1 komentar

 
GN⁺ 2025-11-05
Komentar Hacker News
  • Saya tidak tahu bahwa orang yang bukan warga EU perlu melalui prosedur yang serumit ini untuk bepergian
    Aturan bahwa saat mengajukan kewarganegaraan Inggris, Anda harus membuktikan bahwa Anda benar-benar berada di Inggris pada tanggal yang sama tepat 5 tahun sebelum tanggal pengajuan terasa sangat konyol
    Kalau meleset bahkan satu hari saja, setelah menunggu berbulan-bulan permohonan bisa ditolak, lalu harus bayar biaya mahal lagi
    Saya penasaran bagaimana aturan seperti ini bisa muncul

    • Sebenarnya penulisnya keliru. Tanggal acuannya bukan tanggal pengajuan formulir, melainkan hari saat Home Office menerima dokumen
      Jadi bisa ada selisih beberapa hari tergantung kecepatan pengiriman Royal Mail
      Sebelum mengajukan, saya meminta catatan keluar-masuk saya ke Home Office, dan ternyata mereka hampir tidak tahu saya berada di mana 5 tahun lalu
      Hanya sekitar setengah perjalanan saya yang tercatat, dan sering kali cuma satu arah saja yang tersisa. Pengelolaannya berantakan
    • Saya sekarang sekitar umur 50-an, dan dulu di Eropa juga memang seperti ini
      Generasi sekarang tampaknya terlalu menganggap manfaat kewarganegaraan EU sebagai sesuatu yang wajar
    • Kebanyakan orang tidak punya keleluasaan untuk tinggal lebih dari 90 hari tanpa visa
      Mereka yang tinggal lebih lama biasanya adalah ‘digital nomad’, dan sebagian besar bekerja secara ilegal
    • Tulisan ini terasa seperti content marketing untuk promosi aplikasi
      Mungkin ketidaknyamanannya agak dibesar-besarkan
    • Sebenarnya tidak sesulit itu. Saya melakukannya sendiri tahun lalu: bikin janji di balai kota, cek basis data alamat, tanda tangan satu lembar dokumen, lalu bayar biaya
      Selesai dalam 15 menit. Tentu saja ini bukan di Inggris, melainkan Eropa daratan
  • Kalau pikiran pertama seseorang saat transit di bandara adalah “beli sausage roll di Greggs”, orang itu sudah sangat layak mendapat kewarganegaraan

    • Tes Life in the UK perlu diperbarui
    • Claude adalah AI yang cukup peka terhadap perbedaan budaya
  • Tulisannya bagus, tapi judulnya aneh
    Isinya membahas syarat tiap negara soal domisili pajak, visa, kewarganegaraan, dan semacamnya, tetapi ungkapan ‘Downloading a border’ maknanya terasa kabur
    Mungkin ini metafora bahwa “informasi resmi tersebar di banyak PDF dan situs, jadi harus dikumpulkan sendiri”

    • Mungkin ini parodi dari meme kampanye anti-pembajakan “You wouldn’t download a car”
    • Jika dimaknai sebagai “Anda tidak bisa memanggil perbatasan lewat API, tetapi Anda bisa melacak status Anda sendiri”, itu sebenarnya judul yang cukup bagus
  • Beberapa kerabat saya masuk ke Eropa dengan visa turis lalu membuang tiket pulang dan tinggal secara ilegal
    Beberapa tahun kemudian mereka dilegalkan dan bahkan mendapat kewarganegaraan, sementara saya yang taat hukum masih tetap di tempat
    Menjengkelkan sekali bahwa saya tidak memenuhi syarat visa untuk bekerja secara legal

    • Kasus seperti ini sangat umum sampai saya jadi bingung apakah ini bahkan salah secara moral
      Saya sudah melihat banyak orang masuk dengan visa turis, bekerja, lalu kemudian dilegalkan
      Sementara itu, orang-orang berpendidikan tinggi yang masuk dengan visa kerja resmi justru kehilangan sponsor karena perampingan perusahaan dan harus mencari pekerjaan baru dalam 30 hari
      Kebijakan seperti ini terasa seperti ketimpangan yang disengaja
    • Saya penasaran apa maksudnya “tidak ada dasar hukum yang valid”. Di sebagian besar negara, kalau punya pekerjaan lokal dengan gaji di atas ambang tertentu biasanya Anda bisa mendapat visa kerja
    • Saya penasaran apakah ada hukum yang otomatis memberi kewarganegaraan hanya karena sudah tinggal beberapa tahun
    • Saya ingin tahu di negara mana, dan lewat prosedur seperti apa, legalisasi (legalisation) itu bisa terjadi
  • Saya kagum dengan kerja teliti penulisnya
    Saya juga pernah mencoba membuat kalkulator Schengen 90/180 hari dan pelacak domisili pajak memakai Claude, tetapi perhitungan matematikanya terlalu sulit
    Akhirnya saya harus membuat proyek baru sendiri
    Saya penasaran apakah hasil aplikasi ini sudah diverifikasi secara manual. Untuk aplikasi seperti ini, validasi pengujian adalah hal yang paling penting

    • Untuk logika yang sangat berbasis matematika seperti ini, menurut saya lebih baik ditulis langsung dengan DSL atau fungsi yang mudah dibaca manusia daripada mengandalkan AI
      Aturannya jadi mudah diubah, dan unit test sangat berguna
    • Masalah penjadwalan yang kompleks memang harus banyak memakai unit test
      Karena dalam struktur input→algoritma→output ada banyak edge case
    • “AI membuat Anda jadi bodoh, lalu Anda mengeluh AI itu bodoh” terdengar seperti situasi lose-lose
    • Terus terang, menyerahkan sebagian besar pekerjaan ke AI lalu berbicara seolah-olah Anda melakukan riset hebat sendiri terdengar agak angkuh
  • Ini tidak disebutkan dengan jelas di tulisan, tetapi aplikasi yang dibuat penulis bisa diunduh siapa saja
    https://drobinin.com/apps/residency/
    Kalau bukan Android, saya ingin langsung mencobanya

  • Saya baru sadar bahwa penulis ini adalah orang yang dulu membuat sistem akses gym dengan Apple Watch
    Tulisan waktu itu bagus, dan tulisan kali ini juga saya suka
    Tautan ke tulisan sebelumnya

    • Saya justru sebaliknya, saya kurang suka tulisan orang itu
      Gaya bahasanya terasa terlalu pamer diri, seperti ingin memberi kesan “saya internasional dan berkelas”
    • Saya anggota PureGym, jadi saya hafal nomor 8 digitnya dan memasukkannya langsung
      Aplikasi resminya kurang bagus, jadi tidak perlu repot mengeluarkan ponsel
  • Setelah membaca ini, saya kembali menyadari nilai dari perjalanan bebas visa yang diizinkan paspor saya
    Secara teknis memang bisa dilakukan, tetapi prosesnya sangat tidak efisien dan menghabiskan waktu

  • Saya penasaran mengapa beberapa negara mewajibkan saat masuk, paspor harus masih berlaku setidaknya n bulan lagi
    Saya tidak paham masalahnya apa jika sisa masa berlaku paspor lebih pendek daripada masa tinggal
    Saya meragukan apakah aturan seperti ini benar-benar mencegah tindakan ilegal atau masalah ekonomi tertentu

    • Mungkin karena situasi darurat
      Jika kepulangan tertunda karena cedera atau hal lain, paspor harus tetap berlaku, dan masa visa juga dalam sistem biasanya hanya diterbitkan dalam satuan tertentu
      Tanggal kedaluwarsa paspor adalah sesuatu yang sudah diketahui sebelumnya, jadi ini mungkin sekadar tuntutan agar orang mengelolanya dengan bertanggung jawab
  • Tulisan ini mengesankan
    Ini menunjukkan dengan baik mengapa sebagian besar aturan yang masuk akal biasanya menyertakan diskresi administratif (administrative discretion)