traveldays (Archived)

traveldays.com#

traveldays

Update May 2025: I finally decided to pull the plug on traveldays after more than 10 years of service. The tenancy of the reserved EC2 instance was up, meaning that the instance switched to more expensive monthly rate automatically, without generating any income. So I emailed the individual users who signed up for traveldays and offered to send them their uploaded photos in case they needed them, and wound down the whole operation. It was good while it lasted, but I didn’t really see a way forward to monetize and grow the platform, so it’s time to move on and make space for something new.

— Original Post —

Traveldays is a branded online travel diary with an automatic map that I offer to tour operators.

Tech#

Originally Django + RestAPI and Postgres for the backend, then switched to Node.js, Express.js and MongoDB for the backend, Vue/Nuxt.js for the front, including nuxt i18n. Running with nginx and certbot/letsencrypt and docker-compose for DevOps.

Origin#

When I started working at China Tours as an Online Marketing Manager in 2013, they had a process for uploading travel photos that their tour guides sent them.

The process was very involved and time-consuming: Often they had to reach out to tour guides to get the latest pictures. The tour guides would then send the photos via email or Wechat, upon which someone at the office had to resize and then upload the image in the right folder on the FTP server and publish it. Of course, this manual process was also prone to human error, like putting the file in the wrong folder.

Building#

I saw this inefficiency and offered to build a better solution, that I would offer to them as a SaaS. I had built basic websites using HTML, CSS and JavaScript before, but this was an exciting opportunity to build something more complex. They agreed and I built the first version, mainly using the Django framework, along with some custom JS code for the frontend, learning the basics of Django, the ORM, migrations, Databases etc. along the way. (This experience was a big motivation for me to later join 42, to put my coding skills on a more solid foundation).

Over time, I upgraded the tech stack after getting more proficient with different web technologies. The latest stack is MEVN (MongoDB, Express, Vue and Node.js) using Nuxt.js as a framework for server-side rendering.

Business Case#

For tour operators traveldays can be useful as a marketing channel. People love sharing their vacation photos, so the participants of the trip share the album with their friends and families, who in turn get exposed to the company’s brand and links to the company’s website. This is especially interesting since traditional online ads can be very expensive in the travel industry, with prices in the range of 5-10 Euros per click on Adwords not being unheard of. So word of mouth is very important for tour operators. Getting the eyeballs of the customer’s friends and family is incredibly valuable - after all, people with similar backgrounds are more likely to be interested in similar trips.

Footnote#

During COVID, the company unfortuantely was hit the earliest and hardest by the travel restrictions to China. I wasn’t working there anymore, but I learned that they had to close down and let all employees go, and the brand was sold to a competitor, who is now operating under the brand. In the process, traveldays also isn’t used anymore by them. In return, I opened up the registration to normal users, so that anyone can register and make a travel diary with their own photos.