Raffy Nikoghosyan

Engineering

One server runs the whole agency.

The website, the CRM, the mobile app, the social media publishing and the backups all read and write in one place, on Cloudflare, with data stored in the European Union. Nothing important lives only on a phone or a laptop.

Diagram of the agency server: sources, server, storage, outputs

Architecture

Read from left to right: where data comes from, what the server does with it, where it is stored, and what goes out.

  1. 1Where data comes from

    • Website visitors

      People send enquiries and sign up for the newsletter. Forms are protected from bots.

    • iPhone app

      The team adds a new listing with photos and location, logs calls and records voice notes.

    • Instagram and Messenger

      Incoming messages become leads in the CRM, so nobody is forgotten.

    • Publishing laptop

      A laptop posts to Facebook groups by plan and reports every step back.

    • AI agent

      Reads portal listings and drafts copy and documents for review.

  2. 2The server

    • Website

      The multilingual site with the catalogue, search and blog is served from here.

    • API and CRM logic

      The rules for people, deals, listings and approvals. More than 60 modules, with access by role.

    • Scheduled jobs

      Every minute and every five minutes the server sends notifications, publishes and backs up. At night it checks the data.

    • Publishing planner

      Every night it builds the day's publishing plan, with a cost cap built in.

    • AI on the server

      Turns voice notes into text and checks copy before it is published.

  3. 3Where it is stored, in the EU

    • CRM database

      People, deals, the activity log, the property register and the calendar.

    • Website database

      Public listings, enquiries and the newsletter list.

    • Document vault

      Private storage without a public address. Files open only after sign in.

    • Photos

      Public property photos for the website and listings.

    • Backups

      Encrypted copies of the databases and the vault, kept for 35 days.

  4. 4What goes out

    • Live website

      When a price or status changes in the register, the website shows it immediately.

    • Facebook and Instagram

      Posts go out at the exact minute set in the calendar.

    • Facebook groups

      A daily plan tells the publishing laptop where to post, by region and language.

    • App notifications

      The team is told about a new lead, a waiting client or a data problem.

    • Morning email

      A short email called Today: viewings, waiting clients and tasks.

Self-checks: every night the server compares the website, the property register, the deals and the publishing plan. If anything does not match, the team gets a notification. A public health check shows whether the server is up.

The journey of a new listing

An example of how data moves through the system, from the phone to social media.

  1. 1 · Phone

    The broker photographs the property

    Photos, location and details reach the server as a draft from the first minute, so nothing is lost on the phone.

  2. 2 · Server

    Number, location, copy

    The listing gets its next number, a location score and AI drafted copy in several languages.

  3. 3 · Approval

    A person approves

    Nothing goes public until the owner presses Approve.

  4. 4 · Publishing

    Website, social, groups

    The listing appears on the website and enters the publishing calendar.

Stack and evidence

Each skill with the project where it is used and what can be counted.

SkillWhereEvidence
JavaScript on Cloudflare WorkersAgency server, Gorgi Drives API79 modules, about 27,600 lines
SQL and database designCRM database65 tables, 76 migrations
SwiftNative iOS app218 files, about 46,400 lines
Automated testsAgency server (Worker)131 test files, as of November 2026
CI with GitHub ActionsAgency websiteA nightly job rebuilds the sitemap and checks articles against the calendar; a listing workflow runs the release checks before it publishes
HTML, CSS, SEO and i18nAgency website, Gorgi Drives172 pages; 243 pages
PythonCarousel renderer, Salon sites generator, this site's buildGenerators and checks
Rust and WebAssemblyOffice suite43 crates, 912 commits
AI agents and prompt designAgency workflows24 custom AI assistants
Android (TWA)Gorgi DrivesInstallable app from the website
GitAgency code base1,778 commits

Who can access what

Access depends on the role. Personal data is kept apart from everything else and every access to it is logged.

WhoCan seeCannot seeHow they sign in
VisitorPublic listings, blog, formsExact addresses, owner phone numbers, the CRMNo sign in; forms are protected from bots
ClientA shortlist of properties made for themOther clients, internal notesA private link or the client portal
BrokerTheir own deals, viewings and listingsContract personal data, financesApp sign in, 30 day session
OwnerEverything, including contract dataID numbers stay encrypted until neededPassword plus an authenticator code
MachinesOnly their own job: publishing, calendar, registerAnything outside the scope of their keyA separate, limited key for each machine

Security and personal data

Interested in working together?

Email or LinkedIn is the fastest way to reach me. My CV is one click away.

References available on request.