duke | artist, engineer

Noteworth – Notifications System

Noteworth  | Software Engineering Intern | Summer 2018   Funding:  Seed-stage, ~3.1M raised  Position:  Software Engineering Intern   Focus Areas:  Backend | Frontend | Product

Noteworth | Software Engineering Intern | Summer 2018

Funding: Seed-stage, ~3.1M raised
Position: Software Engineering Intern
Focus Areas: Backend | Frontend | Product

 

Note: I am under NDA and unable to share images and details of my work at Noteworth online. I’ve done my best to supplement this gap with sketches, mockups and descriptions.

 
 

Noteworth

Noteworth is a New York-based healthcare startup that offers innovative software solutions for healthcare providers. The core product is a digital platform that allows physicians and healthcare providers to manage and administer patient care.

My project: to build a notifications system that allowed our users – doctors – to effectively view and manage patient updates on our upcoming v2 platform.

Given my interest in both engineering and product management, my CTO and mentor Nishant Panchal gave me full ownership over the notifications system feature. This meant that I was responsible for both the engineering and product aspects of developing the feature: I was both an engineer and a product manager.

noteworth_header.png

Over the 12 weeks, I worked with various teams across Noteworth – the CEO and CTO, Senior PMs, design team and other engineers – to bring this feature from the drawing board to production. I’ve included a brief bullet-point summary of my work:

  • Developed a notifications system for our Clinician-facing platform, collaborating with CEO, CTO and Senior PMs to scope and wireframe. The system is a cornerstone of the Clinician workflow, allowing users to efficiently view and manage patient updates.

  • Designed and built backend architecture and custom API for the system using Django.

  • Implemented a dynamic React/Redux frontend interface to display the notifications.

  • Wrote product specs, documentation and release notes for the notifications system.

Technical Overview

Untitled design.png

I worked on both the backend and frontend for the notifications system. Following the engineering team’s existing practices, I used Django/Python on the backend and React+Redux/Javascript on the frontend.

At a high level, my technical process looked something like this:

  • Meet with CTO + engineering team to convert product requirements —> technical specs, and discuss technical decisions.

  • Database and object design: decide on the functions and data fields for Notification objects.

  • Consult with stakeholders (CEO, CTO, PMs, engineers) before starting development. Iterate.

  • Backend: Create models for the different Notification types. Update existing backend structure. Write new API calls for frontend to utilize. Test, debug & consult with stakeholders throughout.

  • Frontend: Build dynamic notifications system using React. Connect to backend via API calls. Integrate with Redux. Update UI. Test, debug & consult with stakeholders throughout.

  • Implement pagination, filters and sorting.

Product Overview

Taking full ownership over the notifications system feature meant that I was collaborating and communicating with various teams across Noteworth. Among other things, I was responsible for writing product specs with the CEO and Senior PMs, creating wireframes and mockups, converting technical specs into individual tickets on JIRA, and writing lots and lots of documentation.

At a high level, my product process looked something like this:

PART 1: ideation | research

  • Define the problem. What did this notification system aim to achieve? What problems would it solve? Who would be using it, and how did their needs factor into the feature?

  • Speak with our physician-users. Gather feedback on how they would want to use the feature.

  • Consider: How did our users want to use the notifications system? How did we want them to use the feature?

  • Consider factors such as the Physician Hero Complex, Quarterback model etc.

  • Bounce ideas with the rest of the Noteworth team.

PART 2: user stories | product requirements | WIREFRAMes & Mockups

  • Convert user feedback and research into User Stories. Ex: As a Clinician, I’d like to use the Notifications page to see the messages and updates requiring my attention and potential action.

  • Work with CEO and PMs to define specific product requirements, considering every use case, button click and detail.

  • Create wireframes and mockups based on product requirements.

PART 3: PRODUCT DEVELOPMENT

  • After converting product requirements to tech specs, convert each tech specification into individual JIRA tickets.

  • Assign JIRA tickets to timeline, set deadlines, schedule reviews, etc.

  • Build the notifications system; refer to Technical Overview above.

PART 4: LAUNCH | TEST | DOCUMENTATION

  • Launch the notifications system.

  • Test, test, test. Gather feedback from users and stakeholders. Iterate.

  • Write lots and lots of documentation. It was my responsibility to make it easy for the rest of the team to continue developing the feature after my internship ended. This included writing documentation and release notes describing the feature from a product and technical standpoint, known issues, troubleshooting, and next steps/future implementations.

 
 

Some final words

I’m incredibly grateful the Noteworth team for an incredible summer. I learned the importance of being bold and taking the initiative to pursue my ideas. Working at a startup like this taught me invaluable lessons in respect and communication: these are the small things that go a long way. I’m especially grateful to my mentor and CTO Nishant Panchal for helping me grow as an engineer + product person, and actively supporting me every step of the way. Thank you.

 

 
noteworth_N.png