CS 2341 SuperSearch — “Did it Make the News?”
Final project for SMU CS 2341 Data Structures (Spring 2024, Prof. Michael Hahsler). A C++ search engine over US financial news JSON articles using an inverted file index on AVL trees, with Porter stemming, stop-word removal, persistence, and PERSON: / ORG: entity filters. Ranking uses a SuperSearch Score based on term frequency.
Code: GitHub · Project instructions
Requires the API host locally (npm run dev or Docker on port 8080). Click the title bar or type api <url> to point at a deployed host.
Learn more — full prompt examples & demo tips
As in the README: after a query, SuperSearch returns a page of articles ranked by SuperSearch Score (3 per page in this demo, 15 in the real CLI). Open an article by typing its index. Click any example below to run it in the terminal above.
Words only — Brexit coverage
Please type in search: brexit
Filter with PERSON: and/or ORG:. SuperSearch Score still counts only the word terms (entity-only searches score 0).
Person only — Eric Schweitzer
Please type in search: PERSON: eric schweitzer
Words + person — Brexit mentioning Eric Schweitzer
Please type in search: brexit PERSON: eric schweitzer
Words + person + org — Brexit, Schweitzer, and Reuters
Please type in search: brexit PERSON: eric schweitzer ORG: reuters
Same filters, different order
Please type in search: market ORG: reuters PERSON: eric schweitzer
Paging — Reuters articles span two pages; type next after the results, then prev to go back
Please type in search: ORG: reuters
After results: type 0 (etc.) for article text, next/prev to page, Enter for a new query, q to quit the CLI. This browser terminal runs the real C++ engine over HTTP on a small demo corpus; the full Kaggle financial-news set behaves the same when loaded locally.
ChatPlays
Wireframes: Wireframe for MVP More complex wireframe (click launch to go to next screen)
Articles: Codelaunch.com article Dallas Innovates Article
Idea was to make an application that made it easy for a streamer to make their own “Twitch Plays” on their live stream regardless of streaming platform and game by utilizing virtual controllers such as ViGEmBus (specifically the vgamepad module in Python).
After working on the idea with a mentor from the Dallas Entrepreneurship Center I convinced a couple of fellow Encyclopedia.Zone (Don Jolly‘s old website and formerly Dagger Magazine) board members to join me in applying to CodeLaunch, a startup competition in Dallas, TX.
After several rounds of interviews, one of which where we recieved a hackathon sponsorship from software consulting company Allata, we made it to the grand final of the competition as the only student finalists (I gave the pitch).
Outcome: Project discontinued. Did not raise any rounds of funding and team members had full-time jobs/school to attend to.