Title: Full-Stack Developer Needed - React/Node.js SaaS App
Бюджет: -
HOURLY / PART_TIME
⭐ 0.00 (0)
United States
react-native, php, html, web-design, laravel-framework, next.js, react-js, angular, node.js, vue.js, redux.js, flutter
Title: Full-Stack Developer Needed - React/Node.js SaaS App
(Social Work Licensure Platform)
═══════════════════════════════════════════════════════
ABOUT TRUEHOURS:
TrueHours is a web application built to solve a real problem:
social workers spend years tracking thousands of supervision
hours, continuing education credits (CEUs), and license renewal
deadlines using spreadsheets and paper forms. We built TrueHours
to make that process simple, organized, and stress-free.
Think of it as the professional home base for social workers -
from their first field placement as a student all the way through
a 30-year career.
We're a small, passionate startup. I'm the founder (non-technical)
and I care deeply about building something that genuinely helps
people who dedicate their lives to helping others.
═══════════════════════════════════════════════════════
WHAT'S ALREADY BUILT:
The core application is complete and running on Replit:
✓ User authentication and onboarding
✓ Supervision hour tracking dashboard
✓ CEU (continuing education) tracking
✓ Multi-state license management
✓ Supervisor/supervisee relationship system
✓ Stripe payment integration (checkout, webhooks, 3 pricing tiers)
✓ Pricing page (monthly $10, annual $89, lifetime $149)
✓ Trial period logic (14 days for professionals, 30 for students)
Tech stack:
- Frontend: React
- Backend: Node.js
- Database: PostgreSQL
- Payments: Stripe
- Hosting: Replit
═══════════════════════════════════════════════════════
WHAT I NEED YOU TO COMPLETE:
Phase 2 (Primary Scope):
1. Apply existing SubscriptionGate component to protected pages
- Dashboard, CEU Tracker, Supervisor Dashboard, Export features
- Users without active subscription redirect to trial-expired page
2. Trial countdown banner
- Shows when user has 7 days or fewer remaining in trial
- Different messaging at 7 days, 3 days, 1 day
- Links to pricing page
3. Trial expired page at /trial-expired
- Simple, kind messaging
- Shows hours tracked during trial
- "Your data is safe" reassurance
- Clear call to action to pricing page
- Support email displayed
4. Manage Billing link in Settings
- Calls existing POST /api/stripe/portal endpoint
- Opens Stripe Customer Portal
- Shows only if user has stripeCustomerId
5. Subscription status display in Settings
- Current plan, status, next billing date
Phase 3 (Secondary Scope):
6. Basic fraud prevention
- Block disposable email domains on signup
- Basic IP tracking (flag 3+ accounts from same IP)
7. Trial reminder email notifications via SendGrid
- 7 days remaining
- 3 days remaining
- 1 day remaining
- Trial expired
8. Minor UI/UX polish
- Remove any remaining "beta" language sitewide
- Clean up any rough edges in user flow
═══════════════════════════════════════════════════════
WHAT I'M LOOKING FOR IN A DEVELOPER:
Technical Requirements:
✓ Strong React + Node.js experience (required)
✓ Stripe API experience - specifically Checkout and Webhooks (required)
✓ PostgreSQL experience (required)
✓ SendGrid or similar email API experience (helpful)
✓ Experience with SaaS subscription applications (preferred)
✓ HIPAA awareness a plus (health-adjacent application)
Work Style Requirements:
✓ Clear, proactive communication (I'm non-technical - plain
English updates matter a lot to me)
✓ Available for a short video call before we begin
✓ Provides daily or every-other-day progress updates
✓ Asks questions early rather than guessing
✓ Delivers clean, documented code
═══════════════════════════════════════════════════════
WHAT MAKES THIS A GREAT PROJECT TO WORK ON:
✓ Codebase is clean and well-organized (built with Replit Agent)
✓ Stripe integration is already complete - you're adding UI,
not rebuilding infrastructure
✓ Scope is well-defined - no moving targets
✓ I'm easy to work with, responsive, and decisive
✓ Real product solving a real problem for an underserved
professional community
✓ Opportunity for ongoing work as TrueHours grows
✓ I respect your expertise and won't micromanage
═══════════════════════════════════════════════════════
HOW TO APPLY:
Please include in your proposal:
1. A brief example of a SaaS project you've built with
Stripe integration
2. Your experience with subscription and trial logic specifically
3. Confirm you're comfortable working in Replit
4. Your realistic timeline for this scope
5. One question you have about the project after reading this
Proposals that don't address these points won't be considered
- I want to know you actually read this!
═══════════════════════════════════════════════════════
I'm looking forward to finding the right person for this.
TrueHours is meaningful work and I want a developer who
appreciates that.
- Carla
Founder, TrueHours
═══════════════════════════════════════════════════════
Отвори в Upwork