ToolJet

Build & deploy internal tools in minutes without code

No Employees
Founders Code
Solo Founder
APIs
Open Source
Payments
Productivity
SaaS
Sales
Utilities

The world needs a product that can build amazing internal tools at record speed without writing a single line of code.

April 21, 2021 First customers!

Found 6 companies that are ready to evaluate ToolJet. All of these companies are heavily funded or have huge revenue figures.

Customer use cases: Job application tracing tool, content moderation tool, Redis GUI, trainer availability tracking tool.

New connectors:
Cloud Firestore, Redis

New features:
Version control
Loading states for most of the components
Connection pooling for data sources
OAuth2 integration
Table columns can now be resized
Components for multi-select, dropdowns, checkboxes, date/time pickers, rich text editor, etc

April 21, 2021 First customers!

Found 6 companies that are ready to evaluate ToolJet. All of these companies are heavily funded or have huge revenue figures.

Customer use cases: Job application tracing tool, content moderation tool, Redis GUI, trainer availability tracking tool.

New connectors:
Cloud Firestore, Redis

New features:
Version control
Loading states for most of the components
Connection pooling for data sources
OAuth2 integration
Table columns can now be resized
Components for multi-select, dropdowns, checkboxes, date/time pickers, rich text editor, etc

April 9, 2021 Smarter tables & resizeable components

Replaced the tables with react-table. Tables can now support:
a) Global search
b) Sorting by column
c) Client-side pagination

Also changed the layout used for tables to include the additional features.

Every component can be resized from the visual editor by dragging.

April 8, 2021 OpenAPI support

My goal was to integrate with Stripe API. I made a new component that can parse the OpenAPI spec document and generate requests from that. The product now has the ability to talk to any service that has implemented OpenAPI spec.

Added load state for queries and tables. whenever a query is being run, a dynamic variable isLoading is set to true, and thus the table can show a loading skeleton.

Current status:
Achieved the first major use case milestone:
i) Pull customer data from a PostgreSQL database.
ii) when an action button is clicked, a stripe query is triggered to fetch all subscriptions for the customer, and this data is displayed in another table.
iii) The "cancel subscription" action buttons of the second table trigger a stripe query to cancel the subscription.

April 7, 2021 A bunch of features was added in the last 4 days

a) Data sources were introduced:
ToolJet can now connect to PostgreSQL, MySQL databases.
ToolJet can now connect to REST APIs

b) Queries were introduced:
Connected data sources can be queried using predefined queries

c) Dynamic variables were introduced:
For example, the output of a query can be accessed as {{queries.customer_query.data}}

d) Events and actions were introduced:
Events: onClick for button component, onRowClicked for tables.
Actions: Show an alert, run a query

e) Action buttons for tables:
Buttons can be added to the table component, these buttons will be shown in the last column of the table and can be used to trigger queries, alerts, etc.

April 3, 2021 POC for the visual UI builder

I was able to build a basic drag and drop UI builder for building the internal tools. Added a few basic components: Table, Button, Text Input, Text & Image. The components can be dragged to the canvas and can be dragged again to adjust the position. An inspector view was also added to change the properties of the components such as: adding columns to table components and mapping data, adding on-click actions for buttons.

Now the product can build and render the tools with basic components.

April 1, 2021 Started working on this idea

I was working with a huge enterprise that had a bunch of simple internal tools. I experienced difficulty in building, deploying, and making changes to these tools. Sales/support/admin teams need these internal tools badly but developers are least interested in prioritizing the changes requested. And then I decided to build this. Had to wait until the end of March to finish a project I was working on with one of my friends.

I started by building the basic feature that every product needs, such as organizations, users, authentications, authorization, and then moved on to one of the core parts of the product: the visual UI builder.

About

The world needs a product that can build amazing internal tools at record speed without writing a single line of code.