u/Dragonofburdur

[Self-Promotion] I built a portfolio tracker centered around investment thesis writing

[Self-Promotion] I built a portfolio tracker centered around investment thesis writing

[Self-Promotion]

I've been working on this app as a side project.

It's called Horyzon, a portfolio tracker where you can write an investment thesis for each position. The idea is to keep your reasoning alongside your holdings so you can revisit it over time.

Here's what it currently includes:

• Stocks, ETFs, crypto, commodities, and cash tracking
• Stocks and ETFs from US, UK, Canada, Germany, France, and Turkey
• Investment thesis for each position with conviction level and time horizon
• AI portfolio analysis that references your theses
• Investment journey that captures milestones automatically
• Financial goal setting and progress tracking
• Earnings data with EPS estimates and beat/miss history
• Press releases on the asset detail screen
• Home Screen and Lock Screen widgets

https://apps.apple.com/app/id6759776199

I'd love honest feedback, especially on the thesis concept and whether it fits your investing workflow and how can it be improved.

u/Dragonofburdur — 7 days ago
▲ 2 r/iosdev

Just released my first iOS app, a portfolio tracker called Horyzon after getting rejected twice. Feedback wanted.

Apple rejected it twice under 4.3(a) before I restructured it around a different concept: instead of just tracking prices, you write an investment thesis for each holding and the AI references your reasoning when analyzing your portfolio. Honestly, i think it was for the better as it gave me a chance to focus on a different concept: past, present, and future of your investments.

Built solo over ~10 months. Would love honest feedback — first impressions, what works, what doesn't, what would make you actually use it.

https://apps.apple.com/app/horyzon-invest-with-purpose/id6759776199

u/Dragonofburdur — 13 days ago
▲ 22 r/TurkDev

10 Aylık uygulama geliştirme serüvenim (Flutter / IOS)

Merhaba,

Yaklaşık 10 aydır Horyzon adlı bir portföy/yatırım takip uygulaması geliştiriyorum ve bu hafta IOS üzerinde uygulamamı yayınladım. Özellikle publishing sırasında yaşadığım sorunları ve review sürecinin nasıl ilerlediğini paylaşmak istedim.

Uygulama

Öncelikle, uygulamamdan bahsedeyim, bu bir yatırım takip uygulaması, farklı asset ve emtia gruplarını manual olarak portfoyünüze ekleyip günlük fiyatlarını ve dolayısıyla portföyünüzün genel gidişatını takip edebileceğiniz bir uygulama. Aynı zamanda girdiğiniz pozisyonlar için "tez" yazabiliyorsunuz(neden aldım?), hedef belirleyebiliyorsunuz, ve portföyünüzün zamana dayalı gelişimini izleyebiliyorsunuz. Aylık ve yıllık abonelik ile AI analiz ve soru, daha çok varlık ve portfoy ekleme gibi özellikler açılabiliyor. Ayrıca hisse (Abd, kanada, fransa, almanya, türkiye), etf (Abd, kanada, fransa, almanya, türkiye), kriptopara, emtia ve FX destekliyor. Zamanla daha fazla varlık çeşidi ve ülke eklemeyi planlıyorum. Teknik detayları ve linki merak edenler için alta ekleyeceğim.

Neden Yaptım?

Uygulamayı kendi ihtiyaçlarım doğrultusunda geliştirmeye başladım. Daha önceden kullanmıs oldugum offline yatırım takip uygulamalarında bana hitap etmeyen şeyleri düzeltmek istedim. İlk aklıma gelenler: 1) Anapara (invested) ayrımı olmaması. Bunu dashboard'a ayrıca anaparayı yani yatırılan nakit kısmını takip ederek çözdüm. 2) Text olarak portföy paylaşımı olmaması. Bunun için de yüzdelerin ve miktarların oldugu kopyalanabilir bir format oluşturdum. 3) UI/UX ya çok karmaşık yada kötü görünüyor. Özellikle yurtdışında popüler olan uygulamalar genelde çok karmaşık geliyordu, bu yüzden arayüzü olabildiğince basit ve şık tutmaya çalıştım.

Review Süreci ve Submission

Takip edenlerin bilebileceği gibi, Apple review süreleri çok uzadı. Bu yüzden reviewe göndermeden önce elden geldiğince çok şeyi halletmek lazım ki süreci olabildiğince hızlandırsın. Ben ilk submissionımı 5 nisanda gönderdim, ve uygulamam neredeyse bir ay sonra, 6 mayısta onaylanabildi. İlk ret 2 gün sonra geldi (bunların detaylarını aşağıda vereceğim). Fakat süreç geçtikce cevaplar 7-10 günlere çıkmaya başladı.

Uygulamayla uğraşırken bir yandan da yasal ve diğer işlemler beni baya yordu. Yaşadığım en büyük sıkıntı app store connect'e girdiğim adres bilgisi ile alakalıydı. Apple eğer Avrupa'da da uygulama yayınlayacaksanız sizi "Trader" kategorisine sokuyor ve DSA onayı yaptırmanızı istiyor. Fakat buraya yazdıgınız adresin App store connect ile aynı olması gerekiyor. Şimdi burada benim yaptıgım hata connect'e girdiğim adresi biraz uyduruk yazmamdı. Bu yüzden de DSA için yazdıgım açık adres aynı olmadıgı ıcın kabul edilmedi. Adresi düzeltmeye calışırken de Türkçe belge kabul etmedikleri için bu işlem de yaklaşık 1 ay filan sürdü. En son ikametgah belgesini yeminli tercümanda çevirtip gönderince adresi değiştirdiler ve sonunda DSA de onaylandı (Yeminli tercümanlardan direk maille alabilirsiniz). Reddit'te Türkçe belgeyi kabul ettirdiklerini söyleyenler var fakat bende kabul edilmedi.

Bu adres süreci sürerken bir yandan da small business program ve 20/B istisna belgesi cıkartmaya calıstım. Small business program kısa sürede onaylandı neyse ki (Bilmeyenler için bu apple komisyonunu %15'e düşürmek için), fakat 20/B belgesi uğraştırdı, çünkü genelde bilen sayısı az ve detaylı bir kaynak da bulamadım. Bunun için gib dijitaldan dilekçe gönderip banka hesabı açtırmak gerekiyor, sonrasında da yine gib dijital üzerinden banka hesabını bildirmek gerekiyor. İsteyen olursa bu süreçle ilgili daha çok bilgi vermeye çalışırım.

Retler

4.3(A) Design - Spam

Aldığım ilk ret buydu. Bu ret ya metadata (desscription, keywords vs) yada uygulama hali hazırda appstore'da bulunan uygulamalara çok benziyorsa veriliyor. Başta canımı sıksa da düşününce biraz hak verdim, ben kendim orjinal olduğunu düşünsem de açıklama kısmı "AI'lı tracker" gibi duruyordu. Bunu çözmek için uygulamayı üç "tema" etrafında yeniden yapılandırdım:

  1. Geçmiş (Investment Journey): İşlem geçmişinden otomatik milestone'lar.
  2. Şimdi (Investment Thesis): Her varlık için yatırım tezi. Bunun hoşuma giden, ai analiz kısmında bu tezler kullanılabiliyor.
  3. Gelecek (Horyzon Goals): Finansal hedef takibi ile görsel progress.

Bu değişiklikleri yaptıktan sonra tekrar gönderince bu kısmı geçti. Açıkçası bu hali benim de daha çok hoşuma gitti.

Review Notes kısmı burada önemli. "Neyi farklı yaptım" gibi bir kısım ekleyerek gönderdim.

3.1.2(c) - Business - Payments - Subscriptions

Bunun çok daha basit bir süreci oldu. Apple nedense privacy link, terms of service gibi şeylerin description kısmında olmasını istiyormus. privacy link, ToS ve apple standart eula description sonuna ekleyip gönderince uygulamam sonunda kabul edildi.

Teknik ve Mimari Detaylar

Frontend: Flutter/Dart

Backend: Node.js + Fastify + TypeScript, Railway üzerinde hosting

Database: PostgreSQL (Prisma ORM) + Redis

Auth: Firebase Auth (Anonymous + Apple + Google Sign-In)

AI: Gemini 2.5 Flash + OpenAI

Abonelikler: RevenueCat

Market Data: TwelveData API

Monitoring: Sentry (frontend) + Telegram bot (backend)

Concept: Google Stitch + Canva (App store ss'lerini tamamen canva ile hazırladım.)

Güvenlik: Fastify rate limit, frontend rate limit, firebase app check

Backend kısmında market datası için market saatlerine dayalı bir caching mekanizması kurdum. Ayrıca request pooling kullanarak her request icin twelvedata'ya api call gitmesini engellemeye calıstım.

Backenddeki hataları gözlemlemek için telegram botları kurdum bu şekilde gerçek zamanlı olarak hataları öğrenebiliyorum.

AI analiz ve soruları icin Hem Gemini hem Chatgpt için structured output schema kullandım. Ayrıca thinking, input ve output budget limitlerini koyarak kişi başı harcamayı limitledim.

Logolar, fx rates ve asset heater gibi arka plan taskları sürekli çalışıp, kullanım olasılıgı yüksek market datalarını hep güncel tutmaya çalıştım.

Bazı market datalarını onem sırasına atadım. Yani örneğin fiyat endpointinin oncelıgı temettü endpointinin önceliğinden yüksek oldugu ıcın fazla istek geldıgınde temettü datası güncellemeyi bırakıp cachelenen değerleri kullanmaya başlıyor.

Uygulamaya zorunlu giriş koymadım. İsteyen kişi anonim hesapla devam edip sonrasında Apple yada Google ile giriş yapabiliyor. Bunu yapmamın sebebi genellikle zorunlu giriş koyan uygulamaları kullanmak istememem.

AI tarafında öncelikli olarak Gemini, fallback olarak Chatgpt kullandım. Yazılan tezler ve belirlenen hedefler de backende gönderilerek yapılan analizlerde kullanılıyor ama bu bilgiler depolanmıyor.

Hatalar

En büyük hatam daha önce yayınlamaya çalışmamak oldu 😄 Süreçlerin bu kadar uzun süreceğini bilsem kesinlikle daha önce göndermeye çalışırdım.

Bunu yazdım zaten ama tekrarlayayım: Adresi vs gibi bilgileri eksik doldurmak. Bunları bir kere tam yazmak gerekiyormuş.

Scope creep. Sürekli yeni özellikler eklemeye çalıştığım dönemler yayınlama sürecini cok yavaşlattı.

App store linki

https://apps.apple.com/tr/app/horyzon-invest-with-purpose/id6759776199

https://preview.redd.it/8cfh9773230h1.png?width=1320&format=png&auto=webp&s=9fbaa82879f378436d72bd917463996c92b2cf12

Buraya kadar okuduysanız teşekkür ederim. Maliyetler, review süreçleri, mimari detaylar vs ile ilgili sorularınız yada geri bildirimlerinizi merakla bekliyorum.

Teşekkürler.

reddit.com
u/Dragonofburdur — 13 days ago

Features:

  • node-based planning boards
  • onboarding with starter templates
  • Project Finder for reopening and searching boards
  • workflow presets and showcase boards
  • drag Unity assets into the board to generate reference or class cards
  • multi-select, align/distribute, and left-to-right auto layout
  • extension hooks for custom cards, inspectors, links, and importers

It supports Unity 2022.3 LTS and higher.

https://assetstore.unity.com/packages/tools/utilities/project-designer-154792

u/Dragonofburdur — 17 days ago