We are two moms that dream of the days when the redundant task of sharing our child's most up-to-date information with schools, camps, sports, after school programs, and medical offices is no more.

Many parents know the routine: "Please fill out these forms..." in multiple every year.

While we understand the importance for these programs to have updated emergency contacts, vaccinations list, and allergies, there must be a better way. Rather than parents populating proprietary database servers with their children's information that live in silos, why not build an API that shares this information and does the work for busy parents? Kid Vault is our answer to this problem.


  • Reduce paperwork load of busy parents.
  • Simplify paperwork collection and data usage for School Administrators.
  • Apply StepZen to create a GraphQL API.


Leveraging the flexibility of GraphQL and the proliferation of databases, we built a parent-centered application that links to key database servers (medical and school), so that the most up-to-date information is at a parent's fingertips. Kid Vault pulls data from various sources, to compile the information parents need to fill out annual school forms, medical forms, camp forms, sport forms, and after-school program forms.

Schools can subscribe to Kid Vault to easily pull student data in real-time so that schools have the latest information they need to conduct Covid Close Contact queries and more.


With a StepZen GraphQL API, Kid Vault connects to:

Database Queries @dbquery

  • Child's Basic Information (name, guardian, emergency contacts, phone#)
  • Medical Records (height, weight, vaccinations)
  • School Records (classroom assignment)
  • SQL queries made to single or multiple databases

REST API endpoints @rest

  • User's Basic Information
  • JWT Authenticated login/signup

External 3rd party API (Covid Act Now) @rest

  • County Covid Statistics
  • Latest Pandemic Guidance

Technical Challenges

As we attempted to use @sequence/@collect for a complex query gathering COVID county data (@rest) appended to student data (@dbquery), we learned that @collect only works with scalar types! Since our data has a heavily nested structure, this query was better suited to @materializer. You can see our result in action by running the Combined Covid Close Contact List and County Covid Data Query when logged in as school.

Current Functionality


  • Sign Up
  • Authenticated Log In
  • Log Out

Family Platform

  • View My Kids
  • View Kids Detail (School, Medical, Emergency Contact Records)
  • Auto-populate and Generate a Camp Registration Form
  • Add Kid
  • View Profile

School Platform

  • Covid-Positive Student's Close Contacts Query
  • Current County Covid Data from Covid Act Now API
  • Combined Covid Close Contact List and County Covid Data
  • View All Students
  • View Student Detail (School, Medical, Emergency Contact Records)
  • Add Student
  • View Profile


We are recent bootcamp grads, led by two moms that are trying to get past the daily job application grind and reduce our overall paperwork load. With Kid Vault powered by a StepZen GraphQL API, we no longer need to be the bearer or hunter of our child's most up-to-date information.

What’s Next For Kid Vault

  • Embed a QR Code Generator to the auto-populated forms.
  • Enable CSRF protection on forms
  • Add Testing with Stepzen's @mock GraphQL directive
  • Research the best practice for securing/sharing of medical data to abide by HIPAA law
  • Connect to a live medical and school database
  • Expand services to include school/camp enrollment and financial aid applications

Testing Instructions


Family Platform - username: Mom | password: password

School Platform - username: school | password: school

Custom Sign Up - Sign up to log in with your own username


Due to current HIPAA regulations regarding medical data, further legal research will be required on how to gain access to a patient's data. This potentially could be secured, restricted, and certified with API token authentication.

Built With

Share this project: