Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: Tandem (YC S19) – A Virtual Office for Remote Teams
149 points by bernatfortet 81 days ago | hide | past | web | favorite | 76 comments
Hey HN community!

We're Bernat, Tim, and Rajiv, founders of Tandem (https://tandem.chat).

Tandem is a desktop app designed to give distributed teams the immediacy and flow of in-person communication. You can see who's online this second and talk/video/screenshare in one click.

What's unique about us is you can see what app your colleagues are working in (e.g. VS Code, Google Docs, Figma), which gives you a surprisingly clear sense of whether you can interrupt them or not. In fact, we've found it makes you feel like you're sitting around a table, without being overly invasive.

We started building Tandem when two of us had kids and started working from home more. We tried a bunch of different tools - Zoom, Discord, Slack, Hangouts, etc. - but hated the friction in all of them.

We felt slower, less collaborative, and more alone when we worked remotely. We built a one-click calling prototype, added video and screenshare, and this eventually became Tandem.

Some details on how instant calls work: - You can click on someone and talk immediately, but they will be on mute until they accept. - All calls start as voice, but can be upgraded to video and screenshare. - Customizable rooms are a nice way to invite teammates to talk when they're free.

Some details on app presence: - Your teammates will be able to see which work app you're currently in (only for a select set of integrated apps) - this gives everyone a sense of being together, and helps you know when a teammate is interruptible. - You can go into Focus Mode if you don't want to be bothered, in which case your app will not be shown.

Pricing: 14 day free trial, then $10 / active user / month

We are doing a beta program where, if you can hop on a short feedback call every-other week, we extend the free trial indefinitely! This has helped us stay in touch with the people using it, and constantly improve.

We are constantly improving the app, so tell us what you think. With your help, we can make remote work more collaborative and social!

-Bernat, Rajiv, and Tim

I recently read Carl Newport's "deep work". One of the points he made that struck home the most was that a leading indicator of success for most knowledge workers was the number of hours spent doing deep work. Ie - the number of hours spent doing uninterrupted work that makes use of your differentiated skills.

As a remote worker the thing I treasure most is the opportunity to organise my schedule to spend the majority of my time doing deep work. Frequently communicating and getting feedback on my work asychronously rather than constantly being interrupted and dragged into synchronous interactions as in an open plan office.

The thought of allowing anyone to contact me at any time, at the push of a button feels like a huge step back.

There are lots of challenges around communication in a remote company, however I don't think the solution is recreating an open office online.

I hear you and I love Cal Newport's work (as well as PG's Maker-vs.-Manager essay). For us, the Focus mode was critical to allow people to disconnect. In addition, we find that organic, short conversations on Tandem are much better than endless back-to-back meetings.

That's literally the entire thought process behind https://yac.chat. This message is so validating for what we are trying to accomplish. Would love further feedback if you're up for it.

This is...interesting. Once i'm leaving a voicemail, why would I prefer that over a slack message?

We use Tandem extensively: the killer feature is that during screenshares you get to control a pointer that the other person can see on their screen, which makes pair programming over Tandem feel basically the same as in person.

It was especially useful when onboarding a dev onto a new section of code that they had never touched before, and also when unblocking someone who was having trouble learning to use the IDE.

Is this different from what Slack and Zoom can do already? Not trying to knock it, just curious. My office is about to get a little more remote, and I was considering getting everyone into Discord, so I'm very interested in trying this.

Compared with Slack and Zoom, it's way faster - just click and start talking!

Think of it as push-to-talk, 2.0, with a richer sense of presence (seeing what work app, so you know if you're interrupting anything).

Push-to-talk was the killer feature for us. We've been using it extensively.

There are no silver bullets in managing (and being) remote teams, but Tandem helps a lot along the way!

So they created the tap-you-on-the-shoulder problem for remote workers?

I prefer being scheduled not someone blaring audio at me because it’s convenient for them... but it’s what the business owners want

The maker-manager dilemma is real - which is something we try to address with the prominent Focus mode. At the same time, a big reason we show the app status is so that the "business owners" can hopefully take cues and minimize their interruptiveness. For example, as a product manager, I will often decide not to bother my co-founder Tim because I see he's in a coding editor (and thus in deep-focus).

> We use Tandem extensively: the killer feature is that during screenshares you get to control a pointer that the other person can see on their screen, which makes pair programming over Tandem feel basically the same as in person.

NetMeeting did this way back when. It has been annoying watching things regress and then slowly work back to what NetMeeting used to be able to do.

In retrospect NetMeeting was way ahead of its time, the largest issue it had was that NATs become super popular around the same time, back NAT breakthrough tech wasn't there yet, so using it involved lots of firewall bypass rules on the switch/router.

Well-said! Not sure who this is, but thank you!

Congratulations with the launch! It's what I was looking for a few years. I mean I've been working in remote teams for years, and have thought about the exact service with screen/voice-message sharing features, as you created.

I believe easy screen sharing is important part of remote work, thought I think it should be in other way, i.e. I want to share a part of my screen (static pic or video) with a comment/question. There is a need for that almost every day.

Short walkie-talkie like conversation as you have are really great for remote teams, it can improve work and communications. Basically I want to say "good morning" to others, without really interrupting them, but letting them know I'm available now.

I guess I'll be your customer with my next project :)

I love the idea of sharing a part of screen, pic or video to create a conversation around it. We were chatting about a similar thing the other day. You've thought about this quite a bunch.How would you envision that experience?

The good morning use case is awesome. We have some teams that have a room called "Good Morning". You can join there if you're the first one to start the day, and other can join you as they get connected.

As a screen sharing as an MVP I see a button (menu/keyboard shortcut/etc) to take a screenshot (or record screen for a few seconds), crop it and then record any voice comment. It should be super simple to execute, easy to do as instagram stories.

I see few use cases here: one part is about a code you're working now. Like "what the heck is this?". or getting feedback on show some progress on the work you're doing, to show colleagues when you've finished a screen, mockup, or even slide for a deck, etc. I believe it's important for a remote team to have such moments, it gives extra motivation for both sharer and viewer, an improves feeling of a team work.

Also please consider making a mobile app for recording messages. Laptop is often used for a some heavy work, may be connected to an external display w/o any camera, so it becomes inconvenient to record messages from it. But an cell phone can do the job.

PS I will be glad to give more feedback. As you noticed, after having almost 20 years of work in remote teams I've put a lot of thoughts in a product like this, so will happy to give some help, you can reach me by igor@artamonov.ru

WeChat for Windows has a shortcut (alt-a) to instantly bring up a cursor to snip a portion of the screen and annotate it with text and shapes. It’s super handy for quickly marking some code or a segment in a doc.

Neat! Some questions on the "WhatApp" feature:

  1) What do you mean by "a select set of integrated apps"?
  2) Can the user tailor which app names are shared vs. those they prefer to keep private?
  3) Did earlier prototypes try a generic approach for ID, e.g. capturing hWND of the focused window and querying
     it's class, title, executable name, etc?  Do Mac/Linux have analogous facilities for window identification?
  4) Was it a challenge to distinguish browser-based apps? (e.g. Chrome, vs. Docs)
  5) Is there any attempt to consolidate contexts that involve switching between multiple apps? (e.g. while I'm
     coding VS Code, I jump to a browser to search docs for an API).
  6) Is there some lag/hysteresis, so if you switch briefly to a different app and back, it doesn't generate noise?
I like the feedback-for-use model, it sure beats advertising. What is long-term pricing, and can I join without having to link to a Slack or Google account?

Great questions!

1) You can see the list here: https://tandem.chat/integrations We add new products by request, but we don't plan to add email and social networking sites :)

2) Long term, we'd like to let users customize what apps and sites are shown for their team, but we haven't built that yet. Right now, you can just turn on app, app + url, or nothing.

3) We use system APIs for capturing window titles & executable names across Windows, Linux, and Mac. There's actually a node package for that called "active-win"

4) Yes! We have plans to open-source our browser reading logic. And I still haven't figured out how to read URLs in a generic way from Linux yet.

5) Not yet, but we're thinking about how to indicate to your team that you're in "deep work" based on how active you are (e.g. typing or mousing a lot). I switch between terminal, VS Code, and localhost all the time, so I understand!

6) Yes, we only check your active app on an interval to reduce our performance hit.

Long-term pricing is $10/active user/month, where active user is someone who does at least an hour of calls. Of course, we want to make sure it's valuable for you and your team first.

Will give this a try. As a remote team, this is the sort of stuff we’re always interested in iterating and improving upon.

I will say, the pricing feels like it will be a deal breaker. The product will need to add a ton of value to justify that price point. I’d honestly expect something like this to be closer to 4 or 5 dollars per month per person.

What’s the best way to share feedback with the team?

Thanks for the feedback! We have Intercom integrated, so you can ping us founders directly from the app.

Would love to get your thoughts after you've tried it with your team.

Will do! Best of luck to you and the team.

I was always intrigued with Sqwiggle, though I didn't have a chance to use it. I was sad to see they weren't able to make it.

One interesting feature they had was low-fi video (grainy black and white, very low framerate), with the same basic idea as knowing what app you are in: a chance to see whether you were at the computer, and maybe a little hint at your mental state, but maybe not too intrusive. But I don't know how it acted in practice. They had complete drop-in, but I like your one-sided-talk-first.

Another interesting feature might be something like a I'd-like-to-know-when-you-see-this-page. E.g., as a developer I might submit a PR, and I want to know when you start reviewing it. I'd "mark" the page somehow and it would be a little like having a watchword on Slack or IRC. It wouldn't have to be intrusive, as it could be as simple as a popup when the other person visits the page, telling them their coworker was interested when they started looking at it, and OK/cancel to inform them.

Tom Moor (Sqwiggle founder) is awesome! We talked with him early on and got a lot of inspiration. We've found that showing the app status gives a lot of the same feeling of presence as Sqwiggle without the sense of being watched. The always-on-video (even lo-res) was always a bit controversial.

The "google alerts" for pages idea is interesting. We'll think on it.

I'm happy to see more virtual offices being built!

My company internally built and then open-sourced Qube[1], which has a lot of similarities, but just integrates with Slack and Zoom. A lot less ambitious, I'd say, but we're very happy with it.

[1] https://github.com/seeq12/qube

This is really cool. It reminds me of Sococo but way more integrated with the tools out there. Any chance I could give it a try? What happens when you click the slack button in the team list? You can send a direct message to that teammate?

We used to use Sococo and got frustrated and abandoned it a couple years back, actually.

If you hit the Slack button it opens a link to that Slack chat. If you are in a room with a group it'll open a group DM to the other people present. (I personally rarely use the Slack button because any given DM or channel in Slack is only ever alt+tab and ctrl+k away, but that's just me.)

That makes sense. What was frustrating with Sococo?

They rewrote it from a native app to a web app, and it got a lot slower. Limits on the size / number of videos active. Status was not as flexible as we wanted (i.e. reminders when you forget to update, time zone conversion, etc).

I'm excited to see this problem being tackled. As I said previously, the biggest obstacle to reducing greenhouse gases isn't a political party. It's commuting. https://news.ycombinator.com/item?id=20325660

Yes! Commuting is also really dangerous too.

We have been using Tandem for some weeks and it delivers everything promised. It's really simple and quickly replaced all the other tools for internal calls in our company.

First time I heard about the pricing and seems a little bit high... but the extended trial in exchange for feedback calls is genius.

What stack are the user-facing applications written in? I'm assuming since you're already multi-platform with such a small team that it's an Electron/ReactNative/something else binary packaged for each different OS, rather than 3 codebases?

Edit: considering there's a chrome devtools menubar option exposed in the app I'm guessing my assumption is correct haha. After fiddling with it for ~5 minutes, it seems annoying that I'm unmuted every time I join a new room. Is this intentional? If not, I think an option to join muted by default would be pretty helpful.

Yes, we're using Electron + React to be cross-platform. It's not ideal (I know there's been plenty of discussion here), and we have some ideas for going beyond Electron, but it's helpful to have something cross-platform so the entire team can talk in one place.

Yes, when you join a new room, you're unmuted. However if someone pulls you into a room, or pulls you into a direct conversation, you start on mute. This is intentional - it allows frictionless communication while respecting everyone's privacy.

You could try using CMD+SHIFT+m to mute yourself immediately after joining a room.

So I am very curious to try this. But I'm still having trouble grokking what the features are.

If there were a video, that would be really helpful.

I don't want just to add it to my Slack without knowing what's going to happen.

That's a great idea. We'll create a video of us using it.

Also, you could try signing up with Google and create a personal team. Then, if you like it you can use Slack for your team.

I was also going to leave a comment about the lack of a simple demo I get the idea but want to see it in action. Requiring login to see the tool work for real is a big turn off.

Thanks for the feedback. We'll add the video. That being said, the video (which are actual React component + animation) in the home page are pretty much the same as the app.

Firefox/Linux doesn't seem to like tandem.chat:

Secure Connection Failed

An error occurred during a connection to tandem.chat. PR_CONNECT_RESET_ERROR

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem.

Oh! Yikes. We'll investigate it right now. Thanks

I used to be a big fan of a similar tool https://www.sococo.com/ . However it seems to have stopped getting much love in recent years. Seems like Tandem is cheaper and has some nice extra features - so looking forward to trying it out!

Awesome! Yes we’ve taken a more functional, less literal approach than Sococo. Bernat likes to draw an analogy that the first washing machine was a wheel of hand-shaped paddles. We think we’ve found something much better and less skeptical.

This is a great idea, and I say it because I have the same exact same idea in my list of ideas I would like to work on but it's no where near the top of the list. I'm grateful that someone has solved for this!

Thanks! We're excited to help remote teams get to the next level of communication.

Just throwing in my two cents. I work with a small remote team and our first problem was that most apps would at times lag, hang, deliver messages out of order, etc. We found a relatively obscure app which has been solid and we have stuck with it. All other value (features) takes a hit once these issues pop up for us.

There's a ton of choices out there, but if other teams are like ours, then there apparently aren't many options for this one wish-list item. If we had one more to choose from, then we might look at other features.

So stoked to see Linux support.... I've been looking for something like this for my Linux-based team. If it works well, we'll be a customer!

> What's unique about us is you can see what app your colleagues are working in (e.g. VS Code, Google Docs, Figma), which gives you a surprisingly clear sense of whether you can interrupt them or not. In fact, we've found it makes you feel like you're sitting around a table, without being overly invasive.

This seems like it could be invasive. Is it opt out?

Absolutely, you can customize what other users see quite easily.

I installed the Mac app, it asked for Audio permissions but never video. So I can't share video yet.

Also you only see the video/audio selection dialog inside of an existing call or room. I think it would be easier if there was a top level way to configure those from the main preferences menu.


We ask for video permissions only when you click the video button when on a call - ping us on Intercom if you get stuck.

Regarding the video/audio selection, all calls start as audio-only, and you can upgrade to video / screenshare. If you want to go straight into video you can do this via the tooltip on hover.

Pretty neat but 2 problems for me: 1) wish it was free like Slack and pay to upgrade for advanced feature 2) wish it had chat feature. not everyone will be available to talk in which we will have to switch back and forth with Slack or some other messaging tools.

Congrats on the launch guys! We tried Tandem early on and its always magic to see cursors of team-mates floating on GitHub PRs when its under review.

We are a heavy user of Zoom for meetings, but we found it to be too heavy for lightweight interactions.

Awesome to hear! Yes, quick collaborative reviews of PRs are a big use-case for us internally too.

This is exactly what I've been hoping someone would build, thank you and congrats!

Thanks! It's not the secret to life, the universe, and everything...or is it?

I would love to hear some more about your vision; "virtual office for remote teams" leaves a lot of room for potential product growth. A teammate saw IntelliJ on your integrations list, for example. I think he was hoping it allowed for remote code pairing, but I think right now that just means the application name support

Great idea! Since you're using Electron/React, did you guys build something in-house for the screen sharing + cursor collaboration? in my experience, nodeJS is really bad at this kind of real-time stuff

We're using Elixir on the backend, which is great for real time communication. It's also a very stable backend platform in general. I agree, doing shared message passing on Node is quite challenging.

Repl.it is also adding pair programming to their online IDE. I'm curious how you will differentiate. Video chat seems like a dime a dozen these days.

We've built it with the internal/with-your-team use-case in mind, which lets us eliminate a huge amount of friction! There are also some really useful things we can do around presence.

Do the chat/call/video call functions rely on Slack or Hangouts? Can it be done standalone?

Nope, we ship with our own voice/video/screenshare, no external dependencies.

Wondering this as well

Congrats on the launch, bernat!


This is fantastic. Well done on launching. Can't wait to try it.


What companies are offering pair programming these days?

Clickable link https://tandem.chat

Clickable above now. Thanks!

After reading these projects, I’m curious why people can’t leave a paper note or memo on the desk.

It's for remote teams? So there is no desk?

Interesting - can you say more?

Yes, I can. Paper is the best form of asynchronous communication, requiring neither electricity or complex authentication schemes. By placing a piece of paper on the side of another person’s desk as quietly as possible, one would ensure that the person will be alerted to a necessary matter when they have the time to inspect their physical inbox.

It also indicates the matter is important enough for the original person to walk up and deliver a note.

Funny - one of our teammates used to do this at a previous company. We built in a similar function for remote workers with a Slack integration. It sends a little message with pre-formatted responses that indicates you'd like to talk on Tandem.

But obviously this is impractical for remote workers. Tandem is designed for remote teams.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact