[HN Gopher] Launch HN: Compose.ai (YC W21) - AI-powered extensio...
       ___________________________________________________________________
        
       Launch HN: Compose.ai (YC W21) - AI-powered extension to speed up
       email writing
        
       Hey HN! Michael here--founder of Compose AI
       (https://www.compose.ai) (also joined by my co-founder Wilson).
       Compose AI is a free Chrome extension that cuts your writing time
       by up to 40% with AI-powered autocompletion, rephrasing, and full-
       length email generation. It works across ~30 websites, so besides
       email, you can use it to do things like write Notion documents or
       chat on Slack (browser only (for now)).  I was in Mexico typing my
       10th reply to a mundane email when it hit me: people shouldn't be
       typing every letter of every word -- especially not the same things
       over and over again. That got me thinking about building a tool
       that helps people type faster anywhere online and ultimately save
       them time--something that was easier said than done. It was quite
       challenging to balance the speed needed for real-time predictions
       with the model complexity needed for high quality predictions.
       Also, it was surprisingly challenging to integrate with a ton of
       different websites - I learned that there are many, many different
       ways to implement a "text box," and experienced first hand, the
       joys of integrating with things like shadow dom and iframes.  I
       have been thinking about how to communicate with computers since I
       was in maybe 6th grade when I would literally dream about it. I
       remember I had a notebook in which I tried to analyze the
       linguistic structure of English to teach my computer English (not a
       great approach in retrospect). Later on, I worked in ML and AI at
       IARPA, Amazon, Disney, and BCG before starting an ML consulting
       firm. The trends in NLP finally caught up to my dream (LLM,
       distillation, fine-tuning, transformers, GPUs), so working on
       Compose AI seemed like the next logical step.  We are working to
       create a more holistic, AI-first writing solution. For now, our
       chrome extension has autocompletion, rephrasing (shorten, lengthen,
       change mood), and full email/reply generation functionalities. As
       you're typing, the text is streamed to our backend servers, where
       we have relatively large transformers models that are tuned for
       specific scenarios.  If you need help with long-form content or the
       creative process, our web app (https://web.compose.ai) can generate
       product descriptions, blog outlines, sales pitches and more. Note:
       our web app asks for credit card on sign-up but includes a free
       7-day trial.  For our Chrome Extension, we make money using a
       freemium subscription model. Your data is end-to-end encrypted and
       encrypted at rest. We will never sell your data and will only use
       it to fulfill your completions or improve your results.  Here are a
       couple demo videos of the extension generating responses to a
       Hacker News email:
       https://www.loom.com/share/c36ec67b0a3a466aaa2ec5ee2399cb15
       https://www.loom.com/share/44cf0f5893094d1191143b9f6fe11a5d  Thanks
       for reading! Would love to have some conversation with folks in the
       comments section below. Please share any feedback/ideas/experience!
       Here are our open jobs: https://at.compose.ai/jointheteam  You can
       download Compose AI from the Chrome web store:
       https://at.compose.ai/download
        
       Author : mshuffett
       Score  : 43 points
       Date   : 2022-06-09 16:20 UTC (6 hours ago)
        
       | nickphx wrote:
       | Do you offer an API?
        
         | mshuffett wrote:
         | We do have an API that we are offering to select companies and
         | for specific use-cases. You can apply for access here:
         | https://1hzsaknho9a.typeform.com/to/fGEQgXy7?typeform-source...
        
       | ninetax wrote:
       | Hey Michael,
       | 
       | I love this. It's so cool! I just wish it worked in my slack app
       | on Linux too. But I know you're working on that. Or at least
       | that's what compose.ai thinks ;)
        
         | mshuffett wrote:
         | Thanks! You can upvote those integrations so we can prioritize
         | them: https://composeai.canny.io/integrations. We can then keep
         | you posted.
        
       | henning wrote:
       | Did you use compose.ai to write this post?
        
         | mshuffett wrote:
         | Yes -- and now, to reply to your comment :)
        
           | verdverm wrote:
           | So it inserts emoticons? Is that based on a users history or
           | derived from the corpus?
        
             | mshuffett wrote:
             | No emoticons yet but we're continuously experimenting with
             | personalization.
        
       | mprovost wrote:
       | At some point soon the computers will be able to send email back
       | and forth to each other and leave me out of it.
        
       | nathan_phoenix wrote:
       | You wrote "Your data is end-to-end encrypted", but your webpage
       | doesn't mention that anywhere (just says you won't sell users'
       | data) and it kinda seems impossible as you need to be able to see
       | what I write to give suggestions...
        
         | mshuffett wrote:
         | What I mean by end-to-end encrypted here is during
         | transportation and at rest (not that it is never decrypted in
         | memory). As you are pointing out, it obviously has to be in
         | memory as clear text at some point. But that is being done on a
         | private VPC and only very briefly.
        
           | ragnarok451 wrote:
           | Any plans to use homomorphic encryption eventually? low
           | priority rn but would be v nice to have
        
             | mshuffett wrote:
             | We've looked at things like this or federated learning as
             | well. Definitely will keep our eye on it as we continue.
        
           | alwayslikethis wrote:
           | That's not end-to-end encrypted then. In an end-to-end
           | encrypted system the server never sees the plaintext. I'm not
           | saying that this is a must-have for something you are making,
           | but please do not mislead people into a false sense of
           | privacy.
        
             | eddd-ddde wrote:
             | I guess he meant end to end where the other client is,
             | well, the server. Haha
        
         | [deleted]
        
       | altdataseller wrote:
       | I've used Copy.Ai in the past, how are you guys different?
        
         | mshuffett wrote:
         | The biggest difference is our Chrome extension that does
         | autocompletion across a large number of websites and things
         | like full email completion (see the videos in the main post).
        
       | xpasky wrote:
       | The extension works on hackernews but it doesn't work on any site
       | that's marked experimental (not even on github, shown as example
       | in the userguide), it always shows "Compose Now Not Available".
       | also tried Compose.AI to compose this message but all suggestions
       | just threw away some of the info
        
         | wilsonmitchell wrote:
         | Hey, Wilson from Compose.ai here.
         | 
         | I just checked into it. I think the misunderstanding is that
         | force enable only enables autocomplete. Compose Now and
         | Rephrase still misbehave on the majority of websites and make
         | them hard to use, so we didn't include them in the force enable
         | functionality. There's a note about it on the Notion doc
         | Michael linked, but that isn't clear enough in the product.
         | Thanks for letting us know! I'll fix that!
         | 
         | Let me know if you're actually not seeing Github show
         | autocomplete either. I'd love to debug that, but I checked
         | again and it seems to be working for me right now.
         | 
         | I'm curious what you mean by "also tried Compose.AI to compose
         | this message but all suggestions just threw away some of the
         | info"
        
         | mshuffett wrote:
         | Compose Now is only available on certain websites, but we are
         | working on enabling it everywhere else. You can find a list of
         | websites we are officially integrated with here:
         | https://composeai.notion.site/Supported-
         | Tools-0f3ee54d5ef04d.... When a website is "experimental", you
         | can force enable the extension (autocomplete) there but may
         | encounter some issues. Thanks for pointing out the Github
         | example--we'll look into that.
        
       | gingerlime wrote:
       | I like the idea, but have the same concerns which prevent me from
       | using Grammarly. I understand the challenge of doing this
       | locally. But I just can't get myself to install something that
       | siphons off essentially every keystroke I make.
       | 
       | On a more positive note: is there something that detects or warns
       | against hostile tone to help write in a friendly and non-hostile
       | way? :)
        
         | mshuffett wrote:
         | Thanks for the comment. We do give users the ability to easily
         | disable the extension temporarily or on websites that they
         | might have particular concerns about.
         | 
         | We don't currently have a way to detect hostile tones, but we
         | do have a way to rephrase sentences to be more friendly --
         | https://www.loom.com/share/703d223a40f34447897d1736c6dc8c91.
        
         | Georgelemental wrote:
         | https://languagetool.org/ is an OSS Grammarly competitor that
         | you can self-host.
        
         | grepLeigh wrote:
         | Would you use a chrome extension that stored the auto-complete
         | model locally, and periodically sent anonymous statistical
         | updates? Your keystrokes never leave your machine (and the
         | model would work offline).
         | 
         | Federated machine learning is an area of my research.
        
           | wilsonmitchell wrote:
           | That's really interesting. Let me know if you'd want to talk
           | to me or Michael sometime about it. With the models we run
           | currently, you'd really have to have a GPU to run locally and
           | get a lot of utility. I'm curious if you have some thoughts
           | on how to run these large language models on edge devices.
           | 
           | I'm wilson@ our website (trying to avoid too much spam from
           | bots).
        
             | grepLeigh wrote:
             | I sent y'all an email, but figured I'd re-post here for any
             | curious hackers. I spent two years obsessed with
             | autocomplete for mobile/edge use cases.
             | 
             | The first step is to get any functional offline model (1),
             | then prune/project a large language model's representation
             | until you can perform on-device inference (2). You can
             | calculate variance, hit / miss statistics for a body of
             | text and model proposals (3), which you can feed into a
             | ranking model (4) for an extra layer of personalization or
             | use to re-balance the Euclidean projection of your model's
             | layers (4) to optimize for sparseness.
             | 
             | 1) Locally store a Trie data structure, where keys are
             | n-grams of user input
             | 
             | Surprisingly effective, considering most business
             | communication uses a limited vocabulary. If your users are
             | submitting less than 10,000 unique English words (skip
             | words removed) per day, try this out.
             | 
             | One thing I really liked about the Trie approach is that
             | corporate jargon appears in real-time, since the "model" is
             | just a data retrieval algorithm. You don't need to modify a
             | vocabulary and re-train/fine-tune a neural network to
             | achieve personalization.
             | 
             | The downside is that you're limited to bi/tri-grams before
             | performance degrades, although YMMV. Auto-completing bi/tri
             | grams does feel tedious after a while.
             | 
             | 2) Fine-tune and prune a large language model, then make it
             | sparse
             | 
             | I noticed y'all offer some degree of personalization. Have
             | you tried pruning or compressing your model after fine-
             | tuning? The exact technique will depend on your base
             | model's architecture but in general, try using a sparser
             | representation.
             | 
             | Use accelerators designed to operate on sparse
             | representations, for example TensorFlow XNNPack's sparse
             | operations. XNNPack is a backend engine that opens up
             | native hardware acceleration options in WebAssembly, so you
             | can accelerate inference using the client's GPU (if
             | available).
             | 
             | 3) Collect permutation variance and hit/miss statistics
             | 
             | The exact technique/algorithm will depend on your model
             | architecture, but for example matched averaging is a way to
             | express the average number of neighborhood permutations
             | with respect to the input dataset. In other words, the
             | client sends statistics about predictions in Euclidean
             | space, not your literal keystrokes.
             | 
             | 4) Use matched averaging to adjust model cardinality or
             | train an additional ranking model
             | 
             | The statistics collected by step 3 can be used to train a
             | personalized ranking model, with the goal of re-ranking the
             | proposals from step 2.
             | 
             | You can also use these statistics to introspect the
             | "embedding space" of a language model, with the goal of
             | identifying compression/pruning opportunities to improve
             | the model's real-time performance. Reducing cardinality in
             | the embedding projection has an outsize impact on inference
             | speed, and you can usually drop most of the language model
             | after observing the range of language used by the client.
             | 
             | You can also used matched averaging to compare hidden <->
             | hidden weights between many with Euclidean distance
             | measurements (like cosine distance).
             | 
             | This is WAY more than I originally intended to write - but
             | I hope this helps!
        
           | gingerlime wrote:
           | It sounds much more privacy respecting. I guess it depends on
           | what's included in those statistical updates and how much
           | trust I can give the extension. For example for not getting
           | hacked or bought by hackers (see the great suspender as an
           | example).
           | 
           | Edit: I don't even use Chrome :) but that's not the main
           | point, but perhaps shows where I am personally on the privacy
           | scale?
        
             | mshuffett wrote:
             | For the sake of discussion, what about an open source
             | decentralized blockchain that shows that your data is
             | always encrypted and only readable by hosted apps that are
             | open source that you approve to have access to your data?
        
               | gingerlime wrote:
               | I'm not sure if you're joking or not. I tend to believe
               | that simple designs improve security, so this sounds like
               | the polar opposite.
               | 
               | But I guess I'm not the main target audience. Given the
               | succees of Grammarly and other privacy invasive apps,
               | people are happy to give away their data for convenience.
               | The HN crowd might be a bit different however. Winning
               | this crowd might or might not be an indication of
               | success.
        
       | nradov wrote:
       | How does your extension compare to the AI-powered autocompletion
       | in Gmail?
        
         | mshuffett wrote:
         | There is some similarity and there were some inspirations from
         | Gmail to be sure. For example, there were many users of
         | Superhuman or Front who really disliked the fact that they
         | wouldn't be able to use autocompletions in their email client
         | (we work on Superhuman in the browser and Front support is
         | coming soon).
         | 
         | We do find that we are able to predict significantly more text
         | than Gmail is able to.
        
       | russellbeattie wrote:
       | What I would like to see is an AI for _reading_ emails.
       | Specifically for one use case: When you get roped into a long
       | existing email chain and now you 're trying to catch up by
       | reading bottom-up through 50 replies, each one with a full
       | to/from/date/subject in different styles that you have to somehow
       | ignore, while noticing one line (or word!) responses or
       | understanding context.
       | 
       | Actually, it doesn't need much AI - just an intelligently written
       | text- filtering and formatting script would do it. I've actually
       | written simple scripts in the past that will take a long email or
       | a bunch of them, and export them as an better formatted HTML-
       | based Word Doc that I can read top-to-bottom and refer back to
       | easily. But it would be awfully nice to have something built in.
       | 
       | I'm honestly amazed at all the email jockeys out there that deal
       | with this daily and have no problem with it. It's been a serious
       | problem for literally decades.
       | 
       | Is there an open source project that is just a library for
       | authenticating and working with all the different email services
       | out there? It would be nice to have a MailKit with some sort of
       | basic SQLite based storage. Then devs could just work on the UI.
        
       | oldstrangers wrote:
       | I was hoping to increase my interaction with bots, so this is
       | great thank you.
        
         | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-06-09 23:00 UTC)