Seed Lab Digital Twin (Capstone Project)

Overview

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.

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.


Highlights

  • Real-time data processing with MQTT and WebSocket
  • Linux server administration and Docker deployment
  • Development and debugging with Claude Code
  • Automation of repetitive operational tasks using Makefile
  • LLM chatbot integration with Groq API

Responsibilities

  • Backend development
  • Linux server setup and maintenance
  • Docker-based deployment
  • MQTT & WebSocket data processing
  • REST API development
  • Groq API integration for LLM chatbot

Tech Stack

Backend

  • Java
  • Spring Boot

Database

  • MySQL

Infrastructure

  • Linux
  • Docker
  • Nginx

Communication

  • MQTT
  • WebSocket

AI

  • Claude Code
  • Groq API

Collaboration

  • Git
  • GitHub

Key Contributions

  • Built a real-time data pipeline using MQTT and WebSocket.
  • Developed REST APIs for collecting and managing environmental data.
  • Deployed and managed services in a Linux environment using Docker.
  • Connected real-time sensor data with a 3D digital twin dashboard.
  • Integrated an LLM chatbot using the Groq API.

AI-Assisted Development

Throughout the project, I used Claude Code as a development partner rather than simply a code-generation tool.

  • Created FRD and PRD documents to define project scope and functional requirements.
  • Debugged MQTT communication and WebSocket synchronization issues by analyzing logs and system architecture with Claude.
  • Improved the structure of the 3D dashboard UI through iterative discussions.
  • Verified, refined, and tested AI-generated code before integrating it into the project.

This experience taught me how to effectively incorporate generative AI into the software development lifecycle while maintaining code quality and reliability.


Operational Automation

To reduce repetitive operational tasks, I automated server management workflows.

Previously, restarting the production server required executing a long Docker Compose command:

docker compose -f docker-compose.yml \
-f deploy/docker-compose.prod.yml \
--env-file deploy/.env.prod restart nginx-proxy

Using Claude Code, I created a Makefile that simplified the process to:

make restart

This improvement helped:

  • Reduce repetitive manual input
  • Minimize operational mistakes
  • Improve consistency and efficiency in server management

What I Learned

Through this project, I gained hands-on experience in:

  • Designing real-time data processing systems
  • Linux server administration and Docker deployment
  • Applying generative AI to software development and operations
  • Automating repetitive tasks
  • Validating and refining AI-assisted solutions before production use

These experiences strengthened not only my backend development skills but also my ability to improve operational efficiency through practical engineering solutions.


GitHub

🌱 Repository

https://github.com/capstone-SeedLabSystem/SeedLabDigitalTwin_System

Lee Ji Woo
Lee Ji Woo
Senior (4th year) majoring in IT Intelligence and Information Engineering, Jeonbuk National University
tel.010-8690-4730