ideamarket.io is displaying the social media images of various accounts from different platforms. For that purpose we are currently utilizing a custom fork of unavatar (see our fork here). Unfortunately with growing traffic, self-hosting this application is hitting its limits.
This task is to develop a serverless application which will replace unavatar. It should be a serverless application running on AWS Lambda which offers an API which can be called via HTTPS and returns the URL to a requested image. For example, requesting GET /twitter/elonmusk returns the URL to Elon's Twitter user image.
Since user images do not change often, a caching mechanism should be built in by using AWS S3. When the API is invoked, the application checks if it has a version of the image available in the S3 bucket which is not too old. If so, it simply returns the URL to the image in the S3 bucket. If not, it downloads an updated version of the image, replaces the outdated image in the S3 bucket, and then responds with the URL to the image in the S3 bucket.
To save as much traffic and loading time as possible, the images should be scaled down before being placed in the S3 bucket.
Lastly, the application should use environment variables to enable us to prvoide a simple configuration (proxy credentials, image scaling size, etc.).
The application's code is structured in a way which easily allows to add more platforms at a later point, similar to unavatar's current implementation
Both Twitter and Substack are supported initially (see existing scraping code for Twitter and for Substack)
If this bounty sounds interesting to you, please reach out to Alexander on Discord before applying to discuss further details: Alexander Schlindwein#9040
ideamarket.io | Twitter | Discord
ideamarket.io is displaying the social media images of various accounts from different platforms. For that purpose we are currently utilizing a custom fork of unavatar (see our fork here). Unfortunately with growing traffic, self-hosting this application is hitting its limits.
This task is to develop a serverless application which will replace unavatar. It should be a serverless application running on AWS Lambda which offers an API which can be called via HTTPS and returns the URL to a requested image. For example, requesting
GET /twitter/elonmusk
returns the URL to Elon's Twitter user image.Since user images do not change often, a caching mechanism should be built in by using AWS S3. When the API is invoked, the application checks if it has a version of the image available in the S3 bucket which is not too old. If so, it simply returns the URL to the image in the S3 bucket. If not, it downloads an updated version of the image, replaces the outdated image in the S3 bucket, and then responds with the URL to the image in the S3 bucket.
To save as much traffic and loading time as possible, the images should be scaled down before being placed in the S3 bucket.
Lastly, the application should use environment variables to enable us to prvoide a simple configuration (proxy credentials, image scaling size, etc.).
Other technical requirements:
If this bounty sounds interesting to you, please reach out to Alexander on Discord before applying to discuss further details: Alexander Schlindwein#9040
Prize
Ideamarket Resources
PS — We’re hiring