01
Service & Data Flow Design
Researched and documented the KIS Open API, defined service functions, and reviewed screen-level data requirements and data structures.
REAL-TIME DATA · CACHING
Real-time Stock
Insight Platform
PERIOD
2025.11.10 — 2025.11.19
TEAM
Microsoft Data School · 5 Members
ROLE
Data Flow · Redis Caching · Frontend
Azure Functions · Event Hubs · Redis · PostgreSQL · FastAPI · JavaScript · Bootstrap · Chart.js
01 — OVERVIEW
Antic Signal is a stock insight web-app MVP that integrates real-time and historical market data to support data-driven investment decisions.
The service provides real-time trading-volume TOP10, individual stock prices, historical price and volume trends, investor trading flows, and related information through a cloud-based backend and web interface.
My main engineering focus was building a Redis caching layer for frequently accessed TOP10 stock data processed from Event Hub events.
02 — ARCHITECTURE
Real-time stock data entered the event-processing flow through Event Hubs. Azure Functions processed trading volume events, extracted the TOP10 stocks, enriched them with stock metadata, and stored the result in Redis for fast retrieval by the application.
KIS Open API
Market Data
Event Hubs
Real-time Events
Azure Functions
Event Processing
TOP10
Volume Processing
Redis
Cached Results
FastAPI / Web
Data Serving
Redis was used for frequently accessed processed data, while PostgreSQL was used as part of the broader data storage and retrieval architecture.
03 — MY ROLE
01
Researched and documented the KIS Open API, defined service functions, and reviewed screen-level data requirements and data structures.
02
Processed real-time trading-volume data from Event Hubs with Azure Functions, extracted TOP10 stocks, enriched their metadata, and cached the results in Redis.
03
Worked with PostgreSQL and Redis-based storage and retrieval structures to support responsive access to market data.
04
Designed the interface in Figma and implemented a responsive stock dashboard using Bootstrap, JavaScript, and Chart.js.
04 — REDIS CACHING
CHALLENGE
The TOP10 trading-volume list is frequently accessed application data. Processing the event stream and rebuilding the same result for every client request would introduce repeated computation into the request path.
WITHOUT A CACHE LAYER
TOP10 Data
Trading Volume
Repeated Work
Request Path
REDESIGN
Trading Events
Process Events
Extract Stocks
Enrichment
Cache Result
Web App
SOLUTION
Azure Functions transformed the incoming trading-volume events into an application-ready TOP10 dataset before the request stage. The enriched result was cached in Redis so the web application could retrieve frequently requested data without rebuilding it for every request.
05 — DATA SERVING
The service handled both frequently changing real-time information and persistent market data. Redis and PostgreSQL were used together as part of the data serving structure rather than treating every query in the same way.
FAST ACCESS
Cached processed TOP10 results and stock metadata for frequently accessed application data.
Low-latency retrieval
PERSISTENT DATA
Supported persistent storage and retrieval requirements within the broader market-data backend.
Structured data storage
06 — MVP DELIVERY
DELIVERY
The team prioritized the core data flow and user-facing functions and completed a working MVP within the ten-day project period.
DELIVERY
10 Days
Core functions were prioritized to complete a demonstrable MVP within the project period.
ARCHITECTURE
Azure
Managed cloud services were used to establish an event-driven and scalable foundation.
OPERATIONS
Cost
Usage-based pricing was applied to estimate monthly operating costs and review MVP feasibility.
07 — RESULT
01
Built a flow that processed real-time trading-volume events through Event Hubs and Azure Functions.
02
Cached enriched TOP10 stock data to provide a more efficient retrieval path for frequently accessed information.
03
Completed the core web application within 10 days and evaluated operational feasibility through estimated cloud costs.
KEY TAKEAWAY
Caching was not just an infrastructure choice. Preprocessing frequently requested data before the request path connected backend architecture directly to application responsiveness and user experience.
08 — WHAT I LEARNED
Architecture decisions should reflect how data is actually used.
This project showed me the importance of defining API specifications and screen-level data structures clearly before implementation. Designing the Redis caching layer also demonstrated how backend decisions can translate directly into faster data access and a better user experience.
Antic Signal · 2025