Full-Stack Developer for AI Product Maintenance, Backend and Product Development
Rozpočet: $35.0 - $85.0
HOURLY / PART_TIME
⭐ 4.91 (10)
United States
nuxt.js, node.js, aws-lambda, dynamodb
We are seeking a full-stack developer to support the maintenance and development of our AI product. The role involves working on backend systems, improving product functionality, and contributing to ongoing development efforts. You should be comfortable handling technical challenges, collaborating with the team, and delivering reliable updates. This is a part-time opportunity for someone who can help keep our product running smoothly while supporting future growth. We seek a paid Phase 1 codebase review and estimate of work to address foundational tech-debt from our original developer of six years who is not interested in supporting future AI agent development. We will share a software audit from an interim developer where original estimates from the audit increased tenfold after work had begun. We seek second opinions to ensure a reliable estimate.
Full-Stack Developer — Maintenance, Backend & AI Product Development
About LessonLoop
LessonLoop is an AI-powered, web-based professional learning application that helps teachers improve student engagement. Teachers issue anonymous Student Engagement Surveys (SES) at the class-lesson level and receive score reports overall and across nine actionable subscales (categories such as emotional, social, and cognitive engagement, lesson design, content accessibility, and others). LessonLoop then recommends evidence-based instructional strategies to raise engagement for a given lesson.
The platform was built by a single developer over six years. We have an excellent front-end developer in place and are transitioning back-end maintenance and AI product development to a new person or firm. We are looking for a reliable, communicative full-stack partner who can get up to speed quickly, keep the platform healthy for a small but growing user base, and help us advance an AI roadmap.
LessonLoop has a research and instructional-coaching partnership with Teachers College, Columbia University, and is Digital Promise certified for inclusive and accessible AI design. Our founder advises two of the 15 largest U.S. school districts and the Rhode Island Department of Education on AI in education.
Tech stack
Frontend: Vue 3 / Nuxt / PrimeVue
Backend API: etl-api — Node.js on AWS Lambda (Serverless Framework)
AI: AWS Bedrock (Claude Sonnet)
Data: DynamoDB
Search / retrieval: OpenSearch (currently holds academic standards in production; planned for hybrid retrieval over our instructional-strategy library)
Dev environment: Docker-based local environment (clone + one-command setup)
Source control / CI: GitHub (two repos: backend and website), automated tests gate deploys
User base and support load
We expect a maximum of ~50 active users from August 2026 and up to ~200 active users through SY2026–27. Most users never contact support, but historically about 25% of users hit a login issue at onboarding. Onboarding dates are communicated in advance. Routine user support has run roughly 4 hours/month. Single-sign-on (SSO) testing in July–August is a key, time-bound work area (see Scope of work, item 4).
Data handling and privacy
LessonLoop collects limited student data: student email addresses and a unique ID linked to Clever or ClassLink, plus de-identified demographic fields (gender, racial identity, home language) for students aged 13 and older that are not linked back to identity. We do not collect student names, birthdates, or similar identifiers. Developers work against locally scrubbed, PII-free data — our pipeline removes student PII before data ever leaves the cloud. Anyone with production access must handle student data in line with FERPA and our district data-privacy agreements. Comfort with these constraints is required, and is a factor in how we weigh location and access for the role.
How the engagement works
This runs in two phases, so both sides can confirm fit before a longer commitment.
Phase 1 is a single short, paid, fixed-fee engagement: you clone and run the code, complete one familiarity task, and give us your own estimate of the work ahead. The estimate is a deliverable of Phase 1 — we are not asking for a free quote, and the estimate and the review happen together, not as separate steps. Phase 2 is the ongoing retainer where the actual work happens, and we offer it to the strongest Phase 1 candidate.
Phase 1 — Paid codebase review + independent estimate (fixed fee)
- Before any retainer, we are commissioning one or two short, paid, fixed-fee reviews. We recently had foundational/tech-debt work scoped by an outgoing developer, and we want a genuine second opinion grounded in the actual code — not a blind estimate. In Phase 1 you will:
- Clone both repositories and confirm the documented local development environment builds and runs from a clean machine.
- Review the codebase and give us your own independent estimate of what is actually required to operate and to support our roadmap, and what is optional. Shortlisted candidates receive, under NDA, two reference documents to estimate against: a prioritized local-dev completion scope (must-have vs. full-parity work) and a short pre-transition security baseline.
- Complete the single familiarity task below, so we can see how you read and work in our codebase.
Familiarity task (one task, fixed fee agreed up front — runs entirely in the local environment, no cloud or AI/Bedrock access required):
1. Trace how a Student Engagement Survey becomes the nine subscale scores shown in the report. Run the full local environment from a clean clone, then document the data flow from survey submission through to the scored report — naming the specific files, functions/endpoints, and data structures at each step, and identifying where the nine subscale categories and their IDs are defined.
What to submit (1–2 pages):
- A written, step-by-step trace of the data flow, citing the actual files and functions involved — not a generic description.
- A simple flow diagram of that path (survey submission → storage → scoring/aggregation → the nine subscale scores in the report).
- Answers to two short code-reading questions we will provide — each answerable only by reading the code.
- A note on any setup friction running the clean clone, plus evidence the environment ran (a screenshot of the app running locally, or the local tests passing).
- Your own rough, itemized estimate of the remaining foundation / tech-debt work, with brief reasoning.
Plan on completing the work within one to two weeks of kickoff. Phase 1 is paid regardless of whether we proceed to Phase 2, and a strong Phase 1 is the basis for the ongoing engagement.
Phase 2 — Ongoing maintenance + development retainer
Contingent on Phase 1, we want an hourly contract with time documented by task under a fixed monthly retainer of approximately $1,500/month, with the option to increase the development budget as we bring on new clients. The retainer’s first priority is user support and bug fixes (historically ~4 hours/month); the second priority is iterative product development on our roadmap using the remaining budget. We have no summer users, so July and August are open runway for the SSO testing (including implementing Student Google SSO for a school) and foundational tech-debt remediation ahead of late-August onboarding — these are scoped as discrete project work, separate from the routine retainer.
Likely early development tasks include fixing an AI-layer bug where Engagify / the AI Activity Generator does not always finish a chat, and updating the super-admin reporting on new-user logins and adoption.
Scope of work (Phase 2)
1. Provide ongoing maintenance and bug-fix support on the backend stack for LessonLoop personnel and users.
2. Respond to tickets posted in the LessonLoop Slack Support channel: confirm receipt within 24 hours; resolve user-blocked-access issues within 24 hours and other bugs within 48 hours. Estimate ~4 user-access issues and ~8 internal testing bugs per month.
3. Maintain LessonLoop system documentation in GitHub and in the master list of Google Docs.
4. Complete SSO testing for educators and students across Clever, ClassLink, and Google in July–August 2026 to prevent SSO failures for new users onboarding in late August (scoped as discrete project work within the monthly retainer).
5. Maintain the superadmin portal that tracks system usage (usage by user, survey results by user, AI activity feed).
6. Participate in async communication via email, Slack, and Google Docs, and help scope and implement the product roadmap.
7. Estimate and deliver development work against a mutually agreed scope (project funds added with new client revenues).
8. Participate in technology-status and user-design sessions as needed (up to ~4 hours/month).
Required experience
Production full-stack experience with AWS (Bedrock, DynamoDB) and a modern Vue/Nuxt frontend.
- Comfort taking over and maintaining a codebase built by a single developer — reading unfamiliar code and improving it incrementally and safely.
- Experience building or maintaining with Claude Code (e.g., agent features, tool use, retrieval)
- Handles student data responsibly, in line with FERPA and district data-privacy agreements (see Data handling above).
- Clear, proactive communicator who flags scope changes early rather than at the end of an engagement.
How to apply
In your proposal, please:
1. Briefly describe comparable work: a back-end/full-stack handoff you took over, and any AWS Bedrock or AI-agent work.
2. State your fixed fee and estimated turnaround for the Phase 1 familiarity task above.
3. Confirm you are comfortable with the two-phase structure and an approximately $1,500/month Phase 2 retainer with task-level time tracking.
4. Note your time-zone overlap / availability for a 24-hour support SLA.
We will shortlist from Phase 1 performance — accurate scoping and clear communication matter as much as raw speed. Shortlisted candidates receive the local-dev completion scope and the security baseline under NDA to estimate against.
Otevřít na Upwork