https://github.com/suslmk-lee/eng-workbook
· scanned 2026-06-16 00:26 UTC (2 months, 2 weeks ago)
15 raw signals (0 security + 15 graph)
Last scanned 2 months, 2 weeks ago · v1 · 15 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 320 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
CameraOcr |
software | healthy | src/components/CameraOcr.tsx:CameraOcr |
parseWords |
software | healthy | src/components/CameraOcr.tsx:parseWords |
TtsModeToggle |
software | healthy | src/components/TtsModeToggle.tsx:TtsModeToggle |
select |
software | healthy | src/components/TtsModeToggle.tsx:select |
randomBetween |
software | healthy | src/components/AnswerFeedback.tsx:randomBetween |
AnswerFeedback |
software | healthy | src/components/AnswerFeedback.tsx:AnswerFeedback |
TtsStatusBadge |
software | healthy | src/components/TtsStatusBadge.tsx:TtsStatusBadge |
HomePage |
software | healthy | src/app/page.tsx:HomePage |
RootLayout |
software | healthy | src/app/layout.tsx:RootLayout |
ScoreGauge |
software | healthy | src/app/student/page.tsx:ScoreGauge |
StudentPage |
software | healthy | src/app/student/page.tsx:StudentPage |
loadData |
software | healthy | src/app/student/page.tsx:loadData |
handleSignOut |
software | healthy | src/app/student/page.tsx:handleSignOut |
ExamCard |
software | healthy | src/app/student/page.tsx:ExamCard |
examDone |
software | healthy | src/app/student/page.tsx:examDone |
ModuleCard |
software | healthy | src/app/student/page.tsx:ModuleCard |
done |
software | healthy | src/app/student/page.tsx:done |
ListeningContent |
software | healthy | src/app/student/listening/page.tsx:ListeningContent |
loadWords |
software | healthy | src/app/student/listening/page.tsx:loadWords |
handlePlay |
software | healthy | src/app/student/listening/page.tsx:handlePlay |
handleSubmit |
software | healthy | src/app/student/listening/page.tsx:handleSubmit |
handleNext |
software | healthy | src/app/student/listening/page.tsx:handleNext |
finishExercise |
software | healthy | src/app/student/listening/page.tsx:finishExercise |
handleRetry |
software | healthy | src/app/student/listening/page.tsx:handleRetry |
progress |
software | healthy | src/app/student/listening/page.tsx:progress |
ListeningPage |
software | healthy | src/app/student/listening/page.tsx:ListeningPage |
ScrambleContent |
software | healthy | src/app/student/scramble/page.tsx:ScrambleContent |
loadWords |
software | healthy | src/app/student/scramble/page.tsx:loadWords |
handleLetterClick |
software | healthy | src/app/student/scramble/page.tsx:handleLetterClick |
handleAnswerClick |
software | healthy | src/app/student/scramble/page.tsx:handleAnswerClick |
handleNext |
software | healthy | src/app/student/scramble/page.tsx:handleNext |
finishGame |
software | healthy | src/app/student/scramble/page.tsx:finishGame |
handleRetry |
software | healthy | src/app/student/scramble/page.tsx:handleRetry |
progress |
software | healthy | src/app/student/scramble/page.tsx:progress |
ScramblePage |
software | healthy | src/app/student/scramble/page.tsx:ScramblePage |
normalize |
software | healthy | src/app/student/speaking/page.tsx:normalize |
levenshtein |
software | healthy | src/app/student/speaking/page.tsx:levenshtein |
similarity |
software | healthy | src/app/student/speaking/page.tsx:similarity |
judge |
software | healthy | src/app/student/speaking/page.tsx:judge |
getRecognition |
software | healthy | src/app/student/speaking/page.tsx:getRecognition |
SR |
software | healthy | src/app/student/speaking/page.tsx:SR |
SpeakingContent |
software | healthy | src/app/student/speaking/page.tsx:SpeakingContent |
loadWords |
software | healthy | src/app/student/speaking/page.tsx:loadWords |
startListening |
software | healthy | src/app/student/speaking/page.tsx:startListening |
handleResult |
software | healthy | src/app/student/speaking/page.tsx:handleResult |
handleNext |
software | healthy | src/app/student/speaking/page.tsx:handleNext |
finishExercise |
software | healthy | src/app/student/speaking/page.tsx:finishExercise |
handleRetry |
software | healthy | src/app/student/speaking/page.tsx:handleRetry |
progress |
software | healthy | src/app/student/speaking/page.tsx:progress |
SpeakingPage |
software | healthy | src/app/student/speaking/page.tsx:SpeakingPage |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.local.example |
software | healthy | .env.local.example |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
README.md |
software | healthy | README.md |
tailwind.config.ts |
software | healthy | tailwind.config.ts |
netlify.toml |
software | healthy | netlify.toml |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
tsconfig.json |
software | healthy | tsconfig.json |
next.config.mjs |
software | healthy | next.config.mjs |
BACKLOG.md |
software | healthy | docs/BACKLOG.md |
CameraOcr.tsx |
software | healthy | src/components/CameraOcr.tsx |
TtsModeToggle.tsx |
software | healthy | src/components/TtsModeToggle.tsx |
AnswerFeedback.tsx |
software | healthy | src/components/AnswerFeedback.tsx |
TtsStatusBadge.tsx |
software | healthy | src/components/TtsStatusBadge.tsx |
globals.css |
software | healthy | src/app/globals.css |
page.tsx |
software | healthy | src/app/page.tsx |
layout.tsx |
software | healthy | src/app/layout.tsx |
page.tsx |
software | healthy | src/app/student/page.tsx |
page.tsx |
software | healthy | src/app/student/listening/page.tsx |
page.tsx |
software | healthy | src/app/student/scramble/page.tsx |
page.tsx |
software | healthy | src/app/student/speaking/page.tsx |
page.tsx |
software | healthy | src/app/student/exam/page.tsx |
page.tsx |
software | healthy | src/app/student/quiz/page.tsx |
page.tsx |
software | healthy | src/app/student/battle/page.tsx |
page.tsx |
software | healthy | src/app/student/flashcard/page.tsx |
page.tsx |
software | healthy | src/app/student/spelling/page.tsx |
page.tsx |
software | healthy | src/app/student/speed/page.tsx |
page.tsx |
software | healthy | src/app/student/matching/page.tsx |
page.tsx |
software | healthy | src/app/parent/page.tsx |
page.tsx |
software | healthy | src/app/login/page.tsx |
route.ts |
software | healthy | src/app/api/tts/route.ts |
route.ts |
software | healthy | src/app/api/children/route.ts |
pin-auth.ts |
software | healthy | src/lib/pin-auth.ts |
auth-context.tsx |
software | healthy | src/lib/auth-context.tsx |
api.ts |
software | healthy | src/lib/api.ts |
use-keyboard-open.ts |
software | healthy | src/lib/use-keyboard-open.ts |
sound.ts |
software | healthy | src/lib/sound.ts |
utils.ts |
software | healthy | src/lib/utils.ts |
speech.ts |
software | healthy | src/lib/speech.ts |
supabase-migration-auth.sql |
software | healthy | src/lib/supabase-migration-auth.sql |
supabase-tts-storage.sql |
software | healthy | src/lib/supabase-tts-storage.sql |
supabase.ts |
software | healthy | src/lib/supabase.ts |
supabase-schema.sql |
software | healthy | src/lib/supabase-schema.sql |
types.ts |
software | healthy | src/lib/types.ts |
tts-config.ts |
software | healthy | src/lib/tts-config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
docs |
software | healthy | docs |
src |
software | healthy | src |
components |
software | healthy | src/components |
app |
software | healthy | src/app |
student |
software | healthy | src/app/student |
listening |
software | healthy | src/app/student/listening |
scramble |
software | healthy | src/app/student/scramble |
speaking |
software | healthy | src/app/student/speaking |
exam |
software | healthy | src/app/student/exam |
quiz |
software | healthy | src/app/student/quiz |
battle |
software | healthy | src/app/student/battle |
flashcard |
software | healthy | src/app/student/flashcard |
spelling |
software | healthy | src/app/student/spelling |
speed |
software | healthy | src/app/student/speed |
matching |
software | healthy | src/app/student/matching |
parent |
software | healthy | src/app/parent |
login |
software | healthy | src/app/login |
api |
software | healthy | src/app/api |
tts |
software | healthy | src/app/api/tts |
children |
software | healthy | src/app/api/children |
lib |
software | healthy | src/lib |
| Label | Layer | Status | Path |
|---|---|---|---|
CameraOcr |
frontend | healthy | src/components/CameraOcr.tsx |
TtsModeToggle |
frontend | healthy | src/components/TtsModeToggle.tsx |
AnswerFeedback |
frontend | healthy | src/components/AnswerFeedback.tsx |
TtsStatusBadge |
frontend | healthy | src/components/TtsStatusBadge.tsx |
HomePage |
frontend | healthy | src/app/page.tsx |
RootLayout |
frontend | healthy | src/app/layout.tsx |
StudentPage |
frontend | healthy | src/app/student/page.tsx |
ListeningPage |
frontend | healthy | src/app/student/listening/page.tsx |
ScramblePage |
frontend | healthy | src/app/student/scramble/page.tsx |
SpeakingPage |
frontend | healthy | src/app/student/speaking/page.tsx |
ExamPage |
frontend | healthy | src/app/student/exam/page.tsx |
QuizPage |
frontend | healthy | src/app/student/quiz/page.tsx |
BattlePage |
frontend | healthy | src/app/student/battle/page.tsx |
FlashcardPage |
frontend | healthy | src/app/student/flashcard/page.tsx |
SpellingPage |
frontend | healthy | src/app/student/spelling/page.tsx |
SpeedPage |
frontend | healthy | src/app/student/speed/page.tsx |
MatchingPage |
frontend | healthy | src/app/student/matching/page.tsx |
ParentPage |
frontend | healthy | src/app/parent/page.tsx |
LoginPage |
frontend | healthy | src/app/login/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | src/app/page.tsx |
/student |
frontend | healthy | src/app/student/page.tsx |
/student/listening |
frontend | healthy | src/app/student/listening/page.tsx |
/student/scramble |
frontend | healthy | src/app/student/scramble/page.tsx |
/student/speaking |
frontend | healthy | src/app/student/speaking/page.tsx |
/student/exam |
frontend | healthy | src/app/student/exam/page.tsx |
/student/quiz |
frontend | healthy | src/app/student/quiz/page.tsx |
/student/battle |
frontend | healthy | src/app/student/battle/page.tsx |
/student/flashcard |
frontend | healthy | src/app/student/flashcard/page.tsx |
/student/spelling |
frontend | healthy | src/app/student/spelling/page.tsx |
/student/speed |
frontend | healthy | src/app/student/speed/page.tsx |
/student/matching |
frontend | healthy | src/app/student/matching/page.tsx |
/parent |
frontend | healthy | src/app/parent/page.tsx |
/login |
frontend | healthy | src/app/login/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
profiles |
data | healthy | src/lib/supabase-migration-auth.sql |
parent_child |
data | healthy | src/lib/supabase-migration-auth.sql |
word_sets |
data | healthy | src/lib/supabase-schema.sql |
words |
data | healthy | src/lib/supabase-schema.sql |
learning_records |
data | healthy | src/lib/supabase-schema.sql |
review_schedules |
data | healthy | src/lib/supabase-schema.sql |
rewards |
data | healthy | src/lib/supabase-schema.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-93f5z8iv |
software | healthy | /tmp/repobility-clone-93f5z8iv |
| Label | Layer | Status | Path |
|---|---|---|---|
supabase-migration-auth.sql |
data | healthy | src/lib/supabase-migration-auth.sql |
This page is publicly accessible at:
https://repobility.com/scan/c424a172-ad0b-4305-8693-b0732a95802f/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c424a172-ad0b-4305-8693-b0732a95802f/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.