Perisai data bursa in-context pelindung investor ritel dari FOMO dan klaim menyesatkan di media sosial.
Pemeriksa fakta emiten Bursa Efek Indonesia (BEI / IDX) instan berbasis Android Native floating overlay.
|
Tilik adalah aplikasi pendamping investasi (financial companion) untuk platform Android yang dirancang untuk melindungi investor ritel dari misinformasi, spekulasi sepihak, dan fenomena pom-pom saham di media sosial (seperti Threads, Twitter/X, dan WhatsApp). Aplikasi ini beroperasi sebagai floating overlay widget (Assistive Touch / Grammarly style) yang melayang di atas aplikasi lain. Saat pengguna menyalin teks atau membaca klaim seputar kode emiten tertentu, Tilik mengekstraksi klaim tersebut, mencocokkannya ke Sectors Financial API, dan menyajikan kartu forensik data bursa dalam hitungan detik — tanpa memaksa pengguna meninggalkan aplikasi yang sedang dibuka. Tilik mengedepankan filosofi High-Signal & Zero-Fluff: hanya menyajikan metrik pasar valid, status kepemilikan asing, valuasi fundamental, serta peringatan papan pemantauan khusus (FCA) tanpa basa-basi narasi buatan. |
Project Metadata
|
Sistem Tilik terbagi menjadi dua repositori independen yang saling terhubung melalui REST API terenkripsi:
| Repositori | Cakupan & Tanggung Jawab | Stack Teknologi | Tautan Repositori |
|---|---|---|---|
| Tilik Android (Frontend) | Antarmuka pengguna melayang (floating bubble), deteksi clipboard real-time, gesture physics (snap-to-edge, auto-tuck), modal bottom sheet, serta rendering data bursa. | Kotlin 2.0, Jetpack Compose, Material 3, WindowManager Native, Retrofit 2, OkHttp 3, Timber | willgregorry/tilik-fe |
| Tilik AI (Backend) | Multi-agent verification pipeline, ekstraksi klaim bursa, integrasi Sectors API (fundamental, broker flow, top holders), kalkulasi skor keyakinan, dan perumusan vonis fakta. | Python, FastAPI, LangGraph, Sectors Financial API, Google Gemini Flash, Uvicorn | sulthonaw/tilik-ai |
[Media Sosial: Threads / X / WA]
│
▼ (Salin Teks / Clipboard Event)
[Tilik Android: Floating Overlay & Live Clip Listener]
│
▼ (POST /api/v1/verify — Multipart / JSON payload)
[Tilik AI Backend: FastAPI + LangGraph Agents]
┌───────┴────────────────────────┐
▼ ▼
[Sectors Financial API] [Google Gemini Agent]
- Fundamental PE / PBV - Korelasi klaim vs data
- Arus Broker & Asing - Skor keyakinan objektif
- Status Papan FCA - Rekomendasi netral
└───────┬────────────────────────┘
│
▼ (Response Model: VerdictLevel, Metrics, Reason)
[Tilik Android: Verdict Bottom Sheet & Forensik Modal]
| Modul | Deskripsi Fungsional |
|---|---|
| Floating Bubble Widget | Widget melayang native Android menggunakan WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY. Dilengkapi fisika snap-to-edge (menempel otomatis ke tepi kiri atau kanan), auto-tuck mengecil dan meredup setelah 3 detik idle, serta anti-overflow clamp batas layar. |
| Bidirectional Modal Sheet | Bottom sheet interaktif dengan gestur tarik atas dan bawah: tarikan ke atas memperluas area pembacaan klaim (expanded mode hingga 14 baris), sedangkan tarikan ke bawah menutup sheet kembali ke bentuk bubble. |
| Live Clipboard Synchronization | Menggunakan ClipboardManager.OnPrimaryClipChangedListener yang secara instan mengenali teks baru saat disalin dari aplikasi media sosial tanpa perlu aksi manual. |
| Analisis Forensik Sectors API | Menampilkan rasio valuasi riil (Price-to-Earnings, Price-to-Book), konsensus pasar, arus beli/jual broker asing, serta penandaan emiten bermasalah dalam Papan Pemantauan Khusus (FCA). |
| Zero AI-Slop Design System | Mengadopsi palet AMOLED Black (#0A0A0A), kartu bertingkat squircle (#141414), hairline border elegan (0x14FFFFFF), dan navigasi bawah frosted glass dock. Seluruh angka dan metrik berasal langsung dari bursa. |
- Java Development Kit (JDK): Versi 17 atau lebih baru (disarankan OpenJDK Temurin 17 / Android Studio bundled JBR).
- Android Studio: Ladybug / Jellyfish / Iguana atau versi yang lebih mutakhir.
- Android SDK: Compile SDK 35, Min SDK 29.
- Perangkat Uji: Smartphone fisik Android (API 29+) dengan USB Debugging aktif.
git clone https://github.com/willgregorry/tilik-fe.git
cd tilik-feSalin berkas contoh konfigurasi lingkungan dan sesuaikan variabel yang dibutuhkan:
cp .env.example .envPastikan isi .env memuat alamat backend dan kredensial API yang valid:
# Base URL API Backend (sesuaikan dengan IP lokal, Dev Tunnel, atau server backend Anda)
TILIK_BASE_URL=https://6rlfv87r-8000.asse.devtunnels.ms/
# Sectors Financial API Key (https://sectors.app)
SECTORS_API_KEY=your_sectors_api_key_here
# Google Gemini API Key
GEMINI_API_KEY=your_gemini_api_key_here
# Google OAuth Web Client ID (untuk autentikasi token ID)
GOOGLE_WEB_CLIENT_ID=your_google_web_client_id_hereCatatan Keamanan: File
.envbersifat rahasia dan telah dikecualikan secara permanen oleh.gitignore. Jangan pernah meng-commit kredensial sensitif ke repositori publik.
# Kompilasi paket APK Debug
.\gradlew.bat assembleDebug
# Pasang langsung ke perangkat fisik yang terhubung via ADB
.\gradlew.bat installDebug- Buka folder
tilik-fedi Android Studio. - Tunggu proses Gradle Sync selesai mengunduh seluruh dependensi.
- Pilih perangkat fisik target pada dropdown toolbar, lalu tekan Run (
Shift + F10).
Saat aplikasi pertama kali dibuka di perangkat fisik, berikan izin sistem berikut:
- Tampilkan di Atas Aplikasi Lain (Draw over other apps): Diperlukan untuk merender floating bubble dan modal bottom sheet.
- Layanan Aksesibilitas (Accessibility Service): Diperlukan untuk mendeteksi konteks interaksi dan kode emiten saham di media sosial.
- Perekaman Layar (Screen Capture / MediaProjection): Diperlukan untuk penangkapan bukti tangkapan layar saat verifikasi visual diaktifkan.
tilik-fe/
├── app/
│ ├── src/main/java/id/tilik/app/
│ │ ├── MainActivity.kt # Entry point dashboard & navigasi bottom dock
│ │ ├── TilikApplication.kt # Inisialisasi logging Timber & context
│ │ ├── capture/
│ │ │ └── ScreenCaptureManager.kt # Pengelola MediaProjection & capture layar
│ │ ├── data/
│ │ │ ├── client/
│ │ │ │ └── ApiClientProvider.kt # Retrofit & OkHttp client (auth interceptor)
│ │ │ ├── model/ # Data transfer object (DTO) & enum vonis bursa
│ │ │ └── repository/ # Abstraksi repositori & intelligent fallback
│ │ ├── detection/
│ │ │ └── StockKeywordDetector.kt # Regex emiten BEI & ekstraksi klaim saham
│ │ ├── service/
│ │ │ ├── OverlayService.kt # Foreground Service sentral floating overlay
│ │ │ └── TilikAccessibilityService # Service aksesibilitas pendeteksi teks layar
│ │ └── ui/
│ │ ├── dashboard/ # Beranda (BalanceSection, Portfolio, Watchlist)
│ │ ├── history/ # Layar riwayat forensik bursa & analitik
│ │ ├── markets/ # Data emiten BEI & performa sektor
│ │ ├── overlay/
│ │ │ ├── FloatingBubbleView.kt # Floating bubble UI (snap, tuck, edge-tabs)
│ │ │ ├── ClaimBottomSheet.kt # Bidirectional bottom sheet (drag gestures)
│ │ │ └── OverlayWindowManager # Native Android WindowManager bindings
│ │ └── theme/ # Fintech dark tokens (Theme.kt, Color.kt)
│ └── build.gradle.kts # Konfigurasi dependensi Compose & buildConfigField
├── banner.jpg # Banner dokumentasi proyek
├── DESIGN.md # Spesifikasi resmi Dark Investment UI System
├── PANDUAN_TESTING.md # Prosedur pengujian menyeluruh di HP fisik
└── README.md # Berkas dokumentasi utama
| Tilik — In-Context Stock Fact-Checker for IDX · Frontend Repository |
|