"Astaga! Aku baru tahu tadi." — fakta-fakta mengejutkan yang bikin pembaca berhenti scroll.
Astaga.net adalah portal konten Bahasa Indonesia yang menyajikan fakta-fakta mengejutkan dengan satu format dominan: "Tahukah Anda kalau...". Setiap artikel adalah satu fakta yang sulit dipercaya tapi nyata, dengan penjelasan singkat, sumber, dan 3 fakta lanjutan untuk recirculasi.
Berbeda dari anehtapinyata.com (yang fokus pada hal aneh/misterius), astaga.net fokus pada kejutan ilmiah/sejarah/biologis yang terverifikasi — fakta yang bikin pembaca bilang "astaga, baru tahu!".
r/todayilearned versi IndonesiaTone: dark cinematic magazine. Astaga.net terasa seperti dokumenter malam hari — gelap, dramatis, satu sorot lampu violet di tengah ruang. Bukan clickbait merah-kuning. Premium tapi addictive.
| Token | Value | Source |
|---|---|---|
--bg-base |
#0A0A0F |
Canva NIGHT |
--bg-grad |
linear-gradient(160deg,#0A0A0F,#15151E 60%,#1A1428) |
Canva NIGHT |
--surface |
#1A1A24 |
Figma Dark UI |
--surface-2 |
#232330 |
Figma Dark UI |
--border |
#2A2A3A |
Figma Dark UI |
--accent |
#7C5CFC violet |
Figma Dark UI |
--accent-hot |
#FFB547 amber (the "astaga!" punch) |
Canva accent |
--ink / --ink-dim / --ink-mute |
#F5F5FA / #9090A8 / #5C5C7A |
|
| display font | Anton / Bebas Neue | Canva NIGHT |
| body font | Inter | — |
| radius | 14px | Figma Dark UI |
hook_question — "Tahukah Anda kalau lumba-lumba tidur dengan satu mata terbuka?"surprise_line — punchline 1 kalimat dengan angka/fact terverifikasiexplanation — 3–6 paragraf "mengapa & bagaimana"followups_json — 3 "Tahukah Anda kalau..." follow-ups untuk recirculasisources_json — sumber ilmiah/jurnal/dokumensurprise_score — 1–10 (untuk surprise meter di artikel)thumbnail_prompt — prompt z-image (kie.ai) untuk hero 16:9astaga-db) — articles, categories, locations, keywords, signalsastaga-cache) — page HTML cache, image bytes cache/ — homepage dengan kategori pills, hero "Astaga! Hari Ini", trending carousel, latest grid, per-kategori carousels, location spotlight/[slug] — artikel fakta dengan hook, surprise line, explanation, 3 followups, sumber, dare-vote ("percaya / nggak percaya"), share row, related, same-location, interlinks/peta — Leaflet map dengan pin per artikel/cari?q= — search title/explanation/location/trending — sort by views/terbaru — sort by published_at/kategori — list semua kategori/kategori/[slug] — artikel per kategori/lokasi/[slug] — artikel per lokasi/fakta-tentang-[kota] — programmatic city page (mengganti /aneh-di-[kota])/tentang — about page/api/search, /api/map-articles, /api/nearby, /api/stats, /api/dare, /api/cron/img/[slug].png — on-demand image gen via z-image/sitemap.xml, /robots.txt, /llms.txt, /feed.xmlBukan "Berani ke sana?" tapi "Percaya nggak?" — pembaca vote percaya / nggak percaya sebelum baca penjelasan. Setelah voting, persentase muncul. Surprise meter (1–10) ditampilkan setelah vote untuk mengukur seberapa "astaga" fakta tersebut.
Article + FAQPage (followups → FAQ items) + BreadcrumbList0 */6 * * * — generate 5 facts (kategori rotate)30 */6 * * * — refresh hero image untuk artikel tanpa image_url0 4 * * * — sitemap rebuild + IndexNow batch pingSister site — beda angle:
web/astaga.net/
plan.md (this file)
plan-trend-aggregator.md.bak (old viral-trend plan, archived)
wrangler.toml
package.json
tsconfig.json
schema.sql
seed-categories.sql
src/
index.ts ← routes
render.ts ← dark cinematic HTML
cron.ts ← AI fact generator + image refresh
seo.ts ← sitemap, robots, llms, rss
lib/
ai-router.js ← vendored from pro/ai-router
Epic: ucok-ws6 — astaga.net Tahukah Anda Kalau portal.
This domain MUST operate within these constraints — no exceptions:
If the plan above describes any flow that violates these constraints, treat the plan as ASPIRATIONAL only and rework before building. The constraint trifecta wins.
Ask AI to research, improve, or generate content.
Try: "Research competitors for this niche"