Skip to content

Open Source Friday - Simulacrum - [10-10-2025] #151

@jbolda

Description

@jbolda

Name

Jacob Bolda

GitHub Handle

@jbolda

Tell us about yourself

I was a licensed structural engineer turned software engineer. Bringing that structural thinking (pun intended), I have worked with multiple companies in large migrations while still shipping features. At @thefrontside, I work with clients to architect, lead and ship software primarily with TypeScript. At the core, we rely on testing. Most recently, our test running has relied heavily on Playwright. It allows us to add guardrails to ship efficiently and confidently.

These tests, for multiple clients now, are built on the foundation of "simulators". We have described these as mocks on steroids. We make a version of an API, with in-memory, generated data, and handle responses as similar to production as possible. No special testing code paths. Making these highly maintainable is a priority to benefit from their value. The simulator can then be used for local development and in tests, including running in CI, to sit alongside the real API. It becomes easier to test all of the negative cases, failure conditions, and permissions when you have full control.

The GitHub API Simulator is an extension on this foundation. It mimics the critical routes with highly relevant data that we have needed for clients. It currently handles every route as defined in the OpenAPI schema using the example responses defined there for less critical routes. We have used it to test complex queries and workflows in client applications, both closed-source and open source.

Project Name

GitHub API Simulator

Project Repo Link

https://github.com/thefrontside/simulacrum/tree/main/packages/github-api

Stream Date

  • Yes
  • Not yet

Dates

No response

Twitter URL

@jacobbolda

Bluesky URL

@jacobbolda.com

LinkedIn URL

https://www.linkedin.com/in/bolda/

Additional Information

This is build on top of the @simulacrum/foundation-simulator which sets up a handful of defaults and helper functions. We have built other simulators on top of this base such as a simulator for auth0 which is also in this same monorepo.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions