Elsevier's mission of helping researchers and healthcare professionals is rooted in publishing and has also evolved into a global leader in information and analytics. They provide a trusted and reliable way for information to make it from the lab to the public in a time when the sea of information is most difficult to navigate.
Elsevier recognized an opportunity to modernize their existing publication process. They dedicated a small project team consisting of Serghei Ghidora (Tech Lead), Paul Foeckler (Product Owner), and a UX Designer to develop a minimum viable product (MVP) to make the peer review process faster and more efficient.
The emphasis for the team was to not reinvent the peer review stage but to consider how it could be streamlined and more engaging for all actors. In addition, the small team wanted to learn and develop quickly and flexibly despite its size.
With any publication, whether it be a fiction novel, presidential memoir, or scientific journal, there are many stages of reviews and edits that occur between the first draft and what ends up in the hands of the public.
There was a process in place at Elsevier that has been successful for decades, but there were opportunities for improvement.
The current process takes the following steps:
Peer Review Workflow
This process includes a lot of different systems and administrative effort from all parties to bring a manuscript to publication. The project team's goal was to improve the publication process to be more holistic and to revamp the peer review stage with today's improved technology.
Streamlining a very manual, logically complex publication process is a tall task. Serghei knew that being flexible was going to be key to developing a successful MVP.
"The flexibility of moving fast and changing the product based on user feedback fast was crucial"
Starting off, GraphQL was going to be at the core of the product due to the nested data structure necessary for multi-user document editing. Being the only tech person working on the project, Serghei also knew he needed tools that were going to eliminate undifferentiated work. The handling of definitions, resolvers, schemas, and models all by himself is a daunting task for a single developer.
"Writing all that by yourself, it's a lot of work. Especially because you don't just write it once. You write, you refactor, you change things. You throw stuff into the garbage, because it didn't work. You need to experiment again with the user. The flexibility of moving fast and changing fast, that was crucial."
Looking for technologies that worked best with GraphQL, and to eliminate as much manual code as possible, Serghei discovered Prisma with Nexus. Working with Prisma Client and Prisma Migrate, Serghei set himself a strong foundation centered around speed, developer experience, and flexibility.
The team desired to focus on speaking to users every day to understand what their needs were and what features were highest priorities for the MVP. Prisma Migrate's ability to use Prisma Schema changes to automatically generate fully customizable database schema migrations gave Serghei the confidence to be able to implement changes quickly and hassle free.
Based on user feedback, a change may be made to the database like the complete removal or addition of a database entity. Without Prisma, such a change would have forced Serghei to spend more time refactoring and error handling, and less time innovating.
"When it comes to the data model experimentation, handling migrations and things like that is just amazing. That you are able to add something or remove something in Prisma, and you run the migrations and Prisma will do everything by itself."
Prisma Client's TypeScript experience also proved to be crucial to development by ensuring confidence in the code after making changes.
"I think it's the nature of Prisma that gives you a good way to structure things. Also because it's TypeScript, right? So you can't miss things. Your frontend application types are always in sync with what's available on the database level. That's a big, big deal. I think a key factor for scalability for the future, because you always have both ends in sync."
Serghei understood the importance of selecting technologies that were going to allow him to be fast, while also maintaining scalability for the future.
"We're running real science through the MVP now. And despite being a large and complex product already, the MVP still holds up. There are now not many bugs where anything crucial doesn't work because the core is really well done. And Prisma is one of the bricks of that foundation."
The flexibility proved to be a major contributor to a single tech lead producing a meaningful product in just 10 months.
In addition to Prisma, Serghei utilized several other technologies to achieve their MVP. The project structure looks like the following, with Prisma serving types to multiple apps.
Elsevier MVP Architecture
The Prisma & Nexus package includes the Prisma schema, migrations and all the generated types that are used across all apps and services. The lambdas import the Prisma client and update resources directly. This arrangement keeps the database and frontend types in sync because of Prisma Client's type-safe database access.
The Business Logic package backed by Prisma serves the GraphQL API schema and frontend. Prisma with GraphQL ensures that only the necessary data for each peer review is returned. Writing both the API and frontend in TypeScript powers confidence when writing database access and allows for shipping feature updates faster.
If there is a breaking change in the schema, TypeScript will raise errors on all the instances of the data model types, resulting in easy identification across the entire project structure and a smoother, more flexible developer experience.
The MVP is already showing improved efficiencies in the journal publication workflow. Elsevier is confident they have the right technologies in place to scale on their achievements so far.
The MVP now takes the uploaded document from the author and converts it into HTML to be rendered online. With the manuscript now living on the web, contributors now have a single source of access and truth for the manuscript and none of the manual overhead.
All the potential pitfalls of lost work, wrong copy, or other manual procedural errors are removed, and this manuscript-centric approach keeps the focus on moving science forward efficiently.
There are still manual processes that can be automated and wider adoption of the new process attained. Based on initial results, Elsevier is keen to continue investing into modernizing their publication flow. The key moving forward is evolving the product from MVP to full-scale production capable.
The team built a strong foundation by smartly choosing the technology they worked with. Elsevier hopes to expand the resources of the team and continue advancing more scientific publications through the online reviewing flow.
With the help of Prisma, development can progress with flexibility, scalability, and continue the mission of advancing scientific publications forward at a pace akin to its discoveries.
To find out more about how Prisma can help boost flexibility and productivity, join the Prisma Slack community.