DEV Community

Cover image for I built a full Freelancer OS in 2 weeks | with a no-login client portal powered by Groq AI
Muhammad Abdullah
Muhammad Abdullah

Posted on

I built a full Freelancer OS in 2 weeks | with a no-login client portal powered by Groq AI

Freelancers are among the most active in the world. But most of them are managing clients on WhatsApp, tracking projects in their head, and writing invoices in chat messages.

I built SoloDesk to fix that.

What is SoloDesk?

A complete freelancer workflow tool | client CRM, project pipeline with milestones, invoices, proposals, and an AI client communicator. All in one place.

The Feature That Makes It Different | Client Portal

Every project gets a unique public URL:

solodesk-967408890070.asia-south1.run.app/portal/[token]
Enter fullscreen mode Exit fullscreen mode

Your client opens it. No login. No signup. They see:

  • Project progress bar (based on milestone completion)
  • Full milestone timeline with statuses
  • Updates feed you've posted
  • Invoice summary
  • A reply box to message you

One link. That's it.

AI Client Communicator

Built on Groq's llama-3.3-70b | generates professional messages for 10 common freelancer scenarios:

  • Late payment follow-ups
  • Scope creep responses
  • Project delivery notifications
  • Client ghosting follow-ups
  • Rate increase notices
  • And more...

Supports English and Urdu output. Because not every Pakistani freelancer is comfortable writing formal English.

The Stack

Next.js 14 App Router + Supabase + Groq AI + Google Cloud Run + Tailwind CSS.

Deployed on Cloud Run for the hackathon requirement. Mobile-first — bottom tab nav on mobile, sidebar on desktop.

What Was Hard

The Windows + gcloud builds submit bug

Spent 2 hours fighting a Windows file permission error with gcloud builds submit. The fix was switching to Docker locally | build the image with Docker, push to Google Container Registry, deploy from there. Bypasses the gcloud bug entirely.

Prompt engineering for Urdu

Getting proper formal Urdu (not Hinglish) required explicit instructions in the system prompt. Still something to improve in Phase 2.

TypeScript strict mode in Docker

Build passed locally but failed in Docker due to strict TypeScript errors I hadn't caught. Lesson: always run npm run build locally before pushing to Docker.

Live

🔗 Solodesk

Would love feedback especially on the portal UX and AI message quality.
What would you add?

Top comments (0)