Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
Sharpenly는 영어·스페인어 이중언어 자동차 인력 교육·평가·채용 소프트웨어
Sharpenly is bilingual (EN/ES) automotive workforce training, assessment, and hiring software. Managers see the whole team's skills gap on one heatmap, auto-assign remediation, and screen candidates —
비즈니스PythonGitHub @djsanti88-sudo온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Showcase of Sharpenly: bilingual EN/ES training platform with a rubric-gated LLM question pipeline. Live app and metrics.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Bilingual training where every AI-generated question passes a quality gate first. An EN/ES learning app, a manager dashboard, and the LLM data-quality pipeline behind ~20,000 questions.
The source of the production app is private. This repo is a curated, read-only showcase: screenshots, a data-quality case study, real sample questions, and trimmed code excerpts.
I built and measured a pipeline that has an LLM write 11,870 bilingual (EN/ES) training questions, then rejects or escalates the weak ones against a written rubric.
python data-quality/run_checks.py (standard library only) validates the 20 samples and shows why the gate uses a proportional length rule: the strict rule flags 17 of 20 good items, the proportional rule flags 0.| Device | Steps |
|---|---|
| iPhone (Safari) | Open the app, tap Share, tap Add to Home Screen. |
| Android (Chrome) | Open the app, open the menu, tap Install app. |
| Desktop (Chrome or Edge) | Click the install icon in the address bar. |
The app works offline after the first load.
| What | Number |
|---|---|
| Bilingual EN/ES questions | 20,308 in 71 bank files |
| Study lessons | 168 across 21 categories |
| Difficulty levels per track | 8 |
| App releases shipped | 174 |
| Python test functions | 458 |
| Cloud Functions | 12 |
| Commits | 730+ |
| Questions the AI pipeline generated in its full batch | 11,870 |
| Accepted by the automated gate / sent to human review / rejected | 10,356 / 451 / 1,063 |
| First pilot acceptance, then after the fix | 14% (7/50), then 84% (21/25) |
The manager dashboard shows who is trained, who is not, and where the skill gaps are. Try it without logging in: https://sharpenlyapp.com/manager-preview.
| Feature | Status |
|---|---|
| Alerts and KPI tiles | Live |
| Skills-gap heatmap (employees by topic; 9 topics in the demo) | Live |
| Training compliance | Live |
| Employee drill-down | Live |
| Team join code, rotate, deactivate | Live |
| CSV export | Live |
| Candidate invite links | Live |
| Candidate report card with fit rating | Live |
| Integrity trust signals (aggregate tab-hidden and paste counts, shown as "review recommended") | Live |
| Proctored stage 2 exam | Live |
| Convert a candidate to an employee | Live |
| Leaderboard | Live |
| English and Spanish, light and dark | Live (the public preview is English only) |
| Auto-remediation assignments | Demo only |
| Stripe billing | Coded, not live |
Screens show the public demo shop with sample data; the names are fictional.
Short quizzes, scenario questions, and lessons built from four typed section primitives: flashcard, hotspot, sequence, scenario. Progress, streaks, and a ranking keep people coming back.
A manager sends an invite link. The candidate takes a timed assessment. The manager gets a report card.
Questions are generated from a curated corpus of automotive reference material. Nothing reaches a learner until it passes a rubric gate and a human check.
flowchart LR
A[Curated corpus of automotive reference material] --> B[Vector index<br/>MiniLM embeddings]
B --> C[Role-filtered retrieval]
C --> D[LLM generation<br/>Claude Sonnet 4.5]
D --> E{Rubric gate}
E -->|accept| G[Bilingual QA]
E -->|review| F[Human review]
E -->|reject| X[Discarded, reason logged]
F --> G
G --> H[8-level staging]
H --> I[App]
sentence-transformers/all-MiniLM-L6-v2, filtered by role so a service-advisor question is grounded in service-advisor material.| Skill | Artifact |
|---|---|
| Defining a quality rubric for training data | data-quality/RUBRIC.md |
| Turning a rubric into an automated gate | data-quality/gate_excerpt.py |
| Bilingual validation (EN/ES alignment) | data-quality/validators_excerpt.py |
| Measuring iteration: pilot, fix, repilot, full batch | data-quality/README.md |
| Failure analysis and prevention rules | data-quality/POSTMORTEM.md |
| Real bilingual samples across roles and levels | data-quality/samples/questions_sample.json |
Headline result: first pilot accepted 14% of items. After tightening the prompt and the gate, a smaller, targeted repilot accepted 84% with 0 rejected, and cost per kept item fell about 4.4x. A later batch where the API reported 617 of 617 requests "succeeded" produced 0 usable questions. That led to one rule: product success, not API success.
| Layer | Stack |
|---|---|
| App | Installable single-file web app (PWA) with offline support, Firebase Realtime Database and Auth, Vercel |
| Site and dashboard | Next.js 16, TypeScript, Tailwind CSS 4, next-intl (EN/ES), Playwright and axe-core |
| Backend | 12 Firebase Cloud Functions (Node 22) |
| Content pipeline | Python, Chroma, sentence-transformers, Claude Sonnet 4.5 |
More detail in docs/ARCHITECTURE.md.
Open to AI data annotation, LLM evaluation, and AI training-data roles.
Copyright (c) 2026 Santiago. See LICENSE.md.