Skip to content

Faieq Idlan, frontend engineer in Kuala Lumpur

I design and build apps that feel calm, quick and considered.

Frontend engineer at Ryt Bank, shipping React Native and TypeScript. On my own time I take ideas from the first sketch to a phone in my pocket: interface, motion, front end, back end and the native bits in between.

Checking Spotify

01 Work

Selected work

Apps I designed and built end to end, from the first sketch to the server.

Kembara on three phones: a planned day in Taipei, Today mode with the next stop in Chinese, and a stop’s details

01 / 2026

Kembara

Turns the reels you save into a calm, day-by-day trip plan.

Role
Solo: product, design, iOS, web and backend
Platform
iOS app and installable web app
  • Next.js
  • Expo
  • TypeScript
  • Supabase
  • Claude API
  • Google Places
  • TanStack Query
Private for now. Ask me for a demo

Trip ideas pile up as saved TikToks, reels and Maps links. Paste them into Kembara and it finds and verifies each place, plans your days around your pace, food needs and hotel, then tells you what is next on the trip, in the local language, even with no signal.

Design

  • Two modes, two densities: edit-heavy planning on the couch, glance-heavy Today mode for one hand and bad signal
  • Every in-trip action takes two taps or fewer. The next stop is set in large local script, ready to show a taxi driver
  • AI proposes, you decide. Plans arrive as drafts with new and moved stops marked, and nothing changes until you apply
  • Light and dark themes with five accents, each checked for contrast. The next stop is always the loudest thing on screen

Engineering

  • Claude with Zod-validated structured output, streamed day by day. Google Places verifies every place, opening hours included
  • Layered architecture with ESLint-enforced boundaries, so one domain layer of pure, tested rules serves both the web and iOS apps
  • Offline first: the query cache persists to IndexedDB on the web and SQLite on iOS, and Done and Skip sync when back online
  • Supabase Postgres with row-level security on every table, SQL tests in CI, and migrations applied on merge
  • Native iOS: a Live Activity in the Dynamic Island, widgets, a share extension for reels and HealthKit steps for the trip recap
Tujuh on three phones: the game table mid-round, a card flipping up big, and the end-of-game standings

02 / 2026

Tujuh

A pocket version of the card game Flip 7, for playing with friends.

Role
Solo: design, mobile app, game engine and server
Platform
iOS and Android
  • Expo
  • React Native
  • TypeScript
  • Reanimated
  • Skia
  • Cloudflare Workers
  • Swift
Private for now. Ask me for a demo

An unofficial fan project. Flip 7 is a game by The Op.

My friends love Flip 7, but someone always had to keep score and we could not play apart. Tujuh deals, enforces every rule and adds up the scores, online with a four-letter room code or on one phone passed around the table. Tujuh is Malay for seven.

Design

  • Styled like a kopitiam table: kaya cream, pandan green, sambal red for a bust and kaya gold for a Flip 7
  • Every flip is a small event. The card comes up big, turns over and drops into your line, with sound and haptics
  • Banners, badges like “1 away” and “Match point”, and a narrator line give the whole table something to react to
  • Your own bust odds are never shown, so the game still runs on gut feel

Engineering

  • One pure TypeScript rules engine, a reducer with a seeded RNG and no dependencies, shared by the phone and the server so the rules can never drift
  • Online rooms on Cloudflare Workers, one Durable Object per room over hibernating WebSockets. Phones only ever see a redacted view
  • Lock your phone or lose signal and you rejoin straight into the current state
  • Simulation tests play hundreds of random games, checking no card is lost or duplicated and every score adds up
  • Native Swift modules for SharePlay over FaceTime and a Lock Screen Live Activity with Hit and Stay

Earlier work

  • 2024

    Momento

    A live photo gallery for weddings and events, joined with a QR code.

    React · TypeScript · Firebase · Tailwind CSS

  • 2024

    CNB Carpets

    An offline-first catalogue app for showroom sales staff.

    React Native · Expo · TypeScript · Firebase

02 About

Why I build

Portrait of Faieq Idlan

I build because I can't leave a good idea alone. My side projects usually start with a small annoyance: the friend stuck keeping score, the hundred reels saved for a trip and never opened.

I like owning the whole thing, from the first sketch to the database policy, and I care most about the details people feel but never notice: how a card lands, what a screen says when the signal drops, an address a taxi driver can actually read.

What I do

  • Interface design

    I design in Figma and finish in code. Type, spacing and colour as a system, every state accounted for, and motion that explains instead of decorates.

    Figma · Design systems · Motion · Accessibility

  • Mobile

    React Native every day at Ryt Bank, and on my own apps all the way down to the native layer: Live Activities, widgets, SharePlay, HealthKit and share extensions.

    React Native · Expo · Reanimated · Swift modules

  • Web and backend

    Next.js front ends on Postgres with row-level security, real-time servers on Cloudflare, and AI features built on Claude with validated, structured output.

    Next.js · TypeScript · Supabase · Cloudflare Workers · Claude API

How I work

  1. 01

    Figure out the user moment

    Who is stuck, and what are they trying to do? I sketch the flow before picking tools.

  2. 02

    Test the risky part first

    Build the smallest version that proves the idea: QR join, offline cache, AI parsing. Not the full feature list.

  3. 03

    Cover every state

    Loading, empty, error, and success matter as much as the happy path. I try to catch gaps before code review.

  4. 04

    Ship and adjust

    See what actually moves the needle, then tighten. Side projects are where I practice that loop.

Off the clock

When I'm not at a keyboard I'm usually moving. Sport is where I reset, and it's taught me more about teamwork and patience than any retro.

  • Futsal

    I play wherever the team needs me: up front, at the back, sometimes in goal.

  • Ping pong

    Purely for fun, with friends and family. Nobody keeps score for long.

  • Bouldering

    Still new and still falling off. Every problem is a puzzle you solve with your whole body.

03 Experience

Where I've worked

  1. June 2025 - Present

    Frontend Engineer at Ryt Bank

    Building mobile UI for RytPayLater, a personal credit line inside one of the world's first AI-powered digital banks.

    • Own PayLater screen flows end to end, including loading, error, and empty states
    • Turn Figma specs into reusable React Native components across PayLater journeys
    • Align API contracts with backend early so mismatches get caught in review, not mid-build
    • Coordinate across pods to prioritize tickets and keep releases moving
    • Review PRs with a focus on state handling, accessibility, and clean composition

    React Native · TypeScript · Git · Jira · Alibaba Cloud

  2. May 2024 - May 2025

    Full Stack Developer at Juta Teknologi

    Built web and mobile products for clients, from an internal CRM to a field-sales catalogue app for showroom staff.

    React · React Native · JavaScript · Tailwind CSS · Firebase · Git

  3. Mar 2023 - Mar 2024

    Junior Software Developer at Code Titan

    Worked on backend systems and UI across multiple apps, with measurable gains in engagement and performance.

    Backend Development · UI/UX Design · Figma · PHP

  4. Aug 2020 - Oct 2020

    Student Intern at Petronas Digital

    Built a facial recognition prototype on Raspberry Pi for a hands-on access-control experiment.

    Facial Recognition · Raspberry Pi · Python

04 Contact

Have something in mind? Let's talk.

A product you're building, a role you're hiring for, or a game of futsal. My inbox is open and I usually reply within a day.