https://gorenje.medium.com/the-case-for-bi-directional-salesforce-postgres-synchronization-ff0090ef6531
Short sellers in western alliance bancorp made about $59 Million in profit on paper over the past week
Short sellers in Pacwest bancorp made $14.7 Million in profit on paper over the past week - ORTEX
The Latin American e-commerce tech scene is ops-heavy. With cheap cost of labor comes a high number of ops workers that rely on familiar multi-purpose tools: mostly Google sheets and Notion.
FYI I’m a founder of Bracket: a two-way data syncing product that lets you read & write to your data store from Google Sheets & Notion (and Airtable). Here’s a problem we stumbled on along our journey.
The Problem
When ops teams grow so large, engineering can struggle to keep up with internal tool demands. We have worked with companies where 100-member ops teams rely on 3 engineers to maintain all of their data pipelines, including data fed through internal tools. And since ops teams heavily prefer easy-to-use tools like G Sheets and Notion, the reality is that data often gets siloed in every-multiplying spreadsheets. It quickly becomes a headache for engineers to not only design, create, and maintain internal tools, but also convince huge ops teams to migrate their tooling.
Use Case
We stumbled on this same use case for e-commerce startups in Colombia, Brazil, and Mexico. Logistics startups have a ton of workers on the ground: field operations, warehouse operations, delivery operations, etc. Updating status along the lifecycle of an order, especially between teams, is a constant pain point, but one that can be solved when teams are able to use familiar tools that are syncing with a single source of truth For example, when an ops worker acquires an order from the supplier, he can update the status on the Notion mobile app. That status will sync to Postgres, and from there it will update the customer (through a user-facing portal) as well as any other ops teams that are syncing from Postgres. Similarly, when a package is damaged in the warehouse, someone can update a Google sheet that syncs with Snowflake to indicate inventory changes and potentially trigger a restock alert..
The common ground between these two examples is that in both cases, ops teams need to be able to read and write real-time data across an order’s life span. Engineers can either create and maintain internal tools from scratch and convince ops folks to use these tools, or they can integrate their data store with the tools that ops teams already love. In LATAM, we see that more and more eng teams are opting for the second option.
Silicon Valley Bank (SVB) is a bank that primarily serves the technology and innovation sector. The bank has been around since 1983 and has grown to become a major player in the industry, with a reputation for working with high-growth companies and startups. However, in recent months, the stock price of SVB has been going down. In this post, we will explore the reasons behind the decline in the stock price and its implications for the bank.
First, it's worth noting that SVB's stock price is not unique in its decline. The entire financial sector has been experiencing a downturn, with many banks seeing their stock prices fall in recent months. This is partly due to concerns about inflation and rising interest rates, which can impact the profitability of banks. Additionally, there has been increased competition in the banking industry, with new fintech companies emerging and traditional banks investing in digital transformation to stay relevant.
However, there are some specific factors that have contributed to SVB's decline. One major factor is the bank's exposure to the technology sector. While this has traditionally been a strength for SVB, it has also made the bank more vulnerable to market fluctuations in the tech industry. In recent months, we have seen some high-profile technology companies experience stock price declines, which has had a ripple effect on the entire sector.
Another factor that may be contributing to SVB's decline is the bank's loan portfolio. SVB has a reputation for being willing to take on riskier loans, which can pay off in high-growth sectors like technology. However, this also means that the bank's loan portfolio is more vulnerable to defaults and other risks. If the economy experiences a downturn, SVB's loan portfolio could be hit hard, which could impact the bank's profitability and stock price.
So, what does this mean for SVB and its investors? It's difficult to predict the future, but there are a few things to keep in mind. First, it's important to remember that SVB is still a strong and profitable bank, with a solid reputation and a long track record of working with high-growth companies. While the stock price decline is concerning, it's not necessarily a reflection of the bank's overall health.
Second, investors should be aware of the risks associated with investing in the financial sector. Banks are subject to a wide range of market and regulatory risks, and the current economic climate is particularly volatile. It's important to do your due diligence before investing in any bank or financial institution.
In conclusion, the decline in Silicon Valley Bank's stock price is a reflection of broader trends in the financial sector and the tech industry. While there are specific factors that have contributed to the decline, it's important to keep in mind that SVB is still a strong and reputable bank with a long track record of success. Investors should be aware of the risks associated with investing in the financial sector, but for those who believe in SVB's long-term prospects, the current stock price decline may present an opportunity to buy in at a lower price.
The problem
The point of using Airtable & Notion is to give nontechnical folks the ability to easily work with data. But a company’s data primarily sits in a datastore, like Postgres, MongoDB, or Snowflake — so, how to bridge the gap?
Here are some examples of this problem:
Sales & marketing: you scrape leads data online and drop them into your MySQL database, but you need your sales team to vet and qualify those leads without learning SQL.
Customer success: Notion is your customer success HQ, but you have customer data across a ton of sources (Amplitude, Stripe, Zendesk, etc). You can consolidate that data in your Postgres database, but it’s still not touching Notion, so your Notion view is incomplete.
Ops: Your ops team needs to be able to contextualize reasons for missed deadlines, but your SLA data is syncing in MongoDB and your ops team doesn’t know how to edit that data directly. Instead, your engineers are constantly fielding requests for CSV exports, distracting them from product development.
Incomplete or mismatching data, constant requests to engineers… sound familiar? Below, we talk through 4 different ways to sync between Airtable/Notion and your backend DB.
Method #1: Write an internal script
For one-way syncs, it may be enough to work with the APIs built into your tools and databases. Both Airtable and Notion offer APIs through which you can read and write data (although for Airtable you need the Enterprise plan to get access to webhooks and the metadata API, so we recommend using BaseQL instead). However, writing these scripts is a technical process that might be too high a boundary for nontechnical teams. For technical teams, this may distract from product development, especially if the script requires maintenance over time. Often things break at the worst times, as any developer knows :)
Method #2: Use Zapier (https://zapier.com)
Zapier is not a great tool when it comes to simple data syncing. There are four reasons for this: You have to set up an individual zap for each possible change to a data table (e.g., you need to set up zaps for record additions, record updates, field additions, etc). Each time a zap is run, it eats away at your monthly limit. If you are doing batch updates, this can cause you to hit your limit quickly. Unless you are paying for the Professional plan, the fastest your data can sync is every 15 minutes. Zapier explicitly does not support two-way syncing, so all of the above is only useful if you want one-way syncs.
Method #3: ETL/reverse ETL
Your next best bet is to use a more technically savvy solution: ETL and reverse ETL. Both can help ensure a single source of truth for your company. However, ETL and reverse ETL have three drawbacks: If you need data to simply sync both ways, ETL and reverse ETL can get complicated: you’ll need two separate providers, meaning two separate sales and billing processes and double payments. You will also need to figure out how to navigate the infinite loop problem. Not optimized for speed. If you need data to be updated faster than 5 minutes, these tools will probably be frustrating for you Setup-intensive and costly for smaller companies and startups (a bit like cracking a walnut with a sledgehammer).
Method #4: Use Bracket for two-way syncs (https://usebracket.com)
Sometimes, you just want the same data to show up in two different places in real-time. Getting your Airtable and Postgres to mirror each other, or your Notion and MongoDB to show the same data, can significantly reduce data sharing frictions on your team. Bracket does fast bidirectional syncing between tools like Airtable and Notion with any backend database.
I recently wrote a blog post on different ways to sync Google Sheets with MongoDB, and thought it would be useful to lay out the key points here for anybody who is facing this problem!
The problem
G sheets is an incredibly popular way for business teams to interact with data. You can use Sheets for internal tools, BI, ad hoc analysis, you name it. However, it's extremely tricky to sync data between G sheets and NoSQL databases like MongoDB. This limits the usefulness of either tool. So, what options are there? There are a few. Method #1: Write your own script
You could build your own in-house solution using Google's API and MongoDB change streams. Mongo's change streams make it pretty easy to track events in MongoDB, but the Google API is trickier to work with. For two-way syncs, you also need to figure out a way to map records to each other, since Google Sheets does not offer unique record IDs Pros: totally tailored to your use case, max flexibility Cons: diverts engineering resources, can be very high-maintenance, not super scalable Method #2: Use Zapier
Most of you are probably familiar with Zapier, which is a great automations tool However, when it comes to simple data syncing, Zapier is pretty limiting: you have to set up zaps for every possible data change (e.g. updates, added records, etc), you can quickly hit your monthly zap limit if you do batch updates, the fastest sync is 15 minutes unless you pay for the Professional plan, and it's impossible to do two-way syncing without hitting an infinite loop. Pros: No-code, familiar to previous Zapier users Cons: Surprisingly high-maintenance, can quickly hit monthly limits, slow syncing, no two-way syncs Method #3: ETL / Reverse ETL
If you've dealt with data syncing woes in the past, you may have come across one of the many ETL/reverse ETL solutions out there. ETL = "Extract-Transform-Load." Basically, ETL is a way to get data from your SaaS tools (e.g. Salesforce, Zoho, ADP) into your data warehouse. Fivetran, Stitch, and Airbyte are some big players. Reverse ETL: the opposite! Data flows from your warehouse to the SaaS tools. Hightouch, Census, and Grouparoo are big players. These tools are robust, but they can also get a bit complex and pricey for smaller companies and do not support two-way syncing. They are also slow -- 10 minute sync intervals is usually the fastest you can do. For two-way syncs, you also need a way to handle merge conflicts (i.e., what happens if somebody is editing the same record in G Sheets and MongoDB at the same time?) Pros: Many players in the space to choose from, a lot of integrations Cons: Slow syncing speeds (usually 10 minutes at the fastest), too complicated for many use cases, no two-way syncs Method #4: Use Bracket for two-way syncs
Sometimes, you just need data in two different places to match in real time. Maybe you don't want to deal with the hassle of setting up ETL and reverse ETL. Maybe you want simple bidirectional syncing that's engineer-friendly, yet simple enough for nontechnical users to set up. Bracket is designed for use cases like this. You can connect G sheets with MongoDB and set up one-way or two-way syncs with a few clicks. Pros: built for bidirectional syncing but can also handle one-way syncs, simple onboarding Cons: Still building out integrations for new frontend tools, but our G sheets connector is live! I included more links at the actual blog post that might be helpful. Happy syncing everybody!