Skip to main content
강홍재/ James
← Work
MVP2025 - 2026 · Solo Builder· Started(First Commit date)

TransLoop

A language-learning app built around the double-translation loop - translate the source into the foreign language, then days later back-translate your own version to your mother tongue and compare what's lost.

  • FastAPI
  • React
  • OpenAI
  • Language Learning
Screenshots
  • Projects list - per-topic progress (EN→KO ratio) and state (active / draft / completed) on one screen

  • Create project - name, description, source and target language; that's a learning unit

  • Inside a project - each text card surfaces its difficulty and last score; one Practise click enters the loop

  • Phase 2 - back-translate your own version to the source language and see the semantic drift firsthand

  • Result - showing both the translation (82) and back-translation (85) makes the semantic gap visible

  • AI feedback - Strengths, Improvements, Hints, and what survived the back-translation, broken down per category

Context

Packages the well-known double-translation method (source → foreign language → back-translation to mother tongue, used as self-checked semantic loss) into a tool. Started in 2025, paused, now restarting on a full-stack structure.

What I did
  • Backend - FastAPI + SQLAlchemy 2.0 async + Pydantic v2 + OpenAI, alembic migrations
  • Frontend - Vite + React 19 + Tailwind v4 + shadcn + TanStack Query, access/refresh token auth
  • Deploy - backend on Render + Neon Postgres, frontend on Cloudflare Pages
Product decisions
  • Use "the gap between your translation and the source" as the learning signal instead of "compare to the right answer" - seeing the semantic loss yourself goes deeper than scoring correctness
  • Tokens in localStorage with a one-shot auto-refresh on 401 before falling back to /login - to minimize interruptions mid-session
Outlook

Restarting. Personal dogfooding is testing the "self-comparison vs answer-comparison" hypothesis.

Tech stack
  • FastAPI
  • Python
  • SQLAlchemy 2.0 (async)
  • Pydantic v2
  • OpenAI
  • React 19
  • TypeScript
  • Vite
  • Tailwind v4
  • TanStack Query