Project Info
This project did not submit a demo video on Devpost.
Inspiration
You get online to do your real analysis coursework, opening a new tab in Chrome to reach an online Latex compiler. But there's an ad! New AF1's for only 75 bucks? You click the ad and get redirected to Amazon, and before you know it, you fail real analysis, fail to get your degree, gamble away your money, and are very, very sad. Filtra helps you blur those distractions on your browser. You finish your work on time, which leads to more learning, more productivity, and better grades.
What it does
There is a focus mode and a relaxing mode. On relax mode, nothing is filtered. On focus mode, everything is filtered depending on whether or not it helps you become more productive or not.
How we built it
We use proprietary LLM technology to decide what elements will help you become more productive or not. We have a NextJS Frontend and Flask backend that integrate seamlessly with OpenAI API in order to decide which HTML elements in the website DOM are necessary.
Challenges we ran into
Querying all the elements of the DOM is relatively slow, and even slower is OpenAI API. It takes much time for OpenAI to decide which elements can be unfiltered. Thus, for each loaded website, one challenge is that it takes many seconds for the screen to load and the HTML elements to show up. One way to speed this up is to use faster ML technologies than LLMs in order to determine if an element is "productive" or not.
Accomplishments we're proud of
The technology works to filter elements out in the website, and the UI is clean and easy to use. It is very self-explanatory (see video link below). Once you have the application running, you can easily toggle between two modes, "focus" and "relax."
What we learned
Transformer technology can be used for a wide variety of use cases, and LLMs can be used for things beyond NLP. In this case, the OpenAI API is able to process web elements in the form of HTML elements in our DOM, and filter out elements and divs that are deemed unproductive.
What's next
Speed, speed, speed...! The only issue that we are facing is speed of API responses, which causes some of the web pages to load and be processed very slowly. In the future, we plan to test out other ML models to see if we can achieve more speed and greater accuracy in determining which web elements are useless and can be filtered out.
Analysis
View
Metric
- 7
- 5
- 4
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- TypeScriptIn code
- FlaskClaimed
- OpenAIClaimed
7 of 9 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
54 KB
Source files
23
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
theivanyeung/Filtra
48 files · 1.2 MB · @ eda72a0
Structure
Interface
19 files · 40%Screens, components and styles rendered to the user.
+1 moreAPI & routing
4 files · 8%Request entry points: routes, handlers and controllers.
Application logic
5 files · 10%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript57%
- TypeScript26%
- Python8%
- Markdown7%
- CSS2%
- HTML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
app/package.json
npm · 19- @chakra-ui/icons
- @chakra-ui/react
- @emotion/react
- @emotion/styled
- @react-three/drei
- @react-three/fiber
- axios
- electron
- framer-motion
- next
- react
- react-dom
- three
- +6 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.