FX Sesh is a mobile application I designed to help traders operate with more structure, awareness, and consistency.
Many retail traders rely on fragmented tools: switching between charts, news platforms, and journaling apps, which often leads to disorganized workflows and inconsistent decision-making.
I set out to design a unified system that simplifies this process, bringing key tools into a single, intuitive experience.
This approach informed both the structure of the app and the features I prioritized.
These decisions shaped how I structured the interface and what I showed first in the UI.
Throughout development, several constraints influenced key decisions and shaped the final product:
- Prioritized cost efficiency by replacing expensive APIs with RSS-based data
- Chose rapid iteration over early test coverage to accelerate development
- Leveraged Expo for speed, while accepting limitations in advanced testing
- Balanced monetization with usability through non-intrusive ad integration
Core challenges & trade-offs
Shipping FX Sesh meant choosing under real limits: cost, time, what the stack can do, and how the product should feel day to day. Each row below is the problem as it showed up, then what I gave up or kept instead.
API cost vs feature depth
Challenge
- I wanted richer economic and market data (similar to “red folder” style news depth).
- Commercial APIs such as Financial Modeling Prep were too expensive to sustain at my stage.
Trade-off
Dropped deep paid economic data integration.
Shipped a lightweight RSS-based news flow so users still get relevant updates without raising operating cost.
Testing vs development speed
Challenge
- Features shipped quickly while the product was still finding fit.
- Formal test coverage intentionally lagged during that burst of iteration.
Trade-off
Lower initial automated coverage in exchange for faster validation loops.
Room to add structured tests and hardening once core flows stabilized.
Expo limitations vs development simplicity
Challenge
- Expo simplified builds and deployment.
- It also caps some native depth and certain advanced testing setups.
Trade-off
Less flexibility for edge-case native control and deepest test harnesses.
Much faster iteration and a smoother pipeline for iOS and Android from one codebase.
Monetization vs user experience
Challenge
- AdMob supports a free tier but ads can erode focus if placement is heavy-handed.
Trade-off
Some risk of interruption in exchange for a free, accessible product with revenue potential.
Feature scope vs focus
Challenge
- Many directions were possible: journal, notifications, learn tab, news, widgets, and more.
- Risk of a bloated “everything app” without a clear anchor.
Trade-off
Accepted breadth only where it stayed tied to one trader workflow.
Centralized complementary tools instead of shipping unrelated feature silos.
Security (journal encryption) vs delivery priority
Challenge
- Journal data could eventually warrant stronger encryption.
- That work competes with time on core flows and stability.
Trade-off
Deferred advanced encryption to ship a stable, usable journal and session experience first.
Real-time features vs technical complexity
Challenge
- Reliable session alerts depend on push infrastructure and backend behavior.
- That stack adds moving parts and failure modes.
Trade-off
Higher implementation and ops complexity.
High value for traders who depend on timely session awareness.