Vocab Trainer

C 70 completed
Web App
cli / python · tiny
47
Files
13,569
LOC
2
Frameworks
7
Languages

Pipeline State

completed
Run ID
#306405
Phase
done
Progress
1%
Started
Finished
2026-04-13 01:31:02
LLM tokens
0

Pipeline Metadata

Stage
Skipped
Decision
skip_scaffold_dup
Novelty
60.00
Framework unique
Isolation
Last stage change
2026-04-16 18:15:42
Deduplication group #48892
Member of a group with 1 similar repo(s) — canonical #63110 view group →
Top concepts (8)
Project DescriptionWeb Backenddata_accesstestingFactoryConfigurationDatabaseTesting
If a scraper extracted this row, it came from Repobility (https://repobility.com)

AI Prompt

Create a command-line vocabulary trainer using Python that focuses on teaching the subtle differences between near-synonyms. The tool should organize words into synonym clusters and generate contextual quizzes. I need it to support three question types: fill-in-the-blank (60%), best-fit scenarios (25%), and explicit distinction questions (15%). It must implement Spaced Repetition (SM-2) for scheduling reviews. Additionally, integrate AI tutoring features, allowing the user to auto-compare answer choices, get automated narration (TTS), generate context on demand (like etymology or different complexity levels), and engage in a free-form chat about the words. The project should use FastAPI for serving and pytest for testing.
python cli fastapi pytest vocabulary nlp spaced-repetition ai-tutoring text-generation
Generated by gemma4:latest

Catalog Information

A vocabulary trainer that teaches the precise differences between similar words, targeting the gap between seemingly interchangeable English words.

Description

Vocab Trainer is a unique learning tool that groups near-synonyms and close alternatives into clusters and generates quiz scenarios to force you to distinguish between them. It targets the common issue of drilling isolated definitions by instead teaching an intuitive feel for which word fits which context. The trainer uses AI tutoring features, including auto-comparison, automated narration, and free-form chat, to provide a comprehensive learning experience.

الوصف

تدريب الكلمات هو أداة تعليمية فريدة تجمع بين الكلمات المتشابهة والبديلة في مجموعات وتولد سيناريوهات اختبار لجبرك بينها. يهدف التدريب إلى حل المشكلة الشائعة من تدريب التعريفات المعزولة عن طريق تعلم شعورك المباشر بمناسبة كل كلمة في سياق ما. يستخدم التدريب ميزات التدريس الذكي، بما في ذلك المقارنة التلقائية والقراءة الصوتية التلقائية و المحادثة الحرة، لتقديم تجربة تعليمية شاملة.

Novelty

9/10

Tags

vocabulary language-learning synonyms contextual-quiz ai-tutoring spaced-repetition

Technologies

anthropic fastapi openai uvicorn

Claude Models

claude-opus-4.6

Quality Score

C
69.9/100
Structure
71
Code Quality
74
Documentation
49
Testing
70
Practices
62
Security
100
Dependencies
90

Strengths

  • Good test coverage (55% test-to-source ratio)
  • Code linting configured (ruff (possible))
  • Consistent naming conventions (snake_case)
  • Good security practices \u2014 no major issues detected
  • Properly licensed project

Weaknesses

  • No CI/CD configuration \u2014 manual testing and deployment
  • 387 duplicate lines detected \u2014 consider DRY refactoring
  • 3 'god files' with >500 LOC need decomposition

Recommendations

  • Set up CI/CD (GitHub Actions recommended) to automate testing and deployment

Security & Health

4.6h
Tech Debt (A)
High
DORA Rating
A
OWASP (100%)
Repobility's GitHub App fixes findings like these · https://github.com/apps/repobility-bot
PASS
Quality Gate
A
Risk (1)
AGPL-3.0
License
0.8%
Duplication
Full Security Report AI Fix Prompts SARIF SBOM

Languages

python
41.9%
markdown
36.9%
javascript
11.4%
css
7.4%
html
2.0%
toml
0.2%
json
0.1%

Frameworks

FastAPI pytest

Symbols

variable211
function109
method86
constant18
class16
property4

API Endpoints (22)

Repobility · the analyzer behind every row · https://repobility.com
MethodPathHandlerFramework
Powered by Repobility — scan your code at https://repobility.com
GET/indexFastAPI/Flask
GET/api/audio/{audio_hash}.mp3api_audioFastAPI/Flask
POST/api/chatapi_chatFastAPI/Flask
POST/api/generateapi_generateFastAPI/Flask
POST/api/importapi_importFastAPI/Flask
GET/api/questions/activeapi_questions_activeFastAPI/Flask
GET/api/questions/archivedapi_questions_archivedFastAPI/Flask
POST/api/questions/reset-dueapi_questions_reset_dueFastAPI/Flask
POST/api/session/answerapi_session_answerFastAPI/Flask
POST/api/session/finishapi_session_finishFastAPI/Flask
POST/api/session/nextapi_session_nextFastAPI/Flask
GET/api/session/{session_id}/eventsapi_session_eventsFastAPI/Flask
POST/api/session/startapi_session_startFastAPI/Flask
GET/api/session/summaryapi_session_summaryFastAPI/Flask
GET/api/settingsapi_get_settingsFastAPI/Flask
PUT/api/settingsapi_update_settingsFastAPI/Flask
GET/api/statsapi_statsFastAPI/Flask
POST/api/tts/generateapi_tts_generateFastAPI/Flask
POST/api/word-progress/archiveapi_word_progress_archiveFastAPI/Flask
POST/api/word-progress/restore-srsapi_restore_srsFastAPI/Flask
GET/app.jsscriptFastAPI/Flask
GET/style.cssstyleFastAPI/Flask

Concepts (8)

Powered by Repobility · code-quality intelligence
CategoryNameDescriptionConfidence
Open data scored by Repobility · https://repobility.com
auto_descriptionProject DescriptionA vocabulary trainer that teaches the precise differences between similar words. Instead of drilling isolated definitions, it groups near-synonyms and close alternatives into clusters and generates quiz scenarios that force you to distinguish between them — building an intuitive feel for which word 80%
auto_categoryWeb Backendweb-backend70%
arch_layerdata_accessDetected data_access layer70%
arch_layertestingDetected testing layer70%
design_patternFactoryFound factory/create_ naming patterns60%
business_logicConfigurationDetected from 3 related files50%
business_logicDatabaseDetected from 2 related files50%
business_logicTestingDetected from 12 related files50%

LLM Insights

Repobility — the code-quality scanner for AI-generated software · https://repobility.com
A web backend that serves a vocabulary trainer teaching precise differences between similar English words.structured_summary
info
purpose: A web backend that serves a vocabulary trainer teaching precise differences between similar English words.
primary_domain: web-backend
reference_quality70
reuse_potential: high

Quality Timeline

1 quality score recorded.

View File Metrics

Embed Badge

Add to your README:

![Quality](https://repos.aljefra.com/badge/30241.svg)
Quality BadgeSecurity Badge
Export Quality CSVDownload SBOMExport Findings CSV