Endy Ong

Full-stack developer, Phnom Penh

6%

Open to internships and junior roles

I build web products
people actually finish using

I'm Endy Ong, a full-stack developer in Phnom Penh. I work across Next.js and TypeScript on the front, Spring Boot and PostgreSQL on the back, and ship the whole thing with Docker.

2+
Years building
6
Shipped projects
3
Programs completed
Endy Ong

Endy Ong

Phnom Penh, Cambodia

@Endy0611
TypeScriptTypeScriptNext.jsNext.jsReactReactTailwind CSSTailwind CSSJavaJavaSpring BootSpring BootPythonPythonFastAPIFastAPIPostgreSQLPostgreSQLRedisRedisDockerDockerNginxNginxGoogle CloudGoogle CloudJenkinsJenkinsDigitalOceanDigitalOceanGitHubGitHubTypeScriptTypeScriptNext.jsNext.jsReactReactTailwind CSSTailwind CSSJavaJavaSpring BootSpring BootPythonPythonFastAPIFastAPIPostgreSQLPostgreSQLRedisRedisDockerDockerNginxNginxGoogle CloudGoogle CloudJenkinsJenkinsDigitalOceanDigitalOceanGitHubGitHub

About

From coursework to shipping real projects

Two years of hands-on training took me from C/C++ and OOP through front-end fundamentals to Java and Spring Boot. Now I build and deploy the full thing.

I like picking things apart to understand how they work, then rebuilding them better. Most of my time goes to two products: an attendance system for universities and an event platform for alumni and students.

On those I own the whole path — schema design and API work in Spring Boot and PostgreSQL, the interface in Next.js, and deployment through Docker Compose on DigitalOcean. Recently I've been working with local LLMs and retrieval pipelines.

Right now

Full-stack developer

React, Next.js, Spring Boot, TypeScript

Studying

Computer Science

Norton University, Phnom Penh

Off the clock

Reading and hiking

New tech, quiet trails, local LLMs

Projects

Things I've built and shipped

Real products with real users, not tutorial clones. Tap a card for screenshots and the full stack.

Skills

What I reach for

A stack I know end to end, plus what I'm actively learning.

Front end

TypeScriptTypeScriptReactReactNext.jsNext.jsTailwind CSSTailwind CSSFramer MotionFramer Motion

Back end

JavaJavaSpring BootSpring BootMyBatisMyBatisFastAPIFastAPIPostgreSQLPostgreSQLRedisRedis

Ship and run

DockerDockerNginxNginxGoogle CloudGoogle CloudDigitalOceanDigitalOceanJenkinsJenkinsGitHubGitHub

Learning now

PythonPythonOllamaOllamaRAG pipelinesVector search

Languages

KhmerNative
EnglishIntermediate
KoreanBeginner

Work

What I've built and where

Projects, roles and the teams behind them — newest first.

An internal event platform with a TypeScript front end and a Spring Boot back end, shipped through a Jenkins pipeline and wired into WebILL, Bakong and Google Calendar.

TypeScriptSpring BootJenkinsBakong API

A to-do and project tracker built around a clean, fast task workflow.

ReactProductivity

Built product features and produced supporting content alongside the development team.

DevelopmentContent

Ran event operations on the ground: guiding attendees and keeping the site safe and clean.

VolunteeringEvents

Coordinated activities as part of the school organizing team.

Coordination

How I build

Anatomy of a RAG pipeline

Two lanes sharing one vector store: documents get indexed once, then every question travels the second lane. Drag sideways to follow the flow.

Lane A — Index

Runs once, offline, whenever documents change.

01

Documents

PDFs, docs, pages

02

Parse & clean

Text + metadata out

03

Chunk

~500 tokens, overlapped

04

Embed

Chunk → dense vector

05

Vector store

Indexed for ANN search

shared
both lanes hit the same store, with the same embedding model

Lane B — Query

Runs on every question, in real time.

01

Question

What the user asked

02

Embed

Same model as indexing

03

Search top-k

Nearest neighbours

04

Rerank

20 candidates → best 5

05

LLM

Prompt + context, reasons

06

Answer

Grounded, with sources

Two details that decide whether it works: the retrieval step is done by the app, not the model — the LLM only ever sees text you paste into the prompt. And both lanes must embed with the same model, or the vectors aren't comparable.

Education

Where I learned it

2024 — present

Norton University

BSc Computer Science

C/C++ and OOP, data structures, front-end fundamentals, and now Java with Spring Boot.

2026

KSHRD

Full-Stack Developer, Basic Track

Full scholarship. Java, Spring Boot, TypeScript and team delivery on a real internal product.

2025

ISTAD

Foundation Courses

Half scholarship. Web foundations, Git workflow, and a top-three final project.

Awards

Wins along the way

Full scholarship

KSHRD Full-Stack Program

Half scholarship

ISTAD Foundation Courses

Top 3 project

ISTAD Foundation Courses

Bronze medal

Angkor Mathematics Competition

Selected candidate

Outstanding Students in Mathematics

Credentials

Certificates

Tap any card to see the full certificate.

Contact

Let's talk.

Open to internships, junior roles and freelance work — I usually reply within a day or two.

endyong18@gmail.comEndy0611Phnom Penh, Cambodia