Console

Interview with
Yuval Hazaz

CEO, Amplication

Open source app framework.

2023-05-02

What is Amplication? Why did you build it?

Amplication is an open source platform that allows developers to automatically generate all the repetitive and boilerplate part of their backend code in order to be able to focus on writing the business logic, creating the actual value of an application, easily scaffolding an API with authentication, authorization, login, tracing, and database connectivity.

Everything that can be automated is automated and the developer gets all their code from Amplication with a Git pull request. The developer has full ownership of the code. This allows them to build scaffolding for an entire fully functional backend with all the data models, crowd operation, and even a client application in minutes. The developer can always go back to Amplication, make changes on the data schema, add more integration, change any type of implementation on settings, and get a new pull request with the delta, push the code to Git, continue working on that code, customize the code and switch between custom code for business value or anything else.

The code that we generate is Node.js domain, so we generate a Node application for their backend based on NestJS as a web framework. We have a plugin system that allows either third parties or the open source community to create plugins that will impact the code generation process. Instead of getting something that is very rigid or very opinionated, anyone could create a plugin that impacts the code generation process, adding a new folder structure, formatting integration, type of database and so on – this is Amplication in a nutshell.

As for why we built it, I've been a developer almost since I was born. I have been working as an engineer or engineering manager for all my career and was dealing a lot with scaffolding, creating services, creating applications, onboarding new developers, and delivering knowledge, best practices, and know-hows on how to build services. Eventually I decided to go and build Amplication as an open source project, and the rest is history. It has been three years since we started building it, one year since we got funded. Now we have almost 10,000 GitHub stars and a community of thousands of developers, many thousands of signups and developers using the product around the world.

What does a "day in the life" look like for you?

I wish I was writing more code, but as a CEO now I'm dealing with a lot of things. Creating the vision, working on our go-to-market strategy, product features, working with the community, taking part in meet-ups and other gatherings. A lot of stuff, fun stuff, and eventually working as part of the global developer community on a daily basis in every aspect. It's all fun and games.

What is the team structure around Amplication?

Right now we are a team of 18 employees and almost 200 contributors, which in a way are part of the team. Half of the core team is in Israel, Tel Aviv. The other half is scattered around the world - we have employees in the US, Europe, and India. Currently, about one third is engineering, and the rest are in marketing, design products and so on.

How did you first get into software development?

I've been working with software development since I was a kid. I think I got my first computer when I was five, and that was a very long time ago. I started with .NET. I've done some Java, I've done a little bit of Python. But since we start working on Amplication, it's only Node.js, JavaScript, React, Angular, whatever on the client side, it's all in the same family, but mainly Node.js.

My professional career started 20 years ago as a developer. I've worked in a few companies. My recent job was for 13 years in a company called Q-Nomy. I've been a developer and then team lead and VP R&D and CTO for almost eight years.

I'd been doing a lot of professional services for customers on top of our product. Our product was a platform and every organization that uses it wanted to customize it. We had a lot of projects that were repetitive and this is where we started building a lot of what today is called low-code functionality. Three years ago when I decided to go on a new journey, I wanted to solve that problem on a larger scale, in a more generic way – I decided to build Amplication. The idea of not needing to waste a lot of time on all the bits and bytes of the infrastructure is part of the magic in what we do in Amplication.

What is the most interesting development challenge you've faced working on Amplication?

The code generation part was most challenging from the technical perspective, but I guess that the actual story behind the technical stuff like creating a product, understanding the need, understanding the flow of the developer and the psychology of a developer and what they want to do. We are a low-code tool for developers, but developers will never actually use low code. Low code is for IT, for citizen developers. There is a very thin line between what we can and developers want us to do and what we don't really want to do because developers will not use it.

For example, you will not find anything like a visual flow editor. This is where we believe developers will want to write the logic on their own and they don't want to drag and drop lines or gates. There is a fine line of what to do for and how to keep all the flexibility, ownership and no vendor lock-in of our product. That was a real challenge and it's still going on.

There are other tools that may have the same vision and are working on the same problem, but the use case is totally different. For example, when you build something internally or when you want to build a prototype, you can use Firebase. But if you want to build the core products for your organization or you want to build the next startup to be worth billions of dollars, you will not build it on something that has so much lock-in.

There is no black boxing at Amplication, there are no packages that are specific to Amplication. All the code that we generate is based on best practices, and open source technologies that we didn't invent such as Node.js, NestJS, MySQL, Prisma, and other. The developers can just choose to use that and at any given time they can say, "You know what? Amplication, you've been great so far, but I want to take the code and continue on my own." You have all the freedom to do that because this is just the code that you would write otherwise on your own and probably the quality and the best practices are much better than you write on your own.

What is the most interesting tech tool you are playing around with at the moment?

We use a lot of technologies that will allow our users to build their own products. I'm really a fan of Prisma, I think it's an amazing product. Their API is amazing, their support, and their community documentation are all excellent. I take a lot of inspiration from them, I really like what they do.

Besides that, NestJS is an amazing framework that we also use both for our platform and the code we generate for our developers and users, which is also cool – we are also sponsoring that project.

Describe your computer hardware setup

I was using a PC until three years ago, and then one day I wanted to check something that one of our community members reported didn't work on Mac. I took a Mac that was on the side, I started using it and I never went back. I'm still using it and I don’t plan to migrate. I have one big screen, which is also a docking station, just connecting to my laptop when I'm in the office. Otherwise, I'm just using the laptop as it is. I'm using a touchpad instead of a mouse. I like it a lot!

Describe your computer software setup

OS: macOS.

Browser: Chrome.

Email: Outlook.

Chat: Teams.

IDE: VS Code.

Source control: Git and GitHub.

Describe your desk setup

Nothing fancy!

The desk of Yuval Hazaz, Amplication

When coding

Daytime or nighttime? Day.

Tea or coffee? Coffee.

Silence or music? Both, it depends.

What non-tech activities do you like to do?

I swim from time to time. I like to play poker a lot. My kids like hiking and stuff, but not too much actually. It's fun when we go out.

Find out more

Amplication is an open source app framework. It was featured as an "interesting tool" in the Console newsletter on 1 Jun 2023. This interview was conducted on 2 May 2023.