Inspiration
Social media posts often look perfect at first glance, but one small mistake — a wrong date, price, venue, or registration deadline — can make it to thousands of people.
We wanted to build a simple "last check" before a post goes live. The idea behind PostSpec is straightforward: before you post, run the checks.
Instead of relying on someone manually comparing a campaign brief with a poster and caption, PostSpec uses AI to read the content and then uses deterministic validation rules to make sure the important details actually match.
What we built
PostSpec is an AI-powered pre-publish checker for social media campaigns.
A user provides:
- The campaign brief — the source of truth
- The final poster/creative
- The caption that will be published
PostSpec then extracts the important campaign details using AI and checks them against the actual post.
It can catch issues such as:
- Wrong event dates
- Incorrect prices
- Missing venues
- Incorrect registration deadlines
- Missing or incorrect CTAs
- Caption/post inconsistencies
Instead of simply saying something is wrong, PostSpec shows exactly what was expected, what was found, and what needs to be fixed.
It can also suggest or automatically apply safe caption fixes while keeping the original creative untouched.
How we built it
We built PostSpec as a Next.js web application with a clean, lightweight interface designed around a simple workflow:
Brief → Creative → Caption → AI Extraction → Validation → Fix
The AI handles the messy part — understanding text and visual content.
The actual pass/fail decision is handled by deterministic validation logic. This separation is important because we don't want an AI model to silently decide that an incorrect date or price is "close enough."
For Live AI mode, PostSpec uses the Gemini API to read campaign inputs and extract structured information. The extracted information is then passed through our validation layer.
We also included a Demo Mode with built-in test campaigns so the core product can be demonstrated without requiring an API key.
What we learned
One of our biggest learnings was that AI shouldn't necessarily make the final decision.
AI is great at understanding messy real-world content, but validation is much safer when the final decision is deterministic.
For example, if the campaign says:
Entry: ₹99
and the caption says:
Entry: ₹149
the system shouldn't ask an AI model whether those values are "probably okay." It should simply flag the mismatch.
This led us to design PostSpec around two layers:
AI for understanding.
Code for deciding.
Challenges
The biggest challenge was making the system useful for different types of campaign content rather than relying only on fixed test cases.
Posters can contain information in different layouts, while captions can be written in completely different styles. We therefore had to make the extraction layer flexible while keeping the validation layer predictable.
Another challenge was making the feedback understandable. Instead of showing technical AI output, we designed the interface to show simple results such as:
Expected: ₹99
Found: ₹149
Result: FAIL
This makes the tool useful even for someone who isn't technical.
What's next
We see PostSpec becoming a lightweight publishing gate for social media teams, student societies, marketing teams and agencies.
Future versions could integrate directly with social media scheduling platforms, maintain campaign history, support more content types, and provide team-level approval workflows.
The goal is simple:
Catch the mistake before the audience does.
Built With
- ai
- api
- gemini
- html
- javascript
- next.js
- react
- typescript
Log in or sign up for Devpost to join the conversation.