Building software since 2015 — the latest systems

Ledgers, cities, a language, AI agents.I build the systems underneath.

01 — System

This machine is a map

Every deck below is a system I designed and built, or a part of how I build them. The upper decks are the latest work — a lender’s books, a city’s app, a language’s dictionary and editor, an AI sales engine, a real-estate business, a ride-hailing app, a product of my own. The lower decks are the machinery behind them: the stack, the record, the operator.

Scroll to descend through it, or touch any deck to go straight there.

Unit
Robert Berisha
Function
CTO, Syncore · software architect
In service
Since May 2015 — 10+ years
Base
Prishtina, Kosovo
Surfaces
Web · iOS · Android · macOS · Windows · Linux · browsers · Office
Core
C# / .NET · TypeScript · Angular · SQL

02.1 — Work · 2025 — present

Syncore Microfinance Suite

Lending, general ledger & central-bank reporting

The system of record for a regulated microfinance institution: every loan, every payment, every ledger line and every report the central bank asks for.

API endpoints
283
database tables
50
permissions
76

Role Architect & lead engineer, as CTO of Syncore — domain engine, migration, reporting, delivery

02.2 — Work · 2023 — present

SmartCity

White-label civic platform — mobile apps and CMS

A municipality’s own app — news, services, transport, emergency numbers, citizen reports — run entirely from a CMS, so a new city is configuration, not a new codebase.

tables in 2.0
109
API routes in 2.0
~358
permission codes
57

Role Sole engineer — backend, admin, mobile apps, store releases

02.3 — Work · 2020 — present

Shkrimori

The Albanian language as software

Albanian written well, everywhere people write: a national dictionary of 120,000+ unique words, an editor that checks spelling, grammar and style, AI rewriting, a voice that reads Albanian aloud, and a keyboard that types ë and ç anywhere.

unique words in the dictionary
120k+
platforms, one account
11
services
7

Role Lead engineer — I built every client: web, desktop, mobile, browser extensions and Office add-ins

02.4 — Work · 2026 — present

Sales Autopilot

Self-hosted AI outbound engine

An engine that researches each prospect’s website, writes to them from a real mailbox, carries the reply conversation within limits you set — and hands qualified opportunities to a person.

lines of TypeScript
111k
tests
800+
HTTP routes
161

Role Architect & engineer — system design, specification and review; built with parallel AI coding agents

02.5 — Work · 2026

Domino

Real-estate platform — listings, CRM and AI search

A real-estate business in one system: a listings site in three languages, the CRM the agents work in — and a search you can simply talk to.

API endpoints
~190
data models
40
languages
3

Role Architect & lead engineer — the whole architecture and most of the features

Built with Vorbulla

02.6 — Work · 2026

Voom

Ride-hailing — the rider and driver app

The Voom mobile app, designed and built screen by screen for riders and drivers — with calls between them that ring like a phone call, without either side seeing the other’s number.

screens designed & built
77
roles, one app
2
stores, live
2

Role Mobile UI/UX & engineering — the whole app experience, and in-ride calling end to end

Built with Inspired Tech

02.7 — Work · 2025 — present

themelui

A premium Angular admin template — designed, built and sold on my own

Four dashboards, six apps and forty-plus pages in Angular 22, signals throughout — a product I build alone at Syncore, with licensing automated at the edge.

dashboards
4
apps
6
components
136

Role Sole author — product, design, engineering, licensing and the site

03 — Technology

The drive

Not a wall of logos — the parts I actually run in production, and what each one does for me. Select a component to see where it works.

Intelligence

Data

Services

Interfaces

Delivery

Select a component to see what it does and where it runs.

04 — Experience

Runtime

Ten years, since May 2015. The inner rings are the eras before this record; the outer five are the latest systems — one arc per system, height by commits that month, read from the repositories.

  1. 2015–20
    Albasoft CMSA custom CMS on ASP.NET, and the websites built on it.
  2. 2020–24
    Gjuha Shqipe foundationsInternal systems behind Kulla e shqipes: Leksikografia, Morfologjia, Fjalësi, Korrektori, Faqosësi.
  3. 2023
    SmartCityA city platform’s API, admin, identity and apps — solo.
  4. 2025
    Syncore Microfinance · themeluiA regulated lender’s whole system; a product of my own.
  5. 2026
    Shkrimori · Domino · Voom · AutopilotEleven platforms, an AI-searched catalogue, a ride app, an AI engine.
  • Albasoft CMS · 2015–20
  • Gjuha Shqipe foundations · 2020–24
  • Shkrimori
  • SmartCity
  • Syncore
  • Products & sites
  • Voom
  • Autopilot

05 — About

Operator

I’m Robert. I’ve been building software since May 2015, and I’m CTO at Syncore. I design the systems other people’s work depends on — a lender’s ledger, a municipality’s app, the tools a nation uses to write its own language — and I build most of them myself, from the database schema to the pixels.

I like the whole stack because the interesting problems never stay in one layer: an interest formula that has to match the central bank to six decimals, a search that has to stay instant however many listings there are, an app that becomes a different city when you change its hostname.

Most days are C# and TypeScript: .NET services, Angular front-ends, SQL, with React Native, Electron and Docker around them. A growing part of the work is AI — systems where models do real work inside hard limits, and coding agents I direct to build them.

Now
CTO at Syncore
Since
May 2015 — 10+ years
Based in
Prishtina, Kosovo
Writes
C# · TypeScript · SQL

06 — Contact

Open a channel

If you are building something that has to be right — money, public services, language, AI that people must be able to trust — I’d like to hear about it.

Send a signalhello@roberisha.com

Prishtina, Kosovo · CET

Robert BerishaSoftware architect

00SurfaceDepth 000.0

Boot 0% · Loading

Subsystem 02.2 · 2023 — present

SmartCity

White-label civic platform — mobile apps and CMS

A municipality’s own app — news, services, transport, emergency numbers, citizen reports — run entirely from a CMS, so a new city is configuration, not a new codebase.

Role
Sole engineer — backend, admin, mobile apps, store releases
Status
Skenderaj | SmartCity live on the App Store and Google Play · 2.0 in development
Platforms
iOS · Android · Web admin

01What it is

SmartCity gives a municipality its own branded mobile app. Residents read municipal news, find institutions and services, check bus lines and taxis, call emergency services, browse a map of what’s nearby and report problems — litter, broken infrastructure, corruption — with photos and GPS.

City staff run all of it from an admin panel: content, menus, which tabs appear on the home screen and every interface string in every language. The first production instance serves the Municipality of Skenderaj in Kosovo.

02The problem

Small municipalities have no single digital channel to their residents and no structured way to receive reports from them. A bespoke app per city is too expensive to build and too expensive to keep alive.

So the app is server-driven: tabs, menus, content and translations are data. SmartCity 2.0 takes the idea to its conclusion — a multi-tenant platform where one deployment hosts many cities, each with its own domain, branding and store identity.

03What I built

  • The Kosova Smart backend and admin (2023–2025): ASP.NET Core API, Angular admin, its own OpenIddict login server, per-tenant builds and Firebase push to web, iOS and Android.
  • The Skenderaj app on Expo and React Native’s new architecture: server-driven home tabs, a map with zoom-aware nearby search, citizen reporting with photos, GPS and reverse geocoding, push notifications that deep-link into articles, and languages loaded from the CMS at runtime.
  • SmartCity 2.0 (2026): a multi-tenant rebuild as an ASP.NET Core 10 modular monolith on PostgreSQL/PostGIS, Redis, Meilisearch and S3-compatible storage, with an Angular 21 admin.
  • Builds, signing and store submission through EAS for both platforms.

04Architecture

City appExpo · React NativeAdmin consoleAngular 21Tenant resolutionhostname → tenantIdentityOpenIddict · JWT15 modulescontent · incidents · …Background jobspublish · notify · roll upPostgreSQL + PostGIS109 tablesRedistenants · permissionsMeilisearchgeo discovery indexS3 storagemedia · FFmpegFirebasepush
SmartCity 2.0: the tenant is resolved from the hostname before any module runs.

05Technology

Mobile
ExpoReact Native (New Architecture)expo-routerFirebase Messagingreact-native-maps
Admin
Angular 17 → 21TailwindTanStack Table
Services
ASP.NET Core 7 → 10EF CoreOpenIddictSerilog
Data
SQL Server + NetTopologySuitePostgreSQL 17 + PostGISRedisMeilisearchS3 / MinIO
Delivery
EAS Build & SubmitDocker

06Engineering notes

  1. 01

    A city is a hostname

    SmartCity 2.0 resolves the tenant from a verified domain, cached in Redis, before anything else runs. A tenant can only go live after a readiness gate passes: a template version applied, a verified primary domain, exactly one default language and consistent single-city or multi-city rules.

  2. 02

    Knowing when a translation is stale

    Every translation records the version of the source text it was written and reviewed against, which gives five honest states — not started, in progress, needs review, outdated, complete. Publishing is blocked until every language marked as required is complete; menus are checked item by item.

  3. 03

    Editorial workflow with a memory

    Content moves through eight states, and every transition snapshots a restorable version. Slugs already used by published versions are protected, and a background job publishes and unpublishes on schedule.

  4. 04

    Maps that stay fast

    Places, institutions and stops are PostGIS points with spatial indexes, and one discovery index serves pages, places, events, transport and announcements with radius filters and distance sorting. On the phone, the nearby-search radius shrinks as you zoom in and every map cell is fetched once.

  5. 05

    Media that is only public when published

    Uploads run through sessions with incremental SHA-256 hashing; images get WebP variants, videos get FFmpeg thumbnails from a sidecar container and presigned stream links sized to their length. A file is served publicly only while published content uses it.

  6. 06

    Push that lands where it should

    A notification tapped on a cold start is held until the router is ready, retried on Android, re-shown as a local notification in the foreground and deep-linked to its article.

07Results

109
tables in 2.0
~358
API routes in 2.0
57
permission codes
15
feature modules
22
app screens
142
commits — all mine
  • Skenderaj | SmartCity is live for residents on iOS and Android.
  • One mobile codebase, driven entirely by the CMS — tabs, menus and languages included.
  • A multi-tenant 2.0 platform built to host many cities from one deployment.