Live Demo: ws.baris.world
A TikTok-style scrolling platform that delivers random facts from Wikipedia. Designed to make learning addictive.
wikiscroll. transforms Wikipedia content into bite-sized, scrollable facts. Instead of doom-scrolling through social media, you scroll through knowledge. Each card presents a concise piece of information sourced directly from Wikipedia.
Core
- Vertical scroll interface with snap-to-card behavior
- Random facts fetched from Wikipedia's REST API
- Multi-language support (Turkish and English)
- Like and save functionality for facts you want to remember
- Direct links to Wikipedia source articles
Recommendation System
- Custom-built algorithm that learns your interests over time
- Time decay: older preferences gradually lose influence (half-life: 7 days)
- Weighted scoring system:
- Like: +10 points
- Save: +8 points
- Long read (5s+): +3 points
- Quick skip: -2 points
- "Not interested": -15 points
- Category and tag-level granularity
- Session awareness: tracks last 20 viewed items to enforce variety
- Diversity control: prevents same category appearing more than twice consecutively
- All preference data stored locally, never sent to any server
Offline-First Caching
- Articles are cached locally for instant loading
- Previously seen content is filtered out
- Automatic duplicate detection and cleanup
- Cache size limited to ~2.5MB to respect device storage
wikiscroll. takes a privacy-first approach:
- No accounts required - Just open and start scrolling
- No tracking - We don't collect any personal data
- No analytics - Your reading habits stay on your device
- Local storage only - All preferences, likes, and saved articles are stored in your browser's localStorage
- No cookies - We don't use cookies for tracking
- Direct API calls - Content is fetched directly from Wikipedia's public API
Your data never leaves your device. If you clear your browser data, everything resets.
- On first load, wikiscroll. fetches random articles from Wikipedia
- Articles are filtered for quality (removes stubs, disambiguation pages, boring location entries)
- Content is trimmed to 1-2 sentences for quick consumption
- As you scroll, the algorithm tracks your reading time per article
- Quick skips signal disinterest, longer reads signal engagement
- Likes and saves provide strong positive signals for category preferences
- "Not interested" button provides explicit negative feedback (-15 points)
- The recommendation engine scores new articles based on your accumulated preferences
- Time decay ensures recent interactions matter more than old ones
- A diversity factor ensures you still discover content outside your comfort zone
- All articles are cached locally for offline access and faster subsequent loads
- Vanilla JavaScript (no frameworks)
- Wikipedia REST API
- CSS with scroll-snap for native-feeling swipe
- localStorage for all data persistence
Simply serve the files with any static file server:
npx serveOr open index.html directly in a browser (some features may be limited due to CORS).
wikiscroll/
├── index.html
├── css/
│ └── style.css
└── js/
├── app.js
├── storage.js
├── recommendation.js
└── wikipedia.js
Wikipedia'dan rastgele bilgiler sunan, TikTok tarzı dikey kaydırmalı bir platform. Öğrenmeyi alışkanlık haline getirmek için tasarlandı.
wikiscroll., Wikipedia içeriklerini kısa ve kaydırmalı bilgi kartlarına dönüştürür. Sosyal medyada vakit öldürme yerine, bilgi akışında gezinirsiniz. Her kart, doğrudan Wikipedia'dan alınan özlü bir bilgi sunar.
Temel
- Karta yapışan dikey kaydırma arayüzü
- Wikipedia REST API'den rastgele bilgiler
- Çoklu dil desteği (Türkçe ve İngilizce)
- Hatırlamak istediğiniz bilgileri beğenme ve kaydetme
- Wikipedia kaynak makalelerine doğrudan bağlantılar
Öneri Sistemi
- Zamanla ilgi alanlarınızı öğrenen özel yapım algoritma
- Zaman azalması: eski tercihler kademeli olarak etkisini kaybeder (yarı ömür: 7 gün)
- Ağırlıklı puanlama sistemi:
- Beğeni: +10 puan
- Kaydetme: +8 puan
- Uzun okuma (5sn+): +3 puan
- Hızlı geçiş: -2 puan
- "İlgilenmiyorum": -15 puan
- Kategori ve etiket düzeyinde hassasiyet
- Oturum farkındalığı: çeşitliliği sağlamak için son 20 görüntülenen içeriği takip eder
- Çeşitlilik kontrolü: aynı kategorinin art arda ikiden fazla gösterilmesini engeller
- Tüm tercih verileri yerel olarak saklanır, hiçbir sunucuya gönderilmez
Çevrimdışı Önbellekleme
- Makaleler anında yükleme için yerel olarak önbelleklenir
- Daha önce görülen içerikler filtrelenir
- Otomatik tekrar tespit ve temizleme
- Cihaz depolamasına saygı için önbellek boyutu ~2.5MB ile sınırlı
wikiscroll., gizlilik öncelikli bir yaklaşım benimser:
- Hesap gerektirmez - Sadece açın ve kaydırmaya başlayın
- Takip yok - Hiçbir kişisel veri toplamıyoruz
- Analitik yok - Okuma alışkanlıklarınız cihazınızda kalır
- Sadece yerel depolama - Tüm tercihler, beğeniler ve kaydedilen makaleler tarayıcınızın localStorage'ında saklanır
- Çerez yok - Takip için çerez kullanmıyoruz
- Doğrudan API çağrıları - İçerik doğrudan Wikipedia'nın açık API'sinden çekilir
Verileriniz cihazınızdan asla çıkmaz. Tarayıcı verilerinizi temizlerseniz her şey sıfırlanır.
- İlk yüklemede wikiscroll., Wikipedia'dan rastgele makaleler çeker
- Makaleler kalite için filtrelenir (taslaklar, anlam ayrımı sayfaları, sıkıcı konum bilgileri kaldırılır)
- İçerik hızlı tüketim için 1-2 cümleye kısaltılır
- Kaydırdıkça algoritma her makale için okuma sürenizi takip eder
- Hızlı geçişler ilgisizlik, uzun okumalar ilgi sinyali verir
- Beğeniler ve kaydetmeler kategori tercihleri için güçlü pozitif sinyal sağlar
- "İlgilenmiyorum" butonu açık negatif geri bildirim sağlar (-15 puan)
- Öneri motoru, biriken tercihlerinize göre yeni makaleleri puanlar
- Zaman azalması, son etkileşimlerin eski olanlardan daha önemli olmasını sağlar
- Çeşitlilik faktörü, konfor alanınız dışındaki içerikleri keşfetmenizi sağlar
- Tüm makaleler çevrimdışı erişim ve daha hızlı yükleme için yerel olarak önbelleklenir
- Vanilla JavaScript (framework yok)
- Wikipedia REST API
- Doğal hissettiren kaydırma için scroll-snap ile CSS
- Tüm veri kalıcılığı için localStorage
Dosyaları herhangi bir statik dosya sunucusuyla sunun:
npx serveVeya index.html dosyasını doğrudan tarayıcıda açın (CORS nedeniyle bazı özellikler sınırlı olabilir).
wikiscroll/
├── index.html
├── css/
│ └── style.css
└── js/
├── app.js
├── storage.js
├── recommendation.js
└── wikipedia.js
This project was inspired by @rebane2001's TikTok-style Wikipedia concept. While the original used pre-compiled data, wikiscroll. fetches real-time content directly from Wikipedia's API.
Bu proje @rebane2001'in TikTok tarzı Wikipedia konseptinden ilham almıştır. Orijinal proje önceden derlenmiş veri kullanırken, wikiscroll. içerikleri doğrudan Wikipedia API'sinden anlık olarak çeker.
MIT
Baris Bayburtlu
- Website: bayburt.lu
- GitHub: @byigitt
- LinkedIn: bbayburtlu