{"id":15549366,"url":"https://github.com/adityaoberai/backgroundremover","last_synced_at":"2025-08-20T19:12:22.686Z","repository":{"id":208694879,"uuid":"704530986","full_name":"adityaoberai/BackgroundRemover","owner":"adityaoberai","description":"Remove the background from your headshots!","archived":false,"fork":false,"pushed_at":"2024-01-22T12:36:14.000Z","size":618,"stargazers_count":21,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-05T23:54:39.963Z","etag":null,"topics":["appwrite","azure-ai","sveltekit","vercel"],"latest_commit_sha":null,"homepage":"https://bgremover.in","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adityaoberai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-13T13:07:08.000Z","updated_at":"2024-10-24T17:03:59.000Z","dependencies_parsed_at":"2023-11-27T18:48:47.277Z","dependency_job_id":"b037e91d-5a38-4e2b-a935-680f249d01b2","html_url":"https://github.com/adityaoberai/BackgroundRemover","commit_stats":null,"previous_names":["adityaoberai/backgroundremover"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adityaoberai/BackgroundRemover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FBackgroundRemover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FBackgroundRemover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FBackgroundRemover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FBackgroundRemover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adityaoberai","download_url":"https://codeload.github.com/adityaoberai/BackgroundRemover/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityaoberai%2FBackgroundRemover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271369997,"owners_count":24747802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","azure-ai","sveltekit","vercel"],"created_at":"2024-10-02T13:38:37.575Z","updated_at":"2025-08-20T19:12:22.645Z","avatar_url":"https://github.com/adityaoberai.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://bgremover.in\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/adityaoberai/BackgroundRemover/assets/31401437/d54502e9-0fe4-441e-99d0-9e117ab0e464\" alt=\"Background Remover\" width=\"1000\"\u003e\n\u003c/a\u003e\n\n# Background Remover\n\n[![RepoRater](https://repo-rater.eddiehub.io/api/badge?owner=adityaoberai\u0026name=BackgroundRemover)](https://repo-rater.eddiehub.io/rate?owner=adityaoberai\u0026name=BackgroundRemover\u0026format=percentage)\n\n## Description\n\nBackground Remover is a SvelteKit app that uses Appwrite Cloud and Azure AI to remove the background from your headshots (and other images).\n\n### Features\n\n- Removes background from your picture\n- Register via email or login as guest\n- Saves images to your profile _(for logged in users)_\n- Allows viewing (and sharing) of picture links _(for logged in users)_\n\n## Setup\n\nThere are some necessary steps to get the project up and running.\n\n### Azure AI\n\n- Create an [Azure account](https://azure.com)\n- Create a [Computer Vision resource](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft.cognitiveservicescomputervision?tab=overview) from the Azure Marketplace.\n\n\u003e Keep the endpoint and API key stored with you for later.\n\n### Appwrite Cloud\n\n#### Project\n\n- Create an account on [Appwrite Cloud](https://cloud.appwrite.io/register) (or sign in if you have one)\n- Create a project and add your web app (URL)\n  - Adding the exact URL is necessary for the reset password link functionality\n- Create an API key with `user.read`, `user.write`, `documents.read`, `documents.write`, `files.read`, and `files.write` scopes\n\n\u003e Keep the project ID and API key stored with you for later.\n\n#### Storage\n\n- Create two buckets, one for input images and one for output images\n\n|             | Input Images Bucket                                                                                              | Output Images Bucket                                                                                             |\n| ----------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |\n| Purpose     | Contains images to be processed, have their backgrounds removed, and get deleted after                           | Contains images that have had their backgrounds removed                                                          |\n| Id          | input                                                                                                            | output                                                                                                           |\n| Permissions | ![image](https://github.com/adityaoberai/BackgroundRemover/assets/31401437/c74a7f7a-df1b-4b5a-8419-22c171460fda) | ![image](https://github.com/adityaoberai/BackgroundRemover/assets/31401437/677d0df5-628c-4a27-b8b3-8c456ac6a73e) |\n\n\u003e Keep both your bucket Ids stored with you for later.\n\n#### Database\n\n- Create a database with one collection, containing the following attributes\n\n| Key    | Type   | Size | Required |\n| ------ | ------ | ---- | -------- |\n| userId | string | 255  | Yes      |\n| fileId | string | 255  | Yes      |\n\n- Set the permissions as visible in the image\n  ![image](https://github.com/adityaoberai/BackgroundRemover/assets/31401437/c48e9994-9add-4cb8-952c-bb2cc626dac0)\n\n\u003e Keep the database Id and collection Id stored with you for later.\n\n#### Function\n\n- Change the branch (Git) to [`appwrite-functions`](https://github.com/adityaoberai/BackgroundRemover/tree/appwrite-functions) to find the Appwrite function that helps in deleting accounts\n- Update the project name and project id in the `appwrite.json` file, if you kept them different\n- [Deploy the function](https://appwrite.io/docs/products/functions/deployment) from the `functions/Delete Account` directory, following the configuration details in the [function's Readme](https://github.com/adityaoberai/BackgroundRemover/tree/appwrite-functions?tab=readme-ov-file#delete-account)\n- Setup the function's environment variables as mentioned in the function's Readme\n\n\u003e Keep the function Id stored with you for later.\n\n### Environment variables\n\nRename the `.env.example` file to `.env` and add all the necessary environment variables.\n\n- `VITE_APP_URL`: URL of the app with protocol _(e.g.: https://bgremover.in)_\n- `PUBLIC_APPWRITE_COLLECTION_ID`: Collection Id from Appwrite\n- `PUBLIC_APPWRITE_DATABASE_ID`: Database Id from Appwrite\n- `PUBLIC_APPWRITE_PROJECT_ID`: Project Id from Appwrite\n- `PUBLIC_APPWRITE_OUTPUT_IMAGES_BUCKET_ID`: Output images bucket Id from Appwrite\n- `PUBLIC_APPWRITE_INPUT_IMAGES_BUCKET_ID`: Input images bucket Id from Appwrite\n- `PUBLIC_APPWRITE_DELETE_ACCOUNT_FUNCTION_ID`: Delete account function Id from Appwrite\n- `SECRET_VISION_ENDPOINT`: Azure AI Vision endpoint\n- `SECRET_VISION_KEY`: Azure AI Vision API Key\n\n## Deployment\n\n### Vercel\n\nThe `svelte.config.js` file is currently configured for Vercel since that is where the application is deployed and a custom timeout is configured for server actions.\n\n### Other PaaS platforms (Cloudflare, Azure, etc.)\n\n- Install `@sveltejs/adapter-auto` using npm/pnpm/yarn\n- Replace all the code in the `svelte.config.js` file with the following:\n\n```js\nimport adapter from '@sveltejs/adapter-auto';\nimport { preprocessMeltUI } from '@melt-ui/pp';\nimport { vitePreprocess } from '@sveltejs/kit/vite';\nimport sequence from 'svelte-sequential-preprocessor';\n\n/** @type {import('@sveltejs/kit').Config} */\nconst config = {\n\tpreprocess: sequence([vitePreprocess(), preprocessMeltUI()])\n};\n\nexport default config;\n```\n\n\u003e After deploying, make sure to update the final URL in the `VITE_APP_URL` environment variable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityaoberai%2Fbackgroundremover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityaoberai%2Fbackgroundremover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityaoberai%2Fbackgroundremover/lists"}