NanoFiles P2P System
Hybrid client-server + P2P architectureDescription
NanoFiles is a distributed file transfer system that combines a client-server (centralized directory) architecture with peer-to-peer (P2P) communication for efficient content downloading.
The system enables file discovery, resource sharing, and downloading from multiple nodes simultaneously, optimizing performance and scalability.
Technical Features
- Reliable protocol over UDP: Custom implementation with error control, retransmissions, and message validation.
- P2P transfer over TCP: Direct peer-to-peer communication for file downloading and uploading.
- Multithreaded parallel downloading: File splitting into chunks downloaded concurrently from multiple peers (round-robin + synchronization).
- AES encryption in P2P communications: Protection against sniffing and enhanced privacy.
- Centralized directory system: Indexing of available files and peers.
- Concurrent connection management: Use of thread-safe data structures and synchronization (locks).
Implemented Extras
- File upload with integrity control
- Distributed user list
- Dynamic chunk size configuration
- Secure socket closure (try-with-resources)
Results
Functional system capable of:
- Publishing files on a distributed network
- Downloading from multiple sources in parallel
- Managing multiple concurrent clients

Mathematics and Computer Engineering student with a focus on the intersection of rigorous theory and high-performance implementation. With a background marked by 23+ “Matrículas de Honor” and multiple Regional Olympiad awards, I thrive on bridging the gap between abstract mathematical models and efficient computational systems.
My core interests lie in Quantitative Finance, Stochastic Calculus, and Numerical Optimization. I am particularly passionate about transforming complex financial frameworks into high-performance algorithmic solutions. Currently, I balance my research in Quant Finance and Deep Learning with active leadership in university commissions.