2025-2026
TempJob
Freelance engagement on a live Thai job-seeking platform - infrastructure rescue, bug fixes, and 14-feature delivery
Requirements & business rules
TempJob was a live Thai job-seeking mobile app - similar to JobTopGun or JobThai - that connected temporary workers with employers across Thailand. The app was already on Google Play when the client brought me in, but the previous developer had left without handing over credentials and wasn't responding. Multiple features were broken, infrastructure was in a bad state, and there was no keystore for the existing Play Store listing. My job across three phases over five months was to get everything working again, migrate everything out of the old developer's accounts, and then deliver a batch of 15 improvements collected from real user feedback.
Technology stack
| Language | JavaScript, TypeScript |
|---|---|
| Mobile | React Native, Expo |
| Web | Next.js |
| Backend | Node.js, Express |
| Database | Supabase (PostgreSQL) |
| Services | Google Maps Static API, Google OAuth |
| Infrastructure | EAS, Google Cloud Console |
The stack was pre-existing: React Native with Expo for the job seeker mobile app, Next.js for the employer web portal, and Node.js with Express on the backend using a Controller-Service-Model pattern. Supabase handled auth, Postgres, and storage. I added the Google Maps Static API during Phase 1 so workers could see a preview of a job's location directly in the app before tapping through to Google Maps. EAS managed all builds and the Play Store deployment pipeline.
Challenges & solutions
01 -Play Store listing locked to an unreachable developer
Problem
The live Play Store listing was tied to a keystore only the previous developer had. He was completely unreachable. Without it there was no way to push updates or fixes to existing users on that listing.
Investigation
Explored every recovery path - Google's Play App Signing backup didn't exist for this listing, and the previous developer's Google account wasn't one the client could access. There was no path to the original keystore.
Solution
Created a new Play Console listing under the client's own account. Walked through EAS build configuration from scratch - signing setup, app.json, SHA-1 fingerprint registration. Submitted for review, unpublished the old listing once the new one was live. Hit EAS's free tier 15-builds-per-month limit multiple times getting signing configuration right.
Result
The client now owns the full deployment pipeline - Play Console account, signing credentials, and EAS project. No dependency on any previous developer.
02 -Job applications silently failing after key rotation
Problem
After Scope 1 wrapped, the job application feature was completely broken. Users could see job listings but couldn't submit applications. The client assumed it was something I had broken during the migration.
Investigation
The React Native app was sending requests normally. Traced the API call through to the Express backend and checked what it was returning - the backend was rejecting every application request. Compared environment variables across both services and found the mismatch immediately.
Solution
When the client had rotated the Supabase service key during the credential migration, only the frontend environment variable had been updated. The Express backend was still using the old key. Updating the backend config restored the entire feature.
Result
Root cause found in one debugging session, fixed with a single config change. This became the entry point for Scope 2.
Results & impact
Across three phases from October 2025 to March 2026, the app went from broken and stranded in a previous developer's accounts to fully live on the Play Store under the client's own infrastructure. Phase 1 restored core functionality and got it back on the Play Store with working Google Sign-In and a new job location map preview. Phase 2 fixed the apply-for-job flow and a cascade delete bug where removing a job posting was silently deleting the freelancer's profile. Phase 3 delivered 14 features across both the mobile app and the employer web portal - archive tabs, read/unread/review tracking, company profile editing, welfare sections, color and layout improvements, and more. Real users were getting jobs through the platform by the time Phase 3 started, and the client is planning a web app phase next.
Screenshots
