https://github.com/suncoastpoolpros/website
· scanned 2026-06-16 00:25 UTC (2 months, 2 weeks ago)
75 raw signals (0 security + 75 graph)
Last scanned 2 months, 2 weeks ago · v1 · 48 actionable findings from 1 signal source. 27 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 679 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 |
|---|---|---|---|
hides |
software | healthy | functions/api/contact.ts:hides |
onRequestPost |
software | healthy | functions/api/contact.ts:onRequestPost |
handlePost |
software | healthy | functions/api/contact.ts:handlePost |
onRequest |
software | healthy | functions/api/contact.ts:onRequest |
json |
software | healthy | functions/api/contact.ts:json |
isAllowedOrigin |
software | healthy | functions/api/contact.ts:isAllowedOrigin |
allowList |
software | healthy | functions/api/contact.ts:allowList |
readBoundedText |
software | healthy | functions/api/contact.ts:readBoundedText |
verifyTurnstile |
software | healthy | functions/api/contact.ts:verifyTurnstile |
data |
software | healthy | functions/api/contact.ts:data |
sendViaResend |
software | healthy | functions/api/contact.ts:sendViaResend |
submissionLabels |
software | healthy | functions/api/contact.ts:submissionLabels |
composeSubject |
software | healthy | functions/api/contact.ts:composeSubject |
composeBody |
software | healthy | functions/api/contact.ts:composeBody |
humanizeService |
software | healthy | functions/api/contact.ts:humanizeService |
humanizeKey |
software | healthy | functions/api/contact.ts:humanizeKey |
safe |
software | healthy | functions/api/contact.ts:safe |
safeTag |
software | healthy | functions/api/contact.ts:safeTag |
sleep |
software | healthy | functions/api/contact.ts:sleep |
escapeHtml |
software | healthy | functions/api/contact.ts:escapeHtml |
onRequestPost |
software | healthy | functions/api/admin/login.ts:onRequestPost |
onRequest |
software | healthy | functions/api/admin/login.ts:onRequest |
reads |
software | healthy | functions/api/admin/_shared.ts:reads |
json |
software | healthy | functions/api/admin/_shared.ts:json |
isAllowedOrigin |
software | healthy | functions/api/admin/_shared.ts:isAllowedOrigin |
allowList |
software | healthy | functions/api/admin/_shared.ts:allowList |
readBoundedText |
software | healthy | functions/api/admin/_shared.ts:readBoundedText |
verifyTurnstile |
software | healthy | functions/api/admin/_shared.ts:verifyTurnstile |
data |
software | healthy | functions/api/admin/_shared.ts:data |
b64urlFromBytes |
software | healthy | functions/api/admin/_shared.ts:b64urlFromBytes |
b64urlEncodeString |
software | healthy | functions/api/admin/_shared.ts:b64urlEncodeString |
importHmacKey |
software | healthy | functions/api/admin/_shared.ts:importHmacKey |
hmacB64url |
software | healthy | functions/api/admin/_shared.ts:hmacB64url |
timingSafeEqual |
software | healthy | functions/api/admin/_shared.ts:timingSafeEqual |
signSession |
software | healthy | functions/api/admin/_shared.ts:signSession |
verifySession |
software | healthy | functions/api/admin/_shared.ts:verifySession |
serializeSessionCookie |
software | healthy | functions/api/admin/_shared.ts:serializeSessionCookie |
clearSessionCookie |
software | healthy | functions/api/admin/_shared.ts:clearSessionCookie |
readCookie |
software | healthy | functions/api/admin/_shared.ts:readCookie |
requireSession |
software | healthy | functions/api/admin/_shared.ts:requireSession |
sleep |
software | healthy | functions/api/admin/_shared.ts:sleep |
sendViaResend |
software | healthy | functions/api/admin/_shared.ts:sendViaResend |
onRequestGet |
software | healthy | functions/api/admin/session.ts:onRequestGet |
onRequestDelete |
software | healthy | functions/api/admin/session.ts:onRequestDelete |
onRequest |
software | healthy | functions/api/admin/session.ts:onRequest |
onRequestPost |
software | healthy | functions/api/admin/send-proposal.ts:onRequestPost |
onRequest |
software | healthy | functions/api/admin/send-proposal.ts:onRequest |
formatPrice |
software | healthy | functions/api/admin/send-proposal.ts:formatPrice |
composeProposalEmail |
software | healthy | functions/api/admin/send-proposal.ts:composeProposalEmail |
sanitizeFilename |
software | healthy | functions/api/admin/send-proposal.ts:sanitizeFilename |
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 |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
DEPLOY.md |
software | healthy | DEPLOY.md |
tsconfig.json |
software | healthy | tsconfig.json |
metadata.json |
software | healthy | metadata.json |
contact.ts |
software | healthy | functions/api/contact.ts |
login.ts |
software | healthy | functions/api/admin/login.ts |
_shared.ts |
software | healthy | functions/api/admin/_shared.ts |
session.ts |
software | healthy | functions/api/admin/session.ts |
send-proposal.ts |
software | healthy | functions/api/admin/send-proposal.ts |
nav-repro.mjs |
software | healthy | scripts/nav-repro.mjs |
shot.mjs |
software | healthy | scripts/shot.mjs |
nav-check.mjs |
software | healthy | scripts/nav-check.mjs |
popup-repro.mjs |
software | healthy | scripts/popup-repro.mjs |
find-btn.mjs |
software | healthy | scripts/find-btn.mjs |
trace-drawer.mjs |
software | healthy | scripts/trace-drawer.mjs |
subset-fonts.mjs |
software | healthy | scripts/subset-fonts.mjs |
measure-mobile.mjs |
software | healthy | scripts/measure-mobile.mjs |
orient-test.mjs |
software | healthy | scripts/orient-test.mjs |
trace-timing.mjs |
software | healthy | scripts/trace-timing.mjs |
prerender.mjs |
software | healthy | scripts/prerender.mjs |
tap-test.mjs |
software | healthy | scripts/tap-test.mjs |
SKILL.md |
software | healthy | .claude/skills/seo/SKILL.md |
index.css |
software | healthy | src/index.css |
entry-server.tsx |
software | healthy | src/entry-server.tsx |
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 |
Services.tsx |
software | healthy | src/components/Services.tsx |
SmartLink.tsx |
software | healthy | src/components/SmartLink.tsx |
QuoteChooser.tsx |
software | healthy | src/components/QuoteChooser.tsx |
BelleairHeroPhone.tsx |
software | healthy | src/components/BelleairHeroPhone.tsx |
Testimonials.tsx |
software | healthy | src/components/Testimonials.tsx |
StickyMobileCta.tsx |
software | healthy | src/components/StickyMobileCta.tsx |
PoolIcons.tsx |
software | healthy | src/components/PoolIcons.tsx |
ServiceAreasMenu.tsx |
software | healthy | src/components/ServiceAreasMenu.tsx |
QuoteForm.tsx |
software | healthy | src/components/QuoteForm.tsx |
FAQ.tsx |
software | healthy | src/components/FAQ.tsx |
SnellIsleHeroPhone.tsx |
software | healthy | src/components/SnellIsleHeroPhone.tsx |
Container.tsx |
software | healthy | src/components/Container.tsx |
TreasureIslandHeroPhone.tsx |
software | healthy | src/components/TreasureIslandHeroPhone.tsx |
FormField.tsx |
software | healthy | src/components/FormField.tsx |
Glass.tsx |
software | healthy | src/components/Glass.tsx |
FeatureGrid.tsx |
software | healthy | src/components/FeatureGrid.tsx |
Process.tsx |
software | healthy | src/components/Process.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/StPeteBeachBelowFold |
frontend | healthy | src/pages/StPeteBeachBelowFold.tsx |
/ToolsPage |
frontend | healthy | src/pages/ToolsPage.tsx |
/PrivacyPolicyPage |
frontend | healthy | src/pages/PrivacyPolicyPage.tsx |
/PoolVolumeCalculatorPage |
frontend | healthy | src/pages/PoolVolumeCalculatorPage.tsx |
/CloudyPoolWaterPage |
frontend | healthy | src/pages/CloudyPoolWaterPage.tsx |
/SnellIslePage |
frontend | healthy | src/pages/SnellIslePage.tsx |
/SignupPage |
frontend | healthy | src/pages/SignupPage.tsx |
/CareersPage |
frontend | healthy | src/pages/CareersPage.tsx |
/BelleairBeachBelowFold |
frontend | healthy | src/pages/BelleairBeachBelowFold.tsx |
/largoFaqs |
frontend | healthy | src/pages/largoFaqs.ts |
/ClearwaterPage |
frontend | healthy | src/pages/ClearwaterPage.tsx |
/LandingPage |
frontend | healthy | src/pages/LandingPage.tsx |
/SaltWaterVsChlorinePage |
frontend | healthy | src/pages/SaltWaterVsChlorinePage.tsx |
/FaqPage |
frontend | healthy | src/pages/FaqPage.tsx |
/SeminolePage |
frontend | healthy | src/pages/SeminolePage.tsx |
/VariableSpeedPumpsPage |
frontend | healthy | src/pages/VariableSpeedPumpsPage.tsx |
/TreasureIslandPage |
frontend | healthy | src/pages/TreasureIslandPage.tsx |
/LargoPage |
frontend | healthy | src/pages/LargoPage.tsx |
/belleairBeachFaqs |
frontend | healthy | src/pages/belleairBeachFaqs.ts |
/PoolCarePage |
frontend | healthy | src/pages/PoolCarePage.tsx |
/seminoleFaqs |
frontend | healthy | src/pages/seminoleFaqs.ts |
/HowItWorksPage |
frontend | healthy | src/pages/HowItWorksPage.tsx |
/BelleairBeachPage |
frontend | healthy | src/pages/BelleairBeachPage.tsx |
/AdminPage |
frontend | healthy | src/pages/AdminPage.tsx |
/SnellIsleBelowFold |
frontend | healthy | src/pages/SnellIsleBelowFold.tsx |
/DrainPoolPage |
frontend | healthy | src/pages/DrainPoolPage.tsx |
/clearwaterFaqs |
frontend | healthy | src/pages/clearwaterFaqs.ts |
/treasureIslandFaqs |
frontend | healthy | src/pages/treasureIslandFaqs.ts |
/LargoBelowFold |
frontend | healthy | src/pages/LargoBelowFold.tsx |
/stPeteBeachFaqs |
frontend | healthy | src/pages/stPeteBeachFaqs.ts |
/ServiceAgreementPage |
frontend | healthy | src/pages/ServiceAgreementPage.tsx |
/snellIsleFaqs |
frontend | healthy | src/pages/snellIsleFaqs.ts |
/PoolHeatingCostCalculatorPage |
frontend | healthy | src/pages/PoolHeatingCostCalculatorPage.tsx |
/StPeteBeachPage |
frontend | healthy | src/pages/StPeteBeachPage.tsx |
/GreenPoolPage |
frontend | healthy | src/pages/GreenPoolPage.tsx |
/CyanuricAcidPage |
frontend | healthy | src/pages/CyanuricAcidPage.tsx |
/SeminoleBelowFold |
frontend | healthy | src/pages/SeminoleBelowFold.tsx |
/NotFoundPage |
frontend | healthy | src/pages/NotFoundPage.tsx |
/ClearwaterBelowFold |
frontend | healthy | src/pages/ClearwaterBelowFold.tsx |
/ContactPage |
frontend | healthy | src/pages/ContactPage.tsx |
/NitratesPage |
frontend | healthy | src/pages/NitratesPage.tsx |
/PoolSmellPage |
frontend | healthy | src/pages/PoolSmellPage.tsx |
/TreasureIslandBelowFold |
frontend | healthy | src/pages/TreasureIslandBelowFold.tsx |
/PoolServiceVsDiyPage |
frontend | healthy | src/pages/PoolServiceVsDiyPage.tsx |
/ |
frontend | healthy | src/entry-server.tsx |
/belleair-beach-fl |
frontend | healthy | src/entry-server.tsx |
/treasure-island-fl |
frontend | healthy | src/entry-server.tsx |
/st-pete-beach-fl |
frontend | healthy | src/entry-server.tsx |
/snell-isle-fl |
frontend | healthy | src/entry-server.tsx |
/seminole-fl |
frontend | healthy | src/entry-server.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
BelleairHeroPhone |
frontend | healthy | src/components/BelleairHeroPhone.tsx |
SnellIsleHeroPhone |
frontend | healthy | src/components/SnellIsleHeroPhone.tsx |
TreasureIslandHeroPhone |
frontend | healthy | src/components/TreasureIslandHeroPhone.tsx |
StPeteBeachHeroPhone |
frontend | healthy | src/components/StPeteBeachHeroPhone.tsx |
SeminoleCoverageMap |
frontend | healthy | src/components/SeminoleCoverageMap.tsx |
StPeteBeachBelowFold |
frontend | healthy | src/pages/StPeteBeachBelowFold.tsx |
BelleairBeachBelowFold |
frontend | healthy | src/pages/BelleairBeachBelowFold.tsx |
SnellIsleBelowFold |
frontend | healthy | src/pages/SnellIsleBelowFold.tsx |
LargoBelowFold |
frontend | healthy | src/pages/LargoBelowFold.tsx |
SeminoleBelowFold |
frontend | healthy | src/pages/SeminoleBelowFold.tsx |
ClearwaterBelowFold |
frontend | healthy | src/pages/ClearwaterBelowFold.tsx |
TreasureIslandBelowFold |
frontend | healthy | src/pages/TreasureIslandBelowFold.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
functions |
software | healthy | functions |
api |
software | healthy | functions/api |
admin |
software | healthy | functions/api/admin |
scripts |
software | healthy | scripts |
.claude |
software | healthy | .claude |
skills |
software | healthy | .claude/skills |
seo |
software | healthy | .claude/skills/seo |
src |
software | healthy | src |
components |
software | healthy | src/components |
admin |
software | healthy | src/components/admin |
lib |
software | healthy | src/lib |
pages |
software | healthy | src/pages |
| Label | Layer | Status | Path |
|---|---|---|---|
ChunkErrorBoundary |
software | healthy | src/components/ChunkErrorBoundary.tsx:ChunkErrorBoundary |
toggle |
software | healthy | src/components/Navbar.tsx:toggle |
that |
software | healthy | src/lib/useOverlayTransition.ts:that |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-fhb1gtdv |
software | healthy | /tmp/repobility-clone-fhb1gtdv |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::droplet |
hardware | healthy | src/pages/PoolVolumeCalculatorPage.tsx |
This page is publicly accessible at:
https://repobility.com/scan/c1e96569-08c2-4d0c-b579-9d177abbbe62/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c1e96569-08c2-4d0c-b579-9d177abbbe62/
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.