Business software is a serious world. Software and how it all comes together to run an efficient shop can often make or break a business in today's automated and heavily integrated business landscape. Every ‘integration’ a business builds and leverages comes with a cost and every customization done to a piece of software the business acquires requires effort. As an experienced developer in this arena, you probably know this all too well having chased and delivered to deadlines around complex software requirements.
At Freshworks, we have set out to build a platform for developers of business software with the objective of not only helping them solve problems for businesses using software but also delighting in the experience of leveraging the platform to get their job done.
Let’s begin with a quick survey of the concepts you will want to familiarize yourself with to succeed on the platform.
Let’s do this by imagining you want to build a web application to manage a TODO list. Although there are many ways to go about building this, a possible simple approach would include,
- Use HTML and CSS to construct a form that takes in a title & description of the task.
- Stand up a backend service exposing APIs to manipulate a Task resource.
- Create a browser-based client to use these APIs and manipulate Tasks based on user interactions and inputs.
- Choose a data persistence service to store/retrieve the Task records and connect this with your backend service.
- Set up a virtual machine to host your backend service and securely expose the APIs to the client.
- If someday your web app becomes popular (and it will!), add more servers and make the backend highly available and reliable.
As we can see here, the task (mind the pun!) of creating a task manager involves more than just writing the code to handle the business logic.
Specifically, this also requires,
- A development environment to write, organize, test, and build code.
- A cloud infrastructure provider to host and scale your services.
- A provider to host, manage, and scale your database.
- If you plan on updating your application often, you also need an automated way to build and deploy your updated source code to your cloud instances and get them into the hands of your users.
When you work with the Freshworks Developer Platform, however, our endeavor is to help you build this web application without learning how to host, manage or scale your own servers, databases, CDNs, and so on. As a developer, we want you to do two things:
- Understand your customer's requirements and translate them into business logic encoded in source code.
- Test your code using our development toolkit and upload a ZIP file carrying your Freshworks app package.
Freshworks will take care of the rest!
Now that you have seen what this experience might look like let’s try and understand what encompasses the Freshworks Developer Platform. Yes, as you might imagine, this includes our tools, services, APIs, and SDKs.