├── .gitignore ├── LICENSE ├── README.md ├── cmd └── apollo.go ├── docs ├── Screen Shot 2021-07-25 at 4.36.15 PM.png ├── apollo.png └── architecture.png ├── go.mod ├── go.sum ├── pkg └── apollo │ ├── backend │ ├── api.go │ ├── searcher.go │ └── tokenizer.go │ ├── schema │ ├── crawler.go │ └── schema.go │ ├── server.go │ └── sources │ ├── athena.go │ ├── kindle.go │ ├── podcast.go │ ├── source.go │ ├── utils.go │ └── zeus.go ├── static ├── css │ └── stylesheet.css ├── img │ ├── about.png │ ├── add.png │ └── home.png ├── index.html ├── js │ ├── main.js │ └── poseidon.min.js └── search.xml └── tests └── main_test.go /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | static/CNAME 3 | *.json 4 | data/ 5 | kindle/ 6 | .env -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Amir Bolous 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Apollo 💎 2 | ### A Unix-style personal search engine and web crawler for your digital footprint 3 |
details.txt
103 | 104 | 105 |${this.searchInput ? "About " + this.searchData.size + " results (" + time + "ms)" : html`
To navigate with your keyboard: Arrow keys move up and down results, Enter opens the result in detail, Escape 262 | closes the detail view
`} 263 | ${this.loading ? html`loading...
` : this.searchResultsList.node} 264 |${content}423 |
popup
435 | 436 | 437 |${this.modalText}
440 |Apollo is an attempt at making something that has felt impersoal for the longest time, personal again. 450 | 451 |
452 | 453 |454 | The computer revolution produced 455 | personal computers yet impersonal search engines. So what's Apollo? It's a Unix-style search engine 456 | for your digital footprint. The design authentically steals from the past. This is intentional. When I use Apollo, I want to feel like I'm 457 | travelling through the past. 458 |
459 | 460 |How do I define digital footprint? There are many possible definitions here, I define it as anything 461 | digital I come across that I want to remember in the future. 462 | 463 |
464 |465 | It's like an indexable database or search engine for anything interesting I come across the web. There are also some personal data 466 | sources I pull from like Athena for my thoughts or 467 | Zeus for curated resources or Kindle Highlights. 468 | This is in addition to any interesting thing I come across the web, which I can add directly via the web crawler. 469 |
470 | 471 |The web crawler can scrape any article or blog post and reliably get the text - so you can index the entire post without even 472 | having to copy it! Once again, this is intentional. I read a lot of stuff on the Internet but don't take notes (because I'm lazy). Now I can 473 | index anything interesting I come across and don't have to feel guilty about not having made notes. So just to be clear, 474 | I'm not indexing just the name of an article - I'm indexing the entire contents! If that's not cool, I don't know what is. 475 |
476 | 477 |I no longer have to rely on my memory to index anything interesting I come across. And now you don't have to either
478 | 479 |P.S I put a lot of ❤️ in this project, I hope you like it :)
480 | 481 |