A quick privacy choice

I use anonymous analytics to understand what’s useful and improve the portfolio. No ads or cross-site tracking.

Privacy policy
AGdev
AGdev

Confidential PropTech Platform

Confidential PropTech Β· Full-Stack + Agentic System

Knowing the property is not the same as knowing how to sell it.knowing how to sell it.

Private sellers know their property better than anyone else. Selling it is another job: preparing the right information, presenting it well, setting a sensible price, and handling buyer interest.

I designed and built a two-sided property platform around that gap. Sellers can prepare and publish a property through a guided flow or work with Sellumo, a personal AI broker assistant shaped by four decades of brokerage know-how. Sellumo helps them prepare the property, understand the current market, and work through the next steps. Buyers can discover, compare, and contact owners directly. The platform connects the marketplace, communication, and agentic AI without taking important decisions away from the seller.

The seller knows the property. The product helps them know what to do with it.

Sellumo connecting private property preparation, marketplace discovery, and buyer conversations
Role
Full-Stack & AI Product Engineer
Ownership
Product β†’ Marketplace β†’ Communication β†’ AI engineering
Status
Advanced MVP Β· Pre-launch
Core flow
Prepare β†’ Publish β†’ Discover β†’ Connect
Project snapshotThe challenge01 Seller Journey02 Buyer Requests03 Messaging04 Notifications05 Email Delivery06 Conversation Intelligence07 AI Orchestration08 Guided Setup09 Market Intelligence10 Memory11 ObservabilityHow the system connectsThe outcomeNext PhaseContinuous ImprovementWhat I ownedBuilt with
Next projectProduct Intelligence & Competitive Matching→

The client identity, product name, production data, real conversations, and proprietary implementation details are intentionally omitted. Public examples and visuals use synthetic data.

[ Project snapshot ]

Problem

Selling privately removes an intermediary, but not the work around the sale. The seller still needs a way to prepare the property properly, make informed decisions, communicate with buyers, and understand what should happen next. The buyer needs the other side of the same journey: discover and compare properties, contact the owner, and continue a conversation without access to the seller's private workspace.

What I built

I built the product around that shared journey rather than around separate listing pages. The seller side covers property preparation and management, media and documents, publication state, incoming buyer requests, messaging, notifications, and AI-assisted guidance. The buyer side covers discovery, search, map-based exploration, saved properties, comparison, property-specific contact, and ongoing conversations. Behind both sides are authentication and roles, structured property data, marketplace state, realtime communication, notification delivery, queued email, conversation analysis, persistent AI memory, resumable workflows, current-market research, and monitoring.

My responsibility

I worked across product structure and UX/UI, frontend and backend development, data modelling, authentication and role-aware access, marketplace logic, communication, background delivery, conversation lifecycle, AI orchestration, memory, workflows, safeguards, observability, and deployment.

[ The challenge ]

The hard part started where the listing page ended.

Publishing a property is only one moment in a much longer process.

Before the listing goes live, the seller has to turn what they know about the property into information a buyer can understand. Some of that information is public, some belongs in the private workspace, and some comes from documents the seller may not work with every day. The asking price has to make sense in the current market, not only to the owner. Photos and descriptions need to present the property clearly rather than simply fill empty fields.

After publication, the problem changes. A buyer's first message is still only an inquiry. The seller has to decide whether to continue. Once they do, messaging becomes part of the sale, with presence, read state, notifications, email, deletion rules, and property context around it.

The AI adds another responsibility. It should reduce uncertainty and repetitive work, remember what matters, research current information when needed, and help the seller understand the next step. It should not become a second database, bypass permissions, or produce confident answers from stale model knowledge.

The challenge was making the marketplace, communication, delivery, and AI layers behave like one product while keeping responsibility for their own state.

The product had to remove friction without removing control.
01

[ Seller Journey ]

The product had to make the sale easier to navigate before AI could make it smarter.

I started with the seller's actual job rather than the final listing screen.

The property moves through a preparation process before it becomes something a buyer should see. The seller has two ways to get there.

The manual route is a guided step-by-step flow through the core facts, pricing, location, rooms, building details, energy information, media, documents, visibility settings, and contact preferences. Required fields are validated at each stage, so the seller cannot move forward until that part of the property is complete.

The second route is Sellumo. Instead of working through the property only as a form, the seller can describe it naturally and build the same structured property state through conversation.

That route adds a different kind of value. Knowing a fact and knowing how to present it are not the same thing. A seller may know that the heating system was replaced, that the garden gets afternoon sun, or that a particular renovation matters. Sellumo can help turn those facts into a clearer, buyer-ready presentation, bring forward the details worth showing, and make the preparation process feel less technical.

Both routes work with the same underlying property model. The difference is how the seller chooses to prepare it.

The seller and buyer experiences still work around one underlying property model. The seller sees private preparation state while the buyer later sees the approved marketplace representation. Messaging, notifications, and AI can all reference the same property without creating competing versions of the truth.

The seller should not need to become a property-sales expert before they can start selling.
02

[ Buyer Requests ]

The first buyer message is interest, not yet a relationship.

A buyer can reach the owner directly from a property, but I did not model that first interaction as unrestricted messaging.

The first message creates a property-specific contact request and the conversation begins in a pending state. That gives the seller a clear decision point: accept the request and continue, or decline it without turning every inquiry into an active conversation.

Once accepted, the same thread becomes the shared communication space for that buyer, seller, and property. The application can therefore distinguish new interest, accepted contact, declined contact, and ongoing communication instead of treating every message the same.

The backend verifies that the current user is actually a participant before returning conversation data, and the request remains attached to the property that created it. That relationship becomes useful across the product: notifications know which property an inquiry belongs to, the seller understands the buyer's context, and later analysis can interpret the interaction against the property itself.

The first message starts the request. The seller decides whether it becomes a conversation.
03

[ Messaging ]

Direct communication had to feel immediate without losing control of the history.

Once a request is accepted, the product behaves like a real messaging experience rather than a contact form with a thread underneath it.

Messages arrive through private realtime channels. Both sides can see when the other participant is online, when they are typing, and whether a sent message has been read. The interface updates optimistically for the sender while the backend remains responsible for persisting the message and updating the conversation state.

Presence is more than UI polish. The same online state becomes useful later when the product decides whether another notification or email adds anything. If the recipient is already inside the conversation, the system should not behave as if they are absent.

I also treated message history as user-specific state. A participant can remove an individual message from their own view without changing what the other person sees. A sender can remove their own message for both sides, and several messages can be selected and deleted together. At the conversation level, each participant can archive the thread independently, and new communication can bring an archived conversation back into the active workspace.

Those details turned messaging into a product domain of its own: realtime delivery, authorization, typing and presence, read state, per-user history, and shared conversation state all had to agree.

The chat had to feel simple because the state underneath it was not.
04

[ Notifications ]

A new event did not automatically deserve another interruption.

The communication system produces different kinds of events. The first message can be a new contact request, later messages are normal conversation events, and accepting or declining a request creates another state change the other participant should know about.

I built the notification layer around those differences. A notification can carry the actor, conversation, message preview, and property context, while users can control whether message and request events should also reach them by email.

The more interesting decision was when not to notify. Before creating another conversation alert, the system checks whether the recipient is online and already viewing that exact conversation. If they are, another notification adds noise without adding information.

That keeps the product responsive to what happened without ignoring what the user is already doing.

A useful notification system asks two questions: what happened, and does this person still need to be told?
05

[ Email Delivery ]

The message path needed to stay fast even when the recipient was offline.

Sending an email immediately for every message would have been easy to implement. It would also tie messaging to an external delivery service and turn a short burst of chat into a burst of email.

I separated those paths.

When an offline notification may need email, the application creates a queued delivery item with its own scheduled time and state. A background worker processes it later, when the system has enough context to decide whether the email is still useful.

Before delivery, the worker checks the user's preferences again, checks whether they have returned online, groups related events by conversation, suppresses repeated email inside an anti-spam window, and builds a compact delivery instead of treating every event as a separate email.

Each queue item moves through an explicit sent, skipped, or failed state, so delivery problems can be monitored and retried without affecting the underlying chat.

The message should arrive immediately. The email should arrive only if it is still useful.
06

[ Conversation Intelligence ]

When both participants leave a conversation, the raw chat is not the most useful long-term record.

Conversation deletion has two different jobs.

If one participant deletes a thread, the application can remove it from that person's workspace without immediately destroying the shared conversation for the other participant. When the final participant deletes it, the conversation moves into a separate archive process rather than being removed blindly inside the request.

At that point, an asynchronous AI analysis can work with the conversation and a reduced snapshot of the property it was about. The snapshot leaves out several operational or sensitive fields while preserving enough context to understand whether the buyer's questions, objections, and the seller's answers made sense in relation to the property.

The result is not another copy of the live chat. It is a smaller structured record of the signals inside the interaction: how the conversation developed, what the buyer cared about, whether negotiation appeared, which property strengths were used or missed, how clearly the seller responded, and what the likely outcome was.

Those signals can later support product analysis, evaluation, and seller-coaching design without making raw chat history the permanent analysis layer.

Only after the structured archive record is created does the operational conversation leave the live messaging data. The derived record then follows its own retention lifecycle.

This creates a cleaner separation between communication data, which exists to support the conversation, and derived intelligence, which has a different purpose and should be smaller and governed separately.

The raw conversation serves the interaction. The structured record preserves the useful signals afterwards.
07

[ AI Orchestration ]

Sellumo is one experience with several specialists behind it.

The seller should not need to know which internal capability handles a request. They experience one conversation. Underneath, property creation, market research, and general seller guidance have different data needs and different levels of authority.

I introduced an orchestration layer between the seller-facing experience and those capabilities.

Before deciding what should handle a message, the system loads the relevant seller and product context, including the active property, persistent seller memory, and any structured workflow already in progress. If the seller is halfway through a task, that workflow can resume before the message is treated as a completely new request.

For new requests, routing uses the strongest signal available. An explicit action in the product can provide intent directly. Deterministic routing handles clear cases. Model classification is reserved for genuinely ambiguous requests.

That avoids spending another model call on a decision the product already knows while keeping the flexibility needed for normal language.

The orchestration path is observable as well. The application records which route handled the request, where the routing decision came from, and whether a workflow was started or resumed. When something goes wrong, I can inspect the path instead of reducing the problem to β€œthe AI answered badly.”

The seller sees Sellumo. The product keeps the responsibilities underneath it separate.
08

[ Guided Setup ]

Natural conversation still had to end in valid property data.

Sellumo is an additional creation path alongside the guided manual flow, not a replacement for it.

Property creation is where a chatbot approach breaks down quickly.

A seller may describe several useful facts in one sentence, skip something required, answer only part of a follow-up question, or return later to continue. The product still needs reliable structured data before it can create the property.

I built that flow as a resumable workflow rather than one long generation. The system extracts the information available in the latest message and merges it with the state already collected. Normal application logic then checks that accumulated state against the required property contract.

If something is missing, the workflow pauses and asks only for what is still needed. The accumulated state is persisted. When the seller replies, the same workflow resumes, merges the new information, and checks again. Only when the required state is complete can the workflow call the controlled application action that creates the property draft.

The same property model treats energy information as structured data and supports property documents such as floor plans, energy certificates, and other files linked to the property. That gives the product a strong foundation for making document-assisted setup more natural later without treating an uploaded file as unquestioned product truth.

Optional uncertainty can remain optional. Required data cannot.

Natural language on the way in. Deterministic rules before the state change.
09

[ Market Intelligence ]

The agent researches the local market before it comments on the price.

Pricing is one of the easiest places for a private seller to feel confident and still be wrong. A number based on a neighbour's sale, renovation costs, or a few listings is not enough on its own.

I built the market capability so a pricing opinion cannot come before current evidence. When the seller asks what the property may be worth, wants help choosing an asking price, or already has a price in mind, the agent first researches the live market around that property.

The research works from the property's location and type and looks for the most relevant evidence available across the city, district, or neighbourhood, including €/mΒ² ranges and local comparison signals. If the first path is too thin or incomplete, the system can broaden the live research instead of falling back to model memory.

Freshness and locality are both gates. If there is not enough current evidence to support the conclusion, the system should say so rather than manufacture precision.

If the seller has no asking price yet, the local range becomes the starting point. Sellumo can explain where comparable properties are positioned, which characteristics may move this property within the range, and what kind of entry position may make sense.

If the seller already has a price, the system calculates the property's €/mΒ² position, compares it with the current local band, and classifies the asking price as below, within, or above the market. Sellumo then explains what that position may mean for demand, marketing time, value left on the table, and negotiation room.

The model's job starts after the evidence. It connects current market information with the actual property and turns the result into guidance the seller can use.

Fresh, local evidence first. Seller guidance second.
10

[ Memory ]

Sellumo should remember the seller, not merely the last message.

The seller journey does not happen in one chat session.

Property preparation can take days or weeks, and the questions change as the sale moves forward. The seller should not have to explain the same property, goal, or preference every time they return.

The memory architecture separates several kinds of continuity. Recent messages preserve the immediate discussion. Structured working memory keeps useful seller context such as the active property, preparation progress, missing information, selling goals, timeframe, communication preferences, and important milestones.

Semantic recall can bring relevant earlier moments back when they become useful. Observational Memory adds another layer by condensing longer conversation history into higher-value observations instead of forcing the main agent to replay every raw turn forever.

That makes the experience more continuous. Sellumo can remember what has already been answered, keep important goals in view, and adapt how it communicates without allowing memory to become another source of product truth.

A remembered preference can affect tone or level of detail. It cannot override authorization, change a property fact, or replace current market evidence.

Remember the person and the progress. Keep truth and permission outside memory.
11

[ Observability ]

I wanted to see product health, user friction, and AI decisions before they became support tickets.

The platform has several failure surfaces: browser errors, API failures, background delivery, performance issues, AI routing mistakes, workflow failures, and weak tool results. I built monitoring around those layers rather than relying only on application logs.

On the client side, the product captures browser failures, unhandled promise rejections, security-policy violations, page behaviour, and dead-click signals. Session replay can provide context when an issue is difficult to reproduce, while sensitive areas can be masked.

Server-side exceptions use a separate reporting path designed for short-lived serverless requests, so important failures can be captured without allowing monitoring itself to break the request. Real-user performance monitoring adds loading, responsiveness, and layout stability from production users rather than only local development speed.

The AI path has its own telemetry around routing, selected intent, route source, confidence when available, and active workflow state. If Sellumo behaves incorrectly, I can investigate whether the problem came from routing, workflow state, tool execution, or the capability that handled the request.

Background systems also keep explicit operational state. Email failure does not undo a successful message. Conversation-analysis jobs can be retried. Market research can take another current-data path. The AI has a fallback model path that can continue with the same seller memory.

Those signals are useful beyond firefighting. Repeated errors, slow paths, bad routing decisions, and AI failures become evidence for the next product or evaluation change.

Monitoring shows that something went wrong. Context shows where to look and whether the rest of the journey can keep moving.

[ How the system connects ]

One property journey, several kinds of state.

Property
Seller
Prepare
Publish
Buyer
Discover > Compare
Contact Request
Messaging
Notifications
Conversation Intelligence
Email Delivery
Seller
Sellumo AI
Guided Setup
Market Research
Seller Guidance
Controlled Product State

Each layer solves a different problem. Property state should not live in conversation memory. Current market information should not come from model training knowledge. Email delivery should not block message creation. The archive record should not be the same thing as the operational chat.

Keeping those boundaries separate is what lets the whole journey stay connected.

The architecture follows the sale, but each system keeps responsibility for its own truth.

[ The outcome ]

The advanced MVP supports the work around the listing, not only the listing itself.

The current product can take a property from private seller preparation into marketplace discovery and direct buyer communication.

A seller can structure and manage the property, keep working material private, publish the listing, receive property-specific buyer requests, decide which conversations continue, and communicate in realtime. Messaging connects to presence, notifications, and queued offline email rather than operating as an isolated feature.

Sellumo works inside that same product. It can continue structured work across turns, create property state only after required information is complete, remember useful seller context across conversations, and research the current market before giving pricing guidance.

The conversation-intelligence layer adds another dimension after the interaction itself: useful patterns can become structured product signals rather than requiring every future improvement to begin with manually reading raw chats.

The product is still pre-launch, so I do not attach invented revenue, conversion, or public usage metrics to the case study. The outcome I can show is the system itself: a marketplace, communication layer, delivery infrastructure, conversation intelligence, and agentic seller experience connected around one property lifecycle.

The work moved from β€œpublish a property” to β€œhelp a private seller navigate the sale.”

[ Next Phase ]

From AI assistant to a personal broker assistant with professional depth.

Sellumo already works with structured property state, current market research, persistent seller memory, and controlled workflows. The next knowledge layer adds professional guidance shaped by roughly four decades of brokerage experience.

The next phase builds on that foundation at the moments where first-time sellers usually depend on professional experience: preparing documents, presenting the property, handling buyer questions, understanding serious buyer interest, and making sense of what happens after the listing goes live.

Brokerage Knowledge

Four decades of brokerage practice become reusable guidance inside the product.

The next knowledge layer gives Sellumo access to curated professional knowledge shaped by roughly four decades of brokerage work.

That matters for questions the property database or today's market price cannot answer alone: What is still missing before publication? Which detail deserves more emphasis in the exposΓ©? What will buyers probably challenge? How should the seller prepare for a viewing or negotiation?

Sellumo can reach the relevant professional material when those questions appear and connect it to the seller's property and stage of the sale. Repeatable procedures can become explicit skills or workflows, while broader material is retrieved only when relevant.

The seller experiences guidance, not the architecture behind it.

The value is not more information. It is knowing which experience matters at this moment in the sale.

Document Intelligence

Tell it what you know. Upload what you have. Let the product organise the rest.

A first-time seller should not have to copy every important value from certificates and property documents into a long form.

The next property-creation flow can combine conversation and documents. The seller describes the property naturally, uploads material such as an energy certificate or floor plan, and Sellumo reads those files alongside what has already been said.

Native document text can be extracted directly; scans can fall back to OCR or document vision. Extracted values remain candidate facts with their source and confidence attached rather than being written blindly into the property.

Sellumo can then merge conversation and document data, avoid asking the same question twice, and focus only on what is missing or uncertain. Important fields are shown back to the seller for confirmation before they become authoritative property state.

Seller talks + uploads docs
Read / OCR / Analyse
Merge with property data

Confident data

Missing / uncertain

Seller review

Validated property draft

The seller spends time confirming what matters instead of transcribing paperwork.

Read what already exists. Ask only for what is missing. Confirm before it becomes truth.

Media & Presentation Coach

Sellumo should help the seller show the real property better, not make it look different.

Property photos are often the first serious impression a buyer gets. For a private seller, this is another place where professional guidance can prevent avoidable mistakes.

The media capability can review the photo set as a whole: missing rooms or exterior areas, repeated views, weak sequencing, and important property features that are not visible. It can also flag practical photography problems such as poor light, cramped angles, tilted verticals, clutter, reflections, or privacy-sensitive details.

Instead of saying β€œtake better photos,” Sellumo can recommend what to retake, from where, under what light, which image should become the cover, and which duplicates add little value.

The same evidence can support the exposΓ© by connecting verified property facts with what the media actually proves, rather than generating generic sales language.

Better presentation starts before the descriptionβ€”with better evidence of the property itself.

Buyer Concierge

Give buyers fast answers before every question becomes work for the seller.

The contact-request gate is a natural place to reduce waiting on both sides. Before the seller accepts a conversation, a buyer-facing concierge can answer common questions that the product can verify from buyer-visible property data and approved knowledge.

That includes facts such as room count, energy information, approved features, available buyer documents, or how the viewing process works.

It also needs a clear stopping point. Missing or uncertain information, private seller context, viewing decisions, offers, negotiation, reservations, or anything that would commit the seller should be escalated instead of improvised. The seller can receive the question together with a short summary of what the buyer already asked and what the concierge was able to answer.

The buyer gets faster answers; the seller spends less time repeating basic information and more time on questions that actually need them.

Answer the repeatable questions immediately. Bring the seller in when a human decision starts.

Buyer Verification & Readiness

Before the seller gives time to a request, the product can show how well prepared the buyer is.

Not every inquiry carries the same level of seriousness. A seller may have little signal about who has verified their identity, completed a creditworthiness check, or already taken concrete steps toward financing.

With the buyer's consent, identity and creditworthiness can be checked through an external verification provider. Financing evidence remains a separate signal rather than treating a credit score as proof that the purchase is financed.

The seller does not need a raw credit file. The UI can translate verified provider results into a compact readiness view: identity status, provider-derived credit or risk band, financing evidence, and a short explanation of what has or has not been verified.

Buyer readiness

Identity
Verified
Credit signal
Good
Financing evidence
Provided

Strong preparation β€” seller review still required

The marketplace does not invent its own AI credit score and does not automatically reject the buyer. The provider supplies the verification signal; the seller keeps the decision.

Make readiness visible. Keep the decision with the seller.

Seller Insights

The property model already records engagement signals such as views, favorites, and inquiries.

The next phase is turning those signals into a useful seller view rather than a dashboard full of counters.

A seller should be able to see whether people are finding the property, saving it, and turning interest into requests over time. Channel attribution can add another layer: direct traffic, search, campaigns, social media, and other consent-aware acquisition sources.

Sellumo can help interpret the pattern without pretending correlation is proof. High views with little buyer contact may be a reason to inspect presentation, price, or fit. Traffic without serious requests should not be celebrated simply because the page-view number increased.

The goal is to help the seller answer: What is happening, and what is worth looking at next?

Move from vanity metrics to decision signals.

[ Continuous Improvement ]

Turn real failures into repeatable tests before they become new regressions.

An agentic product should improve as real usage reveals cases the original test set did not contain. The question is how to learn from production without turning production into an uncontrolled experiment.

The loop starts with the observability already around the product. Exceptions, routing telemetry, tool failures, weak market research, user feedback, difficult multi-turn conversations, latency problems, and unexpected outcomes show where the system is struggling. Similar traces can be grouped into recurring patterns instead of treated as isolated incidents.

Representative failures become versioned evaluation cases. Some have deterministic answers: Did a market question retrieve current evidence before pricing guidance? Did the correct tool run? Did required property state block an invalid action? Did a suspended workflow resume correctly?

Other cases need quality evaluation: Was the answer grounded? Did Sellumo preserve an important seller decision several turns later? Did it escalate uncertainty correctly? Did it respect the seller's communication preference without changing the facts?

Human review is selective. When a recurring failure is genuinely ambiguous, a product or domain expert defines the expected behaviour once and turns that example into a labelled evaluation case. Automated evaluation can then scale that expectation across future experiments.

Candidate changes to prompts, routing, tools, knowledge retrieval, memory policy, models, or workflows can run against the same dataset before release. Multi-turn evaluation matters because an agent can look correct on turn one and fail later after forgetting a decision, calling the wrong tool, or losing workflow state.

Critical behaviours need regression gates, while language quality, latency, tool success, error rate, and cost can be compared against the current version.

Production signals
Recurring failure patterns
Curated eval cases

Deterministic gates

Quality judges

Experiment
Regression gates
Controlled release
Monitor
Rollback if needed

The system can learn from production without silently learning uncontrolled behaviour in production.

Every meaningful failure should make the next version easier to test.

[ What I owned ]

I worked across the complete product.

I worked from the product structure and user journeys through the systems behind the marketplace and into the seller-side AI architecture.

That included responsive UX/UI, seller and buyer experiences, property lifecycle and visibility, authentication and role-aware access, relational data modelling, search and comparison, map-based discovery, media and document handling, buyer contact requests, realtime messaging, online presence, typing and read state, message and conversation deletion behaviour, in-app notifications, queued email delivery, scheduled background processing, conversation analysis and retention flows, AI orchestration, persistent seller memory, semantic recall, observational memory, resumable workflows, structured property collection, current-market research, asking-price validation, controlled product tools, input safeguards, fallback behaviour, browser and server monitoring, and AI-route telemetry.

  • Product engineering01
  • Marketplace architecture02
  • Full-stack development03
  • PostgreSQL data modelling04
  • Authentication & authorization05
  • Realtime messaging06
  • Notifications07
  • Background jobs08
  • Email delivery09
  • Data lifecycle10
  • Agent orchestration11
  • Persistent memory12
  • Resumable workflows13
  • Tool calling14
  • Current-data grounding15
  • AI observability16
  • Product engineering01
  • Marketplace architecture02
  • Full-stack development03
  • PostgreSQL data modelling04
  • Authentication & authorization05
  • Realtime messaging06
  • Notifications07
  • Background jobs08
  • Email delivery09
  • Data lifecycle10
  • Agent orchestration11
  • Persistent memory12
  • Resumable workflows13
  • Tool calling14
  • Current-data grounding15
  • AI observability16

[ Built with ]

Application
  • Motion
Data & Storage
AI & Agentic System
  • Mastra AI
  • Claude
Authentication & Security
  • Clerk
Realtime & Communication
  • Resend
Maps & Location
  • Mapbox
Observability & Delivery

Source code and product access remain private. I’m happy to discuss the engineering decisions and implementation approach in more depth during an interview.

session Β· Confidential PropTech Platform

[ Let’s work together ]

Building a product around the decisions users actually face?the decisions users actually face?

I can help connect the product, platform, and AI into one dependable experience.

~/work/confidential-proptech-platform β€” zshtty Β· 80Γ—24
# current capacity$ s
exit 04 jobs Β· 12ms
$ tree ~/work -L 1

~/work

  1. current: 02-confidential-proptech-platform

    Role
    Full-Stack & AI Product Engineer
    Ownership
    Product β†’ Marketplace β†’ Communication β†’ AI engineering
    Status
    Advanced MVP Β· Pre-launch
    Core flow
    Prepare β†’ Publish β†’ Discover β†’ Connect
    preview

4 directories, 0 files

= current project

current: 02-confidential-proptech-platform

Role
Full-Stack & AI Product Engineer
Ownership
Product β†’ Marketplace β†’ Communication β†’ AI engineering
Status
Advanced MVP Β· Pre-launch
Core flow
Prepare β†’ Publish β†’ Discover β†’ Connect
preview
enter openarrows navigateesc close4 dirstap to closebrowse
AGdev
ImprintPrivacy policy
ImprintPrivacy policy

Β© 2026 Aleksandar Gjurchevski. All Rights Reserved.

Β© 2026 Aleksandar Gjurchevski. All Rights Reserved.