This talk will explore the advantages of using a code-first approach for developing GraphQL APIs over a schema-first approach. GraphQL has gained popularity as a modern API technology that enables developers to build APIs that are flexible, performant, and easy to use. However, one of the challenges of using GraphQL is deciding whether to use a schema-first or a code-first approach. In this talk, we will discuss how code-first allows for greater flexibility, scalability, and maintainability in GraphQL API development. We'll explore how it can improve the development process, especially for large teams and complex projects. By using code-first, developers can write code that generates the schema, which provides greater control over the API design and allows for more efficient iteration.Moreover, we'll examine how Strawberry, a GraphQL library built on Python, leverages the power of Python's type system to provide an end-to-end type-safe code-first approach. This approach allows developers to define their GraphQL schema using Python classes, which Strawberry then converts into a GraphQL schema, ensuring type safety throughout the development process.