Skip to content

L0 input layer

  • x1 Retrieval
  • x2 Computer vision
  • x3 Reinforcement learning
  • x4 Production automation

Karl Neil Sequeira

I spot the gap in how work gets done, then build what bridges it.

From retrieval systems and computer vision to reinforcement learning and production automation, I build the model, the evaluation, and the product around it.

  • AI Ops Engineer @ AHA Smart Homes
  • Chancellor’s Gold Medalist 2026
  • B.Sc. (Hons) AI & ML
  • IIT Madras T4E 2025 presenter

Don't take my word for it.

These aren’t portfolio numbers. They’re things I actually measured.

BP-01Retrieval: Ask My Papers

“I thought vector search would be enough.”

Step through what I saw, what I changed, what broke, and what fixed it.
OBSERVING

I asked a question whose answer sits in one specific passage. Vector search ranked that passage #250: all four papers are about floor plans, so their chunks sit almost on top of each other.

Key passage, vector search
rank #250
Measured, README

16 labelled questions is a small evaluation set, not a guarantee.

Step 1, Vector only: I asked a question whose answer sits in one specific passage. Vector search ranked that passage #250: all four papers are about floor plans, so their chunks sit almost on top of each other.

Diagram, not a recording. Values beside it are measured.
  1. 1. Vector only. I asked a question whose answer sits in one specific passage. Vector search ranked that passage #250: all four papers are about floor plans, so their chunks sit almost on top of each other. Key passage, vector search: rank #250 (Measured, README).
  2. 2. Add BM25. Keyword search ranked the same passage #1. The words that tell these papers apart are proper nouns, and embeddings compress exactly those away. Same passage, BM25: rank #1 (Measured, README).
  3. 3. Fusion fault. Merging both lists with Reciprocal Rank Fusion buried it again. Fusion rewards agreement, so a chunk ranked #1 by one method and #250 by the other lost to chunks both rated mediocre. Key passage after fusion: buried (Observed bug, README).
  4. 4. Fix. Each method gets reserved slots before fusion fills the rest. A cross-encoder reranks 20 candidates down to 6, and a relevance gate refuses when nothing clears the bar. hit@6: 100% (Measured, 16 labelled questions). MRR: 0.677 → 0.783 (Measured, after reranking). Out-of-scope question: refused in ~1 s, not ~6 s (Measured, README).

The full write-upThe code

BP-02Reward: LunarLander

“I gave the model the wrong incentive.”

The retrieval bug was the data hiding the answer. This one was my own objective rewarding the wrong thing.
OBSERVING

Plain PPO trained for 1M steps, as the reference.

Mean score
142.5
Measured, 50 landings
Solved (200+)
18 / 50
Measured, 50 landings

Every version is scored on the game’s own reward over the same 50 landings. One training run per version, so this is evidence, not proof.

Step 1, Baseline: Plain PPO trained for 1M steps, as the reference.

Real episodes: random agent, baseline, hacked reward (hovers), fixed reward.
Real recording. The values beside it are measured.
  1. 1. Baseline. Plain PPO trained for 1M steps, as the reference. Mean score: 142.5 (Measured, 50 landings). Solved (200+): 18 / 50 (Measured, 50 landings).
  2. 2. Time fee. A fee of 0.1 for every frame pushes it to land sooner. This version solved the most landings. Mean score: 195.8 (Measured, 50 landings). Solved (200+): 37 / 50 (Measured, 50 landings).
  3. 3. Reward hack. Wait. Why is it hovering? A bonus of +1 for every upright, slow frame is a reward it can farm, so it hovered until the 1,000-frame limit. It optimised the reward, not the task. Mean score: −41.7 (Measured, 50 landings). Solved (200+): 0 / 50 (Measured, 50 landings). Timed out hovering: 32 / 50 (Measured, 50 landings).
  4. 4. The fix. I fixed the objective: potential-based shaping pays for getting closer to landing, not for staying upright. The exploit is gone, though the plain time fee still landed more often (37 / 50). Mean score: 178.1 (Measured, 50 landings). Solved (200+): 29 / 50 (Measured, 50 landings).

The full write-upThe code

02About

Behind the work.

I like working on the part of AI that happens after the demo.

The problems I find interesting are usually messy: documents that don’t retrieve cleanly, models that exploit the metric they’re given, floor plans that don’t look like clean datasets, and internal software that has to survive real users.

That’s why most of my projects involve more than a model. I build the data pipeline, the evaluation, the interface and the failure handling around it.

Right now I’m an AI Ops Engineer at AHA Smart Homes.

Off the clock

When I’m not working, I’m usually on a football pitch or a badminton court (pickleball, lately), out on a long bike ride with friends, or DJing a bit of house, tech house and pop.

AHA Smart Homes
AI Ops Engineer
Atlas SkillTech University
B.Sc. (Hons) AI & ML, 2022–2026
Chancellor's Gold Medal
2026
IIT Madras T4E
Research presenter, 2025
GPA
8.29 / 10
Awards, recognition and background

Where I've worked

  • AHA Smart Homes AI Ops EngineerMar 2026 – Present
  • Unreal Dimension Generative AI Intern (part-time)Feb 2025 – Aug 2025
  • EdTech Society Machine Learning InternJan 2025 – Apr 2025
  • Digirise Infolabs Machine Learning InternOct 2023 – Nov 2023

03Built and broken

Things I've built. And things I've broken.

BP-03Proposal: Floor Plan to Proposal

“I took proposals out of Excel.”

OBSERVING

Consultants assembled the customer proposal document by hand in Excel, about 1.5 hours each (an estimate), copying from old ones.

Proposal document
Built by hand
Before the PMT

The time is an estimate, not a measurement.

Step 1, Before: Consultants assembled the customer proposal document by hand in Excel, about 1.5 hours each (an estimate), copying from old ones.

Recreated with dummy data. Diagram, not a recording.
  1. 1. Before. Consultants assembled the customer proposal document by hand in Excel, about 1.5 hours each (an estimate), copying from old ones. Proposal document: Built by hand (Before the PMT).
  2. 2. Generate. Now the consultant adds devices and groups in the PMT, and the branded, room-by-room document is generated from that data. Proposal document: About 15 min (Estimate).
  3. 3. The gap. Project managers still re-placed every device on the electrical plan by hand. Consultants and PMs work from different offices, so devices sometimes landed in the wrong spot, like a keypad on the wrong side of the sofa. Devices placed: Twice (By the consultant, then the PM).
  4. 4. Bridge. Consultants place the devices themselves in the HA Editor, room by room, so what reaches project managers after onboarding is already right. Devices placed: Once (By the consultant).

04Every project

All 17 projects, one layer.

Filter by area. Each bar shows whether it shipped or is still in progress.

17 projects shown

Open the full project index

05At work

AHA Smart Homes: AI and software systems used inside a real business.

AI Ops Engineer, Mar 2026 – Present. AHA designs and installs home automation. I build features for its internal Project Management Tool (PMT) used by consultants, project managers and the support team, and I am working on computer vision for reading electrical floor plans.

06The toolbox

What I use to build the systems above.

karl.skills.embed() → move to querytop-5:

Illustrative layout grouped by skill area, not a trained embedding.

  • I build models: Python, PyTorch, TensorFlow, Keras, OpenCV, scikit-learn, NumPy, pandas
  • I build retrieval systems: BM25, Vector search, RRF, Cross-encoder reranking, Embeddings, Chroma, LangChain, Ollama
  • I build products around them: React, Vite, Tailwind, Next.js, FastAPI, MongoDB, Postgres, Supabase, Docker, AWS, GCP, Azure
  • I evaluate them: pytest, Retrieval evaluation, Experiment design, Failure analysis
  • Python
  • PyTorch
  • TensorFlow
  • Keras
  • scikit-learn
  • OpenCV
  • NumPy
  • pandas
  • RAG
  • BM25
  • Vector search
  • RRF
  • Cross-encoder reranking
  • LangChain
  • Ollama
  • Chroma
  • Embeddings
  • React
  • Vite
  • Tailwind
  • Next.js
  • FastAPI
  • Supabase
  • Postgres
  • MongoDB
  • AWS
  • GCP
  • Azure
  • Docker
  • pytest
  • Experiment design
  • Retrieval evaluation
  • Failure analysis
  • Data pipelines
  • API integration
  • Automation

I build models

Image models and RL agents, from preprocessing to evaluation.

See it in Facial Emotion Recognition

I build retrieval systems

Hybrid search with a reranker and a refusal gate, measured on labelled questions.

See it in Ask My Papers

I build products around them

The editors, dashboards, syncs and APIs people use around the model.

See it in Floor Plan to Proposal

I evaluate them

Labelled eval sets, regression tests written against real bugs, and failure analysis.

See it in Reward Hacking in LunarLander

07Field notes

Field notes.

08Say hello

Feel free to reach out.

Whether it’s an idea you’re working on, a question about something here, or just to say hi, I’m always happy to chat.
  • AI/ML engineering
  • Computer vision
  • Retrieval and LLM systems
  • Applied AI
  • AI engineering
karlsequeira2004@gmail.com

Email meLinkedInGitHubRésumé