4 Yrs$#
churros
#1
's Avatar
4 Yrs$#
Not quite a "support" thread, but I think it fits here.

Being both a website user and a programmer on my day to day job I have to congratulate you folks behind HLTB (is it just Everdred?). Two big highlights from me are how fast the game search is and how big is the game catalog. Handling my (huge) gaming backlog here it's been a pleasure, good job!

I know some stuff can be sensitive to share (even due security concerns), but can you share anything regarding the technology behind it? Like, do you have a separate database/service for searches (like elastic)? Do you need to scrap anywhere to get new games into the game catalog? Are you hosting it on a good old fashioned VPS or are you on a fancy cloud thingy?

3 Yrs#
eimon
#2
's Avatar
3 Yrs#
I'm also curious in what programming language is being used for frontend.
13 YrsF#
Everdred
Staff
#3
's Avatar
13 YrsF#
Now:
- Containerized cloud instances
- Coded in React (NextJS)
- SQL backend

2 Years and older:
- Single dedicated server
- Coded in PHP, no framework
- SQL backend

Search is the same DB as everything else, custom written search "engine". The PHP site had no dependencies. I custom wrote everything. The new site I still write most of my own stuff but have used external packages for things like drag & drop and ChartJS for graphs. I don't believe in scraping for the site. I do use the official Xbox Game Pass, Steam, GOG and itch.io APIs for some game data.

There is a lot more going on behind the scenes like a CDN, logging and monitoring service, etc.
4 Yrs$#
churros
#4
's Avatar
4 Yrs$#
Replying to Everdred
All of this is a one man operation? Man, you are a hero.

I can only imagine how long/how many people would take to keep HLTB on a big corporation, that is, with many departments involved, decisions spread across teams, production environment locked up, thousands of stupid meetings, ticket creation, status reports, etc.

Back to the tech stuff, everything comes from SQL? No caching specific service such as Redis involved?
13 YrsF#
Everdred
Staff
#5
's Avatar
13 YrsF#
Replying to churros
All of this is a one man operation? Man, you are a hero.

Appreciate that. I'm not technically a 1 man team. I'm on the IGN DevOps team, which is an amazing group of people so I can get help with infrastructure work if I need to. Generally, I try to stay self sufficient. I'm the only one working on HLTB (Design, Coding, and Admin work). I do about 90% of the infrastructure work, the IGN Social team Tweets non-feature Tweets for me and then there is an ad team that handles all of that business. I just place them on the site.

I think the craziest part is that I used to do this all by myself and had a 40-45 hour full time job.

I can only imagine how long/how many people would take to keep HLTB on a big corporation, that is, with many departments involved, decisions spread across teams, production environment locked up, thousands of stupid meetings, ticket creation, status reports, etc.

I'm very grateful that big daddy Ziff has mostly left me alone so I can continue to cook up new features for everyone.

Back to the tech stuff, everything comes from SQL? No caching specific service such as Redis involved?

I had Redis set up for a little bit but it was actually causing the some 500 issues so I stripped it out. I will probably revisit at some point.

The CDN caches a lot of stuff. Majority of users are not logged in so they can be cached heavily.
2 Yrs
Lotan
#6
's Avatar
2 Yrs
Did you ever thought about making it OpenSource? At least in a way? I see a lot of feature requests that can be speed it up if you allow PR's to the website ^^

For example, I'll like to be able to export my Backlog list, but keeping the time to complete the game as a column, right now it doesn't, and I could help with it :D