CrossCheck
Inspiration
Applying for credit often feels like a guessing game. Every lender has different approval requirements, but consumers usually discover those requirements only after submitting a formal application. Choosing the wrong lender can lead to rejection and may trigger a hard inquiry.
Existing platforms generally provide approval estimates based on broad historical data. My idea was different: what if consumers could ask a selected lender to pre-screen their profile against that lender’s own policies before formally applying?
That question inspired CrossCheck.
What CrossCheck Does
CrossCheck is a consent-first lender pre-screening platform.
The consumer selects a lender and authorizes specific credit information to be used for a pre-check. The lender evaluates that profile against its own requirements and returns a simple result:
- Pre-Qualified: The primary simulated requirements are satisfied.
- Conditional Review: Some requirements match, but additional evidence may be needed.
- Not Pre-Qualified: The current profile is not a strong match.
The consumer can then continue to the official application, provide more documents, improve their profile, choose another lender, or take no action.
Unlike a generic recommendation score, CrossCheck is designed around lender-specific evaluation and consumer-controlled data sharing.
User Experience
The prototype includes a complete mobile-first journey:
- A welcome screen with demo sign-in and guest access.
- A Home dashboard showing a sample 740 FICO profile, utilization, inquiries, payment history, and account age.
- A Documents section for preparing identity, address, income, and employment evidence.
- A Lenders marketplace covering credit cards, personal loans, auto loans, and home loans.
- A Status center that saves each lender check and displays its match score, decision, explanation, and next step.
- A profile panel with privacy controls and light or dark appearance settings.
Documents are not uploaded in the prototype. Only their filenames are stored locally so the demo can communicate the future workflow without collecting sensitive information.
How I Built It
I built CrossCheck as a lightweight Netlify application using three primary files:
public/index.htmlcontains the responsive interface, Tailwind styling, navigation, document interactions, accessibility states, and browser-local persistence.netlify/functions/screenLender.jscontains the serverless lender-screening logic.netlify.tomlconfigures publishing, serverless functions, and the/api/screenLenderroute.
The serverless function validates the FICO score, credit utilization, product category, and selected lender. It contains 12 illustrative lender profiles across four credit categories.
Each lender profile has different score thresholds, utilization ranges, and adjustments. The simulated match score is calculated using a weighted model:
[ M = 0.68F + 0.32U + A - P ]
Here, (F) represents the normalized FICO signal, (U) represents utilization quality, (A) is a lender-specific adjustment, and (P) is a penalty when the profile falls below the simulated lender threshold.
The result is converted into a user-friendly status and personalized guidance. Responses are marked as non-cacheable, validated before processing, and saved only in the consumer’s browser.
Consumer and Lender Value
For consumers, CrossCheck can reduce blind applications, uncertainty, and rejection anxiety. It gives people clearer information and control before they decide to begin formal underwriting.
For lenders, CrossCheck represents a consent-based acquisition channel. Instead of spending heavily to advertise to broad audiences, lenders could receive qualified, high-intent potential borrowers who have already selected their institution.
A future business model could include lender platform subscriptions, qualified customer handoffs, and privacy-safe market analytics.
Challenges I Faced
The biggest challenge was communicating the difference between an estimated match and guaranteed approval. I designed every result to clearly state that it is a pre-screening signal and that final lender verification is still required.
Another challenge was protecting privacy while demonstrating document sharing. I solved this by keeping demo files on the device and sending only the minimum fields needed by the serverless simulation.
I also had to debug the frontend-to-function request flow. Opening the HTML file directly could not reproduce Netlify’s serverless routing, so I configured and tested the deployed /api/screenLender endpoint.
The final challenge was making a complicated financial process understandable. I simplified the experience into four clear sections: Home, Documents, Lenders, and Status.
How I Used ChatGPT and Codex
I used ChatGPT to explore the consumer problem, challenge the business model, improve the value proposition, and simplify the language for non-technical users.
I used GPT-5-powered Codex to inspect the workspace, design the interface, write the frontend and serverless function, fix deployment issues, test the live lender flow, validate the responsive experience, and prepare the Build Week demonstration.
These tools helped me move from an early financial concept to a functional, deployed prototype.
What I Learned
I learned that financial products need more than an accurate calculation. They also need clear consent, understandable decisions, privacy boundaries, and honest explanations.
I also learned that the strongest opportunity is not simply another credit score application. It is a two-sided infrastructure product that can create value for both consumers and lenders.
What Comes Next
The current prototype uses simulated lender profiles and does not connect to credit bureaus or real banks.
The next step would be working with authorized soft-pull providers and lender partners. A production version would require encrypted document transfer, explicit consent records, identity verification, fair-lending review, compliance controls, and secure lender APIs.
CrossCheck’s mission is simple:
Know your lender fit before you apply.
Built With
- 5.6sol
- chatgpt
- chatgpt5.6terra
- codex
- css
- functions
- html5
- javascript
- netlify
- node.js
- tailwind
Log in or sign up for Devpost to join the conversation.