sheet index
  1. 01introduction
  2. 02about
  3. 03interfaces
  4. 04skills
  5. 05retrieval
  6. 06case studies
  7. 07breakdown
  8. 08writing
  9. 09contact
rev. 2026.09

web systems architect · ankara

Architecture should be drawable.

Web-based systems, from survey to deployment: data model, backend, interface, infrastructure.

If you cannot draw a system on one page, you do not understand it yet. I design institutional web platforms and retrieval systems, turning requirements into a bounded technical scope and that scope into something that runs and can be handed over.

Portrait of A. Volkan Özer
current
ATILIM University
field
Full stack → Backend · RAG
scope
Institutional
span
20+ years
stack
php · laravel · nuxt · pgvector

About

sheet 02

A web systems architect who designs web-based systems from survey to deployment, and builds everything between where a request arrives and where infrastructure takes over.

I spent 20+ years in IT and have been developing professionally since 2019. That order is not an accident. Coming to software after systems, networking and infrastructure makes it easier to see where today's decision lands three years from now. I started as a full stack web developer; today the weight is on backend architecture and RAG systems.

At Atılım University I work as Web Development Specialist within the Directorate of Corporate Communications and Promotion. The scope is not only code: I manage the content of the institutional site, set up and run the faculty and administrative unit sites, enter academic staff information, and support the research assistants and academics responsible for their department's web pages.

What decides the outcome is often not the code but keeping the boundaries of responsibility clear: translating the content side's needs into a workable technical scope, agreeing the interface with the infrastructure side, and leaving the work documented and transferable.

Client layerNuxt · Vue · Blade · multilingual UIApplication layerLaravel · Filament · REST · queuesRelational dataPostgreSQL · MySQLVector datapgvector · embeddingsInfrastructure and securityWith IT · servers · network · accessEND-TO-END DESIGN
direct responsibilityrun in coordinationScale 1:1 · unit of measure: responsibility

Interfaces

sheet 03

On an institutional web platform, knowing where the work starts and stops decides more than the code does. I have two boundaries: the content side a request arrives from, and the point where infrastructure takes over.

Upper boundary

Directorate of Corporate Communications and Promotion

crosses the boundary

Publishing needs, content calendar, corporate identity rules, campaign and promotion requests.

Lower boundary

IT and Infrastructure

crosses the boundary

Server and certificate management, access rights, backups, security requirements.

Requests usually arrive as needs with a short turnaround: a campaign page, an application flow, a small service. Because the interface, application, data and deployment sit in one pair of hands, going from a requirement to a running version normally takes a single round of coordination.

How the work runs

  1. 01

    Turning a request into scope

    Work does not start until a request becomes a feasible technical scope with a clear boundary.

  2. 02

    Keeping revisions traceable

    Change requests are recorded; which decision was taken when, and why, can be read back later.

  3. 03

    Leaving it transferable

    Setup, dependencies and operating steps are documented, so the work does not depend on one person.

  4. 04

    Planning maintenance

    Version upgrades and maintenance windows are agreed so they do not collide with the publishing calendar.

Skills

sheet 04
backend
  • php
  • laravel
  • postgresql
  • mysql
  • rest api
  • filament
retrieval
  • pgvector
  • embeddings
  • rag pipeline
  • llm api
frontend
  • vue.js
  • nuxt
  • blade
  • tailwind
  • javascript
devops
  • linux
  • nginx
  • ssh
  • cloudflare
tools
  • git
  • wordpress

Retrieval

sheet 05

This drawing is a section through one installation: a source-citing assistant built over a bilingual institutional corpus of roughly seven thousand pages. The order of stages is similar in most RAG systems; what happens inside each stage is decided again for every data source, sector, language set and error tolerance. The details below are the decisions made for this installation, not a recipe.

The two lanes run separately: the offline one indexes the content, the online one drops the query into that same index. Most of the cost sits in the first lane; all of the latency sits in the second.

detail 01

Source

what
Content pages and structural modules from the CMS are gathered into a single corpus.
in this installation
Read directly from the database, selected by publication status and language; table, accordion and tab modules are flattened to plain text.
decision
Unpublished pages are excluded; archive pages were producing answers as if they were current, which the evaluation showed.
where it changes
If the source is a PDF archive, a ticketing system or a product catalogue, the collection layer is built entirely differently.

Alongside the system runs an evaluation pipeline: a fixed question set, trap questions and four-category labelling. Most of the decisions above came out of it.

Case studies

sheet 06
institutional web · content management

Atılım University Web and VectorCMS

Atılım University

01 / 03
Atılım University website, v3 theme home page: campus photo with announcement and event panels
problem

The site in use since 2018 had grown into a structure carrying the content of more than 300 units and getting harder to manage; tens of thousands of items and addresses linked from outside for years had to survive.

approach

Preserve first, then improve: a panel built for the institution (VectorCMS) and a new site with two themes (v2, v3), keeping old addresses and content IDs; every step with tests and a rehearsed migration.

outcome

A panel shaped by 12 roles and 151 permissions, a migration plan that carries about 25,000 items without loss, about 1,000 automated tests and a codebase that passed independent audits.

  • laravel
  • vue
  • primevue
  • blade
  • alpine.js
  • tailwind
  • mysql
  • playwright
  • pest
prospective student portal

Atılım Connect

Atılım University

02 / 03
Atılım Connect prospective student portal home page: campus images and the "Why Atılım?" list
problem

The main site addressed the whole institution; there was no fast, easy-to-update channel focused on the prospective student's decision journey. Campus tour applications ran over the phone.

approach

Content separate from code, managed entirely from the panel; automation proposes, a person approves; unused modules are removed, versions kept current with tests.

outcome

Live since July 2025: an SMS-verified form engine, approved academic sync with the main site, analytics that write nothing without consent; day-to-day running is in the content team's hands.

request and workflow management

Corporate communications request and workflow system

Atılım University

internal testing · not yet live

03 / 03
Workflow editor: node list, flow diagram and status properties panel
problem

Requests arrived through scattered channels; which request was at which stage, and with whom it was waiting, could not be seen at a glance. Each request type needed different information and a different process.

approach

Format first, then code: forms and workflows are defined as schemas and changed with editors inside the panel; rules are the same on client and server; forms and workflows are versioned.

outcome

A transparent process for requesters, a dashboard, kanban and reports for management; a new request type or approval step can be added without waiting for a developer.

  • laravel
  • inertia
  • vue
  • typescript
  • tailwind
  • vue flow
  • json schema
  • jsonlogic
  • pest
  • playwright

Breakdown

sheet 07

Every job is surveyed before it is priced. This is a summary of that survey: what came in, what was examined, which decisions were made. Methods are not explained; decisions and their reasons are. Jobs that stayed at proposal stage or were declined are here too, because saying no is also a decision.

Home page opening: three bottles and a choose-your-pack buttonProduct page: pack, district, delivery day and time slot selectionDelivery step of checkout: contact and address form, order summary alongsideAdmin panel "Today" screen: the day's orders grouped by time slot
Local demo build, not yet live. Brand, labels and location details are blurred; people, orders and contact details are made up.
came in
An order site built on a ready-made theme and plugins that could not carry the rules of daily production and morning delivery.
examined
The state of the current site, competitors' order flows, delivery rules (area, day, time slot), regulatory gaps (KVKK, distance selling, food labelling) and the business's operational needs every morning.
decisions
Not classic e-commerce for a narrow range, but a storefront that leads to the sale and a panel that runs the day; a light build from scratch instead of a theme. The delivery day is chosen on the product page, checkout is three steps without an account. Scope was narrowed with cut lines; subscriptions and build-your-own packs moved to a later phase.
techniques
Laravel, Blade, Alpine.js, Tailwind, Vue + Inertia (panel), design system, delivery day and time slot rules, Pest.
full record

Home page opening: a featured sandwich and an add-to-cart buttonMenu on a phone, three price states side by side: standard, in-restaurant and campaignAdmin panel live order screen: new, preparing, courier and on-the-way columnsNew QR code form: price list, allowed order types and customer preview
Design prototype, not live. Brand, logo, phone, address and neighbourhood are blurred; customer names and order data are samples.
came in
An ordering site of its own, and the panel that runs it, for a restaurant open late into the night whose orders were scattered across phone, messaging and delivery platforms, to reduce its dependence on the platforms.
examined
The channels orders were scattered across, table and leaflet prices that could not be managed separately, orders missed in a long night shift, distance selling, KVKK and cookie obligations.
decisions
A price context set by the QR code, from one source across every surface; delivery locked on in-restaurant QR codes; printed QR codes are archived, never deleted. A phone-first menu and checkout without an account; a calm live order screen for the night, readable from a distance, and a shift start.
techniques
Design system, design prototypes that run in the browser (target stack Laravel, Vue, PostgreSQL), dynamic QR codes, derived price lists, an 80 mm kitchen ticket.
full record

Redesign proposal, opening: a face mesh drawing and the verification API headlineRedesign proposal, three steps: capture a frame, verify, issue the session
Redesign proposal, not live; the figures shown are illustrative. Brand withheld. 3D model: SamFStudent, CC BY 4.0.
came in
An API for developers to add face verification to their own apps: a two-part AI back end, liveness detection and face matching, a data model that stores no raw images, and a promotional site that speaks to developers.
examined
Which parts of the promise are measurable (latency, liveness, encryption, KVKK/GDPR), the conversion model (free API sign-up, upgrade to a paid tier, sales contact for enterprise), how the competitors (AWS Rekognition, Azure Face, FaceIO) present themselves.
decisions
The AI side is two separate parts, as in the brief; match and liveness return as two separate result fields. No images stored, only encrypted vectors. API first, then interface; a code sample on the site's first screen. The site was later reassessed; a new visual language was proposed as a clickable prototype.
techniques
Laravel API, face matching and liveness services, encrypted vector storage, webhooks; design system (Inter Tight + IBM Plex Mono, single accent), clickable prototype, a CC BY 4.0 licensed 3D wireframe model.
full record

came in
"Our site and products don't show up in search; our dealers do." A trade fair coming up.
examined
The existing site, the data gap between a 700+ product catalogue and the site (dimensions and colours in the PDF, absent from the site), a named competitor table, the dealer network's position in search results, the timeline against the fair.
decisions
Corporate site, technical catalogue and quote basket; dealer portal in a second phase. The document for senior management: a situation assessment with no budget and no methods.
techniques
Structured product data, technical SEO, catalogue migration, quote flow.
full record

came in
A direct-sales site for the producer.
examined
Product variant structure, the need for a reusable core.
decisions
A reusable e-commerce core rather than one-off code; a custom panel rather than an off-the-shelf admin.
techniques
Laravel 12, Inertia, Vue 3, a PRD-driven automation loop.
full record

came in
Moving a CRM of 200+ screens with several accounting integrations to a modern stack; 30 days, fixed price, no partial delivery.
examined
Screen count, integration surface, data migration risk, the ratio of time to scope.
decisions
No proposal. This scope in 30 days is not realistic; promising that timeline to a buyer who rejects partial delivery would not have been honest.
techniques
Not described.
full record

came in
A printed form moved to the web for applications opened by a change in law, on a tight deadline.
examined
Form fields and their conditional logic, a reference list of about 25,000 records, the review unit's workflow, hosting options.
decisions
Form fields manageable from the panel; a multi-user review panel; Laravel rather than plain PHP.
techniques
Laravel, staged form, list matching, role-based review.
full record

came in
Visitors unable to find answers across close to seven thousand pages.
examined
Content distribution and quality, how structural modules convert to text, the bilingual corpus, the risk of fabricated answers.
decisions
Source-citing answers; the evaluation pipeline as part of the product; a vector index on the existing database.
full record

Writing

sheet 08

soon

Contact

sheet 09

Write if you have an institutional platform, a migration, or something on the retrieval side.

© 2026 Volkan Özerrev. 2026.09