About RiverX
RiverX is an AI platform for building and evolving websites and web applications. It brings model selection, coding agents, repository-backed projects, live previews, database provisioning, and publishing into a connected workflow. People should be able to move from an idea to a working application, understand what the agent changed, and keep improving it without losing control of their code.
Our product spans a Next.js and React frontend, a Node.js backend, agent and workspace services, Supabase for authentication and core application data, and Turso for project databases and the skills catalog. GitHub, Railway, Vercel, and external model providers are part of the engineering environment. Each role below owns a specific part of making that experience dependable.
The opportunity
Work on the services behind RiverX’s project and application workflows. You will contribute focused backend improvements while learning how requests, databases, external APIs, and background work fit together. Early assignments will favor bounded changes with clear acceptance criteria, such as strengthening validation, improving diagnostics, or covering a failure path with an integration test.
What you will work on
- Build and maintain small Node.js API features, request validators, data helpers, and internal tooling using JavaScript or TypeScript.
- Investigate how project, conversation, workspace, and deployment records move through the platform.
- Write SQL queries and contribute reviewed schema or data-access changes for Supabase/PostgreSQL or Turso/libSQL integrations.
- Reproduce bugs involving missing data, invalid inputs, failed provider requests, or operations retried after an interruption.
- Add integration coverage that checks an observable outcome, including appropriate authorization and failure behavior.
- Improve logs and error messages without printing secrets or unnecessary personal information.
- Learn to keep changes narrow, review migration effects, and distinguish a local test from a verified live result.
- Document what you changed, the cases you tested, and anything that still needs investigation.
What you should bring
- Familiarity with JavaScript or TypeScript and some experience writing a server or API in Node.js.
- An understanding of HTTP methods, status codes, JSON, asynchronous functions, and basic error handling.
- Basic SQL knowledge: reading and writing rows, joining tables, and understanding why a schema uses keys and constraints.
- Comfort with Git and a willingness to read existing code before introducing a new pattern.
- Attention to detail when validating input, handling permissions, or reasoning about what happens if an operation runs twice.
- An example project that demonstrates a backend workflow you understand. Coursework, a personal application, or open-source work is suitable.
What you can learn
Practical service boundaries, database constraints, transactions, idempotency, authentication, streaming workflows, and third-party API integration. You will learn why a successful response is not always the same as a completed operation, and how tests and diagnostics help make that distinction visible.
A useful first project
Choose a bounded API failure case, reproduce it, and improve its handling. For example, make a repeated request behave safely or turn an ambiguous upstream error into a useful response. Include evidence that the original case is fixed and the expected success path still works.
Include in your application
A backend project or repository link and a short explanation of its data model, one API route you built, and how you checked that it worked. Tell us about a bug that taught you something, even if the project was small.
Internship arrangements
This is a remote internship. Please share your location, time zone, earliest start date, weekly availability, and any academic commitments in your application. Duration and working arrangements will be discussed during the application process rather than assumed from a standard academic calendar. The role is intended for students, recent graduates, and early-career applicants; prior full-time employment is not required.
You will work on scoped tasks, make your assumptions explicit, and ask for review before a change reaches users. We value clear progress updates, willingness to use feedback, and careful verification more than familiarity with every tool in the stack. This listing does not promise conversion to a full-time position.
How to apply
Apply through this page with your résumé as a PDF and a short note about why this work interests you. Include relevant project, writing, portfolio, or campaign links and explain what you personally contributed. Coursework, community work, independent projects, and open-source contributions are welcome evidence. Share only work you have permission to share; do not include confidential customer information, credentials, or private business records.
