https://github.com/regbryan/freelancetracker
· scanned 2026-06-15 23:49 UTC (2 months, 3 weeks ago)
46 raw signals (0 security + 46 graph)
Last scanned 2 months, 3 weeks ago · v1 · 43 actionable findings from 1 signal source. 3 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 734 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 |
|---|---|---|---|
secrets |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts:sec… |
json |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts:json |
error |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts:err… |
getUserId |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts:get… |
isValidRequest |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts:isV… |
secret |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:secret |
secrets |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:secrets |
json |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:json |
error |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:error |
getUserId |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:getUser… |
exchangeCode |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:exchang… |
refreshAccessToken |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:refresh… |
getAccessTokenForUser |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:getAcce… |
gmailFetch |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:gmailFe… |
decodeBase64Url |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:decodeB… |
extractBody |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:extract… |
findPart |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:findPart |
parseMessage |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:parseMe… |
header |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:header |
handleExchange |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleE… |
handleStatus |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleS… |
handleDisconnect |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleD… |
handleSend |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleS… |
attachments |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:attachm… |
handleList |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleL… |
maxResults |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:maxResu… |
handleGet |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleG… |
handleSearch |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:handleS… |
ids |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts:ids |
PageLoader |
software | healthy | freelance-tracker/src/App.tsx:PageLoader |
App |
software | healthy | freelance-tracker/src/App.tsx:App |
CommandPalette |
software | healthy | freelance-tracker/src/components/CommandPalette.tsx:Command… |
matches |
software | healthy | freelance-tracker/src/components/CommandPalette.tsx:matches |
onKey |
software | healthy | freelance-tracker/src/components/CommandPalette.tsx:onKey |
SettingsInsight |
software | healthy | freelance-tracker/src/components/SettingsInsight.tsx:Settin… |
todayPlusDays |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:todayPl… |
InvoiceBuilder |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:Invoice… |
handleOpenChange |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:handleO… |
monthlyRetainerSubtotal |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:monthly… |
toggleEntry |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:toggleE… |
toggleAll |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:toggleA… |
toggleExpense |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:toggleE… |
toggleAllExpenses |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:toggleA… |
handleGenerate |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:handleG… |
formatEntryDate |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx:formatE… |
BottomNav |
software | healthy | freelance-tracker/src/components/BottomNav.tsx:BottomNav |
StatCard |
software | healthy | freelance-tracker/src/components/StatCard.tsx:StatCard |
daysBetween |
software | healthy | freelance-tracker/src/components/TaskInsight.tsx:daysBetween |
TaskInsight |
software | healthy | freelance-tracker/src/components/TaskInsight.tsx:TaskInsight |
formatDate |
software | healthy | freelance-tracker/src/components/ExpenseList.tsx:formatDate |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
FreelanceTracker-Architecture.md |
software | healthy | FreelanceTracker-Architecture.md |
sifive_revops_tasks_seed.sql |
software | healthy | sifive_revops_tasks_seed.sql |
Bough-Design-Philosophy.md |
software | healthy | Bough Brand/Bough-Design-Philosophy.md |
2026-06-12-time-tracking-quicklog.md |
software | healthy | docs/superpowers/plans/2026-06-12-time-tracking-quicklog.md |
2026-06-02-invoice-billing-period-and-company-name.md |
software | healthy | docs/superpowers/plans/2026-06-02-invoice-billing-period-an… |
2026-06-12-client-portal.md |
software | healthy | docs/superpowers/plans/2026-06-12-client-portal.md |
2026-06-12-time-tracking-quicklog-design.md |
software | healthy | docs/superpowers/specs/2026-06-12-time-tracking-quicklog-de… |
2026-06-02-invoice-billing-period-and-company-name-design.md |
software | healthy | docs/superpowers/specs/2026-06-02-invoice-billing-period-an… |
2026-06-12-client-portal-design.md |
software | healthy | docs/superpowers/specs/2026-06-12-client-portal-design.md |
2026-04-03-freelancetracker-design.md |
software | healthy | docs/superpowers/specs/2026-04-03-freelancetracker-design.md |
settings.local.json |
software | healthy | .claude/settings.local.json |
launch.json |
software | healthy | .claude/launch.json |
ci.yml |
software | healthy | .github/workflows/ci.yml |
tsconfig.app.json |
software | healthy | freelance-tracker/tsconfig.app.json |
vite.config.ts |
software | healthy | freelance-tracker/vite.config.ts |
supabase_migration_invoice_period.sql |
software | healthy | freelance-tracker/supabase_migration_invoice_period.sql |
vercel.json |
software | healthy | freelance-tracker/vercel.json |
RUNBOOK.md |
software | healthy | freelance-tracker/RUNBOOK.md |
README.md |
software | healthy | freelance-tracker/README.md |
supabase_migration_gmail_tokens.sql |
software | healthy | freelance-tracker/supabase_migration_gmail_tokens.sql |
supabase_migration_contracts_public_access.sql |
software | healthy | freelance-tracker/supabase_migration_contracts_public_acces… |
package.json |
software | healthy | freelance-tracker/package.json |
tsconfig.node.json |
software | healthy | freelance-tracker/tsconfig.node.json |
index.html |
software | healthy | freelance-tracker/index.html |
package-lock.json |
software | healthy | freelance-tracker/package-lock.json |
supabase_migration_meeting_notes.sql |
software | healthy | freelance-tracker/supabase_migration_meeting_notes.sql |
supabase_migration_rls_security.sql |
software | healthy | freelance-tracker/supabase_migration_rls_security.sql |
supabase_migration_client_portal.sql |
software | healthy | freelance-tracker/supabase_migration_client_portal.sql |
eslint.config.js |
software | healthy | freelance-tracker/eslint.config.js |
tsconfig.json |
software | healthy | freelance-tracker/tsconfig.json |
supabase_migration_monthly_billing.sql |
software | healthy | freelance-tracker/supabase_migration_monthly_billing.sql |
vitest.config.ts |
software | healthy | freelance-tracker/vitest.config.ts |
launch.json |
software | healthy | freelance-tracker/.claude/launch.json |
index.ts |
software | healthy | freelance-tracker/supabase/functions/ai-search/index.ts |
index.ts |
software | healthy | freelance-tracker/supabase/functions/gmail/index.ts |
manifest.json |
software | healthy | freelance-tracker/public/manifest.json |
index.css |
software | healthy | freelance-tracker/src/index.css |
main.tsx |
software | healthy | freelance-tracker/src/main.tsx |
App.tsx |
software | healthy | freelance-tracker/src/App.tsx |
smoke.test.ts |
software | healthy | freelance-tracker/src/test/smoke.test.ts |
setup.ts |
software | healthy | freelance-tracker/src/test/setup.ts |
CommandPalette.tsx |
software | healthy | freelance-tracker/src/components/CommandPalette.tsx |
SettingsInsight.tsx |
software | healthy | freelance-tracker/src/components/SettingsInsight.tsx |
InvoiceBuilder.tsx |
software | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx |
BottomNav.tsx |
software | healthy | freelance-tracker/src/components/BottomNav.tsx |
StatCard.tsx |
software | healthy | freelance-tracker/src/components/StatCard.tsx |
TaskInsight.tsx |
software | healthy | freelance-tracker/src/components/TaskInsight.tsx |
ExpenseList.tsx |
software | healthy | freelance-tracker/src/components/ExpenseList.tsx |
TaskList.tsx |
software | healthy | freelance-tracker/src/components/TaskList.tsx |
InsightBanner.tsx |
software | healthy | freelance-tracker/src/components/InsightBanner.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 | freelance-tracker/src/App.tsx |
CommandPalette |
frontend | healthy | freelance-tracker/src/components/CommandPalette.tsx |
SettingsInsight |
frontend | healthy | freelance-tracker/src/components/SettingsInsight.tsx |
InvoiceBuilder |
frontend | healthy | freelance-tracker/src/components/InvoiceBuilder.tsx |
BottomNav |
frontend | healthy | freelance-tracker/src/components/BottomNav.tsx |
StatCard |
frontend | healthy | freelance-tracker/src/components/StatCard.tsx |
TaskInsight |
frontend | healthy | freelance-tracker/src/components/TaskInsight.tsx |
ExpenseList |
frontend | healthy | freelance-tracker/src/components/ExpenseList.tsx |
TaskList |
frontend | healthy | freelance-tracker/src/components/TaskList.tsx |
InsightBanner |
frontend | healthy | freelance-tracker/src/components/InsightBanner.tsx |
AIForecast |
frontend | healthy | freelance-tracker/src/components/AIForecast.tsx |
CuratorInsight |
frontend | healthy | freelance-tracker/src/components/CuratorInsight.tsx |
WorkTabs |
frontend | healthy | freelance-tracker/src/components/WorkTabs.tsx |
TimeEntryEditDialog |
frontend | healthy | freelance-tracker/src/components/TimeEntryEditDialog.tsx |
OwnerGate |
frontend | healthy | freelance-tracker/src/components/OwnerGate.tsx |
CommunicationFeed |
frontend | healthy | freelance-tracker/src/components/CommunicationFeed.tsx |
SmartInsight |
frontend | healthy | freelance-tracker/src/components/SmartInsight.tsx |
MeetingTopicEditor |
frontend | healthy | freelance-tracker/src/components/MeetingTopicEditor.tsx |
EmailComposer |
frontend | healthy | freelance-tracker/src/components/EmailComposer.tsx |
QuickLogDialog |
frontend | healthy | freelance-tracker/src/components/QuickLogDialog.tsx |
TimeEntryForm |
frontend | healthy | freelance-tracker/src/components/TimeEntryForm.tsx |
Breadcrumbs |
frontend | healthy | freelance-tracker/src/components/Breadcrumbs.tsx |
TopBar |
frontend | healthy | freelance-tracker/src/components/TopBar.tsx |
QuickLogForm |
frontend | healthy | freelance-tracker/src/components/QuickLogForm.tsx |
InvoiceEditDialog |
frontend | healthy | freelance-tracker/src/components/InvoiceEditDialog.tsx |
TaskForm |
frontend | healthy | freelance-tracker/src/components/TaskForm.tsx |
ExpenseForm |
frontend | healthy | freelance-tracker/src/components/ExpenseForm.tsx |
InvoiceInsight |
frontend | healthy | freelance-tracker/src/components/InvoiceInsight.tsx |
SignaturePad |
frontend | healthy | freelance-tracker/src/components/SignaturePad.tsx |
PortalLayout |
frontend | healthy | freelance-tracker/src/components/PortalLayout.tsx |
ClientForm |
frontend | healthy | freelance-tracker/src/components/ClientForm.tsx |
MilestoneWidget |
frontend | healthy | freelance-tracker/src/components/MilestoneWidget.tsx |
Layout |
frontend | healthy | freelance-tracker/src/components/Layout.tsx |
EmailSyncButton |
frontend | healthy | freelance-tracker/src/components/EmailSyncButton.tsx |
CalendarInsight |
frontend | healthy | freelance-tracker/src/components/CalendarInsight.tsx |
TimelineInsight |
frontend | healthy | freelance-tracker/src/components/TimelineInsight.tsx |
Sidebar |
frontend | healthy | freelance-tracker/src/components/Sidebar.tsx |
ContractForm |
frontend | healthy | freelance-tracker/src/components/ContractForm.tsx |
MeetingNoteForm |
frontend | healthy | freelance-tracker/src/components/MeetingNoteForm.tsx |
Timer |
frontend | healthy | freelance-tracker/src/components/Timer.tsx |
TimeEntryList |
frontend | healthy | freelance-tracker/src/components/TimeEntryList.tsx |
BillingTabs |
frontend | healthy | freelance-tracker/src/components/BillingTabs.tsx |
ActionItemRow |
frontend | healthy | freelance-tracker/src/components/ActionItemRow.tsx |
ProjectForm |
frontend | healthy | freelance-tracker/src/components/ProjectForm.tsx |
DonutChart |
frontend | healthy | freelance-tracker/src/components/charts/DonutChart.tsx |
LineChart |
frontend | healthy | freelance-tracker/src/components/charts/LineChart.tsx |
BarChart |
frontend | healthy | freelance-tracker/src/components/charts/BarChart.tsx |
Invoices |
frontend | healthy | freelance-tracker/src/pages/Invoices.tsx |
Timeline |
frontend | healthy | freelance-tracker/src/pages/Timeline.tsx |
Calendar |
frontend | healthy | freelance-tracker/src/pages/Calendar.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/Invoices |
frontend | healthy | freelance-tracker/src/pages/Invoices.tsx |
/Timeline |
frontend | healthy | freelance-tracker/src/pages/Timeline.tsx |
/Calendar |
frontend | healthy | freelance-tracker/src/pages/Calendar.tsx |
/Tasks |
frontend | healthy | freelance-tracker/src/pages/Tasks.tsx |
/Dashboard |
frontend | healthy | freelance-tracker/src/pages/Dashboard.tsx |
/ClientDetail |
frontend | healthy | freelance-tracker/src/pages/ClientDetail.tsx |
/MeetingNoteDetail |
frontend | healthy | freelance-tracker/src/pages/MeetingNoteDetail.tsx |
/ContractSign |
frontend | healthy | freelance-tracker/src/pages/ContractSign.tsx |
/Clients |
frontend | healthy | freelance-tracker/src/pages/Clients.tsx |
/EmailSearch |
frontend | healthy | freelance-tracker/src/pages/EmailSearch.tsx |
/ProjectDetail |
frontend | healthy | freelance-tracker/src/pages/ProjectDetail.tsx |
/Terms |
frontend | healthy | freelance-tracker/src/pages/Terms.tsx |
/Contracts |
frontend | healthy | freelance-tracker/src/pages/Contracts.tsx |
/Privacy |
frontend | healthy | freelance-tracker/src/pages/Privacy.tsx |
/Login |
frontend | healthy | freelance-tracker/src/pages/Login.tsx |
/PortalLogin |
frontend | healthy | freelance-tracker/src/pages/PortalLogin.tsx |
/Settings |
frontend | healthy | freelance-tracker/src/pages/Settings.tsx |
/Portal |
frontend | healthy | freelance-tracker/src/pages/Portal.tsx |
/Expenses |
frontend | healthy | freelance-tracker/src/pages/Expenses.tsx |
/Projects |
frontend | healthy | freelance-tracker/src/pages/Projects.tsx |
/TimeTracker |
frontend | healthy | freelance-tracker/src/pages/TimeTracker.tsx |
/MeetingNotes |
frontend | healthy | freelance-tracker/src/pages/MeetingNotes.tsx |
/sign/:token |
frontend | healthy | freelance-tracker/src/App.tsx |
/privacy |
frontend | healthy | freelance-tracker/src/App.tsx |
/terms |
frontend | healthy | freelance-tracker/src/App.tsx |
/portal |
frontend | healthy | freelance-tracker/src/App.tsx |
/ |
frontend | healthy | freelance-tracker/src/App.tsx |
/clients |
frontend | healthy | freelance-tracker/src/App.tsx |
/clients/:id |
frontend | healthy | freelance-tracker/src/App.tsx |
/projects |
frontend | healthy | freelance-tracker/src/App.tsx |
/projects/:id |
frontend | healthy | freelance-tracker/src/App.tsx |
/tasks |
frontend | healthy | freelance-tracker/src/App.tsx |
/timeline |
frontend | healthy | freelance-tracker/src/App.tsx |
/time |
frontend | healthy | freelance-tracker/src/App.tsx |
/expenses |
frontend | healthy | freelance-tracker/src/App.tsx |
/contracts |
frontend | healthy | freelance-tracker/src/App.tsx |
/invoices |
frontend | healthy | freelance-tracker/src/App.tsx |
/meetings |
frontend | healthy | freelance-tracker/src/App.tsx |
/meetings/:id |
frontend | healthy | freelance-tracker/src/App.tsx |
/emails |
frontend | healthy | freelance-tracker/src/App.tsx |
/calendar |
frontend | healthy | freelance-tracker/src/App.tsx |
/settings |
frontend | healthy | freelance-tracker/src/App.tsx |
* |
frontend | healthy | freelance-tracker/src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
Bough Brand |
software | healthy | Bough Brand |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
.claude |
software | healthy | .claude |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
freelance-tracker |
software | healthy | freelance-tracker |
.claude |
software | healthy | freelance-tracker/.claude |
supabase |
software | healthy | freelance-tracker/supabase |
functions |
software | healthy | freelance-tracker/supabase/functions |
ai-search |
software | healthy | freelance-tracker/supabase/functions/ai-search |
gmail |
software | healthy | freelance-tracker/supabase/functions/gmail |
public |
software | healthy | freelance-tracker/public |
src |
software | healthy | freelance-tracker/src |
test |
software | healthy | freelance-tracker/src/test |
components |
software | healthy | freelance-tracker/src/components |
charts |
software | healthy | freelance-tracker/src/components/charts |
ui |
software | healthy | freelance-tracker/src/components/ui |
lib |
software | healthy | freelance-tracker/src/lib |
pages |
software | healthy | freelance-tracker/src/pages |
hooks |
software | healthy | freelance-tracker/src/hooks |
| Label | Layer | Status | Path |
|---|---|---|---|
supabase_migration_invoice_period.sql |
data | healthy | freelance-tracker/supabase_migration_invoice_period.sql |
supabase_migration_gmail_tokens.sql |
data | healthy | freelance-tracker/supabase_migration_gmail_tokens.sql |
supabase_migration_contracts_public_access.sql |
data | healthy | freelance-tracker/supabase_migration_contracts_public_acces… |
supabase_migration_meeting_notes.sql |
data | healthy | freelance-tracker/supabase_migration_meeting_notes.sql |
supabase_migration_rls_security.sql |
data | healthy | freelance-tracker/supabase_migration_rls_security.sql |
supabase_migration_client_portal.sql |
data | healthy | freelance-tracker/supabase_migration_client_portal.sql |
supabase_migration_monthly_billing.sql |
data | healthy | freelance-tracker/supabase_migration_monthly_billing.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::freelance-tracker/src/hooks/useCalendarAuth.ts |
security | healthy | freelance-tracker/src/hooks/useCalendarAuth.ts |
auth::freelance-tracker/src/hooks/useGmail.ts |
security | healthy | freelance-tracker/src/hooks/useGmail.ts |
auth::freelance-tracker/src/hooks/usePortalData.ts |
security | healthy | freelance-tracker/src/hooks/usePortalData.ts |
auth::freelance-tracker/supabase/functions/ai-search/index.… |
security | healthy | freelance-tracker/supabase/functions/ai-search/index.ts |
auth::freelance-tracker/README.md |
security | healthy | freelance-tracker/README.md |
auth::freelance-tracker/supabase/functions/gmail/index.ts |
security | healthy | freelance-tracker/supabase/functions/gmail/index.ts |
auth::freelance-tracker/src/lib/gmail.ts |
security | healthy | freelance-tracker/src/lib/gmail.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
typecheck |
cicd | healthy | .github/workflows/ci.yml |
lint |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
osv-scan |
cicd | healthy | .github/workflows/ci.yml |
gitleaks |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
public |
data | healthy | freelance-tracker/supabase_migration_gmail_tokens.sql |
meeting_notes |
data | healthy | freelance-tracker/supabase_migration_meeting_notes.sql |
meeting_topics |
data | healthy | freelance-tracker/supabase_migration_meeting_notes.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-7lcjhnpa |
software | healthy | /tmp/repobility-clone-7lcjhnpa |
| Label | Layer | Status | Path |
|---|---|---|---|
AiSearchError |
software | healthy | freelance-tracker/src/lib/aiSearch.ts:AiSearchError |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | freelance-tracker/README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/108c8250-c9a8-4807-b47a-4cae0fd568f5/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/108c8250-c9a8-4807-b47a-4cae0fd568f5/
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.