I enjoy exploring ideas, solving problems, and turning what I learn into practical projects.
I'm a Computer Engineering student at Shahid Beheshti University, interested in understanding how software, algorithms, intelligent systems, and computer hardware work together.
I use this profile to document practical projects, technical experiments, and what I learn while building them.
- π Studying Computer Engineering
- π‘ Interested in software development, artificial intelligence, algorithms, and computer systems
- π§© Enjoy solving technical problems and building practical projects
- π Continuously learning and exploring new areas of computer science
- βοΈ Writing about projects, implementation decisions, and lessons learned
- π Based in Tehran, Iran
My interests span several areas of computer engineering and software development, including:
- Algorithms and data structures
- Artificial intelligence and intelligent systems
- Data collection, automation, and asynchronous software
- Computer architecture and system-level concepts
- Software design and practical problem-solving
|
A Python implementation of Wumpus World comparing a full-map A* oracle with partially observable knowledge-based and genetic-policy agents. Highlights: Python, A* search, knowledge-based reasoning, genetic algorithms, partial observability, automated testing |
A four-part educational series covering modular crawler design, pagination, structured extraction, browser automation, and hybrid HTML/API data collection. Highlights: Crawlee, Playwright, BeautifulSoup, asynchronous programming, structured data extraction |
|
An asynchronous crawler that combines HTML parsing and direct API requests to collect structured product metadata, variants, prices, images, and stock data where available. Highlights: Python, Crawlee, aiohttp, BeautifulSoup, asynchronous API requests, data normalization |
A terminal-based Sudoku game featuring puzzle generation, unique-solution validation, player profiles, hints, undo, save/load, and leaderboards. Highlights: C++, object-oriented programming, backtracking, puzzle generation, terminal interfaces |
These are some of the technologies I have worked with so far. This list will evolve as I continue learning.
I write about project design, implementation details, technical challenges, and lessons learned during development.
- From a Scraping Script to a Modular Web Crawler with Crawlee
- Adding Pagination and Structured Product Extraction to a Crawlee Project
- Automating Search and Infinite Scroll with Crawlee and Playwright
- Combining HTML Crawling with Direct API Requests for Product Variants
I'm currently focused on strengthening my fundamentals and improving the engineering quality of the projects I build.
Beyond making a program work, I try to understand:
- Why the chosen approach works
- How the code can be structured more clearly
- What trade-offs the implementation introduces
- How the project can be tested and improved
I'm always interested in learning, exchanging technical ideas, and discovering new perspectives.