Full-Stack Developer Needed for Spec-Driven AI ESL Web App (Milestone-Based MVP)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

SALARY

$5-8 / hour

HOURS PER WEEK

15

DATE UPDATED

Apr 4, 2026

JOB OVERVIEW

Full-Stack Developer Needed for Spec-Driven AI ESL Web App (Milestone-Based MVP)

I am an ESL (English as a Second Language) instructor building a simple, focused web application for teachers.

The goal of the app is to allow teachers to paste any text and instantly generate structured lesson materials.

This is an MVP (minimum viable product). The design, layout, and behavior are already fully defined and must be followed exactly. This is a spec-driven build, not a design project.

I am looking for a developer who can execute cleanly, follow detailed specifications, and build the project in milestones.

?

What You Will Build

A web app with:
• Two-panel layout (desktop)
• Left: text input and generated output
• Right: lesson settings
• Core features
• Paste text input
• Select lesson options (checkboxes with quantity inputs)
• Generate content using OpenAI (ChatGPT API)
• Toggle between “Original” and “Leveled” content (no page reload)
• Regenerate output
• View previous version
• Download DOCX file (clean, formatted)
• Mobile responsiveness
• Desktop: two-pane layout
• Mobile: stacked vertical layout
• Stripe integration
• Stripe should be integrated during the MVP build
• It will not be active at launch
• It should be set up so payment/subscription features can be turned on later without a major rebuild

?

Technical Requirements
• Frontend: React (preferred) or similar modern framework
• Backend: Node.js (or similar)
• AI Integration: OpenAI API (ChatGPT)
• File Export: DOCX generation
• Payment Integration: Stripe (inactive at launch, ready for later activation)

?

Important Notes
• Full Balsamiq layout will be provided
• Full functional specification (UI + behavior) will be provided
• Full UI color specification will be provided
• Inspiration images for visual direction will be provided
• You must follow the provided structure and behavior exactly
• Do not redesign the interface

?

Validation and Fixer Layer (Important)

The system must include both a validation layer and a fixer layer.

Validation Layer

AI-generated output must be automatically checked before being shown to the user.

The validator should detect issues such as:
• missing or blank answers
• incorrect or incomplete answer keys
• malformed question sets
• formatting inconsistencies
• broken structure in generated output

Fixer Layer

If issues are detected, the system should automatically correct them before the user sees the result.

This may include:
• automatically regenerating the full output
• regenerating only the broken section
• correcting formatting issues
• ensuring the final output is clean and usable

This entire process must be:
• seamless
• automatic
• invisible to the user

The goal is for the teacher to receive output that is reliable, classroom-ready, and does not require extra fixing.

?

Milestones (Important)

This project will be completed in phases. Not all features will be built at once.

Milestone 1 – Core UI Build
• Build the frontend interface exactly according to the provided spec
• Implement two-panel layout
• Implement scrollable panel behavior
• Implement fixed bottom action area
• Ensure responsive layout (desktop and mobile)

Milestone 2 – Core Generation Workflow
• Integrate OpenAI (ChatGPT API)
• Generate output based on user input and selected settings
• Implement toggle between “Original” and “Leveled”
• Implement regenerate and previous version behavior

Milestone 3 – DOCX Export + Validation/Fixer Layer
• Implement clean DOCX export
• Implement validation layer
• Implement fixer layer
• Ensure output is usable and consistently formatted

Milestone 4 – Stripe Setup
• Integrate Stripe in inactive mode
• Prepare payment/subscription system for later activation
• No live payments at launch

Each milestone will be reviewed and approved before moving to the next.

?

What I’m Looking For
• Strong attention to detail
• Ability to follow specifications precisely
• Experience building clean, simple web apps
• Experience working with OpenAI API
• Experience with Stripe integration
• Good communication
• Comfortable working in milestone-based phases

?

Budget
• Target: $1,000–$2,000 total for MVP
• Payment will be milestone-based

?

To Apply

Please include:
1. Examples of similar web apps you’ve built
2. Your experience with OpenAI API
3. Your experience with Stripe integration
4. A short message confirming you understand this is a spec-driven, milestone-based build
5. Briefly explain how you would approach the validator + fixer layer

?

Bonus Question

Please answer this in your application:

How would you implement a fixed action bar with a scrollable settings panel?

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0171
Total Execution Time  0.0189
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,200 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-Needed-for-Spec-Driven-AI-ESL-Web-App-Milestone-Based-MVP-1616760
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0092 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0006   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1616760
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 920347
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1616760
AND `misc`.`idIS NULL 
0.0007   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1616760' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1616760 
0.0012   UPDATE employer_jobs SET hit_counts '***Apr-04-2026=623***Apr-05-2026=139***Apr-06-2026=167***Apr-07-2026=69***Apr-08-2026=31***Apr-09-2026=26***Apr-10-2026=15***Apr-11-2026=9***Apr-17-2026=1' WHERE job_id'1616760'  
0.0020   UPDATE employer_jobs SET monthly_hits '***Apr-2026=1079' WHERE job_id'1616760'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1616760' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1616760 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '920347'
AND `date_added` >= '2022-06-08' 
0.0005   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)