Learn About Me
Hi, I’m Tushig Erdenebulgan from Ulaanbaatar, Mongolia. I’m a Computer Science student at Luther College, graduating in 2026. I enjoy building reliable software and understanding how systems behave under real-world constraints—especially in areas like backend development, networking, and cybersecurity.
I’m particularly interested in how data moves across networks, how protocols shape system behavior, and how small design decisions affect security. I like working on projects that combine engineering with practical defense: secure APIs, traffic analysis, and detection-minded development.
Outside of tech, I enjoy mathematics, chess, strategy games, and design. My long-term goal is to build technology that’s both useful and trustworthy—systems that people can depend on. Fittingly, my name “Tushig” means support and be the leverage in Mongolian, and I try to bring that mindset to the teams and systems I help build.
What can I work with
Python, Java, C++, JavaScript, Swift, Bash, SQL ━ Flask, FastAPI, Django, React, Jinja2 ━ REST APIs, JSON, CORS ━ HTML, CSS, Bootstrap
TLS fundamentals, OpenSSL, OAuth 2.0 ━ Cryptography: AES, RSA, Diffie–Hellman, HMAC, AES-GCM, Historic Stream & Block Ciphers ━ Network analysis: Wireshark, tcpdump, Nmap, Netcat, Networking fundamentals ━ Additional: Metasploit, Hydra, Hashcat, John the Ripper, LinPEAS, Reverse Shell
Linux, Git/GitHub, Docker ━ AWS, CI/CD ━ Google (Firebase, Google Cloud/Google Developers tools) ━ VirtualBox/VMware ━ Maven/Gradle ━ PostgreSQL/MySQL/SQLite, SQLAlchemy, NoSQL ━ Jupyter Notebook, Xcode
Splunk, Elastic Stack, Snort, EDR ━ Phishing analysis & alert triage ━ MITRE ATT&CK mapping and attacker behavior analysis
My Resume
Project
This project is a personal cybersecurity training challenge where I commit to capturing at least one flag every day until graduation. It emphasizes hands-on practice with CTFs, labs, and security rooms, building consistent exposure to real-world attack and defense techniques. Each day’s progress is documented in structured writeups and notes, creating a growing archive that tracks both technical skills and problem-solving approaches. By the end of the challenge, the repository will serve as a detailed portfolio of daily exercises, showcasing persistence, growth, and readiness for a career in penetration testing and cybersecurity.
CodeThis project is a Raspberry Pi–based cybersecurity and experimentation lab that demonstrates my ability to combine hardware integration with security-focused software development. Using the Pi as a compact, versatile platform, I configured and tested tools such as a lightweight SIEM for log monitoring, a custom antivirus scanner, and a prototype face-detectionsystem with computer vision. The setup is designed for running controlled simulations, experimenting with network defense techniques, and prototyping security automation, showcasing my skills in system configuration, applied cryptography, and practical cybersecurity engineering.
Coming SoonThis project is a Python-based command-line VPN demo that showcases my skills in network programming, cryptography, and protocol design. It uses TOML for configurable cipher negotiation (AES, Blowfish, 3DES), implements a Diffie–Hellman key exchange to derive a shared secret, and then slices that secret into an AES-CBC (or chosen algorithm) key and IV. All messages are padded, encrypted, and authenticated with HMAC-SHA256 before transit. The client (client.py) and server (server.py) clearly separate negotiation, key-derivation, and secure-chat loop logic, demonstrating clean protocol layering and secure message handling.
CodeThis project is a Flask-based password manager web application that demonstrates my skills in secure web development and applied cryptography. It implements bcrypt hashing with unique per-user salts for account authentication, uses scrypt key derivation to generate a 256-bit AES key, and then applies AES-GCM encryption to protect stored profile credentials. All usernames and passwords are encrypted before storage and only decrypted in memory at runtime, ensuring they are never exposed in plaintext. The backend provides RESTful APIs for registration, login, and full CRUD operations on encrypted profiles, while a simple HTML/JavaScript frontend consumes these APIs. This project shows my ability to design end-to-end secure systems, combining database design, encryption/decryption flows, and modern authentication practices.
Code
This project is a Java desktop application that demonstrates my skills in relational database design, data normalization, and GUI development. Using Luther College open-source academic data and ~800 synthetic student records generated with JavaFaker, I built a normalized SQLite database(primary/foreign keys) and a Java Swing interface to browse departments, faculty, course sections, enrollments, and student transcripts. I also wrote Python data-processing scripts to clean and normalize source data into load-ready CSVs, and implemented a TRANSCRIPT view and triggers to enforce data integrity. The project is built and run with Gradle.
Code
This project is a Java desktop application that highlights my skills in database design, data processing, and GUI development using Major League Baseball (MLB) data. It builds a full data pipeline that reads team, player, and stadium information from multiple file formats—JSON for teams and CSV for rosters and stadium details—using libraries like Jackson and OpenCSV. The data is organized and stored in an SQLite database through JDBC, ensuring it is structured and easy to query.The application also includes a Java Swing GUI, giving users an interactive way to explore the database. Through the interface, users can browse teams, view player rosters, and check stadium information, complete with team logos stored in the database. Overall, this project shows my ability to create a complete desktop application covering everything from backend data ingestion and database management to frontend design and user interaction—while managing the workflow with a Maven build environment.
Code
In this project, I utilized SQLite3 and SQLAlchemy for database management, Flask for building the backend, and Flask JWT for secure user token handling. The backend is containerized with Docker and deployed on Google Cloud Run, with CORS implemented to clearly separate the front-end and backend services. Today, the website is live and discoverable on recipesapp.com.
Users sign up for full access, search thousands of recipes by ingredient or name, and view detailed recipe pages with instructions, ingredients, video tutorials, and a feature comparing required items with their virtual fridge contents. They can also build a digital fridge from a curated grocery list and save favorite recipes.
CodeThis project is a Java based desktop application for managing student profiles that demonstrates my ability in Java programming, GUI design, and image processing. Built using Swing and AWT, the application features multiple views (card, column, and list) and uses ImageIO for reading, cropping, and resizing images. Furthermore, it follows an MVC structure by separating the model from the view, uses the Consumer interface to handle events, and includes file choosers for image selection.
CodeThis class project is an online shopping application built for a small business. In this application, users can add items to their cart based on what is available in the database—items that the admin has either added or removed. The project leverages SQLite3 and SQLAlchemy for database management, and users can view the current inventory status as maintained through the admin interface.
Code
These are my mathematics class projects. I worked on solving real-life problems mathematically—determining the optimal handle position for a mower by calculating the best handle length and angle to minimize effort while maximizing efficiency, and addressing an avalanche problem, among others. These projects have significantly enhanced my critical thinking and problem-solving skills in real-world contexts.
Therefore, in CoCalc modules, I used Python to solve complex mathematical problems, further enhancing my mathematical reasoning and logic in a digital environment.
I cloned several common apps—including Notebook App, To-Do List App, Movie Recommender App, OAuth, Finding Prime Number App, Mass Image Downloader, and Calculator App—by utilizing Python, JavaScript, GitHub, HTML, and CSS. Consequently, I applied these applications in my daily life. For instance, for the Recipes app I mentioned earlier, I used the Mass Image Downloader to download 13,000 images for recipe search, and later added those images to the Google Cloud Storage.
CodeThis is my personal project. Based on the knowledge I gained in my Information Security and Assurance class, I decided to encode every cipher and cryptographic method I learned during the course. I believe that this hands-on practice will enable me to develop even more advanced ciphers in the future, thereby enhancing my ability to protect my data from hackers.
CodeI am committed to solving a new LeetCode problem for a 100 days. This personal project focuses on developing my algorithmic thinking and deepening my understanding of data structures, which in turn continuously enhances my Python skill and fuels my growth as a developer.
Code