Project Architecture

A comprehensive look at the technical decisions, architecture patterns, and development process behind this AI-powered background removal application.

Portfolio Project • Full-Stack Development

Technical Overview

Modern Full-Stack

Built with Next.js 15, TypeScript, and Tailwind CSS 4 for the frontend, FastAPI with Python for AI processing, showcasing modern development practices and cutting-edge technologies.

Next.js 15TypeScriptTailwind CSS 4FastAPIPython

AI Integration

Implements the rembg machine learning model for background removal, demonstrating AI/ML integration in a production web application with real-time processing capabilities.

rembg 2.0.50ML PipelineImage ProcessingReal-time AI

System Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │   Next.js API   │    │                 │
│   (Vercel)      │───▶│   Routes        │───▶│  Hostinger VPS  │
│   • Next.js 15  │    │   • Auth        │    │   (KVM1)        │
│   • TypeScript  │    │   • Quotas      │    │                 │
│   • Tailwind    │    │   • Azure SDK   │    │  ┌─────────────┐ │
│   • NextAuth    │    │   • SAS URLs    │    │  │  FastAPI    │ │
└─────────────────┘    └─────────────────┘    │  │ • rembg AI  │ │
                                │             │  │ • Processing│ │
                                │             │  │ • Endpoints │ │
                                │             │  └─────────────┘ │
                                │             │         │        │
                                │             │  ┌─────────────┐ │
                                └─────────────┼─▶│ PostgreSQL  │ │
                                              │  │ (Docker)    │ │
                                              │  │ • Users     │ │
                                              │  │ • Quotas    │ │
                                              │  │ • Images    │ │
                                              │  └─────────────┘ │
                                              └─────────────────┘
                                │                      │
                                │                      ▼
                                │             ┌─────────────────┐
                                └─────────────│   Azure Blob    │
                                              │   Storage       │
    Data Flow:                                │   • Images      │
    1. Frontend ───▶ API Routes               │   • Secure SAS  │
    2. API Routes ──▶ FastAPI (processing)    │   • CDN Ready   │
    3. API Routes ──▶ Azure (storage)         └─────────────────┘
    4. API Routes ──▶ Frontend (SAS URLs)

Key Technical Decisions

Architecture Pattern: API Proxy Design

Decision: Use Next.js API routes as middleware between frontend and FastAPI

Rationale: Separates concerns, allows for authentication/quota management in Next.js while keeping ML processing isolated in FastAPI. Provides better security and scalability.

Benefits: Clean separation, easier testing, independent scaling, security layers

Database Strategy: PostgreSQL + Prisma ORM

Decision: PostgreSQL with Prisma for type-safe database operations

Rationale: Robust ACID compliance for user data, excellent TypeScript integration, migration management, and production-ready performance.

Implementation: User management, quota tracking, image metadata, audit trails

Authentication: NextAuth.js with Google OAuth

Decision: Social authentication with session management

Rationale: Reduces friction for users, industry-standard security, handles complex OAuth flows, supports multiple providers.

Features: Anonymous usage, authenticated galleries, quota management

Deployment: Strategic Multi-Cloud Architecture

Decision: Vercel (frontend) + Hostinger VPS (backend+database) + Azure (storage)

Rationale: FastAPI + PostgreSQL co-located on VPS for performance, Azure storage accessed only through API routes for security, frontend never directly accesses storage. Cost-effective while maintaining security best practices.

Benefits: Secure access control, SAS URL generation, low latency (co-located services), centralized authentication, audit trails

Skills Demonstrated

Frontend Development

  • • Modern React with Hooks
  • • TypeScript for type safety
  • • Responsive design patterns
  • • State management
  • • Component architecture

Backend Development

  • • REST API design
  • • Python/FastAPI expertise
  • • Authentication systems
  • • File processing
  • • Error handling

Database Design

  • • Schema design
  • • Relationships & indexing
  • • Migration management
  • • Query optimization
  • • Data modeling

Cloud & DevOps

  • • Multi-cloud deployment
  • • Docker containerization
  • • VPS management
  • • CI/CD practices
  • • Monitoring & logs

AI/ML Integration

  • • Model integration
  • • Image processing
  • • Performance optimization
  • • Error handling
  • • Real-time processing

Security & Performance

  • • Authentication flows
  • • API security
  • • Rate limiting
  • • Data validation
  • • Performance optimization

Development Process

Development Methodology

  • Co-located Architecture: FastAPI + PostgreSQL on same VPS for optimal performance
  • API-First Design: Clean separation between ML processing and business logic
  • Docker Deployment: Containerized PostgreSQL with persistent volumes
  • Production-Ready: VPS automation scripts, error handling, monitoring

Performance Optimizations

  • Image Processing: Optimized ML pipeline with caching
  • Database Queries: Indexed queries and connection pooling
  • Frontend: Code splitting and lazy loading
  • CDN Integration: Azure Blob Storage with SAS URLs

Project Evolution

This project serves as a comprehensive demonstration of modern full-stack development skills, showcasing proficiency in current industry technologies and best practices. The architecture is designed to be scalable and maintainable, suitable for both portfolio demonstration and potential production deployment.

Potential Enhancements

• Advanced AI models integration

• Real-time collaboration features

• Advanced image editing tools

• Premium subscription tiers

• Batch processing capabilities

• Enterprise API access

Interested in the technical details?

View the complete source code and documentation

Let's Connect!

Interested in collaborating on a project? Have questions about this implementation? I'd love to discuss development opportunities and technical challenges.