Koray Özcan

computer_engineer / istanbul

Test automation & QA engineer at Sompo Sigorta. I build things around data, finance and iOS.

← all projects

2026

KAP Fund Analytics

Turns fund reports published on KAP as PDFs into structured, queryable time series.

  • python
  • pymupdf
  • fastapi
  • sveltekit
  • timescaledb
  • docker

architecture

  1. KAP PDF reports
  2. PyMuPDF parser
  3. Validation & audit
  4. TimescaleDB
  5. FastAPI
  6. SvelteKit UI

Problem

Investment funds in Türkiye publish their periodic reports on KAP, the Public Disclosure Platform, as PDF files. The numbers are all there, but they sit in layouts that differ between issuers, so comparing funds over time means copying tables by hand.

Approach

This was my capstone project at Bahçeşehir University. The current version parses the reports with a deterministic PyMuPDF pipeline instead of a learned model: explicit rules locate the tables and fields, every extracted value is validated, and each run is audited. The results are stored as time series in TimescaleDB, served by a FastAPI backend and explored through a SvelteKit interface. The whole stack runs in containers.

What I learned

When the output feeds financial analysis, being able to explain every number matters more than squeezing out coverage. A boring, deterministic pipeline turned out to be easier to trust, test and extend than a clever one.

Source code is private.