Based in Jakarta, Indonesia

Novanda
Fadly.

Management Accounting professional at PT Pupuk Indonesia — building internal tools, data pipelines, and financial dashboards on the side.

scroll
About me

Analyst by day,
builder by night.

I work in management accounting and financial analysis at PT Pupuk Indonesia — handling COGS reconciliation, cost allocation, and performance reporting across fertilizer subsidiaries.

Outside my day job, I build data tools and web apps — from personal finance trackers to AI-powered receipt parsers — mostly to scratch my own itch and sharpen my dev skills.

I believe the best internal tools come from people who actually use them.

Data & Analytics
Power BI Python SQL DuckDB STATA SAP FICO
Dev Stack
Next.js React Supabase FastAPI TypeScript
AI & Infrastructure
LangChain pgvector Gemini API Vercel Git
Jul 2025 — Now
Management Accounting
PT Pupuk Indonesia (Persero)
Mar 2024 — Mar 2025
Business Performance Management Intern
PT Pupuk Indonesia (Persero)
Jan 2024 — Mar 2024
Sustainability Report Analyst
UNSW Sydney
Feb 2022 — Jul 2022
Backend Engineering Track
GoTo Impact Foundation × GoTo
Sep 2018 — Nov 2022
B.Mgt · GPA 3.44/4.00
Universitas Jenderal Soedirman
Side projects

Things I've built.

Personal tools and internal apps built to solve real problems — not for freelance, just for learning and utility.

01
DompetKu
Personal finance management app
Live
A zero-based budgeting app built with Next.js and Supabase. Manage multiple wallet pockets (operasional, tabungan, kantor), track debts and receivables with wallet integration, and monitor monthly budgets — all in one dashboard.

Designed around a strict architectural rule: all wallet balance changes go through database triggers only — the frontend only inserts or deletes, never updates directly.
▸
Wallet PocketsSeparate buckets for personal, savings, and work expenses with real-time balances
▸
Debt & ReceivablesTrack who owes you (and vice versa) linked directly to wallet movements
▸
Budget TrackingMonthly spend vs budget with category breakdown — kantor expenses excluded from personal budget
▸
Trigger-based ArchitectureBalance integrity enforced at DB level via Supabase Postgres triggers
dompetku.novandafadly.com
Ringkasan Bulan Ini Apr 2026
Operasional
Rp 2.5jt
Tabungan
Rp 1.8jt
Pengeluaran
Rp 1.2jt
Makan siang-Rp 45k
Gaji bulan ini+Rp 8.0jt
Sewa kos-Rp 2.0jt
Tabungan darurat+Rp 1.5jt
02
Reimburse App
Team reimbursement tracker with AI receipt parsing
Internal
An internal web app used by a small team (5 staff) to manage reimbursement submissions. Staff upload receipts and evidence, the app uses Gemini AI to parse them automatically, and generates a clean PDF rekap for approval.

Supports two attachment types: nota (receipts) and evidence rapat (meeting evidence) — each displayed separately in the recap view with proper page-break handling for printing.
▸
AI Receipt ParsingGemini 2.5 Flash extracts amount, vendor, and date from uploaded nota images automatically
▸
Dual Attachment TypesSeparate handling for receipts and meeting evidence with correct labeling in recap
▸
PDF Rekap GeneratorPrint-ready recap with evidence displayed before the summary table, page-break safe
▸
Supabase StorageSecure file storage with Auth — one shared admin account for the whole team
reimburse-app.novandafadly.com
Reimbursement — April 2026
Total Entry
12
Disetujui
8
Total (Rp)
4.2jt
Staff A — TransportRp 85kApproved
Staff B — Rapat PertemuanRp 320kPending
Staff C — ATKRp 45kApproved
Staff D — KonsumsiRp 150kApproved
03
Market Intelligence Agent
AI portfolio research agent with RAG
Live
An AI-powered research agent for IDX (Indonesian Stock Exchange) portfolio analysis. Combines LLM reasoning with real-time financial data and a vector knowledge base to answer complex investment questions about IDX-listed companies.

Built with LangChain/LlamaIndex for agentic orchestration, Supabase pgvector for semantic search over financial documents, and yfinance for live price and fundamental data.
▸
RAG PipelineFinancial reports and analyst notes embedded into pgvector for semantic retrieval
▸
Agentic ToolsAgent can call yfinance, screen stocks by P/BV / ROE / DER, and reason across multiple sources
▸
IDX ScreenerFilters IDX80 + sectoral expansion by custom fundamental criteria
▸
Next.js Chat UIConversational interface for portfolio Q&A with streamed responses
market-intelligence.novandafadly.com
user > Screener IDX80, P/BV < 1.2, ROE > 12%, DER < 1.5
── Calling tool: screen_stocks(filters={p_bv: "<1.2", roe: ">12%", der: "<1.5"}) ──
agent > Found 7 candidates:
  BBNI · P/BV 0.95 · ROE 14.2% · DER 0.8
  PTBA · P/BV 1.08 · ROE 22.4% · DER 0.4
  INDF · P/BV 1.11 · ROE 13.1% · DER 0.9
  + 4 more...
user > Analisis BBNI — layak beli sekarang?
── Retrieving context from pgvector: BBNI Q4 2025 laporan... ──
agent > BBNI saat ini diperdagangkan di bawah book value...
04
PDF Organizer
Client-side PDF manipulation toolkit
Live
A fully client-side PDF tool built with Next.js 15 — no server, no uploads, no privacy risk. Drop in your PDFs, rearrange pages with drag-and-drop, merge multiple files, split, rotate, delete pages, and compress output in three quality presets.

Built with pdf-lib for manipulation and pdfjs-dist for rendering, with a performance-first architecture: lazy page rendering, virtual grid for large documents (200+ pages), and chunked file reading.
▸
Merge & ReorderDrag-and-drop to reorder pages across multiple PDFs before merging into one
▸
Split & CompressExtract page ranges and compress with three presets: screen, ebook, and printer quality
▸
Performance OptimizedVirtual grid + IntersectionObserver lazy rendering — handles 200+ page documents smoothly
▸
100% Client-SideAll processing in the browser — files never leave your device, no backend needed
pdf-organizer.novandafadly.com
PDF Organizer
Merge Split Compress
p.1
■
p.2
□
p.3
□
p.4
□
+
3 files · 12 pages total
↺ Rotate ⬇ Export PDF
05
Real-Time Streaming Pipeline
High-throughput event streaming & OLAP analytics across a private VCN
Live
A high-throughput real-time data platform for transaction event streaming, peaking at ~10,962 transactions/second. Built around Redpanda (Kafka-compatible, JVM/ZooKeeper-free broker) feeding a ClickHouse OLAP store, with sub-second analytical queries surfaced through a live Metabase dashboard.

Deployed on OCI across two VMs communicating over a private VCN subnet: a DB VM running ClickHouse, Redpanda, and Nginx, and an app VM running Metabase for dashboarding. Next up: a GCP BigQuery cold-storage warehouse bridged via a Python ETL batch service, for unified hot + historical querying.

Note: this is an architecture case study — the live dashboard runs on simulated transaction data, not real payment traffic.
▸
Redpanda IngestionKafka-compatible streaming broker handling peak throughput of ~10,962 TPS with topic partitioning & retention strategy
▸
ClickHouse OLAP StoreRaw transaction table, hourly aggregations via SimpleAggregateFunction, and a dedicated fraud-detection log for sub-second analytical queries
▸
Dead Letter QueueIsolates failed events into a DLQ table so pipeline failures never block the main streaming flow
▸
BigQuery Warehouse (in progress)Planned Python ETL service to sync ClickHouse hot storage to BigQuery cold storage for unified historical querying
analytics.novandafadly.com/dashboard/real-time-payment
stream > Redpanda producer → ClickHouse rtp_analytics · auto-refresh 10s
── SELECT count(), sum(amount) FROM user_transactions WHERE created_at >= NOW() - INTERVAL 10 SECOND ──
throughput > Peak: 10,962 TPS
  status: success · failed · pending — 24h breakdown
  fraud_alerts: high_value_fraud_alerts — real-time rule engine
  dlq_raw_transactions: 0 unresolved failures
etl > Planned: batch sync ClickHouse → BigQuery (cold storage)
── google-cloud-bigquery SDK · not yet connected ──
status > Hot storage live on OCI · BigQuery integration upcoming
What I work with

Skills & tools.

📊
Data & Analytics
Power BIPythonSQLDuckDBSTATAExcel (Advanced)
🏗️
Frontend
Next.jsReactTypeScriptTailwind CSSVite
⚙️
Backend & DB
SupabaseFastAPIPostgreSQLpgvectorREST API
🤖
AI & LLM
LangChainLlamaIndexGemini APIRAGEmbeddings
💼
Finance & Accounting
SAP FICOCOGS AnalysisKPI DevGRI/ESGM&A Valuation
🚀
DevOps & Tools
GitVercelGitHubLinux CLIDocker (basics)
Certifications

Credentials.

IBM Data Analyst Professional Certificate
IBM · Feb 2025
BI Essentials for Finance Analysts (Power BI)
CFI · Feb 2025
Advanced Valuation & Strategy — M&A, PE, VC
Erasmus University Rotterdam · Feb 2025
Corporate Finance Foundations Professional Certificate
CFI · Sep 2024
The Ultimate SAP S/4HANA Course 2025
Udemy · Jun 2025
Data Analyst Associate
DataCamp · Oct 2023
Google Cloud Skills

Gold League · 6,041 pts · 35+ skill badges — View full profile ↗

Implement Multimodal Vector Search with BigQuery
Google Cloud · Feb 2026
Build AI Agents with Enterprise Databases
Google Cloud · Jan 2026
Create Embeddings, Vector Search & RAG with BigQuery
Google Cloud · Jan 2026
Develop Gen AI Apps with Gemini and Streamlit
Google Cloud · Feb 2026
Enhance Gemini Model Capabilities
Google Cloud · Feb 2026
Implement Cloud Security Fundamentals on Google Cloud
Google Cloud · Jan 2026
Get in touch

Let's connect.

This is just a showcase — not looking for freelance work.

novandafadly@gmail.com