Case study · Research team workspace · In development
One workspace for the research team, on the office's own records.
TRACE (Transformative Research Assistant for Collaboration and Engagement) is the workspace I'm building for research teams at UP Manila: projects, tasks, milestones, deliverables, files, notes, budget, procurement and payroll, running on the same Laravel API and the same research records as SURI. Research assistants and principal investigators work in TRACE; the office keeps its system of record.

SURI gives the research office a system of record, but the people doing the research, the assistants and principal investigators, had no shared place for the work itself. Nothing in the data linked an assistant to a project, so "my projects" was guesswork, and tasks, deadlines, deliverables and the documents each phase requires lived in chat threads, spreadsheets and inboxes.
The first version, RACE (Research Assistant Coordination Engine), was a project-management app for research assistants. It grew into TRACE when the scope widened to the whole team: collaboration, documents, budget and procurement in one place, with the office's records underneath rather than a second copy of them.
Personal view
Today, my tasks, my projects, an inbox with read acknowledgements, and Learning, where RGAO's orientation courses now live.
Project workspace
Overview, tasks, timeline, deliverables, files, team, activity feed, shared notes with comments, and metrics, scoped to the project's members.
Office files
Research documents, line-item budget, procurement and monthly payroll submissions, the same records SURI's handlers see, edited through the same rules.
A project in TRACE is a SURI research record. When a project moves to a new phase in SURI, TRACE creates one task per document that phase requires, so the assistant's to-do list is derived from the office's process instead of maintained by hand.
- No second database. Every TRACE table hangs off SURI's research record. Budget lines, procurement stages, disbursements and payroll reuse SURI's own models and services, so an assistant in TRACE and a handler in SURI act on the same data under the same rules.
- Membership is the authorization primitive. A team is not its own entity: an assignment row links a person to a project, every request checks membership, and any member sees the whole team's work. Writes are blocked on projects the office does not manage.
- Invite-only, separate session. An admin or the project's handler issues an email-bound, single-use link valid for 14 days. Sign-in is Google, returning a Sanctum bearer token scoped to TRACE, so a TRACE token can never act as a SURI role.
- Safe concurrent edits. Tasks carry an integer version; a write without one is rejected, and a stale one is refused rather than silently overwriting a teammate.
- One task model. Tasks, milestones and deliverables are one table with a kind, dates and dependencies, which keeps the timeline, the calendar and the dependency checks on a single source.
- Frontend. Vue 3.5, Vite, TypeScript in strict mode, Pinia, vue-router, Tailwind 4, no component library. Three layers: a pure TypeScript domain, stores that can run on mock data or the live API, and views. The workspace refreshes when the window regains focus.
- Backend. Laravel routes under api/v1/race on SURI's API, guarded by Sanctum plus a TRACE-only token ability. Workspace tables for tasks, notes, comments, files, events and read state; budget, procurement, disbursement and payroll endpoints reuse SURI's services, the managed-project middleware and the shared audit log.
- Tests and CI. Frontend: 15 Vitest files with about 94 cases and 4 Playwright specs against a mocked API, run on every push and pull request. Backend: 10 feature test files with about 106 cases covering tasks, documents, budget lines, procurement, tranches, payroll, the workspace and mobile sign-in.
- Deployment. A Cloudflare Worker serving the built static assets with single-page fallback, on a staging test build today. A mobile companion (Expo, React Native) is scaffolded with its own PKCE sign-in.
- Not yet. No email notifications, no AI features, no production deployment. Those are the open items, and the site will say so until they ship.
In active development since July 2026, with a staging build in use for testing. SURI handlers and research assistants are the first users; the data model is being extracted from how the office already runs projects rather than designed in the abstract.
Written by Ruther Bergonia, Software Systems Architect & Senior Full-Stack Engineer, Metro Manila. TRACE is my ongoing work alongside SURI for the UP Manila research office. More about me.
Related case studies
Start here
Have a system worth building properly?
Tell me what you're building and what's getting in the way. I'll come back with an honest read on whether I'm the right fit, and how I'd approach it. Replies within one business day.