{"items":[{"id":"6a9c92519d02b31d2e8b04c7","title":"PayTrace","slug":"paytrace","cover":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1788646691/portfolio/projects/file_ij4hu0.png","summary":"A mobile-first WhatsApp-first revenue CRM for small service businesses and freelancers, bringing leads, follow-ups, quotes, payments, reminders, and next actions into one structured customer workflow.","description":"PayTrace is a WhatsApp-first revenue CRM designed for small service businesses and freelancers that need more structure around informal customer conversations. It centralises the customer journey from lead capture and qualification through follow-up, quotation, payment, reconciliation, and completion while preserving human-controlled communication. Users can manage opportunities, schedule follow-ups, prepare WhatsApp outreach, create and track quotes, record payments, review revenue-focused dashboard information, and receive in-app and email reminders for important actions. The application was developed as a responsive, mobile-first CRM with clear status handling and English, French, and German localisation. Its MERN architecture includes secure cookie-based authentication, business-scoped data isolation, resilient notification delivery, automated client, server, and end-to-end testing, production environment validation, health and readiness endpoints, graceful shutdown handling, PM2 process management, and an Nginx reverse-proxy deployment topology.","tech":["MongoDB","Mongoose","Express.js","React","Node.js","Vite","JWT","Argon2id","Nodemailer","Vitest","Playwright","PM2","Nginx"],"featured":true,"repoUrl":null,"demoUrl":"https://paytrace.hmusenja.com/","start":null,"end":"2026-08-31T00:00:00.000Z","highlights":["Business-scoped lead and opportunity management with defined lifecycle states","Follow-up scheduling, reminders, and revenue-focused next-action tracking","Human-controlled WhatsApp message preparation and click-to-chat workflows","Quote creation, tracking, and quote-recovery workflows connected to opportunities","Payment tracking and reconciliation across the customer revenue lifecycle","Revenue and opportunity dashboard insights for prioritising customer activity","In-app and email reminders with atomic claiming, retries, and bounded delivery attempts","English, French, and German localisation with business-level language preferences","Secure cookie-based authentication with Argon2id, JWT access tokens, and rotating refresh tokens","Automated Vitest and Playwright validation with production readiness and deployment safeguards"],"images":[{"publicId":"portfolio/projects/file_ij4hu0","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1788646691/portfolio/projects/file_ij4hu0.png","w":1672,"h":941},{"publicId":"portfolio/projects/file_dyraqy","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1788647215/portfolio/projects/file_dyraqy.png","w":1423,"h":1380},{"publicId":"portfolio/projects/file_kbkya3","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1788647247/portfolio/projects/file_kbkya3.png","w":1423,"h":1191}],"collaborators":[],"bodyMD":"# PayTrace\n\nPayTrace is a WhatsApp-first revenue CRM created for small service businesses, freelancers, and owner-operated teams that manage customer relationships through messaging but need a more structured way to track commercial activity.\n\n## Problem\n\nSmall service businesses and freelancers often manage customer conversations through WhatsApp while tracking leads, quotations, follow-ups, and payments across disconnected tools or manual notes.\n\nThis makes it difficult to identify which opportunities require attention, maintain consistent follow-up, connect commercial activity to a customer relationship, and understand the current revenue state of the pipeline.\n\n## Solution\n\nPayTrace provides a single business-scoped CRM workflow around the way service businesses already communicate.\n\nIt structures the lead lifecycle, surfaces follow-ups and next actions, connects quotations and payments to opportunities, supports deliberate WhatsApp outreach, and provides dashboard visibility without replacing the human relationship between the business and its customers.\n\n## Key Features\n\n- Business-scoped lead and opportunity management\n- Lead lifecycle from new through won or lost\n- Follow-up scheduling and next-action tracking\n- Human-controlled WhatsApp message preparation and click-to-chat\n- Quote creation and tracking\n- Quote-recovery workflows\n- Payment tracking and reconciliation\n- Revenue and opportunity dashboard insights\n- In-app follow-up reminders\n- Email follow-up reminders\n- English, French, and German localisation\n- Business-level preferred language settings\n- Notification preference management\n- Responsive mobile-first CRM interface\n\n## Technical Highlights\n\n- React and Vite frontend\n- Express and Node.js API\n- MongoDB and Mongoose persistence\n- Argon2id password hashing\n- Short-lived JWT access tokens\n- Rotating refresh tokens stored as hashes\n- HttpOnly cookie-based authentication\n- Business-scoped data isolation\n- Nodemailer email delivery\n- Atomic notification claiming\n- Retry scheduling and bounded delivery attempts\n- Recoverable notification processing\n- Locale-aware UI and notification workflows\n- Vitest client and server testing\n- Playwright end-to-end testing\n- Dedicated liveness and MongoDB-aware readiness endpoints\n- Graceful shutdown handling\n- Production environment validation\n- PM2 process configuration\n- Nginx reverse-proxy deployment topology\n- Secret scanning as part of release validation\n\n## Engineering Challenges\n\nA central product challenge was designing a CRM around WhatsApp-led customer relationships without automating away the human-controlled communication workflow.\n\nThe application also needed strict business-level isolation across authentication, leads, opportunities, follow-ups, quotes, payments, and notifications.\n\nAnother engineering challenge was coordinating opportunity state, follow-up activity, quote recovery, payment state, and next-action logic into a coherent revenue workflow rather than treating each feature as an isolated CRUD module.\n\nReliable notification delivery required atomic claiming, retry scheduling, bounded attempts, recoverable processing, and production-safe failure handling.\n\nProduction preparation also required health and readiness checks, graceful shutdown behaviour, reverse-proxy configuration, environment validation, security checks, automated tests, and end-to-end release gates.\n\n## Outcome\n\nPayTrace delivers an integrated CRM workflow covering lead management, follow-ups, quotations, payments, reminders, and revenue visibility.\n\nThe application provides a responsive mobile-first interface for day-to-day customer management and supports English, French, and German across the core experience.\n\nThe project also establishes a production-oriented engineering foundation covering authentication, business-scoped data isolation, notification reliability, automated validation, runtime readiness, and deployment configuration.","order":0,"createdAt":"2026-09-05T22:06:09.599Z","updatedAt":"2026-09-05T22:30:57.850Z"},{"id":"6a65fd241973858aeff3da2a","title":"ClassConnect","slug":"classconnect","cover":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785069016/portfolio/projects/file_amxrg2.png","summary":"A private multi-community platform that helps alumni and former classmates manage profiles, share updates, organise events, and stay connected in a secure, branded digital community.","description":"ClassConnect is a full-stack community platform built for alumni groups, former classmates, and private member networks. Community owners can create dedicated spaces, configure community branding, invite members, manage access, and organise events. Approved members can maintain profiles, discover classmates, share posts, follow community activity, receive birthday recognition, and participate in events. Each community has its own URL-friendly slug, members, permissions, content, and theme configuration. The application combines a responsive React interface with a modular Express API, MongoDB persistence, secure authentication, Cloudinary media uploads, transactional email workflows, and Socket.IO-powered live updates. The project is deployed professionally on a VPS behind Nginx and is designed to support multiple independent communities without mixing their data or access rules.","tech":["React","Node.js","Express.js","MongoDB","Socket.IO","Tailwind CSS","Mongoose","React Router","Context API","Axios","JWT","Cloudinary","Multer","Nodemailer","Nginx"],"featured":true,"repoUrl":null,"demoUrl":"https://classconnect.hmusenja.com","start":"2026-03-26T00:00:00.000Z","end":null,"highlights":["Multi-community architecture with isolated members, content, events, permissions, and branding","Secure invitation-based onboarding with role-based access control","Private community feeds, member profiles, classmate discovery, and event workflows","Cloudinary-powered avatars, profile backgrounds, and community media uploads","Real-time community theme and interface updates using Socket.IO","Production-ready architecture with React, Express, MongoDB, HTTPS, Nginx, and GitHub Actions"],"images":[{"publicId":"portfolio/projects/file_amxrg2","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785069016/portfolio/projects/file_amxrg2.png","w":1672,"h":941},{"publicId":"portfolio/projects/file_wtj6wj","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785073941/portfolio/projects/file_wtj6wj.png","w":577,"h":1117},{"publicId":"portfolio/projects/file_jsu4nb","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785073938/portfolio/projects/file_jsu4nb.png","w":577,"h":1117},{"publicId":"portfolio/projects/file_wjjnbm","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785073939/portfolio/projects/file_wjjnbm.png","w":577,"h":1117},{"publicId":"portfolio/projects/file_f2lip0","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1785073940/portfolio/projects/file_f2lip0.png","w":577,"h":1117}],"collaborators":[{"name":"Humphrey Musenja","role":"Full-Stack Developer","url":"","linkedIn":""}],"bodyMD":"# ClassConnect\n\nClassConnect is a private digital community platform created for alumni groups, former classmates, and other membership-based communities.\n\n## Problem\n\nAlumni groups often depend on disconnected messaging applications, public social networks, spreadsheets, and manually maintained contact lists. These tools make it difficult to keep member information accurate, organise events, preserve group identity, manage access, and keep communication focused inside a trusted community.\n\n## Solution\n\nClassConnect gives every group its own private community with dedicated branding, members, content, events, permissions, and a URL-friendly community slug. Owners and administrators manage community access and activity, while approved members can maintain profiles, connect with classmates, publish updates, and participate in events.\n\n## Key Features\n\n- Multi-community architecture with community-scoped data\n- Community creation and configurable global theme colours\n- Invitation-based onboarding and membership approval\n- Role-based owner, administrator, and member access\n- Private community posts and activity feeds\n- Member profiles with avatars and profile backgrounds\n- Classmate directory and member discovery\n- Event creation, editing, ownership, and participation\n- Birthday recognition and community engagement\n- Cloud-based image and media uploads\n- Transactional invitation and account emails\n- Responsive mobile-first layouts\n\n## Technical Highlights\n\n- React and Vite frontend with Tailwind CSS\n- Context API and Axios for application state and API communication\n- Express and Node.js REST API\n- MongoDB and Mongoose data persistence\n- JWT authentication and protected routes\n- Cloudinary and Multer media upload pipeline\n- Socket.IO live interface updates\n- Server-side validation and centralised error handling\n- Nginx reverse proxy and VPS deployment\n- GitHub Actions-assisted deployment workflow\n\n## Engineering Challenges\n\nThe project required a reliable way to isolate members, events, posts, permissions, and branding across multiple communities. Invitation links and authentication flows also needed to preserve the correct community context. Another important challenge was applying community theme changes consistently across public and authenticated pages while supporting live updates for active users.\n\n## Outcome\n\nClassConnect provides a working foundation for private alumni and classmate communities. It centralises member profiles, posts, events, invitations, media, and administration inside one application while retaining a structure that can support continued interface refinement and future community features.","order":0,"createdAt":"2026-07-26T12:27:16.115Z","updatedAt":"2026-08-14T02:36:10.719Z"},{"id":"6a1d8b6581cbaabe6635f028","title":"Tr3ple CRM","slug":"tr3ple-crm","cover":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780396887/portfolio/projects/file_j2z5k5.png","summary":"A MERN-based luxury concierge CRM and reservation platform for managing inquiries, users, reservations, payments, and admin workflows.","description":"Tr3ple CRM is a full-stack luxury concierge reservation platform built with the MERN stack. The system supports an inquiry-first booking flow where guests submit service inquiries, admins review availability, approved users continue to reservation requests, and final bookings are created after payment proof verification. The platform includes role-based admin tools, user onboarding, email notifications, real-time updates, and a polished responsive frontend.","tech":["React","Vite","Tailwind CSS","shadcn/ui","Framer Motion","Node.js","Express.js","MongoDB","Mongoose","Socket.IO","JWT","Nodemailer","Cloudinary","Render"],"featured":true,"repoUrl":null,"demoUrl":"https://triplecrmcarhire.co.za","start":"2026-01-04T00:00:00.000Z","end":null,"highlights":["Inquiry-first reservation flow","Admin-controlled booking lifecycle","Real-time Socket.IO updates","Payment proof verification","Role-based admin dashboard","Email notification system","Cloudinary uploads","Responsive luxury UI"],"images":[{"publicId":"portfolio/projects/file_gvvxrm","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321068/portfolio/projects/file_gvvxrm.png","w":1266,"h":1062},{"publicId":"portfolio/projects/file_udznip","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321069/portfolio/projects/file_udznip.png","w":1266,"h":1062},{"publicId":"portfolio/projects/file_yssgl4","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321066/portfolio/projects/file_yssgl4.png","w":1266,"h":1130},{"publicId":"portfolio/projects/file_kyyovn","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321064/portfolio/projects/file_kyyovn.png","w":1266,"h":1130},{"publicId":"portfolio/projects/file_cxiveo","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321063/portfolio/projects/file_cxiveo.png","w":1266,"h":1130},{"publicId":"portfolio/projects/file_qnejae","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780321062/portfolio/projects/file_qnejae.png","w":1266,"h":1130},{"publicId":"portfolio/projects/file_h8zxnb","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780342472/portfolio/projects/file_h8zxnb.png","w":1147,"h":758},{"publicId":"portfolio/projects/file_j2z5k5","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780396887/portfolio/projects/file_j2z5k5.png","w":1672,"h":941}],"collaborators":[],"bodyMD":"## Overview\n\nTr3ple CRM is a full-stack luxury concierge CRM and reservation platform designed for high-end car hire, accommodation, and tour reservation workflows.\n\nThe project follows an inquiry-first model instead of direct instant booking. Guests submit inquiries, admins respond based on availability, and users continue through a controlled reservation and payment verification process.\n\n## Key Features\n\n- Public service browsing for cars, stays, and tours\n- Inquiry-first reservation flow\n- Admin-controlled approval and response process\n- User onboarding and invitation flow\n- Role-based authentication\n- Admin user management\n- Reservation intent review\n- Payment proof upload and verification\n- Final booking creation after admin approval\n- Email notifications\n- Real-time updates with Socket.IO\n- Responsive luxury UI built with React and Tailwind CSS\n\n## Technical Focus\n\nThe platform was built with a production-minded MERN architecture, separating frontend UI, backend modules, API services, authentication, file uploads, and admin workflows.\n\nThe frontend focuses on a polished luxury user experience, while the backend handles protected routes, MongoDB models, email workflows, upload handling, and admin-controlled business logic.","order":0,"createdAt":"2026-06-01T13:38:45.152Z","updatedAt":"2026-06-02T10:41:32.936Z"},{"id":"6915bbee0fabff5b8d5a11bf","title":"EventHive – Smart Event Networking","slug":"eventhive-smart-event-networking-2","cover":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780397235/portfolio/projects/file_letr80.png","summary":"A smart event platform that combines ticketing, QR check-in, and AI-powered matchmaking to help attendees connect with the right people at conferences and meetups.","description":"EventHive is a fullstack web application that streamlines the entire event journey: from ticket purchase and attendee onboarding to check-in and post-event networking. Organizers can create events, manage tickets, and track analytics, while attendees build profiles, discover relevant sessions, and connect with other participants through intelligent recommendations.","tech":["React","React Router","Node.js","Express","MongoDB","Mongoose","Tailwind CSS","Stripe","Cloudinary"],"featured":false,"repoUrl":"https://github.com/hmusenja/eventhive","demoUrl":"https://eventhive-demo.vercel.app","start":"2025-07-13T00:00:00.000Z","end":null,"highlights":["QR check-in","AI matchmaking","Stripe payments","Real-time chat","Role-based dashboards"],"images":[{"publicId":"portfolio/projects/file_letr80","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780397235/portfolio/projects/file_letr80.png","w":1672,"h":941}],"collaborators":[{"name":"Irina Holler","role":"Full Stack Developer","url":"https://irinaholler.dev","linkedIn":"https://www.linkedin.com/in/hirinaholler"}],"bodyMD":"## Overview\n\nEventHive is a MERN-based event platform focused on meaningful connections instead of just ticket sales.\n\n- Multi-step event creation wizard\n- QR-based check-in at the door\n- Matchmaking suggestions based on interests & skills\n- Real-time chat for attendees and organizers\n- Stripe integration for secure online payments\n\n## Tech Highlights\n\n- **Frontend:** React, React Router, Tailwind CSS\n- **Backend:** Node.js, Express, MongoDB, Mongoose\n- **Integrations:** Stripe, Cloudinary, Socket.io\n- **Architecture:** JWT auth, role-based guards (admin vs attendee), reusable UI components\n\n## My Role\n\nI designed and built the fullstack architecture, implemented payment flows, and focused on the UX for onboarding and event discovery.\n","order":0,"createdAt":"2025-11-13T11:07:26.592Z","updatedAt":"2026-08-14T12:42:51.250Z"},{"id":"691f7906bb6ed3265f8ff602","title":"SkyCast – MERN Weather App","slug":"skycast-weather-app","cover":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780396221/portfolio/projects/file_x22hia.png","summary":"A full-stack weather platform built with the MERN stack that provides real-time and forecasted weather data with dynamic visuals, personalized dashboards, and theme customization.","description":"SkyCast is a responsive, full-stack weather application powered by the MERN stack (MongoDB, Express, React, Node.js). It integrates the OpenWeather API to deliver accurate real-time and 5-day forecasts worldwide. Users can search cities, detect their current location, view hourly and daily forecasts, and personalize settings like temperature units and theme preferences. A sleek dark/light interface and animated weather icons ensure a modern UX, while a modular architecture with reusable contexts and reducers showcases scalable React and Node.js patterns.","tech":["MongoDB","Express.js","React","Node.js","Vite","Tailwind CSS","Recharts","Lucide React","OpenWeatherMap API"],"featured":true,"repoUrl":null,"demoUrl":"https://skycast.hmusenja.com","start":"2025-11-10T00:00:00.000Z","end":"2025-11-20T00:00:00.000Z","highlights":["Live weather search with geolocation support","5-day and hourly forecast visualization using Recharts","Dark/light theme and unit (°C/°F) persistence with local storage","MERN stack architecture with Context API state management","Responsive design with Tailwind and semantic color tokens","Deployed frontend on Vercel and backend on Render"],"images":[{"publicId":"portfolio/projects/file_t3fmza","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780364995/portfolio/projects/file_t3fmza.png","w":1145,"h":1307},{"publicId":"portfolio/projects/file_dgnlc6","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780364995/portfolio/projects/file_dgnlc6.png","w":1145,"h":1307},{"publicId":"portfolio/projects/file_b05or2","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780364994/portfolio/projects/file_b05or2.png","w":1145,"h":1307},{"publicId":"portfolio/projects/file_qk3nhk","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780364993/portfolio/projects/file_qk3nhk.png","w":1145,"h":1307},{"publicId":"portfolio/projects/file_x22hia","url":"https://res.cloudinary.com/dpptuu8k0/image/upload/v1780396221/portfolio/projects/file_x22hia.png","w":1672,"h":941}],"collaborators":[],"bodyMD":"# SkyCast – MERN Weather App\n\nSkyCast is a modern weather platform designed to deliver accurate, real-time climate insights with style. It features a location-aware search, rich visual forecasts, and a customizable interface. Built on the MERN stack, it demonstrates modular state management, reusable components, and full API integration.\n\n###  Features\n- **Current & Forecast Weather:** Real-time data powered by the OpenWeather API.\n- **Hourly & 5-Day Charts:** Interactive Recharts visualizations with temperature bands and precipitation.\n- **Personal Dashboard:** Save favorite cities, switch °C/°F, and toggle light/dark themes.\n- **Offline-ready design:** Local storage for preferences and cached weather data.\n\n###  Technical Highlights\n- **Frontend:** React + Vite + Tailwind CSS with semantic tokens for theme consistency.\n- **Backend:** Express + Node.js + MongoDB Atlas for scalable data handling.\n- **APIs:** OpenWeatherMap integration with Axios proxy and REST endpoints.\n- **Deployment:** Vercel (client) + Render (server).\n\n###  Outcome\nThis project demonstrates full-stack proficiency, responsive UI/UX principles, and clean architecture for integrating third-party APIs securely.","order":1,"createdAt":"2025-11-20T20:24:38.315Z","updatedAt":"2026-07-26T20:19:51.571Z"}],"meta":{"page":1,"limit":20,"total":5,"totalPages":1}}