Mahdi Jafari
Junior AI Engineer& Python Developer
Building intelligent systems and practical software with Python, AI, and modern backend technologies.
- Location
- Tehran, Iran
- Focus
- AI · Python
- Languages
- Persian · English
Loading photo…
/images/mahdi-jafari-profile.png
Mahdi Jafari
Junior AI Engineer · Python Developer
About me
A short note on who I am, what I work with, and what I'm looking for.
I'm a junior AI Engineer and Python Developer based in Tehran, Iran. My focus is Python and AI, with technical training in machine learning and modern development tools.
I've also worked on Mentorix as an Accounting Engine Developer, focusing on the accounting modules of the platform. I'm continuing my studies in Computer Engineering and open to opportunities to build real software and grow as a developer.
Location
Tehran, Iran
Focus
Artificial Intelligence · Machine Learning · Python
Practical work
Mentorix — Accounting Engine Developer
Education
Computer Engineering — Islamic Azad University (incoming)
Mentorix — Accounting Engine
A focused case study of my real practical development work on a double-entry accounting service.
Mentorix
Accounting Engine
Mentorix is a software platform with an accounting subsystem. My contribution was specifically the Accounting Engine — the accounting-domain service and modules responsible for the platform's double-entry bookkeeping, ledger, and reporting workflows.
My role
Accounting Engine Developer
Domain
Accounting / Double-entry bookkeeping
Type
Practical development work
Scope
Accounting Engine & modules
Problem / Domain
Accounting is a domain where correctness is non-negotiable: every transaction must balance, journal entries must post in a controlled order, and the general ledger must remain consistent across fiscal periods. The Accounting Engine needed to encode these rules as a reliable, database-backed service rather than ad-hoc application logic.
Responsibilities
- Designed and implemented accounting-domain modules for the Mentorix platform.
- Built the Chart of Accounts structure and account-balance tracking.
- Implemented Journal Entries with debit/credit balancing and posting workflows.
- Maintained the General Ledger and ledger consistency across operations.
- Implemented fiscal-period handling and period-aware posting rules.
- Built reversal operations for correcting posted entries safely.
- Added audit-related functionality and accounting validation rules.
- Implemented accounting reports and database-backed accounting operations.
Technical Architecture
A simplified overview of the components in the accounting service.
Accounting request flow
Client / Platform
Calls accounting endpoints
Accounting API
REST / HTTP
FastAPI
Application layer
Domain / Service Layer
Accounting rules & validation
SQLAlchemy
ORM & data access
PostgreSQL
Source of truth
Async accounting side-channel
Accounting Service
Publishes / consumes
RabbitMQ / AMQP
Message broker
Worker Processes
Background consumers
Key Features
Chart of Accounts
Structured chart of accounts with hierarchical account definitions and types.
Journal Entries
Double-entry journal entries with debit/credit balancing and posting workflows.
General Ledger
Centralized general ledger maintaining a consistent record of all posted entries.
Posting Workflows
Controlled posting flows that move entries from draft to posted states safely.
Account Balances
Account-balance tracking computed from posted ledger entries.
Fiscal Periods
Fiscal-period handling with period-aware posting rules and boundaries.
Reversal Operations
Safe reversal of posted entries for corrections and adjustments.
Audit & Validation
Audit-related functionality and accounting validation rules enforced at the service layer.
Accounting Reports
Accounting reports generated from database-backed ledger data.
Development Highlights
- Focused on the Accounting Engine and accounting modules.
- Translated accounting-domain rules into a reliable, database-backed service.
- Used FastAPI + SQLAlchemy + PostgreSQL as the core accounting stack.
- Integrated RabbitMQ / AMQP for asynchronous accounting side-work via background workers.
- Wrote automated tests with pytest to protect accounting correctness.
- Used Docker Compose for local service composition during development.
Lessons / Experience Gained
- Accounting correctness is a systems problem — balancing rules belong in the service layer, not the UI.
- Database constraints and migrations (Alembic) are first-class safety nets for financial data.
- Asynchronous messaging (RabbitMQ) cleanly separates synchronous API calls from background work.
- Automated tests are essential when the domain rules are this unforgiving.
Technologies Used
Technical Skills
Core skills and the technologies I used hands-on while building the Mentorix Accounting Engine.
AI & Machine Learning
Core
Coursework-trained foundations in artificial intelligence, machine learning, and deep learning.
Python & Data
Core
Python programming and the data/scientific computing stack used throughout my AI training.
Backend — Practical (Mentorix)
Practical
Technologies I used hands-on while developing the Mentorix Accounting Engine.
AI & Machine Learning
Training and hands-on work across Python, machine learning and modern AI tools.
AI & Machine Learning
Core
Coursework-trained foundations in artificial intelligence, machine learning, and deep learning.
Python & Data
Core
Python programming and the data/scientific computing stack used throughout my AI training.
Python Foundations
Python programming, data structures, and clean code practices.
Classical ML
Machine learning algorithms, evaluation, and Scikit-learn workflows.
Deep Learning
Neural networks, CNN, RNN, and frameworks — TensorFlow, Keras, PyTorch.
Modern AI
Transformers, GPT, generative AI, LLM concepts, and agentic AI.
Additional Training
Additional technologies and tools covered during my technical training.
AI / LLM Ecosystem
Additional Training
Modern LLM and agentic-AI tooling studied as part of additional training.
Backend & Programming
Additional Training
Backend and web programming technologies studied during additional training.
Academic background
Technical high school diploma and an incoming university admission.
Technical & Vocational High School Diploma
Computer — Network & Software
Technical & Vocational School · Iran
Computer Engineering
Computer Engineering
Islamic Azad University · Iran
Exact university branch is not finalized yet.
Certificates & Training
Professional training and certificates in Python, Artificial Intelligence, and Machine Learning.
GitHub
View my GitHub profile for the code I work on and study.
Let's talk about AI & Python opportunities
Open to remote and international AI Engineer / Python Developer roles. The fastest way to reach me is email.
Available for the right opportunity.
If you're hiring a junior AI Engineer or Python Developer — especially remote or international — I'd be glad to share more about my work and what I'm aiming for.