Show HN: OnAir – create link, receive calls (onair.io)

263 points by bigmicro ↗ HN
Hello HN community,

This is bootstrapped/indie hacker-ish. Would appreciate feedback.

What it is: You create a link (e.g. onair/yourname), and anyone can call you from it. Caller uses a web browser to make the call (not dedicated app). You can create as many links as you want, and can direct calls to colleagues in a round-robin or escalation manner.

In a way, it's like the "opposite of Calendly"; whereas Calendly is about meetings in the future, OnAir is about immediate meetings.

Motivation behind it: One of our SaaS products was struggling to grow. We believed that if we provide more "hand holding" to visitors on the landing page, it will increase conversion. It's like speaking to the guy behind the counter before making a purchase. That idea/experiment, over time, became OnAir.

Feedback: Identifying the perfect use case / customer has not been easy. E-Commerce store owners, which I thought would be ideal customer profile, are not responding as expected (e.g. "why use this instead of a WhatsApp button?"). The value of branded links, round-robin, recording/transcription, lead capture, etc does not seem to matter much to them. Ideas are welcome.

112 comments

[ 2.8 ms ] story [ 183 ms ] thread
(comment deleted)
Very cool! This seems like a much better solution than Calendly. Instead of capturing leads only to experience a drop-off in conversion to calls, this completely eliminates that issue.
Similar to https://rep.ai/ though they have gone down the AI route. Maybe you can investigate how they did their positioning and GTM.
> Instantly speak to a sales rep

Soo, if you’re like me, booking a call is a necessity. Most days, half of my day is booked. How do you work around this?

That said, I do like the idea of a uniformed platform with a low barrier of entry when it comes to contacting me.

I just tested this, and they've Google Calendar integration. So you can integrate your calendar and set the link status to Auto, then the link will be online according to your availability.
Someone please explain to me why a phone call is different to this, I'm truly blanking.
Hide's real phone-number and allows you to control when, how you receive calls. Pretty smart honestly.
I am not sure any of those are really the true value. The driver imo is swapping a chat bubble with an audio call. It reduces friction a customer may have picking up their phone and dialing a number and also since the customer can see you are online and ready to chat, they know they will be able to instantly get in touch with someone. Thats the smart and valuable piece.
(comment deleted)
I dig this. This is what I am thinking.

Much easier to click than dial.

Social cost of a web link versus a phone number may be lower as well (that may be cultural but it may be true)

Adds other modes like calendar or chat or AI directly in flow.

No need to reveal a phone number.

Video

Internationally accessible (no long distance)

And for HN tradition’s sake for these types of comments, no one likes rsync.

> Much easier to click than dial.

In what way is this easier than click to dial? They’re both one click, but in this scenario I need a headset/microphone, a stable Internet connection, and if I do this from my smart phone it doesn’t know I’m in a call so when I hold the phone up to my face I will likely hit buttons.

(comment deleted)
A few:

- assign calls to different members (round-robin, escalation)

- capture lead info (name, email, etc)

- don't reveal actual phone number

- recording, transcription

- soon, conversational AI agent (as optional backup)

With a WhatsApp/phone, you can't really switch it from one employee to another easily. Managing load is harder, seeing call logs is harder. And a full call center solution is too much for a small business.

Very original, I like it! Do you also have the option to schedule a call when either person is not available? Or should you offer your customers to either call you via OnAir, or schedule via (e.g.) Calendly?
Thanks! so, you can add an "offline message" that is displayed when your link is offline. In that case, adding a Calendly link to that message might make sense. Or simply "I'm typically online 12pm-4pm for walk-ins" etc.
Congrats on launching!

Curious how the dynamic image works in the e-mail signature: AFAIK, Gmail and others heavily cache any images inside e-mail, so even if the image changes, Gmail will be displaying the online/offline cached image, not the most up-to-date one.

You can overcome this using headers, which instructs Gmail not to cache. Snippet:

response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"

response.headers["Pragma"] = "no-cache"

response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"

You might want to investigate this further - IIRC a lot of email services retrieve images in advance server side to avoid leaking whether the client has interacted with the email. I might be mistaken here.
Would it be cool that the customer can get notified when there is someone available
Could have a click to dail link just with a phone number. What are the advantages? Really like it! Taking to conversation to whatsapp would also be cool for small businesses. Emailing both parties an transcript of the conversation could be a nice +1
This might be a silly question: I understand that to talk, the caller uses their web browser with device audio. What does the link creator use?
(comment deleted)
If the creator has the app (onair.io/ios , onair.io/android), they would receive notifications there and can take the call. Also, if a browser is open when someone calls them, they would also receive notifications there as well.
Is there a way the creator can mark their availability on the app? May be on a calendar?
Yes. You can set yourself `always online`, or `always offline`, or `scheduled`. In the last one, you specify hours in the day (e.g. 9am-5pm), and sync with external calendar (currently Google Calendar) which marks you as offline when you're busy.
I did exactly the same product like 4 years ago.

Twilio, voice app etc. But I was so lazy to do a proper marketing and sales.

However I had some ideas that I can share with you if you want:) For free ofc!

Wish you all the luck! Contrast with nice product! Super good!

The pricing page is incredibly misleading if not outright illegal.

At the top of the pricing page you show that it's $9 a month to have 10 links and enable round-robin call handling, but looking at the FAQs at the bottom, it's actually $9 a month PER USER:

> OnAir costs as low as $9/user/month. This price is per user, per month. Other pricing plans are displayed on this page. Higher enterprise plans are available starting at $250/month for up to 50 users.

This means that for $9, you actually do NOT get round-robin, since you'd need to pay at least $18 (2 users) to benefit from it.

Similarly the 10 links make it seem like you can have links to reach 10 people, but once again this would in fact cost $90 a month.

Hey. A single user can indeed use round-robin; they can connect multiple devices (up to 3 on a single license Basic Plan). In that sense, a single user can have round-robin among three mobile phones. Having said that, will think more on how to make this more clear.
To make it more clear, perhaps replace "$9/month" with "$9/month/user"? Seems like an easy fix.
What’s is this build on top of? WebRTC connected to something like twilio to make the calls ?
Livekit. Amazing product and community, and has a self-host option. Highly recommended whether you're doing WebRTC or voice agents. First version (pre-launch) was on Agora, their API was a nightmare, highly unrecommended.
Would love for you to try our WebRTC service!
Great example of something complex made very simple to the end user. A lot of thought clearly went into the UX. Congrats
A small thing that might be useful: allow users to get a regular phone number to call. Most users probably won't need it, some will, and when they need it and there's no number, it's extremely frustrating for the (potential or current) customer.

Example: in most cases, I don't have a microphone or headset on my office desktop PC (don't need it, we don't do zooms), have very slow internet access on my smartphone (forget OnAir calling with it, and anyway it would be too much friction to reopen the same web page on it just to call), but have a very well working landline phone nearby.

One possibility you might think about is to get a VoIP number terminated at your server (and possibly a free 1-800-xxxx but those don't necessarily work from abroad), where people can call, enter a code displayed by the OnAir client in the web page (like an extension ID, but it might be random if there's a value in obliging people to come to the web page before calling, e.g. to limit spam calling), and once done they'd be connected as if they were calling through the web page. The limitation with this solution here is that you'd need a number for each country you want to support, as international calls easily get expensive, especially from mobile.

Why does that need to be part of the app? You can just put a phone number on your website next to the call button.
actually I'm curious about how to get a business-related phone number like this? Does Google Voice do this, but also support round-robin, transcriptions, and webhooks?
You don't need a fancy service for this. Every phone operator supports it out of the box.
We actually do that. We have just released a web widget which maps to your current phone number IVR or voice bot flow. Have put a quick link on our web site at the bottom left corner, not clean ,but works :)

https://ozonetel.com/ind/

I believe in this example, OP is requesting a phone number dedicated to the onair coupling. So the "dedicated" number would serve as a prophylactic managed through onair.
Dang! I was about to share this service with my CS and Sales colleagues, but stopped myself when I realized they won’t touch it unless it can be integrated with services like Gong and Salesforce, for call tracking, transcriptions, trainings and archives. I know you have some of these native, but getting a group of people to move to a new app yet again is harder to do than bringing your service to their existing environment.

If theres a way around that, and at min. Leveraging gong for the recording and transcription, do let us know. Nice service! I’ll personally use it in places like email and linked in to try it out.

Absolutely, we'd 100% love to learn more about that and co-design. Could you possibly send us a note on hello@onair.io?
Hi - very curious. Is your current PBX integrated with Gong/Salesforce? What if something like OnAir could be another channel for inbound calls?
Can I use this for my intercom?
I really don’t get this. If I’m a customer looking to call someone, I would rather call, leave a message, and get a call back then have to keep checking over and over to look for a green link that says that a rep is available.

I also don’t want to make a call from my web browser, I’m off on a device without a microphone and headset connected, and if I’m on my smart phone the actual phone capabilities are a lot better in a phone call (I can mute, switch to speakerphone/bt, and hold the phone up to my ear without pressing any buttons on screen).

Looks promising, though it needs a workflow for when potential customers click the link and you show as busy. What then? They aren't going to sit and refresh every 5 minutes waiting for you to get free.
Agreed. For now, you can customize the offline message, such as saying "I'm typically online 12pm-4pm on Mon/Tue", or alternatively, drop a Calendly link or your email.
> E-Commerce store owners... are not responding as expected... Ideas are welcome.

What about audience engagement for streamers? my first thought when I saw this was oldschool public access "phone in" shows.

of course, a different usecase demands a different featureset (like, delay, moderation, OBS integration...

Jitsi Meet ( https://meet.jit.si ) has been doing this job for me for a few years and I'm pretty happy with it. Easy to self-host too.
Had launched something like this in 2016. We had called it as ering.me, so you could have an url like ering.me/handle. Used it in email signatures, web calling etc. It didn't pick up at that time or we didn't market enough :)

Hope the market is mature now and products like this succeed. All the best.

I'm not really surprised. The people who grew up with phone calls and who like to "hop on a call" to work out issues are all aging out. They are in their fifties at the youngest, if not already retired. It's my experience that far fewer younger people reach for the phone as a first means of contact. It's not preferred, and they try to avoid it.

And by "call" I mean direct, synchronous, real-time conversation. Whether literally a phone call, or an online voice or video call.

The nice thing about real time calls is they help avoid confusion, convey more emotion and information than most messages can.

There is less ambiguity usually during a real conversation.

Conversations tend to resolve very quickly because in the span of five minutes we can go back and forth on multiple questions, get clarity and finalize how we want continue. Some things require this but not everything. There is a balance as with everything.

Of course all points are correct - and yet

> nearly half [of gen z] admit that speaking on the phone makes them feel anxious (49 per cent)

> an awkward phone call is one of the top three things they would most want to avoid (42 per cent)

That being said I'm quite confident there is enough of a market that doesn't dread talking on the phone that this company could do very well for itself and its founders financial goals.

---

https://www.commbank.com.au/articles/newsroom/2023/06/CBA-Mo...

I wonder how this will change as it becomes more and more normal for companies to shunt you to horrible chatbots. Maybe we'll shift back to needing a real human.
This! I had to get a court order against my bank because there was an issue and all responses I got from them were not generated. Only after getting the court order did I get the attention of a human, which was their lawyer. We had a pleasant conversation, and the issue was solved.
I mean, if you need a human, you need a human. But the companies where you seem to need humans to help make it hard to reach them, by phone or in writing.

I prefer in writing, because I always hope that when it eventually gets to a human, they can read the whole conversation and save a lot of time. Using voice, almost always, I have to repeat the information to each person as we go, and it's tiresome.

For me, my reluctance to use the phone is that 90% of the phone calls I get are spams/scams or to put it most kindly, unsolicited. I have just developed a visceral dislike for answering phone calls. My phone is set only to ring if you're in my contacts list. Everone else goes to voicemail (I guess -- I never set it up and I never check it).

When I was young we had a landline at home and yes there were some telemarketing calls but they were not the majority. Most calls were from friends or family or legitimate other purposes. That's not how it is today, at least in my experience.

Part of it is that anything other than a local call used to cost money. So there was a financial disincentive to robo-call thousands of people hoping that you'd find one rube.

How do you handle calls from unknowns like Doctors, hospitals or clinics?
Tell them to leave a message.

The problem runs the other direction as well. Friends in the US tell me that the local hospital no longer permits direct calls to rooms, on account of both robocalls and spams. It's now necessary to call through the operator.

This is a (slight) inconvenience to friends and family, and a considerable workload and staffing burden for the hospital.

I've been predicting the death of telephony, as in a universal direct-contact, single-directory (as in: everyone has an identifier which can be reached by any other party regardless of provider) for about a decade now. It's a death-by-a-thousand-cuts phenomenon, but increasingly it's difficult or impossible to reach specific individuals or organisations by phone. The issue isn't just landlines (used by a minority of households in many states, though some such as New York are apparently still above 50%, contrast < 20% throughout much of the central US), but all public switch telephone networks.

Expect a fragmentation to various online services (FB, WhatsApp, Google, Skype, Zoom), home-rolled networks, and those who just opt out fully.

Fortunately I've had very little need to receive calls like this but I would ask them what number they will be calling from and add that as a contact.
Synchronous communication is sometimes effective, but when its the default it is plodding, wasteful, and an absolute minefield of anxieties and banalities for some people, myself included.

Strangely, it seems like the world is becoming more like me over time. I tend to think of my preferred communication style as strange and awkward because that's what a lifetime of experience has taught me but the new generation seems to also prefer it.

I recognize your position is appropriately nuanced, so this isn't directed at you, but I hear this sort of thing almost daily and I think it's usually an incredibly lazy take.

Often we end up convinced we are on the same page when we aren't just because our communication is constrained (and accelerated) by social protocol. At least when it is written out you can go back and re-read or directly quote someone. In meetings I find myself constantly pointing out when someone has been fundamentally misunderstood in a way that aligns with the listener's existing beliefs/preferences, "oh, I think what Frank is saying might actually be the opposite of [your interpretation]?".

There are pros and cons to different forms of communication. Sometimes a call can help cut through layers of misunderstanding, but for more complex topics, often it's difficult to get a group of people to all be present enough to share genuine understanding. School is a great example of how ineffective this can be.

Laughing at this because last time I tried to arrange a call to get my detailed questions answered it was immediately obvious that the person I worked with had NONE of the answers and I was wasting my time.

I wasn’t even convinced there was a working product after that.

So it goes both ways.

That's not a problem of the channel(call) right? That's a problem of personnel.
I am in my mid-30s and am definitely a “let’s just hop on a call” guy.

So much quicker, easier, and less chance for miscommunication IME.

If you're a business, nothing beats "let's just hop on a call".

For me at least, the first one that picks up my call is the one who gets my money. "Send us an email, here's our WhatsApp, ..." kind of thing, I don't even try.

I think more generally nothing beats being able to communicate with a customer in the way the customer prefers. If that's email, that's what you do. If it's a phone call, that's what you do. But I think as time goes on the number of people preferring a phone call will continue to decline. Time will tell I guess.
For customer/client communications, absolutely.

Internally however, once I figure out someone is haphazard with meeting time and meanders around in meetings getting precious little if any action done, I take proactive measures.

When they request a meeting, I ask for the agenda and the outcomes they want to take out of the meeting. Most of the time, everything is hashed out in advance in async channels and the meeting is either highly abbreviated from the original invitation or cancelled altogether because it turns out, the rest of the invited attendees also weren't crisp on what the meeting organizer wanted.

The number of people who call for a meeting simply because they haven't organized their thoughts, asked the right people the right questions, and are simply waiting around for someone to tell them what the correct next step is...is thankfully not an alarming number, but nonetheless simply a personally idiosyncratic annoyance to me.

The one that doesn't need a call gets our money.
You're right, we struggle with this at our company, getting CS to just pick up the phone and call the customer. Sales, no problem, but any other function of the business they dont prefer phone.
Hmm, I’m not sure about this. I’m in my 30s. Use lots of Slack huddles at work, with colleagues of all ages, and I caught up with a couple of friends this week on regular phone calls.
Many of the SaaS/PaaS Show HN's here fail to get our business because they have team or business plans behind a Call Us (especially silly for metered usage). We want our team to use SaaS/PaaS before tackling it themselves, and the team will if the barrier to "already using it" goes down.

Talking to B2B SaaS here:

If your service adds value to small to midsize firms, and we can sign up without calling and still get (a) team features, and (b) sign-in with Apple/Microsoft with a domain match (and/or SAML SSO, but that's hassle), you almost automatically have us as a paying client. (Sign in with GitHub and Google don't count if you are trying to get IdP using clients outside the tech bubble.)

We do not want to "Call Us". Likely those who could talk with you and make the decision cost more per hour than your service costs per year per user. Costs you money too, and the friction costs you more in missed opportunities.

We don't want to book meetings. We are building, not sitting on Zoom calls to hear "sales engineers" unable to answer basic tech or security questions we can answer ourselves once we have access to docs or better just use it.

You let individuals sign up. Firms are just individuals roaming in packs.

Let individuals sign up their packs too.

> The people who grew up with phone calls and who like to "hop on a call" to work out issues are all aging out. They are in their fifties at the youngest, if not already retired. It's my experience that far fewer younger people reach for the phone as a first means of contact. It's not preferred, and they try to avoid it.

That is not at all my experience, and I'd correlate it more to junior/seniority than age directly. I think perhaps more junior there's a temptation to screen-share (screenshots over pasted code/errors too) to show how confusing something is, where with experience you're more comfortable asking a question(s) in text and understanding & applying the answer(s).

Looks good, I want to give it a try next week.

Appear.in (now called https://whereby.com/) used to have the same functionality and I would just share my link everywhere so that team members could call me whenever they wanted.

Although, Facetime is kind of the exact same thing isn’t it?

This may come as a surprise to you, but there are plenty of us who don't have Apple devices to use FaceTime with.

OK, I do have a Mac Mini for development purposes, but I don't want to have to drag it out of storage just to make a call.

Apple users can send a facetime link that is usable on non-apple devices.
Which I suppose is a failure of marketing by Apple? If casual non-Apple readers of HN don’t know the links work for non-Apple devices, no one does :)

(I’m an Apple reader of HN and I didn’t know this either!)

Haha, I've just talked with the author. :) There is a market for crowded cities, I think. When you park your vehicle in front of a crowded place etc you can print/write a link to reach you if needed. There are some anonymity number services, but for internet users, this can be a solution to keep their numbers private. Good luck!
Such a link could be created automatically when you register for a car plate.
Apparently in parts of Asia (I can't recall which between CJK) it's customary to have a cute little widget mounted inside your driver-side window that you put your phone number on, and it can be opened and closed as needed, and people know to check for that anytime they need to contact you to move your car. Seems quite civilized. Although I wonder if that means that people double park all the time...
Is it built with Ruby? Looks like the landing and login page are.

Should probably consider moving to Elixir, if that's not what you're using on the server already.

What's wrong with ruby in this case? Ruby in 2024 can easily handle an app like this.
Let's flip the question. What is it that Ruby does better than Elixir for this domain?

I can't think of anything. One could argue that Ruby might have a larger package repo to pull in dependencies from, but this being a telecom adjacent domain you'll find that Elixir and OTP solves some tricky problems rather well that mainly object oriented languages tend to struggle with.

You'd also get out of having to skip between your application language and Golang down in Livekit, since the Membrane folks have built a standalone WebRTC platform: https://github.com/elixir-webrtc

In production Ruby code bases also tends to degrade over time. The team will sometimes find itself under duress and push magic tricks that Ruby allows to prod. Perhaps it's a matter of taste or whatever, but I've found most of the Rails applications I've come across somewhat hard to learn and debug. Similar to annotation driven applications in Java things can get really weird and brittle. These things are harder to accomplish in Elixir, which also seems to get a rather clever gradual typing system.