https://github.com/tengkyuuu/portfolio-website
· scanned 2026-06-16 00:32 UTC (2 months, 2 weeks ago)
21 raw signals (0 security + 21 graph)
Last scanned 2 months, 2 weeks ago · v1 · 21 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 317 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 |
|---|---|---|---|
contentApi |
software | healthy | vite.config.ts:contentApi |
handler |
software | healthy | api/login.ts:handler |
password |
software | healthy | api/login.ts:password |
safeJson |
software | healthy | api/login.ts:safeJson |
handler |
software | healthy | api/health.ts:handler |
isContentShaped |
software | healthy | api/content.ts:isContentShaped |
handler |
software | healthy | api/content.ts:handler |
safeJson |
software | healthy | api/content.ts:safeJson |
sha256Hex |
software | healthy | api/_lib/auth.ts:sha256Hex |
checkPassword |
software | healthy | api/_lib/auth.ts:checkPassword |
expected |
software | healthy | api/_lib/auth.ts:expected |
signToken |
software | healthy | api/_lib/auth.ts:signToken |
verifyToken |
software | healthy | api/_lib/auth.ts:verifyToken |
extractBearer |
software | healthy | api/_lib/auth.ts:extractBearer |
isAuthConfigured |
software | healthy | api/_lib/auth.ts:isAuthConfigured |
client |
software | healthy | api/_lib/store.ts:client |
isStoreConfigured |
software | healthy | api/_lib/store.ts:isStoreConfigured |
getContent |
software | healthy | api/_lib/store.ts:getContent |
setContent |
software | healthy | api/_lib/store.ts:setContent |
clearContent |
software | healthy | api/_lib/store.ts:clearContent |
hasContent |
software | healthy | api/_lib/store.ts:hasContent |
loadEnvLocal |
software | healthy | server/app.mjs:loadEnvLocal |
env |
software | healthy | server/app.mjs:env |
PASSWORD_HASH |
software | healthy | server/app.mjs:PASSWORD_HASH |
issueToken |
software | healthy | server/app.mjs:issueToken |
isValidToken |
software | healthy | server/app.mjs:isValidToken |
requireAuth |
software | healthy | server/app.mjs:requireAuth |
token |
software | healthy | server/app.mjs:token |
tooManyFailures |
software | healthy | server/app.mjs:tooManyFailures |
sha256Hex |
software | healthy | server/app.mjs:sha256Hex |
hashesMatch |
software | healthy | server/app.mjs:hashesMatch |
isContentShaped |
software | healthy | server/app.mjs:isContentShaped |
writeContentAtomic |
software | healthy | server/app.mjs:writeContentAtomic |
useTheme |
software | healthy | src/App.tsx:useTheme |
hashToTab |
software | healthy | src/App.tsx:hashToTab |
useZoom |
software | healthy | src/App.tsx:useZoom |
setZoom |
software | healthy | src/App.tsx:setZoom |
onWheel |
software | healthy | src/App.tsx:onWheel |
PortfolioDoc |
software | healthy | src/App.tsx:PortfolioDoc |
bump |
software | healthy | src/App.tsx:bump |
onKey |
software | healthy | src/App.tsx:onKey |
onHash |
software | healthy | src/App.tsx:onHash |
App |
software | healthy | src/App.tsx:App |
Nav |
software | healthy | src/components/Nav.tsx:Nav |
onDown |
software | healthy | src/components/Nav.tsx:onDown |
onKey |
software | healthy | src/components/Nav.tsx:onKey |
shareLink |
software | healthy | src/components/Nav.tsx:shareLink |
MenuItem |
software | healthy | src/components/Nav.tsx:MenuItem |
Contact |
software | healthy | src/components/Contact.tsx:Contact |
copyEmail |
software | healthy | src/components/Contact.tsx:copyEmail |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.ts |
software | healthy | vite.config.ts |
vercel.json |
software | healthy | vercel.json |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
tsconfig.node.json |
software | healthy | tsconfig.node.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
login.ts |
software | healthy | api/login.ts |
health.ts |
software | healthy | api/health.ts |
content.ts |
software | healthy | api/content.ts |
auth.ts |
software | healthy | api/_lib/auth.ts |
store.ts |
software | healthy | api/_lib/store.ts |
gen-og.mjs |
software | healthy | scripts/gen-og.mjs |
002_realtime.sql |
software | healthy | supabase/migrations/002_realtime.sql |
001_site_content.sql |
software | healthy | supabase/migrations/001_site_content.sql |
app.mjs |
software | healthy | server/app.mjs |
index.mjs |
software | healthy | server/index.mjs |
index.css |
software | healthy | src/index.css |
main.tsx |
software | healthy | src/main.tsx |
vite-env.d.ts |
software | healthy | src/vite-env.d.ts |
App.tsx |
software | healthy | src/App.tsx |
Nav.tsx |
software | healthy | src/components/Nav.tsx |
Contact.tsx |
software | healthy | src/components/Contact.tsx |
About.tsx |
software | healthy | src/components/About.tsx |
Skills.tsx |
software | healthy | src/components/Skills.tsx |
TabLoader.tsx |
software | healthy | src/components/TabLoader.tsx |
TabSkeleton.tsx |
software | healthy | src/components/TabSkeleton.tsx |
Footer.tsx |
software | healthy | src/components/Footer.tsx |
Certifications.tsx |
software | healthy | src/components/Certifications.tsx |
BackgroundGrid.tsx |
software | healthy | src/components/BackgroundGrid.tsx |
Projects.tsx |
software | healthy | src/components/Projects.tsx |
Marquee.tsx |
software | healthy | src/components/Marquee.tsx |
ModelViewer.tsx |
software | healthy | src/components/ModelViewer.tsx |
Hero.tsx |
software | healthy | src/components/Hero.tsx |
SectionLabel.tsx |
software | healthy | src/components/ui/SectionLabel.tsx |
DeviceMockup.tsx |
software | healthy | src/components/ui/DeviceMockup.tsx |
inline.tsx |
software | healthy | src/lib/inline.tsx |
api.ts |
software | healthy | src/lib/api.ts |
auth.ts |
software | healthy | src/lib/auth.ts |
content.ts |
software | healthy | src/lib/content.ts |
supabase-client.ts |
software | healthy | src/lib/supabase-client.ts |
image.ts |
software | healthy | src/lib/image.ts |
utils.ts |
software | healthy | src/lib/utils.ts |
tab-ready.ts |
software | healthy | src/lib/tab-ready.ts |
data.ts |
software | healthy | src/lib/data.ts |
realtime.ts |
software | healthy | src/lib/realtime.ts |
ResumePage.tsx |
software | healthy | src/pages/ResumePage.tsx |
AdminPage.tsx |
software | healthy | src/pages/AdminPage.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/ResumePage |
frontend | healthy | src/pages/ResumePage.tsx |
/AdminPage |
frontend | healthy | src/pages/AdminPage.tsx |
/admin/ContactEditor |
frontend | healthy | src/pages/admin/ContactEditor.tsx |
/admin/ProjectsEditor |
frontend | healthy | src/pages/admin/ProjectsEditor.tsx |
/admin/HeroEditor |
frontend | healthy | src/pages/admin/HeroEditor.tsx |
/admin/CredentialsEditor |
frontend | healthy | src/pages/admin/CredentialsEditor.tsx |
/admin/ToolsPanel |
frontend | healthy | src/pages/admin/ToolsPanel.tsx |
/admin/ImageField |
frontend | healthy | src/pages/admin/ImageField.tsx |
/admin/SkillsEditor |
frontend | healthy | src/pages/admin/SkillsEditor.tsx |
/admin/useEditableSection |
frontend | healthy | src/pages/admin/useEditableSection.ts |
/admin/ui |
frontend | healthy | src/pages/admin/ui.tsx |
/admin/AboutEditor |
frontend | healthy | src/pages/admin/AboutEditor.tsx |
/admin/PasswordGate |
frontend | healthy | src/pages/admin/PasswordGate.tsx |
/admin/AdminLayout |
frontend | healthy | src/pages/admin/AdminLayout.tsx |
/admin/GalleryField |
frontend | healthy | src/pages/admin/GalleryField.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
api |
software | healthy | api |
_lib |
software | healthy | api/_lib |
scripts |
software | healthy | scripts |
supabase |
software | healthy | supabase |
migrations |
software | healthy | supabase/migrations |
server |
software | healthy | server |
src |
software | healthy | src |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
lib |
software | healthy | src/lib |
pages |
software | healthy | src/pages |
admin |
software | healthy | src/pages/admin |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /api/health |
api | healthy | server/app.mjs |
POST /api/login |
api | healthy | server/app.mjs |
GET /api/content |
api | healthy | server/app.mjs |
PUT /api/content |
api | healthy | server/app.mjs |
DELETE /api/content |
api | healthy | server/app.mjs |
| Label | Layer | Status | Path |
|---|---|---|---|
002_realtime.sql |
data | healthy | supabase/migrations/002_realtime.sql |
001_site_content.sql |
data | healthy | supabase/migrations/001_site_content.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-x44h6pjn |
software | healthy | /tmp/repobility-clone-x44h6pjn |
| Label | Layer | Status | Path |
|---|---|---|---|
site_content |
data | healthy | supabase/migrations/001_site_content.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
This page is publicly accessible at:
https://repobility.com/scan/e6c63f74-bcc3-419d-82e4-1be62cdb4c72/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/e6c63f74-bcc3-419d-82e4-1be62cdb4c72/
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.