All work
Internal toolDeployed

Social Analyst & Content Planner

Two tools behind one sign-in for a content team. The Social Analyst reads the Instagram numbers and gives an honest diagnosis with up to three small tests; the Content Planner turns those tests into a monthly calendar and first drafts for each platform.

Category:
Content teams
Type:
Web app
Services:
Scoping, product design, full-stack development, AI integration
Result:
Built and deployed in 12 days

The problem

A content team needed one place to read what its Instagram results show, decide what to try next, and plan the coming month's posts around it.

tools behind one sign-in, one team list and one history
2
platforms per draft: Instagram, TikTok, LinkedIn and X
4
small tests at most per diagnosis
3
days from the first commit to the current version
12

How it works

From the numbers to next month's posts

  1. Bring in the results

    Results are imported, entered by hand, or read from screenshots of a post's insights, next to the goal for each account.

  2. Diagnose

    The Social Analyst explains in plain words what the numbers show, with the audience and timing behind them.

  3. Pick the tests

    Each diagnosis ends in at most three small tests, saved and frozen with it.

  4. Hand over

    One button sends the tests to the Content Planner, where they arrive as ideas.

  5. Plan and draft

    Gemini suggests the month's calendar and writes first drafts, one text per platform.

  6. Check and post

    A person reworks each piece, someone else checks it, and the team posts it.

Inside the product

Social Analyst

A diagnosis, not a wall of numbers

The analyst compares an account's results with its goal and says what they show in plain words, with the content, the audience and the timing behind them. Each period keeps its history, its growth plan and its reports.

  • Results by import, by hand, or read from screenshots with Claude
  • Nothing is filled in when a reading fails, and the screen says why

Handoff

Three tests, carried across intact

A saved diagnosis is frozen with its tests. The tests travel to the Content Planner through a versioned file format both tools are built against: loading the same test twice changes nothing, and a malformed file is refused as a whole, with a message in plain words.

Content Planner

A month of posts, drafted for each platform

Gemini suggests the month's calendar and writes a first draft for Instagram, TikTok, LinkedIn and X, at most seven pieces a week. Claude gives a second opinion on drafts and takes over when Google is busy. People rework every piece.

  • Text only: the planner writes, designers and video makers get a brief and a checklist
  • Nothing moves on its own except the handover after "Looks good"

Team

One history of who did what

Everyone signs in with a six-digit email code, and the team list is the allow-list. Every change writes a row in the history, with who and when, in the same transaction. The person who checks a piece is never the one who wrote it.

Under the hood

Engineering decisions

  • SvelteKit and TypeScript on Vercel, with Supabase Postgres through Drizzle
  • AI on the server only: Gemini writes, and Claude steps in when Google is busy, under one monthly budget for the team
  • Weekly backups to private storage, with a tested script that restores them into an empty database
  • One design system: tokens in a single stylesheet, Arabic text support, 17 px text, 48 px buttons and layouts that work at 390 px
  • Automated tests with Vitest across both tools

Stack

  • Svelte
  • TypeScript
  • Supabase
  • PostgreSQL
  • Drizzle
  • Vercel
  • Gemini
  • Claude

Building something similar?

Tell us what it is. You get a reply within one business day.

Get your MVP estimate