Keep your developer interview process clean, organized, and trackable.
ProcessI is a developer interview tracking app built to solve the real problem of messy interview/application tracking across random notes, tabs, and spreadsheets.
Production URL: https://processi.vercel.app/
Developers often lose visibility on:
- where they applied,
- which interview stage they are in,
- upcoming deadlines,
- and final outcomes.
ProcessI centralizes all of this in one workflow-first dashboard.
The AI layer is intentionally an enhancement on top of the core tracker:
- AI role/job suggestions based on profile + resume context
- AI interview practice questions
The main product goal remains interview/application organization.
- Built for TestSprite Hackathon: https://www.testsprite.com/hackathon
- Testing platform: https://www.testsprite.com
- Built solo (single developer)
| Feature | Description |
|---|---|
| Google OAuth Authentication | Sign in with Google via Better Auth |
| Protected Dashboard | Session-guarded dashboard routes |
| Kanban Interview Tracker | Track applications by stage (Applied, Interview, Offer, Rejected) |
| Profile Management | Maintain bio, stacks, experience, role preference |
| Resume Upload & Parsing | Upload PDF resume and extract text for AI context |
| AI Role Analysis | Match score, demand, salary range, strengths, and gaps |
| AI Interview Practice | Generate 15-question category-based interview sets |
| Technology | Usage |
|---|---|
| Next.js 16 (App Router) | Full-stack framework |
| TypeScript + React 19 | App development |
| Tailwind CSS v4 + shadcn/ui | UI + styling |
| better-auth | Google OAuth authentication |
| Prisma + PostgreSQL | Data modeling and persistence |
| Vercel AI SDK + Google model integration | AI features |
app/
page.tsx # Public home page
(private)/dashboard/* # Protected dashboard routes
api/
auth/[...all]/route.ts # Better Auth handlers
ai/insight/route.ts # Role analysis endpoint
ai/prep/route.ts # Interview question generation
upload/route.ts # Resume upload + PDF parsing
actions/
action.job-application.ts # Server actions for Kanban CRUD
action.profile.ts # Server actions for profile
prisma/
schema.prisma # DB schema
migrations/ # Migration history
utils/
role-agent.ts # AI role suggestion pipeline
question-agent.ts # AI question generation pipeline
prompts.ts # Prompt templates
testsprite_tests/
... # TestSprite plans, reports, and artifacts
/β Landing page
/dashboardβ Overview and activity summary/dashboard/kanbanβ Job application board/dashboard/accountβ Profile + resume upload/dashboard/ai-arenaβ AI tools landing/dashboard/ai-arena/job-suggestionsβ AI role-fit analysis/dashboard/ai-arena/ai-powered-interviewβ AI interview practice
GET/POST /api/auth/[...all]β Better Auth endpointsPOST /api/uploadβ Upload + parse resume PDF, persist in profilePOST /api/ai/insightβ Generate/store role-fit analysisPOST /api/ai/prepβ Generate interview questions by category
User,Session,Account,VerificationProfile(career profile + resume json)JobApplication(Kanban entities)Analysis,Role(AI analysis output)
Enums:
JobStatus:applied | interview | offer | rejectedWorkType:remote | onsite | hybridDemand:High | Medium | Growing | Low
Create a .env file using .sample.env:
# Database
DATABASE_URL=
DIRECT_URL=
# Better Auth
BETTER_AUTH_SECRET=
BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_BETTER_AUTH_URL=http://localhost:3000
# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# AI Provider
GOOGLE_GENERATIVE_AI_API_KEY=DATABASE_URL is used by runtime Prisma adapter, while DIRECT_URL is used for Prisma migration/config workflows.
- Install dependencies
pnpm install- Configure environment
- Copy
.sample.envto.env - Fill all required secrets/URLs
- Run database migrations
pnpm prisma migrate dev- Start app
pnpm devOpen: http://localhost:3000
This project uses TestSprite MCP for AI-assisted test planning/reporting as part of the hackathon workflow.
Artifacts available in this repository:
testsprite_tests/tmp/raw_report.mdtestsprite_tests/testsprite-mcp-test-report.mdtestsprite_tests/testsprite_frontend_test_plan.json
Coverage focus areas include:
- authentication and protected-route access
- dashboard/kanban navigation flows
- profile and upload flows
- AI role analysis and interview practice flows
Notes:
- The app is Google OAuth-first (no local email/password UI flow).
- Test plans should be aligned with OAuth-based auth behavior.
pnpm build
pnpm start- Sign-in is Google OAuth only.
- Access control is enforced in both:
- dashboard layout server checks, and
proxy.tsroute middleware logic.
- Read user profile + resume context from DB
- Send payload to AI role agent
- Upsert
Analysis - Replace related
Rolerows with fresh output
- Accept category list
- Enforce per-client cooldown (5 minutes)
- Generate 15 MCQ questions
- Return normalized payload to UI
- Resume upload endpoint currently accepts PDF only.
- Interview question generation has a 5-minute cooldown.
- No built-in local email/password sign-in flow (OAuth-first).
Built solo by the project author for TestSprite Hackathon.
MIT License.
Β© 2026 ProcessI. All rights reserved by the author under the project license terms.
