Software Engineer Istanbul, Türkiye

Halil Mert
Develi

BackendMobileProduct engineering

I build backend systems with ASP.NET Core and mobile apps with Flutter. I focus on software that solves a real problem, comes with tests and is ready to ship, from a matching app to support and commerce systems for the LED display industry.

Daily stack

  • C#
  • .NET 8
  • ASP.NET Core
  • EF Core
  • Flutter
  • Dart
  • Firebase
  • PostgreSQL
  • Docker

01Selected work

Products and systems I've engineered

Three case studies covering the problem, my contribution, the engineering decisions and where each project stands today. Shipped and planned work are shown separately.

Mevora

  • Active development
  • Pre-launch

A Flutter + Firebase dating app that matches people on explainable signals, with safety and location privacy enforced on the server.

Mevora sign-in screen with Google, Apple, Spotify, phone and email sign-in
Real app screen (development build) and the compatibility weights from the codebase.
Problem
Most dating apps rank people with opaque scores and expose more personal data than they need to. Mevora explains why two people match, keeps exact location private and moves every trust-critical rule off the client.
My contribution
As the sole developer I design and build the Flutter app, the TypeScript Cloud Functions backend, the Firestore and Storage security rules, and the companion ASP.NET Core support and admin sites.

Engineering highlights

  • Explainable compatibility Profile, music (tracks 40% · artists 30% · genres 20% · recent 10%) and relationship-question scores are computed on the server. No "AI matching" claims.
  • Server-authoritative matching The discovery feed, swipes and mutual matches are produced by Cloud Functions, with radius, mutual-preference, activity and block filters applied server-side.
  • Privacy and safety Exact GPS is readable only by its owner; everyone else sees a distance label. Reporting, blocking, message rate limits, a photo moderation pipeline and a 1:1 face check against a liveness selfie.
  • End-to-end encrypted chat Text, image, GIF and voice messages are encrypted with X25519 + AES-GCM; Firestore and Storage only ever hold ciphertext.
  • Monetization and compliance Boost in-app purchases with server-side receipt verification and refund handling; account deletion and personal data export.
  • Tests and CI 280+ Flutter test files, 120+ Cloud Functions tests and emulator-based security-rules tests run on GitHub Actions.

Stack

  • Flutter
  • Dart
  • Firebase Auth
  • Cloud Firestore
  • Cloud Functions · TypeScript
  • FCM
  • Spotify Web API
  • ASP.NET Core
  • GitHub Actions

LED-COM

  • Private project
  • Foundation phase

A managed B2B commerce platform for the LED display industry: customers buy screens and installation from one brand while suppliers and their costs stay hidden.

Price chain

  1. SupplierCost Supplier cost hidden from customer
  2. planned Operations
  3. PlatformMargin Platform margin
  4. CustomerPrice Customer price

Layers

APIVersioning · JWT · ProblemDetails · health
ApplicationResult<T> · FluentValidation · ports
DomainMoney · price types · roles
Infrastructure PersistenceEF Core · PostgreSQL
Configuration engine Pricing engine Payments
  • Built
  • Planned (port in place)
Architecture diagram. As a private project, the structure is shown instead of screenshots.
Problem
Buying an LED wall means matching pixel pitch, cabinets, controllers, power and installation across several suppliers. The platform's goal is to turn that into one configured, priced and managed order.
My contribution
I am designing the domain and laying the .NET 8 architecture foundation: the layered solution, the identity and role model, pricing types and a phased roadmap.

Engineering highlights

  • Clean Architecture Domain, Application, Infrastructure, Persistence and API layers with ports and adapters, so the app still boots without a database.
  • Pricing safety through types Supplier cost, platform margin and customer price are distinct value objects, so cost and sale price can't be mixed up by accident.
  • Security baseline JWT validation, ASP.NET Identity with role policies (platform admin, staff, supplier, customer), security headers and no error details in production responses.
  • Data and API PostgreSQL through EF Core with a dedicated schema (Supabase-compatible), a versioned API, health checks and xUnit tests.

Built so far

  • Layered solution and API foundation
  • Identity schema and role policies
  • Money and pricing value objects
  • Health checks, API versioning, tests

On the roadmap

  • LED configuration engine: pixel pitch, cabinets, power, controllers, bill of materials
  • Pricing engine and quotes
  • Product catalogue that hides supplier data
  • Orders, payments, fulfilment and installation

Stack

  • .NET 8
  • ASP.NET Core
  • EF Core
  • PostgreSQL · Supabase
  • ASP.NET Identity
  • JWT
  • FluentValidation
  • xUnit

LED Support Bot

  • Private project
  • Active development

A WhatsApp support-intake system for LED display service: it collects the diagnostic details a technician needs, then hands the conversation to a human.

Message path

  1. CustomerWhatsApp
  2. Node.jsConnector
  3. ASP.NET CoreWorkflow engine
  4. EF CorePostgreSQL

Extraction order

  1. 1Deterministic parsers
  2. 2Cost gate
  3. 3LLM · JSON schema
  4. 4Validation + audit

Case slots

  • Screen size
  • Panel label photo
  • Receiver count
  • Config connection
  • AnyDesk ID

Hand-off to a technician when complete

Flow diagram; the slots show the kinds of details the system collects. Private project.
Problem
Technicians kept asking every customer the same questions: screen size, panel label photos, receiver count, AnyDesk ID. The bot gathers these step by step, so a technician starts with a complete case.
My contribution
I designed and built the backend workflow, the WhatsApp connector, the persistence layer and the test suite.

Engineering highlights

  • Backend-owned workflow An 11-stage, slot-driven state machine decides what to ask next and when to hand off.
  • Deterministic first, AI second Parsers handle sizes, counts and IDs. An LLM is called with a strict JSON schema only when a cost gate allows it, and its output is validated and audited. The AI never sends messages or owns state.
  • Human takeover Bot, paused and human modes; when a technician replies, the bot steps back automatically.
  • Reliable ingest Idempotent webhook ingest (app check plus unique constraint), constant-time shared-secret auth between the Node connector and the .NET API, and media type validation.
  • Tests and CI 100+ .NET tests, with integration tests running against real PostgreSQL through Testcontainers on GitHub Actions.

Built so far

  • WhatsApp connector (Node.js) and ASP.NET Core API
  • Conversation workflow engine and parsers
  • Gated, validated AI extraction
  • Media pipeline and PostgreSQL persistence

On the roadmap

  • Operator dashboard: queues, takeover, summaries
  • Technician authentication
  • Realtime updates
  • Production hosting

Stack

  • .NET 8
  • ASP.NET Core
  • EF Core
  • PostgreSQL
  • Node.js
  • OpenAI structured outputs
  • Testcontainers
  • React · Vite
  • GitHub Actions

02More projects

Work that shows the range

All repositories
  • ClearPay web app summary screen

    Fintech · Backend Open source

    ClearPay

    A demo wallet on one SQL Server double-entry ledger, with an ASP.NET Core 8 web app and a Flutter client. Balance is derived, never updated; transfers are idempotent (replay → 409) and the outbox commits in the same transaction.

    • .NET 8
    • SQL Server
    • Flutter
    • Hangfire
    • Docker
    • CI
    clearpay 1
  • LED Teknik Destek home page

    LED industry · Web Live

    LED Teknik Destek

    A live support site for Colorlight, NovaStar and Huidu control systems: support form → Supabase PostgreSQL → Resend email, Google sign-in, realtime customer chat and an admin panel.

    • ASP.NET Core 8
    • Razor Pages
    • Supabase
    • Resend
    • Vercel
    ASP.NET-APP-FOR-LED Live site
  • Capstone project

    Task Management System

    Onion-architecture ASP.NET Core MVC task manager: Admin and Member roles, MediatR, FluentValidation, EF Core + SQL Server, cookie auth and task reports.

    • ASP.NET Core MVC
    • MediatR
    • EF Core
    • SQL Server
    TaskManagementSystem
  • Mobile · Realtime

    Firebase Chat App

    A Flutter group chat on Firebase Auth and Cloud Firestore: creating and searching groups, membership, live message streams and profiles.

    • Flutter
    • Firebase Auth
    • Cloud Firestore
    FirebaseChatApp
  • Mobile

    Personal Finance Tracker

    A Flutter personal finance app with Firebase Authentication (email, Google, Apple), Firestore, Storage and responsive layouts.

    • Flutter
    • Firebase Auth
    • Firestore
    personal-Finance-Tracker
  • Android · Kotlin

    VPN App · Compose

    A VPN app interface study in Jetpack Compose and Material 3, built alongside a Flutter version of the same UI as a comparison.

    • Kotlin
    • Jetpack Compose
    • Material 3
    VPNAppWithCompose

03About

Modelling a messy domain correctly is harder than picking a framework.

I'm a Computer Engineer based in Istanbul. I build backend services with .NET and cross-platform mobile apps with Flutter.

Most of my work sits in the LED display industry: support tooling, B2B commerce and hardware-adjacent systems. There are real customers, real faults and real prices involved, so the software has to work in the field.

I care about layered architecture, explicit domain models and APIs that are boringly predictable to consume. Security rules, tests and documentation are part of the work, not something added later.

Location
Istanbul, Türkiye
Education
Computer Engineering
Focus
Backend · Mobile
Industry
LED display technology

Problems I can take on

  1. Backends and domain models

    Layered, testable ASP.NET Core APIs, with domain models that protect rules such as money, roles and pricing through types.

  2. End-to-end mobile products

    Flutter + Firebase apps from authentication to in-app purchases and a store-ready architecture.

  3. Moving trust to the server

    Taking critical decisions like matching, payments, moderation and deletion off the client with Cloud Functions and security rules.

  4. Integrations

    Connecting WhatsApp, Spotify, in-app purchases, email and LLM services, with validation and failure handling.

  5. Turning field workflows into software

    Turning manual LED technical-support processes into structured, traceable systems.

04Skills

Technology, grouped by discipline

Only what I've actually used in my projects.

Backend

Where most of my work lives

  • C#
  • .NET 8
  • ASP.NET Core
  • Razor Pages · MVC
  • REST APIs
  • EF Core
  • MediatR
  • FluentValidation

Mobile

Flutter first, with Android experience

  • Flutter
  • Dart
  • Firebase
  • Kotlin
  • Jetpack Compose
  • go_router

Data

Relational and document stores

  • PostgreSQL
  • SQL Server
  • Cloud Firestore
  • Supabase
  • Firebase Storage

Infrastructure

From local to production

  • Docker
  • Vercel
  • Cloud Functions
  • GitHub Actions
  • Testcontainers
  • Firebase Emulator Suite

Architecture & engineering

How the code holds up

  • Clean / Onion Architecture
  • Domain modelling
  • Authentication & authorization
  • Security rules
  • Idempotency
  • Automated testing
  • Third-party integrations

05Journey

From mobile experiments to product-scale systems

Engineering milestones taken from my GitHub history.

  1. 2023

    Mobile foundations

    Android with Kotlin (MVVM, Jetpack Compose), first backend steps with Java and Spring Boot, and a realtime chat app with Flutter and Firebase.

    • Kotlin
    • Java
    • Flutter
    • Firebase
  2. 2023 – 2024

    Moving to .NET

    N-layer architecture, design patterns, Entity Framework Core and ASP.NET MVC through e-commerce and banking scenarios.

    • C#
    • EF Core
    • ASP.NET MVC
  3. 2025 – 2026

    Architecture and capstone

    Identity and authorization with ASP.NET Identity, and an Onion-architecture, MediatR-based task management system as my Computer Engineering capstone.

    • ASP.NET Identity
    • Onion Architecture
    • MediatR
  4. 2026

    Production software for the LED industry

    Shipped a live support site for LED control systems (Supabase, Resend, Vercel), followed by the double-entry ClearPay wallet and the WhatsApp support bot.

    • Supabase
    • Vercel
    • PostgreSQL
    • Node.js
  5. 2026 →

    Product-scale work

    Preparing Mevora for launch and laying the foundation of the LED-COM B2B platform.

    • Flutter
    • Cloud Functions
    • .NET 8

06GitHub

Open source and learning archive

Everything outside the selected work lives on GitHub: course work, experiments and small tools.

github.com/HalilMertDeveli
Public repositories
38
Last push
Oct 2026

Languages by repository

  • C# / .NET 32%
  • Flutter / Dart 24%
  • Web 18%
  • Kotlin 13%
  • Java 13%

Live data from the GitHub API (cached for 30 min)

07Contact

Let's talk about a product, a role or an idea.

I'm open to conversations about .NET backends, Flutter apps and software for the LED industry. Email is the fastest way to reach me.