ethan is a modern search engine built around a single, legible promise: every result it returns comes from one of three imported indexes — search.sofya.co, cl0q.com, and chakloon.net — and from no other domain. The product imports those existing indexes, makes their content searchable, and lets the corpus grow over time while the "only indexed domains" boundary stays visible and enforced.
The audience is twofold. Search users want to look up information and trust that what they see is drawn only from the indexed set, with the provenance of each result readable at a glance. Index operators import the three existing indexes and extend indexed content over time, keeping the corpus growing without admitting domains outside the indexed set.
The product's intent is trust through legibility rather than novelty: the constraint that only indexed domains are searchable is treated as visible signage, not fine print, and the interface is designed so a user can see which index a result came from and that nothing outside the set is reachable.
ethan is delivered as a first-party web application with a shared FastAPI backend, a MariaDB database for application-owned persistent data, and a React frontend. The backend owns the search API, the index-import and index-growth logic, and the identity and access control that protects index management. The frontend owns the public landing surface, the search surface, and the operator surfaces for enrollment, verification, and index management.
Two active human actors use the product. Search users reach the public Landing and Search surfaces without an account and run queries against the imported corpus. Index operators enroll through Sign Up, verify through Login, and manage the imported indexes and their growth through the role-restricted Index Management surface.
The current delivery covers: importing the three existing indexes; searching only domains present in those indexes; growing the index over time; and operator self-service enrollment, returning verification, and index management. It does not cover crawling arbitrary new domains, adding indexes beyond the three imported sources, or any search over domains outside the indexed set.
Removed from scope
ethan is a first-party application. The search experience, the index-import and growth workflow, and the operator identity lifecycle are all owned and rendered by ethan itself; the three source URLs are content and feature references whose indexes are imported, not provider surfaces that ethan delegates its UI to.
Access is split by lifecycle. Landing and Search are public and require no account: a search user can arrive, read the coverage of the three indexes, and run a query immediately. Index Management is role-restricted and requires an authenticated index operator. Because index management controls durable, shared index state, ethan owns operator identity: a first-time operator enrolls through Sign Up, and a returning operator verifies through Login before reaching Index Management. Sign Up and Login are anonymous entry surfaces; they establish access to the protected surface rather than being protected themselves.
The current horizon is the imported three-index corpus and its growth. Future ideas — such as additional indexes or broader crawling — are not part of the current product and are not represented in any current page or acceptance criterion.
The three authoritative content sources supply the following verified facts, preserved item by item.
FR-1 — Build a modern search engine. As a Search user I should be able to run a query against ethan and receive results, so that I can look up information through a modern search interface. (explicit)
FR-2 — Import the existing indexes from the three sources. As an Index operator I should be able to import the existing indexes from https://search.sofya.co/, https://cl0q.com/, and https://chakloon.net/, so that their content becomes searchable in ethan. (explicit)
FR-3 — Let the index grow over time. As an Index operator I should be able to extend indexed content over time, so that the corpus keeps growing after the initial import. (explicit)
FR-4 — Only domains indexed in the imported indexes are searchable. As a Search user I should only ever receive results from domains present in the imported indexes, so that I can trust that nothing outside the indexed set is reachable. (explicit)
FR-5 — Index operator self-service enrollment. As a first-time Index operator I should be able to enroll myself through Sign Up, so that I can establish the identity that controls index state. (required_inference)
FR-6 — Index operator returning verification before index management. As a returning Index operator I should verify through Login before reaching Index Management, so that durable index state stays bound to the correct operator. (required_inference)
FR-7 — Import of the three existing indexes before results reflect them. As a Search user I should see results reflect a source only after its index has been imported, so that the corpus I search matches what has actually been imported. (required_inference)
Flow A — Search user runs a query.
Flow B — Index operator enrolls and verifies.
Flow C — Index operator imports the three indexes.
Flow D — Index operator grows the index.
Flow E — Search user relies on the indexed-domain boundary.
The visual system follows the Vignelli-derived direction: systematic clarity, an index readable like a transit map.
#F4F1EA (warm paper ground, never pure white as the page ground); surface #FFFFFF (result panels); text #111111 (all type and 1px rules); primary #D6202B (Search button, active index tab, focus ring, header top rule, red action block); accent #F2B705 (second index code and "safe search on" state); third index code #1F6FB2 (third index chip only); muted #6B6B66.clamp(40px, 9vw, 112px); search results title clamp(20px, 2.4vw, 26px); micro-labels 12px; body 17px; uppercase labels never below 11px.The public entry is a full-width poster, not a centred SaaS hero. A 2px black rule spans the viewport with "ethan" set flush left in Archivo 800 at clamp(40px, 9vw, 112px) and, flush right on the same baseline, the uppercase micro-line "SEARCH · THREE INDEXES · NO OTHER DOMAINS". Directly beneath, the viewport splits 9/3: the left nine columns hold a two-line statement at clamp(28px, 4vw, 54px) ending in the red word "indexed"; the right three columns are a solid #D6202B block, full-bleed to the right edge, with the white search input and a black-bordered "Search" button cut into it, stacked vertically. Under both, a ruled table lists sofya.co, cl0q.com, and chakloon.net, each with its colour dot, a status word, and an indexed-page number in tabular figures. The dominant element is the oversized wordmark-plus-statement against the red block; the palette roles are paper ground, black type and rules, red as the single action block, and yellow/blue only as source codes. At 375px the red block stacks above the input so no readable text or control is overlapped.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, the interface is fully static and import progress is shown as a stepped percentage.
ethan
Search · Three IndexesNo Other Domains
Only what the three indexes hold
ethan searches no other domains. sofya.co, cl0q.com and chakloon.net supply the entire corpus — three sources, one boundary.
Results come only from the three imported indexes — no other domains.
Indexed pages2,245,050
| Index | Status | Indexed pages | Last imported |
|---|---|---|---|
| imported | 1,284,000 | 2026-02-09 | |
| imported | 642,300 | 2026-02-08 | |
| imported | 318,750 | 2026-02-07 |
RuleOnly domains indexed on search.sofya.co, cl0q.com and chakloon.net are searchable. Nothing outside this set is reachable.
Three imported indexes feed one search box. Every result comes through one of these three sources, and nothing outside the set is reachable from a query.
No other domains · no open web

ethan
Search · Three IndexesNo Other Domains
Only what the three indexes hold
ethan searches no other domains. sofya.co, cl0q.com and chakloon.net supply the entire corpus — three sources, one boundary.
Results come only from the three imported indexes — no other domains.
Indexed pages2,245,050
| Index | Status | Indexed pages | Last imported |
|---|---|---|---|
| imported | 1,284,000 | 2026-02-09 | |
| imported | 642,300 | 2026-02-08 | |
| imported | 318,750 | 2026-02-07 |
RuleOnly domains indexed on search.sofya.co, cl0q.com and chakloon.net are searchable. Nothing outside this set is reachable.
Three imported indexes feed one search box. Every result comes through one of these three sources, and nothing outside the set is reachable from a query.
No other domains · no open web
No comments yet. Be the first!