Navigation Projects Activity AI Skills Experience About Contact

Full Stack Developer | AI Developer | Backend Systems

I'm Kim Julongbayan I turn ideas into real products

Full Stack Developer with 5+ years of on-and-off experience building independent projects — scalable web, mobile, and AI-integrated systems. Specialized in LLM integration, real-time WebSocket systems, Dockerized cloud deployments, and CI/CD automation.

View Projects Get In Touch
Kim Julongbayan

01 / Projects

Selected Work

AI & Automation

AI Job Matcher

In Development

A web extension that scrapes job listings, parses structured data, and matches roles using resume-aware LLM analysis. Generates personalized cold emails with tone control via OpenAI API. Full automation pipeline: scrape → parse → match → generate → review.

Web ExtensionOpenAI APILLMAutomation
AI & Automation

Jobsift

Started as an n8n pipeline and outgrew it. Now a self-hosted Python package drawing on three kinds of source: five boards' own JSON APIs, email alerts over IMAP for the auth-gated ones, and HTML only as a last resort. Listings are extracted with an LLM and scored against my resume. Hard filters — geography, salary floor, posting age, title — run before enrich and score, so a job that fails a rule is dropped before it costs an LLM call. SQLite store, Google Sheets archive, Telegram alert above threshold.

PythonClaude & OpenAI APIsGmail IMAPSQLiteGoogle Sheets APITelegram Bot APIn8n — the version this replaced
Jobsift pipeline diagram: sources, LLM extract, hard filters, score, outputs

Have a product idea? I can help you ship it.

Start a Project

02 / Build Activity

Hours & Commits

03 / AI Showcase

Systems that know their limits

Eight AI systems, language and image. The column that matters is the last one — what each is held to, so it cannot answer past what it actually knows.

A public assistant that answers about the company and the remote nurse role from a fixed knowledge file. It has no tools and no database, so there is nothing for it to invent from — and when a question falls outside what it was given, it offers to send it to the team rather than guessing.

  • No tools and no database. Answers come from a knowledge file, not a live system.
  • Scope follows the page. The careers assistant answers about the role, the home one about the company.
  • Out of scope hands off to a human instead of guessing.
  • Never rendered as HTML. No visitor text or model output touches innerHTML — plain text by instruction is not a guarantee worth betting a script injection on.
  • A short-lived signed ticket per session, so the endpoint answers the real page.
Try it on mdsprosolutions.com

Inside the admin system, a question in English becomes a query the model composes and a read-only role executes. The answer is built only from the rows that came back, and every question carries its own cost.

  • Read-only Postgres role. The model can compose a query; it cannot write, drop or escalate.
  • Row-level security underneath, so the role cannot reach what the asker could not.
  • Answers only from rows returned. No figure appears that a query did not produce.
  • Per-question cost tracking, so an expensive question is a visible one.

Paste a URL and it crawls the real site, reads its brand identity, generates a redesign and deploys it to a live link — streamed to the browser over Server-Sent Events as each step completes. The sequence below is what runs.

See it run

A browser extension that reads a job listing off the page, structures it, and scores the role against the resume rather than against a keyword list — then drafts a cold email with the tone under control.

A Python pipeline that pulls jobs from board APIs, inbox alerts and, last, HTML, scores each against the resume, and values the salary with a hybrid of model judgement and deterministic code — then logs it and reports to Telegram. The provider is a config line: Claude or GPT-4o. It has run unattended since it shipped.

Generating 60+ consistent avatars for WordWarz.io meant solving a core problem: AI models are unpredictable, and every word in a prompt matters. Here's the process — from prompt engineering to a fully automated pipeline.

01 — Prompt Engineering

The Foundation

Wording is everything in AI image generation — a single token can change the entire output. These comparisons show how prompt structure directly controls what the model produces.

How natural language vs structured tags changes what the model generates — "cat girl" becomes a literal cat.

Before
Before
After
After

same seed: 300003

Before Prompt
After Prompt
1 / 5

Vague descriptions produce generic output — detailed tags create unique characters.

Before
Before
After
After

same seed: 510001

Before Prompt
After Prompt
1 / 5

Words with multiple meanings confuse the model — "bat girl" could be a bat or a girl with bat wings.

Before
Before
After
After

same seed: 310001

Before Prompt
After Prompt
1 / 5

Figurative speech gets interpreted literally — "fire in her eyes" produces actual flames.

Before
Before
After
After

same seed: 410001

Before Prompt
After Prompt
1 / 5

KSampler Settings

steps 30
cfg 4.0
sampler res_multistep
scheduler simple
denoise 1.0
resolution 1024 × 1024

30 steps with res_multistep sampler + ModelSamplingAuraFlow (shift 4.0) for clean Lumina-based generation; low cfg preserves natural detail.

02 — ComfyUI Pipeline

Node-Based Workflow

With the right prompts figured out, I built a visual pipeline in ComfyUI — a node graph with full control over each generation parameter.

ComfyUI node-based workflow showing model loading, prompt conditioning, sampling, background removal, and output
03 — Batch Automation

Script-Driven Generation

Then automated the whole thing — a Python script feeds modifier combinations into ComfyUI via API, generating unique avatars from a single prompt template.

Scripts handle auto-naming, BG removal, image optimization, and video compression — all automated in the pipeline.

Included in the scripts:

Auto-Naming

Files saved as category_variant-name.png

BG Removal

BiRefNet auto-strips backgrounds in pipeline

Image Optimization

PNG → WebP, 90% smaller

Video Compression

ffmpeg H.264, 54MB → 1.4MB

01 — Python Script
MODIFIERS = {
  "Hair & Expression": [
    {"name": "Red Hair Peace",
     "prompt": "red hair, peace sign"},
    {"name": "Pink Hair Wink",
     "prompt": "pink hair, winking, playful"},
    {"name": "Blonde Smug",
     "prompt": "blonde hair, smug expression"},
  ],
  "Props & Accessories": [
    {"name": "Boba Tea",
     "prompt": "brown hair, sipping boba tea"},
    {"name": "Catgirl Lollipop",
     "prompt": "orange hair, cat ears, lollipop"},
  ],
  "Gamer Variants": [
    {"name": "Headphones Jacket",
     "prompt": "headphones, gaming jacket"},
    {"name": "Catear Streamer",
     "prompt": "cat ear headphones, streamer setup"},
  ],
  "Street Style": [
    {"name": "Cap Chains",
     "prompt": "cap, bubblegum, chain necklace"},
    {"name": "Sunglasses Street",
     "prompt": "sunglasses, bubblegum, street fashion"},
  ],
  "Royalty": [
    {"name": "Royal Crown",
     "prompt": "crown, royal cape, proud expression"},
    {"name": "Tiara Pearls",
     "prompt": "small tiara, smug, pearl earrings"},
  ],
  "Scientists & Tech": [
    {"name": "Lab Coat Goggles",
     "prompt": "lab coat, safety goggles"},
    {"name": "VR Scientist",
     "prompt": "VR visor, tech gear, futuristic"},
  ],
}
1. Python Script

Modifier combos, prompt templates, batch queue

02 — ComfyUI API
2. ComfyUI API

Node pipeline processes each prompt automatically

03 — Output
Red Hair Peace Pink Hair Wink Blonde Smug Boba Tea Catgirl Lollipop Cap Coffee Headphones Jacket Catear Streamer Energy Drink Cap Chains Sunglasses Street Purple Chains Mysterious Hoodie Witch Hat Cyber White Hair Royal Crown Tiara Pearls Golden Tiara Lab Coat Goggles VR Scientist Professor Boxer Intense Basketball Muscular Peace
3. Output

24 unique avatars, production-ready

04 — The Result

The Full Collection

And here's what the system produces — 60+ avatars, all from one pipeline.

Base Prompt 1girl/1boy, chibi, bust portrait, sharp eye highlights, vibrant anime color palette, cel-shading, crisp lineart, white background, centered composition, high detail face

Hover or tap avatars to see the modifier prompt used for each variation

Hair & expression modifiers
Red hair chibi
red hair, peace sign, cheerful smile
Purple hair chibi
purple hair, peace sign, gentle expression
Pink hair chibi
pink hair, winking, playful
Blonde smug chibi
blonde hair, smug expression, confident
Starry-eyed chibi
gradient hair, starry eyes, sparkling
Excited purple chibi
purple hair, excited, open mouth
Pink catears girl lollipop
pink hair, cat ears, lollipop, wink, green eyes
Pink catears girl smirk
pink hair, cat ears, smirk, green eyes
Props & accessories
Red hair bubblegum girl
red hair, blowing bubblegum
Cap bubblegum girl
blonde, baseball cap, bubblegum
Cat ears lollipop girl
pink hair, cat ears, lollipop
Boba tea girl
brown hair, sipping boba tea
Pink catgirl boba
pink hair, cat ears, sipping drink, wink
Orange catgirl lollipop
orange hair, cat ears, lollipop, puffed cheeks
Leather boy pocky
leather jacket, pocky stick, earring, smirk
Cap boy coffee
baseball cap, holding coffee, shy expression
Gamer variants
Gamer girl headphones
headphones, gaming jacket, confident
Cat ears streamer
cat ear headphones, streamer setup
Gamer boy energy drink
headphones, energy drink, intense gaze
Chill gamer boy
headphones, pocky stick, relaxed
Red hair gamer girl
red hair, gaming headset, devil horns, sipping
Shy gamer boy
brown hair, red headphones, shy expression
Red gamer girl sipping
red hair, devil horn headphones, sipping drink
Purple gamer girl sipping
purple hair, pink headphones, hoodie, sipping drink
Street style
Street girl chains
cap, bubblegum, chain necklace, streetwear
Street boy sunglasses
sunglasses, bubblegum, street fashion
Street girl cap bubblegum
blonde, baseball cap, bubblegum, jacket
Street girl cap bubblegum v2
blonde bob, cap, bubblegum, stud earrings
Street boy cap chains
orange hair, cap, sunglasses on head, bubblegum, chains
Purple street boy
purple hair, cap, sunglasses, bubblegum, chains, earbuds
Archetypes & fantasy
Mysterious hooded boy
hoodie, face mask, mysterious, glowing eyes
Edgelord eyepatch boy
eyepatch, edgy expression, dark clothes
Witch girl
witch hat, magical girl, mystical
Nerd boy beret
beret, round glasses, artistic, shy
Cyber boy white hair
white hair, glasses, choker, cyberpunk
Rebel leather jacket
leather jacket, pocky stick, earring, rebellious
Royalty & explorers
Royalty crown boy
crown, royal cape, proud expression
Royalty boy brown hair
small crown, gold earrings, red cape, charming
Royalty boy purple hair
purple hair, crown, gold earrings, military jacket
Stylish boy earrings
dark hair, gold hoop earrings, smirk, elegant
Explorer boy goggles
aviator goggles, backpack, adventurer, curious
Explorer girl aviator
aviator goggles, orange hair, wink, explorer outfit
Royalty girl tiara pearls
red hair, tiara, pearl earrings, regal gaze
Royalty girl tiara golden
red hair, golden tiara, cheerful, warm smile
Scientists & tech
Scientist girl labcoat
lab coat, safety goggles, test tubes
Tech scientist VR
VR visor, tech gear, futuristic scientist
Scientist boy lab goggles
lab coat, safety goggles, test tube, excited
Scientist girl colorful
lab goggles, colorful lab coat, sparkles, messy hair
Scientist boy red goggles
red tinted goggles, lab coat, gloves, confident smirk
Athletic muscular boy
muscular, athletic jersey, earbuds, energetic grin
Scientist boy blue visor
blue visor, lab coat, serious, blue eyes
Scientist boy glasses beard
glasses, goatee, lab coat, thinking pose
Scientist girl purple glasses
purple hair, glasses, lab coat, gentle smile
Athletic & combat
Boxer boy
boxing gloves, intense stare, fighter stance
Gym girl wink
sports top, wink, gym accessories, athletic
Street athletic girl
cap, bubblegum, crop top, chain necklace
Swimmer boy
swimmer, towel, goggles, muscular, friendly
Basketball boy
red headband, basketball jersey, grin
Muscular girl peace
tank top, muscular, peace sign, wink
Athletic girl bubblegum
trucker cap, bubblegum, muscular, gold earrings

Style is extracted via CLIP Vision and injected through IPAdapter Advanced, while text prompts control pose and expression independently.

Result

Multi-Angle Generation

Given a single character illustration, generate consistent poses and expressions using IPAdapter style transfer — preserving the original art style across every angle.

DreamShaper XL Lightning Base model
IPAdapter SDXL ViT-H Style transfer
CLIP-ViT-H-14 Vision encoder
Style Transfer Precise Weight type
Reference Original cowgirl character reference
Generated Angles
Front view Front
Back view Back
Shocked expression Shocked
Side view Side

Using ControlNet Depth to preserve a mannequin's pose and body structure, then generating photorealistic clothing variations and tattoo removal from text prompts.

Clothing Generation

Mannequin to Product Shots

A blank mannequin serves as the base pose. ControlNet extracts the depth map to lock the silhouette, while the model generates different outfits from text prompts with dynamic ControlNet strength per clothing type.

RealVisXL V5.0 Lightning Base model
ControlNet Depth SDXL Pose preservation
Depth Anything V2 Depth preprocessor
DPM++ SDE Karras Sampler
Base Mannequin Base mannequin with white t-shirt
Generated Outfits
Leather jacket Leather Jacket
Overcoat Overcoat
Trench coat Trench Coat
Dress shirt Dress Shirt

Interested in working together?

Contact Me

04 / Skills

Tools, and where they were used

Languages
TypeScriptMDS ProRecodeAI
JavaScriptWordWarz.ioMDS ProCasinore.iothis page
PythonAvatar pipelineJobsift
Interface
ReactWordWarz.ioRecodeAI
Next.jsRecodeAI
CapacitorWordWarz.io — iOS and Android
Tailwind CSSWordWarz.ioRecodeAI
Chrome MV3MDS ProAI Job Matcher
Runtime
Node.js · ExpressWordWarz.io
FastifyMDS Pro
Socket.IOWordWarz.io — real-time play
Models & pipelines
Claude APIMDS Pro site assistantPlain-English DB queryingRecodeAI
OpenAI · GPT-4oAI Job MatcherJobsift
ComfyUI · Stable DiffusionAvatar pipelineStyle transferFashion generation
IPAdapterStyle transfer
ControlNetFashion generation
n8nJobsift
Data & services
Supabase · PostgresMDS ProWordWarz.io
Postgres RLSMDS Pro — 37 migrations
Google Sheets API · Apps ScriptMDS ProJobsift
ExcelJSMDS Pro — payroll workbooks
Privy · Web3Casinore.io
Delivery
DockerWordWarz.io — containerised server
Linux VPS · NginxWordWarz.io
Codemagic CIWordWarz.io — App Store and Play builds
Google CloudCasinore.io
Vercelthis page
Also familiar

Stacks I'm comfortable working in that the work above doesn't happen to show — ask me about any of them.

React Native Expo Zustand TanStack Query shadcn/ui Framer Motion Astro SvelteKit Prisma Drizzle tRPC GraphQL Redis MongoDB NextAuth LangChain RAG pgvector Ollama Hugging Face MCP GitHub Actions AWS Cloudflare Workers Playwright Vitest Solana · web3.js Figma

05 / Experience

Experience

2018 — Present

Independent Full Stack Developer

Solo projects and side projects

Self-directed, on-and-off development across frontend, backend and database layers. Built and deployed independent projects including REST APIs, real-time systems and AI-integrated applications. Managed Docker containers, Linux VPS infrastructure and CI/CD deployment workflows.

3 of 4 years completed

BS Information Technology

AMA Computer College Makati

Coursework covering software development, database management, networking and system analysis. Degree not yet conferred; one year of study remains.

Open to remote work — flexible schedule, reliable setup

06 / About

Building things that matter

I'm a Full Stack Developer with 5+ years of on-and-off experience building independent projects — web, mobile and AI-integrated systems. Every project above was built solo, which means the architecture, the deployment and the bugs were all mine to answer for.

Working on my own means I'm also the only person checking my work, so I've got careful about the unglamorous parts. If a payroll figure turns up on three screens, I want it worked out once. If a timestamp matters, the server sets it, not the browser. If a record changes, the old one stays put so you can see who changed what. None of that is clever — it's just the difference between software people trust and software they end up double-checking by hand.

Most of what I know came from building something that broke and then working out why. I'd rather ship something small that holds up than something impressive that doesn't, and I'd rather tell you what a thing can't do than find out later that you assumed it could.

Kim Julongbayan

07 / Contact

Let's build something great

Open to collaborations, freelance work, and exciting opportunities.

Or find me here