AI Fix That For You Dashboard
The AI Fix That For You website contains nearly 40 generative AI tools for artists and developers.

AI Fix That For You: The All-in-One Generative AI Toolkit

AI Fix That For You is a sleek Generative AI application designed to be a Swiss Army knife for developers and creators. It aggregates nearly 40 distinct generative AI tools ranging from Text-to-Image Generators and Code Explainers to Video Clip Summarizer into a single ecosystem. AI Fix That For You is a live, interactive SaaS product, demonstrating the latest Generative AI capabilities via real-time API integration and persistent local state management without the overhead of a heavy backend.

“The primary goal was to create a fast, accessible, and user-friendly toolkit that boosts productivity. I prioritized speed by ensuring critical data processing happens locally, while using cutting-edge LLMs for generative tasks.”

The application architecture is built on a "Client-First" philosophy. By handling input processing, validation, and state management locally within the browser, AI Fix That For You offers instantaneous feedback. Heavy lifting for generative tasks is offloaded to the Google Gemini API via secure asynchronous calls, ensuring the user interface remains responsive and fluid even during complex AI operations.

AI Style Blender
The AI Style Blender tool demonstrating complex image-to-image processing pipelines.

Architecture & Engineering Decisions

Designed with scalability and maintainability in mind, the codebase eschews heavy frontend frameworks in favor of a modular Vanilla JavaScript architecture paired with Tailwind CSS. This demonstrates a mastery of core web fundamentals, as the application manages complex state such as user authentication, credits, and favorites without the crutch of React or Vue.

  • Modular JS Architecture: Centralized logic ensures reusable code everywhere.
  • Hybrid State Management: Combines local speed with cloud syncing.
  • Smart Preset Engine: Simulates API calls to reduce latency.
  • Dynamic Component Injection: Runtime injection creates unified UI components.
  • Adaptive Dark Mode: CSS variables enable seamless theme switching.

I built the architecture to be as maintainable as possible. By exporting reusable modules for things like authentication and API handling directly from site.js, I managed to keep the codebase dry across more than 30 HTML pages. It also means I can push global updates like changing a menu item in the navigation or footer instantly, since those components are injected dynamically at runtime rather than hardcoded into every static file.

For data, I took a practical approach. Quick, ephemeral stuff like credit usage or your dark mode preference lives in localStorage so it feels instant. But when it matters, like saving your "Favorites," the app syncs up with Firebase Firestore. I also implemented a custom CSS variable system for that dark mode; by defining semantic tokens like --color-bg-primary, the theme switching feels seamless and works perfectly alongside Tailwind.

One of my favorite optimizations is the mock-simulation layer I call getToolPresets. I didn't want to waste API credits or make users wait during simple demonstrations, so if you pick a sample input, the system completely bypasses the API. It simulates the processing time and returns a pre-generated, high-fidelity asset, so the user gets the full experience without the cost or the wait.

AI Integration Strategy

At the heart of AI Fix That For You is a robust integration with the Google Gemini 2.5 Flash model. I implemented a flexible API wrapper (callGeminiAPI) that handles multi-modal inputs. This allows users to not only generate text but also perform complex vision tasks, such as uploading a screenshot of code to the Code Explainer tool for instant debugging, or blending two images in the Style Blender.

AI Hair Style Changer Tool
The AI Hair Style Changer tool lets users upload a photo of a face and select a hairstyle to see a new look.

The integration includes a custom "Credit System" logic. Each user starts with a finite number of credits stored locally. Every successful API call triggers a deduction function that updates the UI in real-time, simulating a production SaaS metering environment.

Technologies & Ecosystem

The project uses a modern, utility-first stack designed for speed and rapid iteration.

HTML5 & Tailwind CSS

Semantic HTML structure styled with Tailwind for a responsive, mobile-first design system. Custom CSS variables in style.css handle complex theme switching logic.

ES6+ JavaScript

Modern, modular JavaScript using ES Modules. Features async/await patterns for API calls, closures for state encapsulation, and extensive DOM manipulation.

Firebase & Gemini

Firebase Auth and Firestore provide user management and data persistence, while Google's Gemini API powers the generative AI capabilities.

Lucide Icons & Marked.js

Lucide provides a consistent SVG icon system, while Marked.js handles the rendering of Markdown output from the AI into clean, formatted HTML.

Developing AI Fix That For You presented unique technical hurdles, specifically regarding cross-origin resource sharing (CORS), managing asynchronous state across static pages, and optimizing large image payloads for the AI API.

Technical Challenges & Solutions

Building a complex client-side application often reveals unique hurdles that standard server-side frameworks handle automatically. From managing persistent state across static pages to optimizing heavy computational tasks on the main thread, each obstacle provided an opportunity to deepen my understanding of browser mechanics and JavaScript optimization techniques.

Challenge: Relying solely on live API calls for demos introduced latency and potential cost issues. Users browsing the portfolio needed instant gratification.

Solution: I architected a "Smart Preset" engine in site.js. The system detects if a user is utilizing sample inputs (like a default photo) and intercepts the API call. It then resolves the promise immediately with a pre-cached result URL, simulating a successful generation in milliseconds while maintaining the exact same UI flow as a live call.

Challenge: With over 30 separate HTML tool pages, maintaining consistent navigation, auth state, and footers was becoming a maintenance nightmare.

Solution: I implemented a client-side component injection system. The loadHeader and loadFooter functions in site.js dynamically render the navigation DOM based on a centralized configuration array. This means adding a new tool requires updating a single JSON object, and changes propagate instantly across the entire suite.

Challenge: Standard Tailwind dark mode classes weren't sufficient for dynamic components or third-party widgets that needed specific color overrides based on user preference.

Solution: I established a CSS Variable layer in style.css (e.g., --color-bg-secondary). These variables change values when the .dark class is applied to the HTML root. This abstraction allowed me to style complex, JavaScript-generated components (like the chat interface or file upload zones) without hardcoding Tailwind classes into the JavaScript logic.

Challenge: Sending high-resolution images to the Gemini API often resulted in payload size errors or browser freezes during the Base64 conversion process.

Solution: I created a robust setupImageUploader utility that handles the FileReader logic asynchronously. It includes validation steps to ensure images are optimized before transmission. Furthermore, the callGeminiAPI function is designed to handle multi-part content, seamlessly packaging the text prompt and image data into the specific JSON structure required by Google's Vision models.

By sticking to a "Client-Side First" architecture, I was able to deliver a tool that respects user privacy while providing the instant feedback developers need. This project not only sharpened my JavaScript skills but also proved that complex, AI-driven applications can be built without the complexity of heavy frontend frameworks.

Share Portfolio:
Portfolio Project #7

Global CO2 Analysis

Portfolio Project #2

LLM Dr.

Project Summary

Project Type:

AI SaaS Platform

My Role:

Solo / Full-Stack Developer

Core Stack:

Vanilla JS (ES6+), Tailwind CSS, Firebase

Key Libraries:

Google Gemini API, Marked.js, Lucide

Key Feature:

Multi-Modal AI Integration

Project Duration:

8 Weeks

Status:

Completed