Activity

techwizard

Shipped this project!

I built DocuGPT, an AI-powered web app that turns static PDFs into interactive conversations. It uses Flask for the backend, Pinecone for vector storage, and LangChain to orchestrate the AI logic.

The deployment was the biggest learning curve. I initially faced RAM limitations on Render, which taught me how to migrate to Hugging Face Spaces using Docker to access better hardware. I also learned how to configure Gunicorn timeouts to handle large file processing without crashing the server. It’s now live and stable! 🚀

techwizard

Deploying DocuGPT (ChatPDF) to the Cloud

Status: Live & Stable Stack: Flask, MongoDB, Pinecone, LangChain, Hugging Face Spaces (Docker)

  1. Overcoming RAM Limits My first attempt on Render failed instantly. The app crashed with an “Out of Memory” error because my AI library (sentence-transformers) needs ~800MB RAM, but Render’s free tier only provides 512MB.

  2. The Move to Hugging Face I switched to Hugging Face Spaces using the Docker SDK. This was the critical fix—it offers 16GB of RAM for free, allowing the heavy AI models to run smoothly without crashing.

  3. Git & Auth Fixes I hit two walls: a “refusing to merge unrelated histories” error and rejected password authentication. I fixed the merge by forcing it with the –allow-unrelated-histories flag. For auth, I generated a Write-Scope Access Token and injected it directly into the git remote URL to bypass the deprecated password prompt.

  4. Stabilizing the Server The app was crashing during PDF uploads with a [CRITICAL] WORKER TIMEOUT. Gunicorn was killing any process that took longer than 30 seconds. I updated the Docker configuration to allow a 5-minute timeout, ensuring large PDFs process fully.

  5. Final Polish I fixed a login bug caused by iframe cookie blocking by adding a direct access link, and I upgraded the UI with a modern Tailwind gradient design.

Outcome: DocuGPT is now live, stable, and running on a robust 16GB environment.

Attachment
0
techwizard

Shipped this project!

I just completed a movie recommender using Python, Pandas, and Scikit-Learn. The system uses Natural Language Processing (Bag of Words) to convert movie tags into vectors and calculates similarity scores to find the closest matches in n-dimensional space.

The Build: I processed the TMDB 5000 dataset, optimized the model using pickle for instant loading, and integrated the TMDB API to fetch real-time movie posters on the frontend.

The Lesson: I learned a ton about vectorization and CountVectorizer. It was fascinating to see how mathematical angles between vectors can accurately predict human taste in movies.

techwizard

Ever finished a movie and wondered, “What should I watch next?” I spent this week building a Content-Based Recommendation Engine to answer exactly that.
Here is how I built it day-by-day.
📅 Day 1: The Setup
I skipped the classic MovieLens dataset (ratings-based) and chose the TMDB 5000 Dataset to focus on content analysis. Using Pandas, I merged the movie and credits files and filtered for the essentials: genres, keywords, overview, cast, and crew.

📅 Day 2: Wrangling Data
Data cleaning was the heavy lifting. Columns like genres were stored as JSON strings (e.g., [{"id": 28, "name": "Action"}]).

The Fix: Used ast.literal_eval to parse them into Python lists.
Feature Engineering: I extracted the top 3 actors and the director. I also collapsed spaces (e.g., “Science Fiction” → “sciencefiction”) to create unique tag entities.
Result:A single “Super Column” called tags that summarizes the entire movie.
📅 Day 3: The Math (Vectorization)
To measure similarity, I needed to turn text into numbers.
Vectorization: Used Scikit-Learn’s CountVectorizer (Bag of Words) to convert tags into 5,000-dimensional vectors, removing stop words.
Similarity:Used Cosine Similarity to measure the angle between vectors. This generated a matrix comparing every movie against every other movie.
📅 Day 4: The Interface
I used Streamlit to build a frontend.
Logic: The user selects a movie → App finds its index → Sorts the similarity matrix → Returns the top 5 matches.
📅 Day 5: API Integration
Text-only lists are boring. I signed up for the TMDB API and wrote a script to fetch real-time movie posters. Displaying them side-by-side made the app feel like a real product.
📅 Day 6: Optimization
Re-calculating the model on every reload was too slow.
Solution: I used pickle to save the processed data and similarity matrix. The app now loads pre-computed files instantly.

Attachment
1

Comments

Chibueze Benneth
Chibueze Benneth 2 months ago

oh that’s really cool! One thing I want to learn is how to properly integrate APIs into my workflow, so I am impressed you scaled your project to more than just a text based model. Good job!

techwizard

Shipped this project!

🚀 New Year, New Ship!

I kicked off 2026 by building a Car Price Predictor—a web application that estimates the fair market value of used cars.

How it works: Users simply input vehicle details (Company, Model, Year, Fuel, Km Driven), and the app sends this data to a Python Flask backend. There, a trained Linear Regression model processes the inputs and returns an estimated price instantly via AJAX, without reloading the page.

What I learned: This project was a deep dive into full-stack integration. I learned how to connect a Scikit-Learn ML pipeline to a live web interface, handle dynamic JavaScript events (like filtering car models based on the selected brand), and design a responsive UI using modern CSS variables.

techwizard

How I Built a Car Price Predictor to Start My 2026 Dev Journey

Date: January 1, 2026 By: Hardik Mittal

They say the best way to learn is to build. So, while everyone was making New Year’s resolutions, I decided to open my IDE and ship a project.

Here is the story behind my latest build: a Car Price Predictor.

  1. The Problem 🧐

Selling a used car is confusing. Prices vary wildly based on fuel type, kilometers driven, and the age of the car. I wanted to build a tool that uses actual data to give users a fair price estimate instantly.

  1. The Machine Learning Model 🤖

I started with a dataset of utilized cars. The data cleaning phase was crucial—handling missing values and cleaning up inconsistent car names. I used Scikit-Learn to train a Linear Regression model. To handle the categorical data (like “Petrol” vs “Diesel” or “Maruti” vs “Hyundai”), I implemented a pipeline using OneHotEncoder. The model achieved an accuracy (R² score) of approx 0.84, which is solid for real-world estimation.

  1. Building the Web App 💻

A model inside a Jupyter Notebook isn’t useful to anyone. I needed a frontend.

Flask was my choice for the backend API.

For the frontend, I wanted a clean, “tech” aesthetic. I built a responsive form using CSS Variables for easy theming (and a dark-mode-ready structure).

JavaScript handles the logic. I created dynamic dropdowns so that when a user selects “Honda,” the model list only shows Honda cars.

  1. The Result 🎉
    The app is now live! You can input your car’s details, click “Predict,” and get a price estimate in milliseconds without refreshing the page.

  2. What’s Next?
    I plan to deploy this soon and maybe add more features like current market trends graphs.
    Happy New Year and Happy Coding!

Attachment
1

Comments

Scutoid
Scutoid 3 months ago

ai devlog and frontend

techwizard

Shipped this project!

I created an AI-powered Spam Classifier to filter out junk messages. It works by converting text into numerical vectors and feeding them into a trained machine learning model to predict if a message is “Spam” or “Ham.”

Key takeaways:

Model Persistence: Learned that saving an empty model doesn’t work (oops!).
Deployment: Mastered the art of configuring environment variables on Render.
NLP: Got hands-on experience with tokenization and stemming.
It feels great to see it running live after solving those crushing errors!

techwizard

I’m excited to share that I’ve successfully deployed my latest Machine Learning project: an SMS & Email Spam Detector.

💡 The Problem: We all get annoying spam messages. I wanted to build a model that could filter them out in real-time using Natural Language Processing (NLP).

🛠️ The Tech Stack:

Python & Scikit-Learn: For building the model (tested Naive Bayes, SVM, and Voting Classifiers).

NLTK: For text preprocessing (tokenization, stemming, stopword removal).

Streamlit: For creating the interactive web interface.

Render: For cloud deployment.

📉 The Challenges: It wasn’t a straight path! I spent hours debugging NotFittedErrors, fixing sparse vs. dense matrix mismatches, and resolving dependency conflicts during deployment. But getting that green “Deploy Succeeded” checkmark was worth it.
#MachineLearning #Python #Streamlit #NLP #DataScience #OpenSource #Coding

Attachment
0
techwizard

Shipped this project!

It’s a web application designed to cure “social media writer’s block.” Users simply enter a topic or vibe, and the app uses AI to generate custom bios and trending hashtags instantly.

What I learned: This project was a deep dive into full-stack Django. While building the logic was fun, the real challenge was deployment. I learned the hard way about the differences between local development and production environments—specifically configuring Gunicorn correctly and managing static files so the CSS actually loads on the live server. It was a great lesson in troubleshooting and persistence!

techwizard

We’ve all stared at a blank Instagram or LinkedIn profile, wondering what to write. I wanted to build a tool that solves “writer’s block” for social media. The goal was simple: Input a topic, get a creative bio or trending hashtags instantly.

Attachment
Attachment
Attachment
0
techwizard

Shipped this project!

I created this portfolio to showcase my technical skillset and highlight my strong passion for learning Artificial Intelligence and Machine Learning.

techwizard

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build. I create a portfolio.

Attachment
0