Skip to content
View viochris's full-sized avatar
📚
Learning
📚
Learning

Highlights

  • Pro

Block or report viochris

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
viochris/README.md
Typing SVG

UniversityLocation


PortfolioLinkedInEmailGitHub



Profile ViewsFollowersStars

A Data Science Enthusiast & Computer Science Student

ASCII Portrait Animation
Coding AnimationReal Coding

I am a 7th-semester Informatics Engineering student at Universitas Dian Nuswantoro (UDINUS), Indonesia. My journey is driven by curiosity—turning raw data into meaningful stories. I specialize in mining insights from structured numbers (Tabular) and unstructured language (Text/NLP).


📚 Table of Contents


🧐 What I'm Focusing On

  • Data Science: Exploratory Data Analysis (EDA), Feature Engineering, and Model Building.
  • NLP (Natural Language Processing): Text Classification, Sentiment Analysis, and Language Modeling.
  • Tabular Data: Handling imbalanced datasets (SMOTE/SMOTENC), preventing data leakage, and interpretability.

🛠️ Tech Stack & Tools

Skill Icons

Languages:PythonSQL

Data Science & Machine Learning:PandasNumPyScikit-LearnTensorFlow

NLP, GenAI & LLMOps:Google GeminiGroqHugging FaceLangChainCrewAIFAISSPinecone

Web Frameworks & UI:StreamlitFastAPIFlask

Automation, Bots & DevOps:TelegramPrefectDocker

Databases:MySQL

Data Analytics & Visualization:TableauPower BILooker StudioExcelMatplotlibSeaborn

Environment & Tools:Google ColabKaggleJupyterGitVS CodeGoogle AntigravityFirebase Studio (IDX)


🌱 Currently Exploring & Next on My Radar

Technologies I am actively learning and integrating into upcoming projects.

LangGraphDSPyLiteLLMLangfusePhoenix ArizeFastMCP


🚀 Featured Projects

Here is a comprehensive list of my Data Science & AI projects, ranging from robust predictive modeling to API deployment and NLP exploration:

🌟 Top Repositories:

InsightSQL LangGraphAuto-README GeneratorSpendSense

🤖 GenAI & Interactive Applications

Interactive AI agents and chatbots powered by RAG and LLMs.

Projects

Project NameDomainKey TechDescription
Auto-README GeneratorGenAI / DevToolCrewAI, Gemini 2.5 Flash, StreamlitAgentic Documentation Builder. A multi-agent AI system that deeply analyzes Python/Jupyter codebases and synthesizes them with strategic business metrics. Instantly generates CTO-ready, industry-standard Markdown documentation.
InsightSQL (LangGraph Engine)GenAI / Graph AgentLangGraph, Gemini 2.5 FlashState-of-the-Art Reasoning. The evolution of SQL Agents using Graph Architecture. Uses Cyclic Reasoning to query, validate, and self-correct errors in real-time with full "Glass Box" transparency.
InsightData (AI Analyst)GenAI / Data AnalystPandas Agent, Gemini 2.5 FlashAutomated Data Scientist. A ReAct agent that analyzes CSVs, Excel, & Google Sheets. Generates Python code for cleaning, deep-dive statistical analysis, and auto-visualization (Matplotlib) on the fly.
InsightSQL (ReAct Engine)GenAI / SQL AgentLangChain (ReAct), Gemini 2.5 FlashAdvanced Reasoning Agent. Intelligent DBA using ReAct Architecture (Thought-Action-Observation) to reason through messy data. Features Glass Box AI transparency, self-correction, and multilingual business insights.
InsightSQL (Simple)GenAI / SQL AgentLangChain (SQL Agent), Gemini 2.5 FlashZero-Shot SQL Engine. Streamlined Text-to-SQL assistant using standard create_sql_agent. Efficiently maps schema to queries with real-time execution feedback via Streamlit Callbacks.
Chat with Vio (Portfolio AI)GenAI / PortfolioStreamlit, LangChain, Gemini 2.5Interactive CV. A personalized RAG assistant that "chats" with a professional profile. Features Strict Anti-Hallucination, bilingual support (EN/ID), and a responsive UI optimized for recruiters.
DocuTalk-AI (Smart RAG)GenAI / RAGLangChain, Gemini 2.5 Flash, FAISSAgentic Workflow. Intelligent document assistant using ReAct Agents to decide between Document retrieval (PDF, CSV, TXT, MD) (FAISS) or Web Search. Features Incremental Indexing (cost-efficient), strict language control, and session export.
DocuFlow-AI (Fast RAG)GenAI / RAGLangChain, Gemini 2.5 Flash, FAISSHigh-Performance Engine. Streamlined RAG using ConversationalRetrievalChain for instant, precise analysis (PDF, CSV, MD). Features Transparent Verification (Source & Score), incremental indexing, and zero agentic latency.
DocuChat AI (Long Context)GenAI / LLMGemini 2.5 Flash, Streamlit, PythonFull Context Approach. Analyzing entire PDFs without chunking (RAG alternative) using Gemini's massive context window. Features Strict Language Enforcement and real-time token monitoring.
AI Recipe GeneratorGenAI / AgentLangChain, Gemini, StreamlitAgentic App. Orchestrated a cooking assistant using LangChain ReAct Agents and Gemini 2.5 Flash to detect ingredients (Vision) and generate recipes with conversation memory.

🔌 Backend & Deployment (MLOps)

High-performance APIs and production-ready inference engines.

Projects

Project NameDomainKey TechDescription
Maternal Health Risk APIAPI / MLOpsFastAPI, Pydantic, CatBoost, LIMEExplainable Risk-Triage Microservice. A RESTful backend serving a tuned CatBoost classifier via /predict and /explain endpoints, returning both a risk classification and an interactive LIME explanation. Features strict Pydantic input validation against clinical vital-sign bounds and structured, multi-category error handling.
Resume Scanner APINLP / ATSFastAPI, SBERT, TF-IDFDual-Engine ATS Optimizer. A stateless API analyzing resumes against job descriptions. Features Strict Mode (TF-IDF) for keyword matching and Flexible Mode (SBERT) for semantic relevance.
Portfolio API (Backend)Backend / APIFastAPI, Docker, FAISSHeadless RAG Engine. The high-performance backend serving the portfolio data. Features Swagger UI for testing, structured JSON responses with Source Citations, and fully Dockerized deployment on Hugging Face Spaces.
Stuntify API (MLOps)API / MLOpsFastAPI, Pydantic, Scikit-LearnHigh-Performance Engine. A robust inference system using FastAPI to serve real-time stunting predictions. Features strict Type Coercion, multi-artifact orchestration, and interactive Swagger documentation. (Note: Trained on synthetic data and for demonstration purposes only).
Insightify API (NLP)NLP / APIFastAPI, Transformers, PandasDual-Lingual Analytics. NLP microservice for English & Indonesian sentiment using RoBERTa. Features Batch Processing (Excel/CSV), N-Gram keyword extraction, and automated text statistics.
Stunting Prediction APIAPI / MLOpsFlask, PythonDeployment. Serving the stunting prediction model as a RESTful API for real-time inference using Flask.

⚙️ Automation & Orchestration

Scheduled workflows, autonomous bots, and task management systems.

Projects

Project NameDomainKey TechDescription
NovaCal AI (Stateful Telegram)GenAI / AssistantLangChain, SQL, Gemini FlashStateful Calendar Assistant. An advanced Telegram bot featuring an SQL-backed conversational memory architecture. Enables natural, multi-turn dialogue for Google Calendar management (CRUD) without losing context between messages.
⚠️Note: Please read the repository disclaimers. Due to high API quota consumption and memory constraints, this version is highly recommended as an educational resource rather than for daily practical use. For actual daily practical use, please use the Stateless Edition. You can also try the new Ephemeral Edition if you want a balanced middle-ground with temporary RAM memory.
NovaCal AI (Ephemeral Telegram)GenAI / AssistantLangChain, RAM, Gemini FlashSlot-Filling Calendar Assistant. An optimized Telegram bot utilizing an ephemeral, RAM-based conversational memory. It retains context just long enough to gather missing parameters for a calendar task, then automatically purges its memory upon completion to save API tokens and prevent hallucinations. The ideal middle-ground architecture.
NovaCal AI (Stateless Telegram)GenAI / AssistantLangChain, PTB, Gemini FlashZero-Memory Calendar Assistant. A lightning-fast, stateless Telegram bot utilizing LangChain and Gemini to manage Google Calendar events via strict tool-calling. Optimized for quick, single-turn executions with maximum token efficiency.
NovaCal AI (Streamlit Edition)AI DashboardStreamlit, LangChain, GeminiInteractive AI Calendar Dashboard. A web-based visual interface for intelligent calendar management. Features a stateful LangChain agent utilizing a session-based conversational memory buffer to handle complex scheduling requests alongside a dynamic UI.
NovaTasks AI (Ephemeral Telegram)GenAI / AssistantLangChain, RAM, Gemini FlashSlot-Filling Tasks Assistant. A conversational Telegram bot integrated with Google Tasks. Built using LangChain and Google Gemini, it utilizes an ephemeral RAM-based memory architecture to intuitively handle complex, multi-turn to-do list management (CRUD) while aggressively saving API tokens and preventing AI hallucinations.
NovaMail AI (Gmail Autoresponder)GenAI / EmailGmail API, Gemini Flash, RequestsAutonomous Inbox Assistant. An automated bot that continuously checks your Gmail for new messages. It uses Gemini AI to read the emails and automatically send smart, professional replies. It keeps the replies neatly organized in the original email thread and instantly sends you a summary report on Telegram. This is a general-purpose implementation; for further customization, please refer to the repository README.
Daily Agenda BroadcasterAutomationPython, Google Calendar APIScheduled Notification Engine. An automated workflow that triggers at designated intervals to fetch the day's upcoming events directly from Google Calendar and dispatches a clean, formatted briefing to a designated Telegram chat.
AI Vision GeneratorGenAI / VisionPTB, Hugging Face, SDXLText-to-Image Telegram Bot. Integrates with the Hugging Face Inference API (stabilityai/stable-diffusion-xl-base-1.0) to instantly render high-quality images based on user text prompts and seamlessly deliver them directly back to the Telegram chat.
Conversational AI InterfaceGenAI / ChatbotPTB, Gemini FlashInteractive LLM Bridge. A streamlined integration bridging Telegram and Google's Gemini model using the python-telegram-bot framework. Processes user prompts in real-time and delivers intelligent, generative responses natively within the chat application. Excellent as a foundational learning resource for python-telegram-bot (PTB) beginners, demonstrating a clear, end-to-end data flow: capturing user input from Telegram, processing it through the Gemini API, and delivering the generated response directly back to the chat interface.
Daily AI News DigestOrchestrationPrefect, DuckDuckGo, Gemini FlashAutonomous Intelligence Agent. A fully automated pipeline that scrapes real-time news via DuckDuckGo, synthesizes summaries with Gemini, and delivers daily digests to Telegram with fail-fast logic. ⚠️Disclaimer: Source links may occasionally be imprecise, increasing the risk of AI hallucinations from short snippets. Always verify facts independently.
Automated Image PipelineOrchestrationPrefect, Hugging Face, GSheetsConsumer Bot (Art Gen). The downstream consumer in the Creative Ecosystem. It reads prompts from GSheets (fed by either the Daily Prompt Generator or Batch Prompt Generator), generates AI art via Hugging Face, and publishes to Telegram.
Daily Prompt GeneratorGenAI / ETLPrefect, Gemini Flash, GSheetsProducer Bot (1 Item). Wakes up daily to craft exactly 1 prompt using Gemini and logs it to GSheets. Generates 1 prompt per execution. Designed to work with the Automated Image Pipeline. See Batch Version if you want to generate 3 prompts per run.
Batch Prompt GeneratorGenAI / ETLPrefect, Gemini Flash, GSheetsProducer Bot (3 Items). Wakes up daily to craft exactly 3 prompts in a single API call and bulk-uploads them to GSheets. Efficient for filling the queue fast. Designed to work with the Automated Image Pipeline. See Standard Version if you only want 1 prompt per run.
Daily Quote Automator (Standard Version)AutomationPrefect, Gemini, RequestsSimple HTTP Bot. A lightweight automation using direct requests (Synchronous). Wakes up daily to synthesize developer motivation. See PTB Version for the Library implementation.
Daily Quote Bot (PTB Version)AutomationPrefect, Gemini, AsyncLibrary Wrapper Bot. An alternative implementation using the official python-telegram-bot library. See Standard Version if you prefer the lighter requests method.

📊 Data Science (Applied ML & Model Building)

In-depth data analysis, model training, NLP implementation, and academic research.

Projects

Project NameDomainKey TechDescription
Maternal Health Risk (Research)TabularCatBoost, imbalanced-learn, LIMEClinical Risk Benchmarking. Compared 6 classifiers against 6 class-imbalance handling techniques to predict maternal health risk from vital signs, then tuned and interpreted the best model with LIME. (Trained on the UCI Maternal Health Risk dataset from rural Bangladesh).
Maternal Health Risk (Streamlit)Tabular / AppStreamlit, CatBoost, LIMEDual-Architecture Demo App. Two parallel Streamlit dashboards for the same risk model: a self-contained version running inference in-process, and a client version consuming a separate FastAPI backend, illustrating monolithic vs. decoupled deployment patterns side by side.
Maternal Health Risk (Gradio)Tabular / AppGradio, CatBoost, LIMEDual-Architecture Demo App. The Gradio counterpart to the Streamlit app above, offering the same in-process vs. API-client comparison with a Gradio-based UI and embedded LIME explanations.
Depression PredictorTabularScikit-Learn, Streamlit, ImbPipelineComparative ML Pipeline. An end-to-end web app demonstrating a complete workflow: baseline modeling, handling rare categories, and addressing class imbalance. (Note: Developed for a university assignment to demonstrate preprocessing techniques).
SpendSense (Financial AI)GenAI / AppStreamlit, LangChain, Gemini VisionConversational Finance App. Integrates Pandas Agent for natural language queries ("How much did I spend on food?"), Gemini Vision for OCR receipt scanning, and automated ETL with Google Sheets.
Streamlit Resume ScannerNLP / Applied MLSBERT, Scikit-Learn, StreamlitDual-Engine CV Analyzer. A hybrid NLP tool combining Strict ATS Logic (TF-IDF) and Semantic Search (SBERT Embeddings) to calculate resume-job fit and detect missing keywords.
Diabetes Prediction (Robust)TabularScikit-Learn, SMOTEBest Practice. Built a robust model ensuring no data leakage by applying Scaling & SMOTE after data splitting.
Stunting AnalysisTabularSMOTENC, Tree VizHandling categorical imbalance with SMOTENC and visualizing decision paths (Pruned Tree) for interpretability. (Note: Trained on synthetic data and for demonstration purposes only).
Review Sentiment AnalyzerNLPTransformers, PythonLeveraging Hugging Face pre-trained models to accurately classify text sentiment (Positive/Negative).
Diabetes Paper ReplicationAcademicPython, PandasResearch Study. Replicating a specific research paper's methodology (including its pre-split scaling technique) for comparative analysis.

📈 Data Analytics & Visualization

Focusing on exploratory data analysis (EDA), business intelligence dashboards, and visual storytelling.

Project NameDomainKey TechDescription
Supermarket Sales DashboardRetail AnalyticsTableau PublicSales & Operations. Dashboard monitoring Total Sales, COGS, and Customer Ratings across major cities. Features breakdown by Payment Methods (E-wallet/Cash) and Product Line performance.
Bike Sales DashboardExecutive SalesTableau PublicRevenue Tracker. High-level executive view of Revenue and Unit Sales. Analyzes performance by US States, Brand Names, and identifies Top 10 High-Value Customers.

🎮 Experimental & Fun Projects

Creative coding projects exploring logic flows, real-time communication, and game-like interactions.

Projects

Project NameDomainKey TechDescription
Conversational AI AgentGenAI / PersonaStreamlit, Gemini LLMRoleplay Chatbot. An engaging AI companion simulating a romantic partner using Google Gemini, featuring persistent memory and dynamic persona adaptation.
Real-time Chat GroupSocial / SocketPython, NetworkingMulti-User Chat. A casual project exploring real-time communication and socket programming principles to create a functional group chat environment.

⚠️ Disclaimer: These projects are created purely for educational purposes and fun. They are provided "as-is" without warranty of any kind. The author is not responsible for any security vulnerabilities, data loss, or misuse resulting from the deployment of this code. Not intended for production use.


✍️ Latest Blog Posts (Medium)

📈 GitHub Stats

GitHub Streak
Profile DetailsProductive TimeMost Commit Language
GitHub StatsTop Languages

⏱️ WakaTime Weekly Stats

Code Time

AI Code Time

🐱 My GitHub Data

📦 187.5 kB Used in GitHub's Storage

🏆 860 Contributions in the Year 2026

💼 Opted to Hire

📜 78 Public Repositories

🔑 10 Private Repositories

I'm an Early 🐤

🌞 Morning 346 commits ███████░░░░░░░░░░░░░░░░░░ 29.35 % 🌆 Daytime 680 commits ██████████████░░░░░░░░░░░ 57.68 % 🌃 Evening 152 commits ███░░░░░░░░░░░░░░░░░░░░░░ 12.89 % 🌙 Night 1 commits ░░░░░░░░░░░░░░░░░░░░░░░░░ 00.08 % 

📅 I'm Most Productive on Friday

Monday 125 commits ███░░░░░░░░░░░░░░░░░░░░░░ 10.60 % Tuesday 159 commits ███░░░░░░░░░░░░░░░░░░░░░░ 13.49 % Wednesday 167 commits ████░░░░░░░░░░░░░░░░░░░░░ 14.16 % Thursday 147 commits ███░░░░░░░░░░░░░░░░░░░░░░ 12.47 % Friday 257 commits █████░░░░░░░░░░░░░░░░░░░░ 21.80 % Saturday 197 commits ████░░░░░░░░░░░░░░░░░░░░░ 16.71 % Sunday 127 commits ███░░░░░░░░░░░░░░░░░░░░░░ 10.77 % 

📊 This Week I Spent My Time On

🕑︎ Time Zone: Asia/Jakarta
💬 Programming Languages: Python 12 hrs ███████████████████████░░ 92.51 % Bash 43 mins █░░░░░░░░░░░░░░░░░░░░░░░░ 05.58 % Nix 7 mins ░░░░░░░░░░░░░░░░░░░░░░░░░ 00.96 % Text 3 mins ░░░░░░░░░░░░░░░░░░░░░░░░░ 00.49 % Other 1 min ░░░░░░░░░░░░░░░░░░░░░░░░░ 00.19 % 🔥 Editors: VS Code 12 hrs 58 mins █████████████████████████ 100.00 % 🐱‍💻 Projects: ai-resep 12 hrs 58 mins █████████████████████████ 100.00 % 💻 Operating System: Linux 12 hrs 58 mins █████████████████████████ 100.00 % 

🤖 AI Coding This Week

No AI Coding Activity Tracked This Week

I Mostly Code in Python

Python 46 repos ███████████████░░░░░░░░░░ 58.23 % Jupyter Notebook 13 repos ████░░░░░░░░░░░░░░░░░░░░░ 16.46 % Swift 1 repo ░░░░░░░░░░░░░░░░░░░░░░░░░ 01.27 % TypeScript 1 repo ░░░░░░░░░░░░░░░░░░░░░░░░░ 01.27 % JavaScript 1 repo ░░░░░░░░░░░░░░░░░░░░░░░░░ 01.27 % 

Last Updated on 10/08/2026 01:05:13 UTC

GitHub Trophies
Contribution Activity Graph
Contribution Snake animation

3D Isometric Contribution Calendar

GitHub Metrics Isometric Calendar

📫 Connect with Me & Resume

Download CVView CV
EmailLinkedIn

💜 If you find my work interesting, consider giving a star to my repositories! 💜

Visitors


"Data is the new oil, but it's useless without the engine to refine it."

Pinned Loading

  1. Conversational-AI-AgentConversational-AI-AgentPublic

    Python 1

  2. Simple-Sentiment-AnalysisSimple-Sentiment-AnalysisPublic

    Python 1

  3. Diabetes-prediction-projectDiabetes-prediction-projectPublic

    🔍 Predict diabetes using ML + Streamlit — Full pipeline with dashboard & joblib model!

    Jupyter Notebook 1

  4. Diabetes-prediction-fine-tuned-projectDiabetes-prediction-fine-tuned-projectPublic

    🔍 Predict diabetes using ML + Fine Tuning + Streamlit — Full pipeline with dashboard & joblib model!

    Jupyter Notebook 1

  5. Stunting-prediction-projectStunting-prediction-projectPublic

    Jupyter Notebook 1

  6. API-StuntifyAPI-StuntifyPublic

    Python 1