Flow through your inbox

Flowrite turns your instructions into ready-to-send emails and messages across your browser.

Try Flowrite now
Refresh if you want to submit another email.
Oops! Something went wrong while submitting the form.

Feb 15, 2021

New features, redesigns, extension work

Product update visual

Table of contents

Product update visual

Product & design

Playground layout

We did an entire design revamp on our playground to make it breathe better and allow us to accommodate future functionalities easier.

This included designing a sidebar that has more than enough room for our existing and future settings including, the one for different use cases.

App layout

As part of making more room for the playground, we moved the element into a completely separate page within our app and ditched the prior tab layout. Also, "Use cases" → "Templates".

It's so intuitive 🧖


As a user, you can now improve the output accuracy by inputting your profession to Flowrite settings. The identity setting can be found under /account.

Goodbye Rubik, welcome Euclid

Our previous font Rubik didn't give us the flexibility our app needed and felt too rounded for the UI.

We spent way too long testing out different fonts and were close to going with the common choice Inter, but found a perfect match with a geometric sans font Euclid by Swiss Typefaces.

Community's coming together

Plenty of updates to our user community to accomodate our early users' needs.

Software engineering

Thanks for behaving, Gmail

As we are not big fans of jQuery and related libraries, we have crafted our own DOM manipulation logic for Gmail. In the past weeks, we again improved the way we recognize reply and compose fields and the placement of the Flowrite button.

Divide and Conquer

Some parts of a codebase tend to change rapidly. In the past week, we took those and created serverless Firebase functions for them. One of those functions handles our current whitelist of users and another authenticates them to the Chrome Extension. It is a joy to just bump up an individual function to a new version instead of redeploying the whole backend.

Another great thing about Firebase: avoiding local persistent state. All the data that we need to stick around, we push to Realtime Database. We are now able to recreate state from Firebase on-demand and avoid all collisions with locally stored state in that way. So far, it's working beautifully.

Microsoft didn't ruin GitHub after all

We decided to make Github our home for version control. At first, we thought that migrating from GitLab to Github would mean needing to migrate our CI scripts as well. Gladly, we could keep using Gitlab CI just by mirroring the new Github repositories. Having a Gitlab runner on a NixOS droplet on a provider like Hetzner is not a terrible experience.

Multiplying our AI development speed

To be the fastest out there, our AI team needs matching tools. Having tried a bunch of popular (and unpopular) options, we landed on a few interesting candidates to help us raise our game. So far we have been quite impressed with Deepnote for Python notebooks as well as Zenhub for issue tracking and project management.

What is accuracy?

We have again worked to increase our understanding of GPT-3, the black box. We are actively enhancing and pushing forward the quality of our text outputs. But, just by how much? The past weeks' work has involved research and discussion around building and defining our in-house metrics for success and accuracy in natural language generation.

Share the update

All updates

Latest updates

Cookie emoji

We use cookies to analyze site performance and deliver a better experience for visitors.

Got it!