ProjelerProjects

YaptıklarımWhat I've built

Hepsi aynı fikirden çıkıyor: tekrar eden bir işi bir kere düzgün çözüp makineye devretmek. They all come from the same idea — solve a repetitive job properly once, then hand it over to a machine.

02Android uygulaması · Google PlayAndroid app · Google Play
OmniDoc uygulama simgesi: kalem uçlu bir belge

OmniDoc

Belgeler için tek bir alet çantası. One toolbox for documents.

Google Play'de · v2.5.2On Google Play · v2.5.2 Kotlin tek kişiliksolo

PDF birleştirmek için bir site, Word açmak için başka bir uygulama, imza atmak için üçüncüsü — hepsi dosyanızı kendi sunucularına yüklüyor.

OmniDoc dokuz formatı açıyor, kamerayla belge, kimlik ve pasaport tarıyor, PDF üzerinde yirmi bir işlem yapıyor: birleştirme, imzalama, OCR. Tamamı telefonun içinde çalışıyor — internet, hesap ve sunucu gerekmiyor; reklam, satın alma ve analitik kütüphanesi de yok.

One website to merge PDFs, another app to open Word files, a third to sign something — and every one of them uploads your file to its own servers.

OmniDoc opens nine formats, scans documents, ID cards and passports with the camera, and runs twenty-one operations on PDFs: merging, signing, OCR. All of it happens on the phone — no internet, no account, no server, and no ads, purchases or analytics libraries either.

KotlinJetpack Compose Hilt + RoomPDFBox ML Kit OCRWorkManager
Detaylı anlatımı okuRead the full write-up
85.25785,257satır Kotlinlines of Kotlin
21belge aracı · 9 formattools · 9 formats
261geçen birim testipassing unit tests
OmniDoc ana ekranı: dört sekmeli gezinme ve tek arama çubuğu
Ana ekranHome Dört sekmeli gezinme; dosyalar ve araçlar tek arama çubuğundan bulunuyor. Four-tab navigation; files and tools are found from a single search bar.
OmniDoc Word okuyucusu: DOCX belgesi başlıkları, biçimlendirmesi ve tablosuyla görüntüleniyor
Word okuyucuWord reader DOCX; başlıkları, biçimlendirmesi ve tablosu korunarak açılıyor. A DOCX opens with its headings, formatting and table intact.
OmniDoc Excel okuyucusu: satır numaraları, tarih ve para biçimleriyle XLSX tablosu
Excel okuyucuExcel reader Satır numaraları, tarih ve para biçimleri ve çoklu sayfa sekmeleriyle XLSX görüntüleme. XLSX viewing with row numbers, date and currency formats, and multiple sheet tabs.
OmniDoc ayarlar ekranı: açık, koyu ve sistem teması ile Material You desteği
AyarlarSettings Açık, koyu ve sistem teması; Material You dinamik renk desteği. Light, dark and system themes, with Material You dynamic colour support.

Ekran görüntülerindeki belgeler test için üretilmiş sentetik dosyalardır. The documents in these screenshots are synthetic files generated for testing.

Aralık 2025 — devamDecember 2025 — present

Şirkette ne yapıyorumThe work itself

Bir veri teknolojileri şirketinde çalışıyorum. Akademik yayın kaynaklarından dergi, makale ve kitap bölümü verisi çekip düzenleyip teslim ediyorum. I work at a data technology company. I pull journal, article and book-chapter records out of academic publishing sources, tidy them up and hand them over.

BirOne

Scraper yazıyorumI write the scrapers

Her kaynağın sayfa yapısı farklı. Biri için yazdığın şey diğerinde çalışmıyor; her kaynak ayrı bir problem olarak geliyor. No two sources are laid out the same way. What works on one breaks on the next, so every source arrives as its own problem.

İkiTwo

Engelleri aşıyorumI get past the blocks

Kaynakların çoğu otomatik erişimi kısıtlıyor. İsteklerin hızını ve sırasını ayarlamak, işin en çok vakit alan kısmı. Most sources restrict automated access. Tuning the pace and the order of requests is where most of the time goes.

ÜçThree

Düzenleyip teslim ediyorumI clean it up and deliver

Eksik ve bozuk kayıtları temizliyorum. Eksik veri, hiç veri olmamasından daha kötüdür — çünkü doğru sanılır. I clear the broken and incomplete records out. Half-missing data is worse than no data at all, because people trust it.

KullandıklarımWhat I use PythonSeleniumPandas

Kaynaklar ve müşteri bilgileri gizli; burada isim ya da örnek çıktı yok. The sources and client details are confidential — no names or sample outputs here.

GitHub'daki şeyler işten bağımsız: öğrendiklerimi, başkasının da işine yarar diye paylaşıyorum. What's on GitHub has nothing to do with the job — I put up what I learn, in case it's useful to someone else.

github.com/farukbagci
İletişimContact

Bir projeyi konuşalım mı?Want to talk one through?

Nasıl yaptığımı ve nerede hata yaptığımı anlatabilirim. I can walk you through how I built it — and where I got it wrong.

hello@omerfarukbagci.com