Showcasing My Work
Selected Projects
OdaFlow — OdaWeb
Sales Force Automation & Distributor Management Platform
My role: Front End Development · Security Audit & Hardening · SEO Strategy & Implementation
Stack: React 18, TypeScript, Vite, Tailwind CSS, Chakra UI, MUI, Redux Toolkit, TanStack Query
John Frederick Odongo Osuwo — Application Security & Frontend Developer · odaflow.com/about-us
1.1 Scope & Scale
- Codebase: 500+ source files (432+
.tsx, 88+.ts), structured by feature and role. - Routing: 238+ routes with public landing, authenticated app areas, and role-specific dashboards.
- Build: Vite 6, TypeScript 5.6, strict typing and ESLint across the app.
1.2 Tech Stack
| Layer | Technologies |
|---|---|
| Core | React 18, TypeScript, React Router 7 |
| Build | Vite 6 |
| Styling | Tailwind CSS 3, Chakra UI 3, MUI 7, Framer Motion |
| State | Redux Toolkit, React Context (Auth, Cart, Theme, Sidebar) |
| Data | TanStack React Query, Axios, 69+ API service modules |
| Maps & Data | React Google Maps API, Leaflet, Recharts, Chart.js |
| UX | React Hot Toast, React Toastify, React Select, date-fns, dayjs |
| Documents | jsPDF, ExcelJS, PapaParse, react-to-print |
| Other | Socket.io client, React Flow, Mermaid, Calendly, signature canvas |
1.3 Product Areas (Multi-tenant, Role-Based)
- Landing & Marketing: Home, About Us, Pricing, Resources, Support, Blog (listing + article pages).
- Distributor: Dashboard, orders, shop orders, routes, cart, products, inventory, price list, returns, analytics, customers.
- Manufacturer: Dashboard, direct orders, distributor orders, modern trade (customers, branches, orders, team), products (GT/MT), pricing, promotions, reports (GT, MT, competitor, product pricing), alerts (visit duration), van sales, user management, tutorial hub, billing.
- Dealer CRM: Dashboard, leads, GARIS/prospects, entities, follow-ups, pipeline, reports, test drives, inventory, customers, accessories, workshop, settings.
- ERP: Dashboard, financial, invoices, procurement, HR, branch views (feature-flagged).
- Sales: Sales Admin (team, map, distributors, settings), Sales Rep (customers, orders), ASM, RSM, HOS (regions map).
- Ops: Placeholder and ops-specific flows.
- Merchandising: Layout, outlets list, outlet detail, task screen.
- Admin: Account management, analytics, attendance, KPI, modern trade, security monitoring (alerts, audit log, notification center), support operations (emergency recovery, support center, system maintenance), system management (data, documentation, license/billing).
- Accounting: Dedicated accounting wrapper and flows.
1.4 Architecture & Patterns
- Code splitting: Lazy-loaded route chunks for Manufacturer, Admin, Accounting, ERP, Dealer CRM, Sales, Ops, RSM, ASM, HOS, Merchandising to keep initial bundle smaller.
- Protected routes:
ProtectedRoutechecks auth (context +accessToken), OTP verification, and new-user onboarding redirect. - Role-based redirects: e.g. Dealer CRM default route by role (workshop, inventory, GARIS, dashboard).
- Layouts: Landing (Header + children + Footer), main app layouts per product (Distributor, Manufacturer, Dealer CRM, ERP, Sales, Admin, etc.).
- Error handling: React
ErrorBoundarywith user-friendly fallback, refresh and go-back actions; dev-only error details.
1.5 Reusable UI & UX
- Components: VirtualTable, PaginationControls, ProductCard, ProductGrid, ProductViewToggle, SearchFilterBar, Calendar, Notes (with filter/form), ActivityTimeLine, SalesPerformanceChart, RoutePlanner, TeamMembersGrid, UserCard, SkeletonComponents, ProgressiveLoader, PDFModal, ThemeToggle.
- Theme:
ThemeContextwith light/dark/system, persisted inlocalStorage, respectsprefers-color-scheme. - Design system: Tailwind theme extension (primary palette, custom grays for dark mode).
- Loading: Suspense with shared loading fallback (spinner) for lazy routes.
- OAuth UX: Popup detector for OAuth callback; postMessage to opener; “Connection successful” and auto-close.
1.6 Data & Services
- Services: 69+ modules (auth, orders, products, modern trade, distributors, customers, reports, billing, attendance, ERP, Dealer CRM, etc.) with consistent patterns and env-based API base URL.
- State: Redux slices for orders (direct, shop, modern trade), financial, HR, procurement, navigation; React Query for server state where appropriate.
- Bridges: Order service bridge for cross-module behavior.
1.7 Quality & DX
- Types: Shared types for customers, orders, distributors, KPIs, sidebar preferences, etc.
- Utils: Date formatting, cart helpers, CSV parsing/validation, PDF generation, Google Maps config, toast helpers, WebSocket helpers, retry with backoff.
- Tests: Vitest + React Testing Library; tests for competitor Excel upload, distributor order receive form.
Medline Pathocare — Full-Stack Diagnostic Lab
A complete, production-ready website and web application for a KMLTTB-accredited referral laboratory — built from frontend to backend, with security hardening and full SEO implementation.
Delivered: Frontend · Backend · Security · SEO (end-to-end by me)
Stack: Next.js 14, TypeScript, Tailwind CSS, NextAuth.js v5, Supabase (PostgreSQL, Storage, RLS), Zod, Lucide React, Inter
Project Overview
I designed and built Medline Pathocare as a full-stack platform that serves both the public (patients and healthcare providers) and internal staff. The site showcases the laboratory's services, hosts a searchable test catalog (55+ tests), and provides a client portal where patients view their test results and an admin dashboard where staff manage clients and upload reports. Every layer—UI, API, auth, database, storage, security, and SEO—was implemented and refined by me.
Kentall Builders & Construction Company — From Foundation to Finish
Marketing site and lead-generation platform for a Kenyan construction company — SvelteKit frontend, security hardening, and full SEO implementation.
Delivered: Frontend · Security · SEO (portfolio-ready)
Stack: SvelteKit 2, Svelte 5, TypeScript, Tailwind CSS 4, Vite 6 · Vercel (adapter-vercel) · Google Analytics (nonce-protected)
Project Overview
| Client / Product | KENTALL BUILDERS & CONSTRUCTION COMPANY (Kenya) |
|---|---|
| Purpose | Marketing site + lead generation (contact, quote requests) |
| Live URL | https://kentall.vercel.app |
| Stack | SvelteKit 2, Svelte 5, TypeScript, Tailwind CSS 4, Vite 6 |
| Deployment | Vercel (adapter-vercel) |
| Analytics | Google Analytics (gtag.js, nonce-protected) |
The site presents the company's services, projects, team, and values, and captures leads via a contact form and a detailed quote request form. All form submissions are rate-limited, validated, and forwarded to Formspree.
Meme Coins – Blockchain Micro-Transaction Platform
Tech Stack:
Built Dust Coin, a meme coin that won the ICP Spillover Hackathon. Participated as Product and Project Manager. Designed responsive UI with secure wallet integration, scalable low-cost token transactions, and a focus on usability and transaction safety.
DAO Governance Platform
Tech Stack:
Developed frontend dashboards for decentralized voting and management. Implemented secure wallet interactions and live data updates. Streamlined onboarding and improved user experience by 40%. Improved onboarding experience and governance transparency.
NFT & Digital Asset Marketplace
Tech Stack:
Built frontend for listing, purchasing, and verifying NFTs. Integrated smart contracts for ownership verification. Optimized performance for both desktop and mobile users.