CRM System
This CRM features campaign scheduling and offline data collection, built for teams working both online and in the field. Test out this app in read-only mode.
Skills Demonstrated:
- Django: Built views, models, forms, and user authentication for role-based access.
- Mailgun Integration: Automated email sending with support for custom templates.
- Heroku Scheduler: Triggers daily background tasks for email automation and campaign progression.
- Email Template & Scheduling System: Users can create reusable email templates and schedule sends based on birthdays, anniversaries (from the database), or custom dates.
- Offline-to-Database Flow: Built a pipeline to upload forms collected offline and parse them into the database.
- Client Intake System: Designed a detailed intake form with over 140 fields to capture comprehensive client data.
- Pagination & Filtering: Developed search and filter functionality for large client datasets.
- Bootstrap 5: Responsive UI for form pages, dashboards, and mobile views.
Challenges and Solutions:
- Challenge: Supporting offline data collection in the field.
- Solution: Built an upload system to parse structured offline form data into the database.
Groove Hub
Groove Hub is a real-time music-sharing app where users share YouTube videos, build collaborative playlists, create public or private rooms, and watch together in sync.
Skills Demonstrated:
- Flask: Designed custom logic for turn-based video queues, public and private room creation, moderation tools, and real-time state management.
- WebSockets: Built synchronized chat and video playback across rooms using Flask-SocketIO.
- Frontend-Backend Sync: Maintained consistent queue order and playback time across all users.
- Responsive UI Development: Created a mobile-friendly layout with tabbed chat/queue and embedded video.
- Client-Side Event Handling: Used JavaScript to handle video events (play, pause, end) and emit updates to the server in real time.
- Database Integration: Used SQLAlchemy to store user accounts, chat history, and video queues for persistence across sessions.
- Deployment & Debugging on Heroku: Deployed the full-stack app and resolved real-time sync and video playback errors.
Challenges and Solutions:
- Challenge: Preventing race conditions when multiple users added videos to the queue at the same time and keeping playback perfectly synced.
- Solution: Moved queue storage to the database with server-side ordering for consistency and used Flask-SocketIO events to broadcast state updates in real time.
Skills Demonstrated:
- Flask: Orchestrated image uploads, SSE streaming endpoints, and routing logic for real-time critique delivery.
- Replicate API: Integrated GPT-4o-mini for image captioning and persona-driven critique generation.
- ElevenLabs TTS: Implemented ElevenLabs streaming API to convert text critiques into lifelike audio.
- JavaScript & SSE: Consumed server-sent events to render streaming text and audio cues in the browser.
- Bootstrap & Responsive UI: Built a mobile-friendly interface with dynamic image previews, critique panels, and audio controls.
- Pillow (PIL): Validated and re-saved uploaded images to ensure consistent formats for downstream processing.
Challenge & Solution:
- Challenge: Ensuring synchronized streaming of text and audio over SSE without blocking the UI.
- Solution: Used non-blocking event loops in Flask and the Fetch API’s ReadableStream to interleave critique text and audio events seamlessly.
Certifications
- AWS Cloud Practitioner – Demonstrates foundational knowledge of AWS cloud concepts, services, and solutions.
Courses
- Python Data Structures & Algorithms – Essential data structures and algorithmic strategies in Python.
- Python OOP: Object-Oriented Programming in Python – Fundamentals and practical applications of OOP.
LeetCode
- 65+ Problems Solved – Practice across data structures, algorithms, and problem-solving.