2D Animator

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

TYPE OF WORK

Full Time

SALARY

$750-900 / Month

HOURS PER WEEK

40

DATE UPDATED

Aug 8, 2026

JOB OVERVIEW

FULL-TIME 2D CHARACTER RIGGER & ANIMATOR (RIVE) - US Startup

About us:
We are a US-based startup building a gamified education platform. Our animated mascot character is a core part of the product experience, and you will own it: how it moves, reacts, and dresses.

This is a long-term, full-time role, not a one-off project.

What you will do:
1. Build and maintain a 2D character rig in Rive (bones, meshes, weight painting, constraints)
2. Create character animations: idle loops, celebrations, reactions, seasonal ---------- nts
3. Build and wire state machines so animations respond to in-app events
4. Produce cosmetic items (outfits, glasses, accessories) as vector art fitted to the rig's templates
5. Work with our dev team on integration and keep files organized and documented

Requirements:
1. Strong portfolio of 2D character rigging AND animation. Rive strongly preferred. Expert-level Spine or Live2D considered if you are willing to work fully in Rive
2. Vector illustration skills (Figma or Illustrator)
3. Understanding of state machines and interactive/game-style animation, not just video animation
4. Good written English and reliable communication
5. Full-time availability with at least 2-3 hours of overlap with US Central time

Nice to have:
1. Mascot or app character experience
2. Game asset pipeline experience
3. Comfortable using AI tools to speed up production

Salary: $700 to $950 USD/month depending on experience, with room to grow as the company grows. 13th month pay. Paid weekly or bi-monthly, your preference.

How to apply:
1. Start your application with the word MASCOT so I know you read this post
2. Include a portfolio link showing at least one rigged character with multiple animations (required; applications without this will not be reviewed)
3. Tell me in 2-3 sentences which character in your portfolio you rigged yourself and what tool you used

We move fast and give real ownership. If you love character animation and want your work seen by thousands of users every day, apply.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0141
Total Execution Time  0.0160
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,485,208 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/2D-Animator-1705481
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0071 seconds)  (Hide)
0.0012   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1705481
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 961153
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1705481
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-25',ej.date_added) duration_daysDATEDIFF('2026-08-25',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-08-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1705481' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1705481 
0.0008   UPDATE employer_jobs SET hit_counts '***Aug-08-2026=284***Aug-09-2026=142***Aug-10-2026=34***Aug-11-2026=21***Aug-12-2026=24***Aug-13-2026=24***Aug-14-2026=12***Aug-15-2026=13***Aug-16-2026=8***Aug-17-2026=6***Aug-18-2026=5***Aug-19-2026=6***Aug-21-2026=4***Aug-22-2026=2***Aug-24-2026=1***Aug-25-2026=1' WHERE job_id'1705481'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Aug-2026=585' WHERE job_id'1705481'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1705481' 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` = 1705481 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '961153'
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)