Open Source

Open-source tools I built and published, and libraries I developed and released while employed.

1

Flutter Packages and Developer Tools

Native Flutter app capabilities and recurring development work extracted into packages

  1. 1

    Merry

    Merry is a script manager for Dart/Flutter projects that lets you define long, hard-to-remember scripts under short names and run them (pub.dev: https://pub.dev/packages/merry).

    • Over 4,400 downloads on pub.dev in the last 30 days (as of October 2026).
    • Started from derry, added many features, and built the vscode-merry VS Code extension to integrate with the existing ecosystem.
    • vscode-merry shows script definitions in a browsable UI inside VS Code Explorer, so users can discover, check, and run them without switching between YAML files and the terminal (published on VS Code Marketplace).

    Independently designed, implemented, and published the Dart package (merry) and the VS Code extension (vscode-merry)

    • Dart
    • Flutter
    • VS Code Extension
    • pub.dev
  2. 2

    flutter_receipt_scanner

    An on-device Flutter receipt scanner that provides crop, EXIF, automatic rotation, and Korean and English OCR quality checks for camera and gallery input.

    • Provides Android and iOS receipt capture and image selection flows through one Flutter API.
    • Handles crop, EXIF, automatic rotation, and Korean and English OCR quality checks on device.

    Ported React Native receipt-scanner experience to a Flutter package and published it to pub.dev

    • Flutter
    • Android
    • iOS
    • OCR
    • pub.dev
  3. 3

    ble_proximity_signal

    A foreground Flutter scanner that converts BLE RSSI for up to five target identifiers into proximity strength from 0 to 1.

    • Tracks multiple BLE targets at the same time and provides signal strength as normalized values that are easy to use in a UI.

    Planned, designed, implemented, and published to pub.dev

    • Flutter
    • BLE
    • Android
    • iOS
    • pub.dev
  4. 4

    credit_card_type_detector_korean

    A Flutter package that adds identification of Korean credit card issuers by BIN while preserving the existing card-vendor detection behavior.

    • Adds Korean card-issuer BIN detection to the existing credit_card_type_detector workflow.

    Planned, designed, implemented, and published to pub.dev

    • Flutter
    • Payments
    • BIN
    • pub.dev
  5. 5

    Flutter Icon Font Packages

    Three packages that generate the MingCute, Lucide, and VS Code Codicons icon sets as Flutter icon fonts and publish them to pub.dev. lucide_icons_lite is a community fork that carries on the no-longer-maintained lucide_icons package.

    • All three repositories run a workflow every four hours that compares the package version with the upstream icon release, and a version change flows on into a tag and a pub.dev publish.
    • Over 1,500 combined pub.dev downloads across the three packages in the last 30 days (as of October 2026).

    Created and maintained the Flutter packages and published them to pub.dev

    • Flutter
    • Icons
    • codegen
    • pub.dev
    • GitHub Actions
  6. 6

    go_router_linter

    A custom Dart lint package that improves code quality and consistency when using go_router.

    • Helps find recurring routing-code mistakes during static analysis.

    Planned, designed, implemented, and published to pub.dev

    • Dart
    • Flutter
    • go_router
    • Linter
    • pub.dev
  7. 7

    portone_flutter_v2

    Standardized the PortOne-based payment flow and developed and released the `portone_flutter_v2` package.

    • Standardized the PortOne-based payment flow and developed and released the `portone_flutter_v2` package.
    • Led the contracts and integrations for three payment gateways: Toss Payments, Toss Pay, and Kakao Pay.
    • Over 180 downloads on pub.dev in the last 30 days (as of September 2026).

    Developed and released while at CAMI Labs (2023-11~2026-01)

    • Flutter
    • PortOne
    • Payments
  8. 8

    prettier-plugin-markdown-dart

    A Prettier plugin that formats `dart` code blocks in Markdown with the local `dart format` command.

    • Delegates formatting to the local `dart format` command instead of reimplementing it, so Dart examples in documentation follow the same rules as project code.
    • Leaves the rest of each document to Prettier's existing behavior.

    Planned, designed, implemented, and published to npm

    • Prettier
    • Dart
    • npm
2

React Native Modules and Developer Tools

Modules and CLIs for New Architecture, native SDK, and code generation boundaries

  1. 1

    React Native Toolkits

    A collection of developer tools for the brittle parts of React Native work: asset management, New Architecture migration audits, design handoff, and agent-led maintenance. It pairs one agent-skill kit with three deterministic tools, and each tool also runs on its own.

    • RN Agents Kit ships ten agent skills for React Native maintenance — project snapshots, asset hygiene, New Architecture audits, CI artifact audits, and more — as a Claude Code plugin. Every skill inspects and reports first, needs explicit consent before changing a project, and leaves a reviewable git diff.
    • rn-typed-assets generates type-safe constants for image, SVG, and Lottie assets, audits unused asset files, and automatically rewrites outdated import paths (published to npm).
    • rn-newarch-ready is a read-only audit CLI that diagnoses and reports the dependencies and native modules blocking React Native New Architecture enablement (published to npm).
    • design-to-nativewind is a Figma plugin that generates component code with NativeWind (Tailwind for React Native) classes from design layers; it was renamed at Figma Marketplace's request and published to Figma Community.

    Independently handled planning, design, implementation, and publishing

    • React Native
    • New Architecture
    • NativeWind
    • Figma
    • codegen
    • Claude Code
    • npm
  2. 2

    react-native-naver-login

    Implemented a Naver OAuth 2.0 login module based on the New Architecture (TurboModule).

    • Implemented a Naver OAuth 2.0 login module based on the New Architecture (TurboModule).
    • Designed it to be compatible with the public API of `@react-native-seoul/naver-login`, enabling a drop-in replacement in existing projects.

    Developed and released while at Team REmited (2026-04~2026-07)

    • React Native
    • New Architecture
    • TurboModule
    • OAuth
  3. 3

    react-native-in-app-review

    Wrapped the Google Play In-App Review API (Android) and Apple StoreKit `requestReview` (iOS) behind a single API.

    • Wrapped the Google Play In-App Review API (Android) and Apple StoreKit `requestReview` (iOS) behind a single API.
    • Implemented it as a TurboModule so apps can request user ratings and reviews without sending users outside the app.

    Developed and released while at Team REmited (2026-04~2026-07)

    • React Native
    • TurboModule
    • Google Play
    • StoreKit
  4. 4

    react-native-receipt-scanner

    Integrated ML Kit (Android) with VisionKit and Vision (iOS) to implement receipt document scanning.

    • Integrated ML Kit (Android) with VisionKit and Vision (iOS) to implement receipt document scanning.
    • Provides interactive perspective cropping, JPEG compression, EXIF extraction, and on-device OCR through a single API.
    • Over 280 npm downloads in the last 30 days (as of September 2026).

    Developed and released while at Team REmited (2026-04~2026-07)

    • React Native
    • ML Kit
    • VisionKit
    • OCR
  5. 5

    react-native-buzzvil

    Implemented native bridges for using the Buzzvil and AdPopcorn rewarded-ad SDKs in React Native.

    • Implemented native bridges for using the Buzzvil and AdPopcorn rewarded-ad SDKs in React Native.
    • Unified the Kotlin (Android) and iOS native SDK integrations behind a React Native interface.

    Developed and released while at Team REmited (2026-04~2026-07)

    • React Native
    • Buzzvil
    • AdPopcorn
  6. 6

    react-native-step-counter

    Developed a native module that combines iOS CMPedometer and Android SensorManager to process step-count data consistently across platforms.

    • Adapted the AOSP step-detection algorithm to low-level accelerometer data, improving measurement accuracy while supporting devices running Android API 19 or earlier.
    • Built it on the React Native TurboModule architecture to reduce JS-Native Bridge bottlenecks and improve response latency.
    • Used Hermes- and Flipper-based performance tracing to monitor and optimize memory use and runtime behavior.

    Developed and released while at Gbike (2023-01~2023-04)

    • React Native
    • TurboModule
    • iOS
    • Android
    • Hermes
3

Development and Collaboration Tools

Tools that connect design handoff and developer workflows in Figma and VS Code

  1. 1

    Copy Code as Snippet

    A VS Code extension that copies selected code or a complete file as a Markdown, HTML, or plain-text code snippet.

    • Includes language and file-path information so the snippet is ready to paste into documents, issues, and reviews.
    • A personal open-source tool published to VS Code Marketplace.

    Independently handled planning, design, implementation, and Marketplace publishing

    • VS Code Extension
    • VS Code Marketplace
  2. 2

    Minimal Git Explorer

    A lightweight, local-first Git explorer for commits, branches, remotes, stashes, tags, and worktrees in the VS Code Source Control sidebar.

    • Provides six sections for commits, branches, remotes, stashes, tags, and worktrees using only local repository data, with no account, subscription, or telemetry.
    • A personal open-source tool published to VS Code Marketplace.

    Independently handled planning, design, implementation, and Marketplace publishing

    • VS Code Extension
    • VS Code Marketplace
    • Git
  3. 3

    Turbo Flutter Log

    A VS Code extension for inserting, commenting out, deleting, and correcting Flutter and Dart log statements using only the keyboard.

    • Marks only extension-authored logs, allowing one shortcut to comment out or delete all of them without changing manually written logs.
    • Makes every command available only in Dart files and hides them from the Command Palette in other files.

    Planned, designed, implemented, and published to the Marketplace

    • VS Code Extension
    • Dart
    • Flutter
    • TypeScript
4

AI and Agent Tools

Tools that bring LLMs into development workflows with boundaries that do not trust model output

  1. 1

    commit-quill

    A VS Code extension that generates commit messages and proposes splitting mixed changes into cohesive commits.

    • Calls OpenAI, Anthropic, and Gemini directly with the user's own keys, so code does not pass through a third-party backend.
    • Checks every model-proposed split-group path against `git status` and rejects duplicate or incomplete coverage before staging.

    Planned, designed, implemented, and published to the Marketplace

    • VS Code Extension
    • OpenAI
    • Anthropic
    • Gemini
    • TypeScript
  2. 2

    claude-memory-kit

    A Claude Code plugin that reviews transcripts from past sessions and proposes file-based memory candidates.

    • Uses an on-demand proposal and human-approval loop instead of a capture hook that automatically saves every conversation.

    Planned, designed, and implemented

    • Claude Code
    • Agent Tooling
    • TypeScript
  3. 3

    imgen

    An OpenTUI-based CLI for generating and browsing images created by Codex CLI within the terminal.

    • Codex has no `imagegen` subcommand, and its image tool works only within an agent turn, so generating one image from a script requires a complete headless `codex exec` run. This tool works around that constraint by combining prompting, previewing, regeneration, and saving in one place.
    • Collects every image generated by Codex on this machine into a gallery and records each prompt at generation time.

    Planned, designed, and implemented

    • Codex CLI
    • Bun
    • OpenTUI
    • TypeScript
  4. 4

    maintainer_tui

    A terminal dashboard that surveys every repository with push access and shows its maintenance signals.

    • Collects only the signals needed to decide whether a repository currently needs attention, such as open PRs, Dependabot alerts, and unreleased commits, then opens the selected repository in a terminal or editor.
    • Prelaunches `claude` or `codex` in the selected checkout so the session is ready on arrival.

    Planned, designed, and implemented

    • Bun
    • OpenTUI
    • GitHub CLI
    • TypeScript
5

Python Developer Tools

Small, verifiable CLIs for configuration files and automation tasks

  1. 1

    toml-tidy

    A Python CLI that sorts keys without changing the TOML table hierarchy.

    • Preserves the configuration file's table structure while consistently sorting only the key order.

    Planned, designed, implemented, and published to PyPI

    • Python
    • TOML
    • CLI
    • PyPI