Product Updates

Announcing Bracket’s new web app

Ian Yanusko
June 5, 2023
min read

Founders of Bracket here — we’re thrilled to announce the release of our totally redesigned web app.

Since we started building Bracket last year, we’ve sat down and talked with hundreds of users. Each conversation was unique, but we heard the same theme again and again: the web app UX is bad!

Specifically, we heard things along these lines:

  1. “It’s frustrating to not have any validation on data sources during onboarding. This means that I can mess up my Postgres connection details and not know it until I try (and fail) to sync”
  2. “The field mapping section sucks. The fields should be drop-downs rather than text boxes, the ‘intersection types’ make no sense, and the fact that Bracket only grabs the exact field names of one source instead of two is not ideal.”
  3. “I can’t edit a sync once I submit it? Are you ****ing kidding me?”
  4. “Deletes aren’t synced? Doesn’t that defeat the purpose of a ‘sync’?”
  5. “I can’t work with a service that doesn’t support SSH tunnels or SSL/TLS protocols.”
  6. “I need better monitoring and alerting if I’m going to rely on Bracket long-term.”

We hear you. Here’s how we addressed these.

Step-by-step data source validation during onboarding

At every onboarding step, Bracket is making sure your connection details are valid. No more rage-quitting because of a typo in your schema name.

Plus, now you’re getting data previews whenever you’re selecting a table or writing a SQL query, so you can onboard confidently.

Way, way better field mapping experience

There’s now zero guesswork when it comes to configuring your field-level details.

Bracket i) auto-maps your fields when possible, ii) tells you if your fields have incompatible types, and iii) warns you if you’ve specified something more than once.

No more trying to figure out what “intersection type” means. Oh, and everything is a drop-down. It’s how things should be.

Edit existing syncs

Now if you rename a table, adjust your Postgres password, or want to update your SQL query, you can reconfigure existing syncs instead of going through onboarding again.

Decide how you want to handle deletes

One of the biggest improvements we made is the ability to not only sync record deletes, but to choose how you want to delete them.

Maybe you don’t want deletes to sync. Great! Maybe you want deletes to always automatically sync. Awesome! Maybe you’re scared of your Ops team deleting your prod data, so you want to review every delete manually. Groovy!

With Bracket’s new console, you can choose your delete policy, track delete history, and manually review deletes from each side of a sync.

Connect your data with industry-standard security protocols

On the old console, we technically supported SSH tunnels and connections made with SSL/TLS protocols, but these were extremely difficult to set up and usually required a ton of input from our support team.

Now, it’s exceedingly easy to connect with SSL=require, even if you have a custom certificate. SSH tunnels are also simple: just enter your bastion details, and you’ll get an auto-generated public key to add to your authorized_keys file.

Monitor your syncs with confidence, get alerted when things go wrong

While the old console gave you the history of sync runs and told you about errors, the error messages were usually pretty opaque. You also didn’t get notified when errors happened in the first place! You had to log in and periodically check your sync to make sure things were good, which nobody wants to do.

Safe to say there are big improvements on the new console. Not only are error messages more meaningful, and not only are you proactively notified about new issues, but you also get to see how many changes were made in each sync run.

So what’s next?

Now that we’ve released this public beta, we’re prioritizing 1) adding new integrations (with Google Sheets and Snowflake next on the list), and 2) continuing to make Bracket as feature-rich as possible.

Besides new integrations, here are some features on our to-do list:

  1. Ability to reuse existing database details
  2. Field-wise syncing (mixing up one-way and two-way syncs)
  3. Support for two-way syncs with SQL queries
  4. Multi-sync: ability to keep 3 or more data sources in sync with each other
  5. Custom field-wise transformation options

Do you have a feature request? Ping us at! We’ll add it to the sprint schedule.