SangHyun Bang 방상현
Java · Spring Boot Backend Developer
I find where data and state drift apart, block it with structure, and pin it down with tests. I read real SQL, query plans and logs to fix bottlenecks and structural flaws, and I check what a test actually verifies rather than trusting a green run. My business/economics background and data-analysis experience help me consider business and data flow together.
Experience
레이시스
2026.07 – presentBackend Developer
- ERP accounting module · Node.js, MariaDB
Chung-Ang Univ. Industry-Academic Cooperation Foundation
2023.09 – 2024.08Student Researcher
- Assisted Multi-Armed Bandit / reinforcement-learning research — theory analysis, experiment organization, project support
Chung-Ang University
2023.01 – 2023.08Research Intern
- Bandit Algorithm / Reinforcement Learning research intern
Daol Investment & Securities
2022.01 – 2022.02Management Planning Intern
- Supported management-planning work — experienced how business and data connect to decisions
Projects
Pawloop — dog-walking & family-care app (solo)
2026.06 – present Case study ↗ ONE store ↗ Source is private · demo on request
- Solo — planning and design docs (23 ADRs), Flutter app, Spring Boot server, AWS infrastructure (Terraform), ONE store release (2026.09) and operation; about 81% of commits written with an AI coding agent (marked by trailers)
- Gathered the nine places where coordinates can leave the device into one compile-time policy, and computed nearby places on the device from a nationwide catalog (no location-based service business filing has been made)
- Chat: shared rooms for family and crews, HTTP send with ETag polling (3→30 s), per-room sequence issued atomically with LAST_INSERT_ID(last_seq + 1) and pinned by a 20-thread test on real MySQL
- Single-EC2 production (Caddy as the only entry, DB data on separate EBS, config in SSM, CI runs tests and doc-drift checks, manual deploy). After a Caddy config error on first boot, replaced the string check with a test that runs caddy validate in the production image · 1,994 backend tests, 0 failures (2026-09-30)
SCOUT
2026.05 – present (solo · pre-launch) Case study ↗
A valuation service that estimates a fair-value range with public valuation methods (DCF · Monte Carlo), written with an AI coding agent (co-authorship marked in commits). Pure Kotlin engine + Spring Boot API (PostgreSQL · Testcontainers) + Flutter app. A private project being prepared as a business; the source is not public. Not investment advice.
BARO FARM — MSA commerce backend, auth boundary (team of 5)
2025.11.29 – 2026.01.27 (team project) Case study ↗
- Owned the auth boundary of a five-person Spring Cloud MSA — member/auth service, gateway auth filters, OPA policy and bundle service
- Gateway validates the cookie JWT and rewrites user headers; authorization is an OPA query over per-service, per-role path rules, failing closed with 503 on OPA errors or delay (circuit breaker, bulkhead, 2 s)
- Designed and built the path that publishes suspensions, withdrawals and seller approvals as Kafka hotlist events; a bundle service rebuilds the policy bundle and OPA pulls it every 10–60 s; the seller service syncs from the same topic
- HttpOnly/Secure/SameSite=Strict cookies, refresh-token rotation and revocation, Kakao/Naver OAuth account linking, a withdrawal outbox (written in the same transaction, FAILED after 5 attempts)
HeatTrip — Emotion-based travel recommendation (Team Lead, team of 3)
2025.07 – 2025.11 (competition · team Hit다Heat, 3 people) · 2026.03 – 2026.06 (solo refactoring) Case study ↗ ONE store (listing record · server no longer running) ↗
🏆 Excellence Award, 2025 Tourism Data Utilization Competition (Korea Tourism Organization, 2025.11)
- Team lead (planning) of a three-person contest team — backend (place collection, explore, recommendation, media, auth), Python recommendation server, app recommendation & explore screens, deployment and ONE store release
- Gave the LLM 95 category names instead of places (two groups chosen); Spring maps labels to cat3 codes, filters places and ranks them with its own scoring
- Collected and cleaned ~50,000 Tourism Organization places, then backfilled Kakao links & coordinates and built category trait snapshots; infinite scroll uses a (createdtime, contentid) cursor with size+1
- (2026, solo) Prepared for public operation with auth on the recommendation API, per-path rate limits and secret scanning; for search, found the count query's full scan with EXPLAIN ANALYZE and switched to search_text + FULLTEXT (ngram) (count ~755 ms before, list ~4.9 ms after — different queries, single measurement)
OREUM — map-based hiking community web service (team of 4)
2025.06 – 2025.07 (KDT graduation project) Case study ↗
🏆 Excellence Award, KDT Full-stack Bootcamp graduation project (Gangnam HiMedia, 2025.07)
- Set up the initial structure of both backend and frontend repositories (Spring Boot; React routes, Redux, dev proxy) and managed server configuration and build files
- Backend and frontend for the map (mountain search · mountain forecast · trails), curation posts, social login (OAuth2 · JWT) and S3 upload (Spring Boot · React)
- Forecasts for 153 mountains collected in batches and kept in Redis (12-hour TTL); the map’s forecast API reads only from Redis (the automatic refresh trigger is off in the final code)
- Curation posts keep post metadata in MySQL and route segments (GeoJSON coordinates) in MongoDB, linked by postId and drawn as a route on the map
Training
Programmers Dev Course · MSA Spring AI Intensive
Spring Cloud · MSA backend — BARO FARM (auth boundary)
Gangnam HiMedia · KDT Full-stack Bootcamp
Spring · React full-stack — Excellence Award for the graduation project (OREUM, hiking community)
Education
Academic Credit Bank System
B.Eng. in Computer Engineering · 4.05 / 4.5 · conferred 2026.08
Sogang University
Business Administration & Economics, double major · Summa Cum Laude · 3.75 / 4.3
Chung-Ang University Graduate School
M.S. program in Artificial Intelligence · on leave
Skills
Certifications
- Engineer Information Processing (2026.06)
- SQL Developer (SQLD) (2026.06)
- ADsP — Data Analysis Semi-Professional (2022.09)
- Certified Investment Manager (2022.12)
Awards
- Excellence Award, 2025 Tourism Data Utilization Competition (Korea Tourism Organization, 2025.11) — HeatTrip
- Excellence Award, KDT Full-stack Bootcamp graduation project (Gangnam HiMedia, 2025.07) — OREUM
- Honorable Mention, 13th DB FEC (DB Kim Jun-ki Cultural Foundation, 2023.05)
- Bank of Korea Monetary Policy Competition — preliminary round, top 11 teams in Seoul (2022.07)