AWS Builder Center
Building Anukriti EvidenceOps: A Pharmacogenomics Compliance Dashboard with Amazon DynamoDB and Vercel

Building Anukriti EvidenceOps: A Pharmacogenomics Compliance Dashboard with Amazon DynamoDB and Vercel

How I built a clinical pharmacogenomics review and audit platform using Next.js 16, Vercel, and Amazon DynamoDB. The project focuses on deterministic PGx workflows, immutable audit trails, and audit-ready exports for biotech and CRO teams.

Student @College of Engineering Karunagappally
This article was created as part of my submission to the H0: Hack the Zero Stack with Vercel v0 and AWS Databases Hackathon. #H0Hackathon

Introduction

Pharmacogenomics (PGx) helps researchers understand how genetic variation affects drug response. While deterministic PGx engines can generate clinically relevant recommendations, there is still a major operational challenge:
How do biotech and CRO teams review, audit, approve, and operationalize those results at scale?
Most workflows today rely on spreadsheets, emails, PDFs, and fragmented documentation. Reviewer decisions are difficult to trace, audit histories are scattered, and exporting study-ready evidence packages often becomes a manual process.
To address this problem, I built Anukriti EvidenceOps, a governance and review platform for pharmacogenomics programs powered by Amazon DynamoDB and Vercel.

What Anukriti EvidenceOps Does

Anukriti EvidenceOps is designed for translational medicine teams, clinical researchers, and CRO reviewers.
The platform allows users to:
  • Import pharmacogenomics cohort results
  • Review deterministic PGx calls
  • Examine evidence sufficiency and rule provenance
  • Record reviewer decisions
  • Maintain immutable audit trails
  • Generate audit-ready exports
  • Track compliance activity across studies
A core principle of the system is:
No LLM-generated medical decisions.
Every recommendation displayed in the application originates from deterministic pharmacogenomic rules and reviewer actions, making the workflow transparent, reproducible, and auditable.

System Architecture

Architecture Diagram
The application is built as a full-stack Next.js platform deployed on Vercel with Amazon DynamoDB serving as the primary operational datastore.

Frontend

  • Next.js 16 App Router
  • React 19
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

AWS Services

  • Amazon DynamoDB
  • AWS IAM
  • AWS SDK for JavaScript v3
Future export workflows are designed to extend into:
  • DynamoDB Streams
  • Amazon EventBridge
  • AWS Lambda
  • Amazon S3

Why I Chose DynamoDB

The data model is heavily driven by access patterns.
The application needs to support queries such as:
  • List projects
  • Retrieve cohort samples
  • Fetch evidence reviews
  • Display decision queues
  • Show audit history
  • Generate compliance exports
Rather than creating separate tables for every entity, I used a single-table DynamoDB design.
This approach keeps related data together while allowing efficient queries using carefully designed partition keys, sort keys, and secondary indexes.

EvidenceOps Table

EntityPKSK
ProjectPROJECT#idMETA
CohortPROJECT#idCOHORT#cohortId
SampleCOHORT#idSAMPLE#sampleId
PGx RunSAMPLE#idRUN#latest
RuleRULE#idMETA
Audit EventAUDIT#entityIdEVENT#timestamp#id
This structure allows most application screens to be backed by a single Query or GetItem operation.

Using Global Secondary Indexes

Two Global Secondary Indexes power the application's secondary access patterns.

GSI1

Used for:
  • Decision queues
  • Entity listings
  • Global audit feed
Examples:
1
2
3
DECISION#approved
DECISION#needs-review
DECISION#excluded
This allows reviewers to instantly view samples requiring attention.

GSI2

Used for:
1
Sample-by-ID lookup
This supports direct navigation and sample retrieval regardless of cohort hierarchy.

Reviewer Decisions as DynamoDB Updates

One of the most important workflows in the application is recording reviewer decisions.
When a reviewer marks a sample as:
  • Approved
  • Needs Review
  • Excluded
  • Follow-Up Required
The system performs an UpdateItem operation that:
  1. Updates the decision state
  2. Records reviewer metadata
  3. Increments the review version
  4. Re-indexes the sample into the correct decision queue
This makes decision queues self-maintaining without requiring additional infrastructure.

Building an Immutable Audit Trail

Healthcare workflows require traceability.
Rather than modifying existing audit entries, every action generates a new append-only event.
Examples include:
  • reviewer.decision.changed
  • cohort.imported
  • audit.pack.generated
  • note.added
Every event is inserted with a conditional write using:
1
attribute_not_exists(PK)
This ensures that audit history cannot be accidentally overwritten.
The result is a tamper-resistant compliance trail that can be reviewed later by sponsors, reviewers, or regulatory stakeholders.

Next.js and DynamoDB Integration

One of the most enjoyable aspects of this project was how naturally Next.js App Router and DynamoDB fit together.

Server Components

Server Components fetch data directly from DynamoDB during rendering.
Examples:
  • Dashboard
  • Projects
  • Cohorts
  • Samples
  • Rule Provenance
  • Audit Trail
These routes are dynamically rendered on each request.

Server Actions

Server Actions handle mutations such as:
  • Recording reviewer decisions
  • Adding notes
  • Generating audit packs
  • Updating workflow state
This keeps database access entirely on the server and avoids exposing AWS logic to the client.

Security Model

The deployment uses a dedicated IAM policy that follows the principle of least privilege.
The application is restricted to:
  • GetItem
  • Query
  • PutItem
  • UpdateItem
against the EvidenceOps table and its indexes.
The application cannot:
  • Create tables
  • Delete tables
  • Modify unrelated AWS resources
This provides a much safer deployment model for a public-facing application.

The User Experience

The application is intentionally designed as a healthcare operations platform rather than a consumer health product.
Key areas include:

Dashboard

  • Active projects
  • Samples reviewed
  • High-risk findings
  • Pending evidence review

Cohort Review

Reviewers can examine:
  • Gene
  • Diplotype
  • Phenotype
  • Evidence level
  • Decision state
  • Reviewer assignments

Evidence Review Drawer

The core review experience includes:
  • Deterministic PGx Call
  • Evidence Sufficiency
  • Rule Provenance
  • Population Context
  • Reviewer Decision
  • Audit History

Audit Pack Builder

Users can generate export packages containing:
  • Cohort summaries
  • Reviewer notes
  • High-risk findings
  • Rule provenance
  • Export manifests

Challenges

The biggest challenge was designing a workflow that felt realistic for clinical research teams.
Building tables and dashboards is easy.
Designing a system that accurately represents reviewer workflows, audit requirements, evidence traceability, and pharmacogenomic governance is much harder.
Another challenge was translating those workflows into a scalable DynamoDB access model without sacrificing performance or simplicity.

Key Takeaways

A few lessons stood out during development:
  • DynamoDB single-table design becomes extremely powerful when modeled around access patterns.
  • Global Secondary Indexes can naturally support workflow queues.
  • Conditional writes make immutable audit trails straightforward to implement.
  • Next.js Server Components and Server Actions pair exceptionally well with DynamoDB.
  • Governance and auditability are just as important as analytics in healthcare software.

What's Next

The next evolution of Anukriti EvidenceOps includes:
  • Multi-reviewer approval workflows
  • Electronic signatures
  • DynamoDB Streams-based event processing
  • EventBridge automation
  • Lambda-powered export generation
  • Amazon S3 audit-pack storage
  • Sponsor collaboration portals
  • Real-time compliance monitoring
Ultimately, the goal is to build a platform that helps pharmacogenomics programs become more transparent, reproducible, and operationally scalable.

Conclusion

Anukriti EvidenceOps demonstrates how Amazon DynamoDB and Vercel can be combined to build a production-style healthcare operations platform with minimal infrastructure overhead.
By combining deterministic pharmacogenomics workflows, immutable audit trails, and reviewer-driven governance, the platform creates a foundation for trustworthy and scalable pharmacogenomics operations.
Tech Stack: Next.js 16, React 19, TypeScript, Tailwind CSS, Amazon DynamoDB, AWS SDK for JavaScript v3, AWS IAM, Vercel
Built for the H0: Hack the Zero Stack with Vercel v0 and AWS Databases Hackathon.
#H0Hackathon
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article