Freelance Software Engineer · Morocco

I turn business problems into reliable software.

I plan software with clients, build business applications from scratch, and improve systems that have become slow, fragile or difficult to maintain. Then I deploy the work and stay involved as it evolves.

10+years building
software
Since2014
PriorityFreelance projects
Portrait of Ayman Atif
PlanBuildDeployMaintain
Available for freelance work
Direct access to the engineer doing the work.

01 / PROBLEMS I SOLVE

Start with what is getting in the way.

Technology is useful only after the real constraint is understood. These are the conversations that usually begin a project.

For

Small businesses, startups, and agencies that need experienced technical ownership.

01

“We still run this through spreadsheets.”

Turn the workflow into a controlled system without losing the knowledge already inside it.

02

“Our application became slow as usage grew.”

Investigate the full path through data access, server resources, architecture and the browser.

03

“One change keeps breaking unrelated parts.”

Find the coupling, stabilize the important behavior and improve the structure deliberately.

04

“We have the business idea, but no technical plan.”

Clarify the workflow, challenge assumptions and define a practical route to production.

05

“We inherited a system nobody wants to touch.”

Understand it before proposing a rewrite. Preserve what works and reduce risk step by step.

06

“Our deployment process is fragile and manual.”

Make releases repeatable, observable and appropriate for the way the application is operated.

02 / SERVICES

Serious software work, from first decision to production.

I can own a new build, join an existing codebase, or handle a difficult part of a larger delivery. The engagement follows the problem, not a fixed package.

01

Business software development

Take an idea from workflow planning and database design through implementation, deployment and support.

Business web applications, backend systems, APIs, internal tools, dashboards, native Android applications with Kotlin, and Windows business software with WPF and MVVM.

02

Existing software revamp

Understand first. Stabilize. Then improve deliberately.

Architecture investigation, production diagnosis, debugging, modernization and technical debt reduction. I avoid proposing a rewrite before the existing system has been understood.

03

Business process automation

Replace repetitive, error-prone work with a process people can operate and trust.

Spreadsheet transformation, document workflows, data pipelines, email automation, listing and buyer matching, and lawful extraction of public web data.

04

.NET and Python development

Production-focused backend and business application engineering.

C#, .NET, ASP.NET Core, ASP.NET Web API, Python, Flask, Django and REST APIs, supported by practical frontend work where the product needs it.

05

Architecture and modularization

Make future changes less risky and easier to reason about.

Clear boundaries, database design, maintainable modules, efficient dependencies, design patterns and careful use of SOLID principles to reduce coupling.

06

Ongoing maintenance and improvement

Software needs engineering after launch, not just before it.

New features, bug fixes, testing, performance and security work, database optimization, refactoring, deployment improvements and production support.

03 / SELECTED WORK

Production work has consequences.

It has shared state, sensitive documents, imperfect imports, limited resources and people depending on it. That is the level of work represented here.

Confidential Client Work

Business Valuation & Deal Platform

A production web application that brings financial analysis, document drafting, sharing, exports and deal workflows into one system.

Built from scratch. Maintained for approximately two years.

I am responsible for initial planning, architecture, development, deployment and ongoing maintenance.

Workflows

Valuation analysis, pricing opinions, confidential memorandum building, anonymous listings, folders, controlled sharing and legacy imports.

Engineering

Versioned document state, structured imports, validation, PDF and spreadsheet processing, OCR fallback, reusable templates and print-ready output.

Foundation

Python, Flask, SQLAlchemy, Jinja2, JavaScript and document-processing libraries in a modular application architecture.

Discuss a similar project
Controlled workspace Shared document state Versioned · permission-aware · maintained
01Ingestspreadsheets · PDFs · scans
02Analyzevalidation · financial workflows
03Producetemplates · exports · print
04Controlsharing · access · protection

REAL PRODUCTION CONSTRAINTS

The system had to keep working when conditions stopped being simple.

01

Shared work introduced race conditions.

Multiple people working with shared documents and state required careful investigation of concurrency, ownership and consistency.

02

Limited server resources exposed performance pressure.

Concurrent usage made performance an architectural concern, not a cosmetic optimization. The work required tracing behavior across application and infrastructure constraints.

04 / HOW I WORK

Code starts after the direction is clear.

You work directly with the engineer planning and building the software. No unnecessary layers between the problem and the technical decisions.

  1. 01

    Discuss

    Understand the business problem, the people involved and what is making the current situation expensive or risky.

  2. 02

    Challenge requirements

    Question assumptions where a requested feature may hide a simpler, safer or more useful solution.

  3. 03

    Plan

    Map the workflow, system boundaries, data model, delivery sequence and production constraints.

  4. 04

    Suggest improvements

    Bring technical options back into the business conversation before they become expensive code.

  5. 05

    Reach agreement

    Make the scope and tradeoffs clear so the build starts with shared expectations.

  6. 06

    Build

    Implement maintainable software with attention to security, testing, accessibility, efficient data access and the real operating environment.

  7. 07

    Deploy

    Move the application into production with sensible configuration, migrations, observability and repeatable delivery.

  8. 08

    Maintain

    Fix, improve and extend the system as the business learns and requirements change.

05 / AUTOMATION

Turn a manual process into an operating system.

The goal is not automation for its own sake. It is to make the work structured, repeatable and easier to inspect.

  • Spreadsheet-driven operations rebuilt as software workflows
  • Large spreadsheet cleaning and transformation
  • Public, lawful web data organized into structured files
  • Email campaign and document-processing automation
  • Matching business listings with relevant buyers and leads
01 / MANUAL Files, inboxes,
repeated steps
02 / STRUCTURED Rules, validation,
clear ownership
03 / AUTOMATED Repeatable flow,
visible outcomes
InvoiceFlow / architectureopen source
CLIconfiguration
Pipelineworker execution
Extractioninvoice models
Excelclean workbooks
InputPDF invoices
ProcessingParallel workers
OutputMulti-sheet Excel

OPEN-SOURCE ENGINEERING PROJECT

InvoiceFlow

A production-minded Python toolkit that turns PDF invoices into structured invoice data and clean Excel workbooks.

It includes configurable multiprocessing, extraction strategies, logging, tests, demo invoice generation and extension points for other output formats and extraction methods.

Python · pdfplumber · pandas · openpyxl · ProcessPoolExecutor · pytest
Inspect the project on GitHub

06 / ABOUT

I prefer understanding the business before touching the code.

I have been developing software since 2014. My work usually begins with a conversation about the process, not a programming language.

I challenge requirements when needed, plan the workflow and architecture, suggest improvements, and build once we agree on the direction. I then deploy the software and continue maintaining it.

Clients work directly with me. I care about what happens after launch: whether the system is secure, observable, accessible where it should be, efficient with its data, and maintainable when the next change arrives.

Backend and APIsWeb applicationsDesktop and AndroidSQL databasesCI/CD and AzureTechnical SEO and accessibility

07 / START A CONVERSATION

Have a new idea, a difficult codebase, or a process that should not still be manual?

Let’s build something your business can rely on.

a95yman@gmail.com