How purvratanpara/jobshield-ai works
JobShield AI is a student-facing demo frontend, not a live fraud-analysis or account service. The main workflow is to enter an offer or recruiter message, receive a browser-side phrase-based example report, and optionally view it in the results screen or local dashboard. Other documented branches provide a safety guide and non-submitting account previews. The shared UI and application error handling are internal layers. Relationships below rely on excerpts, the source index, and README statements; unsampled implementation details are not inferred.
Main entry points: check.tsx Offer checker · site-layout.tsx Site navigation · results.$scanId.tsx Example report · dashboard.tsx Demo dashboard
Components 19
Student experience
- Home screen
src/routes/index.tsx - Offer checker
src/routes/check.tsx - Example report
src/routes/results.$scanId.tsx - Demo dashboard
src/routes/dashboard.tsx - Safety guide
src/routes/safety.tsx - Account preview
src/components/jobshield/auth-preview.tsx
Demo checking
- Phrase scoring
src/lib/jobshield.ts - Browser demo storage
src/lib/jobshield.ts
Shared application
- Router setup
src/router.tsx - Route registry
src/routeTree.gen.ts - Application root
src/routes/__root.tsx - Site navigation
src/components/jobshield/site-layout.tsx - UI primitives
src/components/ui
Error handling
- Error capture
src/lib/error-capture.ts - Error page
src/lib/error-page.ts - Error reporting
src/lib/lovable-error-reporting.ts - Server middleware
src/server.ts - Start middleware
src/start.ts
Other components
- Student
Connections 21
- Student → Home screen: visits
- Home screen → Offer checker: links to
src/routes/index.tsx - Student → Offer checker: submits text
- Offer checker → Phrase scoring: scores phrases
src/routes/check.tsx - Phrase scoring → Browser demo storage: saves reports
src/lib/jobshield.ts - Offer checker → Example report: shows report
- Example report → Phrase scoring: uses report types
src/routes/results.$scanId.tsx - Student → Demo dashboard: opens history
- Demo dashboard → Browser demo storage: reads and clears
src/routes/dashboard.tsx - Student → Safety guide: opens guide
- Student → Account preview: opens preview
- Router setup → Route registry: registers routes
src/router.tsx - Application root → Error reporting: uses reporting
src/routes/__root.tsx - Server middleware → Error capture: uses capture
src/server.ts - Server middleware → Error page: uses error page
src/server.ts - Start middleware → Error page: uses error page
src/start.ts - Offer checker → Site navigation: renders within
src/routes/check.tsx - Demo dashboard → Site navigation: renders within
src/routes/dashboard.tsx - Example report → Site navigation: renders within
src/routes/results.$scanId.tsx - Safety guide → Site navigation: renders within
src/routes/safety.tsx - Account preview → Site navigation: renders within
src/components/jobshield/auth-preview.tsx