Built, shipped,
in use.
Five projects, each built around one job that took too long. What we made, how long it took, and what changed.
Whetstone
Whetstone came to Kleta with a clear idea: a workspace for writing better AI prompts. Teams were losing track of what worked and wasting hours rewriting by hand.
We started with the core loop: write a rough prompt, refine it with AI, save it for reuse. Everything else was built around that. The refinement engine queries several models to stress-test a prompt, not just reword it.
The flow has three steps: brain-dump the rough idea, answer a few sharpening questions, and land on a prompt worth keeping. The interface is dark-first and keyboard-friendly, because prompt writers live in editors and terminals.
- Refinement engine: rough idea in, precision prompt out, across Claude, GPT and Gemini.
- Dark, focused interface: built for long writing sessions.
- Prompt library: folders, tags and instant search.
- Shared workspaces: teams reuse and build on each other's best prompts.
ClientWhetstone
Timeline8 weeks, design to launch
Team2 engineers, 1 designer
What changed3× better outputs, 10× faster iteration
Built withNext.js, TypeScript, Python, PostgreSQL, Supabase, Stripe
whetstone-prompt.onlineUstadh
Ustadh connects Canada's Arabic learners with qualified teachers across two paths: Modern Standard Arabic, and Quranic Arabic for tajweed and comprehension.
We built a two-sided marketplace where teachers set their own terms and students find the right match without friction. Teachers bring their own video links and manage their own schedules: less to build, less to break, more control for them. Volunteer and paid sessions get equal treatment, because teaching Quran pro bono carries real significance.
We deliberately skipped building video infrastructure. Teachers use the Zoom or Meet links they already trust, students get calendar invites, and the platform stays light enough for one person to run.
- Teacher profiles: specialties, ratings, availability and location, no platform fees.
- Matching and filtering: browse by specialty, city, rating and price.
- Direct booking: calendar invites, teachers' own video links.
- Volunteer-friendly model: free and paid sessions with equal visibility.
ClientUstadh
Timeline10 weeks, strategy to launch
Team2 engineers, 1 designer
What changed10+ teachers across 6+ Canadian cities at launch
Built withNext.js, TypeScript, PostgreSQL, Supabase, Stripe, Google Calendar API
ustadh.caMeridian Lens
Meridian Labs spent hours a week watching competitors and still got surprised. No spec, no wireframes, just a real cost and a hunch that intelligence could be a product instead of a spreadsheet.
We interviewed the four people doing the tracking, found four duplicated private docs, and replaced them with one feed. The weekly brief is deliberately explainable: every sentence traces to signals visible in the feed, so it can be defended in a board meeting.
We shipped the signal feed first and let the team live in it for two weeks before building the brief on top. That order surfaced the real categories and thresholds, so the brief reads the way executives actually talk.
- Signal feed: funding, product, hiring and go-to-market events, normalized and impact-rated.
- Weekly brief engine: one click composes an executive brief from the live signals.
- Impact triage: high, medium or low, driven by explicit rules.
- Watchlists: six-week trend lines show who is accelerating before the headlines do.
ClientMeridian Labs
Timeline7 weeks, brief to live product
Team2 engineers, 1 designer
What changed40+ sources distilled into one feed and one brief the exec team reads weekly
Built withNext.js, TypeScript, PostgreSQL, LangChain, Anthropic Claude, Supabase
Axiom Clearline
Claims operations at Axiom Health ran on attention: every claim, simple or not, waited for a person. The queue was undifferentiated, so routine approvals consumed the hours complex cases deserved.
Clearline is a rules engine with a console on top. Clean claims approve themselves, hard rules deny what must be denied, and only genuinely ambiguous cases reach a reviewer, with the engine's reasoning attached. We kept the logic as explicit, readable rules rather than a model, because their adjudication was policy, not pattern.
The threshold between auto-approval and human review is a setting, not a constant. Operations tunes it as trust in the engine grows, and the touchless rate was still climbing at handover.
- Adjudication engine: eligibility, code validity, fee ceilings and duplicates as versioned rules.
- Human-in-the-loop review: ambiguous claims arrive with reasoning pre-loaded.
- Audit trail: every claim records every rule that fired.
- Operations console: live queue, filters, touchless-rate numbers, CSV export.
ClientAxiom Health
Timeline6 weeks, discovery to launch
Team2 engineers, 1 designer
What changed67% of claims handled touchlessly, 14 hours of manual work removed weekly
Built withReact, TypeScript, Node.js, PostgreSQL, Redis, AWS
Stackline Audit
The brief asked for a monitoring dashboard with accounts and weekly emails. Discovery said otherwise: developers wanted an answer in the time it takes to paste, and every login screen was churn.
So we argued for inverting the product: instant value first, accounts never. Paste a package.json, get a scored report. Everything runs in the browser, so nothing about a company's stack ever leaves their machine, and the privacy answer became the marketing headline.
The knowledge base is data, not code: deprecations and duplicate-purpose groups live in tables Stackline's own team extends without touching the engine. We built it to be owned without us.
- Static analysis engine: deprecated packages, heavyweight dependencies, wildcard versions.
- Duplicate detection: two date libraries, three HTTP clients, named consolidations.
- Health score: a 0–100 number with explicit deductions.
- Markdown reports: pasteable into a PR, a Slack thread or a ticket.
ClientStackline
Timeline5 weeks, spec to shipped
Team1 engineer, 1 designer
What changedZero signups required, 100% of analysis on-device
Built withTypeScript, Vite, zero-dependency runtime
Have a job like these eating your team's week? Book a first conversation