This project was requested from the Korean official Benz dealers from one of the official Benz stores in Korea.
Benz Stock Manager bridges the gap between the raw data and the customer-friendly, ready-to-send stock summary message with just a few clicks — an essential tool for modern Benz dealerships in Korea.
QPylon Video Downloader is a modern desktop application designed for effortlessly downloading videos from websites with maximum security and flexibility. Whether you're archiving content or saving your favorite clips for offline viewing, QPylon makes the process fast, secure, and seamless.
Video Quality Selection - Choose from various resolutions, up to the highest quality the platform offers.
rust-env is a VSCode extension that brings auto-completion and type-safe access to .env
keys directly in your Rust codebase.
While developing the backend for QPylon Video Downloader using Rust + Axum, I frequently encountered annoying bugs due to mistyped environment variable keys. Coming from a TypeScript world where I used hansf14-env-typings, I knew the solution: strong editor support.
So I built rust-env — a lightweight, automatic way to sync .env
variables to a Rust module with IntelliSense-friendly constants.
I developed React Native-based Weather Forecast App. By leveraging the device's geolocation, the app determines your exact address, including street-level detail, latitude & longitude coordinates. This granularity ensures all weather data is highly localized, offering the most relevant information for your current spot on the globe.
At a glance, the app delivers an intuitive visual summary with temperature and sky conditions.
Also, it shows a detailed weather breakdown. It includes: current temperature & feels-like temperature, daily highs & lows, humidity (%), Wind speed & gust speed in m/s, Sunrise and sunset times.
Moreover, the app provides forecast data for up to 5 days, broken down into 3-hour intervals
@hansf14/rn-template
is a production-ready React Native starter template that helps you move fast without compromising structure or flexibility. The template is packed with essential tooling and setup that reflects modern best practices.
android
, ios
) — Full native support out of the box.@/
to access the root path, just like in Next.js.Managing environment variables in Next.js often leads to mistakes due to the lack of autocomplete or static typing for process.env
. To solve this, I forked and customized the original TS Env Typings extension to better suit modern Next.js workflows and eliminate common dev pitfalls.
This Python script was developed to automate the conversion of contact data from ECount CSV format to the Google Contacts CSV format, ensuring compatibility for seamless import into Google Contacts.
Created during my time at 2L Bio Co., Ltd. (투엘바이오), the tool parses and restructures raw CSV files exported from ECount ERP and transforms them into the required Google Contacts format. It supports column renaming, filtering non-empty rows, and reordering headers to match Google's schema precisely.
The tool significantly reduced manual formatting time and improved accuracy when syncing internal contact records with Gmail-based systems.
A desktop GUI application programmed using Tauri as a part of 2L Bio Co., Ltd. (투엘바이오) government assignment project.
I was in charge of the whole IT part of this project when I had been working in the company, 2L Bio Co., Ltd.
It manages thread auto insertion machine settings with graphical user interface with enhanced functionalities comparing to the previous government assignment project application "2L Bio Manager". This application is a successor of the previous program "2L Bio Manager".
While looking for alternatives for Flutter, I've managed to try out and practice .NET MAUI, so that I can better prepare government assignment projects.
This is a .NET MAUI Quotes for Programmers app. It displays a random programming-related quote each time the app loads or when the "Get New Quote" button is clicked, providing inspiration or humor for developers.
While looking for alternatives for Flutter, I've managed to try out and practice .NET MAUI, so that I can better prepare government assignment projects.
This is a .NET MAUI Split Check app. It calculates the total bill per person, including tips. Users can enter a bill amount, choose or adjust a tip percentage, and split the total evenly among a selected number of people.
While looking for alternatives for Flutter, I've managed to try out and practice .NET MAUI, so that I can better prepare government assignment projects.
This is a .NET MAUI Color Maker app. Users can generate RGB hex color codes either by adjusting the red, green, and blue sliders or by tapping the "Generate Random Color" button. The generated hex value can be copied to the clipboard by pressing the color code button.
While looking for alternatives for Flutter, I've managed to try out and practice .NET MAUI, so that I can better prepare government assignment projects.
This is a simple .NET MAUI To-Do List application. It allows users to add tasks using the "Add" button and remove tasks by swiping them left and tapping the "Delete" button.
The app also demonstrates basic network detection by displaying a "No Internet" when there's no Internet connection.
A desktop GUI and mobile (cross-platform) application programmed using Flutter and Dart as a part of 2L Bio Co., Ltd. (투엘바이오) government assignment project. I was in charge of the whole IT part of this project when I had been working in the company, 2L Bio Co., Ltd.
It manages thread insertion machine settings with graphical user interface.
It has convenient functionalities of saving, loading and updating the thread settings for later repetitive use.
Pomodoro app clone was for myself to get more used to Flutter and Dart, so that later I can deal with 2L Bio Co., Ltd. (투엘바이오) government assignment projects using Flutter and Dart.
This application helps users keep track of their work and rest cycles with ease. This app is a minimalist yet powerful Pomodoro timer built using Flutter and Dart. Designed with a clean and responsive user interface.
Financial app layout clone (only layout, without functionalities) was for myself to get more used to Flutter and Dart, so that later I can deal with 2L Bio Co., Ltd. (투엘바이오) government assignment projects using Flutter and Dart.
Explore your favorite movies and TV shows in a beautifully animated Netflix-style interface built with React!
This project is a fully responsive clone of Netflix's frontend UI (excluding streaming), using TheMovieDB (TMDB) API to fetch dynamic content.
A custom Kanban board built with advanced drag-and-drop (DnD) UX.
This project was created as part of the Nomad Coders React Challenge and demonstrates my ability to design and implement a fully functional Trello-style task board.
This web application is a fully responsive React application developed for the Nomad Coders React Challenge. It provides comprehensive information about popular cryptocurrencies using the CoinGecko API and showcases various advanced frontend techniques.
Seamless theme switching with a visually distinct UI.
Optimized across all devices.
Fetches dynamic market data (price, volume, sentiment, etc.) and updates in real-time from CoinGecko.
A uniquely self-implemented custom masonry grid layout organizes multiple external links, rarely seen in other websites due to the complexity and difficulty of implementation. I implemented this masonry grid layout by myself because there weren't any suitable libraries that implement it with my customization requirements but I needed this functionality to prevent only specific column getting too tall and I needed balanced height across all the grid columns.
Displays historical data and various calculated price changes (1h, 24h, 7d, etc.) with clear formatting.
Beautiful SVG-based price chart with smooth animated paths and OHLC data visualizations for enhanced UX.
Rolling Ball is a lightweight custom game launcher web application I developed as a freelance project under strict constraints: I was required to use only Node.js — no frontend or backend frameworks, nor databases.
.exe
) via a registered custom URI protocol, securely mapped using a .reg
file.Despite the hard limitations, I handled all routing, authentication, form handling, and UI interaction using only vanilla Node.js, HTML, and CSS. This project showcases my ability to deliver complete custom solutions even under heavy technical constraints.
I made the renewed main page for 2L Bio Co., Ltd., a biotech company. Although the renewal project was discontinued due to internal decisions, the completed main page demonstrated advanced UX engineering and performance-conscious frontend work.
This project showcases my ability to build low-level user interactions and fine-tuned animations by hand to ensure cross-device UX excellence.
As a freelance web developer, I collaborated with another freelancer to build the official website for Hwapyung D&F, a health-focused company based in South Korea.
Note: The website is currently offline due to the client's internal decisions.
Brawding Slide Zoom is a custom-built WordPress carousel plugin developed in 2023 when I was working as a freelance developer.
It provides an elegant and responsive image slider with optional zoom functionality, designed for seamless integration into the WordPress block editor (Gutenberg).
Whether you're showcasing galleries, product images, or featured visuals, Brawding Slide Zoom delivers a smooth, intuitive, and editor-friendly slider experience for WordPress websites.
I lost the code and the recent data in the database😭😢. Only do I have the old code and the old MySQL data but it's too shameful to display. It was my third website created working as a web developer.
An automatic sending email bot (a desktop CLI application) programmed using Python.
It sends a given email content with customizable adequate interval to hundreds of email recipients. The program needs a email content as an HTML that is trying to send, and an input of txt file which has a list of email recipients that the bot should send the given email content to.
Not only the plain text emails, but it also supports sending an email with MIME Images. The bot also partially supports excel file as an input of recipient email addresses list.
Email crawlers for crawling medical/beauty association, institute, company websites for parsing email addresses.
During the period, working at 2L Bio Co., Ltd. (투엘바이오) and LNH Global Co., Ltd. (엘앤에이치글로벌), I managed to crawl about 50 medical/beauty association, institute, company websites using Python, BeautifulSoup, Playwright (Python), Selenium and Scrapy, and managed to acquire more than 10,000 email addresses for cold marketing.
This project was developed as part of a government assignment project titled "Smart Workshop Technology Support Project for Small Business Owners", aimed at improving digital transformation and operational transparency in small manufacturing businesses.
I was in charge of the whole IT part of this project when I had been working in the company, 2L Bio Co., Ltd. (투엘바이오).
The primary goal of the software was to monitor operational performance and production KPIs (Key Performance Indicators) by processing structured production data and regularly submitting standardized reports to a national KPI monitoring RESTful API endpoints.
I designed and developed brawding.co.kr, a fully responsive, real-time multimedia bulletin board web application that combines a CMS (Content Management System) with real-time communication features. The platform is built to scale for high-volume multimedia posts and interactive user sessions.
I built using Next.js, PHP, and MySQL, designed to support large-scale user interactions across a variety of media types.
This project showcases my ability to integrate frontend UX/UI with backend scalability and real-time communication — delivering a full-stack solution with real-world impact.
This project is a real-time communication app I built while learning WebRTC. Inspired by Zoom, it supports both group chat and 1-on-1 video calls, providing a seamless communication experience directly in the browser.
This project gave me hands-on experience in real-time communication systems and WebRTC signaling.
The Zoom clone project I built was recognized as one of the top submissions in the 17th Zoom Challenge cohort by Nomad Coders. hahnsb0579
is me.
Announcement Link: https://nomadcoders.co/community/thread/6103
My first website created as a web developer.
Website: https://2lbio.co.kr
A polished, fully interactive to-do list application built with React, allowing users to manage tasks through customizable and searchable categories. It offers both simplicity and flexibility, aiming to strike a balance between clean UI and useful features. Perfect for experimenting with category-based filtering, persistent state, and intuitive UX patterns.
A pixel-perfect layout replication of the KakaoTalk mobile app UI, created using only HTML and CSS — no JavaScript, no frameworks, no libraries. This project captures the visual structure and polish of the original app, offering an immersive front-end-only experience suitable for layout and design practice.
This clone serves as a deep dive into front-end layout engineering, ideal for developers practicing responsive, pixel-aligned UI work inspired by real-world mobile apps.
A collection of meticulously crafted CSS layout clone projects, aimed at replicating the UI of popular real-world applications and websites using pure HTML and CSS. These challenges were built to sharpen responsive design skills, improve pixel-perfect alignment, and master CSS fundamentals — without relying on frameworks or component libraries.
The system implements core graph algorithms such as calculating shortest path, computing all equivalent shortest paths and node centrality (closeness and betweenness) in C++, and complements them with an interactive graph visualization interface built using D3.js and served through a local Python web server. It processes multiple types of real-world graph data, offering both computational analysis and visual insight into complex network structures.
It was the final individual assignment project (个人大作业) assigned in "Data Structure and Algorithm (数据结构与算法)" class in grade 2 (1st Semester).
When I was studying at Tsinghua University (清华大学) in China, I managed to analyze hundreds of sample website pages given by the professor, from 275,909 Chinese words, finding out the relations between the given webpages based on the keywords.
It was the final individual assignment project (个人大作业) assigned in "Data Structure and Algorithm (数据结构与算法)" class in grade 2 (1st Semester).
This project is a custom-built clone of Plants vs. Zombies, developed during the summer session of the first year at Tsinghua University as a final individual assignment. Built using C++ and the Qt framework, the game simulates core gameplay elements of the original, with a clean, functional interface.
MFC-based C++ game from my second semester of freshman year at Tsinghua University (清华大学) in China. This project was written entirely in Visual Studio 2012, combining Win32 UI logic with MFC's document/view architecture. All board rendering and interaction were coded manually — no external libraries were used.
This project is a complete desktop-based implementation of Gomoku (Five in a Row)(오목) using C++ with MFC (Microsoft Foundation Classes). The project features a clean graphical interface with an interactive 19x19 Go board, intuitive gameplay, and basic rule enforcement — all crafted from the ground up without any game engines.
I later shared this project with a friend studying at Tsinghua University, where it was used as his final group project for an undergraduate programming course.
When I was studying at Tsinghua University (清华大学) in China, I managed to partially clone the game "Worms". It was the final individual assignment project (个人大作业) assigned in "Software Engineering (软件工程) [1]" class in grade 1 (1st Semester).
I used C and C++ with no third-party libraries due to the project requirements forced by the professor. Another requirement for this project was that we had to use Windows API to implement this Worms Clone. There were many hurdles for this project, and I'd like to list out the most difficult points I fully/partially managed to achieve.
During my first semester of freshman year, I took on the challenge of implementing a fully playable version of Tetris in C, entirely within the console. This project marked my first major milestone in programming — blending game logic, memory handling, and real-time input processing without any graphics libraries.
I later shared this project with a friend studying at Tsinghua University (清华大学) in China, where it was used as his final group assignment for an undergraduate programming course.