2lazzzy

귀찮은 개발자 / 2lazzzy

귀찮으니까, 만든다

@2_lazzzy

같은 일을,매일.

DAY 365

…귀찮다

그러니까 한 번 만들어 두면,

  1. every("07:00", 브리핑)2lazzzy 자동화
  2. on("음악", 영상_굽기)Looply
  3. push("main", 배포)Coolify 배포

07:00매일 아침 첫 브리핑

05.1automation.todah.dev

2lazzzy 자동화

AI 개발 소식을 모아서 텔레그램으로 보내고, 승인하면 Threads에 올려 주는 개인 자동화 서버

원래매일 AI 소식을 찾아 읽고, 정리해서 글 쓰기

이제하루 세 번 텔레그램으로 소식이 오고, 버튼 한 번이면 Threads 초안까지 나와요

  • RSS/Atom, Hacker News, GitHub 릴리스를 모아 07:00, 11:30, 18:00에 텔레그램으로 소식 목록을 보내요
  • 아이디어 버튼을 누르면 Claude가 Threads 초안을 쓰고, 미리보기와 승인을 거쳐야만 게시돼요
  • 27개 테이블의 워크플로 모델과 pg-boss 작업 큐로, 예약 게시가 딱 한 번만 실행되게 했어요
  • 기본은 dry-run이에요. 실제 게시는 스위치 두 개를 모두 켜야 나가요
  • TypeScript
  • Node.js 22
  • Fastify
  • PostgreSQL
  • Drizzle
  • pg-boss
  • Playwright
  • Telegram Bot
  • Threads API
  • Claude
2lazzzy 비서예시
  1. 오늘
  2. 07:00 아침 브리핑

    • 예시새 에이전트 SDK 릴리스GitHub
    • 예시오픈소스 모델 업데이트 소식RSS
    • 예시HN에서 화제인 글 하나HN
    07:00
  3. 11:30 점심 브리핑

    • 예시코딩 도구에 생긴 새 기능RSS
    • 예시릴리스 노트 한 줄 요약GitHub
    11:30
  4. 18:00 저녁 브리핑

    • 예시에이전트 평가 방법 이야기HN
    • 예시프롬프트 캐싱 실험기RSS
    18:00
  5. 오늘의 글감

    1. 1예시: 에이전트 SDK로 일정 정리해 보기
    2. 2예시: 릴리스 노트 빨리 읽는 법
    18:01
  6. Threads 초안 미리보기 예시

    요즘 에이전트 SDK로 하루 일정을 정리해 보고 있어요. 매일 손으로 하던 걸 한 번 만들어 두니까, 아침이 조금 조용해졌어요.

    071/500

    18:02
  7. Threads에 올렸어요

    2lazzzy방금

    요즘 에이전트 SDK로 하루 일정을 정리해 보고 있어요. 매일 손으로 하던 걸 한 번 만들어 두니까, 아침이 조금 조용해졌어요.

    18:05
  1. 07:00아침 브리핑
  2. 11:30점심 브리핑
  3. 18:00저녁 브리핑
  4. 18:02Threads 초안
  5. 18:05승인 후 게시

2lazzzyThreads게시됨

요즘 에이전트 SDK로 하루 일정을 정리해 보고 있어요. 매일 손으로 하던 걸 한 번 만들어 두니까, 아침이 조금 조용해졌어요.

Coolify집에 있는 서버의 Coolify가 Docker Compose로 API와 워커, PostgreSQL을 함께 띄워요→커밋 82

0근거 없는 숫자

05.2brief.todah.dev

마켓 브리프

전날 미국 시장의 핵심 변화만 모으고 검증해서, 승인 후 Threads와 Instagram에 올리는 마켓 브리프

원래아침마다 미국 증시 뉴스를 뒤져서 요약하기

이제밤사이 시장 변화를 모으고 검증해서, 승인만 누르면 Threads 타래로 올라가요

  • 전날 미국 시장의 핵심 변화만 모으고, 근거 없는 숫자나 원인은 만들지 않아요
  • Threads 500자 제한에 맞춰 시장 이야기, 대형주, Hot Stocks 단위로 타래를 나눠요
  • 텔레그램에서 승인하기 전에는 아무것도 게시되지 않아요
  • Threads와 Instagram의 게시 상태와 외부 ID를 따로 저장해요
  • TypeScript
  • Fastify
  • PostgreSQL
  • Drizzle
  • sharp
  • Claude
  • Telegram Bot
  • Threads API
스레드예시
  1. 2lazzzy초안게시됨

    어제 미국 시장, 핵심만

    밤사이 달라진 것만 세 갈래로 나눠서 정리했어요.

    040/500

  2. 2lazzzy초안게시됨

    시장 이야기

    지수 흐름과 금리 이야기 가운데, 근거가 확인된 것만 짧게 묶어요.

    037/500

  3. 2lazzzy초안게시됨

    대형주

    시가총액이 큰 종목들의 움직임을 한 줄씩 정리해요. 원인은 확인된 것만 써요.

    043/500

  4. 2lazzzy초안게시됨

    Hot Stocks

    거래가 몰린 종목만 골라서 짚어요. 오늘의 급등주

    근거 없는 숫자는 안 써요

    034/500

Coolify자동화 서버와 코드, DB, 스케줄러를 하나도 공유하지 않는 독립 서비스로 Coolify에 올렸어요→커밋 39

37코드로 만든 영상 프로젝트

05.3link.2lazzzy.com

LazyPublish

HTML로 영상을 만들고, 사람이 확인하고 승인한 뒤 SNS에 올리는 (반)자동 콘텐츠 플랫폼

원래영상 편집하고, 캡션 쓰고, 플랫폼마다 따로 올리기

이제영상을 코드로 만들고, 대시보드에서 확인한 뒤 Instagram, Threads, YouTube로 보내요

  • 영상 하나가 HTML 한 장이에요. GSAP 타임라인을 프레임 단위로 렌더해서 MP4로 뽑아요
  • 대시보드에서 화면 확인, 최종 렌더, 캡션, 게시까지 한 흐름으로 이어져요
  • 계정을 여러 개 두고 Instagram, Threads, YouTube에 나눠 올려요
  • 이 사이트의 모티브가 된 영상 "귀찮으니까, 만든다"도 이걸로 만들었어요
  • HyperFrames
  • GSAP
  • Node.js
  • FFmpeg
  • Claude
  • Instagram API
  • Threads API
  • YouTube API
  • Cloudflare Workers
LazyPublish 흐름: HTML과 GSAP로 쓴 영상 코드를 렌더하면 영상이 되고, 사람이 확인하고 승인하면 Instagram, Threads, YouTube로 올라가요. 가운데 휴대폰에서 이 사이트의 모티브가 된 실제 영상 "귀찮으니까, 만든다"를 재생할 수 있어요.

이 사이트의 모티브가 된 영상

눌러서 재생00:00 / 00:20

로컬대시보드는 내 맥에서 돌고, 댓글로 받는 자료실만 Cloudflare Workers에 올려요→커밋 101

2h한 번에 굽는 영상 길이

05.4looply.todah.dev

Looply

음악과 이미지를 긴 플레이리스트 MP4 하나로 만들어 주는 웹 앱

원래편집 프로그램을 켜고, 2시간짜리 플레이리스트 영상 굽기

이제음악과 이미지를 올리고 시간만 정하면, 서버가 알아서 MP4를 구워요

  • MP3, M4A, WAV, MP4 음악을 순서대로 잇고, 이미지는 정한 시각에 바꿔요
  • 최대 2시간, 1920x1080 H.264/AAC로 출력해요. 실제 7,198초 영상으로 검증했어요
  • SQLite 작업 큐와 별도 워커라서 브라우저를 닫아도 계속 만들어요
  • 인코딩 중에 프로세스가 죽어도 다음 워커가 정리하고 이어 가요
  • React
  • Vite
  • TypeScript
  • Node.js 24
  • FFmpeg
  • SQLite
Looply 실제 화면 위에 타임라인 예시를 얹었어요. 음악 4곡을 순서대로 잇고, 배경 이미지 3장이 00:00:00, 01:15:00, 01:48:20에 바뀌는 2시간짜리 영상이에요. 재생 위치를 끌거나 화살표 키로 옮기면 미리보기 색이 바뀌고, 마지막에 1920x1080 MP4로 구워져요.
Looply 실제 화면: 미리보기와 타임라인
타임라인
Coolify웹, API, 워커를 한 이미지로 묶어 Coolify에 올렸어요→커밋 8

14눌러 볼 수 있는 키보드

05.5keyspace.todah.dev

KEYSPACE

소재와 움직임이 다른 키보드 14개를 3D로 눌러 보는 타이핑 놀이터

원래귀찮아서 만든 건 아니에요키보드 사고 싶은 마음 참기

이제14가지 키보드를 웹에서 눌러 보고, 30초 타자 기록으로 겨뤄요

  • 소재와 움직임이 다른 75% 키보드 14개를 Three.js로 만들었어요
  • Playground에서 실제로 타이핑하면 화면 속 키가 같이 눌려요
  • 30초 Challenge는 서버가 입력 이력을 다시 계산해서 순위를 매겨요
  • 한국어와 영어 순위를 따로 집계해요
  • React
  • Three.js
  • Vite
  • Fastify
  • SQLite
  • Vitest
  • Playwright
KEYSPACE Playground 화면: Start typing. 문구 아래 크림색 키캡과 주황 esc 키가 달린 75% 키보드 3D 모델
Coolify화면과 API를 한 서비스로 묶고, 기록은 영구 볼륨의 SQLite에 남겨요→커밋 8

24자리 비밀 편지 코드

05.6red-postbox.todah.dev

사랑의 우체통

좋아하는 마음을 한 장씩 담아 두는 3D 우체통

원래귀찮아서 만든 건 아니에요좋아하는 마음을 말로 꺼내기

이제3D 우체통에 편지를 넣고, 공개 하트나 비밀 코드로 전해요

  • 편지를 보내면 종이가 말리고 접혀서 우체통으로 날아 들어가요
  • 공개 편지는 화면 양옆의 하트가 되고, 누르면 읽을 수 있어요
  • 비밀 편지는 24자리 코드를 아는 사람만 열 수 있어요
  • 서버 저장이 확인된 뒤에만 연출이 재생돼요
  • React Three Fiber
  • Three.js
  • GSAP
  • Node.js
  • SQLite
사랑의 우체통 첫 화면: 연한 분홍 배경에 빨간 3D 우체통이 서 있고 왼쪽에 하트가 떠 있어요

공개 편지 (예시)덕분에 오늘 많이 웃었어요.

예시 편지비밀 편지

To. 너에게

오늘도 고마워요.

말로 하긴 쑥스러워서 여기 넣어 둘게요.

누르면 우체통으로 날아가요
CoolifyNode 기본 HTTP 서버와 SQLite만으로 돌아가서 Coolify에 Dockerfile 하나로 올렸어요→커밋 6

18:00만드는 방식

이 영상도, 이 사이트도,코드로.

  1. 말로 설명하고

    원하는 걸 Claude Code에 말로 설명해요.

  2. 같이 짜고

    코드는 AI랑 같이 써요.

  3. 확인은 직접

    테스트, 스크린샷, 실제 결과물로 확인해요. Looply는 2시간짜리 영상을 실제로 구워서 확인했어요.

  4. push 한 번이면 배포

    GitHub에 올리면 집 서버의 Coolify가 알아서 배포해요.

git push한 번 하면 생기는 일
  1. 코드
  2. git push
  3. GitHub
  4. Coolify (집 서버)
  5. *.todah.dev
비서실장bot방금비서실장: KEYSPACE 배포 끝났어요keyspace.todah.dev

배포가 끝나면 텔레그램 봇이 이렇게 알려 줘요 (예시)

서비스
6개
커밋
244개
첫 커밋부터
26일

커밋과 날짜는 각 저장소의 git 기록 기준이에요.

자주 쓰는 도구

  • Claude Code
  • GitHub
  • Docker
  • Coolify
  • Traefik
  • Tailscale
  • Cloudflare
  • Telegram
  • Astro

그동안 나는,쉰다.

지금도 돌아가는 중 (*.todah.dev)

귀찮으니까, 만든다.

2lazzzy

귀찮은 개발자

@2_lazzzy