↓↓↓
- Position: Frontend Engineer
- Responsibilities:
- Developed a React-based web application to efficiently handle and process large-scale datasets, enhancing data analysis and visualization for customers.
- Provided a user-centric page that automates recurring schedules, and converted schedules and datetime in both directions.
- Achieved efficient and clean data fetching and cache management.
- Redesigned relational database and discussed migration, ensuring effective handling and transfer of data for improved system performance.
- Automated deployment and notifications processes.
- Actively incorporated and analyzed user feedback to continuously improve and maintain the web application's performance.
- Collaborated with other teams to manage project scopes, timelines, and contributed to successful project deliveries.
- Explored and implemented cutting-edge frontend development trends and technologies to enhance application scalability.
- Worked as a freelance software developer to port a PC program for microcontroller communication.
- Transformed an existing VB6 program into a Python-based solution.
- Developed a UI for the PC application, enabling seamless interaction with the microcontroller.
- Conducted hardware integration testing to ensure the reliability and functionality of the software with the microcontroller.
- Collaborated closely with the client to understand project requirements.
- Integrated and compiled a C-based library for enhanced performance and functionality.
- Implemented efficient data communication protocols and error handling mechanisms.
- Position:
- Frontend Engineer, full-time employee (2020 - 2021)
- Frontend Engineer, Skilled Industrial Personnel (substitute military service) (2018 - 2020)
- Responsibilities:
- Developed user-friendly web applications using HTML, CSS, JavaScript and TypeScript.
- Collaborated with designers and backend developers to implement pixel-perfect UI designs.
- Implemented interactive features and enhanced user experience through the use of JavaScript frameworks such as React.
- Utilized SASS to create a Wizard UI, improving the user onboarding experience and simplifying complex processes.
- Participated in the full software development lifecycle, from requirements gathering to deployment.
- Employed techniques such as code splitting, debouncing and caching to improve UI loading speed.
- Resolved cross-browser UI compatibility issues.
- Utilized version control systems like Git to manage codebase and collaborate with team members.
- Participated in code reviews, providing constructive feedback.
- Stayed updated with the latest frontend technologies and industry trends, continuously improving development skills.
- Worked in bi-weekly sprints to ensure timely delivery and effective project management.
- Developed a template-based generator for B2B solutions, enabling rapid creation of customized experiences.
Skilled in🌈:
Familiar with📚:
Exploring🌱:
1. Single-Person Dice Game🎲
- Developed a web-based "Single-Person Dice Game" project based on Yacht dice.
- Implemented the game using React, Emotion, Redux Toolkit, and CSS 3D animation.
- Implemented random dice rolling and score calculation functionality.
- Real-time updates of user scores and game progress for an enhanced gaming experience.
- Designed with a mobile-first approach.
- GitHub: Link to GitHub Repository
- Website: Link to Live Website
- Related project: 3D Dice Matrix Inspector (GitHub/Website)
2. Frontend Engineer's Cheat Sheet📒
- Developed a personal cheat sheet for frontend engineering.
- Curated a collection of helpful articles, tutorials, and resources related to frontend engineering.
- Included links to the articles and added personal comments to provide insights or recommendations.
- Organized the cheat sheet into different categories such as HTML/CSS, JavaScript, UI/UX, Performance Optimization, and Frameworks/Libraries.
- Continuously updated the cheat sheet with new findings and insights.
- Expanded the cheat sheet to cover non-frontend topics related to development, such as Git, command line tools, and responsive design.
- Markdown documentation: Link to GitHub Repository
3. Minesweeperts (Outdated)💣
- Developed a web-based Minesweeper game, a single-player game where the objective is to clear the board without triggering any mines.
- Implemented the Minesweeper logic using TypeScript, exploring the language for the first time.
- The game features an interactive grid with mine placement and reveal mechanics.
- Outdated: Note that this project is no longer actively maintained or updated.
- GitHub: Link to GitHub Repository
4. Weather Forecaster Chatbot☀️
- Developed a Telegram chatbot called "Forecaster" using Python.
- Utilized internet weather data to provide current weather information and forecasts for user-specified locations.
- Implemented functionality to answer user queries about weather conditions.
- Utilized geocoding and web scraping techniques to determine the specific location mentioned by the user.
- Leveraged DigitalOcean VM and Linux cron jobs to automate periodic weather updates.
- Additionally, created a version of the chatbot using Node.js to operate as a Slack bot.
- GitHub: Link to GitHub Repository
- Forecaster Chatbot Channel (Application is currently inactive.)
1. Project ViEco: Intelligent Charging Station Information Platform⚡
- Developed a web application client using TypeScript and React.
- Designed for a user-friendly experience and smooth development collaboration.
- Utilized technologies such as GitHub Pages, AWS backend API server, Kakao Maps API, Ant Design, SASS, and CSS modules.
- Ensured code conventions with Recommended ESLint and Prettier.
- Provided features such as phone location access, charging station information, route guidance, nearby amenities, and electric vehicle news.
- Led frontend development and integration with maps, directing frontend development efforts, collaborating with team members to determine the tech stack, and developing the majority of features related to map integration.
- Implemented data crawling, storage, and retrieval through the backend server and database.
- Collaborated using Notion workspace and Git, and deployed using GitHub Pages.
- Presented as the final project for the Capstone Design course.
- GitHub: Link to GitHub Repository
2. Socket Programming Practice🔌
- Implemented various socket programming tasks as part of the Network System Programming course.
- Covered topics such as client-server communication, TCP and UDP protocols, network protocols, concurrent server and data transmission.
- Applied knowledge of network programming concepts and techniques to build functional and efficient socket-based applications.
- Utilized programming languages such as C to implement the socket programming tasks.
- Organized the source code files for each practice problem.
- Repository: Link to GitHub Repository
3. Online Bookstore Website🛒
- Developed an online bookstore website using JSP and Tomcat.
- Implemented features such as user authentication, book searching functionality, and a point-based reward system.
- Took responsibility for backend development, including designing the database schema and implementing approximately half of the Java server code.
- Presented the project as the final presentation for the Software Engineering class.
- GitHub: Link to GitHub Repository
4. Cross-Compilation Project: Integrating Device Driver and Android App⚙️
- Developed a cross-compilation project that involved integrating a device driver with an Android app.
- Implemented Java Native Interface (JNI) to establish communication between the Android app and the device driver.
- Created a device driver to control the functionality of a buzzer and a 7-segment display.
- Cross-compiled the project on an older version of Ubuntu, enabling it to run on the target embedded system.
- Utilized the device driver to control the buzzer and display various animations and numbers on the 7-segment display.
- Completed the project as the final project for the Embedded Systems class.
- GitHub: Link to GitHub Repository
1. Card Information Input Form (Work in Progress)💳
- Developed a card information input form using React, TypeScript, and TailwindCSS.
- Implemented form validation to ensure the correct format of card details such as card number, expiry date, and CVV.
- Styled the form components using utility-first CSS, Tailwind CSS, emphasizing a efficient approach to styling.
- Utilized Vite to scaffold the project.
- Planning to incorporate React Hook Form library for efficient form handling, validation, and error management.
- Envisioning implementing Jest or ViteTest for testing purposes to ensure the functionality and reliability of the form.
- Took inspiration from Google and Notion's card information input systems and aimed to create multiple versions of the form with similar functionalities.
- Automating code formatting styles using
.prettierrc
to maintain consistent and standardized code formatting. - Repository: Link to GitHub Repository
2. Notion API Practice📖
- Explored the Notion API to interact with Notion databases and retrieve data.
- Developed a Node.js application using TypeScript to fetch and display Notion database entries.
- Implemented update operation to manipulate the database records.
- Storing the API key securely in a separate file and providing access to Notion services.
- Leveraged the Notion API documentation and samples to learn and practice interacting with the API.
- Repository: Link to GitHub Repository
3. SIC Assembler🔧
- Created an assembler for the Simplified Instructional Computer (SIC) machine.
- Implemented a lexical analyzer to parse the SIC assembly language source code.
- Converted the parsed instructions into machine code using the SIC instruction set.
- Final project for the System Programming class, originally implemented in C.
- Ported the existing codebase to Python and Haskell as part of the project.
- Repository: Link to GitHub Repository
4. Telegram Conversation Log Compressor🗨️
- Implemented using Haskell, this project offers a convenient way to compress and manage conversation logs from PC Telegram.
- Required PC Telegram and Haskell compiler as prerequisites for running the project.
- Gathered conversation logs by copying and pasting from PC Telegram and saved them as text files.
- Executed the program in the same folder to compress the conversation logs.
- Prompted the user to input the number of participants and their names as the program's input.
- Created new conversation files with the specified participant count and names.
- GitHub: Link to GitHub Repository
Kyonggi University (2022)
- Degree: Bachelor of Engineering in Computer Science
- Relevant Coursework:
- Data Structures and Algorithms
- Object-Oriented Programming
- Database Systems
- Web Development
- Operating Systems
- Embedded Systems
- Engineer of Information Processing - Human Resources Development Service of Korea (2022)
- Certified SAFe 5 Scrum Master - Scaled Agile Inc. (Expired) (2020)