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_KEY
SPOTIFY_CLIENT_ID
SPOTIFY_CLIENT_SECRET
# Create a .env file and fill in the values.
cp .env.template .env
In 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:server
Frontend code is found in the client
directory.
bun dev:client
To 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