This is the archived codebase for Magic AI Booth, an iOS/iPad app that transformed photos using AI.
Magic AI Booth was an AI-powered photo editor that allowed users to create Instagram-worthy photos without expensive props or studio bookings. Users could upload pictures with faces, add custom text prompts, and generate photorealistic or artistic renderings suitable for social media and special occasions.
App Store Link: Magic AI Booth on the App Store
uv pip install -e ".[dev]" && rehash
npm install -g @action-validator/core @action-validator/cli --save-dev
- Use editorconfig
- Use yamlfmt (config available in
.yamlfmy.yml) - use isort with
blackprofile pre-commit install- Everything must be isort, black, shellcheck, flake8 and mypy compatible. See the configs for details. pre-commit will fix flake8 issues.
I've found an issue where pre-commit fails and says it's a bug in pre-commit itself. I could solve it by virtualenv --reset-app-data venv -vvvv - I'll just leave it here for now.
You can retrieve the last 5 minute's query logs with scripts/get_logs.sh. Check the script for changing the timespan.
The golden source of the secrets' names are stored in the .env.template file. This file is version controlled. The infra/update_secrects.py scripts expect a line in the .env dotenv file for each variable defined in .env.template.
Adding a updating a secret:
1) Add the secret's key to `.env.template`, and then the values to `.env`
2) execute `infra/update_secrets.py` - this will add or update the GitHub Secret for each key in `.env.template` using the values from `.env`.
Do not commit `.env`.
The lambda deployment process goes through each key in `.env.template` and sets the env vars in Lambda based as the values reading from GitHub Secrets.
## Deployment
Deployment automtically happens when merging or pushing to _main_.


