Portfolio & Projects
Real-world builds across Generative AI, Machine Learning, and shipped products
Generative AI
LLM applications, RAG systems, and AI-powered tools built with Claude, OpenAI, and Deepgram
Pass the Mic: AI Recording Studio
Pass the Mic is a voice-to-text app built for creators who think out loud. Whether you're freestyling bars, recording a podcast, or dictating a book chapter, hit record and get a clean transcript instantly. Switch between Lyrics, Podcast, and Book modes for a tailored experience. Podcast mode includes speaker diarization, guest name mapping, episode metadata, and transcript export. Book mode supports chapter metadata for publish-ready output. All sessions are saved to Google Drive - no database needed.
The Challenge
Writers and performers often freestyle or workshop lyrics out loud but lose their best lines. Podcasters need speaker-labeled transcripts for show notes and SEO. Authors need a fast way to convert spoken words into publish-ready text.
The Solution
Built a multi-mode recording studio powered by Deepgram's Nova-3 model with smart formatting, speaker diarization, Google Drive storage, and video support with automatic audio extraction.
Key Features & Results
- Deepgram Nova-3 speech-to-text integration
- 3 modes: Lyrics, Podcast, and Book
- Speaker diarization with guest name mapping
- Google Drive storage with OAuth sign-in
- Video support - MP4, MOV, AVI, MKV
- Audio trimming and transcript export
AI Website With Integrated Chatbot
A complete website with an AI-powered chatbot widget - just like the ones on real company websites. When a visitor clicks the chat icon, they get instant AI-powered responses. The chatbot uses RAG (Retrieval-Augmented Generation) to read from your own text documents so it can answer questions about YOUR specific content. Includes a marketing site with navigation, hero section, features, and footer, plus a floating chat widget with conversation memory so the AI remembers context throughout the chat.
The Challenge
Businesses need intelligent chatbots that understand their specific products and services, not generic AI responses.
The Solution
Built a full-stack web application with an embedded AI chatbot powered by OpenAI, using RAG to ground responses in the business's own content, with conversation memory for natural multi-turn interactions.
Key Features & Results
- Full marketing website with nav, hero, features, footer
- Floating chat widget with open/close toggle
- OpenAI-powered intelligent responses
- RAG - chatbot reads from your own documents
- Conversation memory across the chat session
AI Job Search System
No recruiter. No network. No problem. Five peer skills, each mapped to one job-to-be-done: discover open roles from Greenhouse/Lever/Ashby APIs, apply with stage-adaptive tailored resume and cover letter PDFs, generate interview prep briefs with STAR story mappings, review your pipeline with stale flags and pacing checks, and a deliberate submit stub that keeps submission human-only. The system reads from a single knowledge/ directory (your profile, master resume, story bank, target companies) so anyone can fork it and make it theirs. Role-agnostic - works for AI Engineer, Product Manager, UX Designer, Cybersecurity Analyst, or anything else.
The Challenge
Job searching is a repetitive, high-effort process scattered across dozens of tabs. Every application needs a tailored resume, custom cover letter, and interview prep - and most people either use a generic resume or burn out customizing each one.
The Solution
Built a 5-skill Claude Code system with direct ATS polling, stage-adaptive resume positioning (early/growth/enterprise variants per bullet), STAR story bank discipline (flags gaps instead of inventing stories), Chrome headless PDF rendering with zero dependencies, and a forkable knowledge/ directory that separates user data from skill logic.
Key Features & Results
- 5 specialized Claude Code skills
- Direct Greenhouse/Lever/Ashby API polling
- Stage-adaptive resume tailoring
- Grade-A PDF resume + cover letter generation
- STAR story bank with honest gap flagging
- Pipeline tracker with stale detection
- Role-agnostic - any job title works
- Zero Python dependencies - stdlib only
Machine Learning
Classical ML across recommendation systems, classification, clustering, and predictive modeling
Amazon Product Recommendation System
Built and compared three recommendation approaches on a 65,000-record subset of Amazon's electronics ratings dataset (sourced from a 7.8M-record Kaggle dataset). The rank-based model handles cold-start users with no history. KNN collaborative filtering (user-user and item-item) personalizes recommendations based on similar users and products. SVD matrix factorization performs best on sparse interaction data by learning latent factors. All models evaluated with RMSE, Precision@k, Recall@k, and F1@k using scikit-surprise.
The Challenge
Amazon's catalog contains millions of products. Cold-start users have no history, while active users need personalization that scales across sparse rating data. No single algorithm handles both cases well.
The Solution
Built a three-model pipeline: rank-based baseline for cold-start, KNN collaborative filtering for personalized recommendations, and SVD matrix factorization for sparse-data performance. Used scikit-surprise for model training and evaluation across RMSE, Precision@k, Recall@k, and F1@k.
Key Features & Results
- Rank-based popularity model for cold-start users
- KNN collaborative filtering (user-user and item-item)
- SVD matrix factorization, best performance on sparse data
- Evaluated with RMSE, Precision@k, Recall@k, F1@k
- Built on 65K-record subset of 7.8M Amazon electronics ratings
- Powered by scikit-surprise
Customer Personality Segmentation
Applied K-Means clustering on 2,240 customer records spanning 30 attributes: demographics, spending across 6 product categories, and purchase channel preferences (web, catalog, in-store). Used the elbow method to determine optimal k=4 and silhouette analysis to validate cluster quality. Each of the 4 segments has a distinct behavioral profile: High-Value Enthusiasts (premium spenders, catalog/store preference), Deal-Seeking Families (household focus, discount-driven), Opportunity Segment (web-active but low conversion), and Balanced Shoppers (mid-income, omnichannel). Key insight: income strongly drives spending, but web traffic alone doesn't predict conversion.
The Challenge
Marketing teams broadcast the same message to every customer, leaving segment-specific opportunities on the table. Without behavioral groupings, personalization is guesswork.
The Solution
K-Means clustering with elbow method for optimal K and silhouette analysis for cluster validation. Profiled each cluster across income, spend habits, family structure, and channel preference to generate actionable segment descriptions.
Key Features & Results
- K-Means clustering with elbow method (optimal k=4)
- Silhouette analysis for cluster quality validation
- 4 named segments with distinct behavioral profiles
- High-Value Enthusiasts: premium spenders, catalog/store preference
- Deal-Seeking Families: household focus, discount-driven
- Opportunity Segment: web-active, low conversion rate
- Balanced Shoppers: mid-income, omnichannel buyers
Potential Customers Prediction
Binary classification pipeline on 4,612 leads from ExtraaLearn (an ed-tech platform) with a 29.9% conversion rate. Compared Decision Tree baseline against a tuned Random Forest with class weighting to handle the imbalance. Optimized for recall to minimize missed conversions rather than false positives. Final model: 83% accuracy, 85% recall, F1 of 0.76. Feature importance analysis revealed that time spent on the website (0.301), first interaction source (0.281), and profile completion (0.200) are the top three conversion drivers. Referral leads convert at 67.7%, website first-touch at 45.6%.
The Challenge
Ed-tech sales teams waste budget chasing low-probability leads. With only 30% of leads converting and class imbalance in the data, a naive model would simply predict non-conversion every time.
The Solution
Decision Tree baseline compared against a tuned Random Forest with class weighting ({0: 0.3, 1: 0.7}) and GridSearchCV hyperparameter optimization. Recall-optimized to prioritize finding real converters over minimizing false positives.
Key Features & Results
- Decision Tree baseline + tuned Random Forest with GridSearchCV
- Class weighting to handle 29.9% conversion rate imbalance
- 83% accuracy, 85% recall, F1 score of 0.76
- Top signal: time on website (importance: 0.301)
- First interaction source: 0.281 importance
- Referral leads convert at 67.7% vs. website at 45.6%
Travel Experience Prediction
Hackathon project predicting passenger satisfaction (satisfied / not satisfied) on Japan's Shinkansen bullet train network using 94,379 training records and 25 features including demographics, trip details, and 14 ordinal service ratings. Progressed from Decision Tree and Random Forest baselines to an ensemble of gradient boosting models (XGBoost, LightGBM, CatBoost) combined via a soft-vote VotingClassifier. CatBoost final model hit 95.69% leaderboard accuracy, good for 2nd place. Feature importance analysis found onboard entertainment (50.2%) and seat comfort (20%) as the top satisfaction drivers. Punctuality had minimal impact on satisfaction.
The Challenge
Predicting subjective satisfaction from service rating data requires a model that captures non-linear relationships across 14 ordinal features. Simpler models plateau quickly on this type of data.
The Solution
Gradient boosting ensemble: XGBoost, LightGBM, and CatBoost individually tuned with GridSearchCV, then combined into a soft-vote VotingClassifier. CatBoost (depth=8, 10,000 iterations, lr=0.01) achieved the best standalone performance at 95.69% accuracy.
Key Features & Results
- 2nd place hackathon finish, 95.69% leaderboard accuracy
- Gradient boosting ensemble: XGBoost + LightGBM + CatBoost
- Soft-vote VotingClassifier combining all three models
- GridSearchCV hyperparameter tuning per model
- 94,379 training records, 25 features
- Top driver: Onboard Entertainment (50.2% feature importance)
- Seat Comfort second at 20%, punctuality had minimal impact
Products
Shipped products live in the real world with real users
Amiellevia: Global Lesbian Social App
Amiellevia is the all-in-one platform built by and for lesbian and queer women. Instead of juggling separate apps for dating, making friends, finding events, and connecting with community, everything lives in one place. AI-powered compatibility matching goes beyond photos to find meaningful connections. Users can join or create communities by city, interest, or identity, discover and host events with built-in ticketing and QR check-in, and message anyone directly. Live on the App Store and Google Play since December 2025.
The Challenge
Lesbian and queer women are forced to use mainstream apps that weren't designed for them, scattered across multiple platforms for dating, friendship, events, and community. Moving to a new city or traveling means starting from scratch with no way to find your people.
The Solution
Built a five-pillar mobile platform -Dating Pool, Friend Zone, Communities, Events, and Direct Messaging -with AI-powered matching, paid event ticketing, community management tools, and virtual date scheduling, all in a safe, moderated space.
Key Features & Results
- AI-powered compatibility matching beyond photos
- 5 pillars: Dating, Friends, Communities, Events, Messaging
- Join or create communities by city, interest, or identity
- Host events with paid ticketing and QR code check-in
- Virtual date scheduling with video call integration
- Live on iOS App Store and Google Play
More Projects
Additional work, experiments, and builds
Your First AI Claude Workflow
A skill system that turns repeatable processes into one-line slash commands using Claude Code Skills and markdown files.
AI Personal Portfolio Builder
A ready-to-deploy portfolio template with an OpenAI RAG chat widget and 4 Claude Code skills for generating bios, copy, and social profiles.
Want Me to Build Something For You?
Websites, apps, logos, branding - let's bring your vision to life