Senior Developer — Part-Time Code Reviewer & Architecture Advisor

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

16/hr

HOURS PER WEEK

10

DATE UPDATED

Apr 18, 2026

JOB OVERVIEW

Rate: $14–18/hr (starting), with raise to $18/hr at 90 days based on performance
Hours: 10 hrs/week (~43 hrs/month), mostly async with 1-hour weekly sync call
Company: Pharmacy Pearls LLC — US-based pharmacy education company. We run a live LMS serving hundreds of pharmacists preparing for board exams (BCEMP, BCCCP, BCPS), an AI-powered
medical research platform, and an AI podcast pipeline.

---

Why this role exists
We have two excellent full-stack developers who ship production features with Claude Code every day. They do great work — but no one is critically reviewing their code. We need a
senior developer who will block bad PRs, catch architectural mistakes, and mentor the team. This is NOT a feature-coding role. You will review their work, propose architectural
improvements, and make sure our platform doesn't collect tech debt or security holes.

Think of it as the role a staff engineer or tech lead plays — but focused on review and advisory, not building.

---
What you'll do (10 hrs/week)

- Review 4–8 pull requests per week with actual line-level comments (not "LGTM")
- Block PRs that aren't ready — enforce testing, security, and code-quality standards
- 1-hour weekly sync call with the founder + 2 developers (Manila morning, your 8–10 AM)
- Async architecture input on design docs before devs start coding
- Monthly 1-page codebase health report (tech debt, risks, recommendations)
- Answer ad-hoc async questions about security, DB design, auth patterns

What you will NOT do

- Write feature code (our devs handle that)
- Own delivery timelines or sprint planning
- Handle client communication or support

---
Required skills

- 8+ years full-stack JavaScript/TypeScript
- React / Next.js, Node.js, PostgreSQL (production experience, not tutorials)
- Daily Claude Code user — you must use Claude Code yourself. We'll ask to see your setup.
- Code review experience — you have reviewed other developers' PRs and left line-level comments
- Written English at C1/C2 level — your review comments must be clear and professional
- Willingness to push back respectfully — if the founder proposes something bad, you say so

Strongly preferred

- AI/LLM integration experience (Claude API, RAG pipelines, vector databases)
- Drizzle or Prisma ORM
- Supabase, pgvector
- Observability tools (BetterStack, Sentry, Datadog)
- Testing discipline (Vitest, Jest, integration tests with real DBs)
- Security mindset (OWASP familiarity, auth/session patterns)

---
Our stack

TypeScript, React, Next.js, Node.js, PostgreSQL + Drizzle ORM, Supabase, pgvector, Tailwind CSS, BetterStack, Stripe, ClickUp, WordPress (legacy), Claude API, Voyage AI, OpenAI,
Cartesia TTS

---
How to apply

To be considered, include ALL of the following in your application. Applications missing any item will be skipped.

1. Your Claude Code workflow — screenshot of your CLAUDE.md file or a ~/.claude/ directory listing. When do you use Opus vs Sonnet vs Haiku? What slash commands or skills have you
created?
2. A link to one pull request you reviewed where you left at least 5 line-level comments that were not just approvals. If the repo is private, share a redacted screenshot.
3. Answer this in 200 words or less:
"A junior developer on the team opens a 170-file pull request that mixes three unrelated features — a dashboard, a notification system, and a database migration. All tests pass. The
founder wants it shipped this week. What do you do?"
4. Your rate preference between $10/hr and $14/hr, and why you'd accept a part-time retainer vs. a full-time gig.
5. Years of React/Node/TypeScript/PostgreSQL experience — specific numbers per stack.

---
Red flags that will get your application skipped

- Generic "I am hardworking and detail-oriented" cover letters
- No Claude Code evidence
- "LGTM" as your concept of a real code review
- Inflated experience claims (listing "5 years React" with a LinkedIn showing you started it last year)
- Asking to write feature code "to help"

---
What to expect if shortlisted

- 30-minute video interview (we will ask you to share your screen and show Claude Code in action)
- Paid 1-hour code review trial ($20) — you review a real PR from our codebase and leave written comments
- If the trial goes well, we start immediately with a 2-week probation period

Response time: We reply to all qualified applicants within 3 business days. We typically receive 100+ applications within 48 hours, so please make yours specific.

Looking forward to meeting you.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0015
Controller Execution Time ( Jobseekers / Job )  0.0215
Total Execution Time  0.0238
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,784 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Developer-Part-Time-Code-Reviewer-Architecture-Advisor-1626635
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0116 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1626635
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 437900
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1626635
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-18',ej.date_added) duration_daysDATEDIFF('2026-04-18',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1626635' 
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1626635 
0.0009   UPDATE employer_jobs SET hit_counts '***Apr-18-2026=413' WHERE job_id'1626635'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Apr-2026=413' WHERE job_id'1626635'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1626635' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1626635 
0.0044   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '437900'
AND `date_added` >= '2022-06-08' 
0.0021   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)