PhoneRun — Phone-Native Scheduled Web Job Runner for Logged-In Sessions
Your phone stays on when your laptop does not. PhoneRun runs scheduled web automations against your live logged-in browser sessions directly from your phone, screen off. No server setup, no engineer required, no Raspberry Pi duct-taped to your router.
Difficulty
advanced
Category
Automation
Market Demand
Very High
Revenue Score
8/10
Platform
Mobile App
Vibe Code Friendly
No
Hackathon Score
🏆 8/10
Validated by Real Pain
— seeded from real-world friction
Automation power users on r/automation are actively building and seeking phone-native automation runtimes that run scheduled web jobs against their existing logged-in sessions without leaving laptops on or managing servers.
What is it?
The pain is real and costs real money: cron jobs on shared servers lose session cookies, leaving laptops on burns hardware, hiring VAs to click buttons is embarrassing in 2026. PhoneRun ships a lightweight Android and iOS app that acts as a personal automation runtime — users define scheduled web tasks (form fills, scrapes, button clicks) using a simple visual script builder, and the phone executes them headlessly on a schedule using WKWebView or Android WebView with session persistence. The killer mechanic is that the phone already has your logged-in sessions — no re-auth, no token management. Charge $29/month flat for unlimited scheduled jobs. Alpha via TestFlight and Google Play internal track immediately.
Why now?
Expo SDK 52 shipped stable background task APIs on both iOS and Android in Q4 2025, and React Native WebView 13 added reliable JS injection for session-persistent execution — making this technically feasible for a solo founder for the first time.
- ▸Visual job builder: define URL, sequence of taps/fills/waits, and cron schedule with no code.
- ▸Session-persistent WebView: jobs run in a hidden WebView that preserves existing logged-in cookies.
- ▸Background execution: Expo TaskManager fires jobs on schedule with screen off.
- ▸Run history: every job execution logs status, screenshot thumbnail, and duration to Supabase.
Target Audience
Power automators, indie hackers, and small operators who run 5-20 recurring web tasks and refuse to pay for a VPS — estimated 80k such users active on r/automation and r/selfhosted.
Example Use Case
Dev sets up a daily 7am job that logs into their client portal, pulls a CSV report, and emails it — all from their phone on the nightstand while they sleep.
User Stories
- ▸As a power automator, I want to run scheduled web tasks against my logged-in sessions from my phone, so that I never have to leave my laptop on overnight again.
- ▸As an indie hacker, I want to see a log of every job execution with a screenshot, so that I can confirm my automation ran correctly without babysitting it.
- ▸As a non-technical operator, I want to build a web automation job by tapping through a visual step editor, so that I never have to write a line of code or manage a server.
Done When
- ✓Job builder: done when user adds URL, three steps, and a cron schedule, saves, and sees the job appear as active in the job list.
- ✓Background execution: done when user locks phone, job fires at scheduled time, and run appears in history with green status on next unlock.
- ✓Failure alert: done when a job step fails and user receives a push notification within 60 seconds with the failed step name visible.
- ✓Paywall: done when user attempts to create a 4th job and sees a Stripe paywall modal before the job is saved.
Is it worth building?
$29/month x 50 users = $1,450 MRR at month 3. Achievable: 50 paying users from a 500-person HN alpha thread at 10% conversion is conservative.
Unit Economics
CAC: ~$5 via Reddit and HN organic. LTV: $348 (12 months at $29/month). Payback: under 1 month. Gross margin: ~93% (infra on user device).
Business Model
Flat SaaS subscription — $29/month or $249/year
Monetization Path
Free tier: 3 scheduled jobs. Paid plan unlocks unlimited jobs and execution history. Upgrade triggered on job 4.
Revenue Timeline
First dollar: week 3 via TestFlight paid beta. $1k MRR: month 3. $5k MRR: month 10.
Estimated Monthly Cost
Supabase: $25, Stripe fees: ~$15, Vercel for landing page: $10, Expo EAS builds: $29. Total: ~$79/month at launch.
Profit Potential
Profitable at $2k MRR. Infrastructure cost is near zero — execution happens on the user's device.
Scalability
Medium — phone hardware limits parallelism, but power users run 20+ sequential jobs daily which is the real TAM.
Success Metrics
Week 1: 50 TestFlight alpha testers. Month 1: 20 paying users. Month 3: 50 paying users, 80% monthly retention.
Launch & Validation Plan
Post Show HN: I built a phone-native automation runtime that runs scheduled web jobs against your logged-in sessions. Collect 50 alpha signups before writing another line of code.
Customer Acquisition Strategy
First customer: post in r/automation and r/selfhosted with a screen recording of a real job running screen-off. DM the first 20 upvoters with TestFlight links. Then: HN Show HN, ProductHunt, Expo community Discord.
What's the competition?
Competition Level
Low
Similar Products
n8n requires a server and loses sessions. Zapier runs cloud-side and cannot access private logged-in portals. Shortcuts on iOS is too limited for multi-step web automation — PhoneRun fills the session-persistent scheduled execution gap on mobile.
Competitive Advantage
Zero infra cost — execution runs on the user's device. Session persistence with no token re-auth. No competitor has shipped this specific combination on mobile.
Regulatory Risks
Apple App Store review may flag WebView-based automation as policy violation under guideline 2.5.6 — must frame as personal productivity tool, not scraping service. GDPR: run logs may contain PII from executed pages.
What's the roadmap?
Feature Roadmap
V1 (launch): visual job builder, session-persistent WebView runner, background cron, run history. V2 (month 2-3): job sharing via link, conditional steps, Slack failure alerts. V3 (month 4+): cloud execution fallback for iOS, job marketplace.
Milestone Plan
Phase 1 (Week 1-2): schema, WebView runner, step builder ship. Phase 2 (Week 3-4): background scheduling, run log, Stripe paywall live. Phase 3 (Month 2): 20 paying users, iOS background limitation documented in onboarding.
How do you build it?
Tech Stack
React Native with Expo, WKWebView and Android WebView for session-persistent execution, Supabase for job config sync, Stripe for subscriptions, background task APIs (Expo TaskManager) — build with Cursor for native modules, Replit for backend
Suggested Frameworks
Expo TaskManager, React Native WebView, Supabase JS client
Time to Ship
4 weeks
Required Skills
React Native background task APIs, WebView session management, Supabase sync, Expo build pipeline.
Resources
Expo TaskManager docs, React Native WebView docs, Supabase realtime docs, Apple background execution guidelines.
MVP Scope
app/(tabs)/index.tsx (job list), app/(tabs)/builder.tsx (visual job editor), app/(tabs)/history.tsx (run log), components/JobCard.tsx (job tile), components/StepBuilder.tsx (tap/fill/wait steps), lib/runner.ts (WebView execution engine), lib/scheduler.ts (Expo TaskManager cron), lib/db/schema.ts (jobs, runs), supabase/functions/sync.ts (config sync), .env.example.
Core User Journey
Install app -> build first job with visual editor -> set cron -> lock phone -> check run history next morning -> upgrade to paid.
Architecture Pattern
User defines job in app -> config synced to Supabase -> Expo TaskManager fires on cron -> WebView loads URL with stored session -> steps execute in sequence -> screenshot and status logged to Supabase -> push notification on failure.
Data Model
User has many Jobs. Job has many Steps. Job has many Runs. Run has status, screenshot_url, duration_ms, executed_at.
Integration Points
Expo TaskManager for background scheduling, React Native WebView for session-persistent execution, Supabase for job config and run log sync, Stripe for subscriptions, Expo Push Notifications for failure alerts.
V1 Scope Boundaries
V1 excludes: cloud execution fallback, team sharing, desktop app, Zapier or n8n import, mobile scraping marketplace.
Success Definition
A paying user sets up a job at 10pm, puts their phone on the nightstand, wakes up at 7am, and sees a green completed run in history with zero founder involvement.
Challenges
Apple severely restricts background execution on iOS — WKWebView jobs may be killed after 30 seconds in background. This is the hardest non-technical problem because it affects product promise, not just code. Android is more permissive but iOS is 60% of the target market.
Avoid These Pitfalls
Do not promise iOS background execution parity with Android — Apple kills background WebView after 30s and this must be disclosed upfront. Do not build a cloud execution fallback in V1 or scope explodes. Finding first 50 alpha testers is faster than finding first 10 paying users — plan a conversion email sequence.
Security Requirements
Supabase Auth with Google OAuth, RLS on all job and run tables, WebView session data stored in device keychain only, 30 req/min rate limit on Supabase sync endpoint.
Infrastructure Plan
Expo EAS for mobile builds, Supabase for Postgres and auth, Supabase Storage for run screenshots, Vercel for landing page, Sentry React Native SDK for crash tracking, estimated: ~$79/month.
Performance Targets
50 DAU, 500 job executions/day at launch. WebView step execution target: under 5s per step. Supabase run log write: under 200ms. No server-side caching needed.
Go-Live Checklist
- ☐WebView session persistence tested on real iOS and Android devices.
- ☐Stripe paywall tested end-to-end on TestFlight.
- ☐Sentry crash tracking live in production build.
- ☐Supabase RLS policies verified.
- ☐App Store and Play Store listings published.
- ☐Privacy policy covering WebView session data published.
- ☐20 TestFlight beta users completed a full job run.
- ☐Rollback plan: previous EAS build documented.
- ☐Launch post drafted for HN and r/automation.
First Run Experience
On first run: a demo job called Check My Dashboard is pre-loaded pointing to a public demo URL with 3 pre-configured steps and a daily 9am cron. User can immediately tap Run Now and watch the WebView execute the demo steps in real time. No manual config required: demo job uses a public URL so no login required to see the runner work.
How to build it, step by step
1. Define Supabase schema for Job, Step, and Run entities with RLS in lib/db/schema.ts. 2. Run npx create-expo-app with TypeScript template and install react-native-webview, supabase-js, stripe-react-native, expo-task-manager. 3. Build StepBuilder component supporting tap-by-selector, fill-input, wait-seconds step types. 4. Build WebView execution engine in lib/runner.ts that injects JS step sequence into hidden WebView. 5. Wire Expo TaskManager cron in lib/scheduler.ts to fire runner on job schedule. 6. Build run history logger that captures screenshot via react-native-view-shot and uploads to Supabase Storage. 7. Add Expo Push Notification on run failure. 8. Build Stripe paywall gating on 4th job creation. 9. Submit to TestFlight internal track and Google Play internal testing. 10. Recruit 20 alpha testers, walk each through the full job-create-to-run-log journey on a real device without any manual Supabase setup.
Generated
May 1, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.