codex.et: Ethiopian Business Register
Search and verify legally registered Ethiopian businesses, by name, by region, or by the people who run them.

codex.et lets anyone check whether an Ethiopian business is legally registered, and find registered businesses by name, by region, or by the people on the record. Searching and browsing need no account. Signing in with Google reveals the address, the registration number and date, and the owners and managers. I built it for the Convex All Gas Hackathon, end to end, in about three weeks.
Many businesses here are registered under an owner's personal name rather than the name painted on the shop, and a name written in Amharic has no single Latin spelling. The register itself holds YABETS, YABETSE, YABETSI and YABATS for one name. Most of the work went into making a search find the record anyway.
What it does
- One search box for everything. A business name, a trade name, a line of business or a person's name all hit the same index, with filters for region, licence standing and year of registration
- A map of where they are. Every region is a filter; pick one on the map and the register narrows to it
- Ask in plain language. "Construction firms in Oromia registered since 2018" is read into filters the search already understands, shown back as chips you can remove
- Deep search on a record. Three processes fill three columns side by side: the official record, business listings, and the open web. A short description is written from what they found, with the site, socials and phone numbers it can support
- Claims, messages and ratings. An owner can claim a business by uploading a licence photo; once approved, visitors can message them, rate them and comment
- Jobs. Businesses on the register post roles in their own words, filterable by region and trade
- Observatory. Live figures about Ethiopian business drawn from the registrations themselves, and what people are looking up right now
- Telegram. The same search in a chat at @codex_et_bot: ask in plain words, get a card back
- Three languages. English, Amharic and Afaan Oromoo
How it is built
- Convex is the whole backend. Data, full-text search, scheduled functions and crons, file storage, auth, rate limits, and the static hosting of the site itself. Nothing polls: result lists, the deep-search columns, unread badges and the operator console are all live queries
- The gate lives in the payload. Every public query declares its return type, and a test walks every public function by reflection to assert that no gated field can leave the server. The suite is 346 tests
- OpenAI, kept on a leash.
gpt-5-minionly ever answers through a forced tool call: filters for a typed question, other spellings for a name, a description for a record. Every URL or phone it returns is checked against what it was actually shown before anything is stored - Firecrawl searches the web for a business and reads its own pages for contact details, footers included, since that is where Ethiopian businesses publish their phone numbers
- Google Places answers when the official register cannot, shown clearly as unregistered
- AgentMail carries six kinds of notice (welcome, messages, replies, claim decisions, ratings, comments) to people who are not on the page, always scheduled after the write commits so a mail outage never fails the act it describes
- Frugal by design. It runs on free tiers plus about US$10 of OpenAI usage. Every expensive answer is stored, so it is paid for once