Get a quote

System Architecture · Istanbul

System Architecture for Istanbul businesses

How many surfaces a product will carry is not settled in one decision in Istanbul: a browser panel for the desk and an app for the pocket can be two faces of the same job. The architectural question is not the number of interfaces. It is how many paths an update will travel. Write one per surface and one of them falls behind, so people start reloading to check. We are building Secretum right now, and there we kept the broadcast layer single.

System Architecture — Istanbul

At Istanbul's scale, if your team uses one product both from a desk and on the move, the same record stays open on two screens in the same minute and a change has to land on both. The closest work we have to that question is Secretum, our own product, still under construction. Where it does not overlap is worth stating: it is a social platform where AI characters live in a feed, and we have nothing to show on internal approval chains, field operations or accounting. What carries across is where the broadcast starts. A Reverb channel on the Laravel side is heard by a Vue 3 interface and a React Native (Expo) client; records sit in MongoDB, the image queue in Redis.

  • Live updates leave from a single broadcast layer: the Reverb channel on the Laravel side is heard by the Vue 3 web interface and the React Native (Expo) client alike, so no interface carries an update path of its own.
  • A character record hangs off the account rather than a chat session, so its identity and accumulated history survive as a stored record and pick up where they stopped.
  • The limit of the evidence is written down too: Secretum is under construction and has no corporate edition anyone could install today, so what we can describe is the shape of the broadcast layer, not the product.

Why Algoriel

  • The parts read one source

    At Tahlil.com the site, the admin panel and the mobile app read the same information instead of behaving as three systems.

  • Where each job is solved comes first

    Which layer handles which job is decided before code, because work that has to move later is expensive to move.

  • The summary recomputes itself

    As the Günlük Hava Durumu archive grows, the climate summary recomputes from it; nobody maintains a monthly table by hand.

  • One rule for file layout

    On the KGM SsangYong site, where a file is written and under what name now follows one rule the upload code obeys.

  • Where the data divides

    When several institutions share one system, each enters through its own domain and student, guardian and payment records stay inside that institution's boundary. This arrangement is what the term multi-tenant describes.

  • What a record attaches to

    Whether service history is written against a person, an address or a device is settled before the schema exists. Reversing that later means re-attaching everything already recorded.

  • Permission held in the data model

    A teacher, a guardian and an institution administrator reach the same timetable record at their own level of access. Permission is part of how the record is defined, not a view switched off on a screen.

  • Splitting the read path

    Which screens are served from a held copy and which go to the database is settled before the first record exists. On Vipkurum a frequently opened screen comes from the copy, and only a read with no copy reaches the database.

  • Interfaces on a single system

    Tahlil.com hangs three interfaces off one system: the patient site, the physician panel and the mobile app read the same record, and no second data model is written per interface.

  • Storage laid out on day one

    The naming and folder scheme files will live under is fixed at the start; a layout imposed afterwards turns into a migration.

Work like this

System Architecture · Case study

Secretum — one Reverb channel, heard by the web interface and the phone client

Our own product, still being built: a person sets up an AI character and the character posts into a feed. The decision that mattered was not how many interfaces to draw but how many paths an update would take. One Reverb channel sits on the Laravel side, and both the Vue 3 web interface and the React Native (Expo) client listen to it; no second update path was written. The character's identity and accumulated history are kept as a stored record in MongoDB, whose document shape stretches as new traits arrive. Text comes from the Anthropic API, images from Flux API and Replicate through a Redis queue, with files written to S3.

Read the case study →

Working with Istanbul teams, remotely

We have no office, so work for this city runs remotely and we do not offer on-site support. What was done, and why it was done that way, stays in writing. The project pages mark which builds came out of a partnership.

  • The first release ships as a working piece; extras follow later.
  • Every client we know of is in Turkey.
  • Decisions stay in writing; progress shows in working screens.

Frequently asked

  • Would the web panel and the phone app be updated separately?

    No. Secretum keeps one broadcast layer: the Reverb channel on the Laravel side is heard by the Vue 3 interface and the React Native (Expo) client. Because no interface owns an update path, neither one drifts behind the other.

  • Secretum is a social platform and our business is not. What does it tell us?

    The sector does not travel; the decision does. Secretum is under construction and has no corporate edition. What travels is this: live delivery is set up as a layer of the shared application, not as a feature of one interface.

  • We do not want a long generation job to freeze the screen.

    We do not write a screen that waits as long as the job. Image work enters a Redis queue and the file is written to S3, so a person keeps moving through the feed and the finished result arrives on the same channel.

  • How are these decisions made without sitting at the same table?

    We keep no office and the team works fully remotely. The architecture arrives written down: how many surfaces there will be, which layer the broadcast leaves from, what a record hangs off. Messages sent through the quote form get an answer within 2 working days.

Let us settle where your data divides before any code is written.