Full Stack Developer, Financial Software + AI

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

TYPE OF WORK

Full Time

SALARY

1200 - 2000

HOURS PER WEEK

40

DATE UPDATED

Aug 31, 2026

JOB OVERVIEW

Full Stack Developer, Financial Software + AI
Full Time | Long Term | Remote

About the Role
We are looking for an experienced Full Stack Developer to build a financial software platform from the ground up.
This is not a typical website or CRUD project. We are building a precise loan servicing system for a real portfolio of owner financed real estate notes, along with a secure borrower portal.
The business rules, calculations, workflows, and numeric examples are already documented. Your job is to turn those specifications into reliable software and prove through testing that the numbers are correct.
The first milestone will focus on the allocation engine itself: no UI, just correct financial logic backed by automated tests.

What You’ll Be Doing
You will be responsible for building and maintaining functionality that:
• Generates amortization schedules and maintains loan balances
• Records and allocates borrower payments according to defined business rules
• Tracks principal, interest arrears, escrow, fees, and suspense separately
• Maintains an append only transaction ledger and complete audit history
• Allows operators to review and override proposed payment allocations
• Explains the ledger entries behind calculated balances
• Generates statements and notices
• Provides borrowers with a secure portal to view balances, payment history, and documents
• Runs reliably in a cloud environment
• Includes automated testing to verify financial calculations and business rules

What We’re Looking For
You should be genuinely strong in:
• Python or Node.js
• PostgreSQL and database schema design
• Cloud deployment such as Render, Railway, ---------- , or AWS
• Automated testing
• Building functional web interfaces
• Financial calculations and safe handling of currency
• Reading detailed technical specifications and implementing them precisely
• Debugging and validating your own work

AI proficiency is required.
AI coding tools such as Claude Code, Codex, Cursor, or equivalent should already be part of your normal development workflow.
We expect you to know how to use AI to plan against a specification, generate code, write and run tests, investigate failures, and accelerate development.
However, you are responsible for everything AI produces. You must be able to recognize when AI generated code looks correct but violates the specification or produces incorrect financial results.

Our Philosophy
Financial accuracy comes before speed.
A wrong number that successfully saves to the database is more dangerous than code that crashes.
We value developers who test their assumptions, prove their calculations, take ownership of their work, communicate clearly, and use AI as a tool without outsourcing their judgment to it.
You will work from detailed specifications, but we expect you to think independently, ask precise questions when necessary, and continue making productive progress without needing daily step by step instructions.

What Would Make You Stand Out
You will stand out if you have experience with:
• Financial software, loan servicing, accounting, or ledger systems
• Payment allocation and amortization logic
• Transaction ledgers and audit trails
• Production systems where numerical accuracy is critical
• Designing database architecture from the ground up
• Strong automated testing practices
• Using multiple AI coding tools effectively while independently verifying their output

This Job Probably Isn’t For You If...
• Most of your experience is WordPress, Shopify, or landing pages
• You need someone to break your work into daily step by step instructions
• You have never designed a database schema yourself
• You have never written automated tests
• You use AI to generate code you cannot personally understand or debug
• You want to learn a new framework while working on this project
• You dislike repetitive validation and testing
• You are juggling multiple clients and cannot give this role real focus

About the Team
You will work directly with the owner rather than inside a large development team.
You will receive clear written specifications, agree on priorities, and take ownership of execution. We value direct communication, accountability, independent thinking, and the ability to adapt when new information requires a change in direction.

We are looking for someone interested in a full time, long term role, not simply completing a short development project.
Compensation: $1,200 to $2,000 USD/month, based on experience
Hours: 40 hours/week
Schedule: Flexible, with some overlap with US Central Time
Start: As soon as we find the right person
AI Tools: Paid AI tooling, including Claude Code or equivalent

How to Apply
Use the subject line:
LEDGER | [Your Name]
Please answer all five screening questions below. Applications that do not answer all questions will not be considered.

Strong applicants will be invited to complete a small paid trial project using a real piece of the allocation engine. The project will take a few hours and will be paid at your normal rate.

Screening Questions

1. Currency
Why should currency never be stored as a floating point number, and what should be used instead?
Please answer in one or two sentences.

2. Solve This Problem
A loan has a principal balance of $100,000 at 10% annual interest.
The scheduled monthly payment is:
$877.57 principal and interest + $200 escrow = $1,077.57 total
For this month:
Scheduled interest: $833.33
Scheduled principal: $44.24
The borrower sends $700.
The system applies money in this order:
Principal first, capped at scheduled principal → Interest → Escrow → Fees
Show:
• How the $700 is allocated
• New principal balance
• Unpaid interest
• Escrow shortage
• Your reasoning

3. Production Bug
Tell us about one bug you shipped to production that had real consequences.
What happened, how did you find it, and what did you change afterward?

4. Technical Experience
In two or three sentences, describe the most technically difficult system you have built.
Include links if available.

5. AI Development Workflow
How do you use Claude Code or similar AI coding tools during a normal working day?
Be specific about what you give AI, what you handle yourself, and how you verify its work.
Then give us one example of AI generated code that looked correct but was actually wrong. How did you catch it?

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0308
Total Execution Time  0.0327
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,527,648 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-Financial-Software-AI-1720669
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0223 seconds)  (Hide)
0.0020   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1720669
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 463218
 LIMIT 1 
0.0034   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1720669
AND `misc`.`id` IS NULL 
0.0009   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-25',ej.date_added) duration_days, DATEDIFF('2026-09-25',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-09-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1720669' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1720669 
0.0013   UPDATE employer_jobs SET hit_counts = '***Aug-31-2026=509***Sep-01-2026=525***Sep-02-2026=137***Sep-03-2026=105***Sep-04-2026=38***Sep-05-2026=26***Sep-06-2026=34***Sep-07-2026=57***Sep-08-2026=70***Sep-09-2026=84***Sep-10-2026=57***Sep-11-2026=45***Sep-12-2026=31***Sep-13-2026=46***Sep-14-2026=32***Sep-15-2026=49***Sep-16-2026=44***Sep-17-2026=42***Sep-18-2026=47***Sep-19-2026=28***Sep-24-2026=1***Sep-25-2026=1' WHERE job_id= '1720669'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Aug-2026=509***Sep-2026=1499' WHERE job_id= '1720669'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1720669' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1720669 
0.0075   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '463218'
AND `date_added` >= '2022-06-08' 
0.0029   select * from teasers 
0.0006   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)