Software Architect · Platform Builder

Arsalan
Tamiz

Software Architect · Full-Stack Developer · Database Specialist
while (alive) { keepLearning(); } I build the primitives other developers build on — custom ORMs, expression engines, dashboard frameworks, typesetting systems. Twenty-two years of turning "each developer doing his own thing" into defined paths, so teams ship features instead of reinventing foundations.
22+
Years Shipping
15+
Major Projects
20+
Implementations
30+
Technologies
Framework · 2012→●●●

Atis Application Architecture

An opinionated full-stack framework for enterprise line-of-business systems. Defined pattern per decision — Detail vs. Inquiry screens, Razor + paired TypeScript, Business Module contracts, metadata-driven code generation. Consistency is structural, not enforced.

Atis.ORM · Atis JS Framework · Module Contracts
Platform · 2024●●●

Dynamic BI Platform

Three-tier user-programmable query platform. Developers author sandboxed LINQ; admins compose BI queries; end users drill through dashboards. Targets ~100 configs and ~3,000 queries at full build-out.

Serializable Expressions · Type Caching
UI Layer · 2024●●

Dashboard Rendering Layer

Pluggable tile-type architecture — 12+ tile types, ~20 runtime renderers over a shared base. Parallel ConfigBuilder / ContentRenderer folders. Client-side expression designer mirrors the server's serializable-expression format.

Pluggable Tiles · Expression Designer
Engine · 2018→●●●

Atis.ORM

Custom LINQ-to-SQL ORM. Recursive LINQ queries, calculated properties, customized joins, built-in pagination, value objects, navigation preprocessing, and fully serializable expression trees. Open source on GitHub.

System · 2020●●

Data Automation Framework

Business-method-level bulk execution. Excel input → reflection-discovered business methods → parameter mapping → per-row execution. Real audit trail, real validation, real security. Batches scale to 100,000+ rows through the real code path.

Reflection · Module Discovery · Per-Row Tracking
Solo Product · 2002

Directory Page Creator

WYSIWYG sub-pixel-precision typesetting engine in C++ and VB6. Interactive page composition with live multi-column ad reflow. Cut Yellow Pages directory production from 4–5 months to 2. Still in commercial use, 24 years later.

VB6 + C++ · v3.5 · Active

Build the primitive first.

A correct low-level abstraction beats a polished UI on a shaky foundation. Ship the dangerous part safely; refine the surface later.

Pragmatism over platform fashion.

I moved DCP back to VB6+C++ when early .NET's GC made it unstable. The right tool is the one that ships reliably — not the newest one.

Tools for the next developer.

Most of what I build outlives the project that asked for it. The goal is always: make the next developer's job easier.

Client
Atis JS Framework TypeScript Kendo UI jQuery Razor · Tag Helpers HTML5 · CSS3 React Bootstrap
Web · API
ASP.NET Core ASP.NET Web Forms Web API Razor Pages · MVC JWT · OAuth SignalR WCF
Service
C# · .NET 8 .NET Framework 4.8 Atis.ORM Atis.SerializableExpressions EF Core · Dapper Channels · Background Services iText7 SOLID · IoC · Unit Testing
Database
SQL Server T-SQL Query Optimization · Indexing Stored Procedures · Functions Replication Assembly Integration Administration
DevOps
Azure DevOps CI/CD Azure Artifacts · NuGet YAML Pipelines IIS · PowerShell Multi-node Deployment Offline Deployment Automation
Desktop
C++ · Win32 GDI · GDI+ Windows API · Shell WinForms VB6 MS Access
3rd Party
MS Dynamics GP MS Dynamics CRM MS SharePoint SSIS · SSRS Crystal Reports Integration Deployment Data Migration Customization Training
1996

GW-BASIC

First program. A quiz, 8th grade.

1998

Turbo C++

Custom graphics library bridging QuickBasic and C++. Low-level hardware.

2002

DCP Ships

Directory Page Creator. Solo VB6 + C++ typesetting engine. Still in production.

2006

C# · OOP

Moved to C#. Rebuilt an MMO with layered architecture and TCP transport.

2011

Enterprise

Dynamics CRM / GP integrations. Team lead. Project management.

2012

ERP Begins

Co-author on a defense-oriented ERP platform.

2018→24

Atis Stack

ORM → Serializable Expressions → BI Platform → Dashboard Layer.

2026

Today

Platform evolution, next-generation query composition.

2012→
Web-Based Military ERP Co-author · defense/aviation platform
Modules: Supply Chain, Operations, Training, HR, Finance, Sales, MRO, Asset Management. ASP.NET Web Forms and ASP.NET Core. Multi-node IIS deployment, offline logbook sync, Crystal Reports PDF pipeline. Deployed at national military installations.
● 10+ Years Live
2018→
Atis.ORM + Expression Engine LINQ-to-SQL with serializable expression trees
Recursive LINQ, calculated properties, customized joins, built-in pagination, value objects, navigation property preprocessing, and inner-to-left join promotion. Wire-format expression serialization enables BI, Data Automation, and what comes next. Open source.
● GitHub · Active
2024
Dynamic BI Platform Governed user-programmable queries
Three-tier architecture: developer-authored LINQ sandboxes, admin-composed BI queries, runtime grouping & aggregation. Integrates with the centralized security audit subsystem.
● In Production
2020
Data Automation Framework Bulk execution through real business methods
Reflection-discovered business methods (~1,500 available) mapped to Excel columns. Every row executes the real validated, audited, secured business call — same code path as the UI. Per-row transactions and failure tracking. Batches up to 100,000 rows.
● In Production
2012→
Atis JS Framework In-house TypeScript UI framework
Wraps Kendo UI with standardized Edit Form, Panel, Tab, Grid, and Toolbar components. Paired Razor + TypeScript convention with inheritance contracts for Detail and Inquiry screens. Sole author.
● Actively Maintained
2002
Directory Page Creator (DCP) Yellow Pages typesetting engine · v3.5
Solo VB6 + C++ WYSIWYG sub-pixel-precision typesetting engine. Replaced manual FreeHand layout with interactive ad placement and live multi-column reflow. Compressed directory production from 4–5 months to 2. 24 years in production.
● 24 Years Live
§ 06 · Next → Compile-time expression-tree rewriting for TypeScript.

Let's talk shop.

Architecture consultation, system design review, platform building, or just comparing notes on LINQ expression trees. I reply to every legitimate message.