Alicia Kimani's Work | ContraWork by Alicia KimaniAlicia Kimani
Full-Stack Developer | React, Next.js, TypeScript & Supabase
ReplyFlow — WhatsApp-First CRM & Customer Recovery Platform
ReplyFlow is a customer relationship management platform designed to help small businesses manage leads, organize customer conversations, and recover lost sales. It brings customer management, lead tracking, follow-ups, and revenue recovery workflows into one centralized dashboard.
Key Features
Unified Inbox: Manage customer conversations in one place.
Lead Management: Track leads and organize customer information throughout the sales pipeline.
Lost Lead Detection: Identify potential leads that may have been overlooked.
Customer Recovery: Help businesses re-engage inactive or unresponsive customers.
Revenue Recovery: Support follow-up workflows designed to recover potentially lost sales.
Automation & Scheduling: Organize follow-ups, appointments, and customer workflows.
Analytics & Invoicing: Access business performance insights and invoice management tools.
Team Management: Organize customer operations across a team.
My Role: Full-Stack Developer
Tech Stack: Next.js 15, React 19, TypeScript, Tailwind CSS 4, Supabase, PostgreSQL.
Project Goal: Help businesses reduce missed opportunities, improve customer follow-ups, and turn more leads into paying customers.
Project Type: SaaS / CRM / Business Automation ClientFlow — Barber Business Management Platform
My role: Full-Stack Developer
Project summary:
ClientFlow is a barber business management web application designed to give business owners a dedicated dashboard for managing their operations. The project combines a modern, responsive interface with a backend powered by Supabase.
What I built
Developed the application using Next.js and TypeScript.
Integrated Supabase for database and authentication functionality.
Built an owner dashboard with a dedicated login flow.
Deployed the application to Vercel. Metaverse Game is a real-time multiplayer backend powering a 3D virtual world where users join spaces, customize avatars, and interact with each other live. It's fully tested, containerized, and enforces role-based access throughout.
The problem: Multiplayer backends require solving real-time sync, access control, avatar state, and space management all at once. I built this to prove those problems are solvable cleanly — with a proper test suite to back it up.
What I built:
— JWT auth with role-based access control: admins create/delete spaces and elements; users join, move, and interact
— Space management with full CRUD and authorization enforcement
— Avatar creation, metadata storage, and customization with unauthorized deletion blocked at the route level
— WebSocket-powered real-time layer: position updates broadcast to all users in a space, with graceful disconnect
— Zod schema validation on all inputs
— Prisma ORM + PostgreSQL for relational data across users, spaces, avatars, and elements
— Docker containerization — runs anywhere
— Full Jest test suite: 4 suites, 15 tests covering auth, spaces, avatars, and WebSocket edge cases
Impact: 15 tests passing across 4 test suites. Role-based access enforced at route level. WebSocket broadcast confirmed end-to-end in tests. Zero environment setup friction — fully Dockerized.
Stack: Node.js · TypeScript · Express.js · WebSockets · Prisma · PostgreSQL · Zod · Jest · Docker Uber API is a production-ready ride-hailing backend covering the full journey from authentication to ride completion. Users and captains get separate auth flows, real-time location tracking keeps drivers visible on the map, and every ride moves through a verified lifecycle — fare estimate, confirmation, OTP start, and end.
The problem: Most ride-hailing tutorials fake the hard parts. I wanted to build all of them — multi-role auth, real-time location, Maps API integration, and a complete ride lifecycle — end to end, in one clean backend.
What I built:
— JWT + bcrypt authentication for two actor types (users and captains) with role-specific middleware
— Real-time captain location broadcast via Socket.IO (http://Socket.IO)
— Maps API integration: coordinate lookup, distance + ETA calculation, and address autocomplete
— Full ride lifecycle: create request → get fare → captain confirms → OTP-verified start → end ride
— 14 REST endpoints across 4 route groups (/users, /captain, /maps, /rides)
— React (Vite) frontend for interacting with the API
Impact: 14 fully functional endpoints. Two-actor auth system working end-to-end. Real-time location broadcast and OTP-secured ride handoff both verified in production.
Stack: Node.js · Express.js · MongoDB Atlas · Mongoose · JWT · bcrypt · Socket.IO (http://Socket.IO) · Maps API · React