Skip to content
View giaBaoJS's full-sized avatar
:atom:
React Native Developer
:atom:
React Native Developer

Block or report giaBaoJS

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
giaBaoJS/README.md

Hi, I'm Bao Nguyen
A React Native Developer

A little more about me...

🚀 I'm a React Native Developer with 5+ years of experience in building high-quality and performant mobile applications
💡 I'm passionate about creating impressive user experiences and writing clean, efficient code
🔧 I publish native modules for React Native and fix bugs in the libraries I ship with
📱 I love turning ideas into beautiful, functional mobile applications
🐕 I absolutely love dogs and I'm a proud owner of 5 adorable poodles! They're my coding companions and stress relievers

const BaoInformation = {
    pronouns: "He" | "Him",
    askMeAbout: ["React Native Development", "Native Modules", "Mobile App Architecture", "UI/UX Design"],
    technologies: {
        frontend: ["React Native", "React", "TypeScript", "JavaScript"],
        native: ["Swift", "SwiftUI", "Objective-C", "Kotlin", "TurboModules", "Fabric"],
        backend: ["Node.js", "Express"],
        database: ["MongoDB", "MySQL", "Firebase"],
        tools: ["Expo", "React Native CLI", "Redux", "Context API", "TanStack"],
        design: ["Figma", "Adobe XD"],
        others: ["Git", "GitHub", "GitLab", "Bitbucket", "Jira", "VS Code", "Xcode", "Android Studio"]
    },
    currentFocus: "Open source native modules for the New Architecture",
    funFact: "I debug with console.log and I'm not ashamed! 😄",
    personalLife: "Dog lover with 5 poodles 🐩 - they're the best debugging partners!"
}

My Tech Stack

Mobile Development

React Native Expo TypeScript JavaScript

Native

Swift SwiftUI Kotlin C++

State Management & APIs

Redux React Query Axios

Development Tools

VS Code Xcode Android Studio Git

Open Source Contributions

27 pull requests to 6 projects. I use these libraries in production, so when something breaks I go and fix it upstream — every PR below comes with a root-cause write-up and a regression test.


High-performance 2D graphics for React Native

PR What it fixes
#4001 open Use-after-free in Font.getTypeface(). The borrowed pointer from SkFont::getTypeface() was adopted into an owning sk_sp without a ref, so every call silently drained the typeface's refcount until it was destroyed underneath live fonts. Proven with a C++ harness linked against the real prebuilt Skia binary — the unpatched build SIGABRTs, the patched one exits clean.

Native macOS menu bar app that unifies your AI subscriptions — Swift 6, strict concurrency

PR What it fixes
#467 open Configuring the proxy overwrote ~/.codex/auth.json wholesale, destroying credentials — now a merge-write with a restorable backup
#471 open Round-tripping an auth file dropped every field the app didn't recognise — silent data loss straight into the Keychain
#477 open An opencode.json with comments failed to parse and got wiped; now parses JSONC and splices a single field back byte-for-byte
#481 open Custom HTTP headers for custom providers, with RFC 7230 validation so a CR/LF in a header value can't inject a request
#475 open A -1 "no data" sentinel was rendered as 100 − (−1) = 101% — placeholder now, in the ring and in VoiceOver
#472 open Accounts imported from Cursor and Trae couldn't be deleted — and deleted ones resurrected on the next scan
15 more →
PR What it does
#468 open Classify Codex quota windows by actual duration instead of position in the response
#469 open Deduplicate Copilot quota items appearing twice under legacy and current identity keys
#470 open Show the provider in the request log — and stop attributing Kiro requests to Claude
#473 open Configurable reasoning effort for Codex models
#474 open Let the user choose which quota bucket the menu bar shows
#476 open Complete app reset in Settings, with an injectable directory so tests never touch real data
#478 open Sort the accounts currently in use to the top of the menu
#479 open Detect Trae CN in "Scan for IDEs", with a domain allowlist so a user-writable file can't exfiltrate a token
#480 open Persist traffic statistics across proxy restarts, with a versioned store and migration
#482 open Split Gemini models into their own Google-protocol provider for OpenCode
#483 open Show available models in the app panel, distinguishing "empty" from "failed to load"
#484 open Opt-in restore of agent configs on quit, keyed by a SHA-256 receipt so it never clobbers a config it didn't write
#485 open Carry explicit quota bucket kinds from the fetchers instead of inferring them from display strings
#486 open Refresh imported Cursor and Trae quotas on a global refresh
#487 open Opt-in adaptive refresh cadence that backs off when nothing is changing

Beautiful, fast and modern React Native UI library

PR What it fixes
#464 open <Typography weight> stopped working in v1.0.6. The BEM migration dropped the font-weight declarations, so every weight rendered identically unless you defined custom font variables. Traced to the exact migration PR that introduced it.

Self-hostable OTA update solution for React Native

PR What it does
#1142 merged New @hot-updater/bugsnag-plugin — uploads source maps to BugSnag on every release so crash reports from OTA bundles are readable
#1143 open An unknown built-in baseline bundle id was treated as a real baseline, so devices could be handed an update they couldn't apply

Google's Filament 3D renderer for React Native

PR What it fixes
#345 open file:// URIs were never percent-decoded, so any asset with a space or a non-ASCII character in its path failed to load on both platforms. Guarded so an existing file with a literal % in its name doesn't regress.

Bottom sheet components for React Native

PR What it fixes
#71 open Nested scrollables were hit-tested from the wrong point on iOS — the post-threshold pan location instead of the touch-down point, so a gesture that started inside an inner list could be stolen by the sheet

Libraries I've Published

Native modules for the New Architecture, plus one SwiftUI package. All MIT, all with example apps and CI.

Library What it does
react-native-device-pulse Device health from JS — thermal state, low power mode, memory warnings. Event listeners and React hooks. npm
react-native-app-shortcuts Home screen quick actions — UIApplicationShortcutItem on iOS, ShortcutManager on Android. npm
react-native-shared-transition Shared element transitions between screens. Revived and rewritten — first working iOS build in the project's history. npm
react-native-tipkit Apple's TipKit for React Native — popover and inline tips, display rules, event counts, frequency control. npm
react-native-image-analysis On-device OCR with text geometry, barcodes, and a tap-to-select text view. Apple VisionKit on iOS, Google ML Kit on Android.
react-native-ios-controls Control Center, Lock Screen and Action Button controls (iOS 18 ControlWidget), plus a CLI that wires up the widget target for you.
ToastKit A polished SwiftUI toast & snackbar library — queued toasts, semantic styles, swipe-to-dismiss, full accessibility. docs

Activity Graph

I love connecting with different people so if you want to say hi, I'll be happy to meet you more! 😊


Pinned Loading

  1. react-native-shared-transition react-native-shared-transition Public

    Shared element transitions for React Native — built for the New Architecture with Nitro Modules and Reanimated

    TypeScript 1

  2. react-native-app-shortcuts react-native-app-shortcuts Public

    Home screen quick actions for React Native, built for the New Architecture — dynamic shortcuts on iOS (UIApplicationShortcutItem) and Android (ShortcutManager)

    TypeScript

  3. react-native-bottom-sheet react-native-bottom-sheet Public

    Forked from software-mansion-labs/react-native-bottom-sheet

    Provides bottom-sheet components for React Native.

    TypeScript

  4. react-native-device-pulse react-native-device-pulse Public

    Monitor device health from React Native: thermal state, low power mode and memory warnings — event listeners and React hooks, New Architecture (TurboModule)

    TypeScript

  5. nguyenphutrong/quotio nguyenphutrong/quotio Public

    Stop juggling AI accounts. Quotio is a beautiful native macOS menu bar app that unifies your Claude, Gemini, OpenAI, Qwen, and Antigravity subscriptions – with real-time quota tracking and smart au…

    Swift 4.7k 302

  6. heroui-inc/heroui-native heroui-inc/heroui-native Public

    📱Beautiful, fast and modern React Native UI library

    TypeScript 3.6k 136