Overview
Technical skills
Timeline
Roles

Overview

LLM-focused engineer (mid-level) building production-oriented RAG and semantic search prototypes using vector stores and embedding models. The strongest proven skill is engineering end-to-end retrieval pipelines and serving layers, demonstrated by the Streamlit FAISS index builder and search logic in semantic-meme-finder/app.py and the Qdrant upsert/retrieval code in YoutubeWise/vector_store.py. There is little to no evidence of custom model training, experiment tracking, large-scale deployment automation, or formal security/hardening practices in public code.

Technical skills

SQL
JavaScript• Middle
Python• Middle
Python
Requests
Pydantic
FastAPI
Databases
FAISS
Milvus
PostgreSQL
Qdrant
AI/ML
Embeddings
Fine-tuning
Gemini
Gemma
LLM
LM Studio
OpenCV
Prompt Engineering
Streamlit
Groq
Pillow
NumPy
Sentence-Transformers
RAG
Semantic Search
DevOps
Docker
Git
Vector
Rest API

Timeline

AI/ML Engineer Middle
Legisys B.V. Full-Time
Feb 2026 to Present 6 Months In office
Built an automated scraping pipeline to collect thousands of Dutch legal documents from restricted sources, reducing manual collection effort. Validated training data quality by cross-checking legal case details against reference case numbers. Worked on production features including an internal dashboard and a RAG pipeline for semantic search over EUR-Lex legal documents. Developed a FastAPI-based full-stack semantic search app for image retrieval and LLM-driven image description generation.
Python
FastAPI
RAG
Semantic Search
Rest API
AI/ML Intern Junior
Legisys B.V. Internship
In office
Onboarded to the production codebase during a short internship period and supported production development on model and service components. Gained hands-on experience with FastAPI-based service routes and the project’s model repository workflow.
FastAPI
Middle AI/ML Engineer Confidence: Medium LLM Engineer
LLM-focused engineer (mid-level) building production-oriented RAG and semantic search prototypes using vector stores and embedding models. The strongest proven skill is engineering end-to-end retrieval pipelines and serving layers, demonstrated by the Streamlit FAISS index builder and search logic in semantic-meme-finder/app.py and the Qdrant upsert/retrieval code in YoutubeWise/vector_store.py. There is little to no evidence of custom model training, experiment tracking, large-scale deployment automation, or formal security/hardening practices in public code.
Model Architecture & Training
2/10
How well models are designed and trained
Uses off-the-shelf embedding models and heuristic text weighting for embeddings; no custom architectures or training loops.
Evidence
MemeRAG/main.py: embed_model = SentenceTransformer("jinaai/jina-embeddings-v5-text-small-retrieval", trust_remote_code=True)
semantic-meme-finder/app.py: build_text function repeats category/emotion/keywords to bias embedding input
Data Pipeline & Feature Engineering
4/10
How data is prepared for models
Solid ingestion and preprocessing pipelines including image loading, duplicate detection, transcript extraction, chunking and index persistence.
Evidence
semantic-meme-finder/app.py: load_images, is_duplicate, build_index saves faiss and meme_meta.pkl
YoutubeWise/fetcher.py: extract_video_id and get_transcript with explicit error handling for transcript failures
YoutubeWise/vector_store.py: upsert_chunks builds PointStruct payloads for Qdrant
Experimentation & Evaluation
1/10
How results are measured and tested
Minimal experimentation tooling or reproducible experiment tracking; basic caching and local persistence only.
Evidence
semantic-meme-finder/app.py: use of st.cache_resource and saving index/metadata to disk (faiss.write_index, pickle.dump)
MLOps & Deployment
3/10
How models are shipped to production
Basic serving and MLOps primitives present - FastAPI and Streamlit apps, vector DB creation and client code - but no deployment automation, monitoring, or model versioning.
Evidence
MemeRAG/main.py: FastAPI endpoints for /search, /browse and /add-meme and mounting StaticFiles
YoutubeWise/vector_store.py: get_client and create_collection functions for Qdrant
Computational Efficiency
3/10
How efficiently computing resources are used
Reasonable use of efficient libraries (FAISS, vector normalization) and index caching; no GPU/quantization or profiling work.
Evidence
semantic-meme-finder/app.py: faiss.normalize_L2, IndexFlatIP and saving the FAISS index
semantic-meme-finder/app.py: caching with st.cache_resource to avoid rebuilding index each session
Research Depth & Innovation
1/10
Depth of research and new ideas
No evidence of novel research, custom layers, reproduced papers or advanced algorithmic innovation.
Evidence
Project files: usage of hosted LLMs and off-the-shelf embedding models without custom architecture or paper-implementation code
Expertise
RAG• Middle
LLM• Middle
Conversational AI & Chatbots• Middle
Technologies
Python• Middle
SQL
PostgreSQL
Milvus
OpenCV
FAISS
Qdrant
Groq
Sentence-Transformers
FastAPI
Gemma
Fine-tuning
Embeddings
Prompt Engineering
LM Studio
NumPy
Git
Docker
Gemini
LLM
RAG
Streamlit
Pydantic
Requests
Pillow
Semantic Search
RAG• mentioned only
Semantic Search• mentioned only
Recommendations
  • Develop small-to-medium RAG-powered products and prototypes that require embedding pipelines, vector DB integration and lightweight serving (Streamlit, FastAPI, Qdrant/FAISS).
  • Build production-grade retrieval services with proper CI/CD, monitoring, and deployment automation for vector stores and FastAPI endpoints.
  • Improve ML engineering maturity by adding experiment tracking, versioned model artifacts, structured evaluation metrics and reproducible pipelines.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Backend Developer Confidence: Medium API Engineer
Backend developer (middle level) focused on building AI-backed REST services and prototype search pipelines with practical embedding and vector-index usage. The strongest proven skill is building end-to-end semantic search and embedding pipelines, as shown by the FAISS/Chroma index persistence and the FastAPI/Streamlit search endpoints. There is little evidence of production-grade security, formal API versioning, or multi-service distributed system design in public code.
API Design
3/10
How well APIs are designed
Basic REST endpoints and input validation exist but no versioning, no pagination, no idempotency or formal error contract; API surface is simple and mostly CRUD-like.
Data Layer & Database
4/10
Working with databases
Demonstrates practical use of vector stores and FAISS index files with metadata and embedding persistence, but lacks migrations, transactional controls, or advanced integrity handling.
Scalability & Performance
4/10
Handling load and speed
Shows awareness of performance concerns via caching, index persistence, and basic retry/backoff for rate limits, but lacks production-grade connection pooling, distributed caching, or documented load strategies.
System Architecture
3/10
Overall system structure
Clear single-service structure and separation between UI and backend, but no evidence of multi-service design, service contracts, graceful degradation, or advanced config/secret management.
Security & Auth
2/10
Protecting data and access
Minimal security hygiene; API keys are hardcoded in client-side code and CORS is wide open, with no authentication, rate-limiting enforcement, or secrets management evident.
Reliability & Observability
3/10
Stability and monitoring
Some pragmatic reliability patterns exist (simple retries, error handling, logging to console), but there is no structured observability, health checks, timeouts everywhere, or production-ready resilience constructs.
Expertise
Backend AI & LLM• Middle
Databases & Vector Storage• Middle
Technologies
Rest API
Vector
Recommendations
  • Develop small-to-medium REST services that integrate embeddings and vector search (search endpoints, indexing pipelines, upload flows).
  • Build AI integration prototypes that require embedding generation, vector DB storage, and simple query boosting or reranking logic.
  • Implement browser automation utilities or extensions that interact with web pages and a backend LLM service for PoC features.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Frontend Developer Confidence: Medium UI Engineer
Frontend developer focused on browser extensions and interactive landing pages at a middle level with practical end-to-end implementation experience. The strongest proven skill is building a working Chrome extension messaging flow and DOM automation as implemented across background.js, contentscript.js and popup.js. There is limited evidence of testing, accessibility engineering, build or performance measurement, and secret management best practices in public code.
UI Component Architecture
2/10
How interface parts are built
Minimal componentization; plain DOM-driven UI with a few reusable functions but no deliberate component boundaries or design-system work.
Evidence
AutoCommentor/popup.js: functions getCommentFromGemini and insertCommentIntoField implementing popup logic
AutoCommentor/popup.html: single-file UI with inline styles rather than componentized structure
AutoCommentor/contentscript.js: fetchPostDescription as a small DOM helper function
Responsive & Cross-browser
2/10
Works on all screens and browsers
Basic responsive scaffolding only; viewport meta and some fluid sizing present but no cross-browser feature detection, RTL support, or progressive enhancement.
Evidence
DynamicLanding-Animations/index.html: meta viewport present
DynamicLanding-Animations/style.css: use of vw for font-size and basic layout rules
Suzzana-Zumple-s-ModernPinterest-UI-/style.css: fixed layout divisions and background-size cover usage
Performance Optimization
1/10
Speed of the interface
No measured performance work or build-level optimizations; animations use GSAP but no evidence of performance measurement or list virtualization or code-splitting.
Evidence
DynamicLanding-Animations/script.js: gsap.to animations used without performance metrics
popup.js: single bundle fetch usage with no code-splitting or lazy-loading patterns
Accessibility & Semantics
1/10
Usable for everyone
Little to no accessibility work: semantic markup is basic but no ARIA, focus management, keyboard handling, or automated a11y checks are present.
Evidence
AutoCommentor/popup.html: basic form controls present but no ARIA attributes or focus management
Suzzana-Zumple-s-ModernPinterest-UI-/index.html: visual layout without accessible landmarks or roles
State Management & Data Flow
3/10
Managing data in the app
Reasonable async/data flow for a browser extension using message passing and a background store variable, but no advanced server-state discipline, cancellations, optimistic updates, or state machines.
Evidence
AutoCommentor/background.js: chrome.runtime.onMessage listener and lastDescription state
AutoCommentor/popup.js: chrome.runtime.sendMessage and chrome.scripting.executeScript usage to coordinate UI and content scripts
AutoCommentor/contentscript.js: fetchPostDescription sending POST_DESCRIPTION back to background
UX & Visual Polish
3/10
Look and feel quality
Good visual polish on static landing pages with GSAP animations and attractive styling, but UX improvements are surface-level and lack robust edge-state handling or undo patterns.
Evidence
DynamicLanding-Animations/style.css and script.js: coordinated GSAP-driven visual presentation
AutoCommentor/popup.html and popup.js: clear popup UX with status log but basic error messaging only
Expertise
Browser Extensions Development• Middle
HTML & CSS• Middle
Technologies
JavaScript• Middle
GSAP• mentioned only
Recommendations
  • Develop and run unit or integration tests for extension messaging and popup UI to increase reliability and demonstrate testing discipline.
  • Remove hardcoded secrets and implement secure key handling, for example using runtime-stored secrets or an external backend to sign requests.
  • Add accessibility improvements and keyboard/focus handling for the popup and custom DOM interactions and include automated a11y checks in CI.
  • Introduce basic performance and observability work such as bundle analysis, simple RUM timings or Lighthouse audits and document before/after improvements.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: