Freelancing as a CS Student: What I've Learned Delivering 3 Client Projects
Shipping three client projects (Elephant Corporate, Rashmi Gems, and Mokshbooking) while still in college taught me lessons that had nothing to do with writing code and everything to do with the parts of the job coursework doesn't touch.
Clients don't buy code, they buy an outcome
Every client conversation that went well started with their business problem, not their technical wishlist. "I need more bookings" is the actual brief; "I need a booking calendar with these five fields" is one possible solution to it, and sometimes not even the right one once you understand what they actually need. Learning to ask "what problem does this solve for you" before agreeing to build a specific feature saved every one of these projects from scope that didn't serve the client.
Communication cadence matters more than speed
A client who hears "still working on it" every three days trusts the process, even if progress is genuinely slow that week. A client who hears nothing for two weeks starts to worry regardless of how much work actually happened. Proactive, regular updates — even short ones — turned out to matter more for client trust than raw delivery speed.
Pricing undersold work is a worse mistake than pricing it too high
My first project was underpriced because I was worried about losing the client. That meant resenting scope creep I'd have happily absorbed at a fairer rate, and it set an anchor that was awkward to move away from on the next project with the same client. Pricing fairly from the start, even as a student without a long track record, protected the relationship better than a discount did.
"Done" needs a definition before you start
Every project that had a written, mutually agreed definition of done finished cleanly. Every project that didn't ended with a vague, drawn-out "just one more small thing" phase that ate into time I'd budgeted for the next client.
Balancing this with actual coursework
The honest answer: some weeks it didn't balance well. What helped most was blocking specific days for client work rather than treating it as "whenever I have free time," which protected both the coursework and the client deadlines from bleeding into each other unpredictably.
Takeaway
The technical skills from three client projects were real, but replaceable with more coursework and personal projects. The client-facing skills — scoping, pricing, communication cadence — aren't things a syllabus teaches, and they're the part that actually determines whether freelance work is sustainable past the first project.