<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NIRANJAN LAMICHHANE</title>
    <description>The latest articles on DEV Community by NIRANJAN LAMICHHANE (@niranjannlc).</description>
    <link>https://dev.to/niranjannlc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F577981%2F6afec0bf-fa5e-401b-a390-565d09e3982b.jpeg</url>
      <title>DEV Community: NIRANJAN LAMICHHANE</title>
      <link>https://dev.to/niranjannlc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/niranjannlc"/>
    <language>en</language>
    <item>
      <title>Coffee, Code, and Junie: My Journey to 10x Productivity with JetBrains AI</title>
      <dc:creator>NIRANJAN LAMICHHANE</dc:creator>
      <pubDate>Tue, 03 Feb 2026 14:25:59 +0000</pubDate>
      <link>https://dev.to/niranjannlc/coffee-code-and-junie-my-journey-to-10x-productivity-with-jetbrains-ai-27m4</link>
      <guid>https://dev.to/niranjannlc/coffee-code-and-junie-my-journey-to-10x-productivity-with-jetbrains-ai-27m4</guid>
      <description>&lt;h3&gt;
  
  
  Dream of 10x Developer :
&lt;/h3&gt;

&lt;p&gt;I've always chased that mythical 10x developer status—that magical state where code flows like water, bugs vanish before they form, and architecture emerges perfectly from the chaos.But something was holding me back to achieve this . &lt;br&gt;
I'm an IntelliJ evangelist. The keyboard shortcuts are muscle memory, the UI feels like home, and Android Studio is basically family. But every time I tried AI coding assistants, I hit the same wall—they all lived in VS Code's world. The mental context switching was killing my flow state.&lt;/p&gt;

&lt;p&gt;At this time , the intelij ide announces this hackathon of the Sky limit , providing myself the free credit and opportunity to try out junie and ai assisted coding .Its  like a gift from the coding gods: free access to Junie, an AI assistant built right into my beloved IDE.&lt;/p&gt;

&lt;p&gt;Same time , i was  starting to learn python and data science too .  To get maximum advantage of junie , i install python plugin in intelij ide to give a try to python and data science . Later , i found that Jetbrains have similar product “ Pycharm “ for this purposes. &lt;br&gt;
    Enough about me , lets talk about what I built  with the help of junie . &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fycmeuq0agz5z0ofczt5h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fycmeuq0agz5z0ofczt5h.png" alt="Homepage " width="800" height="429"&gt;&lt;/a&gt;&lt;br&gt;
I built ScrIM Coach, which  is an esports performance analysis tool that transforms raw League of Legends match data into actionable coaching insights. We  analyzes professional team performance using the GRID Esports API to identify strategic patterns, execution gaps, and draft weaknesses. We provide executive summary , detailed analysis , practice planning by analyzing the data to the coach . The coach can also print out the action plan from the insight we have constructed . &lt;/p&gt;

&lt;p&gt;The project is licenced under MIT license in following  &lt;a href="https://github.com/NiranjanNlc/CLOUD9-skylimit-hackathon" rel="noopener noreferrer"&gt;source :&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can try out at : &lt;a href="https://cloud9-skylimit-hackathon-1.onrender.com/" rel="noopener noreferrer"&gt;here &lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  My Favourite part :
&lt;/h3&gt;

&lt;p&gt;Favourite part of me was the BRAVE MODE. I give complete control over the junie to make changes to the project and its file . After providing prompt , i can have long sip of the coffee , read the hackathon details and submission requirement , while junie have completed the tasks . &lt;br&gt;
I'd write a prompt like 'Refactor this to follow clean architecture with proper separation of concerns,' take a long sip of coffee, watch Junie restructure 15 files simultaneously, and return to a codebase that was suddenly... beautiful. The best part? Nothing broke. Tests still passed. The UI still rendered&lt;/p&gt;

&lt;h3&gt;
  
  
  Important Contribution :
&lt;/h3&gt;

&lt;p&gt;The most important contribution junie make in my productivity is during the ui enhancement . Being the backend developer and android engineer previously , pixel perfect ui seems to be not my cup of tea. But using junie , i can not only draft , but also implement pixel perfect ui , in many cases , junie does it by itself , what we have to do is attach the screen shot of what went wrong and what is your desired output . &lt;/p&gt;

&lt;h3&gt;
  
  
  Impressive Refactoring  :
&lt;/h3&gt;

&lt;p&gt;The most powerful ability and impressive things about junie  for me is its ability to refactor without breaking the functionality and UI . I initially designed the working MVp with some trash architecture without following any pattern and standard . I refactor the whole of my mvp to adhere to solid principle and clean code architecture in the single prompt . Interestingly , nothing breaks at all  and i would be able to add new feature after that in more easier and scalable way. &lt;/p&gt;

&lt;h3&gt;
  
  
  UI Magic for Backend Developers:
&lt;/h3&gt;

&lt;p&gt;The most important contribution junie make in my productivity is during the ui enhancement . Being the backend developer and android engineer previously , pixel perfect ui seems to be not my cup of tea. But using junie , i can not only draft , but also implement pixel perfect ui , in many cases , junie does it by itself , what we have to do is attach the screen shot of what went wrong and what is your desired output . &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwqr0lvkcplw22ep58cu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwqr0lvkcplw22ep58cu.png" alt="Anaysis output" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Flow State Achievement:
&lt;/h3&gt;

&lt;p&gt;My workflow was made more smoother and i have attained the flow state during my this journey of hackathon . Adding feature , enhancing functionality were just a prompt away  and its debug mode executed by itself makes it produce the code which is actually  working . &lt;/p&gt;

&lt;h3&gt;
  
  
  Most Misused Capability :
&lt;/h3&gt;

&lt;p&gt;Not only i used Junie , I also misused junie , especially in the work of version control . I ordered ( just not prompted) junie to commit the changes it has made with clear commit message and push it to the remote source . Similarly , i often ordered it to combine multiple git commit to the single one  and of course , it obey me like a good servant. &lt;/p&gt;

&lt;h3&gt;
  
  
  Wish it was there :
&lt;/h3&gt;

&lt;p&gt;I wish to make my changes live on my deployed site as soon as i make change in the codebase, because legends debug in production. If inteilij have MCP server support , it would have been few prompt away . Absence of this feature makes me little disappointed at last . &lt;/p&gt;

&lt;p&gt;If you're like me—comfortable in JetBrains' ecosystem but curious about AI assistance—take the leap. The hackathon may be over, but the learning isn't. Junie showed me that the future of development isn't about replacing developers; it's about amplifying our humanity through technology.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My Data Science Journey: Restaurant Tips Analysis</title>
      <dc:creator>NIRANJAN LAMICHHANE</dc:creator>
      <pubDate>Sun, 28 Dec 2025 08:04:57 +0000</pubDate>
      <link>https://dev.to/niranjannlc/-my-data-science-journey-restaurant-tips-analysis-30ek</link>
      <guid>https://dev.to/niranjannlc/-my-data-science-journey-restaurant-tips-analysis-30ek</guid>
      <description>&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; Exploratory Data Analysis on Restaurant Tips Dataset&lt;br&gt;
&lt;strong&gt;Duration:&lt;/strong&gt; Full EDA Process&lt;br&gt;
&lt;strong&gt;Dataset:&lt;/strong&gt; 243 restaurant transactions, 7 variables&lt;br&gt;
&lt;strong&gt;Status:&lt;/strong&gt; ✅ COMPLETED&lt;/p&gt;


&lt;h2&gt;
  
  
  📊 PROJECT OVERVIEW
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Dataset Information
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source:&lt;/strong&gt; Restaurant tips dataset&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Initial Size:&lt;/strong&gt; 244 rows × 7 columns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Final Size:&lt;/strong&gt; 243 rows × 7 columns (after cleaning)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Variables:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Numerical: &lt;code&gt;total_bill&lt;/code&gt;, &lt;code&gt;tip&lt;/code&gt;, &lt;code&gt;size&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Categorical: &lt;code&gt;sex&lt;/code&gt;, &lt;code&gt;smoker&lt;/code&gt;, &lt;code&gt;day&lt;/code&gt;, &lt;code&gt;time&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Project Goal
&lt;/h3&gt;

&lt;p&gt;Understand what factors influence tipping behavior in restaurants through comprehensive exploratory data analysis.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧹 PHASE 1: DATA CLEANING (Investigation 1.3)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1.1 Missing Values Investigation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis:&lt;/strong&gt; "The Null Hypothesis" - Why might data be missing?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Checked for missing values
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;  &lt;span class="c1"&gt;# Percentage
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;0 missing values&lt;/strong&gt; in all columns&lt;/li&gt;
&lt;li&gt;This indicated excellent data collection quality&lt;/li&gt;
&lt;li&gt;No imputation or removal needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Learning Moment:&lt;/strong&gt; Not all datasets have missing data, but always check!&lt;/p&gt;




&lt;h3&gt;
  
  
  1.2 Duplicate Detection
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis:&lt;/strong&gt; Could identical transactions exist legitimately?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Found duplicates
&lt;/span&gt;&lt;span class="n"&gt;num_duplicates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;duplicated&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;duplicates&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;duplicated&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;keep&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;

&lt;span class="c1"&gt;# Removed them
&lt;/span&gt;&lt;span class="n"&gt;data_clean&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;drop_duplicates&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Found &lt;strong&gt;1 duplicate row&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Bill: $13.00, Tip: $2.00, Female, Smoker, Thursday, Lunch, Party of 2&lt;/li&gt;
&lt;li&gt;Row 198 and Row 202 were IDENTICAL&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Decision:&lt;/strong&gt; Removed as likely data entry error&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Result:&lt;/strong&gt; 244 rows → 243 rows&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; Identical transactions on same day/time are statistically improbable - likely errors.&lt;/p&gt;




&lt;h3&gt;
  
  
  1.3 Outlier Investigation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis:&lt;/strong&gt; "The Outlier Tribunal" - Are extreme values errors or legitimate?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Created boxplots
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;boxplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;boxplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# Calculated IQR boundaries
&lt;/span&gt;&lt;span class="n"&gt;Q1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;quantile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.25&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;quantile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.75&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;IQR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;Q1&lt;/span&gt;
&lt;span class="n"&gt;upper_boundary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;IQR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Found outliers
&lt;/span&gt;&lt;span class="n"&gt;outliers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;upper_boundary&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mathematical Formula:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IQR = Q3 - Q1
Upper Boundary = Q3 + (1.5 × IQR)
Lower Boundary = Q1 - (1.5 × IQR)

For Tips:
Q1 = $2.00
Q3 = $3.56
IQR = $1.56
Upper Boundary = $5.90
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Outliers Found:&lt;/strong&gt;&lt;br&gt;
| Bill    | Tip    | Tip % | Verdict         |&lt;br&gt;
|---------|--------|-------|-----------------|&lt;br&gt;
| $50.81  | $10.00 | 19.7% | ✅ Legitimate   |&lt;br&gt;
| $48.33  | $9.00  | 18.6% | ✅ Legitimate   |&lt;br&gt;
| $39.42  | $7.58  | 19.2% | ✅ Legitimate   |&lt;br&gt;
| $48.27  | $6.73  | 13.9% | ✅ Legitimate   |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision:&lt;/strong&gt; Kept all outliers - they represent large parties with reasonable tip percentages&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; Outliers aren't always errors! Verify with context (tip percentage in this case).&lt;/p&gt;


&lt;h2&gt;
  
  
  🔬 PHASE 2: BIVARIATE ANALYSIS (Investigation 2.2)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Overview: Testing 7 Relationships
&lt;/h3&gt;

&lt;p&gt;For each relationship, I followed the scientific method:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hypothesis&lt;/strong&gt; - Make a prediction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visualization&lt;/strong&gt; - Create appropriate chart&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analysis&lt;/strong&gt; - Interpret the pattern&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conclusion&lt;/strong&gt; - Accept or reject hypothesis&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt;
  
  
  2.1 Relationship #1: Total Bill → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"As total_bill increases, tip will increase WEAKLY"&lt;/li&gt;
&lt;li&gt;Reasoning: "Tip is 'keep the change' - not percentage based"&lt;/li&gt;
&lt;li&gt;Confidence: MEDIUM&lt;/li&gt;
&lt;li&gt;Expected: Weak/no relationship&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Total Bill ($)&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Tip ($)&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Relationship Between Total Bill and Tip Amount&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pattern: &lt;strong&gt;Strong upward linear trend&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Correlation: &lt;strong&gt;r = 0.67&lt;/strong&gt; (Strong positive)&lt;/li&gt;
&lt;li&gt;Points tightly clustered around imaginary line&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ❌ &lt;strong&gt;REJECTED&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My hypothesis was WRONG - and that's okay!&lt;/li&gt;
&lt;li&gt;Reality: People tip 15-20% of bill (percentage-based, not "keep change")&lt;/li&gt;
&lt;li&gt;Mechanism: Bill × 15-20% = Tip (mathematical relationship)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key insight:&lt;/strong&gt; "Learning happens with mistakes" - being wrong is part of science!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business Insight:&lt;/strong&gt; Higher bills = higher tips. Restaurants should encourage higher spending.&lt;/p&gt;




&lt;h3&gt;
  
  
  2.2 Relationship #2: Party Size → Total Bill
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"As party size increases, total_bill increases STRONGLY"&lt;/li&gt;
&lt;li&gt;Reasoning: "More people = more food (obvious!)"&lt;/li&gt;
&lt;li&gt;Confidence: HIGH&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;size&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pattern: &lt;strong&gt;Grouped upward trend&lt;/strong&gt; (vertical columns)&lt;/li&gt;
&lt;li&gt;Correlation: &lt;strong&gt;r = 0.60&lt;/strong&gt; (Medium-strong positive)&lt;/li&gt;
&lt;li&gt;Party size = discrete (1,2,3,4,5,6), not continuous&lt;/li&gt;
&lt;li&gt;Size 2 most common, with widest bill range ($10-$40)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ✅ &lt;strong&gt;CONFIRMED&lt;/strong&gt; (but weaker than expected)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Party size predicts bill, but doesn't determine it completely"&lt;/li&gt;
&lt;li&gt;A couple can outspend a group of 4 depending on what they order&lt;/li&gt;
&lt;li&gt;What people ORDER matters more than HOW MANY people&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.3 Relationship #3: Party Size → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"As party size increases, tip increases STRONGLY"&lt;/li&gt;
&lt;li&gt;Reasoning: "More people → bigger bill → percentage-based tip → more tip"&lt;/li&gt;
&lt;li&gt;Confidence: HIGH&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pattern: &lt;strong&gt;Upward trend from size 1-4, then FLATTENS at 5-6&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Correlation: &lt;strong&gt;r = 0.49&lt;/strong&gt; (Medium-weak)&lt;/li&gt;
&lt;li&gt;Non-linear relationship!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ⚠️ &lt;strong&gt;PARTIALLY CORRECT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Surprising Discovery:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tips increase up to party size 4&lt;/li&gt;
&lt;li&gt;Tips PLATEAU at sizes 5-6 (don't increase further!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Possible Explanations:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Automatic gratuity&lt;/strong&gt; - Restaurants add mandatory 15-18% for large parties&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social loafing&lt;/strong&gt; - "Someone else will tip well, so I don't need to"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Different occasions&lt;/strong&gt; - Large parties = kids/families (tip standard)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Splitting complications&lt;/strong&gt; - Harder to calculate when splitting 6 ways&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; Large parties tip differently than expected - real behavioral economics!&lt;/p&gt;




&lt;h3&gt;
  
  
  2.4 Relationship #4: Day of Week → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highest: Sunday (weekend celebration mood)&lt;/li&gt;
&lt;li&gt;Lowest: Wednesday (people just filling stomach)&lt;/li&gt;
&lt;li&gt;Expected difference: MEDIUM&lt;/li&gt;
&lt;li&gt;Confidence: MEDIUM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;boxplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;day&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Sun&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Mon&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Tue&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Wed&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Thur&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Fri&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Sat&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;br&gt;
| Day       | Avg Tip | Verdict        |&lt;br&gt;
|-----------|---------|----------------|&lt;br&gt;
| Saturday  | $3.00   | 🏆 Highest     |&lt;br&gt;
| Sunday    | $2.90   | High           |&lt;br&gt;
| Mon/Tue/Wed| $2.25  | 🔻 Lowest (tie)|&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ⚠️ &lt;strong&gt;PARTIALLY WRONG&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Got Wrong:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Predicted Sunday highest → Actually Saturday highest&lt;/li&gt;
&lt;li&gt;Predicted Wednesday lowest → Correct (tied with Mon/Tue)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Observations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Saturday has most high-tip outliers (special occasions, date nights)&lt;/li&gt;
&lt;li&gt;Sunday has LARGEST box (most variation) - diverse crowd&lt;/li&gt;
&lt;li&gt;Weekdays cluster together (consistent lower tipping)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; &lt;br&gt;
"Sunday = diverse people = diverse tipping = large variation in tips"&lt;/p&gt;


&lt;h3&gt;
  
  
  2.5 Relationship #5: Time (Lunch vs Dinner) → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dinner will have higher tips&lt;/li&gt;
&lt;li&gt;Reasoning: "Night time = people more generous; lunch = people in rush"&lt;/li&gt;
&lt;li&gt;Confidence: MEDIUM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;br&gt;
| Time   | Avg Tip | Difference |&lt;br&gt;
|--------|---------|------------|&lt;br&gt;
| Dinner | $3.00   | —          |&lt;br&gt;
| Lunch  | $2.20   | -$0.80     |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ✅ &lt;strong&gt;CONFIRMED!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$0.80 difference&lt;/strong&gt; - this is the BIGGEST categorical effect!&lt;/li&gt;
&lt;li&gt;Time of day is the STRONGEST categorical predictor&lt;/li&gt;
&lt;li&gt;Lunch customers are rushed, less satisfied with service&lt;/li&gt;
&lt;li&gt;Dinner is relaxed, celebratory atmosphere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business Recommendation:&lt;/strong&gt; Prioritize dinner service quality!&lt;/p&gt;


&lt;h3&gt;
  
  
  2.6 Relationship #6: Sex (Male vs Female) → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Males will tip MORE&lt;/li&gt;
&lt;li&gt;Reasoning: "Female waitresses + male customers trying to impress"&lt;/li&gt;
&lt;li&gt;Confidence: MEDIUM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;br&gt;
| Sex    | Avg Tip | Difference |&lt;br&gt;
|--------|---------|------------|&lt;br&gt;
| Female | $3.20   | —          |&lt;br&gt;
| Male   | $3.00   | -$0.20     |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ❌ &lt;strong&gt;REJECTED!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Got Wrong:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Females actually tip SLIGHTLY more (or it's basically equal)&lt;/li&gt;
&lt;li&gt;The difference is minimal ($0.20)&lt;/li&gt;
&lt;li&gt;Sex is NOT a strong predictor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; Gender stereotypes about tipping don't hold up in data!&lt;/p&gt;


&lt;h3&gt;
  
  
  2.7 Relationship #7: Smoker vs Non-Smoker → Tip
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;My Hypothesis:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Non-smokers will tip MORE&lt;/li&gt;
&lt;li&gt;Reasoning: "Smokers save money for cigarettes instead of tipping"&lt;/li&gt;
&lt;li&gt;Confidence: LOW&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;br&gt;
| Smoker Status | Avg Tip | Difference |&lt;br&gt;
|---------------|---------|------------|&lt;br&gt;
| Smokers       | $3.00   | —          |&lt;br&gt;
| Non-smokers   | $2.80   | -$0.20     |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hypothesis Verdict:&lt;/strong&gt; ❌ &lt;strong&gt;REJECTED!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Honest Reflection:&lt;/strong&gt; "Cannot figure out why" - and that's okay!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Possible Explanations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smokers sit outside/at bar (different atmosphere?)&lt;/li&gt;
&lt;li&gt;Correlation, not causation (maybe age/demographic differences)&lt;/li&gt;
&lt;li&gt;Small difference ($0.20) might be random chance&lt;/li&gt;
&lt;li&gt;Need more data to understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; Not every pattern has an obvious explanation - intellectual honesty matters!&lt;/p&gt;


&lt;h2&gt;
  
  
  📈 PHASE 3: CORRELATION ANALYSIS
&lt;/h2&gt;
&lt;h3&gt;
  
  
  What I Did:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Correlation matrix
&lt;/span&gt;&lt;span class="n"&gt;correlation_matrix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;size&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]].&lt;/span&gt;&lt;span class="nf"&gt;corr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;heatmap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;correlation_matrix&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;annot&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cmap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;coolwarm&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Results:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pair&lt;/th&gt;
&lt;th&gt;Correlation&lt;/th&gt;
&lt;th&gt;Strength&lt;/th&gt;
&lt;th&gt;Interpretation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;total_bill ↔ tip&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.67&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Strong&lt;/td&gt;
&lt;td&gt;🏆 Strongest predictor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;size ↔ total_bill&lt;/td&gt;
&lt;td&gt;0.60&lt;/td&gt;
&lt;td&gt;Medium-Strong&lt;/td&gt;
&lt;td&gt;More people = more food&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;size ↔ tip&lt;/td&gt;
&lt;td&gt;0.49&lt;/td&gt;
&lt;td&gt;Medium-Weak&lt;/td&gt;
&lt;td&gt;Non-linear (plateaus)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Key Insight:&lt;/strong&gt; &lt;br&gt;
"Tip percentage is fixed as that of total bill" - this explains the 0.67 correlation perfectly!&lt;/p&gt;


&lt;h2&gt;
  
  
  🎨 PHASE 4: PAIRPLOT (Visual Summary)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  What I Did:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pairplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data_clean&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
             &lt;span class="nb"&gt;vars&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;size&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
             &lt;span class="n"&gt;hue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;time&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Color by lunch/dinner
&lt;/span&gt;             &lt;span class="n"&gt;diag_kind&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;hist&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Observations:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;From diagonal (distributions):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most common tip: ~$2-3&lt;/li&gt;
&lt;li&gt;Most common bill: ~$15-20&lt;/li&gt;
&lt;li&gt;Most common party size: 2 people&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;From scatter plots:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;total_bill vs tip: Clear upward trend (confirms r=0.67)&lt;/li&gt;
&lt;li&gt;size vs others: Grouped patterns (discrete variable)&lt;/li&gt;
&lt;li&gt;Lunch (blue) vs Dinner (orange): Overlap mostly, but dinner shifts slightly higher&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Overall Impression:&lt;/strong&gt; Relationships are SOMEWHAT CLEAR - not perfect, but strong enough to be meaningful&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 KEY FINDINGS SUMMARY
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Strongest Predictors (Ranked):
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Total Bill&lt;/strong&gt; (r=0.67) 🥇&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explains ~45% of tip variation (r² = 0.67² = 0.45)&lt;/li&gt;
&lt;li&gt;Clear linear relationship&lt;/li&gt;
&lt;li&gt;Percentage-based tipping (15-20%)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Time of Day&lt;/strong&gt; ($0.80 difference) 🥈&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dinner tips $0.80 more than lunch&lt;/li&gt;
&lt;li&gt;Strongest categorical effect&lt;/li&gt;
&lt;li&gt;Reflects rushed vs relaxed dining&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Party Size&lt;/strong&gt; (r=0.49 with tip) 🥉&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Medium effect, but NON-LINEAR&lt;/li&gt;
&lt;li&gt;Plateaus at size 5-6&lt;/li&gt;
&lt;li&gt;Different behavior for large groups&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Day of Week&lt;/strong&gt; ($0.75 difference)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Saturday highest ($3.00)&lt;/li&gt;
&lt;li&gt;Weekdays lowest (~$2.25)&lt;/li&gt;
&lt;li&gt;Weekend vs weekday effect&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sex&lt;/strong&gt; ($0.20 difference) - WEAK&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimal difference&lt;/li&gt;
&lt;li&gt;Nearly equal tipping&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Smoker Status&lt;/strong&gt; ($0.20 difference) - WEAK&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimal difference&lt;/li&gt;
&lt;li&gt;Unexplained pattern&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  💡 BUSINESS RECOMMENDATIONS
&lt;/h2&gt;

&lt;p&gt;Based on data analysis, restaurant owners should:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. &lt;strong&gt;FOCUS ON INCREASING BILL AMOUNT&lt;/strong&gt; 🎯
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; Strongest correlation (0.67) - higher bills directly lead to higher tips&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upsell appetizers, drinks, desserts&lt;/li&gt;
&lt;li&gt;Create combo deals that increase bill&lt;/li&gt;
&lt;li&gt;Train servers on suggestive selling&lt;/li&gt;
&lt;li&gt;Offer premium menu items&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Impact:&lt;/strong&gt; 10% increase in average bill → ~10% increase in tips&lt;/p&gt;


&lt;h3&gt;
  
  
  2. &lt;strong&gt;PRIORITIZE DINNER SERVICE&lt;/strong&gt; 🌙
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; Dinner tips $0.80 (36%) more than lunch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allocate best servers to dinner shift&lt;/li&gt;
&lt;li&gt;Focus marketing on dinner hours&lt;/li&gt;
&lt;li&gt;Create special dinner ambiance&lt;/li&gt;
&lt;li&gt;Dinner-specific promotions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Impact:&lt;/strong&gt; Shift focus to higher-margin time period&lt;/p&gt;


&lt;h3&gt;
  
  
  3. &lt;strong&gt;OPTIMIZE FOR PARTY SIZES 2-4&lt;/strong&gt; 👥
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; These sizes have best tip-to-effort ratio&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table arrangements favor 2-4 person parties&lt;/li&gt;
&lt;li&gt;Special deals for couples/small groups&lt;/li&gt;
&lt;li&gt;Don't overinvest in large party accommodations (tips plateau)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Impact:&lt;/strong&gt; Maximize tips per table/server time&lt;/p&gt;


&lt;h3&gt;
  
  
  4. &lt;strong&gt;WEEKEND FOCUS&lt;/strong&gt; 📅
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; Saturday/Sunday have higher tips&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Premium staffing on weekends&lt;/li&gt;
&lt;li&gt;Weekend specials/events&lt;/li&gt;
&lt;li&gt;Higher-end menu items on weekends&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  5. &lt;strong&gt;DON'T DISCRIMINATE BY SEX/SMOKER&lt;/strong&gt; ⚖️
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; These factors have minimal effect&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight:&lt;/strong&gt; Treat all customers equally - demographics don't significantly predict tipping&lt;/p&gt;


&lt;h2&gt;
  
  
  🧠 PERSONAL LEARNING JOURNEY
&lt;/h2&gt;
&lt;h3&gt;
  
  
  What I Learned About Data Science:
&lt;/h3&gt;
&lt;h4&gt;
  
  
  1. &lt;strong&gt;The Scientific Method Works!&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Make hypothesis → Test → Analyze → Conclude&lt;/li&gt;
&lt;li&gt;Being wrong is GOOD - that's how we learn!&lt;/li&gt;
&lt;li&gt;Quote: "Learning happens with mistakes"&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  2. &lt;strong&gt;Hypotheses Can Be Wrong&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;My Wrong Predictions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Thought tipping was "keep the change" → Actually percentage-based&lt;/li&gt;
&lt;li&gt;❌ Thought Sunday would have highest tips → Actually Saturday&lt;/li&gt;
&lt;li&gt;❌ Thought males tip more → Actually nearly equal&lt;/li&gt;
&lt;li&gt;❌ Thought smokers tip less → Actually slightly more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lesson:&lt;/strong&gt; Don't trust assumptions - test with data!&lt;/p&gt;
&lt;h4&gt;
  
  
  3. &lt;strong&gt;Correlation ≠ Causation&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Smokers tip more, but WHY?&lt;/li&gt;
&lt;li&gt;Could be confounding variables (age, location, etc.)&lt;/li&gt;
&lt;li&gt;Need more data to understand mechanisms&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  4. &lt;strong&gt;Context Matters&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Outliers aren't always errors&lt;/li&gt;
&lt;li&gt;$10 tip on $50 bill = 20% (normal!)&lt;/li&gt;
&lt;li&gt;Always calculate percentages/ratios for context&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  5. &lt;strong&gt;Data Quality First&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Clean data = reliable analysis&lt;/li&gt;
&lt;li&gt;Check for: missing values, duplicates, outliers&lt;/li&gt;
&lt;li&gt;This dataset was excellent (0 missing!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  6. &lt;strong&gt;Visualization is Powerful&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Scatter plots → see relationships&lt;/li&gt;
&lt;li&gt;Box plots → compare groups&lt;/li&gt;
&lt;li&gt;Correlation matrix → see everything at once&lt;/li&gt;
&lt;li&gt;Pairplot → ultimate summary&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  7. &lt;strong&gt;Different Charts for Different Data&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Numerical vs Numerical → Scatter plot&lt;/li&gt;
&lt;li&gt;Categorical vs Numerical → Box plot / Bar chart&lt;/li&gt;
&lt;li&gt;All at once → Pairplot, Correlation matrix&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  What I Learned About Python/Tools:
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Python Libraries:
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;           &lt;span class="c1"&gt;# Data manipulation
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;            &lt;span class="c1"&gt;# Numerical operations
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;  &lt;span class="c1"&gt;# Basic plotting
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;         &lt;span class="c1"&gt;# Statistical plotting
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  Key Functions Mastered:
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Pandas:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;              &lt;span class="c1"&gt;# First 5 rows
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;               &lt;span class="c1"&gt;# Dimensions
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;          &lt;span class="c1"&gt;# Statistics
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;      &lt;span class="c1"&gt;# Missing values
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;duplicated&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# Duplicates
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;drop_duplicates&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;   &lt;span class="c1"&gt;# Remove duplicates
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;column&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;           &lt;span class="c1"&gt;# Select column
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;          &lt;span class="c1"&gt;# Filter rows
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;groupby&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    &lt;span class="c1"&gt;# Group and aggregate
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;corr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;              &lt;span class="c1"&gt;# Correlation matrix
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Matplotlib:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scatter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;        &lt;span class="c1"&gt;# Scatter plot
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;             &lt;span class="c1"&gt;# X-axis label
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;             &lt;span class="c1"&gt;# Y-axis label
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;              &lt;span class="c1"&gt;# Title
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;               &lt;span class="c1"&gt;# Grid lines
&lt;/span&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;               &lt;span class="c1"&gt;# Display plot
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Seaborn:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;boxplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;category&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;number&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;heatmap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;corr_matrix&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;annot&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pairplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;vars&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;col1&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;col2&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;hue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;category&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Important Concepts:
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;1. Order Matters!&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# WRONG
&lt;/span&gt;&lt;span class="n"&gt;outliers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip_pct&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;outliers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip_pct&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  &lt;span class="c1"&gt;# ERROR!
&lt;/span&gt;
&lt;span class="c1"&gt;# RIGHT
&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip_pct&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;total_bill&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;outliers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;outliers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;tip_pct&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  &lt;span class="c1"&gt;# WORKS!
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Matplotlib vs Seaborn:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;matplotlib = Low-level, flexible, more code&lt;/li&gt;
&lt;li&gt;seaborn = High-level, easy, pretty defaults&lt;/li&gt;
&lt;li&gt;Use both together!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Data Types Matter:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;float64 / int64 = Can do math&lt;/li&gt;
&lt;li&gt;object = Text, can't do math&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Skills I Developed:
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Technical Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data cleaning and preprocessing&lt;/li&gt;
&lt;li&gt;Exploratory data analysis&lt;/li&gt;
&lt;li&gt;Statistical thinking&lt;/li&gt;
&lt;li&gt;Data visualization&lt;/li&gt;
&lt;li&gt;Python programming&lt;/li&gt;
&lt;li&gt;Using Jupyter notebooks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Analytical Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hypothesis formation&lt;/li&gt;
&lt;li&gt;Pattern recognition&lt;/li&gt;
&lt;li&gt;Critical thinking&lt;/li&gt;
&lt;li&gt;Drawing insights from data&lt;/li&gt;
&lt;li&gt;Making business recommendations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Soft Skills:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scientific method application&lt;/li&gt;
&lt;li&gt;Intellectual honesty ("I don't know")&lt;/li&gt;
&lt;li&gt;Learning from mistakes&lt;/li&gt;
&lt;li&gt;Persistence through challenges&lt;/li&gt;
&lt;li&gt;Clear communication of findings&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 COMPLETE VISUALIZATIONS CREATED
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;✅ Scatter Plot: total_bill vs tip&lt;/li&gt;
&lt;li&gt;✅ Scatter Plot: size vs total_bill
&lt;/li&gt;
&lt;li&gt;✅ Scatter Plot: size vs tip&lt;/li&gt;
&lt;li&gt;✅ Box Plot: tip by day of week&lt;/li&gt;
&lt;li&gt;✅ Box Plot: tip by time (lunch/dinner)&lt;/li&gt;
&lt;li&gt;✅ Box Plot: tip by sex&lt;/li&gt;
&lt;li&gt;✅ Box Plot: tip by smoker status&lt;/li&gt;
&lt;li&gt;✅ Correlation Matrix Heatmap&lt;/li&gt;
&lt;li&gt;✅ Pairplot (all relationships)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Total:&lt;/strong&gt; 9 professional visualizations&lt;/p&gt;




&lt;h2&gt;
  
  
  🎓 FINAL REFLECTION
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Worked Well:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Systematic approach (hypothesis → test → analyze)&lt;/li&gt;
&lt;li&gt;Using appropriate visualizations for each relationship&lt;/li&gt;
&lt;li&gt;Being open to being wrong&lt;/li&gt;
&lt;li&gt;Thorough data cleaning before analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I'd Do Differently:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Could explore interaction effects (e.g., day × time)&lt;/li&gt;
&lt;li&gt;Could calculate tip percentages earlier for context&lt;/li&gt;
&lt;li&gt;Could test non-linear relationships more formally&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Most Surprising Finding:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;"Party size plateaus at 5-6 people!"&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expected linear relationship&lt;/li&gt;
&lt;li&gt;Discovered real-world behavioral economics&lt;/li&gt;
&lt;li&gt;Shows the value of looking at data, not just assumptions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Most Important Lesson:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;"Total amount of spending is the determining factor"&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple but powerful&lt;/li&gt;
&lt;li&gt;Actionable for businesses&lt;/li&gt;
&lt;li&gt;Data-driven decision making&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;End of Journey Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"The only real mistake is the one from which we learn nothing." - Henry Ford&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"In God we trust. All others must bring data." - W. Edwards Deming&lt;/em&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>ai</category>
    </item>
    <item>
      <title>नियम नियति (Niyam Niyati) - Youth Bill Engagement Platform</title>
      <dc:creator>NIRANJAN LAMICHHANE</dc:creator>
      <pubDate>Fri, 05 Dec 2025 15:03:38 +0000</pubDate>
      <link>https://dev.to/niranjannlc/using-kiro-in-order-to-transforms-abstract-legal-documents-into-relatable-human-story-26go</link>
      <guid>https://dev.to/niranjannlc/using-kiro-in-order-to-transforms-abstract-legal-documents-into-relatable-human-story-26go</guid>
      <description>&lt;h2&gt;
  
  
  📋 Project Overview
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Niyam Niyati&lt;/strong&gt; (meaning "Laws &amp;amp; Destiny" in Nepali) is an AI-powered civic engagement platform that helps Nepali youth (ages 16-25) understand complex legislative bills through empathy-driven persona exploration. The application transforms abstract legal documents into relatable human stories, enabling young citizens to understand legislation through the eyes of those it affects most.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem We're Solving
&lt;/h3&gt;

&lt;p&gt;Young people often feel disconnected from legislative processes because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legal language is intimidating and inaccessible&lt;/li&gt;
&lt;li&gt;Bills seem abstract with no clear personal relevance&lt;/li&gt;
&lt;li&gt;There's no easy way to understand how laws affect different people&lt;/li&gt;
&lt;li&gt;Traditional civic education fails to engage digital-native youth&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Our Solution
&lt;/h3&gt;

&lt;p&gt;We built a &lt;strong&gt;Frankenstein monster&lt;/strong&gt; of technologies - stitching together AI persona generation, empathy-building mechanics, and civic engagement into something unexpectedly powerful. The platform:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Presents real Nepali legislative bills&lt;/strong&gt; in a digestible format&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generates AI-powered personas&lt;/strong&gt; representing diverse demographics affected by each bill&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shows concrete scenarios&lt;/strong&gt; demonstrating bill impacts (action → consequence)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enables perspective-based voting&lt;/strong&gt; from each persona's viewpoint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provides AI-generated insights&lt;/strong&gt; and recommendations for both youth and lawmakers&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🔧 Technologies Stitched Together (The Frankenstein Factor)
&lt;/h2&gt;

&lt;p&gt;Our app is a true chimera, combining seemingly incompatible elements:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;The "Unexpected" Element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Perplexity AI (Sonar)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Persona &amp;amp; insight generation&lt;/td&gt;
&lt;td&gt;Using search-grounded AI for legislative context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;React 18 + Vite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontend framework&lt;/td&gt;
&lt;td&gt;Spec-driven development with Kiro&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tailwind CSS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Fully responsive civic engagement UI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LocalStorage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Data persistence&lt;/td&gt;
&lt;td&gt;Client-side vote aggregation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;React Router v6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Navigation&lt;/td&gt;
&lt;td&gt;Multi-perspective user journey&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The Chimera Effect
&lt;/h3&gt;

&lt;p&gt;We stitched together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI + Civic Education&lt;/strong&gt;: Using LLMs to make legislation accessible&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empathy Mechanics + Voting&lt;/strong&gt;: Understanding others' perspectives before casting votes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Youth Culture + Formal Legislation&lt;/strong&gt;: Making legal documents relatable to Gen-Z&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nepali Context + Global Tech&lt;/strong&gt;: Localizing AI for a specific cultural context&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ How Kiro Was Used
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Spec-Driven Development
&lt;/h3&gt;

&lt;p&gt;We leveraged Kiro's spec-driven approach extensively. Our &lt;code&gt;.kiro/specs/youth-bill-engagement/&lt;/code&gt; directory contains:&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;requirements.md&lt;/code&gt; - Detailed User Stories &amp;amp; Acceptance Criteria
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;### Requirement 1&lt;/span&gt;
&lt;span class="gs"&gt;**User Story:**&lt;/span&gt; As a user, I want to view and select from available bills, 
so that I can explore legislation that interests me.

&lt;span class="gu"&gt;#### Acceptance Criteria&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; WHEN the System starts THEN the System SHALL display four bill cards...
&lt;span class="p"&gt;2.&lt;/span&gt; WHEN a user hovers over a bill card THEN the System SHALL apply animation...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structured approach ensured every feature was traceable to a user need.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;design.md&lt;/code&gt; - Architecture &amp;amp; Correctness Properties
&lt;/h4&gt;

&lt;p&gt;We defined 21 correctness properties that served as formal specifications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;### Property 4: API response validation&lt;/span&gt;
&lt;span class="ge"&gt;*For any*&lt;/span&gt; API response, the validation function should verify that the JSON 
structure contains persona_name, persona_profile, what_stays_same (4 items), 
what_becomes_riskier (5 items), and scenarios (4 items with action and 
consequence fields).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;tasks.md&lt;/code&gt; - Implementation Plan
&lt;/h4&gt;

&lt;p&gt;Kiro helped break down the project into actionable tasks with clear dependencies and requirement mappings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Steering Documents
&lt;/h3&gt;

&lt;p&gt;Our &lt;code&gt;.kiro/steering/&lt;/code&gt; directory contains:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;product.md&lt;/code&gt;&lt;/strong&gt; - Product vision and core features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;tech.md&lt;/code&gt;&lt;/strong&gt; - Technology stack and commands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;structure.md&lt;/code&gt;&lt;/strong&gt; - Project architecture and naming conventions&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  How Kiro Improved Development
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Structured Conversations&lt;/strong&gt;: We used Kiro to discuss requirements before coding, resulting in clearer implementations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Spec-to-Code Traceability&lt;/strong&gt;: Every component includes requirement references:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="cm"&gt;/**
    * Persona Screen Component
    * Requirements: 3.1, 3.2, 3.3, 3.4, 3.5, 4.1, 4.2, 4.3, 4.4, 6.4
    */&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Property-Based Testing Strategy&lt;/strong&gt;: Kiro helped define properties for testing:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="c1"&gt;// Feature: youth-bill-engagement, Property 5: Persona data storage round-trip&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Consistent Architecture&lt;/strong&gt;: Steering docs ensured consistent patterns across the codebase&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Most Impressive Code Generation
&lt;/h3&gt;

&lt;p&gt;Kiro helped generate our Perplexity API service with sophisticated prompt engineering:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`You are helping Nepali youth (ages 16-25) understand legislation. 
Generate 4 diverse personas affected by this bill.

Requirements:
- Use neutral, unbiased tone
- Use youth-friendly language appropriate for ages 16-25
- Provide relatable context for Nepali youth
- Each persona should represent a different demographic

Return ONLY valid JSON in this exact structure:
[{
  "persona_name": "Name (Age, Occupation/Role)",
  "persona_profile": "2-3 sentence description...",
  "what_stays_same": ["bullet 1", "bullet 2", ...],
  "what_becomes_riskier": ["bullet 1", "bullet 2", ...],
  "scenarios": [{ "action": "...", "consequence": "..." }]
}]`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The spec-driven approach ensured the AI output matched our exact requirements.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Bill Selection Screen
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Displays 4 real Nepali legislative bills with emojis and summaries&lt;/li&gt;
&lt;li&gt;Hover animations for engaging UX&lt;/li&gt;
&lt;li&gt;Loading states during AI persona generation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Persona Exploration
&lt;/h3&gt;

&lt;p&gt;Each bill generates 4 AI personas with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Persona Profile&lt;/strong&gt;: Who they are and their situation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What Stays the Same&lt;/strong&gt;: 4 aspects unchanged by the bill&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What Becomes Riskier&lt;/strong&gt;: 5 potential risks from the bill&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scenarios&lt;/strong&gt;: 4 action-consequence pairs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Perspective-Based Voting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vote from each persona's perspective (Support/Oppose/Unsure)&lt;/li&gt;
&lt;li&gt;Optional message to lawmakers&lt;/li&gt;
&lt;li&gt;Votes stored locally for aggregation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Community Insights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Aggregated voting statistics per persona&lt;/li&gt;
&lt;li&gt;AI-generated summary and key insights&lt;/li&gt;
&lt;li&gt;Recommendations for both youth and lawmakers&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📱 Bills Included
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bill&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;📱 &lt;strong&gt;Social Media Act (Bill), 2081&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Regulates social media platforms and users&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔒 &lt;strong&gt;IT and Cyber Security Bill, 2082&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Defines cybercrime offenses and penalties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🎓 &lt;strong&gt;School Education Bill, 2080&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Restructures school levels and standards&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔐 &lt;strong&gt;Privacy Act, 2075&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Governs personal data protection&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🚀 Running the Application
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Node.js v16+&lt;/li&gt;
&lt;li&gt;Perplexity API key&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Configuration
&lt;/h3&gt;

&lt;p&gt;Create &lt;code&gt;.env.local&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VITE_PERPLEXITY_API_KEY=your_api_key_here
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Development
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧪 Testing Coverage
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ 34 automated tests passing&lt;/li&gt;
&lt;li&gt;✅ Storage service tests (17 tests)&lt;/li&gt;
&lt;li&gt;✅ Persona screen tests (7 tests)&lt;/li&gt;
&lt;li&gt;✅ Application structure tests (10 tests)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎨 Design Philosophy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Neutral Presentation
&lt;/h3&gt;

&lt;p&gt;The platform maintains strict neutrality - presenting facts without editorial bias, allowing users to form their own opinions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Empathy-First Approach
&lt;/h3&gt;

&lt;p&gt;By experiencing legislation through diverse personas, users develop empathy for how laws affect different people.&lt;/p&gt;

&lt;h3&gt;
  
  
  Youth-Friendly Language
&lt;/h3&gt;

&lt;p&gt;All AI-generated content is tailored for ages 16-25 with relatable context and accessible language.&lt;/p&gt;

&lt;h3&gt;
  
  
  Responsive Design
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Desktop (≥1024px): Two-column layouts&lt;/li&gt;
&lt;li&gt;Mobile (&amp;lt;1024px): Single-column optimized views&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏆 Why This Fits "Frankenstein"
&lt;/h2&gt;

&lt;p&gt;Like Dr. Frankenstein's creation, we've stitched together parts that shouldn't work together:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Brain (AI)&lt;/strong&gt;: Perplexity's Sonar model provides intelligent persona generation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Heart (Empathy)&lt;/strong&gt;: Perspective-taking mechanics create emotional connection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Body (Tech Stack)&lt;/strong&gt;: Modern web technologies give it form&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Soul (Purpose)&lt;/strong&gt;: Civic engagement gives it meaning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Spark (Kiro)&lt;/strong&gt;: Spec-driven development brought it to life&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The result is something greater than the sum of its parts - a platform that makes democracy accessible to the next generation.&lt;/p&gt;




&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;Open Source under MIT License&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: [&lt;a href="https://github.com/NiranjanNlc/niyam-niyati" rel="noopener noreferrer"&gt;https://github.com/NiranjanNlc/niyam-niyati&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Demo&lt;/strong&gt;: [&lt;a href="https://splendid-paletas-a20883.netlify.app/" rel="noopener noreferrer"&gt;https://splendid-paletas-a20883.netlify.app/&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo Video&lt;/strong&gt;: [&lt;a href="https://www.youtube.com/watch?v=L3PMRx3ALEo" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=L3PMRx3ALEo&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  👥 Team
&lt;/h2&gt;

&lt;p&gt;Built with ❤️ for Nepali youth and democracy&lt;/p&gt;




&lt;p&gt;&lt;em&gt;"It's alive!" - Dr. Frankenstein (and us, when the specs finally compiled)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Kiro helped me to help people to escape tutorial hell</title>
      <dc:creator>NIRANJAN LAMICHHANE</dc:creator>
      <pubDate>Mon, 15 Sep 2025 13:52:06 +0000</pubDate>
      <link>https://dev.to/niranjannlc/kiro-helped-me-to-help-people-to-escape-tutorial-hell-4c6f</link>
      <guid>https://dev.to/niranjannlc/kiro-helped-me-to-help-people-to-escape-tutorial-hell-4c6f</guid>
      <description>&lt;p&gt;Many developer , who are in the stage of the learning and beginner level , get stuck in “tutorial hell”—watching endless tutorials . This contributes to the feeling of passive learning and growth while in real , one has not learned and grown at all . &lt;/p&gt;

&lt;h1&gt;
  
  
  Kiro as a planner buddy
&lt;/h1&gt;

&lt;p&gt;We  used Kiro to  create this app to engage the developer and learner in the active project based learning by taking action and building project so that real growth and learning can be achieved . &lt;/p&gt;

&lt;p&gt;We use kiro especially for the specification driven desighn ,&lt;/p&gt;

&lt;p&gt;After giving the prompt for the project , it generated the  requirement.md on which there are many unnecessary requirement , which we do not want in the first place . We  cut down them and move into desighn phase . &lt;/p&gt;

&lt;p&gt;Kiro creates desighn.md which is especially for full fledged full stack project by using react , typescript and nodejs . We prompt kiro to use the hardcoded instruction and just html,css and js for the project and it updates the desighn documentaion accordingly . &lt;/p&gt;

&lt;p&gt;Kiro produces tasks based on the desighn.md and requirement.md . We prompt kiro to make tasks just concise to make beautiful ui and serves the purpose of MVP.&lt;/p&gt;

&lt;p&gt;Kiro produces  the requirement.md and desighn.md file  while building from scratch . &lt;/p&gt;

&lt;p&gt;By prompting kiro to change and update  those file  according to our requirement helps us to make complete control of the project without losing the vibe of vibe buildong or vibe coding.&lt;/p&gt;

&lt;h1&gt;
  
  
  Delegating Version control tasks to kiro Hook agent
&lt;/h1&gt;

&lt;p&gt;We  automate the version control in the project with the help of kiro project . &lt;/p&gt;

&lt;p&gt;We  prompt kiro to create the hook that gets activated when the tasks is completed in tasks.md file and commit in the project with the message of tasks .&lt;/p&gt;

&lt;h1&gt;
  
  
  Kiro Main helping hand
&lt;/h1&gt;

&lt;p&gt;Kiro produces  the requirement.md and desighn.md file  while building from scratch . &lt;/p&gt;

&lt;p&gt;By prompting kiro to change and update  those file  according to our requirement helps us to make complete control of the project without losing the vibe of vibe buildong or vibe coding&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Why I never returned back to windows after using linux ?</title>
      <dc:creator>NIRANJAN LAMICHHANE</dc:creator>
      <pubDate>Fri, 20 May 2022 06:35:57 +0000</pubDate>
      <link>https://dev.to/niranjannlc/why-i-never-returned-back-to-windows-after-using-linux--8hh</link>
      <guid>https://dev.to/niranjannlc/why-i-never-returned-back-to-windows-after-using-linux--8hh</guid>
      <description>&lt;p&gt;During the first year of my engineering , my laptop hard drive crashed and I need to get a new one .&lt;br&gt;
Along with the hard drive, i need to think about OS I gonna use on it . Linux was a short of hype among my peer circle. I thought of why not give a try .&lt;br&gt;
After that , I was so much in deep love with linux that I wonder why the people are still stick around windows.&lt;/p&gt;

&lt;p&gt;Here are some of the reason why I never returned back to windows after using linux :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Its not that much hard .&lt;/strong&gt; All of us assume that linux is all about command line but its not so . I tried Ubuntu and its GUI is more appealing and easy to use than that of Windows. Remember , linux provides both command line and graphical user interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Easy to install software:&lt;/strong&gt; In windows , in order to install software , you need to download .exe file from internet , run it as a administrator and perform other series of steps. However, I can install a software on ubuntu in a single command .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faster and smooth :&lt;/strong&gt;The smoothness and fastness of the ubuntu is felt by me while running Android studio. My PC almost freezes while running android studio in Windows , however I have not encountered such isuses till now in linux.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free software :&lt;/strong&gt; The open source alternatives of microsoft office is Libre Office in Ubuntu, which don't incur any cost for usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community :&lt;/strong&gt;Linux has large community and fanbase. If we faces the problem in linux , the solution is just a one thread away in our browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pride :&lt;/strong&gt; Using linux gave me  a sense of entitlement and made me  a proud.&lt;/p&gt;

&lt;p&gt;What makes you hooked in linux and make you away from windows?&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
