Software Development

Synapps

SCOPE OF PROJECT
Full Stack Web Development
Tech Architecture
Database Design
ABOUT THE PROJECT

Synapps is a factory for high-quality computer science education. It handles everything from library management, to standards mapping, to delivering curricula to K-12 educators. This is the first product that I had a lead engineer role on, where I found the confidence and experience to make decisions on architecting the tech stack, database design, and API.

VIEW LIVE WEBSITE
View MARKETING SITE

Roles & Accomplishments

  • I was the lead engineer on this product, owning the frontend, backend, and database
  • This project found me outside of my frontend comfort zone, as I contributed nearly 1,000 Github commits to the API repo, and 600+ commits to the frontend
  • Synapps has enabled the Ellipsis Education team to deliver curricula to 400+ schools, totaling over 23,000 hours of lessons

Tech Stack

The goal of the architecture was to provide junior-dev friendly frameworks with a low learning curves, while allowing the flexibility and power to shape the product into a multi-tenant platform that could be used by other education organizations.

Frontend

Language: Typescript

Framework: React, with functional components and hooks

State management: React Query

Components & Theming: Material-UI, Formik

Styles: CSS-in-JS

Others: Storybook, Cypress, react-pdf

Backend

Language: Typescript

Framework: Feathers

Database: PostgreSQL, with Knex database adapter

Timeline

  • Fall 2021: Development begins
  • Spring 2022: Product Launches
  • Summer 2022: New features + tech debt work
  • Spring 2023: Integration with Curriculum Delivery Platform

Features

The Synapps platform has a robust feature set for managing data and optimizing our team's workflows, several of which I had the opportunity to lead and launch. Here are a few that I enjoyed building!

Curriculum Builder

To deliver curriculum, we need to organize lessons based on how much time an educator has per day, and per year, as well as other factors like fulfilling state + national standards. This feature involved a lot of business logic and requirement management, as I worked to understand the unique needs of school districts across the country and our team's curriculum delivery workflow.

It was a great experience where I got to take ownership of the entire stack, including:

  • Writing technical specs
  • Designing database tables, relationships, and migrations
  • Implementing new API services and tests
  • Building out frontend functionality
  • Solidifying workflow with Cypress

PDF Generator

Once a curriculum is built out, the platform needs to generate a teacher-ready syllabus, pacing guide, and standards map on-the-fly. I used a custom Feathers service to gather the necessary data on the API, and react-pdf on the frontend to dynamically paint PDFs with over 100 pages.