프로젝트

텔레그램에서 구독 Claude를 그대로 돌리는 봇

폰에서 Claude에게 일을 시키고 싶어서 만들었다. API 키로 따로 과금하는 대신 이미 쓰던 Claude Code 구독 인증(claude -p)을 그대로 호출한다. 메시지를 보내면 진행 상황을 실시간으로 흘려주고, 코딩 모드에서는 서버 안에서 파일을 만들고 명령을 실행한다. 음성으로 지시하면 텍스트로 바꿔 넘기고, rm -rf 같은 위험한 명령은 실행 직전에 막는다. 같은 서버에 이미 돌던 다른 서비스는 건드리지 못하도록 격리해 두었다.

Pythonpython-telegram-botClaude CodesystemdGitHub ActionsGroq WhisperTelegram

화면 공유를 켜야 출석으로 치는 디스코드 스터디 봇

알고리즘 스터디 출석 체크를 봇에게 넘겼다. 음성채널에서 화면 공유를 켠 시간만 구간 합산으로 기록하고, 누적 60분이면 출석, 주 3회 미달이면 경고, 경고 3회면 자동으로 자리를 정리한다. 공지는 실시간으로 하되 판정은 정산 크론에서만 하기 때문에 봇이 재시작돼도 기록이 깨지지 않는다.

Node.jsdiscord.jsSQLitenode-cronAutomationTimezoneDiscord

kernel-hobby — C/RISC-V 토이 커널

부팅에서 멀티코어(SMP)·TCP·copy-on-write까지, MIT 6.S081(xv6) 랩 전부를 C/RISC-V로 바닥부터 구현한 토이 커널 — OS의 골격을 손으로 다시 지었다.

COSKernelBare MetalRISC-VQEMUxv6NetworkTCP

dbtower-lakehouse — 버려지는 관측 데이터의 장기 분석 파이프라인

DBTower가 5기종에서 수집한 쿼리 스냅샷은 7일 뒤 삭제된다(메타 DB 포화 방지). '지난달보다 느려진 쿼리?'에 답하려고, 만료 직전 스냅샷을 컬럼나 저장소로 내려(ELT) 장기 이력을 만드는 데이터 파이프라인 — Airflow·dbt·DuckDB/DuckLake·MinIO.

AirflowdbtDuckDBDuckLakeMinIOParquetData EngineeringELT

EEDGate

LLM 워크플로우의 실패를 유형으로 자동 분석해 규칙을 스스로 만들어내는 자기 개선 평가 루프 — 검증 게이트·회귀 테스트를 하나의 TUI/CLI로.

TypeScriptNode.jsLLMCLITUIZodYAMLVitest

DBTower — 이기종 DBMS 운영 관리 플랫폼

다섯 기종(MySQL·PostgreSQL·Oracle·SQL Server·MongoDB)을 하나의 인터페이스 뒤로 추상화한 DB 관제탑. SQL도 JDBC도 없는 MongoDB를 Operator 구현체 하나로 얹었고, 수집·비교·회귀 감지·웹·MCP 코어 경로는 수정 0줄이었음을 실측으로 증명했다.

JavaSpring BootMySQLPostgreSQLSQL ServerOracleMongoDBDBREMCPControl PlaneDocker

코딩테스트 도구

IDE를 떠나지 않고 코딩테스트 문제를 가져오고·테스트하고·제출하는 올인원 플러그인.

KotlinIntelliJ PluginVS Code ExtensionTypeScriptGradle

pay — Spring Modulith 결제 시스템

결제는 실패가 비싼 도메인 — 타임아웃·중복·미확정·정산 불일치가 실제로 아프게 드러난다. PG가 대신 안 해주는 그 빈 공간(실패 설계·정합성·분산 트랜잭션)을 밑바닥부터 직접 만들어보며 배운 학습 프로젝트. 복식부기 원장·정산/대사·체크아웃 사가(PG 콜을 트랜잭션 밖으로)·멀티PG·구독·선불 월렛·회원·분쟁/차지백까지, 실 MySQL 라이브 검증과 자가 감사로 다졌다.

PaymentSpring BootSpring ModulithJava 21MySQLDistributed SystemsLearning

위키엔진

1,425만 건 위키를 자체 검색엔진(Lucene)으로 색인하고, L1 캐시로 반복 부하를 80%+ 걷어낸 뒤 Stateless·읽기/쓰기 분리로 스케일아웃한 통합 검색 플랫폼.

Spring BootLuceneMySQLRedisKafkaDebeziumNginxDockerk6Grafana

IT Oasis

이 블로그 자체 — Astro 5.x로 만든 다국어(KO/EN) 기술 블로그로, View Transitions·다크모드·카테고리/태그 검색까지 직접 구현했다.

AstroTypeScriptTailwindCSSView Transitionsi18n

db-hobby — C로 만든 미니 RDBMS

진짜 psql이 그대로 접속하는 자작 RDBMS — 페이지 한 장에서 MVCC·WAL·비용 기반 옵티마이저·Raft 합의까지, PostgreSQL·MySQL 내부를 C로 바닥부터 재현하고 694개 테스트로 검증했다.

CDatabase InternalsMVCCWALReplicationRaftLSM-TreeDistributed SystemsPostgreSQLLearning

발루노

게임 기획자를 위한 오픈소스 밸런싱 플랫폼 — JSONB 1만 건에서도 시트 조회 p95를 500ms 이하로 유지하고, 멱등 저장·블루/그린 무중단 배포까지 갖췄다.

ReactTypeScriptZustandTailwindCSSVercel

타이미

게이미피케이션으로 집중을 습관으로 만드는 타이머 — 매 아키텍처 결정을 '왜 이 선택인가'까지 15편 연재로 파고든 개인 프로젝트.

Spring BootReact NativeRedisGitHub ActionsLinear

빌려조잉

삼성전자 우수상을 받은 C2C 대여 플랫폼 — 실시간 채팅 병목을 코루틴 전환으로 150ms에서 1ms 미만까지 줄인 6인 팀 프로젝트.

JavaKotlinSpring BootWebSocketRedisMongoDBMySQL

오락가락

내 목소리를 분석해 부를 노래를 추천하는 플랫폼 — 5~30초 걸리던 동기 음성 처리를 Kafka 비동기 파이프라인으로 200ms 응답 + DLQ 실패 복구까지 재설계한 팀 프로젝트.

JavaSpring BootKafkaPrometheusGrafanaAWS S3

관문(gwanmun) — 레거시 전문 ↔ 현대 REST 연계 게이트웨이

20년 된 계정계는 고정길이 전문(電文)+TCP로, 모바일은 JSON+REST로 말한다. 둘 다 못 고치니 중간에 통역기를 세운다 — 전문↔JSON 매핑·TCP↔HTTP 변환(연계)에 인증·라우팅·유량제어(API 게이트웨이)를 한 흐름으로 얹은 미들웨어.

JavaSpring BootTCPAPI GatewayEAIFEP금융IT

에듀밋

청각장애 학습자를 위해 실시간 음성을 자막으로 바꾸는 온라인 교육 플랫폼 — 접근성을 코어 기능으로 설계한 6인 팀 협업 프로젝트.

JavaSpring BootJPAQueryDSLMySQLAWS S3Docker