Vue/Nuxt Full-Stack Developer – Build AI Chatbot SaaS (OpenAI + Vision, Long-Term Growth)

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

TYPE OF WORK

Any

SALARY

TBA

HOURS PER WEEK

TBD

DATE UPDATED

Mar 30, 2025

JOB OVERVIEW

About the Opportunity:

We’re building a SaaS platform that allows users to create and embed their own AI-powered chat assistants — similar to Intercom or Tidio, but powered by OpenAI’s GPT-4 + Vision.

Users will be able to:

Chat with their own branded assistant

Upload images or files for GPT-4 to analyze

Manage settings and triggers via a simple dashboard

Send data to ---------- , Google Sheets, or other external tools


We’re starting with an MVP, but this is just the beginning. We’re looking for someone who wants to grow with us — not just complete a project.


---

Why This Is a Long-Term Role:

You’ll be part of the core team from the beginning. The ideal candidate is:

Early in their career but excited to grow

Or already experienced but prefers long-term projects over freelancing

Hungry to build real products and work closely with the founder


As we grow, you’ll have the opportunity to lead future junior devs, contribute to product direction, and earn bonuses or performance-based raises.


---

Initial MVP Tasks:

Build a Vue 3 / Nuxt 3 frontend (chat UI provided)

Create API routes to connect with OpenAI’s Assistants API

Add GPT-4 Vision image upload and response

Handle file/image uploads (Cloudinary or Firebase)

Send message data to a webhook ( ---------- or Google Sheets)

Deploy to Vercel or Render



---

Tech Stack & Skills Needed:

Vue 3 / Nuxt 3 (required)

JavaScript + Node.js (for API routes)

REST APIs (especially OpenAI or similar)

Tailwind CSS

Git (basic usage)



---

Bonus Skills (Not Required, But Great to Have):

Experience with GPT-4 Vision or OpenAI API

Firebase or Supabase

Cloudinary/S3

---------- , Zapier, or Sheets API

Stripe or billing system integration



---

What We Offer:

Long-term opportunity — not a one-off job

Clear roadmap and ongoing work

Involvement in product decisions

Raises and bonuses as the product grows

Career path: from solo dev ? lead developer



---

To Apply (Must Include):

1. A short intro: who you are and why this interests you


2. Links to Vue or API-related projects (GitHub or live)


3. Your weekly availability, timezone, and preferred monthly or hourly rate


4. Optional: How would you approach building an image upload feature that sends the image to GPT-4 Vision?

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0021
Controller Execution Time ( Jobseekers / Job )  0.0152
Total Execution Time  0.0181
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,518,432 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/VueNuxt-Full-Stack-Developer-Build-AI-Chatbot-SaaS-OpenAI-Vision-Long-Term-Growth-1345726
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0079 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1345726
 LIMIT 1 
0.0024   SELECT *
FROM `employers`
WHERE `employer_id` = 205108
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1345726
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-19',ej.date_added) duration_daysDATEDIFF('2026-04-19',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-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1345726' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1345726 
0.0019   UPDATE employer_jobs SET hit_counts '***Mar-30-2025=159***Mar-31-2025=92***Apr-01-2025=22***Apr-02-2025=10***Apr-03-2025=6***Apr-04-2025=4***Apr-05-2025=5***Apr-06-2025=8***Apr-08-2025=3***Apr-09-2025=1***Apr-10-2025=2***Apr-11-2025=1***Apr-12-2025=4***Apr-13-2025=2***Apr-14-2025=1***Apr-16-2025=3***Apr-17-2025=4***Apr-18-2025=3***Apr-19-2025=2***Apr-20-2025=1***Apr-21-2025=4***Apr-22-2025=2***Apr-24-2025=1***Apr-25-2025=2***Apr-27-2025=1***Apr-28-2025=1***Apr-29-2025=3***Apr-30-2025=2***May-01-2025=2***May-02-2025=2***May-04-2025=3***May-06-2025=1***May-07-2025=4***May-08-2025=3***May-10-2025=1***May-12-2025=3***May-13-2025=4***May-14-2025=1***May-15-2025=3***May-16-2025=2***May-17-2025=1***May-18-2025=2***May-19-2025=1***May-20-2025=4***May-22-2025=3***May-24-2025=1***May-25-2025=4***May-26-2025=3***May-27-2025=2***May-28-2025=1***May-29-2025=2***May-30-2025=1***May-31-2025=4***Jun-03-2025=8***Jun-04-2025=3***Jun-06-2025=2***Jun-07-2025=2***Jun-08-2025=1***Jun-09-2025=2***Jun-10-2025=1***Jun-11-2025=1***Jun-15-2025=1***Jun-16-2025=2***Jun-17-2025=1***Jun-21-2025=1***Jun-23-2025=1***Jun-26-2025=3***Jun-27-2025=1***Jun-28-2025=1***Jun-29-2025=2***Jul-01-2025=1***Jul-03-2025=4***Jul-05-2025=1***Jul-08-2025=1***Jul-09-2025=6***Jul-10-2025=2***Jul-12-2025=3***Jul-14-2025=1***Jul-15-2025=4***Jul-16-2025=1***Jul-17-2025=5***Jul-19-2025=1***Jul-21-2025=2***Jul-23-2025=3***Jul-24-2025=1***Jul-25-2025=8***Jul-27-2025=1***Jul-28-2025=1***Jul-29-2025=1***Jul-30-2025=1***Aug-03-2025=1***Aug-04-2025=1***Aug-11-2025=2***Aug-12-2025=2***Aug-17-2025=1***Aug-18-2025=1***Aug-20-2025=1***Aug-22-2025=1***Aug-23-2025=1***Aug-25-2025=2***Aug-30-2025=6***Sep-02-2025=1***Sep-05-2025=1***Sep-06-2025=1***Sep-08-2025=2***Sep-09-2025=2***Sep-11-2025=1***Sep-12-2025=1***Sep-14-2025=1***Sep-15-2025=1***Sep-16-2025=3***Sep-17-2025=5***Sep-18-2025=1***Sep-21-2025=1***Sep-22-2025=3***Sep-23-2025=1***Sep-24-2025=1***Sep-25-2025=3***Sep-26-2025=2***Sep-28-2025=1***Sep-29-2025=3***Oct-03-2025=1***Oct-07-2025=1***Oct-11-2025=2***Oct-17-2025=1***Oct-19-2025=2***Oct-21-2025=1***Oct-26-2025=1***Oct-27-2025=1***Oct-28-2025=2***Nov-02-2025=1***Nov-03-2025=2***Nov-04-2025=1***Nov-05-2025=2***Nov-06-2025=1***Nov-07-2025=1***Nov-09-2025=1***Nov-13-2025=3***Nov-14-2025=3***Nov-17-2025=2***Nov-22-2025=2***Nov-27-2025=2***Nov-29-2025=1***Dec-01-2025=1***Dec-04-2025=3***Dec-05-2025=1***Dec-06-2025=1***Dec-10-2025=1***Dec-11-2025=2***Dec-12-2025=1***Dec-14-2025=2***Dec-15-2025=2***Dec-18-2025=3***Dec-19-2025=2***Dec-23-2025=1***Dec-27-2025=3***Dec-30-2025=1***Dec-31-2025=4***Jan-01-2026=4***Jan-09-2026=1***Jan-10-2026=1***Jan-15-2026=2***Jan-17-2026=1***Jan-18-2026=1***Jan-23-2026=2***Jan-24-2026=1***Jan-26-2026=1***Jan-27-2026=2***Jan-28-2026=1***Jan-30-2026=2***Feb-02-2026=2***Feb-03-2026=1***Feb-11-2026=1***Feb-13-2026=1***Feb-18-2026=1***Feb-21-2026=1***Feb-22-2026=1***Feb-25-2026=1***Feb-27-2026=3***Feb-28-2026=1***Mar-03-2026=1***Mar-08-2026=1***Mar-13-2026=1***Mar-24-2026=1***Mar-25-2026=1***Mar-26-2026=2***Mar-27-2026=2***Mar-29-2026=1***Mar-31-2026=2***Apr-05-2026=2***Apr-10-2026=3***Apr-18-2026=1***Apr-19-2026=2' WHERE job_id'1345726'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Mar-2025=251***Apr-2025=98***May-2025=58***Jun-2025=33***Jul-2025=48***Aug-2025=19***Sep-2025=35***Oct-2025=12***Nov-2025=22***Dec-2025=28***Jan-2026=19***Feb-2026=13***Mar-2026=12***Apr-2026=8' WHERE job_id'1345726'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1345726' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1345726 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '205108'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)