About Me

Hello! My name is Aryan Ebrahimpour. I am a Software Engineer and Designer.

I began programming in middle school and since then my interest has become an obsession. I develop applications and write articles in my weblog, I read software and hardware articles, and I follow Programming language and technology documentation to improve my programming and algorithm design skills. I constantly strive to become a better software engineer.

Basic Information

Age: years old (as of )

Personal: [email protected]
Academic: [email protected]
Work: [email protected]

Programming Topics

 Programming Languages


F# is currently my favorite language that I use it everywhere I can. I’m an experienced Functional Programmer in F# and its great features such as:

  • Computation Expressions like async, query, …
  • Type Providers
  • Units of Measures
  • Type Extensions and Abbreviations
  • Data Structures like list, array, seq, …
  • Records
  • Discriminated Unions
  • Inline Optimization and Statically Resolved Types (Compile-time Generics)
  • Flexible Types
  • Active Patterns
  • Lazy Expressions

Check out my F# projects and contributions in GitHub.


I know C# and its features, design guidelines, data structures and model of computation.

Check out my C# projects and contributions in GitHub.


I can automate systems using PowerShell scripts.


I know ECMAScript and TypeScript and their new features.


I’m novice in C and C++, however I’m experienced in some of POSIX APIs (processes, fork features, p_threads, …), and solved some distributed-systems problems using C and MPI. I also have a GUI Tic-Tac-Toe game project fully written in C++.


I’m experienced in writing software in Assembly. Take a look at my Calculator assembly project and DC Motor controller in GitHub. Both projects are simulated in Proteus.


I’ve done some basic projects with Python in complex dynamic networks area using NetworkX, and Epidemics algorithms using ndlib. I’ve analyzed data of websites like Twitter and Stackoverflow for useful information. You can also check out my Scikit Heart Disease Classifer where I used SVM Classification, Decision Trees, grid search cross validiation, PCA, and Cost complexity pruning and visualized data using Confusion Matrix, ROC and Decision surface/region.


I’m experienced in Threading, Socket Programming and Desktop Programming with Java (JavaFX). In most of our university projects I used Java in respect to projects specs, so ergo all of my AI, Programming Language design and Advanced Programming course projects are written in Java. Here is my Minesweeper game, and a minimal Cola lang compiler using Java Parser Generators.


As I mentioned in the IoT section, I’ve written a complete ping-pong game in VHDL, with help of other technologies like Xamarin, Windows IoT core, and RaspberryPi.

 Web Frameworks and Technologies


I’ve done various projects with ASP.NET Core and I’m experienced in it’s MVC pattern and DI System.

Browser Extension Development

I’ve written a Web Extension for University of Guilan students with Javascript. In that project, I was able to get familiar with some WebExtension APIs.


I can create websites with F#’s SAFE-Stack.

 GUI and Front-end


I know HTML 5 and I’ve designed some templates for Blog.ir (A blogging service in Iran). I’ve also done some front-end projects for a company in Tehran, capital of Iran.

See the vanilla template I’ve created for my Events website without using any frameworks or 3rd party libraries: Event Eater Template


I’m experienced in CSS 3 and many of its features such as keyframe animations, effects, etc.

See the vanilla template I’ve created for my Events website without using any frameworks or 3rd party libraries: Event Eater Template


WPF, UWP and lately Avalonia (including Avalonia.FuncUI), are my UI frameworks of choice. Almost all of my desktop projects are written in these frameworks. I’m skilled in many aspects of these frameworks such as:

  • Creating animations
  • Creating vector graphics
  • Text rendering features
  • Model-View-ViewModel Pattern
  • WPF and UWP Controls (DataGrid, Layouts, … )
  • Custom Behaviors and other Expression Interaction features
  • Creating Custom User Controls
  • Data Binding
  • Creating Styles and Templates
  • Globalization and Localization (i18n)


XAML or Extensible Application Markup Language is an xml-based declarative language with lots of useful features that can be used in WPF, UWP, Xamarin, Unity and a lot of other types of apps and games. My Xaml skills includes:

  • Design custom controls with custom behaviors
  • Create custom MarkupExtensions
  • Create custom Attached Properties
  • Create responsive user interfaces


I can create reactive web apps using Vue.js.


I have done some projects with React and React version of Fluent UI so I have some knowledge about JSX/TSX, React hooks and it’s component system.



I’ve used Microsoft SQL Server, SQLite and a little bit Postgresql in my desktop and web applications.

Entity Framework

I’ve used EF in my Web and Desktop projects to manage databases in a simpler and better way.


Xamarin Technologies

I’m experienced in Xamarin Technologies. I have one project written in Xamarin.Android and another one in Xamarin.Forms.


I can create mobile apps using F#’s Fabulous, Elmish MVU architecture and the Functional approach.


Electronics / IoT / Arduino

I am a big fan of Electronics and DIY. I built lots of cool stuff with my complete pack of sensors and electronic tools including Arduino.


As I mentioned in the Electronics section, I am a big fan of Electronics and DIY. I worked on the final project of my university’s CAD course with Windows IoT core + Xamarin + VHDL. The result was a ping pong game that can be controlled with a smartphone, sending data to a RaspberryPi with Windows and an FPGA which runs the game that is written in VHDL.


I ‘ve written a ping pong game using a FPGA, supervised by my professor Dr Mahdi Aminian.

 Cloud and Distributed Systems

Cloud Computing

I have basic knowledge and experience about Docker (I can create Dockerfiles, docker compose and containerize applications), Orchestraton with Kubernetes, Microservice Architecture and SOA.

WSO2 SI / Siddhi

I have experience in Message and Stream processing with WSO2 Stream Integrator and Siddhi Apps. Check out my contribution in solving DEBS2015 challange at IUST open projects


I have experience in MPI. Check out my contribtuions in solving some problems using MPICH at IUST open projects.

 Game Development

Game Development

I’m really interested in Game Development. I know some about CryEngine, Unity, and Xenko game engines editors. I also have a merged PR to Xenko Game Engine and created a new dark theme for it (+ Icon theming features).


I’ve done some basic game projects using Godot Engine and GDScript.


I’ve done some basic game projects using Unity and C#.


Microsoft Office Dev

I can create Plug-ins for Microsoft Office products. I’ve already created an extension for Microsoft Excel that can modify a sheet for easier question importing for Moodle.

Career Topics


Creating charming user interfaces has always been a hobby for me. I love blending art with computers!

Algorithm Design

Design and making use of better algorithms with factors like time and space has always been of my concern. I always try to learn and use better algorithms when possible.


DevOps makes everything faster and that’s what I love about Software Engineering. I know some about Agile Methodologies, Scrum, Unit Testing, CI/CD and other aspects of DevOps. I’m also experienced in GitHub and Azure DevOps. I can also create extensions for Azure DevOps using Azure DevOps Extension SDK.


Linux is a great operating system with a great community and an open door to the free world. My secondary Operating System is NixOS and although my primary one is Windows, I still use WSL and Bash on Windows.

Windows Dev

I know how to use the WinAPI to create Shell Extensions for Windows.

Visual Studio

Visual Studio is a great tool for developing software. It has a lot of features that you can use to refactor your code or debug your application in a faster way. I’m also familiar with Visual Studio Blend and its great XAML designer.

Microsoft Office

I’m experienced in Word, Excel, Power Point and Microsoft Power BI.


I know some about network tools such as Wireshark, GNS3 and Cisco Packet Tracer. You can read my Network Lab Documentations here.

General Topics


I can give presentations about different topics. Here is a list of Documents and Slides that I’ve created over time and used in my presentations.


I can write AutoHotkey scripts‌ to create keyboard shortcuts and macros to do some of my tasks faster with it.



I’m a Persian Native Speaker.


I’m average in English Writing, Listening and Speaking skills.

Persian Poetry

I can write Hafez-style classic poems in Persian.

Work Experience

System Group

I work in the DevOps team of the SystemGroup, a large company in Tehran, Iran which provides enterprise-scale ERP systems, cloud solutions, automation and accounting services and software. I work on a wide varity of DevOps related projects in the company.

I mainly use F#, C#, PowerShell, JavaScript and TypeScript for the projects.

IUST Cloud Computing Center


Because I was a student in a university far from the city, I couldn’t work in a company, but instead, I worked as a freelancer and done side projects in my spare time. I built desktop and web applications at the time.

Desktop Developer

I developed Industrial applications for HOMATEC company, such as CityCloud cloud file storage app, Bafgh Automation app, etc.


Master of Computer Engineering

At Iran University of Science & Technology, I’ve studied performance evaluation of computer systems, distributed systems, cloud and grid computing, data mining, dynamic complex networks, and fault tolerance of software and hardware systems. I’m currently working on scheduling algorithms in serverless platforms and function-as-a-service. My advisor professor is Dr Mehrdad Ashtiani.

Bachelor of Computer Engineering

At University of Guilan, I began to share my knowledge about programming and web design with other students. After that, I became a member of the academic forum and participated in an ACM programming contest with the result of honorable mention. I had in-class presentations about Agile software methodologies, DevOps, Refactoring and Bad smells in code, processes and threads, SQL Server and Entity Framework related presentations, Economical and social topics like Human Development Index, Informal Sector, etc.

Hasti Language

Hasti-Lang is an educational Persian functional programming language, created and developed in University of Guilan as my BCS project

Mathematics and Physics

In years of high school, I’ve studied Discrete mathematics, Differential mathematics, Chemistry, Static and Dynamic Physics, Geometry, Statistics, Probability and Persian literature.


.NET, Azure, Windows. Are you vendor locked-in by Microsoft?

Even tho I am skilled in Microsoft Technologies, I am comfortable and open to use and learn other techs, solutions and approaches. In summary, I don’t belive that I’m vendor locked-in by MS as I embrace and use every tech that looks cool to me.

Which one do you prefer? Object-oriented or Functional Programming?

I find Functional Programming easier to reason about the code, and it helps you to do much more with less code. It’s safer, and fits my soul.

Are you willing to work with us?

I’m always open to hear about new opportunities.