Inspiration

Every creator we looked at was stuck doing the same unpaid second job, writing a caption for every platform, hunting for hashtags, adapting tone from casual to professional and back, prepping titles and CTAs, switching between five apps, copy- pasting the same content over and over, and manually publishing everywhere. None of that is creative work it's distribution overhead, and it steals time directly from the thing creators actually want to do: make more content. We wanted to build something that removed that overhead without pretending to replace the creator's judgment.

What it does

Kairos is a platform-aware content publishing tool. A creator sets up their niche, audience, tone, goals, excluded topics, and platforms once. From then on, they describe what they made a title and a short description and Kairos generates a platform-adapted hook, caption, hashtags, description, and CTA for each platform they picked, using a real AI model (Groq), with every response validated against a schema before it ever reaches the screen. If the model can't verify a factual claim, it flags that instead of inventing one. Creators review, edit, regenerate, or copy each platform's version. For platforms Kairos isn't actually connected to, it says so plainly "Connect [platform] to publish" rather than faking a connection. For Bluesky specifically, Kairos does connect for real, and Publish actually posts to the creator's live account, with a real link back to the post. Every generation and publish is logged to a history view stored only on-device, and creators can delete all their data at any time.

How we built it

Next.js (App Router) and TypeScript on the frontend and API routes, Tailwind for styling, Zod for schema validation on every AI response, and Groq as the AI provider behind an abstraction layer so the model can be swapped later. Real publishing runs on Bluesky's AT Protocol. The entire thing was built and shipped from a GitHub Codespace, in a phone browser no laptop at any point.

Challenges we ran into

Building from a phone in a Codespace terminal introduced problems a normal dev setup never would multi-command pastes would silently swallow a newline and merge two commands into one, and an unexpected interactive npm prompt mid-paste once desynced an entire scaffold step. I solved it by moving to smaller, sequential pastes and verifying output before continuing. On the code side, TypeScript's strict index-signature checking caught real bugs twice at the Vercel build stage that never showed up in local dev mode a Record type keyed by specific platform names doesn't accept a plain string key without an explicit cast. That taught us to always run a production build locally before pushing, since dev mode is more forgiving than production builds. The bigger decision was around "real" publishing. TikTok, X, LinkedIn, and YouTube all require OAuth app registration and a review process from each company that takes days to weeks completely incompatible with a hackathon timeline. Rather than fake those connections, we picked the one platform where a real integration was actually achievable in the time available: Bluesky, which authenticates with a simple app password instead of OAuth

Accomplishments that we're proud of

Getting a genuinely real, working publish to social media flow built and verified end-to-end not a simulation, not a "coming soon" screen inside a hard deadline. Equally proud of holding the line on honesty throughout: every "not connected," every uncertainty flag, and every empty state in the app is true, even where it would have been faster to fake it. And doing all of it from a phone.

What we learned

That decentralized, non-OAuth platforms like Bluesky are dramatically faster to build real integrations for than the major incumbents a good lesson for scoping future hackathon projects around what's actually buildable in the time given, not just what's most popular. Also learned the hard way that a working dev server doesn't guarantee a working production build, and that checking that gap early saves a lot of late-stage panic.

What's next for Kairos

Real OAuth integrations for TikTok, X, LinkedIn, and YouTube once each platform's app review is complete. Scheduled/future publishing, not just immediate. Real trending-topic and content-discovery features backed by actual retrieved data rather than AI guesses. Repurposing suggestions helping creators see what old content is worth adapting again. And moving preference storage from the browser to Supabase, so a creator's setup follows them across devices instead of living in one browser tab.

Built With

Share this project:

Updates