before race
This commit is contained in:
146
Requirements.md
Normal file
146
Requirements.md
Normal file
@@ -0,0 +1,146 @@
|
||||
420Deals.ch – Project Brief (for Dev)
|
||||
|
||||
Core idea:
|
||||
420Deals.ch is NOT a normal shop.
|
||||
It’s a collective drop system.
|
||||
|
||||
There is always only ONE active product drop.
|
||||
Each drop has a fixed total batch (e.g. 1kg).
|
||||
Users buy parts of the batch (50g / 100g / 250g).
|
||||
Everyone pays the same wholesale price per gram.
|
||||
When the batch is fully sold → the drop ends automatically.
|
||||
Only after that, the next drop goes live.
|
||||
|
||||
Value proposition:
|
||||
Wholesale prices for private buyers through collective purchasing.
|
||||
No retail packaging. No marketing markup.
|
||||
|
||||
Page structure:
|
||||
Everything happens on ONE page.
|
||||
|
||||
Navigation (sticky):
|
||||
|
||||
Drop
|
||||
|
||||
Past Drops
|
||||
|
||||
Community
|
||||
|
||||
Header:
|
||||
Text only.
|
||||
Explains why prices are low.
|
||||
No big images, no CTA.
|
||||
User attention goes directly to the active drop.
|
||||
|
||||
Current Drop section:
|
||||
|
||||
Product image
|
||||
|
||||
Product name + batch info (e.g. 1kg, indoor, Switzerland)
|
||||
|
||||
Price per gram (incl. 2.5% VAT)
|
||||
|
||||
Live progress bar (how much of the batch is sold)
|
||||
|
||||
Quantity selection (50g / 100g / 250g)
|
||||
|
||||
CTA: “Join the Drop”
|
||||
|
||||
Important:
|
||||
Same price for everyone.
|
||||
No discounts, no codes.
|
||||
The advantage comes only from collective volume.
|
||||
|
||||
Progress bar logic:
|
||||
Example:
|
||||
Total batch: 1000g
|
||||
Sold: 620g
|
||||
Progress: 62%
|
||||
|
||||
Purpose:
|
||||
Transparency, trust, FOMO.
|
||||
|
||||
Auto-Switch Drop (important):
|
||||
When soldGrams >= totalBatch:
|
||||
|
||||
Replace the entire drop section with:
|
||||
“Drop sold out”
|
||||
“Next collective drop coming soon”
|
||||
|
||||
Countdown timer
|
||||
|
||||
Users cannot buy anymore, only wait or subscribe.
|
||||
|
||||
Countdown:
|
||||
Countdown shows days / hours / minutes to next drop.
|
||||
When countdown ends → next drop can go live.
|
||||
|
||||
Why it’s cheap section:
|
||||
Short explanation:
|
||||
Retail ~10 CHF/g
|
||||
Collective ~2.5 CHF/g
|
||||
No retail packaging
|
||||
No tobacco tax
|
||||
No intermediaries
|
||||
|
||||
Tone: factual, clean, Swiss-style.
|
||||
|
||||
Community / Notifications:
|
||||
Purpose: users don’t need to check the site daily.
|
||||
|
||||
Fields:
|
||||
|
||||
Email
|
||||
|
||||
WhatsApp number
|
||||
|
||||
Optional later:
|
||||
Telegram broadcast (one-way only, no public chat).
|
||||
|
||||
No community chat on site → keeps it premium and controlled.
|
||||
|
||||
Past Drops:
|
||||
Show previous drops:
|
||||
|
||||
Product name
|
||||
|
||||
“Sold out in XX hours”
|
||||
|
||||
Purpose:
|
||||
Trust, credibility, FOMO.
|
||||
|
||||
Position:
|
||||
After current drop, before footer.
|
||||
|
||||
Footer:
|
||||
|
||||
THC < 1%
|
||||
|
||||
18+ only
|
||||
|
||||
Switzerland
|
||||
|
||||
Minimal text
|
||||
|
||||
Technical notes:
|
||||
Frontend:
|
||||
Dark theme, no emojis, no flashy colors.
|
||||
Focus on typography and spacing.
|
||||
|
||||
Backend:
|
||||
Drop object:
|
||||
|
||||
Name
|
||||
|
||||
Total batch size
|
||||
|
||||
Sold amount
|
||||
|
||||
Start / end date
|
||||
Progress bar updates dynamically.
|
||||
Auto-switch when sold out.
|
||||
Countdown configurable.
|
||||
|
||||
Summary:
|
||||
420Deals.ch is not a shop, not a forum, not a headshop.
|
||||
It’s a premium collective buying platform for CBD in Switzerland.
|
||||
Reference in New Issue
Block a user