seohamin@homeserver: ~/portfolio
~/portfolio$whoami

24시간 죽지 않는 서버를 만드는 백엔드 엔지니어

Spring Boot / FastAPI 기반 백엔드 개발부터 저사양 홈서버 운영까지 — 코드가 실제로 돌아가는 환경을 끝까지 책임집니다.

Spring BootLinux
~/portfolio$
// about

About

백엔드/인프라 중심으로 일하는 개발자입니다. Spring Boot와 FastAPI로 서비스 로직을 설계하고, 집에서 직접 운영하는 홈서버 환경을 통해 배포·모니터링·장애 대응까지 실제 운영 관점에서 고민합니다. 화려한 화면보다 안정적으로 돌아가는 시스템을 만드는 데 관심이 많습니다.

// skills

Skills & Stack

01

Backend

JavaSpring BootPythonFastAPIREST API
02

DATA

MariaDBRedis
03

INFRA & OPS

LinuxNGINXRabbitMQGitHub Actions홈서버 운영AWS EC2GCP Compute Engine
// projects

Projects

Pomoland (뽀모도로 땅따먹기)

2026.07 – 진행중

뽀모도로 타이머로 집중 세션을 관리하며, 완주한 시간만큼 지도 위 타일을 점령해 나가는 학습 동기부여 게임

"공부 시간을 보여주는 서비스가 아니라, 공부한 시간이 내 땅이 되게 한다"를 목표로 하는 게임형 학습 동기 부여 서비스. 뽀모도로 세션을 완주한 시간만큼 지도 위 타일을 점령·방어·탈환하며 다른 사용자와 경쟁합니다.

  • 30초 주기 하트비트로 서버가 세션 진행을 검증, 완주 시에만 포인트·공부시간 자동 적립
  • (x, y) 유니크 제약 + saveAndFlush로 동시 타일 점령 충돌을 즉시 감지해 한쪽만 성공 처리
  • Apple/Google OAuth2 로그인과 JWT Access/Refresh 재발급, 리프레시 토큰 AES 암복호화 저장
Spring BootMariaDBJWTOAuth2.0

JastAPI

2026.03 – 2026.04

FastAPI처럼 직관적으로 백엔드를 구축할 수 있는 자체 제작 경량 Java 백엔드 프레임워크

FastAPI처럼 직관적으로 백엔드 서버를 구축할 수 있는 자체 제작 Java 프레임워크. 백엔드 프레임워크의 구조를 공부하기 위해 개발하였습니다. 내장 WAS, 어노테이션 기반 라우팅, DI 컨테이너를 처음부터 직접 설계·구현했습니다.

  • ServerSocket 기반 내장 WAS로 별도 설치 없이 한 줄 코드만으로 서버 실행
  • 리플렉션 기반 자동 클래스 스캔 DI 컨테이너(@Component)와 @Get/@Post/@Patch/@Delete 라우팅 구현
  • wrk 부하 테스트(400 connections, 30s) 결과 초당 21,873건 처리
  • 해시맵 라우터는 '/users/{id}' 같은 동적 경로를 표현할 수 없다는 한계를 발견, 트라이 구조로 재설계해 Path Variable 매칭과 조회 성능을 동시에 확보
Java 21

FindX

2025.10 – 2026.04

분실물 습득을 '퀘스트'로 재정의해 자발적 회수를 유도하는 위치 기반 게이미피케이션 매칭 서비스

유실물 습득을 '퀘스트', 습득자를 '헌터'로 재정의하여 게이미피케이션 보상으로 자발적 회수를 유도하는 위치 기반(LBS) 분실물 매칭 서비스 백엔드.

  • 텍스트 전문 검색·좌표 Bounding Box 사전 필터링·Haversine 정밀 거리 계산을 하나의 검색 API로 통합
  • STOMP+RabbitMQ 기반 실시간 채팅에 CONNECT(JWT 검증)·SUBSCRIBE(참여 여부 재검증) 2단계 인가 적용
  • 배지·포인트·리더보드 게이미피케이션, Solapi SMS 인증·Apple/Google OAuth2·FCM 알림 통합
  • cascade 차등 설계로 탈퇴 후에도 이력 보존, 복합 unique 제약으로 DB 레벨 정합성 보장
Spring BootMariaDBRedisRabbitMQSTOMPWebClient

FSHS (File Streaming Home Server)

2023.11 – 진행중

복잡한 구축 과정 없이 개인 PC를 실시간 파일 스트리밍 NAS로 만들어주는 스탠드얼론 앱

복잡한 구축 과정 없이 개인 PC를 그대로 실시간 파일 스트리밍 서비스로 만들어주는 스탠드얼론 NAS 앱. 저사양 하드웨어를 타깃으로 합니다.

  • FFmpeg 실시간 트랜스코딩으로 브라우저 미지원 코덱의 영상·음악 재생 문제 해결
  • 실제 디스크와 DB 캐시 간 정합성을 맞추는 FolderSyncService로 외부 파일 변경도 자동 동기화
  • 세션 기반 인증과 공유 링크용 토큰 인증을 함께 설계, 다중 사용자별 독립 루트 폴더 분리
  • 라즈베리파이 3B(ARM, 1GB RAM) 환경에서도 끊김 없이 동작하도록 최적화한 저사양 대응 NAS 앱
  • 썸네일 수만 개 누적 시 파일시스템 성능 저하 → UUID 2단계 디렉터리 샤딩으로 해결
  • v1 개발 중 임시방편으로 쌓인 구조적 부채가 신규 기능 추가를 어렵게 만든다는 것을 확인, 전체 아키텍처를 재설계하여 v2로 마이그레이션
Spring BootSQLite3FFmpeg
// timeline

경력 & 이력

2026.04 – 2026.06

Google AI Agent Challenge

Spotline - 소상공인 비즈니스 향상 서비스
교내 우수상 수상
2023.09 – 2024.01

포항시 IT 협업 동아리 PARD

Th!nk - 선생님·학생간 라포 형성 서비스
포항시 IT 협업 동아리 PARD 2기 파디 수료
2023.08 – 2023.11

한동대학교 SW 페스티벌

Treater - 유실물 회수 서비스
1학년 소프트웨어 공모전 우수상 수상
2023.02 – 진행중

한동대학교

한동대학교 23학번 AI컴퓨터전자공학부 AI·컴퓨터공학심화
~/portfolio$./contact.sh

Let's talk

협업, 채용, 질문 모두 환영합니다.