제로 예산으로 혼자 Meme Coin을 만들고 있다. 내가 배운 점

발행: (2026년 3월 16일 오전 05:44 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

(번역을 진행하려면 번역하고자 하는 본문 텍스트를 제공해 주세요.)

소개

저는 스쿠터에서 떨어져 코를 부러뜨린 후, 솔라나에서 Motorcycle Diaries ($MOTO)라는 밈코인 프로젝트를 만들기로 결심한 45세 비개발자입니다. 예산이 전혀 없고, 팀도, 투자자도, 암호화폐 인맥도 없었습니다—그저 고집과 많은 밤샘 작업뿐이었죠. 이 글은 토큰 홍보가 아니라, 처음부터 전체 웹 프로젝트를 구축하면서 배운 점들을 정리한 것입니다.

스택 개요

LayerTechnology
Static siteHTML, CSS, vanilla JavaScript (no frameworks)
CDN & securityCloudflare CDN (performance & DDoS protection)
SEOJSON‑LD structured data, Open Graph tags, Twitter Cards, sitemap.xml
AnalyticsGoogle Analytics 4 (GA4) + GA Data API (exposed via /stats command)
PWAmanifest.json, service worker
Telegram botpython-telegram-bot library
BackendFastAPI + Solana wallet integration
DatabaseSQLite (state persistence)
HostingShared hosting for static files, Cloudflare Tunnel for backend, PHP proxy to bridge frontend ↔ backend
DeploymentSystemd service, Cloudflare Tunnel (cloudflared)
MonitoringFxTwitter API for X account, auto‑post new tweets to Telegram, follower‑count tracking
Frontend game5‑reel slot machine with bonus system
Security hardening.htaccess rules, image optimization

프론트엔드

  • 디자인: Bootstrap, Tailwind 등을 사용하지 않고 처음부터 만든 맞춤형 반응형 레이아웃.
  • 성능: 페이지 로드 시간이 700 ms 이하.
  • 이미지 최적화: 원본 36 MB 이미지 폴더를 ImageMagick(resize + quality 80)과 pngquant를 사용해 7 MB로 축소. 로드 시간이 1.8 s에서 0.68 s로 감소.
  • PWA 지원: manifest.json과 서비스 워커를 통해 설치 가능하고 오프라인에서도 동작하는 경험 제공.

샘플 .htaccess 강화

# Prevent clickjacking
Header set X-Frame-Options "DENY"

# Content Security Policy
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline'"

# Enforce HTTPS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

# Cross‑Origin Opener Policy
Header set Cross-Origin-Opener-Policy "same-origin"

# Block common attack vectors
RewriteCond %{QUERY_STRING} (?:\b(?:select|union|insert|delete|drop)\b) [NC,OR]
RewriteCond %{REQUEST_URI} (?:/etc/passwd|/wp-admin|/wp-login) [NC]
RewriteRule ^ - [F,L]

Backend

  • API: FastAPI는 Solana 지갑 통합과 슬롯 머신 로직을 제공합니다.
  • Port restrictions: ISP가 맞춤 포트를 차단했기 때문에, Cloudflare Tunnel(cloudflared)을 사용해 localhost:8901을 공개 HTTPS URL로 노출했습니다.
  • Proxy: 공유 호스팅에 있는 가벼운 PHP 스크립트가 정적 사이트의 요청을 FastAPI 백엔드로 전달합니다.

Telegram Bot

  • 전체 그룹 관리 (밴, 뮤트, 경고, 안티‑플러드)
  • 신규 회원을 위한 캡차 인증 (SafeGuard와 유사)
  • 예약 작업 (일일 분석 보고서)
  • FxTwitter API를 통한 Twitter/X 모니터링
  • 새로운 트윗을 텔레그램 그룹에 자동 게시
  • 팔로워 수 변동 알림과 유머러스한 메시지
  • DM 버튼이 포함된 맞춤 환영 메시지
  • GA4 데이터를 가져와 텔레그램에서 직접 웹사이트 분석을 표시하는 /stats 명령

보안 및 강화

.htaccess 규칙 외에, 나는:

  • 의심스러운 쿼리 문자열 및 알려진 스캐너 사용자 에이전트를 차단했습니다.
  • 엄격한 CSP, HSTS 및 X‑Frame‑Options 를 적용했습니다.
  • 비정상적인 활동에 대해 로그를 정기적으로 감사했습니다.

배운 점

  1. Image compression matters – 간단한 리사이즈/품질 조정만으로도 로드 시간을 크게 단축할 수 있습니다.
  2. Static sites can outperform heavy frameworks – 콘텐츠 중심 마케팅 페이지에서는 정적 사이트가 무거운 프레임워크보다 성능이 뛰어날 수 있습니다.
  3. Cloudflare Tunnel is a lifesaver – ISP 방화벽이 사용자 정의 포트를 차단할 때 Cloudflare Tunnel은 구세주와 같습니다.
  4. Telegram Bot API is surprisingly powerful; 하나의 프로세스로 관리 작업, 분석, 외부 API 통합을 모두 처리할 수 있습니다.
  5. Security can be layered – 적절한 .htaccess 설정만으로도 저렴한 공유 호스팅에서도 보안을 계층화할 수 있습니다.

Resources

  • Website:
  • The Manifesto – 전체 필터링되지 않은 이야기 (사이트에 링크 제공)
  • Telegram Community – 사이트에 있는 링크를 통해 참여하세요
  • X (Twitter): @motodiariesfun

Disclaimer

이것은 재정 조언이 아닙니다. 저는 스쿠터에서 떨어진 뒤 장난을 치기 시작한 사람일 뿐입니다. 혼자 무언가를 만들고자 하는 개발자라면—그냥 시작하세요. 오늘날 사용할 수 있는 도구들은 정말 놀랍습니다.

Born to Ride. Forced to HODL. 🏍️

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.