Inspiration

Mass layoffs always feel like lightning bolts devastating but “out-of-the-blue.” We wanted to give employees, recruiters, and policymakers foresight instead of hindsight. With WARN filings, news rumors, and tiny LLMs all in the open, we realized we could surface an objective layoff-risk score weeks or months before the pink-slips hit. That vision became Farsight.fyi.

What it does

Farsight.fyi is a hybrid AI-system web application that assesses the potential layoff risk of a company. Users enter a company name, and our system performs a multi-stage analysis in real-time:

  1. Data Aggregation: It scours the web for recent news articles and public data related to the company.

  2. AI-Powered Feature Extraction: An LLM reads through the unstructured text of the articles to extract key risk factors.

  3. Predictive Modeling: These extracted features are fed into a CatBoost machine learning model, which calculates a quantitative risk score.

  4. Insightful Reporting: The application presents the user with a final risk level, a detailed explanation of the contributing factors, and a summary of the key data points that influenced the score, all delivered through a clean and intuitive user interface.

How we built it

Frontend: Built using React and TypeScript, using Vite for local dev, Tailwind for styling and various components from shadcn/ui

Backend: Python and FastAPI

Real-time Communication: Socket.IO

Web Scraping: Beautiful Soup and Selenium

AI & Machine Learning: Claude 4 and a CatBoost model

Database: Simple SQLite database

Challenges we ran into

Prompt Engineering: Designing prompts that could consistently and accurately extract specific, structured features from the diverse and noisy text of news articles required extensive iteration and refinement.

Managing Asynchronous Tasks: Building a non-blocking, real-time user experience was complex. We had to carefully manage long-running analysis tasks on the backend to prevent timeouts and provide a smooth flow of status updates to the user via Socket.IO.

Data Noise Reduction: Sifting through the vast amount of irrelevant information in news articles to isolate the true signals of company health was a significant data processing challenge.

Accomplishments that we're proud of

Hybrid AI System: We successfully created a powerful pipeline that combines the natural language understanding of an LLM with the predictive power of a traditional gradient-boosting model. This allows us to create structured insights from unstructured data effectively.

End-to-End Real-time Analysis: We are proud of building a complete, end-to-end system that can perform a complex, multi-stage analysis and present the results to the user in a matter of seconds, all while showing live progress.

Intuitive User Experience: We designed a clean, responsive, and intuitive interface that makes a complex data analysis process feel simple and accessible to any user.

What we learned

Throughout this project, we gained deep insights into the practical application of modern AI and web technologies. We learned how to effectively chain different AI models together, the nuances of prompt engineering for data extraction, and the best practices for building responsive, asynchronous web applications with FastAPI and React.

What's next for Farsight.fyi

Broader Data Integration: We plan to incorporate more diverse data sources, including financial reports (SEC filings), employee sentiment from sites like Glassdoor, and public market data.

Historical Trend Analysis: A key upcoming feature will be the ability to track a company's risk score over time, providing users with a historical perspective on its stability.

User Accounts & Watchlists: We will introduce user accounts, allowing individuals to save a personalized watchlist of companies and receive notifications when a company's risk profile changes significantly.

API Access: To extend our reach, we plan to offer a public API that will allow other developers and services to integrate our layoff risk analysis into their own applications.

Share this project:

Updates