Setting Up on Railway

As I plan to meet more people, juggling meetings and keeping your day on track can feel like a circus act! Scheduling tools like can be lifesavers, and that’s what I wanted to setup for myself.

I’d used before for an agency I help build, and I loved its clean interface and how easy it was to use. Railway, with its one-click deployments, seemed like the perfect way to get it up and running fast. Well, almost! While setting it up wasn’t super hard, there were a few puzzles I had to solve along the way.

Challenges and Solutions

The one-click deployment went smoothly overall, but I encountered several issues along the way. Some problems were transient and resolved themselves, such as a message incorrectly stating that I wasn’t an admin due to a weak password or lack of 2FA, both of which were untrue. I also made a mistake with the custom domain setup, which was entirely my fault. However, there were additional challenges that consumed more time, and I believe they aren’t clearly explained in either the Railway doc for or on the website.

The Elusive OAuth Consent Error

    One of the most frustrating issues I faced was the inability to initiate the OAuth consent process. Despite correctly entering the GOOGLE_API_CREDENTIALS in Railway secrets, clicking “Install App” resulted in a generic “Unexpected error” message. Hours were spent troubleshooting – checking for typos, scouring documentation, and even contemplating a Calendly switch. My persistence paid off. By digging into the code on Github, Railway logs, and network requests, I discovered the culprit.

    The logs revealed a “JSON parse error” caused by a double-encoded URL string being sent by The solution? Manually decoding the URL and hitting it in the browser. This bypassed the faulty encoding and redirected me to the proper OAuth consent screen. While I can’t pinpoint the exact source of the error (Railway or, this manual workaround allowed me to proceed.

    Configuring Emails

    With OAuth consent granted, it was time to test drive the scheduling functionality. However, the lack of email notifications makes practically useless. Surprisingly, the official documentation lacked a clear guide on setting up emails. Thankfully, I remembered setting up emails from last time. I referred to the .env.example file on the Github repository and copied the email settings to Railway secrets. Remember, this requires a separate SMTP server setup – I opted for Zepto Mail in this case.


    While setting up on Railway ultimately proved successful, it took longer than anticipated. It might have even cost me more than several months of Calendly subscription but the satisfaction of overcoming these hurdles and achieving a functional tool makes it all worthwhile. That’s what Sunday’s are for isn’t it?

    Leave a Reply

    Your email address will not be published. Required fields are marked *