Inspiration

I wanted to generate Twitter content that didn’t feel robotic or artificial. My goal was to learn how to build a fully stacked AI-powered tool from scratch—not just a wrapper, but something engineered end-to-end.


🛠 What It Does

You paste in an affiliate link (e.g. https://shipfa.st/?via=jessyka) and it generates 3 distinct tweet styles tailored to your URL.

It:

  • Scrapes the root webpage
  • Runs a SERP analysis using SerpAPI
  • Extracts metadata, headings, and keywords
  • Uses LangChain with custom prompts to generate natural, relevant tweets

I also implemented a localized cache system that lets users regenerate tweets without burning API tokens, saving both compute and cost.


How We Built It

  • Used Netlify to deploy and host the frontend and backend serverless functions
  • Used Supabase as the backend database, handling storage, queries, and RLS
  • Wrote serverless functions to orchestrate LangChain + OpenAI usage
  • Limited requests to 1–3 per prompt and verified output quality before implementation
  • Focused on modular design and tight feedback loops during development

Challenges We Ran Into

The hardest part was integrating all the backend logic.

  • Supabase took time to learn—configuring tables, roles, and permissions
  • Netlify Functions required precise debugging for logic and API
  • Managing environment variables securely was imoprtant
  • I spent several 10+ hour days debugging logs, function errors, and integration flow

Accomplishments We’re Proud Of

  • Full Netlify + Supabase integration without relying on third-party wrappers
  • Custom PostgreSQL database setup in Supabase
  • Backend logic written entirely in serverless functions
  • Structured content scraping + SEO-aware tweet generation
  • Custom token-saving cache system to reduce API costs
  • LangChain pipeline customized with multiple prompt styles

What I Learned

  • How to build and deploy serverless APIs with Netlify
  • How to architect and secure a Supabase backend with dynamic data
  • How to integrate LangChain + OpenAI into a structured generation system
  • How to log, test, and monitor real-time backend workflows
  • How to build a data-first, full-stack AI tool from scratch

What’s Next for Link Marks the Spot

  • Add more tweet formats (e.g., influencer threads, memes, viral formats)
  • Create a paid plan with advanced prompt tuning and analytics
  • Launch a Chrome extension for instant tweet generation from any URL
  • Let users create accounts, view tweet history, and schedule posts

Built With

  • database-triggers)
  • eslint
  • javascript
  • langchain
  • lucide-react
  • netlify
  • openai-api
  • pg-net-extension
  • react
  • resend-api
  • row-level-security-(rls)
  • serpapi
  • sql-(postgresql)
  • ssrf
  • supabase-(postgresql-database
  • supabase-edge-functions
  • supabase/supabase-js
  • tailwind-css
  • typescript
  • vite
Share this project:

Updates