Marat Khusainov
ServiceWord

ServiceWord

WebWeb App

Web app for generating legal procurement documents from templates

Next.jsTypeScriptDocker
Open Website

Screenshots

ServiceWord screenshot 1ServiceWord screenshot 2

Client

Small business that regularly prepares procurement documentation (government contracts). They were filling in 4 DOCX templates manually for each tender, which took hours and was error-prone.

Problem

Each procurement requires 4 legal documents (notice, draft notice, tender requirements, draft contract) with 40+ fields. Many fields repeat across documents. Manual filling takes 2-3 hours, and a single typo in INN, KPP, or contract number can invalidate the entire package. Russian grammar adds complexity: names and positions must be declined to genitive case, numbers must be written out in words.

Solution

Next.js 16 web app with docxtemplater for DOCX generation. Tab-based form with shared fields across 4 templates. Client-side validation with regex patterns for INN (10-12 digits), KPP (9 digits), OKPD2 codes, notice numbers (19 digits). Auto-fill system: petrovich library for Russian grammatical declension (FIO to genitive, position to genitive, organization name shortening). Number-to-words conversion for contract amounts. Conditional blocks in templates for optional clauses. API endpoint generates all 4 documents in parallel, packages them into a ZIP archive, returns for download. Docker deployment.

Results

  • +Document generation time: from 2-3 hours to 5 minutes
  • +4 templates generated simultaneously in one click
  • +Auto-declension of Russian names, positions, organizations
  • +Validation prevents invalid INN, KPP, contract numbers
  • +Used daily by the client for government procurement

Role & timeline

Solo Full-Stack Developer. Next.js, docxtemplater, Docker. 3 weeks

Need something similar?

Let's discuss your project
All projects