Backend for React AI writing app — Supabase/Firebase + Stripe + Claude API

Posted last week

Only freelancers located in the U.S. may apply.U.S. located freelancers only

Summary

OVERVIEW I'm building Inkora, a subscription web app: an AI creative-writing companion for fiction (romance, fan fiction, poetry, general fiction). The React front-end is COMPLETE and will be provided, with clearly marked integration points. I need the backend built, connected, and the full app deployed. This is an 18+ platform with content safeguards. STACK ALREADY IN PLACE - React front-end (provided; single-file app ready to be scaffolded into a project) - GitHub (repo will live on my account) - Vercel (hosting, my account) - Stripe account created - Anthropic (Claude) API key — must live server-side only, never in client code - Domain: inkora.com SCOPE OF WORK 1. Secure AI endpoint — a serverless endpoint (e.g. POST /api/write) that attaches the provided system prompt, calls the Claude API with the server-side key, and returns the text to the front-end. Suggested writing model: claude-sonnet-4-6. 2. Content moderation — screen user input BEFORE the model call and model output AFTER it. Block sexually explicit content and gratuitous graphic gore. Use a inexpensive-model screen (e.g. Haiku) or a third-party moderation API. Log violations; support a warn-then-suspend flow. 3. Auth — your recommendation (Supabase or Firebase preferred). Email + password baseline; Google sign-in if low effort. 4. Database — persist each user's stories (title, genre, full message history, timestamps), characters, and notes. The front-end already models these data shapes. The story's full saved history must be sent with each AI request (this powers in-story continuity). 5. Subscriptions (Stripe) — $10/month, ~$27/quarter, ~$96/year. Free tier: 10 messages per day (make this a config value), resetting every 24h. Gate writing access by subscription status / remaining free allowance. Handle the subscription lifecycle via webhooks. 6. Age-gate persistence — the front-end collects date of birth + an 18+ affirmation; store the affirmation timestamp with the account. Structure it so a third-party age-verification provider can be swapped in later without reworking the flow. I'm open to building on a proven starter/template (e.g. the Vercel AI chatbot template) if it speeds things up — adapting solid existing code is welcome. DELIVERABLES - Deployed, working app (provided front-end + your backend) on my Vercel, repo on my GitHub - All secrets configured as environment variables (never in client code) - Short handoff notes: key rotation, where moderation logs live, how to change config values WHAT I PROVIDE - Complete front-end code, a written backend brief, and the system prompt (shared privately with the selected freelancer) - All accounts (GitHub, Vercel, Stripe, Anthropic) already created and ready TO APPLY, PLEASE ANSWER THESE IN YOUR PROPOSAL: 1. Have you wired Stripe subscriptions with webhooks before? Link or example. 2. How will you keep the API key off the client? 3. How would you implement input + output moderation cost-effectively? 4. Have you deployed serverless APIs on Vercel? 5. Your fixed quote and timeline for this scope. Proposals that don't answer these questions will not be considered.

  • $500.00

    Fixed-price
  • Intermediate
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
React
Node.js
Firebase
API Integration
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:3 days ago
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jul 3, 2026
  • United States
    6:39 PM
  • Tech & IT
    Individual client

Explore similar jobs on Upwork

JavaScript
Web Development
Android
WordPress
Web Design
PHP
HTML
HTML5
iOS
Graphic Design
Looking for iso26262 ExpertHourly‐ Posted 4 weeks ago
Data Entry
Social Media Marketing
Risk Analysis
HAZOP
Data Analysis
YouTube Development
Test Development
Risk Assessment
Analytical Presentation
Content Editing
HazID
Email Marketing Strategy
Social Media Optimization
Web Design

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo