Hacker News new | past | comments | ask | show | jobs | submit login
Cal.com: Open Scheduling Infrastructure (cal.com)
576 points by nateb2022 8 days ago | hide | past | favorite | 305 comments





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.

Going off of your comment, I just signed up with /ElijahLynn (CamelCase) and it looks like I have both https://cal.com/ElijahLynn and https://cal.com/elijahlynn available, redirecting to my profile. The UI displays https://cal.com/elijahlynn, fwiw.

I used the link it gave me which seems fine: https://cal.com/patrick-breitenbach-6randomchars

I tried my name with a capital letter and got:

This is a premium username, get yours for $29/mo


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


Have you tried savvycal.com? I've been using it for over a year now. Best calendly alternative I've found.

Another vote for savvycal, happy customer here.

what did you like compared to cal.com?

savvycal has a way better scheduling UI for when you share to other people. I agree that savvycal > calendly. I pay for savvycal.

Is there a self-hosted open-source alternative for these scheduling systems? Would love to host it out for once and for all.


This.

There HAS to be a name for this phenomenon.

These are great products. But then they start adding feature over feature that add no or just little value while making the entire experience worse.

What is this? VC money feature creep?


It's trying to make customers happy.

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!


Hey there! Thanks for sharing. The approach makes sense.

Where and how do you manage your community?


mostly on GitHub and Slack: https://cal.com/slack

It's basically the opposite of the Unix philosophy of "Do One Thing And Do It Well", so maybe "Do Many Things And Do Them Meh"?

Though I'm not sure that calling it the DMTADTM phenomenon would quite catch on.


It would probably be more apt to have an overly generic name that doesn't capture the phenomenon quite so well: IIWII (It Is What It Is).


Thx for sharing. Reads similar to what I was describing!

Not fan of the name though.


Perhaps "encrapsulating" would suffice?

I really like this because it describes how you really are just burying the core value of the product with layers of, well, crap.

Capping?

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.

I think it’s mostly investor driven. More features, higher monthly fees, higher valuations.

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.

Fiction: Software developers develop whatever they want

Fact: Project owners decide features and project managers assign them to developers.


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.

Ah come on. Sure you’re right. But it’s soooo much more fun to blame the stupid money and management type of people.

They can’t even code!



It's called 'creeping featuritis', a common software disease...

>ended up just switching over to https://zcal.co and it has been great so far

Wait wait wait. It can sync my Google and Outlook calendars into a single scheduling service, and they're not charging me anything?

What's the catch here?


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.

Zcal requires the following permission for Google Calender, Cal.com doesn’t:

“… permanently delete all the calendars you can access using Google Calendar”

Granting that takes a lot of trust in Zcal.


why is the amount absurd?

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.


I self host redmine. I offered plan.io $300/yr on my corporate card but they insisted on $600. Too bad for them.

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.

How much does it cost to store 1Gb and how many users does that cover? What is the markup?

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.


You need to check the prices on ASML machines :-) TSMC doesn't do the melting and growing crystals, AFAIR.

Three things:

* 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.

1. https://news.ycombinator.com/item?id=34375755


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.

Sure - it's easy to find going through my comments on HN anyway. Poland.

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.

One sticky note costs you more than $12!?

Would you mind explaining your "one sticky note" workflow where it costs way less than $12?

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.

We're ending this day adding the new "badge of honor" of hackernews #1 to our README: https://github.com/calcom/cal.com/pull/6682

Best, Peer


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?


Hey - one of the cofounders here.

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.

That’s not a terrible thing!


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.

great product with lovely people behind it!

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

highlights (7min): https://youtu.be/gymNEH-skAY

full interview (45min): https://youtu.be/BKCuNhyQlGE


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.

The appointment feature is directly integrated within the NC Calendar app now.

Nice. I didn't notice that until now.

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.

[1] https://www.microsoft.com/en-us/microsoft-365/business/sched...


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.

The actual nice solution would be to fix those issues and commit them back upstream, but hey :)

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.

SavvyCal supports 'login with Microsoft' for your M365 work accounts too, so SSO without the SAML setup.

https://savvycal.com/

// It's disconcerting how cloned some cal.com screens look compared to SavvyCal.


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"} ```

A bit too much info maybe.


Hey - one of the cofounders here.

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 :)


JS backend eh. What is the world coming to?

Nothing wrong with a js backend. Letting your errors leak to the frontend though..

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.

What's an isomorphic framework?

Frontend and backend written in the same language/framework.

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)

Unfortunately, only for business plans.

Oh bummer. I didn't realize that.

It is also an Open Startup > https://cal.com/open

All salaries are posted at above link.

If you're a for-profit company, what benefit do you get by making your offering Open Core?

Is it sales channel, with the hope of converting those self-hosters to paid customers?


It gives you the ability to market to developers and post on HN without actually making it easy to host the open source version

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.


As somebody who's planning on going this route too, I love this blog post and will likely write/do something similar when I get there.

Big fan of Cal.com and other open source businesses like it.


Hey - one of the cofounders here.

There’s a lot of reasons why we’re open core.

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.

They have a paid self-host option… starts at $189/month.

(with enterprise features that most people don't need)

Why do you spin it so negatively?

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.


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.

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).


Free is a great foot in the door, and self-hosting every single application you need as your business grows gets complicated.

I have thought the longest to build a replica of Calendly as a practice. And this got posted on front page.

Anyone know way a guide to make a landing page like the OP has?


Short form:

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)


> It's hard and difficult to keep it up to date

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?

[1]: https://paulrcook.com/blog/simple-made-easy


The landing page is indeed very good design.

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.


Better yet, pick a few shades of grey ranging from white to black and a few shades of _one_ other colour. https://fly.io/ comes to mind. Also, here is a great video on choosing colour: https://www.youtube.com/watch?v=mq8LYj6kRyE

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.

Content-first design: https://alistapart.com/blog/post/content-first-design/


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 :)


Why does it need to be a fork and not contribution to this repo?

There is no end of feature requests, but polite way is to appreciate what is already done by original authors and fill your requests as GitHub issue.

Disclaimer: not affiliated to them, just find your comment disrespectful.


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.

That could be a reason, but I don't see a CLA in their contributing guide[1].

[1] https://github.com/calcom/cal.com/blob/main/CONTRIBUTING.md


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.

I've contributed to this repo (and I also self host Calendly) and didn't have to sign anything.

It _is_ a pain to self-host, but unlike claims elsewhere in this thread I do also self-host the API and database.


> and I also self host Calendly)

Is the core of Calendly open-source?

I skimmed their repos but it looks like they don't include the "secret sauce" to self-hosting your own event+booking platform: https://github.com/orgs/calendly/repositories


Why would you not want such an agreement? It means the main maintainer(s) have standing if there is a license dispute.

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.


> It affords me no benefit.

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 affords me no benefit.

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 :)

Judging by their English they’re almost certainly from the Baltic so I don’t think his tone was intended as disrespectful

what's wrong with this image? https://hub.docker.com/r/calcom/cal.com

let me update the docs


Instructions aren't for the docker image, they are for the standard js installation.

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 prefer to simply install rather than use docker.

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.

I believe they do offer payments, although haven't dug into difficulty of setup. https://cal.com/resources/feature/payments

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!

[1] https://talkw.me/ [2] https://talkw.me/@Jose


Don't put symbols in URLs that need to be communicated to other people.

I'd suggest registering TalkWithMe.com and using your talkw.me domain only as a shortener to redirect people to the main site.


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

And good call on the second thing ;)


Did you build your own video streaming solution or something off the shelf?

We're using something off the shelf to get up and running quickly

https://www.100ms.live/


Hey josh, cal.com does support paid events

Oh damn, didn't realise! Thanks for the heads up

That landing page is really amazing

Happily using it for several months now after getting frustrated with calendly's UX.

Curious what you dislike about Calendly's UX?

I feel like the product's success is largely because they've used clever UX to solve a common, but difficult problem.


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.

That may be an issue during onboarding. I've got an account set up already and I'm able to edit my availability schedule from 12:00am to 11:59pm.

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.

The other comments are right: the full availability page once you get within the app will let you set whatever hours you want.

We will fix this ASAP though!


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.

which one is missing?

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, ...

should be live this quarter


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


Hey Peer_Rich - do you have a contact email? I've got something I want to run by you as a niche payments provider.

sure! peer@cal.com or cal.com/peer

Which payment solution do you [want to] use then?

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

Thanks for pointing this out. But I didn't see that in the webhooks or api. I didn't see something for pending.

you can use LNCal.com and you'll get exactly that but you'll be paid in Bitcoin!

oh thats sick! let me get in touch with the team. looks like a fun project

must have costed a ton for that domain name I guess?

I use and like CalendarBridge because it can also sync multiple calendars.

https://calendarbridge.com/


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.

What FOSS thing is out there for scheduling resources, like a room, or even down to chairs in a room - or booking machine time etc…

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.

Apple Reminders native app

I schedule an email to myself

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.

which features would you throw out the window?

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.

could you say more about what you mean? surely the business needs your name and email

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?

Or is some backend just down?


It’s decorative. Maybe we’ll make it interactive in the future, that could be cool

Largely unrelated to most of this thread:

Does anyone know of a solution that allows people to book times, but only contiguous with other meetings?


What does open source mean when you have to use a hosted solution and "premium" names cost 29 usd / month.


> 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.


It also constitutes a misunderstanding of the license. There's no need to clone into public view if you are your only user.

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.

[1] https://github.com/ssddanbrown/Open-Source-Confusers#calcom


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).

[1] https://news.ycombinator.com/item?id=34508935


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

plausible wrote a good article about limiting it with AGPL https://plausible.io/blog/open-source-licenses

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)


They're venture backed, it's a growth hack: https://cal.com/about

Expect the usual tension of open core shenanigans to eventually play out.


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.


Yep, note how the title is "Open Source" not Open Core.

They know what they're doing


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.


You don't have to use a hosted solution.

I wanted to have a look, but the site lags horribly on my phone, so I'm not thinking the rest of the code is better.

Maybe you need a new phone. It works fine on my 5 year old iphone.

I noticed this too. The site lags on my Samsung Note 10 using Firefox.

I see sluggish website performance on Firefox for Android. Chrome performance seems fine on a Note 9.

They have a GitHub and you can self deploy it on your own domain... use their infra, pay their fees.

I always find it annoying when I cannot register on a website with my custom email. That is the case here.

you can. the hint is non-blocking

Will there be support added for ProtonCalendar integration?

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.

Not HIPAA compliant, or usable in a compliant way, I assume?

self-hosting can be compliant, but the SaaS offering is at 99% completion for hipaa compliance. SOC2 was already done last month!

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.

BAAs are not a problem once the company has HIPAA compliance itself

Self-hosting can always be made HIPAA compliant if you do it right.

How do I know if username I picked is premium or not?

it'll show in the input box when you write it

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.

https://www.microsoft.com/en-us/microsoft-365/business/sched...


Google Workspace also have this built in now[0]. I've happily been using it for a while now.

0. https://support.google.com/google-workspace-individual/answe...


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

Calendly raising a $350mm Series B [1] has to be in the top ten peak-2021 moments.

[1] https://openviewpartners.com/blog/calendly-series-b/


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.

Indeed. Rare as it is these days, a sign of a good business can be that its outputs are bigger than its inputs.

It's certainly up there, although crypto rock jpegs make it look positively sane

I saw founders abandon businesses that were working to pivot to "web3." It was wild.

It will happen again when the market picks up! Web4 we should call it!

Had a chat with a big time VC the other day about a project, told “I’m not sure this is venture fundable”.

Things like this make me think just because I’m not willing to lie and sell the hype that the true sentiment here is “you’re not venture fundable”

Bootstrap life it is.


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..."

Also, lying is bad.


I’m part of a venture-backed business today but recently told a friend that my next move would be to a non-VC tech business for the right opportunity.

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.

hey there. shoot me an email at peer@cal.com for the refund, also happy to give a student discount

remember you can always get a free account with firstname-lastname or similar


thanks Peer!

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.

Almost did the same, couldn't believe that it was $29 / month.

"Premium usernames cost $29/mo. You can start with a non-premium username and then upgrade later."


hey man, someone gotta pay off that cal.com domain haha

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.

cal.com sounds rich... how much was it?

[edit: reading up a bit, I'm really rooting for you!]


I'm skeptical of services that claim opensource but never provide any easily accessible links to source code.

https://github.com/calcom/cal.com

scroll to bottom, click "self-hosted."


Did you try scrolling to the bottom of the page and clicking the GitHub icon?

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

Search: