Software Architect · Senior Developer
Ehsan Enaloo
I design and build reliable software for businesses and organizations, with a focus on clear architecture and long-term maintainability. In my spare time, I create free apps and practical tools that make everyday tasks easier.
About
ehsan@enaloo:~$ whoami
Ehsan Enaloo, software architect
ehsan@enaloo:~$ cat about.txt
I am a software architect and senior developer. For more than twenty years I have designed and built business systems: accounting, ticketing, CRM, licensing and workflow software, many of them still in daily use. I have also led development teams of 5 to 20 people.
I start with the design. Requirements, boundaries and trade-offs come first, and the code follows. I still write the core of every system myself, because good architectural decisions come from staying close to the code.
I choose technology to fit the problem, not the other way around. My work spans VB6, Delphi, C#, C++, TypeScript, PHP, Python and more, always with an eye on security, performance and the real limits of the team and the budget.
I have watched many tools come and go. I stay curious, and I stay careful.
ehsan@enaloo:~$ ls principles/
architecture/ correct-code/ easy-maintenance/
ehsan@enaloo:~$ uptime
up 20+ years, building software that people depend on every day
ehsan@enaloo:~$
How I work
Design first
Every large project starts with a written design: the requirements, the boundaries of the system and the trade-offs. Implementation follows it closely.
I write the core
I lead the architecture and write the core components myself. Staying close to the code keeps my decisions practical and my designs honest about what is hard.
AI with review
I use AI tools to move faster, under clear direction. Each task is scoped, each result is reviewed, and the responsibility for every decision stays with me.
Tests decide
Nothing is merged until automated tests and code review have passed, and the depth of checking matches the risk. I answer for every line.
Experience
-
Independent Product Development
Software ArchitectI am designing and building a new product from the ground up with C#, .NET, PostgreSQL, TypeScript and React. I own the architecture, the core code and the review process. The work includes moving its REST API to a custom binary WebSocket protocol, and a Python tool in which AI agents (planner, coder, manager and reviewer) work together, with every code change verified by a fresh test run.
-
Invorg
Senior Full Stack Software DeveloperI rebuilt a municipal management system with GIS and document management, moving it from VB6 to C#, Blazor Server and SQL Server. A new data access layer that I wrote made database queries 45% faster.
-
TSI Complex
Lead Software Architect, later Technical AdvisorFor almost twenty years I led architecture and development here, guiding teams of 5 to 20 developers. We delivered accounting, ticketing, CRM, licensing and workflow systems, and many of them are still in use today. In my final years I stayed on as a part-time advisor and introduced the team to AI-assisted development.
-
Erfan Computer
Programmer and Software DeveloperI built client software with VB6, Delphi and Microsoft Access.
Selected work
Business systems from my years at TSI Complex. Many of them are still in use today.
Accounting software
More than 500 customers.
CRM
Used by more than 400 companies and factories.
Bus ticket system
Runs in more than 50 terminals. It moved from FoxPro to VB6 and then to .NET.
-
Business license system
For a provincial guild organization with about 300 associations.
Public sector -
Fuel transport system
Dispatch, accounting and fuel quotas in one system.
Logistics -
Office workflow
Letters, approvals and daily office work in one place.
Office
Browser extensions
open source
- AI Bulk Chat Manager Manage many chats at once on ChatGPT, Claude, Gemini and Grok. Written in: JavaScriptCSSHTML Chrome Web Store (opens in a new tab) Microsoft Edge Add-ons Firefox Add-ons GitHub
- RTLY Shows right to left text correctly on many websites. Written in: JavaScriptCSSHTML Chrome Web Store (opens in a new tab) Microsoft Edge Add-ons Firefox Add-ons GitHub
- Bookmark Scope Manage your bookmarks and drag many of them at once. 286 automated tests. Written in: JavaScriptCSSHTML Chrome Web Store (opens in a new tab) Microsoft Edge Add-ons Firefox Add-ons GitHub
Libraries and tools
open source
- RTLY-Kit A PHP library with dates, numbers, validators, holidays and prayer times for Persian and Arabic applications. Written in: PHP Guides Packagist GitHub
- Reqtide PHP Retries, rate limits, a circuit breaker and a deadline in one PHP pipeline, with Redis and Guzzle packages. Written in: PHPLua Guides GitHub
- WordPress DevKit Skills that help Claude and Codex review and build WordPress projects. Written in: PythonPHPPowerShell Guides GitHub
Research
Beyond client work, I spend my time on two things.
The first is independent research into end-to-end encryption, post-quantum cryptography and fast binary communication over WebSocket. I build working code to understand each topic, test it, and write about what I learn.
The second is my own older work. I am updating many of the products I wrote in the past, including my PHP libraries, and publishing them on GitHub under the MIT license.
- End-to-end encryption E2EE
- Post-quantum cryptography PQC
- Fast binary communication over WebSocket WS
- C#
- .NET
- PostgreSQL
- SQL Server
- TypeScript
- React
- Blazor
- Python
- PHP
- WordPress
- Azure
- Docker
- n8n
Writing
Notes on code that I ran and checked, about PHP, JavaScript and post-quantum cryptography.
-
AES-GCM and why a nonce must never repeat
AES-GCM needs a new nonce for each message. One repeat can expose the plain text and let an attacker forge messages.
10 minute read
-
A small runner game on a canvas, with no library
A jump, a few obstacles and a best score are enough for a game. This post shows how I built one for this site in plain JavaScript, with the numbers behind it.
9 minute read
-
TOTP in PHP without a library
Authenticator apps use a small standard, TOTP. A few lines of PHP can make and check the codes, and the RFC test values show that they are right.
6 minute read
GitHub activity
4,445contributions in the last 9 months
github.com/ehsanenaloo (opens in a new tab)Let's talk.
If you have a software architecture question, a development role or a technical project in mind, I would like to hear about it. LinkedIn is the quickest way to reach me, and the form below works too. I reply by email.
Message sent
Thank you. I will reply by email.
Take a break
Press Space or tap to run. Up or Space jumps, press again in the air to jump twice, Down ducks.