My First Client: Between Idealism, Reality, and a 500k IDR Check
June 24, 2026 — 6 min read
Every developer has a story about their first paid project. For me, that story is tied to a premium mobile spa service in Kuala Lumpur, Malaysia calledCozy Home Massage KL. It was a journey filled with excitement, awkward moments, extreme over-delivery, and most importantly, invaluable lessons about the real-world software industry.
It Started with WhatsApp and University Theories
The opportunity came through a classmate's recommendation. His mother runs a premium outcall massage business in Kuala Lumpur, Malaysia. Because her business needed a professional web presence to attract tourists and expats, my classmate suggested that she contact me. Hearing the news, I was thrilled. Finally, a real-world client who would actually pay for my code!
Since we were separated by the sea—with me in Batam and the client in Malaysia—our initial discovery sessions were conducted entirely via WhatsApp. As a student who had just finished semester 1 and 2 at Politeknik Negeri Batam, I saw this as the perfect chance to put my academic knowledge into practice. Before writing a single line of code, I prepared formal documents: an RPP (Project Execution Plan), SRS (Software Requirements Specification), PRD (Product Requirement Document), and a simple ERD (Entity Relationship Diagram). At the time, I believed these documents were the absolute foundation for keeping a project professional and on track.
80% Complete and the Pricing Dilemma
The early development phase went smoothly. In a short time, the website was about 80% complete—only leaving domain registration and deployment to the server. At this point, I received the first down payment (DP).
As a beginner, setting a price was one of the hardest parts of the negotiation. I was eager to gain real-world experience and build my portfolio, so I gladly agreed to the budget they proposed. Looking back, while it was a modest fee for the amount of work, the hands-on learning experience was worth far more than the monetary value. The lessons I learned about starting a project and working with a real client were priceless.
Meeting Face-to-Face and Facing Reality
After two weeks of remote communication, we finally met in person to review the website. Was it awkward? Absolutely. But since it was my first client, I dressed up and prepared as professionally as possible. I expected a straightforward demo, final approval, domain purchase, and deployment.
However, the real-world industry had other plans. During that face-to-face meeting, the client came up with a list of new revisions—details they felt couldn't be easily explained over text messages. That's when the real challenge began. For the next week, I had to work day and night to address revisions that turned out to be quite complex.
Going the Extra Mile: Dynamic Multilingual Web Presence
Our initial agreement was a simple, single landing page. However, knowing that the client wanted to stand out in the highly competitive Kuala Lumpur search market, I wanted to deliver something that would truly help their business succeed. I decided to treat this as a personal challenge to push my skills to the next level.
I went beyond the initial scope to build a comprehensive system:
- Multi-Page Architecture: Transitioned from a single landing page to a multi-page setup to build a strong SEO structure.
- Multilingual Support (4 Languages): Implemented language switching to target Kuala Lumpur's diverse demographic: Indonesian, English, Simplified Chinese, and Malay.
- Professional SEO Optimization: Configured high-level search engine optimizations, including Google Search Console, crawl budget optimization, LLM-friendly crawling (via
llms.txt), dynamic XML sitemaps, and sitemap indexing. - Maps & WhatsApp Integration: Integrated location mapping using the Google Maps API (free tier) and a fully responsive WhatsApp chat trigger across all devices.
To build content for over 100 static multilingual pages, I worked smart. I utilized AI assistance to translate content structures and draft localized copy targeted at different Kuala Lumpur neighborhoods (like KLCC, Bukit Bintang, and Mont Kiara). It was a highly educational exercise in managing large-scale localized content.
What I Learned
While the financial return was modest for a project of this scale, the return on investment in terms of knowledge was immense. For a junior developer, it was a real-world business masterclass in taking responsibility and delivering a complete project from scratch.
Here are the key takeaways I am bringing to my future projects:
- Define Scope Clearly: Working with a clear scope of work, revision boundaries, and timelines helps keep both the client and developer aligned.
- Balance Idealism and Requirements: Proactive enhancement is valuable, but aligning closely with the client's primary needs and getting feedback at each step is much more efficient.
- Value Professional Quality: As my skills grow, pricing projects realistically helps ensure that I can continue to dedicate the time and resources needed for high-quality work.
Today, Cozy Home Massage KL is live on the internet. Every time I see that green logo in my browser, I remember the sleepless week I spent chasing revisions for 500k IDR. It was an imperfect start, but it's a memory I cherish, and it has shaped me into a wiser developer.