DocTranslating
Inspiration
Most document translation tools force a bad trade-off. Consumer tools like Google Translate often mangles formatting and struggles with real documents. Professional translation services are slow, expensive, and built for enterprise procurement, not for someone who needs a 40-page contract or a research paper translated this afternoon with its layout intact.
DocTranslating exists to close that gap: upload a document, get back a translated version that still looks like the original — tables, columns, Arabic and other RTL scripts, and all.
What it does
DocTranslating translates full documents across multiple formats and engines while preserving layout and structure. It handles PDFs (including scanned ones via OCR), code files, and more, routing each job to the right translation engine and reconstructing the output to match the source.
It's built for languages that most tools handle badly — including Arabic and other right-to-left scripts, where correct text direction and rendering are the whole challenge.
How we built it
Astro and React on the frontend, Node.js and Express with PostgreSQL on the backend. Translation runs across multiple engines - DeepL, Google Cloud Translation, Microsoft Azure, and Google Gemini - and the user picks the engine that fits their document and language pair. For the Gemini engine, translation happens page by page so that long documents translate reliably instead of failing as one giant request.
The system is engine-aware: it maps language codes across providers, applies per-engine rules (like DeepL's per-document minimums), and handles partial failures gracefully so a single failed page doesn't sink an entire job. For scanned documents, a Google Cloud Vision OCR pipeline extracts the text and lays an invisible layer back over the page so the output stays searchable.
The AI layer handles the parts that need judgment: chunking long documents, retrying failed pages, recovering from partial failures, and billing accurately based on actual token usage rather than flat estimates.
Challenges we ran into
Arabic and RTL text was the hardest part. Different PDF extraction methods return text in visual order versus logical order, and getting the BiDi handling right so translated Arabic renders correctly — not reversed, not scrambled — took the most iterations.
What's next for DocTranslating
Wider language and format support, faster processing for large documents, and continued improvements to layout fidelity based on how people actually use it.
Log in or sign up for Devpost to join the conversation.