https://github.com/sulaibragim/techAI
· scanned 2026-06-16 00:25 UTC (2 months, 2 weeks ago)
83 raw signals (0 security + 83 graph)
Last scanned 2 months, 2 weeks ago · v1 · 83 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 518 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 |
|---|---|---|---|
resolveMonthlyTarget |
software | healthy | settingsStore.ts:resolveMonthlyTarget |
pushToServer |
software | healthy | settingsStore.ts:pushToServer |
migrateOldSettings |
software | healthy | settingsStore.ts:migrateOldSettings |
toRad |
software | healthy | geoUtils.ts:toRad |
haversineMiles |
software | healthy | geoUtils.ts:haversineMiles |
approxEtaMinutes |
software | healthy | geoUtils.ts:approxEtaMinutes |
formatMiles |
software | healthy | geoUtils.ts:formatMiles |
getDriveEta |
software | healthy | dispatchMessage.ts:getDriveEta |
getRouteInfo |
software | healthy | dispatchMessage.ts:getRouteInfo |
getWeather |
software | healthy | dispatchMessage.ts:getWeather |
etaPhrase |
software | healthy | dispatchMessage.ts:etaPhrase |
tipFor |
software | healthy | dispatchMessage.ts:tipFor |
rain |
software | healthy | dispatchMessage.ts:rain |
buildOnMyWayMessage |
software | healthy | dispatchMessage.ts:buildOnMyWayMessage |
name |
software | healthy | dispatchMessage.ts:name |
profileKey |
software | healthy | vehicleKeyStore.ts:profileKey |
readCache |
software | healthy | geocoding.ts:readCache |
writeCache |
software | healthy | geocoding.ts:writeCache |
geocodeAddress |
software | healthy | geocoding.ts:geocodeAddress |
key |
software | healthy | geocoding.ts:key |
getDynamicDate |
software | healthy | store.ts:getDynamicDate |
makeId |
software | healthy | store.ts:makeId |
markJobPending |
software | healthy | store.ts:markJobPending |
hasPendingJobWrite |
software | healthy | store.ts:hasPendingJobWrite |
pushJobToServer |
software | healthy | store.ts:pushJobToServer |
updateJobOnServer |
software | healthy | store.ts:updateJobOnServer |
deleteJobOnServer |
software | healthy | store.ts:deleteJobOnServer |
upsertPartOnServer |
software | healthy | store.ts:upsertPartOnServer |
deletePartOnServer |
software | healthy | store.ts:deletePartOnServer |
gotPaid |
software | healthy | store.ts:gotPaid |
useVisibleJobs |
software | healthy | store.ts:useVisibleJobs |
useAIActions |
software | healthy | store.ts:useAIActions |
handleAction |
software | healthy | store.ts:handleAction |
api |
software | healthy | authStore.ts:api |
syncUsersFromServer |
software | healthy | authStore.ts:syncUsersFromServer |
useCurrentUser |
software | healthy | authStore.ts:useCurrentUser |
visibleTabsFor |
software | healthy | authStore.ts:visibleTabsFor |
sendSms |
software | healthy | smsService.ts:sendSms |
getToken |
software | healthy | apiClient.ts:getToken |
setToken |
software | healthy | apiClient.ts:setToken |
authHeaders |
software | healthy | apiClient.ts:authHeaders |
parseLocal |
software | healthy | dateUtils.ts:parseLocal |
formatTimestamp |
software | healthy | dateUtils.ts:formatTimestamp |
formatDate |
software | healthy | dateUtils.ts:formatDate |
monthKey |
software | healthy | financialUtils.ts:monthKey |
isRevenueJob |
software | healthy | financialUtils.ts:isRevenueJob |
revenueDateStr |
software | healthy | financialUtils.ts:revenueDateStr |
isSale |
software | healthy | financialUtils.ts:isSale |
completedJobsInMonth |
software | healthy | financialUtils.ts:completedJobsInMonth |
calculatePeriodMetrics |
software | healthy | financialUtils.ts:calculatePeriodMetrics |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
index.css |
software | healthy | index.css |
settingsStore.ts |
software | healthy | settingsStore.ts |
geoUtils.ts |
software | healthy | geoUtils.ts |
vite.config.ts |
software | healthy | vite.config.ts |
dispatchMessage.ts |
software | healthy | dispatchMessage.ts |
README.md |
software | healthy | README.md |
vehicleKeyStore.ts |
software | healthy | vehicleKeyStore.ts |
geocoding.ts |
software | healthy | geocoding.ts |
CLAUDE.md |
software | healthy | CLAUDE.md |
tailwind.config.js |
software | healthy | tailwind.config.js |
store.ts |
software | healthy | store.ts |
priceBook.ts |
software | healthy | priceBook.ts |
package.json |
software | healthy | package.json |
authStore.ts |
software | healthy | authStore.ts |
index.html |
software | healthy | index.html |
smsService.ts |
software | healthy | smsService.ts |
apiClient.ts |
software | healthy | apiClient.ts |
index.tsx |
software | healthy | index.tsx |
constants.ts |
software | healthy | constants.ts |
package-lock.json |
software | healthy | package-lock.json |
dateUtils.ts |
software | healthy | dateUtils.ts |
tsconfig.json |
software | healthy | tsconfig.json |
financialUtils.ts |
software | healthy | financialUtils.ts |
vehicleKeyLookup.ts |
software | healthy | vehicleKeyLookup.ts |
App.tsx |
software | healthy | App.tsx |
metadata.json |
software | healthy | metadata.json |
translateService.ts |
software | healthy | translateService.ts |
backendUrl.ts |
software | healthy | backendUrl.ts |
geminiService.ts |
software | healthy | geminiService.ts |
types.ts |
software | healthy | types.ts |
postcss.config.js |
software | healthy | postcss.config.js |
railway.json |
software | healthy | railway.json |
clientUtils.ts |
software | healthy | clientUtils.ts |
README.md |
software | healthy | prd/README.md |
01-workroom-dashboard.md |
software | healthy | prd/pages/01-workroom-dashboard.md |
09-job-wizard.md |
software | healthy | prd/pages/09-job-wizard.md |
11-settings.md |
software | healthy | prd/pages/11-settings.md |
02-jobs-list.md |
software | healthy | prd/pages/02-jobs-list.md |
05-analytics.md |
software | healthy | prd/pages/05-analytics.md |
08-job-detail.md |
software | healthy | prd/pages/08-job-detail.md |
04-call-history.md |
software | healthy | prd/pages/04-call-history.md |
03-messages-inbox.md |
software | healthy | prd/pages/03-messages-inbox.md |
07-ai-brain.md |
software | healthy | prd/pages/07-ai-brain.md |
10-voice-assistant.md |
software | healthy | prd/pages/10-voice-assistant.md |
06-inventory.md |
software | healthy | prd/pages/06-inventory.md |
api-inventory.md |
software | healthy | prd/appendix/api-inventory.md |
enum-dictionary.md |
software | healthy | prd/appendix/enum-dictionary.md |
page-relationships.md |
software | healthy | prd/appendix/page-relationships.md |
settings-spec.md |
software | healthy | prd/specs/settings-spec.md |
settings-spec.test.ts |
software | healthy | prd/specs/settings-spec.test.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
USE /api |
api | healthy | server/index.js |
USE /api/auth/login |
api | healthy | server/index.js |
USE /api/jobs/inbound |
api | healthy | server/index.js |
GET /health |
api | healthy | server/index.js |
USE /openphone |
api | healthy | server/index.js |
USE /api/openphone |
api | healthy | server/index.js |
USE /api/auth |
api | healthy | server/index.js |
USE /api/settings |
api | healthy | server/index.js |
USE /api/ai |
api | healthy | server/index.js |
USE /api/jobs |
api | healthy | server/index.js |
USE /api/inventory |
api | healthy | server/index.js |
USE /api/admin |
api | healthy | server/index.js |
USE /api/geocode |
api | healthy | server/index.js |
USE /api/dispatch |
api | healthy | server/index.js |
GET / |
api | healthy | server/routes/settings.js |
PUT / |
api | healthy | server/routes/settings.js |
POST / |
api | healthy | server/routes/leads.js |
POST /reset |
api | healthy | server/routes/admin.js |
GET /status |
api | healthy | server/routes/ai.js |
POST /generate |
api | healthy | server/routes/ai.js |
POST /live-token |
api | healthy | server/routes/ai.js |
POST /login |
api | healthy | server/routes/auth.js |
GET /users |
api | healthy | server/routes/auth.js |
GET /users/:id |
api | healthy | server/routes/auth.js |
POST /users |
api | healthy | server/routes/auth.js |
PUT /users/:id |
api | healthy | server/routes/auth.js |
DELETE /users/:id |
api | healthy | server/routes/auth.js |
POST /master-reset |
api | healthy | server/routes/auth.js |
POST /sync |
api | healthy | server/routes/inventory.js |
PUT /:id |
api | healthy | server/routes/inventory.js |
DELETE /:id |
api | healthy | server/routes/inventory.js |
GET /route |
api | healthy | server/routes/dispatch.js |
GET /weather |
api | healthy | server/routes/dispatch.js |
POST /webhook |
api | healthy | server/routes/openphone.js |
GET /calls |
api | healthy | server/routes/openphone.js |
GET /messages |
api | healthy | server/routes/openphone.js |
POST /messages/send |
api | healthy | server/routes/openphone.js |
GET /phone-numbers |
api | healthy | server/routes/openphone.js |
GET /pending-jobs |
api | healthy | server/routes/openphone.js |
DELETE /pending-jobs/:callId |
api | healthy | server/routes/openphone.js |
| Label | Layer | Status | Path |
|---|---|---|---|
prd |
software | healthy | prd |
pages |
software | healthy | prd/pages |
appendix |
software | healthy | prd/appendix |
specs |
software | healthy | prd/specs |
components |
software | healthy | components |
.claude |
software | healthy | .claude |
server |
software | healthy | server |
middleware |
software | healthy | server/middleware |
routes |
software | healthy | server/routes |
services |
software | healthy | server/services |
public |
software | healthy | public |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::server/routes/auth.js |
security | healthy | server/routes/auth.js |
auth::server/middleware/auth.js |
security | healthy | server/middleware/auth.js |
auth::apiClient.ts |
security | healthy | apiClient.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
GeminiVoiceAssistant |
software | healthy | geminiService.ts:GeminiVoiceAssistant |
ErrorBoundary |
software | healthy | components/ErrorBoundary.tsx:ErrorBoundary |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | package-lock.json |
postgresql |
data | healthy | server/index.js |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-twnsj27u |
software | healthy | /tmp/repobility-clone-twnsj27u |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | App.tsx |
This page is publicly accessible at:
https://repobility.com/scan/91ab3864-2a38-44ee-8aa5-dbf0bef96cc1/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/91ab3864-2a38-44ee-8aa5-dbf0bef96cc1/
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.