Kidus Tefeta

Kidus Tefeta

I build and ship production systems end to end, from the browser to the database to the native apps.

Founder of Kidus Digital Group and the maker of BookHere, a live booking platform for small service businesses. I write the frontend, the backend, the database, the payments, and the apps, and I care most about the parts that have to be correct when two people press the same button at the same second.

Open to a software engineering internship Silver Spring, Maryland · remote or DC area The BookHere case study Resume GitHub

The project to read

BookHere

BookHere

A live booking platform for small service businesses

Live at bookhere.site

A shop gets its own booking page. Its customers pick a service, a day, and a time on a live calendar and book. The owner runs the day from a studio, builds new client pages from an office, and it ships as native apps for iPhone, iPad, Mac, and Android. The whole system is one person's work, and the interesting part is not the size, it is the rules: what happens when two people book the same 11:00, how a shop is stopped from reading another shop's data, and how a claim on the page is checked against what the database actually does.

27
database tables
138
database functions
125
migrations, in order
4
platforms, one codebase

Read the case study →

PostgreSQL + row level securityCloudflare WorkersStripe billingSwiftUIAndroidVanilla JSbookhere.site ↗
A customer books a real appointment on a live BookHere page.

Code, if you would rather read than take my word

Two people cannot book the same minute

Checking "is this time free" and then inserting leaves a gap where a second request passes the same check. No amount of application code closes it, so the rule lives in the database: active bookings for one artist may never overlap, and the second one to arrive is refused whatever order they land in.

alter table bh_bookings
  add constraint bh_no_double_booking
  exclude using gist (
    artist_id with =,
    tstzrange(starts_at, ends_at, '[)') with &&
  ) where (status = 'active');

The three functions that write a time catch that refusal and answer with the same sentence a slow-race loser already gets, so the customer sees "that time has just gone" and not an error. sql/084 in the BookHere repository.

The most advanced thing I've built

Out Past

Out Past

A phone that cannot be talked out of a plan

Free & open source

Every app that promises to fix a phone habit has an ignore button, a passcode, an off switch. Out Past removes them, because an app cannot cage a phone whose owner controls it. So it stops being the owner: device-owner Android over a cable, supervised iPhone, and a root-enforced lock on the Mac with its own DNS resolver of 222,000 domains that learns new ones by behavior. Most of the engineering is not code. It is the deepest systems work I have done.

3
platforms, OS-level
222k
domains in the resolver
4
filter layers, no off switch
0
ways out, by design

Read the case study →

Android device owneriOS supervisionmacOS LaunchDaemonLocal DNS resolverElectronPythongithub.com/kidus-tefeta/out-past ↗

From the Out Past family

OPE

OPE

Out Past Engineering · see the app your AI built

Free & open source

OPE is a free, open-source Mac and Windows app for vibe coders. It shows every version your AI coder builds as a green box, folder to file to line, so you and your AI coder work together as a healthy ecosystem instead of you shipping code you have never seen. Switch a project to Learning while building and OPE teaches you to code on your own app, or pick Learn only and it teaches you with no project at all: your AI coder leaves small pieces of it for you, each with a test, across 8 parts and 113 milestones from a first terminal command to reviewing and rejecting AI code. Local only, no account, no server.

Mac+Win
native app
git
versions from tags
100%
local, no server
MIT
open source

Read the case study →

Swift + WKWebViewNode twin for Windowsgit plumbingNo server, no accountgithub.com/kidus-tefeta/ope ↗

Inside OPE · what I built to close my own gap

The OPE course: your AI coder leaves part of the build for you

People who build with AI end up shipping code they have never read. I am one of them, so I built the fix into my own tool instead of pretending otherwise. Switch a project to Learning while building and OPE writes rules into the project that your AI coder has to follow: it builds as normal, then leaves one or two small pieces of that build for you, at your level, each with a stand-in so the app still runs and a test that fails until your real code is in. It tells you which file and which lines are yours, asks whether you want step by step help, and then builds nothing more on the project until your piece passes its test. Payments, passwords, security and anything that deletes data are never handed to a learner.

  1. 0Computer
  2. 1Reader
  3. 2Tweaker
  4. 3Writer
  5. 4Builder
  6. 5Debugger
  7. 6Designer
  8. 7Elite

Eight parts, 113 milestones, from a first terminal command to reviewing an AI's code and rejecting it. Every part opens with a door test that passes the whole part if you already know it. A practice bank of 114 tested tasks covers the days your own project has nothing at your level, and it lives in its own folder, never inside your project.

OPE's Learn view: the eight parts, the milestone being worked on, the piece of the person's own code cut out with its test, and Just do it for me
Learning while building: the part you are on, the piece of your own app OPE cut out for you, and the test that decides it.
8
parts, beginner to elite
113
milestones, each tested
114
practice tasks with tests
$0
tests run local, your own AI grades

I am working through it on my own projects. That is the honest answer to "you build with AI, so do you understand it": I am closing the gap in public, on a tool anybody can download and check.

I don't wait for someone to build it. I build it.

I am self-taught. I pick up whatever a build needs and pick it up fast, then I build the whole machine, not one part of it. What I want you to judge me on is not how much there is, it is whether the parts that must be correct are correct, and whether what a page claims is the same sentence as what the machine does.

Also built

Client sites and brands. Custom, animated websites built from scratch for real clients, including Mussie, Grace Church, Light Of Tomorrow, and A4 Studio.

Where it honestly stands: BookHere is a live production system with real pages and real shops. It has 14 client pages, shops signed up, real bookings, and live billing. I would rather tell you what is real than show you a number I cannot stand behind.

What I cannot do yet: I have no CS degree and no job behind me, and I build with an AI coder every day. So I wrote OPE to close that gap on purpose, and I am working through its course, which hands me pieces of my own code to write and read without help. If you want me to walk through any file here line by line, ask me on the call.