How prince-chhirolya/projects-series works
This repository is a portfolio-style monorepo of many standalone ML/data-science projects, not a single integrated application. The main architectural boundary is folder-per-project: each directory contains its own notebook, sample data, and sometimes a small app or model artifact.
1. Top-level shape
- The root contains only repository hygiene files plus dozens of independent project folders.
- There is no shared backend, central package, or common runtime across all projects.
- .github/dependabot.yml suggests dependency maintenance is handled at the repo level, but the projects themselves are isolated.
2. Common project pattern
- Most folders follow the same structure: README.md + one or more notebooks (.ipynb) + local datasets (.csv, images, JSON, videos) + occasional trained outputs.
- This means the primary data flow is usually: local dataset → notebook/script → trained model / analysis output → optional demo UI.
3. Notebook-centric analysis and experimentation
- Many projects are pure notebooks for exploratory analysis, model training, and evaluation.
- Examples include statsmodels analysis, causal inference, epidemic modeling, Lotka-Volterra simulations, image segmentation, GAN augmentation, and several classification notebooks.
- These are typically self-contained and use the notebook as both implementation and documentation layer.
4. Classical ML / tabular prediction track
- A large cluster focuses on tabular ML with CSV inputs and standard supervised learning workflows.
- Examples: diabetes prediction, traffic volume prediction, cancer prediction, frog toxicity prediction, used-car price prediction, fake news detection, writer fingerprinting, Naive Bayes classification.
- The architectural pattern is: CSV data → preprocessing → model training/evaluation → saved model or notebook output.
5. Deep learning / vision track
- Another cluster uses CNNs, ViT, YOLO, OpenCV, and related computer vision tooling.
- Examples: road sign recognition, cats vs dogs classification, anomaly detection in medical images, object detection web app, safety helmet detection, hand sign detection, multiple hand detection, image forgery detection, vision transformer image classification.
- These projects often include heavier artifacts such as pretrained weights (yolov8n.pt), trained model folders, or dataset builders.
6. Interactive web app layer
- Some projects add a small UI layer on top of model or data logic.
- Streamlit appears in multiple places: the data-centric web app, the YOLOv8 object detection app, and the population modeling web-sharing examples.
- One project uses a Flask-style app structure for image forgery detection (app.py, templates, static, uploads), while another uses Gradio for image colorization.
- In these cases the flow is: user input → model/analysis logic → rendered result in web UI.
7. Data visualization and geospatial reporting
- Several projects are centered on visual analytics rather than prediction.
- Examples: Folium crash maps, Plotly/Mapbox geospatial visualization, Streamlit-based map/plot explorer, stats visualizations in notebooks.
- These projects typically transform CSV data into charts or maps, with no persistent service layer.
8. NLP / text / audio projects
- There is a distinct set of language and speech tasks: chatbot with NLTK/TensorFlow, email spam classification with LSTM and Word2Vec, auto-tagging content categorization, fake news detection, knowledge graph extraction, and Whisper speech recognition fine-tuning.
- The data flow here is mostly text corpus or intents JSON → preprocessing/tokenization/embeddings → model or extracted structure.
9. Simulation and scientific modeling
- The population modeling folder contains multiple subdomains: epidemic SIR variants, Game of Life, and Lotka-Volterra dynamics.
- These are simulation-heavy and often include interactive notebooks, plots, phase-space analysis, and parameter fitting.
- The “Web_Sharing” subfolder shows these simulations can be exported to lightweight HTML or Streamlit/Datapane views.
10. Artifacts and pretrained outputs
- Some folders include saved assets that are part of the project boundary: model.json, trained_model/, model.onnx, yolov8n.pt, dataset metadata, HTML examples, and generated media files.
- These artifacts are not shared globally; they belong to the specific project that produced them.
11. Storage and I/O model
- The repo is file-based and local-first.
- Inputs are usually bundled alongside code as CSVs, images, videos, or JSON.
- Outputs are likewise local: notebooks, exported HTML, trained weights, or app uploads folders.
- There is no indication of a central database, message bus, or cloud service dependency.
12. Architecture takeaway for a diagram
- The most accurate diagram is not a single system diagram, but a hub-and-spoke collection of independent mini-systems.
- At the top level: “Personal Projects Series” as the repository container.
- Below that: several parallel lanes such as tabular ML, computer vision, NLP/audio, simulation, and interactive web demos.
- Each lane typically connects data files → notebook/script → optional model artifact/UI, with minimal coupling across folders.
Main entry points: Population Modeling and Simulations in Python Population · Build an Object Detection Web App with YOLOv8 and Streamlit YOLO App · ImageForgeApp Forgery App · Web_Sharing Web Sharing
Components 34
Repository
Monorepo container and hygiene files
- projects-series · Portfolio repository of isolated ML/data-science projects
- Tabular ML · Independent classical ML projects on local datasets
- Vision · Image classification, detection, and segmentation projects
- NLP & Audio · Text, chat, speech, and media generation projects
- Simulation · Population dynamics and agent-based modeling
- Visualization · Geospatial and chart-driven analysis projects
- Interactive Apps · Small UI layers wrapped around notebooks or models
Tabular ML
CSV-driven supervised learning and statistical analysis
- Statsmodels · Statistical analysis over housing data
Analyze Data with statsmodels - Diabetes Model · Binary prediction model with saved JSON artifact
Diabetes Prediction Using Keras - Traffic Volume · Supervised prediction on traffic data
Predict Traffic Volume Using Machine Learning - Frog Toxicity · Tabular toxicity prediction with ONNX model artifact
Predict Frog Toxicity with Python and XGBoost - Writer IDs · Handwriting-based writer classification
Detect a Writer’s Fingerprints Using Machine Learning - Fake News · Text classification for misinformation detection
Fake News Detection Using Scikit-learn
Computer Vision
CNN, ViT, YOLO, and image-processing projects
- Road Signs · CNN and ViT experiments for road sign recognition
Build a Road Sign Recognition System with CNN - Cats vs Dogs · Image classification on a classic binary dataset
Cats vs Dogs Classification with CNN - Image Anomaly · Medical image anomaly detection and dataset builder
Anomaly Detection in Medical Images - YOLO App · YOLOv8 inference wrapped in Streamlit
Build an Object Detection Web App with YOLOv8 and Streamlit - Helmet Detect · Safety helmet detection workflow
Building a System for Safety Helmet Detection Based on YOLOv5 - Forgery App · Image forgery detector with templates and uploads
Image Forgery Detector/ImageForgeApp - Colorize · Grayscale image colorization demo
Colorize Your Grayscale Images Using DeOldify and Gradio
NLP & Audio
Text, language, speech, and sequence modeling
- Chatbot · Intent-based chatbot using NLTK and TensorFlow
Develop a Chatbot Using Python, NLTK, and TensorFlow - Email Spam · Spam filtering with embeddings and sequence modeling
Email Classification with LSTM and Word2Vec - Auto-Tagging · Content categorization and tagging from text data
Auto-Tagging System for Content Categorization - Whisper · Speech recognition fine-tuning experiments
Speech Recognition with Whisper - Music Gen · Artificial music generation experiment
Generating New Music with Artificial Intelligence - Knowledge Graph · Text-to-graph extraction with HTML example output
Create a Knowledge Graph from Text
Simulation
Scientific modeling and dynamical systems
- Population · Scientific modeling umbrella for several dynamics notebooks
Population Modeling and Simulations in Python - Epidemics · Deterministic, agent-based, and stochastic epidemic models
Population Modeling and Simulations in Python/Epidemic_Modeling - Game of Life · Cellular automaton simulation and animation
Population Modeling and Simulations in Python/Game_Of_Life - Lotka-Volterra · Predator-prey and growth dynamics with interactive analysis
Population Modeling and Simulations in Python/Lotka_Volterra
Visualization
Maps, charts, and geospatial reporting
- Crash Maps · Folium-based map visualization of crash records
Visualize Geospatial Data Using Folium - Map Visuals · Plotly and Mapbox geospatial visualization
Visualize Geospatial Data Using Plotly and Mapbox
Interactive Apps
Streamlit, Flask, Gradio, and web demos
- Web Sharing · HTML and Streamlit/Datapane exports for simulations
Population Modeling and Simulations in Python/Web_Sharing - Data App · Data-centric explorer with local preprocessing and plotting helpers
Build a Data-centric Web App Using Streamlit
Connections 36
- projects-series → Tabular ML: contains · Top-level lane in the portfolio repo
- projects-series → Vision: contains · Top-level lane in the portfolio repo
- projects-series → NLP & Audio: contains · Top-level lane in the portfolio repo
- projects-series → Simulation: contains · Top-level lane in the portfolio repo
- projects-series → Visualization: contains · Top-level lane in the portfolio repo
- projects-series → Interactive Apps: contains · Top-level lane in the portfolio repo
- Tabular ML → Statsmodels: example · Statistical analysis notebook over CSV data
- Tabular ML → Diabetes Model: example · Keras-based tabular prediction
- Tabular ML → Traffic Volume: example · Traffic volume prediction workflow
- Tabular ML → Frog Toxicity: example · XGBoost tabular model with exported ONNX artifact
- Tabular ML → Writer IDs: example · Writer classification from tabular features
- Tabular ML → Fake News: example · Classical text/tabular classifier
- Vision → Road Signs: example · CNN/ViT image classification
- Vision → Cats vs Dogs: example · Binary image classification
- Vision → Image Anomaly: example · Medical image anomaly detection workflow
- Vision → YOLO App: example · YOLOv8 detection app
- Vision → Helmet Detect: example · YOLO-based safety helmet detection
- Vision → Forgery App: example · Flask image-forgery demo
- Vision → Colorize: example · Gradio image colorization demo
- NLP & Audio → Chatbot: example · Intent chatbot notebook and script
- NLP & Audio → Email Spam: example · Sequence model for spam filtering
- NLP & Audio → Auto-Tagging: example · Content tagging and categorization
- NLP & Audio → Whisper: example · Speech recognition fine-tuning
- NLP & Audio → Music Gen: example · Music generation experiment
- NLP & Audio → Knowledge Graph: example · Text mining into graph structure
- Simulation → Population: umbrella · Parent folder for simulation subdomains
- Population → Epidemics: contains · Epidemic modeling notebooks
- Population → Game of Life: contains · Game of Life notebooks
- Population → Lotka-Volterra: contains · Lotka-Volterra and growth notebooks
- Population → Web Sharing: exports · HTML/Streamlit/Datapane sharing layer
- Visualization → Crash Maps: example · Folium map analysis
- Visualization → Map Visuals: example · Plotly/Mapbox geospatial visualization
- Interactive Apps → Data App: example · Streamlit data explorer with preprocessing helpers
- Interactive Apps → YOLO App: shares pattern · Small model-serving UI around YOLO inference
- Interactive Apps → Forgery App: shares pattern · Web UI wrapping image analysis logic
- Interactive Apps → Web Sharing: shares pattern · Lightweight publishing of notebook outputs