About Artsem.ai Artsem.ai is an AI shopping assistant and marketplace for fashion, and we are hiring an iOS engineer who can also work on the backend and owns the quality of our iOS releases. Shoppers search and chat in natural language across a catalogue of thousands of independent stores, on the web at artsem.ai and in our iOS app. Merchants onboard their store, manage products and orders, and get paid out, and they can do that in our merchant iOS app.
The whole platform is in production and run by a small team.
What you will work on You will own two native iOS apps end to end, from the API contract to the TestFlight build, and you will be the person who decides whether a build is ready to ship.
- Shopper app. Chat search over a streaming WebSocket, product grids with relevance sections and load-more, filter chips parsed on device, comparisons, saved items, cart and Stripe checkout across several sellers, and an on-device product assistant built on Apple Foundation Models. Sign-in with Apple, Google and email through Firebase Auth.
- Merchant app. Store onboarding with document upload and manual review, multi-store accounts on one login, the product catalogue, orders, and a sales dashboard built with Swift Charts.
- Feature parity with the web. Many features ship on the web first: visual search by photo, virtual try-on, product and store pages. You bring them to iOS so the two clients behave the same.
- Backend, where iOS needs it. Both apps talk to Go services on Azure. You read the API docs and the Go handler. You add a field or fix a response shape with a test, and you agree contract changes with the backend engineers before you build on them.
- iOS quality. You test every build on real devices before it goes to TestFlight. You cover the risky flows with unit and UI tests: sign-in, account deletion, checkout and WebSocket reconnects. You also set up CI for both apps, which we do not have yet.
- Production health. You read crashes in Sentry and app events in PostHog. From the data you find out whether a problem comes from the app or from the backend.
Typical work: agree an API change with the backend team, build the screen in SwiftUI, add the small backend change it needs, cover it with tests, run a regression pass on device, ship it to TestFlight behind a test-user flag, check Sentry and analytics, then release it.
Our stack: Swift 6, SwiftUI, Swift Concurrency, Swift Testing, XCTest/XCUITest, Firebase Auth, Sign in with Apple, Starscream (WebSockets), Swift Charts, Apple Foundation Models, Sentry, PostHog, Stripe, TestFlight and App Store Connect. Backend: Go, Azure Container Apps, Cosmos DB, Azure SQL, GitHub Actions.
What we expect
- 3+ years of iOS engineering in production, with apps you shipped to the App Store yourself: signing, TestFlight, App Review, release notes.
- Strong Swift and SwiftUI, MVVM, and modern concurrency: async/await, actors, MainActor, Sendable. You can fix Swift 6 strict-concurrency errors instead of silencing them.
- Networking that real users depend on: URLSession, Codable, REST and WebSockets, reconnects, pagination, error handling, and clients that keep working when the backend adds fields.
- Auth on iOS: Firebase Auth or similar, Sign in with Apple, token refresh, and the App Store rules for account deletion.
- Working backend skills: you can read a Go (or similar) HTTP service, make a small change with a test, and call APIs with curl or Postman to tell an app bug from a backend bug. You understand HTTP status codes, JSON contracts and JWTs.
- A QA mindset: you write tests as part of the change and run a structured regression pass on devices before a release. Your bug reports have exact steps, the build number, logs and a Sentry link.
- You can debug production crashes from Sentry, symbolicated stack traces and analytics events without guessing.
- Working English for reading and reviewing tickets, pull requests and specs, and for writing test notes and async updates.
Nice to have
- Go in production, or another backend language you have shipped with.
- Enough React/Next.js and TypeScript to read the web version of a feature and match its behaviour.
- iOS CI: GitHub Actions on macOS runners, Xcode Cloud or fastlane.
- Stripe or other payments on iOS, Apple Pay.
- On-device ML or Apple Foundation Models; PhotosUI and camera flows.
- Sentry (dSYMs, scrubbing personal data) and PostHog on mobile.
- E-commerce or fashion apps.
- Using AI coding agents (Claude Code, Cursor) as a daily tool. Our repos carry agent docs and skills, and we expect you to work with them.
How we work
- Small team, short path from idea to production. You talk directly to the backend and web engineers and to the people running the business.
- Every repo has its own tests and docs, and production changes go through pull requests.
- Decisions are made on data: crash rates, analytics on user behaviour, measured latency.
- The code is modern Swift and SwiftUI. You will find debt worth removing, and you are trusted to remove it.
What we offer
- Compensation: $1,100 per month
- Part-time position, about 20 hours a week
- Remote; you work on your own Mac with a current Xcode and at least one physical iPhone
To apply Send your CV or LinkedIn profile and a few lines about an iOS feature you shipped that needed a backend change. Tell us how you tested it before release and what you would change in it today.
Key requirements and skills English — above average Work experience more than 3 years.