Speaker

Lydia Cupery

Lydia Cupery

Senior Software Engineer, Hubspot

Grand Rapids, Michigan, United States

Actions

I’m a Senior Software Engineer at HubSpot, where I work on developer onboarding and documentation platforms. I’ve led teams, launched products, and optimized systems across domains ranging from oil pipelines to apparel sales.

I also enjoy sharing what I learn and have spoken at conferences such as All Things Open, Tech Bash, and Beer City Code on topics from background jobs to frontend performance. I’m interested in how all parts of a system fit together — from database constraints to frontend animations.

Area of Expertise

  • Information & Communications Technology

Topics

  • Web Development
  • FullStack Development
  • Backend Developer
  • Front-End Development

How to Render Twenty Thousand Rows without Crashing Chrome

If you have say twenty thousand rows to render, you probably don’t want to fetch all that data at once and you especially don’t want to render all those rows on page load. This talk is about how to render only the rows you need and how to just-in-time load data for those rows.

On the frontend, this means “windowing” or “virtualizing”: only rendering enough rows to fill the view port, with maybe just a few extra.

On the backend, it means just-in-time load chunks of row data from the server as new rows scroll into view.

The examples will be using a Node.js server with a React frontend. However the concepts of windowing and just-in-time data loading are applicable to any tech stack.

Representing and Accessing Data That Changes Over Time

What’s a clean way to represent data that changes over time? How could one best model a loan with a variable interest rate? The fluctuating price of one's favorite cereal?

We can model things that change over time (variable attributes) separately from things that don't change (stable attributes). This makes it easy to store and lookup data that changes over time without unnecessarily duplicating information.

In this talk, I'll start by looking at some examples of real-world entities with variable attributes we might want to represent.

Next, I'll go over how my team worked with specific financial entities with variable attributes (like products with changing prices). I'll cover how we modeled those entities in the database to how we displayed those variable attributes to the end-user.

Presented this session virtually during covid (at Code PaLOUsa 2022) but would love the opportunity to give it in person!

Scaling Web Applications with Background Jobs: Takeaways from Generating a Huge PDF

Do you need to perform time-consuming or CPU-intensive processes in your web application but are concerned about performance? This is where background jobs come in.

Join me as I share my experience of quickly generating large PDFs using background jobs. I'll go over how we offloaded resource-intensive tasks to separate worker processes, improving the performance and scalability of our web application.

Making your Code More Reliable with Typescript

Adding types can prevent errors, clarify code, and speed up development. This session covers examples where using the right types helped achieve all of that.

We'll start with the fundamentals: union types, string template literals, type narrowing, and discriminated unions.

Next, we'll dive into type operators to create complex types from simpler ones. You'll learn how to manipulate and combine types.

Finally, we'll explore advanced TypeScript concepts like generics and conditional types. You'll learn how to create reusable type definitions for reliable and flexible code.

Preparing for a Successful Product Launch: You Toolbox

Launching a new product can be an exciting but stressful time. Advocating early for the right tools to recover from any production issues that may arise can eliminate a lot of stress. In this talk, I will discuss the tools you'll want in your “launch toolbox."

Dollars and Data: Learning AI Concepts Through Everyday Examples

In tech, we hear constant buzz about AI — but concepts like MCP servers, agents, and RAG often feel abstract until you see them in action. This session makes those ideas concrete by grounding them in a familiar, relatable domain: personal finance.

We’ll explore:
* Building a lightweight MCP server with tools to analyze everyday data.
* Using RAG to power an agent that recommends an “ideal” credit card.
*Calling LLM APIs to handle common decision-making tasks.

The goal is to understand these AI building blocks through everyday examples. You’ll leave with mental models and patterns you can apply to any domain.

Beer City Code 2025 Sessionize Event

August 2025 Grand Rapids, Michigan, United States

Beer City Code 2023 Sessionize Event

August 2023 Grand Rapids, Michigan, United States

TechBash 2022 Sessionize Event

November 2022 Mount Pocono, Pennsylvania, United States

TechBash 2021 Sessionize Event

October 2021 Mount Pocono, Pennsylvania, United States

Code PaLOUsa 2021 Sessionize Event

August 2021

Code PaLOUsa 2020 Sessionize Event

August 2020

Lydia Cupery

Senior Software Engineer, Hubspot

Grand Rapids, Michigan, United States

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top