Product-minded software engineering, from the first conversation to the deploy.
View the portfolio · Read the case studies · Résumé
I’m Luba Kaper, a software engineer in New York. I spent two years at Twitter working on the core infrastructure behind Tweets on iOS. Today I build AI-assisted products end to end, especially for small teams with complicated, real-world workflows.
This portfolio is deliberately simple: semantic HTML, hand-written CSS, and a little vanilla JavaScript. There is no framework, package manager, or build step. The site is fast to understand, easy to maintain, and designed to let the work do the talking.
| Project | The problem | My contribution |
|---|---|---|
| Licensing operations dashboard | A four-person licensing office was coordinating applications, deadlines, documents, and ownership across spreadsheets, email, Dropbox, and memory. | Sole engineer—from discovery and data modeling through implementation, testing, deployment, and rollout. |
| Fourth | Maternal-health software companies need a reliable way to find hospitals whose postpartum outcomes do not match their public commitments. | Built the research pipeline, explainable scoring, human-reviewed outreach, audit trail, and 196-test suite. |
| Relationship intelligence | AlleyCorp needed to know who in its network could make a warm introduction—and why the relationship was considered warm. | Owned the database schema, enrichment pipeline, and authenticated MCP server on a three-person team. |
| Bar break-even calculator | A Brooklyn bar owner needed to see how pricing, costs, and weekly sales patterns change the break-even point. | Built a privacy-friendly browser tool where all numbers stay on the device. |
The projects differ, but the engineering principles are consistent:
- Start with the person doing the work. The data model should match the words, decisions, and exceptions people use every day.
- Keep consequential rules deterministic. Stages, deadlines, scores, permissions, and record changes stay in ordinary, testable code.
- Give AI narrow, reviewable jobs. Models help with research, enrichment, search, and drafting; people stay in control of decisions and sends.
- Make trust visible. A useful answer should come with its source, signal, or reason—not just a confident-looking result.
.
├── index.html Home, selected work, about, and contact
├── work/ Long-form project case studies
├── resume.html Responsive, print-friendly résumé
├── files/ Downloadable résumé PDF
├── assets/ README and social-sharing artwork
├── scripts/ Résumé PDF export helper
├── style.css Shared visual system and responsive styles
├── main.js Motion, navigation, and small interactions
├── favicon.svg Site mark
└── vercel.json Hosting and redirect configuration
- Editorial layout inspired by constructivist posters
Unboundeddisplay type paired withOnest- Responsive project cards, case-study navigation, and résumé layout
- Keyboard-visible focus states and reduced-motion support
- Print styles for a clean letter-sized résumé
- One tiny JavaScript file; no runtime dependencies
No installation is required.
git clone https://github.com/LubaKaper/liubov-dev.git
cd liubov-dev
python3 -m http.server 8000Then open localhost:8000.
resume.html is the source of truth for both the web and downloadable versions. After editing it, regenerate the PDF with:
bash scripts/export-resume.shThe site is hosted on Vercel. Because it is entirely static, deployment needs no build command or generated output directory.