Skip to content
View Obomhese-Raphael's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report Obomhese-Raphael

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Obomhese-Raphael/README.md

Raphael Obomhese

Fullstack & Mobile Engineer · Building AI-integrated products

Lagos, Nigeria 🇳🇬 — shipping code that talks to real APIs, real databases, and (increasingly) real language models.

profile views


👋 About me

I build fullstack and mobile products end to end — from React/Next.js and React Native on the frontend, to Node.js and FastAPI backends, with AI woven in where it actually earns its place (RAG pipelines, voice agents, LLM-powered workflows). I graduated with a BSc in Physics, then taught myself to code — so I tend to approach engineering problems the way I was trained to approach physics ones: form a hypothesis, test it, and trust the data over my assumptions.

  • 🔭 Currently building Agentic RAG Research Assistant — a from-scratch RAG system with FastAPI, Qdrant, LlamaIndex, and Groq
  • 🌱 Currently deepening DevOps, MongoDB internals, and eval-driven AI systems
  • 🤝 Open to fullstack / mobile / AI integration roles and collaborations
  • 💬 Ask me about React, React Native, Node.js, TypeScript, FastAPI, or RAG pipelines
  • 📫 Reach me at obomheser@gmail.com

🧭 How I work

  • I test assumptions before I trust them. On the RAG assistant, I assumed embedding similarity alone would rank relevant chunks correctly — the eval data said otherwise, so I built a dedicated LLM relevance judge instead of ignoring the signal.
  • I document what didn't work, not just what did. My project READMEs include negative findings, not just polished results — more useful to the next engineer (including future me) than a highlight reel.
  • I debug from first principles. A physics background means I'm comfortable sitting with an error I don't immediately recognize — DNS SRV lookups, SDK version breaks, async serialization quirks — and tracing it back to root cause instead of guessing fixes.

🗺 From physics to full-stack

2021 ─ Started BSc Physics @ Lagos State University
2023 ─ Self-taught first scripts: dice roller, number guesser, QR generator
2024 ─ First production apps: FastAPI + Streamlit platform, TeleCare Hub
2025 ─ BSc Physics complete · shipped WorkHub, Movie Flex, CryptoPlace
2026 ─ Went deep on agentic AI: RAG pipelines, eval harnesses, vector search

🛠 Featured projects

Project What it does Stack
Agentic RAG Research Assistant RAG research assistant with a custom LLM relevance judge built after eval data showed embedding similarity alone wasn't reliable enough FastAPI, Qdrant, LlamaIndex, Groq, Inngest
TeleCare Hub AI healthcare platform with voice-driven appointment scheduling and patient queries MERN, OpenAI, Vapi
WorkHub Cross-platform, multi-tenant project management app with role-based access control React Native, Expo, Node.js, MongoDB
CryptoPlace Real-time crypto dashboard with caching that cut load times by 45% React, Tailwind, CoinGecko API, Clerk

💻 Tech stack

Languages
JavaScript TypeScript Python

Frontend & Mobile
React Next.js React Native Expo Tailwind

Backend & AI
Node.js FastAPI OpenAI Groq

Databases & Infra
MongoDB PostgreSQL Firebase Vercel Docker


🧪 A few debugging war stories

Some of the more instructive bugs I've chased down, because I think the fix is often more interesting than the feature:

  • Vercel + Atlas silent connection failuresmongodb+srv:// DNS SRV lookups don't always resolve cleanly from serverless functions, and Atlas's IP allowlist can sit in an "Inactive" state that looks fine but blocks everything. Took tracing through logs, network settings, and cluster status to find the actual culprit.
  • Cosine similarity lies sometimes — while eval-testing bge-small-en-v1.5 embeddings, I found relevance scores for genuinely irrelevant chunks overlapping with relevant ones. Rather than trust the metric, I added a second-pass LLM judge and documented the discrepancy honestly in the README instead of hiding it.
  • SDK breaking changes don't announce themselves — ImageKit's SDK v3 → v4 upgrade silently changed method signatures mid-project. Fixed it, then made a habit of pinning dependency versions after that.

⚡ Quick facts

  • 🏋️ Off-screen, I'm usually working through a home workout routine — improvised equipment, no excuses
  • 📈 Exploring trading and financial markets as a second skill outside of software
  • 🐍 Physics-to-Python convert — I like languages where I can see the math underneath
  • ☕ Currently based in Lagos, open to remote-first fullstack/mobile/AI roles

🤝 Let's build something

I'm actively looking for fullstack, mobile, or AI-integration opportunities — reach out if you're hiring or want to collaborate on something interesting.

Open to fullstack, mobile, and AI-integration roles — let's build something.

Pinned Loading

  1. React-Native-Movie-App React-Native-Movie-App Public

    🎬 MovieFlex - A sleek React Native (Expo) movie app powered by TMDB API, featuring trending films, search, and details. Built with Tailwind CSS, TypeScript & Expo Router. 🍿 Lights, camera, action!

    TypeScript 1

  2. next_typescript_zoom_clone next_typescript_zoom_clone Public

    TypeScript 1

  3. MERN-AI-HOSPITAL-APP MERN-AI-HOSPITAL-APP Public

    TeleCare Hub is an AI-driven hospital management platform featuring Vapi-powered voice agents for patient interactions and Clerk for secure authentication. This full-stack application streamlines h…

    JavaScript 4 2

  4. Typescript-React-Crypto-App Typescript-React-Crypto-App Public

    A high-performance Cryptocurrency tracking application built with React, TypeScript, and Vite. Features secure user authentication via Clerk and real-time data integration with Firebase.

    TypeScript 1

  5. ai_mock_interviews ai_mock_interviews Public

    TypeScript 1