Proceedings of the PortfolioVol. 2026 · No. 30
Web application · 2026
The PhD journey, from proposal to degree.
Scholar Track: PhD Scholar Tracking Portal
1 Design + Full-stack · Web · September 2026
doi:10.2026/scholar-trackManuscript ST-2026-0030Status: Completed
Abstract—Scholar Track guides a research scholar through four Doctoral Committee reviews and a degree stage, with a two-step approval at every milestone. One portal, three roles, a full audit trail, and an interface that reads like a well-set journal.
Index Terms—3 roles, 1 portal; 5 gated milestones; Server-side audit trail; 12 email notifications.
CCSNext.js → TypeScript → Prisma → PostgreSQL → Design System → Full-stack
| Roles | Scholar · Supervisor · R&D |
|---|---|
| Stages | Proposal → DC1–DC4 → Degree |
| Themes | Light & dark, first-class |


Key results
- x15Milestones with required documents(1)
- x22-stepApproval: supervisor, then R&D(2)
- x312Templated email notifications(3)
- x4100%Server-side gating and audit(4)
I. Overview
Built for a research office, designed like a product
The portal replaces paper files and email threads with a single source of truth. Every transition is enforced on the server, every rejection carries remarks, and every step writes an audit row.
Scholars always know what to do next; supervisors and the R&D section always know what is waiting for them, with live counters in the navigation.

| # | Component | Responsibility |
|---|---|---|
| 01 | Scholar | Registers with a one-time portal key, files the proposal, uploads milestone documents and always sees the next step. |
| 02 | Supervisor | Constitutes the Doctoral Committee, assigns a co-supervisor and approves or returns each application with remarks. |
| 03 | R&D Section | Issues portal keys, allocates supervisors, gives the final approval, records meetings and issues the degree. |
| 04 | Notified at every step | Templated HTML email for onboarding, reviews, allocations, meetings, degrees and password flows. |
| 05 | Files never public | Presigned uploads straight to object storage, then authenticated proxies stream every document. |
| 06 | GitHub-inspired UI | Hairline borders, one accent, semantic state labels and serif headings, in light and dark. |
II. Workflow
Every milestone follows the same rhythm
- DRAFT
- SUBMITTED
- SUPERVISOR_APPROVED
- RND_APPROVED
- MEETING_COMPLETED
II.A The scholar uploads and submits
Each stage lists exactly which documents are required. Uploads go straight to object storage through short-lived signed URLs, with progress, and the application cannot be submitted until every slot is filled.
- (i) Required-document checklist
- (ii) Direct-to-bucket uploads, 10MB, PDF/JPG/PNG
- (iii) Application tracker with dates and remarks
II.B The supervisor reviews
The scholar page puts the proposal, committee, documents and the decision form on one screen. Returning an application requires remarks, which land in the scholar's tracker and inbox.
- (i) Committee picker, 2 to 5 members from the pool
- (ii) Approve, or return with mandatory remarks
- (iii) Email to the scholar and the R&D queue
II.C The R&D section closes the loop
Queues with live counters show what is waiting: supervisor requests, final approvals, and meetings to record. Marking a meeting complete unlocks the next stage; on the last stage it issues the degree.
- (i) Counters in the navigation
- (ii) One click to record a meeting or issue a degree
- (iii) Filterable scholar register with CSV export
II.D And the journey ends with a degree
The scholar's overview turns fully green, the completion record shows the issue date, and the final email congratulates the new doctor.
III. Design system
Light and dark, drawn from the same tokens
A GitHub-inspired system: hairline borders, quiet surfaces, one accent, semantic state colours. Drag the handle to compare.



IV. Responsive
Fits a phone without a separate app
Tabs scroll, tables stack, and the full journey stays readable one-handed.
V. Under the hood
Stack and safeguards
A. Built with
- Next.js 14
- TypeScript
- Prisma
- Neon Postgres
- NextAuth
- Tailwind CSS
- Zod
- S3-compatible storage
- Brevo email
- Vercel
B. Security model
- P1Role-based middleware and server-side stage gating∎
- P2Files streamed through authenticated proxies, never public URLs∎
- P3Presigned uploads verified with HeadObject before recording∎
- P4Hashed portal keys and single-use, expiring reset tokens∎
- P5bcrypt passwords, lockout after failed logins, strict CSP∎
VI. Gallery
Every screen, both roles
Click any frame to open it full size.
- 9.1 Scholar overview
- 9.2 DC2 application
- 9.3 Completed DC1
- 9.4 Proposal
- 9.5 Degree completed
- 9.6 Supervisor dashboard
- 9.7 Supervisor review
- 9.8 R&D overview
- 9.9 Supervisor requests
- 9.10 R&D approvals
- 9.11 Meetings & degrees
- 9.12 Scholar register
- 9.13 Staff pool
- 9.14 DC members
- 9.15 Portal keys
- 9.16 Sign in
- 9.17 Register
- 9.18 Forgot password
VII. Case study
How it was built
Typesetting the manuscript… Read the source.
Conclusion & Availability
Want the code, or the next one?

References
- [1]Krishna Vijay G, “View source,” Scholar Track: PhD Scholar Tracking Portal, 2026. [Online]. Available: github.com/Arkhins-0/scholar
- [2]Krishna Vijay G, “Back to portfolio,” Scholar Track: PhD Scholar Tracking Portal, 2026. [Online]. Available: /#work
- [3]Krishna Vijay G, “Case study (manuscript source),” Scholar Track: PhD Scholar Tracking Portal, 2026. [Online]. Available: /projects/scholar-track/case-study.md
- [4]“Portfolio index,” /#work.