Software Engineer - AI Intern
Private School in Wylie
Job description
What you'll work on
-
UI features. Screens and flows in the customer dashboard โ forms, lists, tables, charts, empty states โ wired to real data.
-
Small backend pieces. An edge function that fetches and shapes data, a new table with the right access rules, a fix to a webhook that got out of sync.
-
County data. Helping resolve a Texas address to the right appraisal district record across a dozen different government data backends.
-
Billing surfaces. Parts of the Stripe subscription and billing pages โ the display side first, working up to the integration.
-
Bug fixes and polish. Reproduce, find the cause, fix it, add the test that would have caught it.
-
Stack
What it's built with
You don't need all of this on day one โ the core skills below are what matter. This is the environment you'll work in and learn in.
-
Frontend
-
TypeScript
-
React
-
TanStack Router / Start
-
Vite
-
Tailwind
-
Radix
-
Recharts
-
Backend
-
Supabase Postgres
-
Row-level security
-
Deno edge functions
-
hand-maintained schema.sql
-
Payments
-
Stripe
-
Checkout + subscriptions API
-
SetupIntents
-
PaymentElement
-
webhooks
-
Data & AI
-
ArcGIS REST
-
county CAD sources
-
Nominatim / Google Places
-
Claude API
-
Delivery
-
GitHub Actions
-
static deploy (Pages)
-
Vitest
-
Playwright
-
ESLint / Prettier
-
Technical skills
Core โ required
-
JavaScript / TypeScript. Functions, array methods, async/await, promises, destructuring, modules. You can read a type error and fix it.
-
React. Components, props, useState / useEffect, lists and keys, conditional rendering, lifting state, controlled form inputs.
-
HTML & CSS. Semantic markup, flexbox and grid, a responsive layout that doesn't break on mobile. Tailwind (utility classes) is a plus.
-
Git & GitHub. Branch, commit with a clear message, open a pull request, pull in changes, resolve a merge conflict without panicking.
-
SQL basics. SELECT / INSERT / UPDATE, WHERE, JOIN, thinking about data as related tables.
-
HTTP & JSON APIs. Make a request, read the response, understand status codes, use the browser Network tab to see what actually got sent.
-
The command line. npm install, run a dev server, use git from the terminal, read a stack trace instead of ignoring it.
Working with AI โ required
A lot of the work here is done with an AI coding assistant (Claude / Claude Code). That's a skill in itself, and we expect you to be good at it:
Write clear prompts. State the goal, the constraints, and the relevant files. Give the model the context it needs instead of a one-liner.
Review before you commit. Read every line the assistant produces, understand why it works, and run it. Never blind-paste generated code.
Test the output. Check the real result โ the actual value, the actual screen โ not just that it compiled.
Know when to stop prompting. When the model is going in circles, open the source, read the docs, and think it through yourself.
Keep judgment. You own the code you ship, whoever or whatever wrote the first draft.
Helpful โ not required
Supabase, Postgres row-level security, or any backend-as-a-service.
Vite, TanStack Router, or another modern React setup.
Deno, serverless / edge functions, or writing small Node scripts.
Stripe or any payments API.
Testing with Vitest, Jest, Playwright, or Cypress.
Working with public/government data or maps (ArcGIS, GeoJSON, open-data portals).
Any exposure to US property tax, real estate, or fintech.
About you
The mindset that fits here
You verify your own work. You run it, you look at the output, and you don't call something done because a checkmark went green.
You don't guess at data. If a number should come from a real source, you go find the source โ you don't ship a plausible-looking placeholder.
You ask good questions. You try first, you show what you tried, and you ask early rather than stay stuck for a day.
You write clearly. This is an async, written-first team โ your messages and PR notes explain the โwhy.โ
You're reliable about the hours you commit to, even though they're flexible.
Work Location: Remote