nemokoala

서비스 모음

각 서비스를 왜, 어떻게 만들었는지 정리했습니다. 아키텍처와 기술 스택, 마주친 문제·해결, 앞으로의 계획까지 개발자 관점으로 살펴보세요.

웹 서비스
메인 피드

ImageGen

AI 이미지 생성·공유

Next.js와 여러 이미지 모델을 사용한 AI 이미지 생성 웹 애플리케이션입니다. API·로컬 모델로 이미지를 만들고 공유하며, 좋아요·댓글·프로필까지 지원합니다.

  • DALL·E 3, Google Imagen, Nano Banana 등 API 모델
  • Stable Diffusion XL, Z Image Turbo 등 로컬 모델
  • 생성 이미지 공유, 좋아요·댓글
  • 프로필 조회·수정
Next.js 16React 19TypeScriptTailwind CSSshadcn/uiMySQLPrismaTanStack QueryZustand
자세히 보기
송금 정보 입력

TossMe

토스로 바로 송금

토스 앱으로 바로 송금할 수 있는 딥링크 생성기입니다. 은행·계좌·금액을 입력하면 토스 앱에서 열 수 있는 링크와 QR 코드를 만들고, 링크 복사·QR 저장을 지원합니다.

  • 주요 은행 선택 및 커스텀 은행명
  • 금액 선택 입력, 딥링크·QR 자동 생성
  • 입력 정보 로컬 저장(선택)
Next.js 16React 19TypeScriptTailwind CSSRadix UIqrcode.react
자세히 보기
메인 화면

NemoDrop

가입 없이 파일·메모 공유

로그인 없이 파일이나 텍스트를 빠르게 공유하는 임시 공유 서비스로, 6자리 코드·링크·QR로 받는 사람이 내려받거나 복사할 수 있습니다.

  • 다중 파일 합산 최대 5GB 업로드
  • 짧은 메모부터 큰 텍스트까지 공유
  • 만료 시간·업로드 이력(브라우저)
  • 한국어·영어 UI, ZIP 다운로드
Next.js 16React 19TypeScriptTailwind CSS 4SQLitePrisma 7TanStack Querynext-intl
자세히 보기
데스크탑
오버레이 메인 창

ClipBoard

클립보드 히스토리 매니저

Electron + React + better-sqlite3 로 만든 클립보드 히스토리 데스크탑 앱입니다. 메인 프로세스가 클립보드 변경을 감지해 로컬 SQLite에 영구 저장하고, 전역 단축키로 토글하는 frameless 오버레이 창에서 지난 항목을 검색·고정·재복사합니다. macOS·Windows를 지원합니다.

  • better-sqlite3 로컬 DB에 영구 저장(재시작해도 유지), 보관 기간·개수 자동 정리
  • 전역 단축키 오버레이 창, 포커스 아웃 시 자동 숨김, 숫자키 빠른 복사
  • 고정(즐겨찾기), 라이트·다크·시스템 테마, 트레이 + 로그인 시 자동 실행
Electron 30React 18TypeScriptTailwind CSS 3better-sqlite3electron-storekoffi (FFI)Vite 5electron-builder
자세히 보기

Joint — Electron 이식 검증

Next.js + PWA 를 데스크탑으로

운영 중인 Next.js 웹 서비스를 Electron 데스크탑 앱으로 이식할 수 있는지 검증하려고 만든 프로토타입입니다. 디스코드·슬랙류의 상주형 알림 흐름(WebSocket 상시 연결 → 네이티브 알림 → 클릭 시 해당 방으로 라우팅)을 최소 구성으로 재현해, 이식할 때 실제로 걸림돌이 되는 지점만 골라 확인했습니다. 검증 과정과 선택의 근거는 결정 기록 문서로 따로 정리했습니다.

  • backgroundThrottling: false 로 창을 최소화해도 WebSocket 연결과 타이머가 죽지 않게 유지
  • close 를 종료가 아닌 트레이 숨김으로 처리하고, app.isQuitting 플래그로 완전 종료와 구분
  • contextBridge 로만 렌더러 ↔ 메인을 잇고, 렌더러에서 require 직접 사용은 차단
  • 포커스·현재 방·idle 상태를 서버에 보고해 이미 보고 있는 방의 알림은 생략
ElectronNext.jsTypeScriptWebSocket (ws)Node.js
자세히 보기