
Kocial — AI Social Media Platform for Agencies
( Discipline )
SaaS platform
- Private client system
( Role )
Lead Full-stack Developer
( Scope )
- Most of the dashboard and backend: the Next.js app with Redux Toolkit Query and NextAuth; the Express API and MongoDB models; Facebook
- Instagram and Meta Marketing API integration; OpenAI captions
- Replies
- Planning and image generation; Google Drive and Photos import and sync; Redis and BullMQ background jobs; Stripe billing
- Credits and wallet; the unified inbox; PDF and calendar exports; and the agency
- Team and client workflows
( Stack )
- Next.js 16
- Redux Toolkit Query
- NextAuth
- TipTap
- Recharts
- Express
- MongoDB
- Redis
- BullMQ
- OpenAI API
- Facebook & Instagram Graph API
- Meta Marketing API
- Google Drive & Photos API
- Stripe
- WhatsApp Cloud API
- Cloudinary
- FFmpeg
- Jest




( Brief )
Kocial is built for agencies that run social media for many local businesses — cafés, bakeries, restaurants, gyms, salons — and for single businesses on their own plan. An agency switches into any client and sees that client's calendar, media, inbox and analytics; team members such as photographers, videographers and editors get their own area for shoots and uploads; and clients can review what is planned for them. I was the main developer of both the Next.js dashboard and the Express and MongoDB backend, from the first commit to production.
( Approach )
Content starts in the media library: upload it, or connect Google Drive or Google Photos and let new files sync in on their own. OpenAI writes captions for every image and video, and they're de-duplicated so they don't repeat. It also turns a link into a post, plans a month of content and generates graphics in the client's brand kit. Posts land in a calendar with per-platform captions, video slots, holidays and a content-runway alert that warns when a client is about to run out. Clients approve or deny each post per platform; only a denial holds a post back. At the scheduled time Kocial publishes to Facebook and Instagram, including carousels, Reels and Stories, which can repeat.
After publishing, comments and DMs from both platforms arrive live in one inbox, where they can be answered by hand or with an AI reply. Kocial also imports each account's post history and shows insights, follower growth and posting streaks. A Meta Ads section creates and boosts campaigns. Agencies pay by Stripe subscription, sized by client count, with monthly AI credits, per-client credit caps and a prepaid wallet for video generation. The team gets shoot reminders by WhatsApp and e-mail, and an admin area covers users, connections, AI usage and billing. The dashboard is in German and English.



( Challenge )
Kocial publishes for real businesses on a timer, so it can't double-post, lose a post or post the wrong thing. Publishing, stories, auto-replies, cloud sync and the autopilot run as BullMQ jobs on Redis, with a node-cron fallback, so they survive restarts. Each job claims its post before publishing, and a recovery sweep picks up anything a restart left behind. Only the primary instance runs the schedulers. OAuth tokens are encrypted at rest and refreshed before they expire. Meta's rate limits, media rules and partial failures are recorded per platform, so one network can fail without blocking the other. Across both apps that meant reading a lot of Graph API documentation and building many small, careful flows on top of it.
( Responsibilities )
Most of the dashboard and backend: the Next.js app with Redux Toolkit Query and NextAuth; the Express API and MongoDB models; Facebook, Instagram and Meta Marketing API integration; OpenAI captions, replies, planning and image generation; Google Drive and Photos import and sync; Redis and BullMQ background jobs; Stripe billing, credits and wallet; the unified inbox; PDF and calendar exports; and the agency, team and client workflows.

