<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IoT | JIWOO</title><link>https://wldnek03.github.io/en/tag/iot/</link><atom:link href="https://wldnek03.github.io/en/tag/iot/index.xml" rel="self" type="application/rss+xml"/><description>IoT</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 01 Mar 2026 00:00:00 +0000</lastBuildDate><image><url>https://wldnek03.github.io/media/icon_hueae46e51a10750d3b4279c786c55cc70_44407_512x512_fill_lanczos_center_3.png</url><title>IoT</title><link>https://wldnek03.github.io/en/tag/iot/</link></image><item><title>Seed Lab Digital Twin (Capstone Project)</title><link>https://wldnek03.github.io/en/project/seedlab/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://wldnek03.github.io/en/project/seedlab/</guid><description>&lt;h1 id="overview">Overview&lt;/h1>
&lt;p>This project is a real-time digital twin system that collects environmental data from a seed propagation lab and visualizes it in a 3D environment.&lt;/p>
&lt;p>I was responsible for backend development and Linux server operations, including real-time data processing with MQTT and WebSocket, Docker-based deployment, REST API development, and integration of an LLM chatbot using the Groq API.&lt;/p>
&lt;hr>
&lt;h1 id="highlights">Highlights&lt;/h1>
&lt;ul>
&lt;li>Real-time data processing with MQTT and WebSocket&lt;/li>
&lt;li>Linux server administration and Docker deployment&lt;/li>
&lt;li>Development and debugging with Claude Code&lt;/li>
&lt;li>Automation of repetitive operational tasks using Makefile&lt;/li>
&lt;li>LLM chatbot integration with Groq API&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="responsibilities">Responsibilities&lt;/h1>
&lt;ul>
&lt;li>Backend development&lt;/li>
&lt;li>Linux server setup and maintenance&lt;/li>
&lt;li>Docker-based deployment&lt;/li>
&lt;li>MQTT &amp;amp; WebSocket data processing&lt;/li>
&lt;li>REST API development&lt;/li>
&lt;li>Groq API integration for LLM chatbot&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="tech-stack">Tech Stack&lt;/h1>
&lt;h3 id="backend">Backend&lt;/h3>
&lt;ul>
&lt;li>Java&lt;/li>
&lt;li>Spring Boot&lt;/li>
&lt;/ul>
&lt;h3 id="database">Database&lt;/h3>
&lt;ul>
&lt;li>MySQL&lt;/li>
&lt;/ul>
&lt;h3 id="infrastructure">Infrastructure&lt;/h3>
&lt;ul>
&lt;li>Linux&lt;/li>
&lt;li>Docker&lt;/li>
&lt;li>Nginx&lt;/li>
&lt;/ul>
&lt;h3 id="communication">Communication&lt;/h3>
&lt;ul>
&lt;li>MQTT&lt;/li>
&lt;li>WebSocket&lt;/li>
&lt;/ul>
&lt;h3 id="ai">AI&lt;/h3>
&lt;ul>
&lt;li>Claude Code&lt;/li>
&lt;li>Groq API&lt;/li>
&lt;/ul>
&lt;h3 id="collaboration">Collaboration&lt;/h3>
&lt;ul>
&lt;li>Git&lt;/li>
&lt;li>GitHub&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="key-contributions">Key Contributions&lt;/h1>
&lt;ul>
&lt;li>Built a real-time data pipeline using MQTT and WebSocket.&lt;/li>
&lt;li>Developed REST APIs for collecting and managing environmental data.&lt;/li>
&lt;li>Deployed and managed services in a Linux environment using Docker.&lt;/li>
&lt;li>Connected real-time sensor data with a 3D digital twin dashboard.&lt;/li>
&lt;li>Integrated an LLM chatbot using the Groq API.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="ai-assisted-development">AI-Assisted Development&lt;/h1>
&lt;p>Throughout the project, I used &lt;strong>Claude Code as a development partner&lt;/strong> rather than simply a code-generation tool.&lt;/p>
&lt;ul>
&lt;li>Created FRD and PRD documents to define project scope and functional requirements.&lt;/li>
&lt;li>Debugged MQTT communication and WebSocket synchronization issues by analyzing logs and system architecture with Claude.&lt;/li>
&lt;li>Improved the structure of the 3D dashboard UI through iterative discussions.&lt;/li>
&lt;li>Verified, refined, and tested AI-generated code before integrating it into the project.&lt;/li>
&lt;/ul>
&lt;p>This experience taught me how to effectively incorporate generative AI into the software development lifecycle while maintaining code quality and reliability.&lt;/p>
&lt;hr>
&lt;h1 id="operational-automation">Operational Automation&lt;/h1>
&lt;p>To reduce repetitive operational tasks, I automated server management workflows.&lt;/p>
&lt;p>Previously, restarting the production server required executing a long Docker Compose command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker compose -f docker-compose.yml &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>-f deploy/docker-compose.prod.yml &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span>--env-file deploy/.env.prod restart nginx-proxy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Using Claude Code, I created a Makefile that simplified the process to:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">make restart
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This improvement helped:&lt;/p>
&lt;ul>
&lt;li>Reduce repetitive manual input&lt;/li>
&lt;li>Minimize operational mistakes&lt;/li>
&lt;li>Improve consistency and efficiency in server management&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h1 id="what-i-learned">What I Learned&lt;/h1>
&lt;p>Through this project, I gained hands-on experience in:&lt;/p>
&lt;ul>
&lt;li>Designing real-time data processing systems&lt;/li>
&lt;li>Linux server administration and Docker deployment&lt;/li>
&lt;li>Applying generative AI to software development and operations&lt;/li>
&lt;li>Automating repetitive tasks&lt;/li>
&lt;li>Validating and refining AI-assisted solutions before production use&lt;/li>
&lt;/ul>
&lt;p>These experiences strengthened not only my backend development skills but also my ability to improve operational efficiency through practical engineering solutions.&lt;/p>
&lt;hr>
&lt;h1 id="github">GitHub&lt;/h1>
&lt;p>🌱 Repository&lt;/p>
&lt;p>&lt;a href="https://github.com/capstone-SeedLabSystem/SeedLabDigitalTwin_System" target="_blank" rel="noopener">https://github.com/capstone-SeedLabSystem/SeedLabDigitalTwin_System&lt;/a>&lt;/p></description></item></channel></rss>