Omni
Inspiration
Hiring sucks. We’re three college sophomores that are drowning in recruiting applications (and unfortunately not many OAs) and realized that so much of recruiting tech focuses on making candidate-side experiences easier—few products exist to help recruiters and companies make the best hiring decisions. Inspired by conversations with mentors and sponsors, we expanded this initial scope to produce a general tool that combines spreadsheets with arbitrarily complex search criteria expressed in natural language for broad quantitative and qualitative analysis. Use cases range from recruiting and competitor examination to internal analytics and product management.
What it does
Users upload their spreadsheets, approve automatically generated labels, describe different attributes (columns) in the tables, and input natural language search criteria. They also have access to tools like a GitHub Crawler and OCR reader for Resumes, to better sort and understand the data. An example query is: “Give me Computer Science sophomores from Harvard with Kubernetes experience; don’t look at LinkedIn and GitHub links”.
Omni quickly identifies the most relevant spreadsheet columns and then uses an efficient combination of embedding-based (vector) search and LLM summarization and sentiment analysis to find the most aligned records that are displayed prominently to the end user. They can export this list to a comma-separated file format and examine the full range of table attribute values possessed by these salient records.
How we built it
- Front-end: React.JS, Tailwind CSS, Figma Design, Papa Parse
- Back-end: Flask, SQLite, SQLAlchemy, Llama, Tune AI, Cerebras AI, Github APIs (GraphQL and REST), OCR models, Embedding models
- Database: In-memory database (Redis-adjacent)
Challenges we ran into
- Efficiently vectorizing and storing text data within the spreadsheet
- Producing an LLM framework (prompt and surrounding infrastructure including data access) that could accurately identify relevant table attributes and exclude attributes when specified by supplied natural language constraints
- Linking frontend to backend through configuring React Router UI design at the start; having everything on the screen at once was too intrusive so we moved towards a hamburger button-based approach
Accomplishments that we're proud of
- The first time that the intelligent search we implemented worked with a complex query in natural language was just like magic. Not least of all as it was the product of the last 36 hours of relentless labor, but also because it felt like we were genuinely solving a real problem and had produced a product that others would want to use to boost their productivity in professional environments
- Implementing the framework that could exclude tables as specified in the query
- In-memory statefulness of multiple tables
- Producing a robust internal backend API
What we learned
- Chinmay: scalable systems for storing and processing large quantities of structured data; developing an API to enable LLM processing of user input queries; using LLMs to selectively parse and omit relevant and irrelevant attributes from the table respectively
- Jessica: Converting Figma prototypes to beautiful frontend code; integrating APIs we developed with the frontend to produce dynamic functionality; video editing and design work to improve end user experience
- Joseph: More about integrating frontend with backend; working with LLMs in production environments beyond simple chat assistants; efficiently vectorizing and storing data while implementing semantic similarity search; working with Tune AI to get models deployed
Links to external/open source resources used
- React (https://react.dev/)
- Tailwind (https://tailwindcss.com/)
- Figma (https://www.figma.com/)
- Papa Parse (https://www.papaparse.com/)
- Flask (https://flask.palletsprojects.com/en/3.0.x/)
- SQLite (https://www.sqlite.org/)
- SQLAlchemy (https://www.sqlalchemy.org/)
- Llama (https://www.llama.com/)
- Tune AI (https://tunehq.ai/)
- Cerebras AI (https://cerebras.ai/)
- GitHub API (https://docs.github.com/en/rest/)
What's next for Omni
We’re convinced there’s a need for this product and will dig further into extending it over the coming weeks. Integrations with commonly-used enterprise applications and expanding functionality of our spreadsheet e.g. managing inwards dataflows from company work and external outputs such as targeted outreach to specified candidates. We’ll start having more concrete user conversations and iterating on a fully fleshed-out MVP to hopefully make our first sales shortly.
Built With
- cerebras
- flask
- javascript
- llm
- ocr
- python
- react
- tailwind
- tune

Log in or sign up for Devpost to join the conversation.