
I'm a senior in Computer Engineering at Hongik University. I currently lead the 18th-cohort dev team at BAY (Blockchain at Yonsei). I got into blockchain because it lets me control my own assets with code that no one else can touch, and I've taught high school math for three years because I love making hard concepts easy. Like a pelican that opens its beak even when the thing in front of it is bigger than its mouth, I'm not afraid of new challenges.
My first global hackathon, entered not long after I got into Web3. Standing on stage with imperfect English became the starting point for every talk since.
Live demo of an AI agent executing on-chain trades through the Injective MCP. Featured on the official Injective Korea X account.
After seeing the ChainLens demo, EasyA's founder invited me to speak. I gave a 30-minute session on how AI agents use payments and trading, and made finalist in the hackathon at the same event. ChainLens was also mentioned in CoinDesk's coverage.
𝕏 EasyA shoutoutInterview videoCoinDesk articleEvent timetable
As the 18th-cohort dev team lead at BAY (Blockchain at Yonsei), I analyze the geth (Go-Ethereum) codebase, write the lecture materials, teach a one-hour session every Thursday, and help members review with quizzes. The curriculum is designed so members new to both Go and geth can follow all the way into the internals of an EVM client. Materials are self-hosted at baydev.pelicanlab.dev. Bugs I found in the code while preparing those lectures were fixed and merged upstream in go-ethereum.
I have also been teaching high school math for three years (Nov 2022 ~ present): diagnosing each student's level, explaining at their pace, and checking that they truly understand.
Bugs I found reading the go-ethereum (geth) code while preparing the onboarding lectures for BAY's 18th-cohort dev team, sent upstream as pull requests. All three were reviewed by a core developer and merged. All PRs
Removed the Holesky testnet, which reached end of life in late 2025, from the geth codebase. After Pectra, massive inactivity leaks left a validator exit queue over a year long, so the network could no longer test the validator lifecycle, and with its DNS discovery tree gone a node started with --holesky silently ran without ever finding peers. Removed the CLI preset and datadir handling, chain config and genesis allocation, bootnodes, beacon light client config and log index checkpoints across 19 files, and pointed the docs at Sepolia and Hoodi. Analyzed the impact on existing Holesky datadirs and downstream Go consumers in the PR, and split the change into two commits so maintainers could choose between removing only the user-facing preset or the library API as well.
The trie iterator's Next returns false both when the range is exhausted and when a node cannot be resolved, but the API never checked Err afterwards, so a trie failure was reported as a normal result. Worse, NextKey came back nil, which the response format defines as 'the last key is included', telling callers a truncated range was complete. Fixed it to return the iterator's error, matching how other trie iterator consumers such as dbcmd and the snapshot and pathdb generators already handle it.
Calling it with an unknown block hash made BlockByNumberOrHash return (nil, nil) as the RPC spec requires, but the method only checked the error and then dereferenced block.ParentHash(), panicking the RPC serving goroutine. Applied the same nil guard that StorageRangeAt in the same file already used, and added a regression test asserting an error instead of a panic for an unknown hash. My first merged PR in geth.
A KYC wallet that verifies users with Korea's mobile ID. Includes tax calculation for DeFi/CeFi activity. Reached the Top 10 finals of the MSIT DID Mobile ID AI·Blockchain Hackathon and now preparing for the next round (the final 5 teams receive up to ₩1B in commercialization support).
An SDK concept for verifying fundraising eligibility in the Korean STO market. Won the Excellence Award at the AI·SW University AI·Blockchain Business Model Competition on planning and presentation alone.
A launchpad for verified projects and participants in the ecosystem of GIWA, Upbit's new chain. Designing and building a structure for RWA and regulation-friendly on-chain asset issuance.
A marketplace where AI agents buy and sell APIs and resources. Prototyped x402-based agent payments and, with EasyA's incubation, went through the full product lifecycle: token launch, community, pivot, and sunset.
A real-time multiplayer cops-and-robbers game. Designed an architecture that keeps game logic off-chain while settling escrow on Solana. Solana Startup Village Student Award ($1,500).
Built at the Consensus Hong Kong hackathon. Deployed my first-ever smart contract to Base Sepolia, and later won a WorldLand Grant as team EarthIsMine (20,000 WL).
Planned and built the frontend of a rating service that makes solving algorithm problems more fun for club members, my first attempt at designing participation incentives for a developer community. Since migrated into the club's unified platform and still in service.
Started on the onboarding team, and now serve in the club's leadership as dev team lead. I plan the club's dev sessions and run the geth core study.
Took the PM role for the landing, onboarding and data pages, handling communication between the Injective team and ours. Voluntarily brought events to a quiet community and led our hackathon participation.
Opened the project account from zero and built the early community with content. Watching a single post translate directly into market reaction taught me the power of developer-facing content.
My first community after entering the computer engineering program. Organized events that brought club members closer, formed a team that won an algorithm contest, and later joined the dev team to build a competition system that makes solving algorithm problems fun.

