A sleek, minimalist web interface for an AI text generation model trained on the complete discography of Taco Hemingway. This application allows users to interact with the model, adjust creativity parameters, and watch the lyrics unfold in real-time.
- Token Streaming: Utilizes
ReadableStreamto display generated text live, token by token, creating a typewriter effect. - Precision Controls: Full control over generation length (tokens) and creativity (temperature).
- Vibe Presets: Three distinct generation modes based on temperature:
- Cool Rationalist (Low temp): Consistent and logical.
- Classic Storytelling (Mid temp): The perfect balance of rhyme and reason.
- Warsaw Nightlife (High temp): Abstract, chaotic, and metaphorical.
- Responsive Design: Built with Tailwind CSS 4, optimized for both mobile and desktop "night mode" aesthetics.
- Internal Documentation: A dedicated
/docspage explaining model mechanics and prompt engineering.
- Framework: Next.js 16+ (App Router)
- Library: React 19
- Styling: Tailwind CSS 4
- Language: TypeScript
- Deployment: GitHub Actions (CD) + SSH/SCP to Nginx
├── app/ # App Router logic
│ ├── \_components/ # Home page specific components
│ ├── docs/ # Model documentation & guides
│ └── globals.css # Tailwind 4 config & custom animations
├── components/ # Shared UI (Modals, Headers)
├── .github/workflows/ # CI/CD deployment pipeline
├── next.config.ts # Next.js static export configuration
└── package.json # Scripts and dependencies-
Clone the repository:
git clone https://github.com/your-username/taco-llmingway-frontend.git cd taco-llmingway-frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
Open http://localhost:3000 to see the result.
-
Build for production:
npm run build
The static files will be generated in the
/outdirectory.
The frontend communicates with the LLM backend via the following endpoint:
POST /api/stream
Payload Example:
{
"starting_text": "Wracam ekspresem do Warszawy...",
"n_iters": 256,
"temperature": 0.7
}This project uses a GitHub Actions workflow (deploy.yml) to automate the deployment process. Upon pushing to main:
- The app is built into static files.
- The existing build on the server is cleared.
- New files are uploaded via SCP.
- The Nginx service is reloaded.
Required Secrets: HOST, USERNAME, SSH_KEY, PORT.
This project is licensed under the MIT License - see the LICENSE file for details.