Naufal Firoos
Menu
Berbasis di
Yogyakarta, Indonesia
Waktu lokal

Naufal Firoos

Full-stack developer

Saya percaya pada proses.

Hampir lima tahun berlatih di gym mengajarkan bahwa progres datang dari terus hadir, dan saya membangun perangkat lunak dengan cara yang sama: dari antarmuka sampai klaster tempat ia berjalan.

Bidang

  • Antarmuka
  • API
  • Data
  • Infrastruktur
  • Mobile

Tentang

Saya membangun sistem ketika antarmuka, API, dan model data harus sepakat. Belakangan saya juga me-review apa yang ditulis agen AI sebelum ada yang dirilis.

Di Berijalan Technocenter saya mengerjakan platform tanda tangan digital: alur penandatanganan kontrak dari awal sampai akhir, verifikasi identitas, SSO dan MFA perusahaan, serta aplikasi React Native untuk surveyor lapangan yang mengambil foto dan lokasi di lokasi kerja.

Saat ini saya sedang melakukan R&D tentang alur kerja pengembangan berbasis AI dengan Claude Code dan omp. Tujuannya satu rantai yang tersambung, dari perencanaan dan manajemen proyek sampai implementasi dan pengujian end-to-end, tempat agen menyusun draf dan saya me-review di setiap serah terima: saya menulis brief, menetapkan batasan, membaca setiap diff, dan memutuskan apa yang di-merge. Tujuannya bukan mengetik lebih sedikit, melainkan menjaga standar arsitektur, keamanan, dan aksesibilitas yang sama ketika jumlah kode terus bertambah. Aplikasi member Infinity Gym dan portofolio ini sama-sama dibangun dengan cara itu.

Bersama teman-teman saya menjalankan drunkcode.dev, sebuah studio perangkat lunak kecil. Di sanalah platform Infinity Gym dibangun, dan di sana pula saya mengerjakan proyek klien.

Sebelumnya saya menempuh jalur mobile: Flutter dan Kotlin di Bangkit Academy dan IDCamp. Mobile mengajarkan saya memperlakukan antarmuka sebagai rangkaian keadaan yang dilalui seseorang, bukan kumpulan komponen yang ditempel di halaman. Kebiasaan itu terbawa ke Next.js dan React.

Di luar pekerjaan saya membangun sisa stack-nya: layanan .NET dan PostgreSQL, alat trading Python, dan homelab k3s yang dikelola Argo CD. Studi kasus di bawah adalah tentang sambungan antar bagian itu: bagaimana membership menjadi state machine, bagaimana email gagal menjadi percobaan ulang, bagaimana deploy menjadi sebuah commit.

Di luar layar, saya sudah berlatih secara konsisten hampir lima tahun, dan saya sedang belajar bahasa Jerman. Keduanya berjalan dengan aturan yang sama seperti pekerjaan: sesi kecil, diulang, dan diukur terhadap diri saya tahun lalu, bukan terhadap orang lain.

Karya pilihan

Tiga sistem yang dikerjakan dari ujung ke ujung. Setiap studi kasus membahas batasan, keputusan, dan bagian yang sengaja belum selesai.

  1. Platform · API, admin, aplikasi member

    Infinity Gym

    Manajemen gym: API .NET, CMS admin, aplikasi member mobile-first, dan landing page dua bahasa.

    Tahun
    2026 – now
    Peran
    Co-founder dan developer, drunkcode.dev
    Stack
    .NET 10 · PostgreSQL · Redis · Next.js 16 · React 19 · TanStack Query · Tailwind v4
    Beranda member: kartu membership dengan sisa hari, status check-in, dan banner promoJadwal kelas dengan filter dan slot booking
  2. Produk · API dan aplikasi web

    Tempo

    Pencatatan waktu, persetujuan, dan invoice untuk studio kecil, dalam satu ruang kerja.

    Tahun
    2026
    Peran
    Desain dan pembangunan
    Stack
    .NET 10 · PostgreSQL · Next.js 15 · React 19 · Tailwind v4 · Kubernetes
    Ringkasan dengan jam mingguan per klien, utilisasi, dan nilai belum ditagih (data demo)

Cara saya bekerja

Urutan yang sama di setiap proyek, entah layar pertamanya sudah ada atau belum, dan entah kodenya ditulis manusia atau agen.

  1. 1.

    Model

    Mulai dari data dan keadaan yang dilaluinya. Membership, timesheet, dan kursus adalah state machine sebelum menjadi layar.

  2. 2.

    Kontrak

    Tetapkan bentuk API sejak awal: satu envelope respons, error bertipe, dan izin yang dicek di server untuk setiap request.

  3. 3.

    Antarmuka

    Bangun layar di atas kontrak itu. Saat API tertinggal, klien berjalan dengan layanan mock berbentuk sama, jadi menggantinya cukup mengubah isi fungsi.

  4. 4.

    Review

    Agen kini menyusun banyak bagian kode. Setiap perubahan dibaca terhadap brief, kontrak, dan test sebelum di-merge; tidak ada yang dirilis berdasarkan kepercayaan saja.

  5. 5.

    Rilis

    Container sejak commit pertama, migrasi yang berjalan saat deploy, dan klaster yang mengambil keadaannya dari Git.

Pengalaman

  • Feb 2025 – Sekarang

    Full Stack Developer

    Berijalan Technocenter

    Platform tanda tangan digital dengan Next.js, Express.js, PostgreSQL, dan Docker; verifikasi identitas, SSO, dan MFA. Membangun aplikasi survei lapangan React Native dan NestJS dengan foto, geolokasi, dan push notification. Sebelumnya: migrasi aplikasi lama ke Next.js dan Express, atomic design.

  • Okt 2023 – Apr 2024

    Multi-Platform App Developer

    IDCamp

    Jalur belajar Flutter melalui Dicoding: tiga kursus, penilaian bintang lima dan empat.

  • Feb 2023 – Jul 2023

    Mobile Developer

    Bangkit Academy

    Android dengan Kotlin; capstone Teman Tanam, aplikasi pendamping petani.

  • Pendidikan · Agu 2020 – Des 2024

    Sarjana, Sistem Informasi

    Universitas Ahmad Dahlan

    IPK 3.85. Rekayasa perangkat lunak, algoritma, pengembangan mobile, dan UI/UX.

Keahlian

Antarmuka
TypeScript, JavaScript, React, Next.js, React Native, Expo, Tailwind CSS, Flutter, Kotlin / Jetpack Compose
API & data
NestJS, Express.js, Node.js, C# / .NET 10, ASP.NET Core, Python, PostgreSQL, PL/pgSQL, MongoDB, Firebase
Infrastruktur
Docker, k3s, Argo CD, Traefik, Helm, Kustomize, GitHub Actions, Woodpecker
Praktik
SSO / MFA, HTML Canvas, Firebase Cloud Messaging, xUnit, Playwright, GitOps, Aksesibilitas, Pengembangan dan review berbantuan AI, Claude Code, omp

Bahasa

Indonesia
Native
Inggris
Limited working
Deutsch
A1

Mari bekerjabersama

Saya terbuka untuk peran full-time dan proyek freelance, sendiri maupun bersama drunkcode.dev. Email adalah cara tercepat menghubungi saya: kirim masalah, batasan, dan tenggatnya, dan saya akan membalas dengan apa yang bisa saya kerjakan.

itsfiroos@gmail.com