Jeremiah Ongwenyi.
Back to Portfolio
Homify Furniture
🟠 Currently in Active Development

Homify Furniture

A modern full-stack furniture platform simplifying product discovery, custom furniture requests, and customer engagement.

Next.jsTypeScriptNode.jsPostgreSQLPrismaDockerCloudinary

Role

Full Stack Developer

Duration

2026 – Present

Status

In Progress

Project Overview

Building software around real business needs.

Homify Furniture is an ongoing full-stack web application designed to modernize how furniture businesses showcase products and manage custom furniture requests. The platform combines a responsive customer experience with a scalable backend architecture built using Next.js, PostgreSQL, Prisma ORM, Docker, and Cloudinary. It is being developed with production-ready practices in mind while continuously evolving through new features and architectural improvements.

The Problem

Understanding the challenge before writing code.

Many furniture businesses still rely heavily on walk-in customers, phone calls, and WhatsApp conversations to sell products and handle custom furniture requests. This fragmented process makes it difficult for customers to browse available products, communicate design requirements, receive quotations, and track their requests efficiently. At the same time, business owners lack a structured system for managing customer inquiries, custom orders, and product information, limiting both operational efficiency and business growth.

The Solution

Designing a practical solution.

Homify Furniture addresses these challenges through a modern full-stack web application that enables customers to browse furniture products, submit custom furniture requests with reference images, and communicate with the business through a structured digital workflow. Behind the scenes, the application uses a PostgreSQL database managed with Prisma ORM, Next.js API Route Handlers, Cloudinary for media storage, and Docker for a consistent development environment. The architecture has been designed to accommodate future capabilities such as authentication, order management, MPesa payments, and an administrative dashboard.

My Role

Driving the project from concept to implementation.

Full Stack Developer

As the Full Stack Developer, I am responsible for the ongoing design and development of Homify Furniture, translating real business needs into a scalable full-stack web application. My work spans the entire development lifecycle—from designing the application architecture and database schema to building responsive user interfaces, developing backend APIs, integrating third-party services, and maintaining a consistent Docker-based development environment. As new requirements emerge, I continue to refine the platform with a strong focus on scalability, maintainability, performance, and delivering an excellent user experience.

Solution Architecture

Designed the overall application architecture to support scalability, maintainability, and future feature expansion.

Frontend Development

Developed responsive user interfaces using Next.js, TypeScript, and Tailwind CSS.

Database Design

Designed and implemented a relational PostgreSQL database using Prisma ORM.

Backend API Development

Built RESTful APIs using Next.js Route Handlers to power application workflows.

Media Management

Integrated Cloudinary for secure image uploads and optimized media delivery.

Development Environment

Containerized the application with Docker to ensure consistent development and deployment environments.

Key Features

Designed around real user workflows.

Furniture Catalogue

Browse furniture through an organized catalogue with category filtering and detailed product pages.

Custom Furniture Requests

Submit custom furniture requirements by uploading reference images and providing detailed specifications.

Smart Search

Quickly discover products through intuitive browsing and category-based navigation.

Shopping Experience

Add products to a shopping cart and prepare for a streamlined checkout process.

WhatsApp Integration

Connect directly with the furniture business through pre-filled WhatsApp conversations.

Responsive Design

Designed for a seamless experience across desktop, tablet, and mobile devices.

System Architecture

How the application is structured.

The application follows a layered architecture that separates presentation, business logic, data management, and external integrations. This makes the solution easier to maintain, extend, and evolve over time.

Presentation Layer

Next.js • React • Tailwind CSS

Provides a responsive customer interface for browsing products, viewing furniture details, managing the shopping cart, and submitting custom furniture requests.

Application Layer

Next.js Route Handlers

Implements business logic, validates requests, exposes RESTful APIs, and coordinates communication between the frontend, database, and third-party services.

Data Layer

PostgreSQL • Prisma ORM

Stores application data including products, categories, custom requests, and future order management using a relational database schema.

Cloud Services

Cloudinary

Handles secure image uploads and optimized delivery for product images and customer reference photos.

External Integration

WhatsApp

Allows customers to communicate directly with the furniture business using pre-filled WhatsApp conversations.

Engineering Challenges

Problems worth solving.

Challenge 01

Designing the Custom Furniture Workflow

The Challenge

Customers needed a simple way to request custom furniture using inspiration images while still providing structured information that could support future order management.

My Approach

I designed a guided request workflow that combines image uploads with descriptive project details, creating a consistent data structure for future processing.

Outcome

The solution balances customer flexibility with a scalable backend design that can support quotations, order tracking, and administration.

Challenge 02

Designing a Scalable Database

The Challenge

Although the current scope is a single furniture store, the data model needed to support future features without major redesign.

My Approach

I modeled the database using PostgreSQL and Prisma ORM with normalized relationships that can accommodate authentication, inventory, and order management.

Outcome

The application can evolve without significant database restructuring.

Challenge 03

Managing Image Uploads

The Challenge

Furniture images and customer reference photos require secure storage and efficient delivery while keeping the application lightweight.

My Approach

I integrated Cloudinary to handle uploads, storage, optimization, and delivery.

Outcome

Media management is reliable, scalable, and independent of the application server.

Challenge 04

Building for Future Growth

The Challenge

The application is still under active development, so today's implementation must support tomorrow's requirements.

My Approach

I adopted a modular architecture using reusable components, Next.js Route Handlers, Prisma ORM, and Docker.

Outcome

New features can be added with minimal impact on the existing codebase.

Lessons Learned

What this project taught me.

This project significantly strengthened my understanding of full-stack system design, especially how frontend interfaces connect with backend APIs and databases in a real-world application.

I gained deeper experience designing relational database schemas using Prisma ORM and learned how early schema decisions impact scalability and future feature development.

Working with Next.js API Route Handlers improved my ability to structure backend logic in a modular and maintainable way within a full-stack framework.

Integrating Cloudinary taught me how external services can be effectively used to offload infrastructure concerns like media storage and optimization.

Containerizing the application with Docker helped me understand the importance of consistent development environments across teams and deployment pipelines.

What's Next

The roadmap ahead.

This project is actively evolving. The roadmap below highlights the features planned as development continues.

Responsive Customer Website

Developed a modern customer-facing interface for browsing products and submitting custom furniture requests.

REST API & Database Foundation

Established the backend architecture using Next.js Route Handlers, Prisma ORM, and PostgreSQL.

Cloudinary Image Management

Integrated secure cloud-based image uploads and optimized media delivery.

User Authentication

Allow customers to create accounts and manage their furniture requests.

Admin Dashboard

Manage products, customer requests, and website content from a centralized dashboard.

MPesa Integration

Enable secure online payments and deposit processing through MPesa.

Order Tracking

Provide customers with real-time updates on the progress of their orders.