← Work
MVP2025 - 2026 · Solo Builder· Started(First Commit date)
TransLoop
Double translation 학습 루프를 도구로 만든 외국어 학습 앱 - 원문을 외국어로 번역하고, 며칠 뒤 자기 번역을 다시 모국어로 역번역해 의미 손실을 비교.
- FastAPI
- React
- OpenAI
- Language Learning
스크린샷
프로젝트 목록 - 학습 주제별로 진도(EN→KO 비율)와 상태(active·draft·completed)를 한 화면에
프로젝트 생성 - 이름·설명·원문/번역 언어만 정하면 학습 단위가 만들어진다
프로젝트 안 - 텍스트 카드마다 난이도(Difficulty)와 직전 점수(Score) 노출, "Practise" 한 번으로 입장
Phase 2 - 자기 번역을 다시 원문 언어로 역번역하면서 의미 손실을 직접 본다
Result - 번역(82)·역번역(85) 두 점수를 함께 보여줘 "어디서 의미가 빠졌는지"가 비교된다
AI 피드백 - Strengths·Improvements·Hints·역번역에 보존된 표현까지 항목별로 정리
- Context
외국어 학습에서 잘 알려진 "double translation" 기법(원문 → 외국어 → 모국어 역번역으로 의미 손실을 자기 점검)을 한 도구로 묶음. 2025년에 처음 시작했다가 멈췄고, 다시 풀스택 구조를 잡아 재시동 중.
- What I did
- Backend - FastAPI + SQLAlchemy 2.0 async + Pydantic v2 + OpenAI, alembic 마이그레이션
- Frontend - Vite + React 19 + Tailwind v4 + shadcn + TanStack Query, access/refresh 토큰 인증
- 배포 - 백엔드 Render + Neon Postgres, 프런트 Cloudflare Pages
- Product decisions
- "정답 비교"가 아니라 "자기 번역과 원문의 차이"를 학습 신호로 - 정오답 채점보다 의미 손실을 본인이 보게 만드는 게 학습 깊이를 만든다
- 토큰은 localStorage + 401 시 1회 자동 갱신 후 /login 리디렉션 - 학습 도중 끊김을 최소화
- Outlook
재시동 중. 본인 dogfooding으로 "자기 비교 vs 정답 비교" 차별점 검증.
- Tech stack
- FastAPI
- Python
- SQLAlchemy 2.0 (async)
- Pydantic v2
- OpenAI
- React 19
- TypeScript
- Vite
- Tailwind v4
- TanStack Query