Final project: React generator chatbot
Challenge
For this project, I had to create a chatbot. I built an AI-powered React component generation service that transforms text descriptions and UI mockup images into production-ready React code using OpenAI's GPT-4 and Vision models.
Key Features Implemented
- Smart Code Generation: Natural language to React/TypeScript components with Tailwind CSS styling by default.
- Image Analysis: Upload UI mockups and get corresponding React code using OpenAI Vision API.
- Contextual Learning: Vector similarity search via Pinecone database for relevant code examples.
- Interactive Chat Interface: Real-time conversation-based development workflow with session management.
- Automated Knowledge Base: Population from HuggingFace datasets and custom code snippets.
Technical Architecture
- Backend: Flask API with OpenAI integration, MongoDB for storage, Pinecone for vector search, Cloudinary for image processing.
- Frontend: React/TypeScript with Vite, featuring drag-drop image upload, real-time messaging, and code syntax highlighting.
- AI Pipeline: LangChain orchestration with LangSmith monitoring, custom prompt engineering for React best practices.
Special Features
Automatic detection of boilerplate requests redirects users to my custom CLI tool (@julseb-lib/julseb-cli), showcasing a complete AI-powered development ecosystem.
See the full project on Github.
Deep Learning: CIFAR-10 Image Classification
Project to classify images to certain categories, using CIFAR-10 dataset to train the model.
Challenge
For this project, I had to work on data preprocessing, CNN architecture, optimisation techniques, transfer learning, and model evaluation.
Preprocessing steps
After loading the data and plotting a matrix of 10 x 10 images, the data was preprocessed with:
- One-hot-encoding in order to transform categorical data into numerical format
- Normalization in order to scale the data between 0 - 1 so that any feature does not disproportionately influence the algorithm
- Data Augmentation in order to increase the diversity and size of a training dataset by creating modified copies of existing data. This is to help machine learning models generalize better and reduces overfitting.
Training Process Details
- All models compile using Adam optimizer, categorical loss entropy, and accuracy metrics. Each model modifies the learning rate to see how it effects the accuracy of the model.
- I used ReduceLROnPlateau to reduce the learning rate when validation loss plataeus
- I used early stopping to prevent overfitting by halting training when the model's performance on a validation set starts to decline.
See the full project on Github.
Automated Customer Review Analyzer
A Natural Language Processing project that reads, understands, and summarizes product reviews — so you don’t have to. This AI-powered tool classifies review sentiments, groups similar opinions, and generates short summaries to save users time and help businesses make smarter decisions.
Features
- Data Preprocessing: clean and prepare review text by removing noise, filtering, and tokenizing.
- Sentiment Classification: uses a fine-tuned RoBERTa model to classify reviews as Negative, Neutral, or Positive.
- Clustering: groups similar reviews using KMeans, then visualizes the clusters using PCA and t-SNE.
- Summarization: summarizes review clusters using BART and T5 models for quick insights.
- Interactive App: a simple Streamlit interface where you can input a review or product name and see:
- Sentiment prediction
- Summary of grouped reviews
- Cluster visualization
Models Used
cardiffnlp/twitter-roberta-base-sentiment – For sentiment classificationfacebook/bart-large-cnn – For review summarizationt5-small – Alternative summarization model for concise outputs
Results
- Classify reviews into Positive, Neutral, Negative
- Group similar reviews using clustering
- Generate short summaries for each group
- Visualize insights with PCA and t-SNE
- Simple, user-friendly interface via Streamlit
See the full project on Github.