👋 Hello, I'm

Sepehr Moghiseh

Computer Science Student | Java Backend Developer | Software Engineer

About Me

I am a second-year Computer Science student at Leiden University with hands-on experience in Java, Python, and C++. Skilled in software development, database management, web development, and testing, I enjoy solving problems and exploring new technologies. As a former Java Backend Developer with nearly a year of professional experience, I have worked with Spring frameworks, RESTful APIs, and cross-functional teams. Passionate and adaptable, I am eager to contribute to impactful software projects and continue growing as a developer.

Professional Experience

Java Backend Developer

Samaneh Gostar Group, Tehran, Iran | September 2023 - July 2024

  • Designed and developed software applications and systems using Spring and MVC frameworks in Java
  • Collaborated with cross-functional teams, including designers, developers, and project managers, to develop software solutions that meet clients' needs
  • Implemented and maintained RESTful web services using Spring framework
  • Developed and maintained code libraries, reusable code, and APIs that can be used across different projects
  • Wrote clean, efficient, and testable code that adheres to industry coding standards and best practices
  • Troubleshot and debugged software issues, identifying and fixing bugs, and ensuring the quality and performance of the software
  • Participated in code reviews, providing feedback to other team members, and continuously improving the codebase and development processes
  • Kept up-to-date with the latest technologies, tools, and frameworks related to Spring and MVC programming in Java
  • Documented software design, architecture, and code changes, and communicated effectively with team members and stakeholders

Education

Master of Science in Computer Science

Leiden University, Netherlands | September 2024 - Present

Field of Study: Information and Communication Technologies
Level: EQF Level 7
Currently pursuing advanced studies in computer science, focusing on cutting-edge technologies and research.

Bachelor of Computer Engineering

Amirkabir University of Technology, Tehran, Iran | September 2019 - 2023

Final Grade: 16.93/20
Credits: 140
Level: EQF Level 6
Thesis: Mobile Application Modem Configuration Project for Users

Key Coursework:

  • Computer Hardware and Architecture
  • Digital Systems Design
  • Computer Networks
  • Data Structures and Algorithms
  • Image Processing

Bachelor Thesis Project

Mobile Application for Modem Configuration

Amirkabir University of Technology (Tehran Polytechnic) | 2023

This thesis presents a comprehensive cross-platform mobile application designed to simplify OpenWRT router configuration and network management for end users. The application provides an intuitive material design interface that enables users to monitor network activity, manage connected devices, perform internet speed tests, track data usage, and configure router settings through a mobile device without requiring technical networking knowledge or command-line access.

Application Login Interface

Technical Architecture

The application employs a three-tier architecture: a Kivy/KivyMD frontend for the mobile interface, a Flask middleware layer for API management, and direct integration with OpenWRT's RPC (Remote Procedure Call) interface for router communication. The system utilizes JSON-RPC protocol for secure authentication and command execution on the router, with SQLite database on the router for persistent data storage of device names, login history, and speed test results.

Technology Stack

Python 3
Kivy/KivyMD
Flask REST API
OpenWRT/LUCI RPC
JSON-RPC
SQLite3
Matplotlib
AWS S3 (ArvanCloud)
Requests Library
Material Design

Core Features & Capabilities

  • Secure Authentication System: JSON-RPC based login with animated loading screens, session management, and automatic login tracking with timestamp recording
  • Real-Time Network Device Monitoring: Live detection and display of all connected devices showing MAC addresses, IPv4 addresses, custom device naming, and connection status
  • Device Management: Edit device names, delete device entries, and remotely disconnect devices from the network with confirmation dialogs
  • Internet Speed Testing: Integrated speed test functionality measuring download/upload speeds using external test servers with automatic result storage in SQLite database
  • Password Management: Secure password change interface with confirmation validation and immediate application to router settings
  • Comprehensive History Tracking: Multiple history views including login history (who accessed the router and when), speedtest history (router-initiated tests), and user speedtest history
  • Data Usage Monitoring: Track and visualize network data consumption with historical graphs using Matplotlib integration
  • Material Design UI: Modern, responsive interface with smooth animations, floating action buttons, scrollable card views, and popup dialogs for user interactions
  • Cloud Storage Integration: AWS S3 (ArvanCloud endpoint) integration for speed test file operations and data backup
  • Cross-Platform Compatibility: Built with Kivy framework enabling deployment on Android, iOS, Windows, Linux, and macOS
Application Menu and Features

Application Demonstration

Router Configuration Interface

Implementation Details

Communication Protocol: The application establishes communication with OpenWRT routers through HTTP requests to the LUCI RPC interface at http://192.168.1.1/cgi-bin/luci/rpc/. Authentication returns a session token used for subsequent API calls.

Database Operations: The system executes SQLite commands remotely on the router through the RPC system interface, managing tables for devices, login history, speed test results, and user data. All database operations are wrapped in secure RPC calls with authentication tokens.

Network Device Detection: Connected devices are discovered by querying the router's ARP table and DHCP lease information through RPC calls. The application cross-references MAC addresses with stored device names in the SQLite database to provide user-friendly device identification.

Speed Test Mechanism: Speed tests are performed by downloading/uploading a 1MB test file from/to external servers, measuring transfer time, and calculating bandwidth. Results are automatically formatted to two decimal places and stored with timestamps for historical analysis.

UI/UX Design: The interface utilizes KivyMD components including MDCard for content containers, MDTextField for inputs, MDRectangleFlatButton for actions, and MDScrollView for navigable content. Smooth fade-in/fade-out animations enhance user experience during screen transitions and popup displays.

Research Contributions & Impact

This thesis successfully demonstrates that complex network administration tasks can be made accessible to non-technical users through well-designed mobile interfaces. The project bridges the gap between professional-grade router firmware (OpenWRT) and consumer-friendly mobile applications.

Key Achievements:

  • Successfully implemented bidirectional communication between mobile app and OpenWRT router via RPC
  • Created a secure, token-based authentication system preventing unauthorized access
  • Developed a scalable architecture that can be adapted for various router models and firmware versions
  • Implemented real-time network monitoring without requiring continuous polling
  • Designed an intuitive UI that reduces the learning curve for router management from hours to minutes
  • Integrated cloud storage for enhanced speed testing accuracy and data redundancy

Future Applications: This approach can be extended to manage other network devices, IoT systems, or smart home configurations, demonstrating the versatility of mobile-first network management solutions.

View Project on GitHub →

Musifyyy Bot - Telegram Music Downloader

🎵 Multi-Platform Music Search & Download Bot

A powerful Telegram bot for searching and downloading music from multiple platforms | 2025

🤖 Try Bot: @musifyyybot 📂 View on GitHub

Musifyyy Bot is a feature-rich Telegram bot that enables users to search and download high-quality music from multiple platforms including SoundCloud, YouTube, Bandcamp, VK Music, and Mixcloud. The bot supports both direct messaging and inline mode, allowing users to search and share music in any chat. Built with Python and deployed on Render with automated health checks and webhook support for reliable 24/7 operation.

Musifyyy Bot Search Results

Technical Architecture

The bot utilizes python-telegram-bot framework for Telegram API integration and yt-dlp for multi-platform audio extraction. The application is designed with a modular architecture separating concerns into handlers, core logic, and utilities. Deployed on Render's cloud platform with webhook-based updates for efficient message processing and minimal latency.

Technology Stack

Python 3.11+
python-telegram-bot
yt-dlp
FFmpeg
Webhook API
Render Cloud
GitHub Actions
Docker

Key Features

  • Multi-Platform Search: Searches across SoundCloud, YouTube, Bandcamp, VK Music, and Mixcloud with intelligent priority ordering
  • High-Quality Downloads: Downloads MP3 audio at 192kbps with proper metadata and album art
  • Inline Mode Support: Use @musifyyybot song name in any chat for instant search
  • Pagination System: Browse through 30 results with user-friendly 5-per-page navigation
  • Analytics Dashboard: Track popular searches, downloads, platform usage statistics, and user engagement
  • Admin Broadcast: Send announcements and updates to all bot subscribers
  • User Management: Automatic subscriber tracking and user database management
  • Smart Search Priority: Optimized search order prioritizing SoundCloud for best audio quality
  • Cookie Authentication: Enhanced YouTube access with OAuth2 support for age-restricted content
  • Webhook Optimization: Cloud-native deployment with efficient webhook processing
Downloaded Track with Metadata

How to Use

Simple Steps:

  1. Open chat with @musifyyybot
  2. Send a song name or artist (e.g., "lady gaga poker face")
  3. Choose from paginated search results
  4. Download and enjoy high-quality MP3!

🎮 Try It Live

Click the button below to open the bot and start searching for your favorite music instantly!

🎵

Search Any Song

From SoundCloud, YouTube, Bandcamp and more!

🚀 Start Using Bot
Fast Downloads

Get your music in seconds with high-quality MP3 format

🌐
Multi-Platform

Search across multiple music platforms at once

🎯
Easy to Use

Just send a song name and download instantly

Technical Highlights

  • Asynchronous Processing: Non-blocking I/O for handling multiple concurrent requests
  • Error Handling: Comprehensive exception handling with user-friendly error messages
  • Rate Limiting: Telegram API rate limit compliance with queue management
  • Logging System: Detailed logging for debugging and monitoring
  • Docker Support: Containerized deployment with Dockerfile for consistent environments
  • Environment Config: Secure credential management with .env files
  • OAuth2 Integration: YouTube authentication for accessing restricted content
  • Scalable Design: Modular codebase ready for feature expansion

Technical Skills

Programming Languages

Java
Python
C
C++
C#
HTML

Backend Frameworks

Spring
Flask
Django
MVC Pattern
RESTful APIs

Python Technologies

Flask
Django
Kivy

Databases

MySQL
PostgreSQL
Redis
MS SQL Server
RabbitMQ

DevOps & Tools

Docker
Kubernetes
Git
Linux
JSON

Concepts & Methodologies

OOP
Data Structures
Algorithms
Image Processing
NLP

Additional Skills

• Good organizational skills managing workflow and team schedules
• Cross-functional team collaboration
• Code review and quality assurance
• Software documentation and technical communication

Featured Projects

AudioCraft Music Generator

January 2025

An AI-based music generation system that integrates natural language processing and audio analysis. Used Facebook's Audiocraft (MusicGen) models in Python/Colab to generate music aligned with moods such as happy, sad, calm, or energetic. Implemented data preprocessing, audio feature extraction (tempo, spectral features), and post-processing with Pydub to refine output quality.

Python
NLP
AI/ML
Audio Processing
View on GitHub →

NLP System for Fars News

2023-2024

Developed a Natural Language Processing (NLP) system for Fars News capable of processing large amounts of data obtained from RSS feeds. The system allows users to search for specific news articles using targeted keywords with efficient information retrieval algorithms.

Python
NLP
Information Retrieval
Data Processing
View on GitHub →

Web Page for a Book Store

January 2023

Final project for Web Development course at Amirkabir University. Created a fully functional book store website with modern web technologies, featuring responsive design and interactive user interface.

HTML
CSS
JavaScript
Web Development
Live Demo → GitHub →

Language Skills

Proficiency Levels

Persian (Farsi)

Native Speaker

English

Listening: C1 - Proficient
Reading: C1 - Proficient
Spoken Interaction: B2 - Independent
Spoken Production: B1 - Independent
Writing: B2 - Independent

* Levels: A1-A2 (Basic), B1-B2 (Independent), C1-C2 (Proficient) - Common European Framework of Reference

Get In Touch

I'm always interested in hearing about new opportunities, collaborations, and innovative projects.

Or reach out directly: