LLM-driven graphic design using my personal Spotify streaming history.
- Frontend: Astro, Svelte, Tailwind CSS
- Backend: Bun, ElysiaJS
- Libraries & APIs: LlamaIndex, OpenAI, Spotify
Prerequisites: Bun
To run this locally, you will need to provide the following environment variables:
OPENAI_API_KEYSPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRET
# Create a .env file and fill in the values.
cp .env.template .envIn development, backend and frontend are run separately on different ports.
Backend code is located in the server directory. To run it in development mode:
bun dev:serverFrontend code is found in the client directory.
bun dev:clientTo create a local production build, we need to compile the frontend code and then run the server.
There is no build step for the backend code because Bun can execute TypeScript directly.
# Compile the frontend code
bun build:client
# Run the server
NODE_ENV=production bun start:server