5 Years of Building: The buildbyRaviRai Story
In 2021 I was charging ₹12,000 for a WordPress site. In 2026 we shipped a production EV charging management system running 40+ chargers across two cities, and launched a cloud hosting platform built for Indian developers. This is the honest version of what happened in between — what worked, what broke, and what I'd do differently.
“The first year, every project felt like it might be the last one. That feeling doesn't fully go away. You just get better at ignoring it.”
2021 — Starting in Noida with WordPress
I started buildbyRaviRai as a side project while doing contract work. The first few clients were small businesses in Delhi NCR — a coaching institute, a logistics broker, a restaurant. All WordPress. All under ₹20,000. I was competing on price and losing to people who charged even less.
The thing that changed was writing scope documents before quoting. Every client I had walked away from taught me the same lesson: scope creep kills small projects. A ₹15,000 site that takes 6 weeks instead of 2 because the client kept adding pages is actually a ₹5,000/week project — below minimum wage.
- Started scoping in writing — every project has a written brief before any quote is given
- Stopped competing on price — raised rates by 40% in month 6 and lost 2 clients, gained 3 better ones
- Learned that most Indian SME clients need hand-holding on hosting, email, and domain — build that into the quote
2022 — First enterprise project
The first ₹1L+ project was a Laravel + React admin dashboard for a B2B logistics firm. I underbid it — quoted ₹95,000 and it took 14 weeks instead of 8. But it was the project that taught me what real production software looks like: role-based permissions, audit logs, bulk CSV imports, and an API that had to talk to three other internal systems.
I also learned that enterprise clients judge you differently. They don't care about your portfolio page. They care about whether you show up to calls prepared, whether your code is readable by someone else, and whether you respond to Slack messages within the hour. Those things matter more than the stack you use.
2023 — Adding Flutter and SaaS to the stack
The web-only positioning was starting to feel like a ceiling. Clients kept asking if we did mobile apps. We added Flutter and React Native — not because it was trendy, but because three clients in a row had asked for both a web dashboard and a companion app.
The first SaaS MVP we built had subscription billing (Razorpay recurring), multi-tenant architecture, and a usage-metered feature set. It shipped 4 weeks late because I underestimated the Razorpay webhook retry logic. Lesson: every payment integration has one non-obvious edge case that will eat a full week. Budget for it.
- Flutter and React Native produce one codebase for iOS + Android — the cost difference between them is ~5-10%, not 2x as many clients assume
- Multi-tenant SaaS: get the data isolation model right in week 1 — retrofitting row-level security to a shared schema is painful
- Razorpay recurring billing: the webhook for subscription.charged is not the same as payment.captured — both need to be handled separately
2024 — PlugEV: OCPP and EV charging in production
The PlugEV project was the most technically complex thing we had built. An Indian EV operator needed a CSMS — a central system to manage, monitor, and bill across a network of charging stations. The protocol is OCPP 1.6-J over WebSocket. The backend is Go for the gateway, Laravel for admin and billing.
Forty chargers live across two cities. RFID authentication, real-time session monitoring, remote start/stop, automated invoicing. It still runs in production today at plugev.in.
- OCPP is a standard — charger implementations vary wildly. We keep a per-vendor quirks file in the repo from day one
- ~30% of chargers shipped with wrong system time. One vendor ignored our BootNotification.conf currentTime. MeterValues came in timestamped 2018. Billing broke silently for 2 weeks
- The lesson: never trust any data that comes from the charger without validation. Especially timestamps
2025 — International clients: Rogers, Canada, UAE
The international work came mostly through referrals and the portfolio. Rogers (Canada's largest telecom) found us through a mutual — we delivered two project sprints for their web properties. Saddle Fit Canada was a cold inbound from our portfolio page. A UAE fintech client came through LinkedIn.
Working with international clients changed how we structure contracts and communication. Canadian and UK clients expect weekly written status updates, a clear change-order process, and time-tracked billing for any scope outside the original brief. Once you build those habits they make domestic projects better too.
2026 — CloudNX: building for Indian developers
After years of explaining dollar-denominated AWS bills to Indian clients and setting up DigitalOcean droplets for every new project, we built CloudNX — a managed cloud hosting platform designed for the Indian market. INR billing, Indian data centres, GST invoices, and a dashboard that doesn't require a DevOps background to operate.
It launched in April 2026 with a free 3-month offer for new signups. No credit card required. We built it because we needed it ourselves.
Try CloudNX free for 3 months — cloud hosting built for Indian developers, INR billing, no credit card.
Start free on CloudNXWhat I'd do differently
- Raise rates earlier. The hesitation to charge more costs more in opportunity cost than the clients you lose by raising prices.
- Build the retainer model from year one. One-off projects are a treadmill. Retainers are a foundation.
- Write more publicly. The blog posts that documented real problems brought in better clients than any portfolio piece ever did.
- Specialize sooner. Being 'full stack' is fine. Being the OCPP/EV charging developer in India is a moat. Niches compound.
- Stop over-scoping discovery. Most clients know what they want. The ₹50,000 discovery phase is often a way to delay starting the real work.
Five years in, the work is better, the clients are better, and the projects are more interesting. That's the honest summary. If you're at year one of a similar journey, the thing that matters most is shipping — not the stack, not the portfolio design, not the agency name. Ship things. Write about what broke. The rest follows.
Want to work together? Tell us what you're building — we quote in writing, in INR, without a 3-hour discovery call.
Start a projectFounder of buildbyRaviRai, a freelance web development agency based in Noida, India. 5+ years shipping Next.js, WordPress, Shopify, and Laravel projects for clients in India, USA, Canada, and the UK.
Working with us in your city
Keep Reading
3 Clients Fired Us Last Year. Here's What Each One Taught Me.
Losing a client always stings. Losing three in a year forces you to look in the mirror. The real, slightly painful, specific lessons from each of the three engagements that ended early — and what we changed because of them.
Building a Fully Functional OCPP CSMS: What Worked, What Broke, What We'd Do Differently
Honest breakdown of building a production OCPP 1.6-J CSMS for an Indian EV charging operator — message flow, transaction lifecycle, vendor quirks, the time-sync bug that took us a week, and the parts of the spec the docs gloss over.