The whole product seems to hinge around easy links to book meetings, but usernames appear to be case sensitive.
I signed up with a capitalised name, but trying out the non capitalized link, I'm told this username is still available and you can register it.
Maybe I'm overly cautious, but this feels like this is a feature waiting to be abused.
Unique links like this work well over trusted comms channels, like email or slack. I don’t think typo attacks are particularly fruitful, but sometimes you need to type manually, in which case you’ll break the link. They should probably make canonicalize identifiers.
What I would worry about though, is tracking. If you can see calendar status via a link you received (or even guessed), you can follow that person forever. That’d be fine for public use-cases, like therapists, but I would never share my calendar publicly, even if the details are masked.
A great compromise, imo, is to generate temporary links, that are hard-enough to guess. That let’s you avoid rolling your own permission system, while providing excellent privacy by default.
If you want to do a rigorous job preventing these issues, you can try the skeleton algorithm from tr39. It provides a normal form where confusable characters are considered equivalent, which let's you easily find confusable identifiers in a database.
I've poked around a while ago at some Calendly alternatives (specifically was looking for something that was cheaper than Calendly with most of the basic features).
I tried using https://cal.com for a bit but ended up just switching over to https://zcal.co and it has been great so far. All these other scheduling tools end up trying to do too much and always seem to end up a bit clunky and charge absurd amounts for it
I needed a scheduling solution that let me tweak a bunch of knobs regarding when I was available, for what, how much that cost, how that payment could be processed, my team, different locations, how full to book me, which notifications to send to whom and when, which data I needed to gather for each type of appointment or package of appointments, and, and, and, and before you know it I've given the developer 5 years worth of feature requests, and I'm just one of their customers.
Hey - one of the cofounders here. It’s exactly this.
I totally get the point that’s being made, but to be able to have a product which is good enough to sell, we have to be able to cater to the hundreds of features that customers tell us we need.
Everything we build is entirely community and customer demand driven, so effectively all of these features are in place to support every different use case that customers require as part of their scheduling needs.
We are looking at ways to make the app simpler, with the advanced options still readily available for those who need it. For example, some of our advanced features are hidden as apps which you install to be able to see their options. However if anyone here has further ideas, feel free to create a ticket on GitHub. We’d love your input!
Like how if an ER was run the way software is maintained, then, on a slow day, the doctor would order all the nurses to go in to the waiting room and bust everyone's knee caps.
Maybe the apps themselves are stable enough that the engineers working on them have to work on something. Is there an example of a SaaS product out there with more than one developer that isn’t interested in adding features? I don’t know of any.
I think the issue is if you do not keep adding features then some big tech company or larger startup will develop your feature in house and bleed your user base dry.
Imagine if you did one thing really well (like booking meetings). It would take Microsoft or google a year to copy the functionality into their own apps.
No one cares when money is cheap, but in a recession the first thing cut is going to be some single use SaaS app. For software that was sold with a license key it obviously isn’t as much of an issue, but the recurring revenue makes you beholden to continuously adding new features.
Totally agree. This reminds me of the Innovator's dilemma. The small company comes in, does one small thing really well, and then expands until it overthrows the large incumbent.
We as software developers don’t just get to sit back and blame the money people. We are incredibly incredibly incredibly guilty of piling on shitty features nobody wants because ‘we got that far down the backlog’, don’t want to move on to doing something else, and don’t know when to call it quits.
well, it's because they're separate groups is the problem. The money people don't pay the programmers to sit around and do nothing. so the programmers keep writing more code. if they could just say nope, it's finished, it's done, and step away, and keep getting the paycheck, they wouldn't have to find reasons to keep programming.
Grey area: Product managers/owners prioritize the backlog. Engineering has final say on what stories/issues they pull from that backlog based on their deeper knowledge of technical dependencies and similar phenomena.
Same as all the others, they're planning a premium tier with enterprise functions, hoping that enough happy free tier customers will help convince enterprises to sign up.
I created kalendme.com for this exact reason. Keeping it simple, clean branding and simple pricing for $4 per user per month also with a full API. I’m a solo founder but with a solid B2B deal powering a YC telemedicine company’s scheduling.
What ends up happening is that B2B companies prefer 'value' over 'simplicity' or user experience and end up building features without proper product design. This is required for them to expand their B2B offering and hence end up being 'clunky'. It's inevitable - much like most enterprise softwares.
Inevitable when your management only acts in short term best interest. Although less common, there are some people that also care about long term and common good.
take your hourly rate, plus the other person's hourly rate, let's say $100 each, multiplied by 10 minutes spent on emailing back and forth that were avoided, and out pops $33.33.
Calendly is only $12/month for their professional plan which saves you money if you even schedule only one meeting a month with it.
I pay Google $6/month/user for email, docs/sheets, video conferencing, and some online space, and I still think I pay too much because many of my users only need email for internal messages. $12/month/user for a random side feature is absolutely absurd.
I'm against any and all per-user fees because it's death by a thousand cuts and I refuse to allow that to happen. I will take the time to setup an open-source thing that does the same thing, even if the hourly rate of my setup ends up costing like five years of service JUST BECAUSE I'm that against per-user fees.
Would you rather a base, say $500/month, and then a trivial per-user fee? Say $0.50? Because obviously each user will incur additional resource usage, so you can't really be that against per-user fees when each user literally takes up X more MiB of space. Since you are that against per-users fees though, I'm fascinated to hear why.
On S3? $0.023 per GB. The data is most likely stored between RAM and SSDs these days. Aka on microchips made up of silicon. Which is sand. Which is all of, like, $50 for a literal ton of it. If you want to ask someone what about their mark-up, look at TSMC, their raw material is practically free, and they deign to charge exorbitant amounts of money for melting it in a (very, very) special way.
But you're not paying for storage costs, you're paying for the salaries of everyone involved with making the product, as well as the hosting costs, and some amount of profit to do with as they please.
Which is fairly pretty central to how capitalism works!
My earlier point is that they have enterprise plans, for those that don't want to pay per-user fees, but, uh, they're enterprise priced.
* This hour rate is absurdly high for huge part of the world. Try $20.
* This argument is used by every SaaS ever. If you want to use everything in that model, you would need 20 of them. At least.
* Slack is $7 a month. Office package starts at $6. Github starts at $4. These are huge tools that make work possible. Small random tool priced at the same level is expensive.
1) It's USD which implies, largely, that we're in the US. If we want to talk about global wealth inequality, that's a whole other can of worms. But, fair, $100 is rather high. Calendly is used by a lot of white-collar workers though and who generally make more than $20/hr. But sure, let's redo the math at $20 on both sides. $20 means $40 total, divided by 60 * 10 gets us $6 and change per scheduling, or 3 meetings a month to make it worth it.
2) Yes? I don't know about 20, but
1 project mgmt: Trello/Monday/Clickup/etc
2 if programming, github/gitlab/etc
3 an Office suite (MS or Google Docs),
4 Email (gmail/office365)
5 comms (Slack)
6 web hosting (squarespace/wix/godaddy/roll-your-own on AWS/GCP/Azure)
7 scheduling cal.com/calendly
8 healthcare
9 payroll (gusto)
10 bookkeeping (pilot.com or quickbooks)
11 401k
Those are just the ones off the top of my head. I'm genuinely curious to hear what I've missed!
That's besides the point though. Tools do a relatively specific thing. You can't use Slack to pay employees instead of Gusto, Slack doesn't even have a way to transfer money! So you need a tool that does the job that you need done. If it takes 20, it takes 20.
Just because a particular SaaS company uses that argument doesn't mean you have to buy their service. If you can do without it, then don't buy it!
3) Yes but that small random tool does a very specific job. I don't care if hammers are free and screwdrivers are expensive, if I need a screwdriver, I need a screwdriver and I'll pay whatever it costs. (fine, sure there's some point at which point you can reengineer something to use a hammer if a screwdriver's that expensive, but if you're smart enough to make that point you're smart enough to get my point)
Anyway, my real question is what is it about making tools that makes people so cheap? And not just software either, Harbor Freight has been making everything out of Chinesium which is ludicrously cheap, to Craftsman's detriment. If you go and see a movie you really like in a good theater, you're happy you paid for a ticket and ate the overpriced popcorn, when you could have torrented it for free at home and watched it on your phone. There's something about tools that brings out the cheapness in, at least me, and I'm trying to figure out what it is. Is it simply because we need so many of them?
https://xkcd.com/2347/ is all too true, but then Dwarf Fortress and they became millionaires overnight! Not that I begrudge them that money, but just that like, human psychology is so interesting!
1) I work half of the globe from US. We've half of the contracts in USD, valuation in USD and use the same tools as people on your side of the pond (yay internet). Sending invites via outlook (desktop app, paid once) is free and usually good enough :-)
2) IDE (Jetbrains), knowledge repository (wiki,confluence, notion), on-call management (pager duty, jira SD), error monitoring (sentry) - just a few from the top of my head. AWS pricing and size of the offering is topic on its own.
3) it's not being cheap. At least not only that. Take a look at this summary [1] I stumbled upon recently. According to this calculation tools may account for almost 20% of recurring expenses in Sweden. Sweden is far from being poor. What's more important - you must pay, because otherwise you lose it (hope it never happens to my screwdrivers or popcorn). This is huge liability, that may stop your company from operating. Often really unnecessary.
3) Software devs are getting off lightly! If you need to do high-end CAD, Solidworks is $167/month with an $8,000 upfront cost. Looking at other industries, a general contractor's tools are several thousand dollars, same for an auto mechanic. Going even further, the "tools" for a bus driver (aka a bus) costs $500k; a pilot, $x00 million; a cruise ship captain likely tops the list, with cruise ships construction costs being over a billion dollars! What's the switch that flips through for tools, when compared to something like dwarf fortress, which made the brothers into millionaires as soon as they put it up for sale. They worked hard at it for many years to get to that place, but it's that people rushed to give them money to support them. No one's doing that for OpenSSL or Cal.com.
If you have to view things that way, that summary is bloated. stop paying for slack, use google starter for $6/mo instead of microsoft or google standard, don't pay for tailscale, host your own go link system for $0, host your own gitlab so you're not paying for jira or gitlab, wtf is bonusly; VSCode is free...
AWS can easily go into 6 figures/month, so you could get a decent bus for that too, and maybe even a plane in some years of operation :)
I'm not against paid tools in general. My company pays for many - lots of IntelliJ licenses (at least XXk eur/year), jira server (hard to summarize over the years, but probably at least couple of cars worth) and many others, but we prefer "pay once and own it" model, because we updated when we needed. Sometimes we pushed this for later and spent cash for raises and/or additional people, which were more important than minor software updates. That's why I really dislike subscription model - you don't have this choice - either you pay now or you're out. Don't like new prices? Feel free to migrate for couple of months (while still paying).
> don't pay for tailscale, host your own go link system for $0, host your own gitlab so you're not paying for jira or gitlab, wtf is bonusly; VSCode is free...
We actually host ton of stuff on-prem. Isn't nearly as bad as people like to frame it. Of course we have some subscribtions, because it's business not crusade, but in general keeping mandatory recurring costs low, proved to be good strategy.
1) thank you for that perspective. Mind sharing which country? I'm always interested in regional variances. The Apple Store deals with this by not allowing developers to set prices directly, and instead, lets them set a price point, and then Apple handles the foreign currency exchange rate and cultural differences about the price points.
2) This is a good list of tools! We could further into AWS and say there's a app server, a database, a pub/sub, a load balancer, and a payment processor.
I had been trying a bunch of Calendly alternatives until I came across zcal. It seems to have the perfect balance of functionality, simple design and affordability (I mean its literally FREE, so can't complain).
Hey, Peer here, Co-Founder of Cal.com. Wow this has been overwhelming! Shoutout to all the nice people in the comments supporting us. Also thank you all for providing valuable feedback, reporting bugs and more. The beauty of OSS that everyone can contribute, participate and help.
Entirely possible that this is a stupid question, but I hope I'm not the only one who has it.
One thing that's made me twitchy with everything in this class of services that's kept me from considering using them - are they working only with shared free/busy or am I correct in believing that you basically have to give them "keys to the kingdom" for them to work with most of the vendors?
Maybe I just haven't paid attention (OK, definitely true), but I don't recall seeing a lot of discussion about most providers having good permissions granularity that would let me say "grant access to my M365 free/busy data but not appointment contents, email, Sharepoint, Onedrive, etc" or "grant access to my Google Workspace calendars X Y and Z but not to email or storage."
Am I missing something and limited access has always been there, or am I correct in believing that granting the calendar access that these need also includes a ton of other access that people may not recognize?
That’s a great question. When you connect your calendar with most scheduling apps, there’s really nothing stopping most of them from doing malicious things behind the scenes with your data. You don’t really know if they’re just querying your availability, or actually pulling specific event data.
With Cal.com, that’s different. Since day one, I built it to only check free/busy times and that hasn’t changed. Also, as it’s open source, you can literally go on GitHub and verify what I’m saying, as well as comb through every line of code that touches your calendar.
It’s the same principle that keeps something like the Linux kernel free of malicious software. There’s enough contributors from around the world that audit and review the code, that you can ultimately trust that there’s nothing malicious going on behind the scenes.
Also just to clarify, with how most major providers’ permission systems work, it’s scoped that we can only access your calendar data, and not contents of your email and such.
I'm not even so much concerned with services like yours doing something malicious behind the scenes - I'm much more concerned about them being hacked/compromised in such a way that saved tokens could be used by an attacker. Maybe I'm wrong, but I suspect that there are services that get granted calendar, email, file access that could be considered much 'squishier' targets than the underlying services they connect to.
So, if you're getting the minimum viable amount of access to someone's calendar, what's the worst that could be done by an attacker with persistent access to your backend systems, and how does it vary between different services you connect to (e.g. Google, M365, Outlook.com, Zoom, etc.)? This isn't even really about your software, more about "how restricted do the underlying services allow my access to be?"
On Google Calendar as well as Fastmail Calendar there are options to create a share link for your calendar which only exposes availability but not any details of the events other than date/time/duration. It’s not granular other than that though. I use it to share my personal calendar with my work so I can e.g. schedule a doctor appointment with details and have that appear and affect availability in my work calendar - it just shows up as “Unavailable” with no other details.
M365 has something similar (ability to share a calendar with another entity (by providing an email address, which presumably triggers an email with a relevant link) with some granularity as to what's visible), but I think when I looked at one of these "shared calendar scheduling" options quite some time ago it wasn't looking for a sharing URL but for an OAuth connection (probably to be able to add appointments directly to a calendar). That made me twitchy enough that I bailed on the idea.
Both O365 and Google have features that let you send your availability to someone to facilitate booking a meeting.
Both platforms move glacially and poorly communicate, but solutions like this are ultimately tick boxes for the platform products. So they live in that niche market of products that are actually complicated Excel formulae.
Calendly doesn't ask for Google drive or email access, and limits itself to calendar reading and writing, if that's what you're asking. Other, shittier apps may ask for more, but don't draw conclusions where they aren't warranted.
As I said, it may be a stupid question - it's been a long time since I looked at any of this, it's possible it predates Google having granular permissions on sharing.
coincidentally, we did an interview with one of the co-founders a few days ago. dropping the links below in case anyone wants to learn more about their philosophy & how they navigate the oss/startup waters
Interesting the nextcloud calendar app we use internally in the organization I work for has a similar "book a meeting feature" which I haven't (yet) took advantage off.
If someone is familiar with both cal.com and that feature, I would really appreciate a view of pros and cons.
NC has two apps: calendar and appointments https://apps.nextcloud.com/apps/appointments. If your org is already using NC calendar and other apps, using appointments is great for allowing people outside your org to book you according to your preferred schedule and against your calendars. Cal.com has a few more features, but there are trade-offs. NC appointments is easily installed, integrated, and maintained within your NC install. Cal.com will require more work to install and integrate. NC is somewhat best in class rather than best of breed (The overall solution is great even though some of its apps are not as full featured). In summary, if appointments has what you need, you are probably better off sticking with it.
For those on Microsoft 365 (by choice or via your company), have you tried or adopted Microsoft Bookings [1]? I noticed that Bookings shares some of the core features of Calendly, but integrates with Outlook and Teams. It sounds interesting, but I haven't heard much discussion about it.
We tried it, was super buggy and had display issues on smaller devices. FWIW we also tried cal.com and had equally many issues — the first week we tried self-hosting and it must’ve crashed half a dozen times losing a whole bunch of bookings.
Nice thing is it being open source and Prisma based means you can just scroll thru the source and roll your own solution in a couple hours of dev work
Microsoft still Microsofting. We starting using DevOps recently, aka Visual Studio Team Services, and some of our employees can barely get through the login process.
My school (at which I am a student and for which I work as an academic tutor) provides me with Microsoft Bookings, and that is how all my tutees book tutoring sessions. It's worked pretty great for me so far, and I haven't encountered any issues. It integrates nicely with Outlook & Teams.
Last I checked, it doesn't allow integration with calendars from non-Microsoft sources (e.g., Google), so it was a non-starter for me. After using Calendly for several years to offload that aspect of my life, I'm back to listing out times I'm available to folks in emails to try to coordinate meetings since my new job only allows Microsoft Bookings.
Tried signing up using Google OAuth, not allowing any scopes and got the following error:
```
{"message":"\nInvalid `prisma.user.findUnique()` invocation:\n\n\nError querying the database: db error: FATAL: remaining connection slots are reserved for non-replication superuser connections"}
```
We’re experiencing our biggest spike in signups yet (see cal.com/open for the data), so our database got overwhelmed for a second. Rest assured, we’re on it :)
The moment I actually sat down and played with one of those “isomorphic” “frameworks”, which was not too long ago, the whole thing immediately made sense to me.
Google Calendar does appointment slots now too. Works great, use it all the time to let clients book time with me. I don't need Calendly, or Fantastical now. (Mac app that had a appointment webapp)
It also assures customers who have concerns about the longevity of your company that, even if you folded, your product itself wouldn't just vanish. So it's a kind of insurance in addition to being a marketing strategy.
First is longevity. Especially considering we’re a startup, if a huge company is evaluating using our product, they’re going to wonder if we’re going to disappear in a few years. Open source doesn’t disappear: https://cal.com/blog/longevity
Secondly is that we’re a developer focused product, and so making it open source for hobbyists to play around with is a great way to introduce people to our product with the hopes that one day they’ll build their next company using our scheduling (so it does help as a sales channel, although definitely not the primary reason)
Also transparency and privacy. Users know how their data is being handled, which for me personally is a huge plus. I want to know what the software is doing if I’m giving it access to my calendar.
There are a few other reasons too, maybe I’ll write something on the Cal.com blog
Anybody with money to spend is going to be astute enough to realise that the burden of self-hosting is far above any potential direct cost savings, and so self-hosting becomes an option utilised only by those who probably wouldn’t be going to pay for it anyway. Essentially, it’s a pain-in-the-ass free tier.
If it’s going to be utilized almost exclusively by those who wouldn’t pay anyway, then as a business there is no loss of revenue by providing an open-source version.
And although this company may not want to or be able to afford to spend much making it easy, I’ve used one piece of software that the business goes to great lengths to make easy to self-host.
My phrasing must be bad because you've just said exactly what I was trying to say. I certainly don't intend to frame it as a bad choice, I think it's a great choice, I was addressing why offering open-source does not cannibalise paid customers and why it can be a sensible business decision: people who would choose to self-host aren't going to pay anyway.
Maybe "pain-in-the-ass free tier" was unclear, I mean from the perspective of a customer: it's such a pain in the ass to get the product for free that it makes sense to pay for it for almost everyone.
They get the attention and business of people like me who actively avoid vendor lock-in. I'm very open to (and often end up becoming a paid customer) products that have open options, and I also typically bring my org along with me. Most recently I did this with Tailscale. (Note: If not for the Headscale project, I would never have become a Tailscale customer so their openness is gained them at least one ARR of about $2k that they otherwise would not have gotten)
I also tend to self-host my personal stuff but pay for hosted for the business, knowing that if the product changed in unsavory ways (pricing, closed-nature, etc) the business could self-host and escape a hostage situation. It's far from perfect as usually there's a bunch of data in their DB that you can't easily export, but with proprietary/closed solutions that's nearly guaranteed to be the case.
People used to sell software. Now they give away the software, but get first dibs on hosting it for a monthly fee.
Works well for anything that Amazon can't be bothered hosting :-), basically apps not infrastucture (although this title wierdly calls itself infrastructure, but that is probably sales hyperbole).
Another reason I really like open core, besides the reasons mentioned, is that suggesting and collaborating on features that I'd like is a much better experience through GitHub or GitLab than it is via some terrible support channel where I know it's never going to be seen ever again.
1. Focus on advantages and benefits of your product straight on.
2. Do show your product. It’s hard and difficult to keep it up to date, but the value outweighs the cost.
3. Use short memorable phrasing, but expand as necessary.
4. If your product has nerd value baked into it (e.g. some powerful protocol that mainstream competitors do not implement) do make it a major feature but explain the benefits to the uninitiated (“we support JMAP, the more powerful alternative to IMAP that allows you to use X app and service”)
5. On the visual side: keep it simple and add a single gimmick, such a background pattern or a strange gradient. Reuse that same gimmick in subtler versions with color/shape/position variations. Always strive for readability, not effect.
6. Pricing must be easily accessible. Explain in simple words if exceptions apply (student discounts etc)
Completely off-topic and I apologize for the nitpicking: I recently learned the nuance between complex and hard [1], is there a nuance between hard and difficult?
As an experienced web designer I can tell you the design and implementation are straightforward, but very competently done. There are many things like the typography and UX writing that suggest this is the work of a fellow experienced designer. There’s much more here than what can be captured in a “guide” - it’s just an overall high level of design competence.
As a user without any web design experience, the site felt very nice to me... except that the demo ("schedule meetings without the email tennis") hijacked my scrollbar. That felt awful.
I wish. Page design is one of those things where you can feel like an expert when looking at someone else's page, but as soon as you attempt it yourself, you end up making a mess and filling the page with all your own personal pet peeves.
I think the best advice is probably to start as simple as possible: no more than two columns with responsiveness to one column, no more than a few colors, etc.
But also, I wouldn't be too hard on yourself comparing your own work to this site. Someone spent a lot of money on a three letter domain, and they probably spent some more on the design for it.
Design is a function of your content. Start there. Write the content for your website. Edit it. Structure it in logical groups that transition well from one another (story).
Once you have that, you can start thinking about visual design as a way to emphasis and give a punch to the meaning of each piece of the story. Don't let yourself get distracted by superfluous design elements you see in a lot of modern website. You might use or two of those, but you might just keep it minimal, focus on good typography and visual hierarchy, and your website will look professional if you master just those few things.
the problem with cal.com "open source" self-hosting is that they have made it quite difficult to run yourself. For example this https://developer.cal.com/self-hosting/docker actually doesn't provide docker images but you need to build it yourself because for some reason frontend needs hardcoded hostname. In no other app I have seen such limitations :)
Also, an older version from a year ago just stopped working, couldn't fix it, couldn't update it either :D
It would be good if someone made a fork with fixed setup and docker images for self-hosting :)
One reason would be a CLA. Presumably to contribute to their main repo, you need to sign a CLA to ensure they can relicense this thing as needed. A separate fork wouldn't have that requirement, or shouldn't if it's in good faith.
IANAL, but that could have some interesting implications for their enterprise licensing/builds I believe. They can't relicense the code for their enterprise builds, so it stays AGPL due to linking/AGPL infection. Would be an interesting court case.
IANAL. As a contributor? It means the company can relicense my contributions into a license that is wildly different from their current one (including no license/copyright). It affords me no benefit.
There are CLA alternatives like the Developer Certificate of Origin (DCO) that ensure the company has the "legal standing" to accept a contribution without infringing on copyright, but it doesn't give them the ability to relicense.
Sure they could relicense it to something wildly different, but they can't retroactively take back old versions of it, so you can still run it as it was when you made the contributions.
I wish nobody required CLAs, but I'm glad that there are products like Cal that would (assumedly) be closed contribution otherwise due to (real or perceived) legal risk.
It means they can sue for open source license violations on your behalf, something that's a bit harder if they don't actually wholly own the copyright.
Didn't want to sound disrespectful, I did like the UI and liked the idea of self-hosting. Regarding fork vs pr - just putting myself into their shoes I understand why there's probably no will to make the self-hosting easy and potentially make it a bit harder than it should be :)
This puzzles me, there are often cases where hostnames are baked into frontends. Also, not everyone wants to use docker, so it's not exactly mandatory to have docker images. Dockerizing most things is rather simple, anyway.
I'd quite like to move my wife's maths business away from Calendly. But unfortunately Cal.com doesn't support payments for events yet. So that will be a sticking point for now.
My team and I are about to launch Talk With Me[1] which would allow you to book video calls with people and accept payments for those sessions easily. You can claim your custom URL right now and we hope to launch in the next few days. Here's mine [2].
Would something like this fit your wife's use case? And aside from payments, what else are you dissatisfied with on Calendly that makes you want to switch? Thanks!
Thanks for the feedback, we debated back and forth on letting people register the base path ie "/jose" but we didn't want the overlapping conflicts with any other pages we might have on the site. We also wanted the links to be short and sharable and having "talkw.me/jose/book" wasn't too appealing
Thanks for the tool. Curious why you only allow hours form 9am-5pm of subsets of that only, what if someone wants to book evening hours? I was ready to start sharing my new cal.com link but this was a showstopper.
I didn't change the default availability configuration during signup. However, after logging in and navigating to the Availability page, I'm able to create multiple schedules and time ranges per day as late as 11:59pm.
I figured it out, basically, the start-time is constrained by the end-time, which is why I couldnt change the start-time until I changed the end-time first. It wasnt obvious at first, but makes sense. That said, i do wonder if a better UI control would make the operation more obvious.
I've been using it for quite a while to book podcast interviews - I like that it integrates scheduling a google meets room automatically. I do wish it supported more vid conf software options though.
Nice,
One thing that is missing from all these appointment bookings api's and webhooks is letting us bring our own payment solutions.
Webhook for creating a booking but not accepted until they pay.
After creating a booking have them redirect to my payment page with a callback url when payment is finished?
Lots of ways to accomplish this feature.
NO I DONT WANT TO USE STRIPE!
hey, peer here, cofounder of cal.com. We're in the middle of writing a generic payment adaptor which will enable Stripe, PayPal, RazorPay, Lightning Network, ...
Thanks for your work - found out about cal.com a few weeks ago (don't remember how maybe HN or a random cal.com link just wondering what it is [initially thought it was uc berkeley related]) and it seems to work well for my intended purposes. I'm just curious what the intended use case is for a payment adaptor - it's not something that's come up for me yet. Edit: Is it just having folks pay for the meeting time or more than that
it is to allow people to charge for their bookings. we currently run stripe connect, because thats the easiest but we want to extend it to other payment services.
for example therapists, coaches, gym trainers, etc use paid bookings
I want to integrate my own, for my own services, for my own clients services.
I own a payments agency and I write custom payment integrations.
I want control of the payment flow.
you can select the setting "Require Confirmation" and then use webhooks to send your payment link via email or use the "redirect after confirmation" to put your payment gate and connect it
I've been happily using Fantastical for this over the past year. The native Mac and iOS apps are beautiful. And since, you know, we folk here tend to be a little code savvy, I just set up a server redirect from mydomain.tld/meet to the slightly longer Fantastical URL, and it works like a charm. Boom — branded URL, integration with a fantastic calendar app, nice flexible scheduling. Really happy with this setup.
Thanks for sharing this @nateb2022 -- I saw that you also have a Zoom clone which is set up as the default meeting option. This seems like a big leap, though I see the obvious advantage and synergy. How are you able to focus on two very different things as a company (one: calendar sharing UI two: video streaming)?
Just because it's open source doesn't mean it's better/worse than a closed source application. What's important is the ability to clone and to self-host your own instance of the app. If someone is concerned with privacy, why couldn't they just use Jitsi Meet? Someone help me out here.
Since we're already talking about various scheduling solutions, does someone know a project/product that takes care of repeating task reminders like cancelling subscriptions and renew a passport before expiration?
Right now I just set a calendar event (in Google Calendar) for the future. What's the repeating part? Typically I don't have to re-cancel my eg Netflix subscription once I've canceled it until I sign up again, at which point I set a reminder then.
What I'm really missing is the quick add by string that Google calendar used to have. Eg type in "next thursday at 8pm" and it would do just that, instead of laboriously having to scroll to next Thursday, then create an event and set it to start at 8pm.
I've got a side project that is a long-term reminders app. It has a long list of reminders included like changing the oil, test the smoke detectors, flipping the mattress, getting your prostate checked, etc. You could just go down the list and enable everything that applied to you. I kinda lost interest in it but one of these days I should dust it off and get in the app stores.
That sounds great! I plan to build such a reminder service for myself with additional infos like the subscription costs.
How did you managed to show different categories/calendars and how did you do the repeating scheduling of events?
I just create a single calendar specifically for my app, then add things to it directly. Calendar events already support all of the repeated scheduling I needed. I didn't setup anything for categorization directly, but could be pretty easily done by prepending an emoji to the event name.
I used to have high hopes for Cal but of late its been an absolute kitchen-sink with every imaginable possible bloat feature. I wish there were a bloat-free easy-to-install open-source alternative for it.
My number one problem with third party scheduling providers is that they want to have PII which is used for the meeting itself. I'd prefer that information to be only visible to the second party.
All we need is a name and email for your guest. All data is being handled in a way that’s secure and private (we’re open source, you can check the code that touches your calendar), plus for internal security we are SOC 2 compliant and 99% of the way HIPAA compliant.
You surely could be hacked, and while it unfortunately could be said about pretty much anything, this particular case doesn't seem to justify passing PII to the second party.
I'd assume if I'm making a schedule for joint event with a second party, I can inform them about the ways I want to get in contact, directly - say, via email. Third party, which helps scheduling - that is, reminding and showing the calendar in advance - doesn't really need to know anything about me, except that I reserved some time slot in the calendar. Granted, that third party would not be able to facilitate the contact itself, but that's the price for keeping PII, well, private.
Are the Rick astley month sheets static / non-interactive / purely decorative? E.g. I cannot scroll to next or previous month; cannot see a specific day's details?
> Clone the repo into a public GitHub repository (to comply with AGPLv3. To clone in a private repository, acquire a commercial license)
The AGPL won't save you from folks modifying/reselling your software. And if someone was non compliant, are you going to pay the lawyer fees to prove it?
I wish companies would stop using "open source" as a growth strategy.
I've raised this with them previously but they were adamant their wording was correct. I have details of my conversations with them within my repo [1] where I store examples of licensing confusion.
I was thinking the same, but according to [1] some parameters like the hostname are hard-coded. So, that might be why you need to make the code public on GitHub (although still, technically you can still comply with the AGPL with a private repository).
The AGPL is more to clear up confusion and try and limit people ripping off our software.
Open source definitely isn’t a growth strategy for us. We’re huge open source fans, and do actually believe in what it stands for. We’re open source for a number of other reasons, such as longevity, privacy and genuine passion for OSS software (I’ve wrote more about this in other comments here).
However, yes, we are a company that is VC-backed, and so we have to make some decisions that are for the business side of things, and switching to AGPL is one way of cutting down on people trying to create rip off versions of our product.
Folks can still rip off/sell your software (even as a managed service) with the AGPL, as long as they share the source code of their version of cal.com
I think this is more a situation of a small group of individuals looking to fund their development of FOSS scheduling software by offering a hosted solution, rather than a company using open source to grow faster.
AFAICT, their goal isn't to monopolize a hosting solution for their software, just to provide a path of minimal resistance to normal people using their software, and fund their lives along the way.
https://cal.com/about lays it out. Looks like they're a team of 15ish people who raised a Series A, but it seems they've gone about it in a pretty thoughtful way (15 years of runway, atm)
I mean, when we read that page, it doesn't leave a bad taste in my mouth -- saying this as somebody who's generally very skeptical of VC-backed FOSS. It seems like the founders have their heads and their hearts in the right place, to the extent that calling it a growth hack feels wrong to me, personally.
But yeah, in the long term I agree with you, it'll probably fall apart in the way you expect within 10 years. It's hard to outlast the financial interest of investors, even if they're you're friends.
This is pretty cool. They are outside of the US, but even if they paid typically higher US salaries, they would still have many years of runway.
It looks like there might be some funny business with MAU and Total Customers. MAU is only 3,500, but they somehow have 50k Total Customers? And they have a free tier? If only 7% of your paying customers use your product, they aren't going to renew. I expect that this doesn't include churn or is actually some kind of cumulative integral counting customer months or something.
Does anyone else hate that they're using the a rickroll as marketing? It's really put me off looking at the page because I keep thinking of the tune and expecting to be rickrolled. Maybe it's just me.
To use this for telehealth, a US-based healthcare provider would need to sign a BAA (Business Associates Agreement) with Cal. Realistically, the security features you mentioned would only be relevant in determining the punitive outcome of a HIPAA violation.
I found recently (via the sso-portal of all things) that Microsoft has a “bookings” product, which, while a little more ugly: can give you a calendly like experience for no additional money.
I use this myself. Unfortunately you have to click a small "continue as guest" button to get to my calendar- not as pretty as Calendly. But like you said, part of the package
Seriously. I reimplemented and launched the core scheduling features from scratch in like 12 days. React and firestore. Then google calendar integration was something on the order of another day or two.
Very useful little thing, but I sure don't know how you could spend $350 million doing it. The company I made it for absolutely is nowhere in sight of a number like that.
scheduling is simple in the core but gets very complex fast. intake forms, wait lists, classes, multiple appointment calendars, resource limits (say for example company cars ), overlapping appointments , multiple bookings at once (hair cut, dye, blow out) that might require synchronization of multiple people’s schedules, rescheduling and limits on it, handling no shows, etc, not to mention the number of integrations. it’s also a huge market, both for major enterprise companies and literally millions of single proprietors running businesses that make money through appointments
The market value of a solution is not equal to the inputs/resources that it took to create the solution. I doubt they spent anywhere near their company's value creating it.
I didn't say that. Calendly took $350 million from investors. That isn't what their product is earning in the market; it's what they're using to build it. That's what's wild.
You are probably aiming for a high chance of a successful business? They don't want that. They want a low chance of a unicorn.
If anyone wants a wake up call of what normal investors (not VC) value typical companies at, watch the UK series Dragons Den, where they offer people 50,000 pounds for 33% of the company, and suchlike.
Oh I’m very aware. I’ve raised over $60m in my career to date. I wish the world was different, but it isn’t and you’re right, the math for them doesn’t work in other circumstances.
It’s hard trying to bootstrap but it’s depressing trying to run a venture business knowing how much you give up and how it actually reduces your chances of success. Someone recently referred to their past success as a lightening strike, it’s the perfect wording to me. It happens, it’s real, but you shouldn’t expect it too many times in your life.
I'm also in the UK, but I'm aware there's a US spin-off called Shark Tank that many here might be already/more familiar with. I've never seen it, but I assume it's similarly low valuation - what they would call 'mom and pop' businesses.
The truth is more likely that a single VC's opinion carries limited information and you'd need to both do more building and talk to more people in order to learn a more certain answer.
In fact, notice the words of the VC: "I'm not sure..."
VC valuations have largely ignored presence of competitive pressures.
Simply because for most of the past decade there was a much smaller pool of talent and fewer resources available to spin these things up easily. No longer the case.
This is an app that can be cloned easily and has a low barrier to switching for existing customers. SaaS with high costs of switching are the ones with defensible margins.
I was curious about getting a premium username (@christina) but $29 a month (I misread and thought it was $29 a year, thank God my credit card company declined the transaction) is too much.
Love the idea, but $360 for a premium username. Nah. Not doing that. Not for something like this.
For launch of a startup in which usernames are public, charging more for a premium username is interesting additional revenue.
(And I'd guess it doesn't much affect the subscriber boost you get from the people who rush to grab their preferred username or landgrab a primo username on a new service.)
Though I wonder whether a recurring charge for a premium username means that they'll ever reuse a username, renting it to someone else if the initial person stops paying. That could be a security problem (impersonation, a bit like with domain name registrations). And if the initial person knows that's a security problem, keeping them paying for that reason might be a racket. (Maybe this is not a big deal for a calendar service, but it could be for others.)
And the transaction did go through. I’ve canceled the recurring but I’m hoping for a refund for the $30 I spent for something I won’t even get to use (with the custom premium username anyway). We’ll see.
To close the loop, they promptly processed my refund! Appreciate it and I wish the team luck, I’m just not up for paying $30 a month for a custom username, but I love having a good Calendly alternative.
I'd be curious to trace what hands it passed between before landing here. I bet a lot of these ultra valuable domain names have interesting stories behind them.
Ok HN mods please explain how this post gets 315 upvotes in 4 hours and shoots to the top of HN? I just don’t get what is so great about this except the domain name that this gets so many votes
As a previous occasional user of Calendly I couldn't justify the cost of the ongoing monthly subscription for a simpler version of it which is set up and forget. Cal.com seems built with a better plug-in foundations and it's free for individuals with open-source code and open development process. What's not to like?
I feel like they are using open source as a marketing and growth channel. Even if you self-host it, there's no way to self-host the API. You have to pay to use it. So you're just self-hosting the UI. They can change the API at any time or kick you off it. Also the AGPL is a very restrictive license.
The pricing tiers on the website are also misleading/incorrect (edit: may be outdated info). For example, the free tier has unlimited event type only for the duration of a trial period. After that it downgrades you to 1 active event type at a time. I've run into a few "bugs" like that, but it still works well enough that I haven't bothered with the difficult self-host for my recruiter booking calendar.
> The pricing tiers on the website are also misleading/incorrect. For example, the free tier has unlimited event type only for the duration of a trial period. After that it downgrades you to 1 active event type at a time.
hey hey, that pricing is long gone. there are no trials anymore, everything is that is PRO on calendly is free on cal.com
Good to know if true. I ran into that particular issue only about 6 months ago, so I'm not sure about long gone. I'll definitely double check when I have the chance and I've updated the prior comment to reflect that it may be outdated.
Absolutely. All these new open source companies are a bit shady. Supabase was also another one of these although I hear now their stuff is easier to self host.
It's the VC-funded OSS playbook (restrictive open source, monetize support and advanced deployments until the open source loses potency, relicense). Cal.com took money from https://oss.capital/portfolio and others
I don’t see the point in making this open source to begin with, it’s not like their target audience even cares. When you’re selling to developers etc it could make sense. But when you’re selling to doctors, HR, teachers? Eh. I guess maybe they could score a few free bug fixes, but I don’t see much added value beyond that.
Can people book without a Google Account? I set one up and went to the appointment page in Incognito and the appointment page redirects to a Google login page.
People without a Google account can indeed book. Might want to double check that you are testing the Booking page link and not the link to manage your own booking page.
I’m very surprised UC Berkeley doesn’t own that domain name. They have a trademark on “Cal”, don’t know if they’d file a trademark complaint if this got larger.
When signing up I get "Please double-check your email address". It lets me continue anyway, but I guess it's over-zealous about my address being on my personal domain rather than @gmail.com
I appreciate that they allow you to submit it nonetheless. I was expecting to get blocked. My hyphenated address with a .me TLD seems to break a lot of signup forms, and many of them won't let me submit the form with a valid address.
So calendly is worth billions? and cal.com has millions invested and 90% of hacker news readers could build both these products in a weekend or 2 why do these companies exist?
This has got to be one of the misused parable in HN's history.
The Dropbox comment was missing the utility of a turnkey solution. It was like "No wireless. Less space than a Nomad. Lame.": techies missing the value of complicating things in order to produce a product that Just Works.
This comment isn't doing that, it's questioning the resources that it took places like Calendly as it exists. Calendly has a moat in the fact that it has a massive network effect... but it's natural to question what exactly about that moat qualifies a billion dollar valuation, and the answer is extremely little.
If Dropbox had been something you could build as it existed in a weekend it'd be one thing, but you couldn't. You could build something that had the same technical function, but none of the user experience. Calendly isn't that.
"but it's natural to question what exactly about that moat qualifies a billion dollar valuation, and the answer is extremely little."
I am no shill for Calendly but a happy user and as far as I know, they are doing 100M in ARR. It is a lot more than "I can code this app in a weekend". Whether this justifies a billion dollar valuation is a separate discussion but for sure it is not that easy to do what Calendly is doing.
I don't know if you're just being intentionally reductionist by doubling down on this "I can code this app in a weekend" angle when I just spent something like a hundred words explaining how that's not the point or what... but people are talking about the business here.
And it's the whole business: Not just 100M in ARR, but 100M in ARR with what burn rate and what exit that won't just be dumping a steaming pile on the public market as has flown in years past.
Maybe you're just missing the forest for the trees when these questions come up now too: We're not in 2019 anymore. It used to be that every startup with a faint pulse could justify any valuation by throwing up revenue numbers and see a successful exit at some point. Now money is tightening up and people are starting to question fundamentals again.
The comment you replied to is essentially saying: This is a sign of the times, 3B dollar valuation, ~100M ARR, likely an insane burn rate that that ARR doesn't even begin to touch
I don't know how that's even a controversial take unless your argument is "well we've seen even worse do fine" (because yeah, it did well fine in the past climate of free money)
I don't necessarily disagree with the "Is Billion dollar valuation justified" thing but I originally replied to GP who said "90% of hacker news readers could build both these products in a weekend or 2".
dropbox did something useful. It made it easy to share files across platforms and the web. This is a feature that should be part of your calendar software to allow people to create calendar entries in your calendar and see availability.
Not really, depending on how you define sharing. Dropbox added sharing as a feature much later. Their initial product was automatic cloud based backup and sync, across desktop devices. You can still tell by the UX and pricing model - sharing is slightly awkward and I believe rate limited.
I mean the source is there, so if you could code it up in a weekend, more power to ya! I always find it strange that people say this instead of just doing it and making millions being a solo dev.
The ability to just schedule a meeting with someone from a widget on their website seems to me to offer a complete different user experience than having to email someone and go back and forth over available timeslots, even if that back and forth is somewhat automated.
Absolutely. For those who haven't used it, I tell Calendly the hours I'm available. It then lets people book any open slot on my calendar. It's so nice to avoid the tedious "how about X or Y" thing.
It also offers more complex setups. So when I was doing interviewing I could set up a single link for a particular kind of interview. It would offer people slots where both of the interviewers were available and then have the interviewee answer specific questions up front (e.g., their preferred programming language to do the interview in).
But I mainly use it for, "Yes, let's talk, just click this link and pick the time slot that suits you."
I love calendly because:
1) it checks my calendar for conflicts with a link or suggest times in gmail
2) adds zoom meeting details automatically
3) avoids having to do timezone math
I just send my calendly link and don’t have to discuss back and forth about who’s available when savings tonnes of time.
Maybe I'm overly cautious, but this feels like this is a feature waiting to be abused.