🎲 Discover an application designed to randomly pick a member of your team for various activities or tasks.
🤔 “Who should be the next to speak?” This application helps answer this question by providing a fun and fair way to select a random team member. Whether it's for a meeting, a presentation, or any team activity, let chance decide!
Here's a tool that allows you to manage team members, add or remove members, and perform a random selection with a fun twist. Ideal for teams who want to add an element of surprise and fairness to their processes.
🌐 Access the app and start your random selection now at https://teampicker.sotisai.com.
You can run the application in two ways:
- Locally using
uv - Using Docker Compose
uvis a fast and modern Python tool that handles virtual environments and dependencies viapyproject.toml.
-
Install
uv(if not already installed)curl -Ls https://astral.sh/uv/install.sh | sh -
Clone the repository
git clone https://github.com/LudovicGardy/app_name cd app_folder/ -
Create and activate the environment
uv venv
-
On macOS/Linux:
source .venv/bin/activate -
On Windows (PowerShell):
.venv\Scripts\Activate.ps1
-
-
(Optional) If the virtual environment doesn't behave properly
Sometimes, on macOS in particular, the environment might be missing some tooling (like
pip). You can try the following fixes:.venv/bin/python -m ensurepip --upgrade .venv/bin/python -m pip install --upgrade pip # Optional: Only if you need to use Jupyter notebooks .venv/bin/python -m pip install ipykernel -U --force-reinstall -
Launch the app
streamlit run main.py
-
Make sure Docker and Docker Compose are installed and running
-
Go to the project directory
cd path/to/app_folder -
Build and start the app
docker-compose up --build
-
Access the app Open your browser at: http://localhost:8504
This project uses pre-commit to maintain code quality. The following hooks are configured:
- Basic hooks: checking for trailing whitespaces, end-of-file formatting, YAML and TOML file verification, etc.
- Ruff: Python code linting and formatting
- Codespell: spell checking
- Commitizen: checking commit messages according to the defined convention
To install pre-commit:
# Install dependencies
uv pip install pre-commit ruff
# Install git hooks
pre-commit installThe hooks will run automatically with each commit. You can also run them manually:
pre-commit run --all-files # Run on all files
pre-commit run ruff # Run a specific hookRuff configuration is defined in pyproject.toml and includes:
- reStructuredText docstring format
- Import checking
- Double quote formatting
- Line length limited to 100 characters
- LinkedIn: Ludovic Gardy
- Website: https://www.sotisai.com
