Portfolio
Selected work across full-stack web apps, frontend products, and standalone HTTP APIs—shipped with TypeScript and production-ready tooling.
An open-source React dashboard-kit library: zero-dependency SVG charts (area, bar, donut, sparkline) where every chart ships an aria-label summary and a visually-hidden data table, so screen-reader users get the same numbers as sighted ones — enforced with jest-axe in CI. Plus KPI tiles, a responsive stat grid, and filter primitives. Themeable through CSS variables that pair with my Fathom UI design system, and shipped as tree-shakeable ESM + CJS with types (tsup) and Storybook. It's the kit that powers my Pulse dashboard.
A data-dense analytics dashboard for an intercity transport operator: gross revenue, bookings, refund rate, seat-fill and payment-provider mix (Paystack/Monnify/Nomba), updating live. The charts are hand-built from SVG over a unit-tested scale/geometry layer — no charting library — and every one is fully accessible (aria-label summaries plus a visually-hidden data table, enforced with jest-axe). Client-side aggregation over ~10k transactions powers instant, URL-synced cross-filtering, and it's built on my own design system, Fathom UI. Tested with Vitest + Playwright.
An open-source React component library published to npm (@engraya/fathom-ui). Headless behavior from Radix, themeable through CSS-variable design tokens (light/dark), shipped as tree-shakeable ESM + CJS with type definitions. Every component is unit- and accessibility-tested (Vitest + jest-axe), documented in Storybook, and released through a tsup build with CI.
Collaborative editor with live presence and secure sharing (Liveblocks + Clerk). Shipped end-to-end UI, auth, and persistence—focused on low-latency typing and clear UX under concurrent edits.
Discover dishes from a large recipe catalog with trending picks and cuisine-style browsing. Describe what you want in plain English and AI turns it into search filters (cuisine, diet, intolerances, time, and more). On every recipe, Recipe Copilot is page-aware—ask about substitutions, scaling, simpler steps, or allergy-minded swaps—with requests handled on a backend so API keys stay off the client.
DocuPilot AI is an AI-powered document automation SaaS that eliminates the friction of creating professional documents. Generate resumes, cover letters, proposals, contracts, and more with Gemini AI — then edit, export, and share them instantly.
NutriMind AI is a full-stack AI nutrition SaaS that adapts to your body, preferences, and lifestyle. Get personalized 7-day meal plans, scan your fridge with AI vision, track macros with real analytics, chat with a 24/7 health assistant, and generate workout plans — all powered by Google Gemini.
CoverFlow AI is an AI-powered cover letter generation platform built to simplify one of the most frustrating parts of the job application process — writing personalized cover letters for every role.
SlideForge transforms any topic into a polished, editable PowerPoint deck in under 30 seconds. Powered by Google Gemini AI and a Python FastAPI backend, it handles multi-language slide generation, async job polling, and one-click .pptx download — all without requiring an account. 🌐💬
🌐 Précis is an AI-powered article summarization web application that transforms long-form online content into concise, easy-to-read summaries in seconds.⏳
Manage your finances effortlessly with AI-powered insights and personalized financial advice
Creatify_AI empowers businesses, marketers, and creators with high-quality, SEO-friendly contents in seconds
SlideTube-AI transforms any YouTube video into a professional, editable presentation🌐💬
Full-stack Next.js + Express + MongoDB: listings, applications, and discovery flows with React Query on the client. Emphasis on responsive UX and reliable API integration.
Manage Patient's records, appointments, and more—all in one place
Explore detailed information on a wide range of coins, from market capitalization to trading volume.
CineHub - your go-to platform to search, filter, and explore trending movies and TV shows from around the globe, powered by TMDB! 🎥🔥
Shelterium is your AI-powered real estate platform for discovering, renting, and buying properties in Dubai. With intelligent search, smart price analysis, and verified listings — Shelterium makes finding your next home or investment effortless.
Remindly is a focused productivity app that lets you organize tasks into color-coded collections, track completion progress at a glance, and create tasks from plain English
Shopoholics, an open-source Fullstack e-commerce application designed to revolutionize your online shopping experience.
Versioned Express REST API (`/api/v1`) for posts, nested comments, likes, and bookmarks on MongoDB. Users register and verify email via OTP email (Nodemailer); JWT protects mutations, with an extra database-backed verified-email check for write operations. List endpoints support query pagination (`page`), and auth-sensitive routes use express-rate-limit. Vitest and Supertest cover HTTP behavior against MongoDB when available.
REST API for job postings and applications built with Express and TypeScript. Mongoose models link users to jobs they create and jobs they apply to, with JWT-based sessions and role checks for admin-only user deletion. Request bodies for registration and login are validated with Joi; passwords are hashed with bcrypt. Routes are grouped under /api and /api/auth. No OpenAPI spec or health-check route is present in the repository.
SlideForge is a production-grade RESTful API built with FastAPI and Python 3.12 that automates AI-powered PowerPoint generation. It exposes an async job-queue pattern — clients POST a topic and receive a job ID immediately (202 Accepted), then poll for completion before downloading the generated .pptx file. Slide content is synthesized by the Google Gemini API (JSON-mode, gemini-2.0-flash-preview) with configurable language, theme, and slide count. The generated files are assembled using python-pptx with three built-in themes (Professional, Minimal, Vibrant) and served as binary file responses with server-side path-traversal protection. The service layer follows dependency injection via LRU-cached FastAPI dependencies, structured JSON logging, custom exception hierarchy with typed error codes, per-IP rate limiting via slowapi, and a multi-stage Docker build running as a non-root user. No OpenAPI/Swagger UI is exposed in production (docs are disabled). A GitHub Actions CI/CD pipeline covers linting (ruff), static type checking (mypy), test coverage (pytest + httpx), and Docker image build.