Back to Portfolio
Freelancing

Freelancing as a Student: My First ₹50,000 Month

How I went from charging ₹5,000 for a basic website to earning ₹50,000 in a single month while still being a college student. The challenges, the lessons, and the systems that made it possible.

Suhas Dhawale
December 1, 2024
9 min read
2.8k views
Freelancing as a Student: My First ₹50,000 Month
9 min read2.8k views


From ₹5,000 Websites to ₹50,000 Months: My Student Freelancing Journey

This isn't a "get rich quick" story. This is the real, sometimes messy journey of how I went from charging ₹5,000 for a basic website to earning ₹50,000 in a single month while still being a college student.

The Humble Beginning: My First ₹5,000 Website

Date: March 2024
Client: Local bakery owner (friend's uncle)
Project: Simple 5-page website
Payment: ₹5,000
Time Taken: 3 weeks (way too long!)

The Website I Built:




Sweet Dreams Bakery




Sweet Dreams Bakery


Fresh Baked Goods Daily





Our Menu







Contact Us


Phone: +91-XXXXXXXXXX


Address: 123 Main Street, Nagpur





What I Learned from This First Project:
1. Scope Creep is Real: "Can you also add online ordering?" (for free, of course)
2. Communication is Key: Client wanted "modern" but I built "basic"
3. Time Management: 3 weeks for a simple site was embarrassing
4. Pricing is Psychology: I undervalued my work from the start

The Client's Feedback:
"It looks good, but can you make it more colorful? And add some animations? Also, my nephew says we need SEO - can you do that too?"

I said yes to everything. Big mistake.

The Learning Phase: Months 1-3

After that first project, I realized I needed to level up quickly.

What I Focused On:
1. Better Design Skills: Learned Figma, studied modern websites
2. Improved Development: React, responsive design, performance
3. Business Skills: Pricing, contracts, client communication
4. Portfolio Building: Created 3 impressive demo projects

My Self-Learning Curriculum:

// Week 1-2: Modern CSS and Design
.hero-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: white;
}

.card {
background: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
padding: 2rem;
transition: transform 0.3s ease;
}

.card:hover {
transform: translateY(-5px);
}

// Week 3-4: React Components
import React, { useState } from 'react';

const ContactForm = () => {
const [formData, setFormData] = useState({
name: '',
email: '',
message: ''
});

const handleSubmit = async (e) => {
e.preventDefault();
// Form submission logic
try {
const response = await fetch('/api/contact', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
});

if (response.ok) {
alert('Message sent successfully!');
setFormData({ name: '', email: '', message: '' });
}
} catch (error) {
alert('Failed to send message. Please try again.');
}
};

return (


type="text"
placeholder="Your Name"
value={formData.name}
onChange={(e) => setFormData({...formData, name: e.target.value})}
required
/>
{/ More form fields... /}

);
};

Demo Projects I Built:
1. Restaurant Website: Modern design with online menu and reservation system
2. Portfolio Template: Clean, professional layout for freelancers
3. E-commerce Store: Full shopping cart functionality with payment integration

The Breakthrough: Finding My Niche

Month 4: I realized that trying to be everything to everyone wasn't working. I needed to specialize.

My Analysis of Successful Projects:
- Small businesses needed professional websites
- They valued results over technical complexity
- They were willing to pay for convenience and reliability
- They needed ongoing support, not just one-time builds

My New Positioning:
"I help small businesses get professional websites that actually bring in customers - without the technical headaches."

The Services I Focused On:
1. Business Websites: Professional, mobile-friendly sites
2. E-commerce Stores: Simple online stores for local businesses
3. Website Maintenance: Monthly updates and support
4. SEO Optimization: Help businesses get found online

The Pricing Evolution

My Pricing Journey:

Phase 1 (Months 1-2): Underpricing
- Basic Website: ₹5,000
- E-commerce: ₹15,000
- Maintenance: ₹1,000/month

Phase 2 (Months 3-4): Market Research
I researched what other freelancers and agencies were charging:
- Local agencies: ₹25,000 - ₹1,00,000 for websites
- Freelancers: ₹10,000 - ₹50,000
- International rates: $500 - $5,000

Phase 3 (Months 5-6): Value-Based Pricing
- Business Website: ₹25,000 - ₹40,000
- E-commerce Store: ₹50,000 - ₹80,000
- Maintenance: ₹5,000/month
- Rush Jobs: +50% premium

The Psychology Behind My New Pricing:

// Old mindset: Cost-plus pricing
const websitePrice = developmentHours * hourlyRate + smallProfit;

// New mindset: Value-based pricing
const websitePrice = clientValue conversionImprovement timeframe;

// Example calculation:
// Client's monthly revenue: ₹2,00,000
// Expected improvement: 20% more customers
// Value created: ₹40,000/month
// My fee: ₹30,000 (pays for itself in 3 weeks)

Month 5: The Systems That Scaled My Business

The Problem: I was spending too much time on admin tasks and not enough on actual development.

My Solution: Build systems and processes.

Client Onboarding System:

// Automated client questionnaire
const clientQuestionnaire = {
businessInfo: {
name: '',
industry: '',
targetAudience: '',
competitors: []
},
websiteGoals: {
primaryGoal: '', // leads, sales, information, etc.
successMetrics: [],
timeline: ''
},
designPreferences: {
style: '', // modern, classic, minimalist, etc.
colors: [],
inspiration: [] // URLs of websites they like
},
technicalRequirements: {
features: [],
integrations: [],
hosting: ''
}
};

// Automated project timeline
const generateTimeline = (projectType, features) => {
const baseDuration = {
'business-website': 14,
'ecommerce': 21,
'custom-app': 30
};

const featureTime = {
'contact-form': 1,
'blog': 3,
'payment-gateway': 5,
'user-accounts': 7
};

let totalDays = baseDuration[projectType];
features.forEach(feature => {
totalDays += featureTime[feature] || 2;
});

return {
discovery: '3 days',
design: ${Math.ceil(totalDays * 0.3)} days,
development: ${Math.ceil(totalDays * 0.5)} days,
testing: ${Math.ceil(totalDays * 0.2)} days,
launch: '2 days'
};
};

Project Management System:
I created a simple Notion workspace to track:
- Client information and requirements
- Project timelines and milestones
- Payment schedules and invoices
- Design assets and code repositories

Communication Templates:

// Project kickoff email template
Subject: Welcome to [Project Name] - Let's Build Something Amazing!

Hi [Client Name],

I'm excited to start working on your website! Here's what happens next:

📋 Discovery Phase (Days 1-3):
- Review your questionnaire responses
- Research your industry and competitors
- Create initial wireframes

🎨 Design Phase (Days 4-8):
- Create homepage design mockup
- Get your feedback and revisions
- Design remaining pages

💻 Development Phase (Days 9-16):
- Build the website
- Add all content and features
- Test on all devices

🚀 Launch Phase (Days 17-18):
- Final testing and optimization
- Deploy to your domain
- Provide training and documentation

I'll send you updates every 2-3 days with progress screenshots.

Questions? Just reply to this email!

Best regards,
Suhas

The ₹50,000 Month: November 2024

The Projects That Made It Happen:

Project 1: Dental Clinic Website
- Client: Dr. Sharma's Dental Care
- Fee: ₹35,000
- Timeline: 2 weeks
- Features: Appointment booking, service pages, patient testimonials

// Appointment booking system I built
import React, { useState } from 'react';

const AppointmentBooking = () => {
const [selectedDate, setSelectedDate] = useState('');
const [selectedTime, setSelectedTime] = useState('');
const [patientInfo, setPatientInfo] = useState({
name: '',
phone: '',
email: '',
service: ''
});

const availableSlots = [
'09:00 AM', '10:00 AM', '11:00 AM',
'02:00 PM', '03:00 PM', '04:00 PM'
];

const handleBooking = async (e) => {
e.preventDefault();

const bookingData = {
...patientInfo,
date: selectedDate,
time: selectedTime,
status: 'pending'
};

try {
// Send to Google Sheets via API
const response = await fetch('/api/book-appointment', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(bookingData)
});

if (response.ok) {
alert('Appointment booked successfully! We will call you to confirm.');
// Reset form
}
} catch (error) {
alert('Booking failed. Please call us directly.');
}
};

return (


{/ Form fields for patient info, date, time selection /}

);
};

Project 2: Fashion Boutique E-commerce
- Client: Trendy Threads Boutique
- Fee: ₹45,000
- Timeline: 3 weeks
- Features: Product catalog, shopping cart, payment gateway, inventory management

Project 3: Restaurant Website Redesign
- Client: Spice Garden Restaurant
- Fee: ₹20,000
- Timeline: 1 week
- Features: Menu display, online ordering, location map

Maintenance Contracts:
- 8 clients × ₹3,000/month = ₹24,000

Total November Revenue: ₹1,24,000
Expenses: ₹24,000 (hosting, tools, taxes)
Net Profit: ₹1,00,000

Wait, that's more than ₹50,000! Let me explain the difference between revenue and what I actually "earned."

The Reality Check:
- Time Invested: 180+ hours (including weekends)
- Hourly Rate: ₹555/hour
- Stress Level: Very high
- Social Life: What social life?

The Challenges Nobody Talks About

1. Scope Creep


Client: "Can you also add a blog? And social media integration? And maybe a customer portal?"
Me: "That wasn't in the original scope..."
Client: "But it's just a small addition, right?"

My Solution:

// Change request template
Subject: Change Request - Additional Features

Hi [Client Name],

I'd be happy to add [requested feature] to your website!

This falls outside our original scope, so here's what it would involve:

Feature: [Description]
Time Required: [X] days
Additional Cost: ₹[Amount]
Impact on Timeline: [X] days delay

Would you like me to proceed with this addition?

Best regards,
Suhas

2. Payment Delays


Some clients treated freelancers like they could pay "whenever convenient."

My Payment Terms Evolution:
- Initially: 100% on completion (big mistake!)
- Later: 50% upfront, 50% on completion
- Finally: 40% upfront, 40% at milestone, 20% on completion

3. Difficult Clients


The Micromanager: Wanted daily updates and approval for every color choice
The Perfectionist: "Can you move that button 2 pixels to the left?"
The Cheapskate: "My nephew can build websites for ₹2,000"

My Client Screening Process:

const clientRedFlags = [
'We need it done yesterday',
'This should be quick and easy',
'We don't have a big budget but...',
'Can you work for exposure?',
'My last developer disappeared'
];

const evaluateClient = (initialConversation) => {
const redFlagCount = clientRedFlags.filter(flag =>
initialConversation.toLowerCase().includes(flag.toLowerCase())
).length;

return redFlagCount < 2 ? 'proceed' : 'decline_politely';
};

4. Burnout


Working 12+ hours a day while managing college coursework was unsustainable.

Signs I Was Burning Out:
- Dreading client calls
- Making careless mistakes
- Procrastinating on projects
- Neglecting college assignments

The Systems That Saved My Sanity

1. Time Blocking


Monday-Wednesday-Friday:
09:00-12:00: College classes
14:00-18:00: Client work (development)
19:00-21:00: Admin tasks (emails, invoices)

Tuesday-Thursday:
09:00-12:00: College classes
14:00-17:00: Client calls and meetings
17:00-20:00: Learning new skills

Saturday:
10:00-16:00: Focused development time
16:00-18:00: Portfolio updates

Sunday:
Rest day (mostly!)

2. Automated Invoicing


// Simple invoice generator
const generateInvoice = (client, project, amount) => {
const invoice = {
number: INV-${Date.now()},
date: new Date().toLocaleDateString(),
client: client,
project: project,
amount: amount,
dueDate: new Date(Date.now() + 72460601000).toLocaleDateString(),
paymentTerms: '7 days from invoice date'
};

// Generate PDF and send email
return invoice;
};

3. Template-Based Development


I created reusable components and templates to speed up development:

// Reusable React components
const HeroSection = ({ title, subtitle, backgroundImage, ctaText, ctaLink }) => (
className="hero"
style={{ backgroundImage: url(${backgroundImage}) }}
>

{title}


{subtitle}


{ctaText}


);

const ContactSection = ({ phone, email, address }) => (


Get In Touch




Phone: {phone}



Address: {address}



);

The Advice I Wish I'd Heard Sooner

1. Specialize Early


Trying to be a "full-stack generalist" is a recipe for mediocrity. Find a niche and become the go-to expert.

2. Build a Strong Portfolio


Your portfolio is your best marketing tool. Showcase your best work and highlight the results you've achieved for clients.

3. Network Relentlessly


Attend industry events, join online communities, and connect with other freelancers and business owners.

4. Value Your Time


Don't be afraid to say no to low-paying projects or difficult clients. Your time is valuable, and you should be compensated accordingly.

5. Invest in Yourself


Continuously learn new skills, attend workshops, and read books to stay ahead of the curve.

The Tools I Can't Live Without

1. Figma


For designing website mockups and creating marketing materials.

2. VS Code


For writing code and managing projects.

3. Notion


For project management, client communication, and knowledge base.

4. Google Workspace


For email, documents, and spreadsheets.

5. Stripe


For processing payments and managing subscriptions.

The Mindset Shift That Changed Everything

From: "I'm just a student, I can't charge high rates"
To: "I provide valuable services that help businesses grow, I deserve to be compensated fairly"

From: "I need to say yes to every project"
To: "I can be selective about the projects I take on"

From: "I'm afraid to ask for help"
To: "I can learn from others and collaborate effectively"

What's Next for My Freelancing Journey?

1. Building a Team


I'm planning to hire a virtual assistant to help with admin tasks and a junior developer to assist with coding.

2. Creating a Course


I want to share my knowledge and experience with other students who are interested in freelancing.

3. Scaling My Business


I'm exploring new marketing channels and strategies to attract more clients.

Final Thoughts

Freelancing as a student has been one of the most challenging and rewarding experiences of my life. It's taught me valuable skills, helped me earn money, and given me the confidence to pursue my dreams.

If you're a student who's considering freelancing, I highly recommend it. It's not easy, but it's definitely worth it.

The Most Important Lesson:
You don't need to be an expert to start freelancing. You just need to be willing to learn, work hard, and provide value to your clients.

---

Want to connect and share your own freelancing journey? Find me through below mentioned links.

Want to see the websites I've built for clients? Check out my portfolio to see the real-world applications and the lessons learned from each one.

SD

Suhas Dhawale

Full Stack Developer & Computer Science Engineering student passionate about creating modern, responsive web applications. Currently building SaaS products and sharing the journey through real stories and practical insights.

Continue Reading

My Journey from College Student to Full-Stack Developer
Personal Story

My Journey from College Student to Full-Stack Developer

How I transformed from a curious computer science student to building real-world applications that solve actual problems. The challenges, breakthroughs, and lessons learned along the way.

8 min read1.2k views
Building My First SaaS: Lessons from the Trenches
Entrepreneurship

Building My First SaaS: Lessons from the Trenches

The real story behind creating my AI-powered SaaS platform. From the initial idea to handling 500+ users, here's what I wish I knew before starting.

12 min read2.1k views

Want More Stories Like This?

Get notified when I publish new stories about development, entrepreneurship and lessons learned from building real projects.

Suhas Dhawale

Full Stack Developer passionate about creating modern, responsive web applications that deliver exceptional user experiences.

Services

  • Frontend Development
  • Backend Development
  • Full Stack Development
  • Web Design

© 2025 Suhas Dhawale. All rights reserved.