Overview
Technical skills
Timeline
Roles

Overview

Senior backend engineer specializing in production MLOps and API-driven model deployment with strong practical experience in training/serving pipelines. The most proven skill is building an end-to-end ML pipeline with Prefect and MLflow (flows/training_flow.py and src/train.py) including validation gates, champion-challenger promotion and test coverage. Public code shows limited evidence of formal secret management, versioned API lifecycle, and large-scale caching or multi-service contract design.

Technical skills

Node JS• Middle
Python• Middle • 7y+ • 3 projects
Kotlin• Middle • 6y+ • 3 projects
Java• Middle • 6y+ • 4 projects
SQL• Junior • 4y+ • 3 projects
JavaScript• Junior • 3y+
C++• Junior • 1 project
Node JS
Express
Python
Pydantic
SQLAlchemy
Alembic
Uvicorn
Celery
FastAPI• 7y+ • 3 projects
Kotlin
Hilt
Kotlin Coroutines
Kotlin Flow
StateFlow
Databases
Firestore• 1 project
Frontend
ESLint
Material UI• 3y+ • 3 projects
React.js• 3y+ • 3 projects
Mobile
Android
Android SDK
Jetpack Compose
Material3
CameraX
WorkManager
DataStore
Room
Navigation Component
ViewModel
Firebase
Adaptive UI
JUnit
DevOps
Rest API• 3y+ • 2 projects
GCP• 2 projects
Google Cloud Run• 1 project
AWS• 1 project
CI/CD
Docker• 1 project
GitHub Actions• 1 project
AI/ML
Data Augmentation
DVC
OpenCV
Scikit-learn
SciPy
NumPy• 3 projects
PyTorch• 2 projects
TensorFlow• 2 projects
MLFlow• 1 project
Prefect• 1 project
Robotics
Sensor Fusion• 2 projects

Timeline

Georgia Institute of Technology (Georgia Tech)
Master's Degree Computer Science / Machine Learning Specialization
2024–2026 Atlanta, Georgia
Jan 2026 to Apr 2026 3 Months

• Built a dual-stream deep network that fuses an overhead RGB photo with its depth map, using depth-based portion-volume cues to separate servings that look identical in 2D but differ in real size.

• Cut mean absolute error 13% (54.48 to 47.52 kcal) on Google’s Nutrition5K over an RGB-only ResNet18 baseline through a hypothesis-driven ablation across pre-training and target transforms.

Sep 2025 to Dec 2025 3 Months

• Owned the sensing and estimation stack of a 3-person IoT project, instrumenting a racket with a 9-DoF IMU and two piezoelectric contact sensors sampled at 3.3 kHz on an Adafruit Feather M4 (CircuitPython).

• Implemented the Madgwick gradient-descent AHRS filter from scratch in NumPy (6-DoF and 9-DoF), fusing gyroscope, accelerometer, and magnetometer into a world-frame orientation quaternion.

• Reconstructed 3D swing trajectories from inertial data alone with no camera or external reference, containing double-integration drift through per-run calibration, zero-velocity updates (ZUPT), and motion gating.

• Classified ball impact position on the string bed in real time on-device, fusing amplitude ratio and time-of-arrival difference by weighted vote over Butterworth-filtered, fractional-peak arrival timing.

Oct 2025 to Nov 2025 1 Month

• Raised validation mIoU from 0.232 to 0.613 (a 164% improvement over a from-scratch baseline) by adding ImageNet pretraining, data augmentation, and auxiliary loss supervision to PSPNet on the CamVid dataset.

• Boosted bicyclist IoU by 39 points (0.239 to 0.628) through the Pyramid Pooling Module and auxiliary loss, directly improving detection of a safety-critical road user class most prone to collision risk.

• Diagnosed systematic failure on thin-structure classes (signs, poles) caused by aggressive downsampling, and proposed finer-resolution annotation strategies for driving perception pipelines.

San José State University
Bachelor's Degree Software Engineering
2019–2024 San Jose, California
Software Engineering Internship Junior
Infinite Option Internship
Jun 2023 to Aug 2023 2 Months San Jose In office
  • Built and shipped 20+ client-facing UI screens using React and Material UI within a 10-member Agile team.
  • Integrated RESTful APIs to replace static data rendering and contributed to backend endpoint development.
  • Delivered real-time UI updates without requiring per-release code changes.
JavaScript
Material UI
Rest API
React.js
Middle Backend Developer Confidence: High API Engineer
Senior backend engineer specializing in production MLOps and API-driven model deployment with strong practical experience in training/serving pipelines. The most proven skill is building an end-to-end ML pipeline with Prefect and MLflow (flows/training_flow.py and src/train.py) including validation gates, champion-challenger promotion and test coverage. Public code shows limited evidence of formal secret management, versioned API lifecycle, and large-scale caching or multi-service contract design.
API Design
5/10
How well APIs are designed
API design is pragmatic and well-tested (image inference endpoint with content-type and corrupt-image checks) but lacks formal versioning, API lifecycle policies, or advanced patterns like global idempotency for server endpoints.
Evidence
PSPNet-mlops/app/main.py: FastAPI app with predict endpoint, lifespan and explicit image validation
PSPNet-mlops/tests/test_main.py: tests for content-type rejection, corrupt image handling and Prometheus metrics
Data Layer & Database
5/10
Working with databases
Data-layer work shows practical transactional thinking and Firestore batching/transactions, plus MLflow model registry usage; no multi-step migration history or explicit low-level DB tuning is present.
Evidence
pantry/functions/index.js: updateDenormalizedUserData uses batched updates and collectionGroup queries; assignABGroup uses db.runTransaction
PSPNet-mlops/app/model_loader.py: MLflow model registry interactions and fallback-to-checkpoint logic
Scalability & Performance
5/10
Handling load and speed
There are concrete scalability and performance artifacts (load-test, async HTTP client tuning, Prefect task timeouts, Prometheus instrumentation), but no documented large-scale cache-invalidation strategy or measured optimization case-studies.
Evidence
PSPNet-mlops/scripts/load_test.py: async load test using httpx with concurrency limits and semaphore
PSPNet-mlops/flows/training_flow.py: Prefect tasks with retries and train_model_task timeout_seconds and integration with Instrumentator/Prometheus in app/main.py
System Architecture
5/10
Overall system structure
Clear modular architecture for MLOps pipeline and separation of concerns (flows, model code, serving, scripts); design choices like validation gate and champion-challenger are deliberate but the system is single-repo and not a multi-service microservice decomposition with explicit inter-service contracts.
Evidence
PSPNet-mlops/flows/training_flow.py: end-to-end Prefect flow wiring load->train->evaluate->register->promote with validation gate
PSPNet-mlops/src/train.py: standalone training runner and consistent checkpointing/logging to MLflow
Security & Auth
4/10
Protecting data and access
Good boundary hygiene in places (auth checks in cloud functions, input validation for uploads) but no evidence of token lifecycle management, secrets rotation, dependency vulnerability auditing, or advanced threat mitigations.
Evidence
pantry/functions/index.js: onCall handler enforces request.auth and functions check auth before sensitive ops
PSPNet-mlops/app/main.py: rejects non-image content types and handles UnidentifiedImageError
Reliability & Observability
5/10
Stability and monitoring
Reliability and observability are well covered: tests for validation gates, champion-challenger, Prometheus metrics, retries and timeouts are present; graceful shutdown and circuit-breaker patterns are not prominent.
Evidence
PSPNet-mlops/tests/test_champion_challenger.py: tests covering promotion and metric-missing failure modes
PSPNet-mlops/app/main.py: Instrumentator usage and Histogram exposure for inference durations
Expertise
Backend AI & LLM• Middle
Python• Middle
Microservices & API Architecture• Middle
Node.js• Middle
Industries
Food & Beverages• Middle
Transportation & Logistics• Middle
Technologies
Python• Middle • 7y+ • 3 projects
SQLAlchemy
FastAPI• 7y+ • 3 projects
Celery
Pydantic
Uvicorn
Alembic
Recommendations
  • Implement and own end-to-end MLOps pipelines, model registry promotion and CI/CD for production inference (training_flow.py, model_loader.py).
  • Develop and maintain REST/HTTP inference services and load-tested deployments with observability (app/main.py, scripts/load_test.py).
  • Build server-side features for mobile/backends including cloud functions, batched DB updates and transactional flows (pantry/functions/index.js).
  • Iterate on reliability practices: add secrets management, documented API versioning, and measured performance tuning with benchmarks and cache strategies.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Frontend Developer Confidence: High Fullstack
Fullstack frontend engineer (senior-level) with a strength in building reliable browser-extension UIs and complementary small Node services. The strongest proven skill is delivering a polished, recoverable browser-extension UX and mapping pipeline tied to an AI backend, as evidenced by the extension's popup.js, content.js, and server/server.js mapping/generate endpoints. There is limited public evidence of formal test coverage for the human-authored server/extension code and little sign of large-scale performance benchmarking or a shared component design system.
UI Component Architecture
4/10
How interface parts are built
Modular DOM-based UI with clear separation of mapping, rendering and edit flows in the extension popup, but no evidence of a custom design-system or component library; component boundaries are pragmatic and focused on reusability within the popup.
Evidence
fast-apply-extension/extension/popup.js:mapAndRender / renderFields / buildCard / enterEditMode - modular rendering and editing flow
fast-apply-extension/extension/popup.html:popup UI and CSS - consistent, reusable card and button styles
Responsive & Cross-browser
4/10
Works on all screens and browsers
Explicit feature detection and graceful fallbacks for multiple hosting contexts and dynamic forms; limited evidence of advanced responsive strategies (fluid typography, container queries) or RTL/i18n support.
Evidence
fast-apply-extension/extension/content.js:detectATS / runFrameMode / runHostMode - host/iframe detection and fallbacks
fast-apply-extension/extension/popup.html:focus styles and fixed-size popup layout with focus-visible behavior
Performance Optimization
4/10
Speed of the interface
Practical performance-minded choices such as MutationObserver for dynamic form detection, caching parallel fetches, and limited retry logic; no measured perf artifacts or bundle-level optimization evidence.
Evidence
fast-apply-extension/extension/content.js:extractAndSend uses MutationObserver with timeout to avoid heavy polling
fast-apply-extension/extension/popup.js:parallel apiFetch('/profile') and apiFetch('/answers') and caching (cachedProfile/cachedAnswers)
Accessibility & Semantics
5/10
Usable for everyone
Thoughtful accessibility and semantics in extraction logic (respects labels and aria-labelledby) and use of native button elements; extension UI shows focus styles and keyboard-accessible controls, though formal a11y testing is not shown.
Evidence
fast-apply-extension/extension/content.js:resolveLabel checks label[for], wrapping label, and aria-labelledby
fast-apply-extension/extension/popup.html:buttons and :focus rules; popup.js uses <button> for actions (buildCopyBtn) ensuring keyboard access
State Management & Data Flow
5/10
Managing data in the app
Clear client-server data flow with validated endpoints, atomic file writes and localhost guards; state caching and recovery flows in the extension handle edge cases, but there is limited evidence of formal state machines or end-to-end test coverage in the human-authored files.
Evidence
fast-apply-extension/server/server.js:answersFile input validation, requireLocalhost, atomicWrite for file updates
fast-apply-extension/extension/popup.js:getTabStateWithRecovery with reinjection and recovery logic to handle a dead content script
UX & Visual Polish
6/10
Look and feel quality
Well-considered UX states across many flows: offline indicator and auto-retry, no-match / generating / generated / save flows, inline edit with save/discard; polish and microcopy show attention to perceived performance and recoverability.
Evidence
fast-apply-extension/extension/popup.js:showServerOffline / pingInterval auto-recovery and showMapLoading / clearMapLoading
fast-apply-extension/extension/popup.js:appendNoMatchState / triggerGeneration / appendGeneratedState / appendSavePrompt - full UX for generation flow
Expertise
Browser Extensions Development• Middle
Frontend AI Integration• Middle
React• Middle
Industries
Food & Beverages• Middle
Internet Services• Middle
Technologies
JavaScript• Junior • 3y+
Node JS• Middle
Express
React.js• 3y+ • 3 projects
ESLint
Recommendations
  • Develop browser extensions that integrate LLMs for data mapping and assistive UI (build the extension UI + mapping server flows).
  • Implement real-time features and push notifications for mobile/web apps using Firebase Cloud Functions and client services (work on notificationService and Firestore-triggered jobs).
  • Own small fullstack features that require careful edge-state handling and recovery (offline UX, idempotent requests, atomic writes).
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Mobile Developer Confidence: High Android Engineer
Android engineer (mid-level) focusing on Kotlin + Jetpack Compose mobile apps with solid device integration and offline-first app design. The strongest proven skill is building production-feel Android features such as CameraX capture, runtime permissions, AlarmManager/WorkManager scheduling and Compose UIs, evidenced by CameraScreen.kt, MainActivity.kt and PillInformationCardBase.kt. Public code does not show CI/CD pipelines, release automation, measured performance baselines or advanced multi-device sync conflict resolution.
Platform Native Mastery
5/10
Knowing the mobile platform
Solid Android platform knowledge with correct runtime permission handling, AlarmManager/WorkManager usage, ViewModel + coroutine patterns and DataStore usage, but no deep system-level fixes for process-death, state restoration, or advanced lifecycle corner-case handling.
Evidence
PillReminder/app/src/main/java/com/example/pillreminder/MainActivity.kt:requestNotificationPermission, createNotificationChannel, scheduling reminders in LaunchedEffect
PillReminder/app/src/main/java/com/example/pillreminder/screen/CameraScreen.kt:CameraPermissionHandler and camera permission flow
PillReminder/app/src/main/java/com/example/pillreminder/model/reminder/BootReceiver.kt:WorkManager-based reschedule logic
Mobile UI/UX & Responsiveness
6/10
Smooth mobile experience
Strong Compose-based UI work with adaptive layout decisions, Material3 usage, accessibility semantics and lazy lists; demonstrates practical responsive design choices rather than only template screens.
Evidence
PillReminder/app/src/main/java/com/example/pillreminder/card/PillInformationCardBase.kt:DaySelector with FlowRow and dynamic chip sizing
PillReminder/app/src/main/java/com/example/pillreminder/card/CalendarComponent.kt:BoxWithConstraints and LazyRow adaptive date picker
dailytracker_app/app/src/main/java/com/example/dailytracker/ui/home/HomeScreen.kt:TileMap layout, testTags and accessibility semantics
Performance & Battery
4/10
Speed and battery use
Good use of lazy lists, derivedStateOf, stateIn and SharingStarted, and reasonable battery-aware choices for alarms, but no measured profiling data or before/after performance numbers and limited explicit memory/jank fixes.
Evidence
PillReminder/app/src/main/java/com/example/pillreminder/screen/PillsScreen.kt:derivedStateOf for filteredSorted
dailytracker_app/app/src/main/java/com/example/dailytracker/ui/home/HomeScreen.kt:use of LazyColumn/LazyRow and testTags
PillReminder/app/src/main/java/com/example/pillreminder/MainActivity.kt:exact alarm permission check before scheduling exact alarms
Offline & Data Sync
5/10
Working offline and syncing
Offline-first local-first architecture is present with repository and Room/DB wiring plus backup/export paths, but there is no visible complex conflict resolution or multi-device sync engine with idempotent retries.
Evidence
dailytracker_app/app/src/main/java/com/example/dailytracker/di/DatabaseModule.kt:Room database wiring and MIGRATION_1_2 import
dailytracker_app/app/src/main/java/com/example/dailytracker/data/repository (RepositoryModule.kt referenced):Repository pattern and dependency bindings
dailytracker_app/app/src/main/java/com/example/dailytracker/ui/profile/ProfileViewModel.kt:BackupManager usage for export/import flows
Device Integration
6/10
Using device features
Real device integrations implemented: CameraX capture with permission handling, Alarm/Notification flows including exact alarm checks and BroadcastReceiver handling; these are implemented with correct modern APIs and some edge-case handling.
Evidence
PillReminder/app/src/main/java/com/example/pillreminder/screen/CameraScreen.kt:ImageCapture usage and camera permission launcher
PillReminder/app/src/main/java/com/example/pillreminder/Model/reminder/ReminderBroadcastReceiver.kt:notification building and Settings redirect handling
PillReminder/app/src/main/java/com/example/pillreminder/MainActivity.kt:exact alarm permission check and correct PendingIntent flags
Release & App Lifecycle
2/10
Building and publishing apps
Basic release and lifecycle artifacts exist (Gradle files, unit tests), but there is no evidence of CI/CD, fastlane/Bitrise, ProGuard/R8 tuning, staged rollouts or integrated crash triage in public code.
Evidence
FractionCalculator/build.gradle and app/build.gradle:standard Gradle configuration
dailytracker_app/app/src/test and app/src/androidTest:unit and instrumented tests (JUnit)
PillReminder/app/src/androidTest and app/src/test:example test files
Expertise
Android• Middle
Industries
Health Care• Middle
Lifestyle• Middle
Technologies
Android
Java• Middle • 6y+ • 4 projects
Kotlin• Middle • 6y+ • 3 projects
JUnit
Jetpack Compose
Android SDK
Hilt
Room
Kotlin Coroutines
Firebase
StateFlow
Navigation Component
Kotlin Flow
Adaptive UI
WorkManager
DataStore
CameraX
ViewModel
Material3
Recommendations
  • Lead development of consumer Android features that require device integration - camera capture, notifications, alarms and permission flows.
  • Implement offline-first single-device experiences and local-first data flows with Room/DataStore and repository patterns.
  • Contribute to feature teams adding Compose UI screens with adaptive layouts and accessibility in Kotlin codebases.
  • Help implement WorkManager-based background jobs and boot-resume scheduling for small-to-medium lifecycle-sensitive features.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: