Back to prompts
▲AI coding agent (see tweet)Design

QUARTER ROOM Tamil music website

A full single-page Tamil music-player site built from a reference image. Live at kudimagan.vercel.app.

Loading the original X post…

Open original on X

A full single-page Tamil music-player site built from a reference image. Live at kudimagan.vercel.app.

The prompt

✦AI coding agent (see tweet)
1Build a complete, production-quality single-page music website inspired by the attached reference image.
2
3Working title: QUARTER ROOM
4Tamil title: குவாட்டர் ரூம்
5Tagline: தமிழ் குடிகாரர்களின் அதிகாரப்பூர்வ ரேடியோ
6The product is a cinematic Tamil music player for drinking songs, soup songs, breakup songs and late-night Tamil melodies. It should feel like entering a living Tamil street scene, not like browsing another Spotify playlist directory.
7Technical foundation
8
9If the repository already has a working frontend, preserve its stack and adapt it.
10
11Otherwise, use Next.js App Router, TypeScript and Tailwind CSS.
12
13Keep it as a single-page website.
14No authentication, database, dashboard, backend or payments.
15Build clean, reusable components without overengineering.
16Make the page fully functional, responsive and deployment-ready.
17Do not stop after producing a rough scaffold.
18Run the project, inspect the result and fix visual, responsive and console issues.
19Main experience
20The entire browser viewport should be a cinematic illustrated Tamil street at evening.
21
22The composition should resemble the reference:
23
24Full-screen atmospheric illustrated background.
25
26A small red Tamil bar/shop at the centre.
27
28Chennai or Tamil Nadu street architecture.
29Banana leaves, electric wires, plastic chairs, parked scooter, tea-shop details and warm street lights.
30A few friends sitting together outside the shop.
31Deep blue evening sky contrasting with warm red and orange buildings.
32Subtle grain, texture and imperfect hand-painted details.
33The interface should feel embedded into the scene.
34Do not make it look like a standard SaaS landing page.
35No white cards, feature grids, pricing sections, testimonials or conventional hero layout.
36Do not copy the reference artwork directly. Create an original Tamil environment using local SVG/vector artwork, CSS layers and gradients.
37Do not depend on random remote stock images.
38If a background asset is required, create a polished local SVG illustration and store it inside /public.
39The page should occupy exactly the viewport on desktop with no unnecessary scrolling.
40Header
41
42Place a minimal transparent header over the illustration.
43
44Top left:
45
46Live local time in 12-hour format.
47
48Update automatically every minute.
49
50Small Tamil Nadu/Chennai location label beneath it.
51Top centre or slightly right:
52A small pulsing green dot.
53
54Text: “LIVE”
55
56Do not show a fake listener count.
57Top right:
58Spotify icon and label.
59
60YouTube Music icon and label.
61
62Clicking either changes the active music provider.
63Clearly indicate the selected provider.
64Keep the styling minimal and integrated with the scene.
65Central identity
66Place the Tamil title prominently on the building:
67
68குவாட்டர் ரூம்
69
70Under it, display:
71
72தமிழ் குடிகாரர்களின் அதிகாரப்பூர்வ ரேடியோ
73
74The Tamil typography must be large, confident and readable.
75
76Use a Tamil-compatible font such as Noto Sans Tamil. Pair it with a clean sans-serif font for English text. Ensure font loading does not break the page if the external font fails.
77
78The title should feel painted or mounted onto the building, not floating randomly in the viewport.
79
80Music stations
81
82Create five curated mood stations:
83
84கடை திறந்தாச்சு
85Description: “Full TASMAC energy”
86Mood: energetic red and orange street scene.
87
88அவள நினைச்சா
89Description: “Love failure. Full volume.”
90Mood: darker red with subtle rain and lonely lighting.
91
92மணி 2:17 AM
93Description: “Everyone suddenly became silent.”
94Mood: deep blue terrace or empty late-night street.
95அவன் நினைச்சா
96Description: “Soup songs are not just for the boys.”
97Mood: purple and warm bedroom or bus-window lighting.
98பழைய சரக்கு
99Description: “Ilaiyaraaja, Rahman and old wounds.”
100Mood: dim amber 80s/90s bar atmosphere.
101
102Add a small “Change mood” button near the music player. Clicking it should open an elegant station selector above the player.
103Each station card should show:
104Tamil station name.
105
106Short English description.
107A distinct colour.
108A simple illustrated icon.
109
110Active station indicator.
111When the station changes:
112Crossfade the background colours and environmental overlays.
113
114Update the station title.
115Load the corresponding provider playlist.
116Keep transitions smooth and restrained.
117
118Do not reload the page.
119
120On mobile, the station selector can become a bottom sheet.
121
122Playlist configuration
123Keep every playlist URL and ID inside one easy-to-edit configuration file such as:
124src/data/stations.ts
125Each station should support:
126id
127
128nameTamil
129
130nameEnglish
131description
132accentColor
133backgroundVariant
134spotifyPlaylistUrl
135
136spotifyPlaylistId
137
138youtubePlaylistUrl
139
140youtubePlaylistId
141
142Use these public playlists initially:
143
144கடை திறந்தாச்சு
145
146Spotify:
147https://open.spotify.com/playlist/1AcwNZ0zLSPtIOea0uwxaJ
148YouTube playlist ID:
149PLxQpegrlImYt1j0PXBEl1-BO3n57kbTDC
150அவள நினைச்சா
151Spotify:
152https://open.spotify.com/playlist/2Yra1CyIYaJ2YNz49yjh4i
153YouTube playlist ID:
154PL5Zj_jk7tf5oCbRDVI2noHRi3l4JyL07h
155மணி 2:17 AM
156Spotify:
157https://open.spotify.com/playlist/1uLtum4DGySTEG4LpyCkEW
158அவன் நினைச்சா
159Spotify:
160https://open.spotify.com/playlist/47jt1RZSwPR2WRQpz8VG39
161பழைய சரக்கு
162
163Create a clearly marked configuration placeholder so the playlist can be inserted later.
164
165Never scatter playlist URLs across components.
166
167Music player
168Place one floating player at the bottom centre, matching the composition of the reference.
169
170The player should look like a long translucent pill with:
171Dark warm glass background.
172
173Soft blur.
174
175Thin highlight border.
176Subtle shadow.
177
178Rounded ends.
179Album artwork on the left.
180
181Song title.
182
183Artist name.
184Current station name.
185
186Previous button.
187
188Large central play/pause button.
189Next button.
190
191Progress bar.
192
193Current time and total duration.
194
195Provider indicator.
196
197“Open in Spotify” or “Open in YouTube Music” link.
198
199The player should be approximately 620–720px wide on desktop and nearly full-width on mobile.
200
201Do not build decorative controls that pretend to work.
202
203Spotify playback
204Use Spotify’s official embed or iframe API.
205Load the active station playlist.
206Connect play and pause actions where officially supported.
207Display the official embedded player in a compact, visually integrated form.
208Do not illegally hide mandatory Spotify branding.
209Do not request a Spotify client secret.
210If browser or Spotify restrictions prevent a custom control from working, disable that control and rely on the official Spotify embed.
211Always include an “Open in Spotify” fallback.
212YouTube playback
213Use the official YouTube IFrame Player API.
214Embed playlists using:
215https://www.youtube.com/embed?listType=playlist&list=PLAYLIST_ID
216Connect play, pause, previous, next and progress updates.
217Use playsinline=1.
218Do not autoplay with sound before user interaction.
219
220Add an “Open in YouTube Music” link using the corresponding playlist URL.
221
222Handle unavailable, private or region-blocked videos gracefully.
223
224Initial interaction
225
226Because browsers block autoplay, show a tasteful first-entry overlay:
227
228Title: ஒரு mood தேர்ந்தெடு.
229Buttons:
230கடை திறந்தாச்சு
231அவள நினைச்சா
232மணி 2:17 AM
233அவன் நினைச்சா
234பழைய சரக்கு
235
236After the user chooses a mood:
237
238Close the overlay.
239
240Set that station as active.
241
242Begin playback only through the user’s click.
243
244Remember the selected mood and provider in localStorage.
245Track information
246When the provider exposes metadata, show:
247Track title.
248Artist.
249
250Artwork or video thumbnail.
251
252Current playback position.
253
254Duration.
255
256While metadata is loading, use an elegant skeleton state.
257
258If metadata cannot be retrieved, show the station name and provider without inventing track information.
259Animation and atmosphere
260Add restrained ambient animation:
261Slight movement in banana leaves.
262Gentle light flicker.
263
264Occasional passing shadow.
265
266Slow grain movement.
267Small smoke or steam effect near the shop.
268Subtle rain only for the heartbreak station.
269Very slow background parallax based on pointer movement.
270
271Player entrance animation after mood selection.
272
273Animations must remain subtle and should never distract from playback.
274
275Respect prefers-reduced-motion.
276Responsive behaviour
277Desktop:
278Full illustration visible.
279Tamil title centred on the building.
280
281Player at bottom centre.
282
283Header aligned to the viewport edges.
284
285Mood selector expands above the player.
286
287Tablet:
288
289Preserve the full cinematic composition.
290Slightly reduce title and player width.
291Mobile:
292Use 100dvh.
293Reframe the illustration vertically instead of merely shrinking it.
294Keep title readable.
295Header must not overlap.
296Player becomes a compact bottom player.
297
298Station selector opens as a bottom sheet.
299
300Keep touch targets at least 44px.
301
302Avoid horizontal scrolling.
303
304Account for iPhone safe areas.
305
306Visual standards
307Use dark red, burnt orange, faded coral, midnight blue, dusty green and warm cream.
308Avoid neon gradients, generic glassmorphism and overly clean corporate styling.
309Use glass effects only for the player and small controls.
310Add subtle paper, film-grain and paint texture.
311
312Maintain strong text contrast.
313
314Keep every text element deliberately positioned.
315No words should appear randomly around the screen.
316
317Avoid oversized empty areas.
318
319All alignment should follow a consistent visual grid.
320The experience should look intentional at 1440px, 1024px, 768px, 430px and 375px widths.
321Accessibility and quality
322Use semantic HTML.
323Add accessible labels to every control.
324Support keyboard play/pause using the spacebar when focus is not inside an interactive element.
325Add visible focus states.
326Ensure the station selector can be navigated by keyboard.
327Escape should close overlays.
328
329Avoid hydration errors.
330
331Avoid console warnings.
332Lazy-load provider embeds where possible.
333Do not expose API keys.
334Add error and empty states.
335Add a small responsible drinking line in the bottom corner:
336“Drink responsibly. இசை மட்டும் unlimited.”
337Metadata
338Page title:
339Quarter Room | Tamil Soup Radio
340Description:
341Tamil drinking songs, soup songs and late-night heartbreak playlists in one cinematic radio experience.
342
343Create a simple matching favicon using the Tamil letter “கு” or a quarter-glass silhouette.
344
345Final acceptance criteria
346The work is complete only when:
347The page feels visually close in quality and atmosphere to the supplied reference.
348It is an original Tamil street illustration.
349A user can select a mood.
350Spotify playlists load correctly.
351YouTube playlists load correctly where IDs are provided.
352Provider switching works.
353Player controls work wherever supported by the official APIs.
354Playback restrictions are handled honestly.
355The selected station persists after refresh.
356The page works on desktop and mobile.
357There are no broken controls, random text placements, layout overflows or console errors.
358
359The site looks like a finished cultural music experience, not a template.
360
361Build the complete implementation now. Do not return only a plan. After implementation, run the application, test every interaction and refine the visual alignment until it is polished.

What this prompt is good for

Visual direction

Moodboards, style guides, and design briefs

Marketing creative

Hero artwork and high-converting visual assets

Brand identity

Consistent aesthetics across typography and form

Rapid prototyping

Iterate variations in seconds with precision