I built a tool to stop clients from texting 'any update?' at 11 PM - Here's the tech stack and what I learned
Source: Dev.to
The Problem
As a freelance developer, I was spending 6+ hours/week answering “any update?” messages from clients, even though I’d just sent them an update the day before. The issue wasn’t a lack of communication; it was communication scattered across five platforms (email, Slack, WhatsApp, SMS, DMs). Clients genuinely forgot what I told them because the information was buried in threads.
Solution – Animiso
Animiso is a dead‑simple client‑update feed:
- Freelancer posts updates (text + images)
- Client receives one permanent link
- Client checks progress anytime (no login required)
- No more “any update?” texts
Frontend
- Vanilla HTML/CSS/JS (kept simple)
- Icons from Bootstrap Icons and Lucide
- No framework bloat
Backend
- Node.js + Express
- PostgreSQL for data storage
- JWT authentication for freelancers
- Cloudflare for CDN/caching
Why no React?
Avoided the overhead of a full SPA; the UI is straightforward and static, which keeps load times low and maintenance minimal.
File uploads
- Stored in Cloudflare R2 (S3‑compatible, cheaper)
- Image optimization performed on upload
- Max 5 MB per image
Beta Results
- 18 beta users testing
- 4.2 hours average saved per user/week
- 89 % would recommend
- 0 “any update?” texts reported since onboarding
Key Learnings
- Frictionless authentication – freelancers use email magic links (no password); clients need no accounts. Lower friction leads to higher adoption.
- Mobile‑first is critical – 70 % of client views are on mobile; UI was optimized for small screens first.
- Real‑time isn’t necessary – Clients check updates at most once a day, so skipping WebSockets saved weeks of development time.
- Speed > features – Users care about seeing updates fast, not fancy animations. Sub‑100 ms load times matter more than visual effects.
Call for Testers
Opening 25 beta spots next week for freelancers who want to try it:
Questions for the Community
- What would you add to this stack?
- Any security considerations I’m missing?
- How would you handle file versioning?
Building in public. The code is closed source for now, but I’m happy to discuss the architecture.
Cheers, animiso.fun