HackIndia Logo
HackathonsNewsSkillsGrowth
HackIndia LogoContact: +91 9910125804

General

  • Companies
  • Colleges
  • Board of Advisors
  • Brand Ambassadors
  • FAQ
  • Contact
  • Report a Bug

Hackathons

  • Upcoming Hackathons
  • Judges
  • Mentors
  • Partners
  • Participating Colleges
  • Testimonials

Resources

  • About Us
  • Branding
  • Latest News
  • Growth
  • Skills
  • Builders
  • Ecosystem
  • Forum
  • Ideas
  • Prompt Optimizer
  • Games

© 2026 HackIndia. All rights reserved.

Privacy PolicyTerms of ServiceCode of ConductSitemap

Build 2.139 · 05 Nov 2026, 10:27 UTC

    HackIndia
    HackathonsNewsInternshipsSkillsGrowthPro Perks
    ← Build honest project dashboards

    All the reading

    Data Visualisation

    8 lessons, about 38 minutes. The check's questions come from these.

    Contents
    Framing dashboard questions
    1. 1. Start with the question
    2. 2. Pick the right chart
    Using honest scales and colour
    1. 3. Use honest axes and scales
    2. 4. Make colour accessible
    Adding labels and removing clutter
    1. 5. Label what matters
    2. 6. Cut clutter and avoid traps
    Building and submitting charts
    1. 7. Build the chart in code
    2. 8. Submit your dashboard project

    Framing dashboard questions

    1. Start with the question

    5 min

    In 30 seconds
    • Turn a vague dashboard idea into one clear project question.
    • Choose a simple metric, group, and time range before drawing anything.
    • Write a chart brief you can use later in code and in your HackIndia demo.
    Key point

    One chart, one job

    A good dashboard chart starts with a question, not a chart type. If the question is unclear, the chart will become decoration.

    Your first job is to write one question that a teammate, judge, or recruiter can understand in 10 seconds.

    What counts here

    A project dashboard is not a wall of graphs. For a hackathon submission, one honest chart is enough if it answers a real project question.

    Think about what your app does. A study planner may track completed tasks. A UPI expense app may track weekly spending. A hostel complaint app may track open complaints by status.

    Your to-do

    Shape the question

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Common mistake

    Avoid vague questions

    Vague question: How is our app doing? This is too broad. It pushes you towards random charts.

    2. Pick the right chart

    4 min

    In 30 seconds
    • Match your project question to a chart type that makes the answer easy to see.
    • Use bar, line, scatter, or table views for common dashboard questions.
    • Avoid chart choices that look nice but hide comparison or change.
    Key point

    One rule

    Pick the chart that makes the comparison easiest for a tired viewer. Your recruiter, judge, or teammate should understand the answer in a few seconds.

    Do not start with a chart library gallery. Start with the job your chart must do.

    Common chart jobs

    Most hackathon dashboards need one of four jobs: compare categories, show change over time, show a relationship, or show exact values.

    If your chart does not match the job, the data may be correct but the message will still be weak.

    Your to-do

    Choose by question

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Using honest scales and colour

    3. Use honest axes and scales

    5 min

    In 30 seconds
    • Set chart axes so your data is clear, not exaggerated.
    • Choose linear, log, or time scales based on the question.
    • Use simple axis checks before your dashboard reaches judges.
    Key point

    The honest axis rule

    Your axis should make the size of change feel like the real size of change.

    If the chart uses bars, start the value axis at zero. If the chart uses lines, you may zoom in, but you must make the range obvious.

    Why axes matter

    A dashboard chart is often read in 5 seconds. A bad axis can make a small change look huge, or hide a real problem.

    For your HackIndia project, the chart should help someone decide something. Do not make your app look better by stretching the scale.

    Your to-do

    Choose the scale

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Adding labels and removing clutter

    5. Label what matters

    5 min

    In 30 seconds
    • Add labels that answer what, when, and how much.
    • Write chart titles that state the project question.
    • Use notes and direct labels so viewers do not guess.
    Key point

    One job

    A chart label should remove guessing. Your viewer should know what is measured, the unit, the time period, and the main takeaway without asking you on a call.

    For a hackathon demo, assume a recruiter or judge sees your dashboard for 20 seconds. Labels must carry the story.

    What to label

    Every useful chart needs a clear title, axis labels, units, and a time range if time is involved. If the chart uses categories, make the category names readable.

    If one number matters most, label it directly. Do not make the viewer match colours to a legend when there are only one or two important lines.

    Your to-do

    Label checklist

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    Building and submitting charts

    7. Build the chart in code

    5 min

    In 30 seconds
    • Build one dashboard chart from real project data, not a screenshot.
    • Use code that labels axes, units, and the question it answers.
    • Check the chart in your app before you submit it on HackIndia.
    Key point

    One chart, shipped

    Your chart is only part of your project when it runs inside your demo or app. A PNG in your README is useful, but it does not prove your dashboard works.

    For this lesson, build one honest chart in code from a small data file or API response. Keep it simple and visible.

    Use real project data

    Pick data your project already creates or can reasonably store. For a food delivery project, it could be orders per day. For a college event app, it could be registrations by department.

    Do not invent numbers just to make the chart look good. If you need sample data for testing, name it clearly as sample data.

    Your to-do

    Prepare your data

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    10 questions, 7 to pass.

    Sign in to take the test

    Better question: How many study tasks did users complete each day in the last 7 days? This has a metric, a time range, and a clear use.

    Example

    Chart brief example

    Before you open React, Python, or a chart library, write a small chart brief. Keep it near your code in a file like dashboard-brief.txt.

    This brief becomes your guardrail. Later lessons will use it to pick the chart, labels, colours, and code.

    Project: Campus study planner
    Dashboard question: How many tasks did the user complete each day in the last 7 days?
    Metric: completed tasks
    Group: day
    Time range: last 7 days
    Audience: student using the planner
    Decision supported: see which days need a better study routine
    Chart promise: show daily completed task counts, without hiding low or zero days
    Tip

    Use AI carefully

    You can ask ChatGPT, Gemini, or Claude to improve your dashboard question. Do not ask it to invent your data or decide the goal for you.

    Give it your project idea and ask for 5 chart questions. Keep only the one that matches a real user decision and data your app can actually collect.

    Prompt:
    I am building a hackathon project: [describe your app].
    Suggest 5 dashboard questions for one honest chart.
    Each question must include a metric, a group or comparison, and a time range.
    Do not invent data I cannot collect in the app.
    Your to-do

    Test the question

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Common mistake

    Pie chart trap

    Pie charts are often used for category comparison, but they are hard to read when slices are close in size or there are many categories.

    For most project dashboards, a sorted bar chart is clearer than a pie chart. It also leaves room for labels.

    Tip

    Sort for speed

    When comparing categories, sort bars from highest to lowest unless the order has meaning. For example, months should stay in calendar order.

    Sorting helps the viewer spot the leader, the laggard, and the gap without reading every label.

    Example

    Chart picker file

    Keep a tiny chart decision note in your repo. It shows that your chart choice was intentional, not random.

    This is useful in hackathon submissions because judges can see what question your dashboard answers.

    dashboard-chart-choice.txt
    
    Project question: Which feature gets the most usage in our campus event app?
    Data shape: Categories with counts
    Chart chosen: Sorted bar chart
    Reason: We need to compare feature usage clearly
    Avoided: Pie chart, because 6 slices would be harder to compare
    Metric shown: Number of clicks per feature
    Viewer action: Decide which feature to improve first

    Good defaults

    For your first dashboard chart, choose a bar chart or line chart. They handle most project questions well and are easy to label.

    Use fancier charts only when they solve a real problem. A recruiter-ready dashboard is clear before it is stylish.

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Common mistake

    Common axis tricks

    Do not cut the y-axis on a bar chart. A bar encodes value by length, so cutting the bottom changes the visual meaning.

    Do not reverse an axis unless there is a known reason, like rank 1 at the top in a table. Most readers expect up and right to mean more.

    Example

    Small change, fair view

    Your app has weekly active users: 92, 96, 101, 105. A y-axis from 90 to 106 makes growth look steep. That may be okay for a line chart if the axis labels are clear, but not for a bar chart.

    Here is a safe Chart.js bar chart setup. The y-axis starts at zero and labels the unit.

    const chartConfig = {
      type: 'bar',
      data: {
        labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4'],
        datasets: [{
          label: 'Active users',
          data: [92, 96, 101, 105],
          backgroundColor: '#2563eb'
        }]
      },
      options: {
        scales: {
          y: {
            beginAtZero: true,
            title: {
              display: true,
              text: 'Active users'
            }
          },
          x: {
            title: {
              display: true,
              text: 'Week'
            }
          }
        }
      }
    };
    Tip

    Ask AI to audit

    Paste your chart config or screenshot into ChatGPT, Gemini, or Claude and ask for an axis honesty check.

    Check the answer yourself. AI may miss the chart type, unit, or whether a zoomed axis is explained.

    Prompt:
    Review this dashboard chart for honest axes and scales.
    Tell me if the y-axis should start at zero, whether the units are clear, and whether the scale could mislead a recruiter or hackathon judge.
    Your to-do

    Axis checklist

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    4. Make colour accessible

    4 min

    In 30 seconds
    • Use colour to support meaning, not carry it alone.
    • Pick chart colours that work for colour-blind users and phone screens.
    • Check contrast and add labels or patterns so your chart stays readable.
    Key point

    One colour rule

    Never make colour the only way to understand a chart. Use colour plus a label, icon, pattern, line style, or direct text.

    Your dashboard may be opened on a phone, projector, or low-brightness laptop during judging. The meaning should survive all three.

    Why this matters

    Many people cannot easily tell red from green, or blue from purple. Even users with normal vision struggle when colours are low contrast or too similar.

    A recruiter or judge should not need to guess which line is which. If your chart answers a project question, the colour choices must help that answer.

    Your to-do

    Choose safer colours

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Common mistake

    Common colour mistake

    Beginners often use bright random colours because the chart looks more active. That can make the chart harder to read.

    Do not use colour like decoration. Use it to separate groups, highlight a finding, or show status.

    Tip

    Check with AI

    You can ask ChatGPT, Gemini, or Claude to review your colour plan. Paste your chart labels and colour hex codes.

    Check the reply yourself. AI may say a palette is accessible without testing actual contrast. Use a contrast checker for text and important labels.

    Example

    Accessible chart colours

    This small Chart.js example uses blue and orange instead of red and green. It also labels each dataset, so colour is not the only clue.

    The dashed line gives another visual difference. This helps when colours look similar.

    const data = {
      labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
      datasets: [
        {
          label: 'Successful UPI payments',
          data: [42, 55, 61, 58, 70],
          borderColor: '#0072B2',
          backgroundColor: '#0072B2',
          tension: 0.2
        },
        {
          label: 'Failed UPI payments',
          data: [8, 6, 7, 5, 4],
          borderColor: '#D55E00',
          backgroundColor: '#D55E00',
          borderDash: [6, 4],
          tension: 0.2
        }
      ]
    };
    Your to-do

    Test your chart

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    0 of 5 done

    Common mistake

    Weak labels

    Beginners often write titles like Graph 1, Users, or Analysis. These labels do not tell anyone what decision the chart supports.

    Another common mistake is using abbreviations only your team knows. DAU, GMV, NPS, and SLA may be fine for your team, but expand them once if your project is shown to outsiders.

    Example

    Before and after

    This is the same chart idea with better labels. The second version tells a clearer story in a project dashboard for a campus canteen queue app.

    Weak:
    Title: Queue
    X-axis: Time
    Y-axis: Count
    Legend: Series 1
    
    Better:
    Title: When is the canteen queue longest?
    X-axis: Time of day, 9 AM to 5 PM
    Y-axis: Students waiting
    Direct label: Peak queue: 38 students at 1:15 PM
    Note: Data from 42 user check-ins on 12 Feb
    Tip

    Use AI carefully

    You can ask ChatGPT, Gemini, or Claude to improve chart labels. Paste your chart question, metric, unit, time period, and audience.

    Check the output yourself. AI often makes the title sound too broad, adds claims not in your data, or forgets the unit.

    Prompt:
    I am making a dashboard chart for a hackathon project.
    Question: Are users completing onboarding faster after our change?
    Metric: Median onboarding time
    Unit: minutes
    Time period: 7 days before and 7 days after change
    Audience: recruiters and hackathon judges
    Suggest a clear chart title, axis labels, and one short note.
    
    Check:
    - Does it include minutes?
    - Does it mention the before/after period?
    - Does it avoid claiming causation if the data only shows a change?

    Notes are labels too

    A note is not an apology. It is context. Use it when the viewer could misunderstand where the data came from or what is excluded.

    Good notes are short: Sample: 31 hostel students. Excludes failed payments. Amounts are in ₹. These make your dashboard look more honest.

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    6. Cut clutter and avoid traps

    5 min

    In 30 seconds
    • Remove chart noise so the main answer is easier to see.
    • Avoid common traps like 3D charts, double axes, and decoration-only visuals.
    • Prepare one cleaner chart for your HackIndia dashboard submission.
    Key point

    One job only

    A dashboard chart should answer one project question with the least visual noise possible. If a line, icon, colour, border, or label does not help the reader understand the answer, remove it.

    What counts as clutter

    Clutter is anything that competes with the data. Common examples are heavy gridlines, thick borders, shadows, gradients, too many colours, repeated labels, and legends that could be direct labels.

    A recruiter may spend less than a minute on your demo. A clean chart lets them understand your project result without asking you to explain every design choice.

    Common mistake

    Avoid these traps

    Do not use 3D charts. They make bars, slices, and points harder to compare. Do not use pie charts with many slices. After 4 or 5 categories, comparison becomes slow.

    Be careful with dual-axis charts. They can make unrelated trends look connected. If you need two different units, use two small charts with clear titles instead.

    Your to-do

    Clean the chart

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Tip

    Use the squint test

    Open your chart on your phone. Squint slightly. The main pattern should still be visible.

    If the loudest thing is the grid, legend, border, or colours, the chart is not ready. Make the data marks and key labels the clearest parts.

    Example

    Cleaner chart config

    Here is a Chart.js option block that reduces noise. Use it later when you build the chart in code. The point is not this exact library. The point is the choices: no legend when labels are obvious, light gridlines, clear title, and readable ticks.

    const chartOptions = {
      responsive: true,
      plugins: {
        title: {
          display: true,
          text: 'Which feature gets the most student signups?'
        },
        legend: {
          display: false
        },
        tooltip: {
          enabled: true
        }
      },
      scales: {
        x: {
          grid: {
            display: false
          },
          ticks: {
            maxRotation: 0,
            autoSkip: false
          }
        },
        y: {
          beginAtZero: true,
          grid: {
            color: '#e5e7eb'
          },
          ticks: {
            precision: 0
          },
          title: {
            display: true,
            text: 'Signups'
          }
        }
      }
    };

    Check AI suggestions

    If you ask ChatGPT, Gemini, or Claude to improve your dashboard chart, ask for a simpler version, not a prettier version. AI tools often suggest extra colours, icons, cards, animations, or 3D styles because they look impressive in text.

    Use this prompt: “Simplify this dashboard chart for a recruiter. Remove decoration. Keep the chart honest, labelled, and accessible. Tell me what to delete and why.” Then check that the answer keeps the scale clear and does not hide important data.

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    0 of 5 done

    Example

    React chart example

    This example uses Recharts in a React app. It builds a bar chart for one clear question: Which feature gets the most user clicks?

    Install Recharts first, then add the component to the page where your dashboard is shown.

    npm install recharts
    
    // FeatureClicksChart.jsx
    import {
      BarChart,
      Bar,
      XAxis,
      YAxis,
      CartesianGrid,
      Tooltip,
      ResponsiveContainer,
      Label
    } from "recharts";
    
    const data = [
      { feature: "UPI Pay", clicks: 86 },
      { feature: "Order Track", clicks: 64 },
      { feature: "Support", clicks: 28 },
      { feature: "Coupons", clicks: 42 }
    ];
    
    export default function FeatureClicksChart() {
      return (
        <section aria-labelledby="feature-clicks-title">
          <h2 id="feature-clicks-title">Which feature gets the most clicks?</h2>
          <p>Clicks recorded in the demo dataset for this project.</p>
    
          <ResponsiveContainer width="100%" height={300}>
            <BarChart data={data} margin={{ top: 20, right: 20, bottom: 40, left: 40 }}>
              <CartesianGrid strokeDasharray="3 3" />
              <XAxis dataKey="feature">
                <Label value="Feature" offset={-25} position="insideBottom" />
              </XAxis>
              <YAxis domain={[0, "dataMax"]}>
                <Label value="Clicks" angle={-90} position="insideLeft" />
              </YAxis>
              <Tooltip />
              <Bar dataKey="clicks" fill="#2563eb" name="Clicks" />
            </BarChart>
          </ResponsiveContainer>
        </section>
      );
    }
    Tip

    Ask AI carefully

    AI can help you write the chart component faster. Give it your data shape, chart type, framework, and the exact question the chart must answer.

    Check what it returns. Make sure the axis does not hide zero for bar charts, labels are present, colours have contrast, and the chart uses your real fields.

    Prompt you can use:
    
    I am building a React dashboard chart using Recharts.
    Question: Which feature gets the most clicks?
    Data fields: feature as string, clicks as number.
    Make a responsive bar chart with a title, axis labels, tooltip, and accessible section label.
    Do not use fake fields. Keep the y-axis honest for a bar chart.
    Common mistake

    Common build mistake

    Many builders make a good chart in a notebook, then forget to connect it to the submitted app. Recruiters and judges may never see it.

    Put the chart on a clear dashboard route or section. Test it on your phone and laptop. If the labels overlap on mobile, shorten names or increase chart height.

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    8. Submit your dashboard project

    5 min

    In 30 seconds
    • Prepare your dashboard chart for a real HackIndia submission.
    • Show the chart in your demo, app, README, and public repo.
    • Use a final checklist so judges and recruiters can verify your work.
    Key point

    Prove the chart works

    Your chart is only useful if someone can find it, understand it, and verify how it was built.

    For submission, make the chart visible in the app or demo, connect it to a real project question, and keep the code public.

    What judges need

    A good dashboard submission does not need ten charts. One honest, labelled, accessible chart is enough if it answers a real project question.

    Think like a busy reviewer. They may open your demo for two minutes. Put the chart where it is easy to reach, not hidden behind login or unfinished navigation.

    Your to-do

    Submission checklist

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Example

    README proof block

    Add a small section to your README so a judge or recruiter can check the dashboard quickly. Keep it factual.

    Replace the sample text with your own project details.

    Project dashboard
    Question answered: Which hostel mess items get the most complaints each week?
    Chart shown: Weekly complaints by item, grouped by food category
    Where to see it: Open the app, go to /dashboard
    Demo: The dashboard chart is visible at 01:12 in the demo video
    Data source: Sample complaint records in data/complaints.csv
    Accessibility check: Chart has title, axis labels, units, and does not rely on colour alone
    Run locally:
    npm install
    npm run dev
    Common mistake

    Do not submit a screenshot only

    A screenshot helps, but it is not enough. Your task is to submit a working project dashboard with a chart visible in the demo or app.

    If the app cannot run, the repo should still make the chart code easy to inspect. Do not leave chart logic inside an unnamed test file.

    Tip

    Use AI for review

    Before submitting, paste your README section and a screenshot description into ChatGPT, Gemini, or Claude. Ask it to act like a hackathon judge with two minutes.

    Check its feedback yourself. AI may miss broken links, wrong commands, or accessibility issues. You must still click every link and run the project once.

    Prompt:
    You are reviewing my hackathon project submission.
    Check if my dashboard chart is easy to find, honest, labelled, and understandable.
    Tell me what is missing for a recruiter or judge.
    
    Project question: [paste your question]
    README dashboard section: [paste section]
    Screenshot description: [describe what is visible]
    Your to-do

    Final local test

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 5 done

    Your to-do

    Do this now

    Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.

    0 of 4 done