Inova Sales Hub
An internal sales platform for Inova IT Systems — proposal pipeline, SLA-aware approval queue, and a points leaderboard.
- Next.js
- TypeScript
- Prisma
- MariaDB
- OpenID Connect SSO
- Nodemailer
- Motion
Screens





Problem
Proposals moved between sales executives and the Sales Lead as spreadsheets and email threads. Nobody could answer the two questions that mattered — what is waiting on approval right now, and what margin are we actually signing — without reconstructing it by hand.
Role
Built the application: SSO auth and session handling, the Prisma schema and queries behind the pipeline, the approval workflow and its email notifications, the leaderboard scoring, and the themed UI.
Key decisions
Margin is computed and shown in the approval queue itself rather than left for the approver to work out from cost and price. An approver scanning a queue makes a decision in a couple of seconds, and a number they have to compute is a number they will skip. Statuses are modelled explicitly — pending, escalated, approved, cancelled — so 'escalated past SLA' is queryable state rather than something inferred from dates.
Challenges
Document ingestion was the fragile part. The NDA review flow parses uploaded PDFs and Word files, and real submissions fail in ways a happy path never shows: unreadable files, missing paths, parser errors mid-pipeline. That pushed every submission onto an explicit status machine with a per-submission audit trail, so a failure surfaces as a recorded reason instead of a document that silently never arrives.
Outcome
Turns a spreadsheet-and-email approval chain into one tracked queue, with margin visible at the point of approval.