Projects

Everything we have built

Some are our own products, some were made for clients and communities, and the kiosk systems were built in my engineering job since 2016.

My flagship product. A mobile-first community platform for foreigners living in Korea: buy and sell listings, a jobs board with in-app applications and employer-applicant messaging, community Q&A and guides, events with RSVP, in-app chat, and a "Live Info" hub covering air quality, weather, FX rates, machine-translated Korean emergency disaster alerts, holidays and nearby hospitals. A Visa Finder wizard covers around 30 Korean visa types.

  • ~2,650 PHP files, 1,200+ git commits, installable PWA with web push
  • 10-language i18n, Google + Kakao OAuth, Kakao Maps
  • AI writing and translation assistant (OpenAI) with a hard daily cost-budget ledger
  • Points and referral ledger with anti-farming holds and forensic investigation tools
  • Production on AWS Lightsail (Seoul) behind Cloudflare, deployed and operated solo

A non-custodial wallet for Cosmos-SDK chains: private keys are generated and stay on the user's device (CosmJS + bip39 + secp256k1 in the browser), while a PHP API layer handles chain metadata, price feeds and push notifications.

  • Outgoing-transaction alarms that ping you the moment funds move
  • Paid "watch address" tier with quotes and billing
  • Validator uptime monitoring with an apply/decide workflow
  • React + Vite SPA, full PWA with VAPID web push, ~50 API endpoints

A revenue-bearing Korean platform (소소한 알바, "small side-work") where users join click, keyword, link and Q&A missions on a first-come-first-served basis, submit proof, and receive real payouts.

  • Full payout pipeline: submission review with image galleries, bulk validate/pay/revert
  • Second-generation admin dashboard, Naver store analytics module, spreadsheet import/export reporting
  • Lucky-draw ticket system, per-user points and levels
  • Documented dev-to-prod git deploy workflow

Market-intelligence SaaS for sellers on Naver Shopping, Korea's biggest commerce platform: track products, keywords, store homes and search ranks; measure clicks, sales and stock over time.

  • Crawler-ingest API with per-user metric quotas
  • Backed by the BeeShop Delphi suite: BeePlace place ranking, BeeSales, DataLab controller and monitor, keyword search, product tracking and click-count worker pools
  • webpack front end, realtime socket module, SQL performance tuning at scale

A complete photo-booth product. The kiosk drives a tethered Canon DSLR through the Canon EDSDK, streams live view to the embedded Chromium UI over a local-only WebSocket, composites the shot (chroma key green screen, background removal, frame and template overlays), generates a QR code for digital delivery and prints the result.

  • Split into starter, kiosk, manager and watchdog executables for unattended operation
  • Hand-written WebSocket server (RFC 6455 handshake and framing) inside a Delphi app
  • Bilingual KO/EN web dashboard: usage stats, master and user roles, configurable photo retention policy with a cleanup job

A family of production data pipelines that track products, keywords, ranks and sales on Naver and Coupang daily, built to survive serious anti-bot defenses.

  • Browser-pool engine: a state-machine-driven pool of embedded Chromium workers claiming jobs from a MySQL queue and injecting live JavaScript fetches
  • Browserless engine: curl-impersonate for a genuine Chrome TLS/JA3 fingerprint, paired with Playwright-captured login sessions
  • Self-scheduling daily jobs (KST cron tables), idempotent upserts, retry lifecycles
  • ~7,400-line core engine unit; deploy pipeline with PowerShell packaging + PyInstaller

Self-service ticketing kiosk for a children's safety experience centre, split into a KidSafetyMain admin application and a KidSafetyKiosk terminal sharing a common ticket-print module, building for both Win32 and Win64. It handles the full retail transaction end to end.

  • KSNET card-terminal integration: credit/debit/cash, approval and cancellation flows, personal and business cash receipts
  • Ticket and receipt printing on LKT42 and Woosim thermal printers
  • Excel reporting, hybrid HTML UI in an embedded browser, self-updating from my own server
  • I also built the reusable KSNET payment component package other kiosks use

Cashier app and kiosk app for the Cheongju Land children's experience center, replacing the site's legacy MySQL 5.x ticketing program with a documented migration path.

  • Each cashier PC runs a Delphi VCL shell hosting an embedded web UI plus an embedded REST API server, so the same UI is reachable from any LAN browser while card payment and receipt printing stay on the host machine's hardware
  • Multiple cashier PCs share one MySQL 8 database
  • KSNET card terminal and thermal receipt printer integration

On-site ticketing for Cheongnamdae (청남대), the former presidential villa attraction in Cheongju, covering card payment, cash receipts and both card and cash-receipt refunds, with a companion MonoRailLive app serving live monorail status over its own local HTTP endpoint.

  • Self-updating launcher: checks a JSON manifest on the update server, then downloads, backs up, applies, verifies and rolls back on failure
  • Explicit update state machine: idle, checking, downloading, backing up, applying, verifying, rolling back
  • In production, current build April 2026

A complete Digital Information Display platform deployed in the Sangdang-gu, Seowon-gu and Heungdeok-gu district offices of Cheongju City, built as a large group of cooperating applications.

  • Dedicated Elevator and ElevatorInside display apps, MultiScreen video-wall engine, WebPlayer and ImgPlayer players, Settings tool, PatchPositions and DataPatch maintenance tools, RestartProg watchdog, launchers and auto-updaters
  • Devices pull layouts and section playlists from a content-manager API keyed by device IP
  • Versioned PowerShell update pipeline building signed update packages for player and server separately, with a bilingual HTML runbook; packages shipped through July 2026

Directory and wayfinding kiosk for a Korean government office building. Operators manage departments, teams, section leaders, staff, seat cards, floor plans, signage images, media and event notices from one admin console; the kiosk renders floor maps with animated route wayfinding to a chosen desk.

  • HR data sync job against the Good Morning SSO directory
  • Bilingual KO/EN operator manual that embeds the real admin pages in click-blocked iframes so it cannot go stale
  • Runs on a closed municipal network with fully self-contained assets; backup-first deployment with dry run and rollback

Public-facing touchscreen system for a Korean city council (시의회): council introduction, member profiles and roles, a drag-orderable organisational chart, floor maps, bills and rolling announcements. Still actively developed as of 2026.

  • Full admin back office: content, user rights, image upload and positioning, template layer, member and org-chart management, font selection, media slides
  • PHP over Oracle (OCI), deployed, versioned and maintained in the field, with migration backups and a PowerShell build-and-deploy script

Self-service kiosk for the Korean sports information portal (g1.sports.or.kr client) that lets athletes and officials apply for and print sports certificates.

  • Certificate type catalogue with visibility rules by sport category and user type
  • Full request, payment, approval and print lifecycle, plus reprint and refund policy
  • Delphi VCL shell hosting a web UI over a local web server, reading directly from the client's Oracle database

Workplace attendance product line: employees tap an RFID card on a serial reader and the kiosk records check-in/out against MySQL, with an HTML attendance UI and announcement panels.

  • Manager application for workers, departments, ranks, admin levels and card assignment
  • Separate check-in and leave-work terminals, standalone card-check module
  • Custom version-control and patch mechanism plus auto-updater for field devices

A complete product around validator and masternode voting on an EVM-compatible chain. One person, four tiers:

  • REST API server (Delphi WebBroker/Indy): auth, voting, history, scheduled jobs, JSON-RPC to the chain node
  • Desktop operator console with a background voting-strategy engine
  • Block scanner indexing the chain into MySQL
  • Android apps (FireMonkey + native Java) with true background services, local notifications, and AES-encrypted private keys at rest
  • Kakao and Telegram notification channels

Operations tooling for my Beehive validator business across Evmos, Osmosis, Orbs, Rizon, Medibloc and MARO: a live dashboard showing block height, heartbeat and RPC status per node, with alert/mute state and node self-registration.

  • Standalone Python alarm daemon polling nodes and firing Telegram alerts, plus missed-block detection
  • Beehive Guard web console: managed networks, alarm users and permissions, dashboards and versioned in-app tutorials
  • REStake auto-compounding operator setup, plus Python snapshot and airdrop-event scripts
  • Runs 24/7. This is the code that wakes me up when a node misbehaves.

Operations console for withdrawals on the Upbit exchange, built for the compliance side of running a crypto business in Korea.

  • Registers and whitelists destination addresses per network (Korean travel-rule compliance)
  • Lists registered networks, current prices and withdrawal status
  • Records transfer and transaction history against MySQL
  • JWT-signed requests against the Upbit REST API (firebase/php-jwt)

My master's research, built as a real system and deployed in the field: an IoT network of shock, movement and voltage sensors on landslide-prone slopes, reporting through gateways to a real-time analysis backend that predicts slope failure and raises alarms.

  • PHP/MySQL backend with REST APIs, Google Charts visualisation, a remote-control subsystem, a C# receiver program and a logging subsystem, delivered against a formal interface specification
  • SMS and notification delivery through the Popbill service plus KakaoTalk alerting; a companion NotifCenter desktop notification app
  • Deployments include a golf course in Namyangju and the West Inland expressway project; presented at the 2023 Korean Joint Academic Conference

A B2B snack-ordering API server for Korean nursing homes (요양원) on a "pay first, then ship" model. This is my modern TypeScript stack showcase.

  • NestJS 10 + Prisma 5 over MySQL, JWT + Passport auth, Swagger/OpenAPI docs
  • Per-client pricing, order amount finalisation, payment-provider abstraction (bank transfer now, Toss Payments drop-in later)
  • Clean modular architecture with Jest, class-validator, scheduled jobs

I am one of the founding members of KAFXA, the Korea-Africa Excellence Awards ("One Continent, Global Impact"), a community initiative that celebrates Africans creating outstanding impact in Korea. I serve on the core team and built the entire platform.

  • Full nomination workflow: nominate, status tracking, nominee profiles, past winners
  • Community voting, gallery with uploads, feedback channel and an admin dashboard with its own auth
  • Monthly African Icon feature plus the yearly awards cycle; actively developed through 2026

I built and administer the digital home of CAMASKO, the Cameroonian Association in South Korea: member registration and login, member and admin dashboards, events, projects, affiliates and media.

  • Homegrown multi-language layer (EN/FR/KO), the architectural ancestor of Waegook
  • Clean datamodule API split (auth, admin, user, public)
  • Real community infrastructure, run as a volunteer

A recreational futsal tournament I founded and co-organise with Amigo FC, plus the bilingual (EN/KR) platform that runs it. Two editions shipped in 2024.

  • Team registration, group stage league tables, knockout brackets
  • Live scores with a detailed match view, player and team stats, a public vote and rules
  • Doubles as community organising: sport bringing locals and foreigners together

An online course platform (헤이호 CLASS) with a public catalogue and course detail pages, cart and checkout, order history, news, FAQ and terms, plus student dashboards.

  • Video content served from local storage
  • Admin console for categories, courses, orders, FAQs, terms and site settings, with scheduled jobs and a missions module
  • Light and dark theme with no-flash bootstrapping

DOContent Manager, the content-management side of the signage business: define screens and sub-screens, build multi-zone layouts with a JS layout editor, assign ordered playlists and cards per zone, and push the result to registered kiosk devices.

  • Accounts scoped by district and department, hardened sessions
  • Read-only device API so kiosks can poll their layout by computer name or IP
  • Ships with install and update scripts plus an HTML update guide for on-site operators
  • Powers the players in the DODID fleet

A client/server backup and file-share system built from the wire protocol up.

  • The server exposes selected drives, folders and files as shares over a custom length-prefixed binary protocol on TCP
  • Maintains a hashed share index; the client browses and pulls from it
  • Protocol design and indexing work, a different muscle from CRUD and kiosk projects

A toolkit of reusable components and utilities accumulated across client work, each battle-tested in at least one real project.

  • Canon EDSDK camera wrapper component with demo app
  • Korean road-name address (도로명주소) lookup client for the public Juso API, with XML parsing and paging
  • Binance auto buy/sell trading bot with a monitor window
  • DirectShow webcam capture components, NFC and RFID reader harnesses, card and receipt printer tools, virtual keyboard helper, idle-time and watchdog helpers, an offline media player, and MoveDB, a browser-based MySQL-to-MySQL migration tool