You are browsing as a guest. Sign up (or log in) to start making projects!

nathanaditya254

@nathanaditya254

Joined June 18th, 2026

  • 2Devlogs
  • 3Projects
  • 1Ships
  • 10Votes
Open comments for this post
Reposted by @nathanaditya254

17m 20s logged

I built AdiBot, a custom Slack bot for the Hack Club workspace that responds to slash commands. Anyone in the Hack Club Slack can use it by typing one of three commands in any channel:

/adibot-ping — checks if the bot is online and shows latency
/adibot-joke — fetches a random joke from an API
/adibot-help — lists all available commands

I built it using Python and the Slack Bolt library, with Socket Mode so no public URL was needed. The bot pulls jokes from the Official Joke API using the requests library. I stored my tokens securely in a .env file and kept them out of GitHub using .gitignore.
For hosting, I deployed it on Hack Club Nest, a free Linux server for students. I set it up as a systemd service so it runs 24/7 and automatically restarts if it ever crashes, even when my laptop is closed.
The trickiest part was dealing with an SSL certificate error on Mac when first running the bot locally, and setting up GitHub authentication on the Nest server. Both were good debugging experiences!

I built AdiBot, a custom Slack bot for the Hack Club workspace that responds to slash commands. Anyone in the Hack Club Slack can use it by typing one of three commands in any channel:

/adibot-ping — checks if the bot is online and shows latency
/adibot-joke — fetches a random joke from an API
/adibot-help — lists all available commands

I built it using Python and the Slack Bolt library, with Socket Mode so no public URL was needed. The bot pulls jokes from the Official Joke API using the requests library. I stored my tokens securely in a .env file and kept them out of GitHub using .gitignore.
For hosting, I deployed it on Hack Club Nest, a free Linux server for students. I set it up as a systemd service so it runs 24/7 and automatically restarts if it ever crashes, even when my laptop is closed.
The trickiest part was dealing with an SSL certificate error on Mac when first running the bot locally, and setting up GitHub authentication on the Nest server. Both were good debugging experiences!

Replying to @nathanaditya254

1
5
Ship

What did I make?
A Slack bot called AdiBot that responds to slash commands in the Hack Club workspace. You can use /adibot-ping to check if it's online, /adibot-joke to get a random joke, and /adibot-help to see all commands.

What was challenging?
Running into an SSL error on Mac when testing locally, and figuring out that GitHub doesn't let you use your password anymore when cloning on a new server.

What are you proud of?
Getting it deployed on Hack Club Nest as a systemd service so it runs 24/7 even when my laptop is closed. It feels like an actual real deployment.

What should people know so they can test your project?
Just go to any Hack Club Slack channel and type /adibot-ping, /adibot-joke, or /adibot-help and the bot will respond!
You can even try it in your private DMs with yourself!

Try project → See source code →
Open comments for this post

17m 20s logged

I built AdiBot, a custom Slack bot for the Hack Club workspace that responds to slash commands. Anyone in the Hack Club Slack can use it by typing one of three commands in any channel:

/adibot-ping — checks if the bot is online and shows latency
/adibot-joke — fetches a random joke from an API
/adibot-help — lists all available commands

I built it using Python and the Slack Bolt library, with Socket Mode so no public URL was needed. The bot pulls jokes from the Official Joke API using the requests library. I stored my tokens securely in a .env file and kept them out of GitHub using .gitignore.
For hosting, I deployed it on Hack Club Nest, a free Linux server for students. I set it up as a systemd service so it runs 24/7 and automatically restarts if it ever crashes, even when my laptop is closed.
The trickiest part was dealing with an SSL certificate error on Mac when first running the bot locally, and setting up GitHub authentication on the Nest server. Both were good debugging experiences!

I built AdiBot, a custom Slack bot for the Hack Club workspace that responds to slash commands. Anyone in the Hack Club Slack can use it by typing one of three commands in any channel:

/adibot-ping — checks if the bot is online and shows latency
/adibot-joke — fetches a random joke from an API
/adibot-help — lists all available commands

I built it using Python and the Slack Bolt library, with Socket Mode so no public URL was needed. The bot pulls jokes from the Official Joke API using the requests library. I stored my tokens securely in a .env file and kept them out of GitHub using .gitignore.
For hosting, I deployed it on Hack Club Nest, a free Linux server for students. I set it up as a systemd service so it runs 24/7 and automatically restarts if it ever crashes, even when my laptop is closed.
The trickiest part was dealing with an SSL certificate error on Mac when first running the bot locally, and setting up GitHub authentication on the Nest server. Both were good debugging experiences!

Replying to @nathanaditya254

1
5
Open comments for this post
Reposted by @nathanaditya254

18m 51s logged

Building a World Cup Match Outcome Predictor
The idea is simple: give it two national teams, get back a win probability for each side; actual math.

The model pulls from four inputs:

  1. ELO ratings (a numerical strength score that updates after every match)
  2. Recent form (average points earned across the last 5 games)
  3. Goal differential (how many a team scores vs. concedes on average)
  4. Venue advantage (neutral ground vs. true home)

All of that gets fed into a logistic regression model trained on 10 years of international match data.
The stack is pandas for cleaning and merging datasets, scikit-learn for the model, requests for pulling live match data, and seaborn for charts and heatmaps.
Right now I’m in the data pipeline phase. The trickiest part so far is merging ELO scores to matches by date; you have to make sure the model only sees ELO ratings that existed before each match was played, otherwise you’re leaking future information into the training data.
Next up is feature engineering, then model training, then actual predictions.

Building a World Cup Match Outcome Predictor
The idea is simple: give it two national teams, get back a win probability for each side; actual math.

The model pulls from four inputs:

  1. ELO ratings (a numerical strength score that updates after every match)
  2. Recent form (average points earned across the last 5 games)
  3. Goal differential (how many a team scores vs. concedes on average)
  4. Venue advantage (neutral ground vs. true home)

All of that gets fed into a logistic regression model trained on 10 years of international match data.
The stack is pandas for cleaning and merging datasets, scikit-learn for the model, requests for pulling live match data, and seaborn for charts and heatmaps.
Right now I’m in the data pipeline phase. The trickiest part so far is merging ELO scores to matches by date; you have to make sure the model only sees ELO ratings that existed before each match was played, otherwise you’re leaking future information into the training data.
Next up is feature engineering, then model training, then actual predictions.

Replying to @nathanaditya254

1
4
Open comments for this post

18m 51s logged

Building a World Cup Match Outcome Predictor
The idea is simple: give it two national teams, get back a win probability for each side; actual math.

The model pulls from four inputs:

  1. ELO ratings (a numerical strength score that updates after every match)
  2. Recent form (average points earned across the last 5 games)
  3. Goal differential (how many a team scores vs. concedes on average)
  4. Venue advantage (neutral ground vs. true home)

All of that gets fed into a logistic regression model trained on 10 years of international match data.
The stack is pandas for cleaning and merging datasets, scikit-learn for the model, requests for pulling live match data, and seaborn for charts and heatmaps.
Right now I’m in the data pipeline phase. The trickiest part so far is merging ELO scores to matches by date; you have to make sure the model only sees ELO ratings that existed before each match was played, otherwise you’re leaking future information into the training data.
Next up is feature engineering, then model training, then actual predictions.

Building a World Cup Match Outcome Predictor
The idea is simple: give it two national teams, get back a win probability for each side; actual math.

The model pulls from four inputs:

  1. ELO ratings (a numerical strength score that updates after every match)
  2. Recent form (average points earned across the last 5 games)
  3. Goal differential (how many a team scores vs. concedes on average)
  4. Venue advantage (neutral ground vs. true home)

All of that gets fed into a logistic regression model trained on 10 years of international match data.
The stack is pandas for cleaning and merging datasets, scikit-learn for the model, requests for pulling live match data, and seaborn for charts and heatmaps.
Right now I’m in the data pipeline phase. The trickiest part so far is merging ELO scores to matches by date; you have to make sure the model only sees ELO ratings that existed before each match was played, otherwise you’re leaking future information into the training data.
Next up is feature engineering, then model training, then actual predictions.

Replying to @nathanaditya254

1
4

Followers

Loading…