Loading

Open to AI/ML and software roles

Carl Emmanuel MacabalesAI & software engineer

I build the model, and the product around it.

Published ML research in medical imaging and clinical NLP, and full-stack products on Next.js, PostgreSQL, and Stellar payments.

Carl smiling in a white barong
Mapúa CS ’26 · AI specialization

What I do for fun

Hi, I’m Carl.

I grew up in Al Khobar, Saudi Arabia, and I’m based in Quezon City now.

Off the clock, you’ll find me playing , , or queueing up . are always on, I’m hooked on right now, I have , and I can solve a with one hand.

My setup

MacBook AirApple M2 · 8 GB memoryRaspberry PiStorage server
  • Claude CodeAgent
  • CodexAgent
  • CursorEditor

Deni promo film1:48

Selected work. What I’ve built since 2025.

  1. Deni on three iPhones: today’s doses on a pearl foil pack under a morning sky, the mood journal, and a week of doses in Insights

    A medication tracker for iPhone. My dad started maintenance meds early in life, and it’s my mom who keeps him on track. Not everyone has someone like that. Deni is meant to be that reminder for anyone who doesn’t, or for anyone who simply wants something dependable to lean on. Deni organizes your meds like they’re all in one cabinet, so you always know what to take and when. A journal tracks how you’re feeling alongside your doses, and Insights sums up your week in a one-page report you can share with your doctor.

    • React Native
    • Expo
    • TypeScript
    • SQLite

    Coming soon to iPhone.

    Deni promo film1:48

  2. Centient home screen: “Train AI, cent by cent.” with a Connect Freighter button

    A human-feedback platform for AI teams: contributors compare two AI answers, say why one is better, and are paid in USDC on Stellar as soon as the answer is accepted. Gold tasks, rate limits, and agreement checks keep the rankings honest. Payouts are co-signed from a multisig account, and after most balances sat stuck below the old withdrawal minimum, the Withdraw button went away: every accepted answer now pays the wallet directly.

    Instawards grant
    $5,000
    keys co-sign every payout, enforced in CI
    2 of 3
    • Next.js
    • TypeScript
    • PostgreSQL
    • Prisma
    • Stellar SDK
    • Redis
    • Railway
  3. Raspberry Pi desktop showing a live skeleton overlay on a person doing a shoulder abduction, graded correct

    Classifies exercises and grades form in real time on a Raspberry Pi 5. BlazePose landmarks feed a dual-head LSTM trained on 451,638 augmented 30-frame windows. After a session, a RAG chat explains what to fix: retrieval runs on the Pi with an ONNX encoder, so PyTorch never ships to the device.

    exercise classification, 9 movements
    97.15%
    live inference on a Raspberry Pi 5
    25–30 fps
    • MediaPipe
    • LSTM
    • TFLite
    • ONNX
    • Groq
    • Raspberry Pi
    Source code (opens in a new tab)

    Runs on a Raspberry Pi, so there’s no web demo.

  4. Cardiology AI assistant answering a question about the ESC 2024 atrial fibrillation guidelines, with cited source pages

    Answers clinical questions from 100+ pages of the 2024 ESC atrial fibrillation guidelines. MedCPT embeddings, FAISS search, and BGE reranking ground three quantized models (Llama 3, Phi-3, Qwen3), tested on 20 clinical queries with a case-by-case look at every hallucination.

    BERTScore F1
    0.835
    response latency, quantized
    ~0.7 s
    • Llama 3
    • Phi-3
    • Qwen3
    • FAISS
    • MedCPT
  5. Six axial CT slices of the abdomen with detection boxes around kidney cysts, stones, and tumors

    Finds cysts, stones, and tumors in axial and coronal CT slices with YOLOv12, trained on 14,761 curated and augmented scans. Presented at IEEE ICIPCN 2026 at Kathmandu University, Nepal.

    mAP@0.5, axial slices
    0.946
    mAP@0.5, coronal slices
    0.885
    • YOLOv12
    • Python
    • Streamlit
  6. Read My Face start screen listing the seven emotions it detects

    Reads seven facial expressions from a webcam and answers each one with GSAP-driven visual feedback. The face-api.js models run entirely in the browser.

    • React
    • face-api.js
    • GSAP
  7. MyApt sign-in screen

    A dashboard for running apartment properties: tenants, units, and live Firebase data with charts. Demo login: test@test.com / test123.

    • React
    • Firebase
    • SCSS
  8. Petchingu banner: the pet app for a pet parent

    Keeps a pet’s health records, vet appointments, and daily care routines in one place. Built with React and TypeScript on an Appwrite backend.

    • React
    • TypeScript
    • Appwrite
    Source code (opens in a new tab)

    The web demo is offline for now.

Background. Where I’ve worked, shipped, published, and studied.

Experience

Lead Developer

Artisam Labs Contract

Sep 2026 – Now 5 wks

Now
  • Leads the build of Centient through a four-week sprint, with a reviewed deliverable and a QA gate every week.
  • Replaced balance-and-withdraw with a payout for every accepted answer, after 8 of 10 balances sat stuck under the 1 USDC minimum.
  • Every payout is co-signed 2 of 3 from a multisig account, and a CI lane races concurrent payouts to prove zero double-pays.
  • Wrote the beta tester guides for desktop, Android, and iOS, plus the script for tester interviews.

Software Engineering Intern

The BLOKC Internship

Apr – Jun 2026 3 mos

  • Led a 5-intern pod across three blockchain products. Shared review and test workflows cut feature turnaround from 4 weeks to 2 and post-release errors by ~40%.
  • Shipped a 6-phase on-chain payout system with atomic withdrawals and anti-fraud controls: 10K+ simulated payouts on Stellar testnet, zero double-spends.
  • Ran security QA on a learning management system, filing 30+ reproducible issues (IDOR, broken access control, rate-limit bypass) and cutting escaped defects by ~35%.
  • Built an LLM adapter across Groq, Anthropic, Gemini, Vertex AI, and Ollama that turns prompts into Stellar payment flows: ~94% success, ~70% fewer malformed-output crashes.

Centient

Human-feedback labeling, paid in USDC on Stellar

2026

$5,000 Instawards grant

  • People compare two AI answers, say why one is better, and are paid in USDC the moment the answer is accepted.
  • No bank account and nothing to cash out: each payout lands in the contributor’s own Stellar wallet.
  • Gold tasks, rate limits, and agreement checks keep the rankings honest.

Pink Raft

No-code payment flows on Stellar

Full-stack and AI integration lead May 2026

1st runner-up, Stellar Hackathon

  • Drag in triggers and actions, and a live Soroban contract deploys in under 60 seconds.
  • Cut AI replies from ~10 s to ~2 s with null-stripping, Zod schema hardening, and trigger-conflict checks that replace silent failures.
  • WebAuthn 2FA, non-custodial wallet signing (Freighter, xBull, Albedo), and a live on-chain event feed.
  • Next.js
  • PostgreSQL
  • Redis
  • Soroban

ClickTap a pet to say hi

Education

Brings the photo from this school to the front.

Research

1–2 May 2026

Tools I reach for

  • Python
  • PyTorch
  • TensorFlow
  • scikit-learn
  • OpenCV
  • NumPy
  • pandas
  • FastAPI
  • Flask
  • TypeScript
  • JavaScript
  • React
  • Next.js
  • Node.js
  • PostgreSQL
  • Prisma
  • Redis
  • Firebase
  • Docker
  • Git

From model to product

Thesis

BS Computer Science thesis · Mapúa University · 2026

One 3D model for kidney cysts, stones, and tumors

We trained nnU-Net v2 on 290 CT scans to outline the kidney and all three abnormalities at once, then tested it against three models that each learn only one. Training them together raised the Dice score for every abnormality.

Dice score
  • Stone: 0.00 trained alone, 0.51 trained together
  • Cyst: 0.22 trained alone, 0.50 trained together
  • Tumor: 0.61 trained alone, 0.76 trained together

Kidney: 0.955, the anchor the other three learn around.

Axial CT slice through the abdomen at the level of both kidneys. The model outlines both kidneys and a small tumor at the lower edge of one. Found on this slice: Kidney and Tumor.

Have an idea that needs building? Let’s get it shipped.

I’m looking for AI/ML and full-stack roles, freelance work, and research collaborations.

To:
Carl Macabales

© 2026 Carl Emmanuel Macabales

Back to top