Skip to content

Kayla Elisheva Siwi

CS student building AI in production

Software Engineer Intern @ Coldwell Banker Indonesia

Kayla Elisheva Siwi

About

I build AI systems, and I'm still figuring out which part I love most. Right now I learn by shipping, taking real problems end to end and seeing what pulls me in.

At Coldwell Banker Indonesia, I turn the brokerage's manual WhatsApp workflow into production software, working across TypeScript and Python from the database to the box it runs on.

I'm also a Computer Science student at Monash University Malaysia, after going deep on full-stack fundamentals at Purwadhika.

Away from the keyboard, you'll usually find me modelling, dancing, or MC-ing a live crowd from the stage.

Work

Coldwell Banker Indonesia

Software Engineer Intern

Jan 2026 – Jul 2026

Jakarta

  • Rebuilt the brokerage's production real-estate platform from a PHP/Laravel monolith to a NestJS + MySQL stack.
  • Built the OpenAI-powered listing parser — a stateful WhatsApp bot that turns free-form Indonesian broadcasts into validated, structured listings via structured-output extraction, with deterministic validation instead of trusting the raw model.
  • Built and fully tested an agentic WhatsApp gateway in Python — a tool-calling agent loop with persistent sessions that turns free-form chat into structured actions (logging, confirmations, inter-agent Q&A).
  • Built Pulse, a real-time WhatsApp ingestion and alerting system (Postgres · Redis · WebSocket · PWA · mobile push) that captures every message exactly-once and pushes urgent alerts to mobile in seconds — ~460 tests, deployed on a single VPS.
  • Shipped two Model Context Protocol servers in FastAPI, exposing the brokerage's internal CRM and web APIs to AI agents over hardened, token-authed, audited endpoints.
  • Worked across the full stack — a 45-model polymorphic Prisma schema with JWT + RBAC, async BullMQ pipelines (multi-portal syndication with retry + dead-letter, image enhancement), an admin CMS (Next.js + Ant Design), and DevOps (Docker, DigitalOcean, Cloudflare).

Education

  1. Starting Jul 2026

    Monash University Malaysia

    Bachelor of Computer Science

  2. Feb 2025 – Feb 2026

    Monash College

    Diploma of IT, Computer Science

    Top of cohort · Academic Merit Award

  3. Oct 2024 – Apr 2025

    Purwadhika School

    Full Stack Web Development Bootcamp

    Certified

Projects

01 · Production · flagship

Real Estate AI Platform

A production system that turns WhatsApp into a sales pipeline.

  • TypeScript
  • NestJS
  • Fastify
  • MySQL
  • Prisma
  • BullMQ
  • OpenAI
  • Structured output

Ingest

  • WhatsApp inbound
  • Agent network
  • Listing imports

Platform

  • NestJS API
  • BullMQ worker
  • Prisma · MySQL

AI

  • Structured output
  • OpenAI API

Out

  • Portal sync
  • Lark CRM bridge
  • WhatsApp reply

02 · Production · case study

Pulse

Turns live WhatsApp lines into a real-time oversight feed — every message captured, triaged, and pushed in seconds.

  • TypeScript
  • Fastify
  • PostgreSQL
  • Redis
  • WebSocket
  • Next.js PWA
  • FCM push
  • Docker · nginx
  • Vitest · Testcontainers

Related: Latchkey the magic-link handoff bug here, isolated into a runnable demo

Capture

  • WhatsApp lines

    inbound

  • normalize

  • classify

    urgent / routine

Store

  • Postgres

    exactly-once

  • Redis

    pub/sub

Fan-out

  • WebSocket

    live feed

  • FCM push

  • WhatsApp alert

    API

Deliver

  • Installable PWA

  • Owner's phone

03 · Open source

MCP Connector Factory

One hardened MCP-server skeleton, forked per backend — two Claude custom connectors from the same codebase, with deliberately different security postures.

  • Python 3.11
  • FastAPI
  • JSON-RPC 2.0
  • OAuth 2.0 facade
  • Docker
  • Cloudflare Tunnel
  • 348 tests

Client

  • Claude app

    custom connector

  • Bearer token

    pasted as secret

Shared skeleton

  • JSON-RPC 2.0

    init · list · call

  • Auth + OAuth facade

    bearer · const-time

  • Audit log

    JSON-line · before/after

Fork

  • lark_client

    fetch-all + filter

  • web_client

    JWT login-refresh

Backend · posture

  • Lark Bitable

    writes live · admin

  • NestJS REST API

    read-only · 2 kill switches

04 · Open source · demo

Latchkey

Passwordless login that survives the in-app-browser → system-browser cookie-jar handoff.

  • TypeScript
  • Node
  • Fastify
  • Magic-link auth
  • SHA-256 tokens
  • CI · fully tested

Related: Pulse the production system it was extracted from

In-app browser

  • GET /verify

    magic-link token

  • webview cookie jar

    isolated

Server · verify

  • 302 → /app?handoff

    no cookie set

  • handoff token

    10s · single-use

System browser

  • OS hands off URL

    token rides along

  • POST /auth/handoff

    browser-initiated

Server · session

  • Set-Cookie: session

    lands in real jar

  • GET /api/me → 200

    signed in

05 · Personal · live demo

RecapAI

An AI meeting-notes platform that turns a recording or transcript into structured notes, and runs end-to-end with zero API keys.

  • React
  • Vite
  • Tailwind
  • FastAPI
  • Pydantic
  • PostgreSQL
  • SQLAlchemy
  • OpenAI
  • Docker

Ingest

  • Upload audio

  • Record mic

  • Paste transcript

Platform

  • FastAPI REST

  • SQLAlchemy + Alembic

  • PostgreSQL

    JSONB

AI

  • Whisper

    STT

  • GPT-4o

    summary

  • Mock

    keyless

Out

  • Summary + decisions

  • Action items

  • Markdown / PDF

Stack

Languages
TypeScript · Python · SQL
Backend
NestJS · Fastify · FastAPI · Node.js · MySQL · PostgreSQL · Prisma · Redis
Frontend
Next.js · React · Tailwind · Ant Design
Async
BullMQ · WebSockets · background workers
AI / LLM
Anthropic (Claude) · OpenAI · Google Gemini · tool-calling · MCP
Infrastructure
Docker · GitHub Actions · nginx · Cloudflare · Vercel · AWS S3 · DigitalOcean

Contact

Always glad to connect! About AI systems, schema design, or whatever you're building :)