Case studies
The problem the client brought us. The state we left behind.
Three stories from practice, as Jan Walter told them on LinkedIn. No marketing, mistakes we made included.
Patience pays off. Six years with one application.
Starting point
An application for financial advisors that another team had been building for six months. Angular, Node.js, MongoDB. Unfinished features, unstructured data, weak typing, and code nobody could read.
What we did
E2E tests first. They pinned down how the application behaved and gave us the freedom to change it. Then we rewrote the backend in Python, Django, and PostgreSQL. It took two months. Since then, agile development has been running with a product owner on the client's side.
Users were skeptical at first and progress wasn't linear. Internal ambassadors in the advisor network, the people we worked with most closely, helped win their trust.
Result
FINfest 2021 Application of the Year. The standard tool of the KAPITOL advisor network. The client has invested roughly a million dollars in it since 2019, and development continues.
What we learned
- Automated tests are the foundation of serious software, not an add-on.
- Small commits, TypeScript everywhere, generated typed API clients, a monorepo, feature flags.
- RxJS and NgRx: powerful tools with a considerable price. We use them deliberately.
- Steady long-term progress is worth more than speed at the start.
“You'll have a good time working with them.”


From Excel to the web and back again.
Starting point
The best mortgage comparison tool on the Czech market lived in Excel. Dozens of sheets, over 2,500 formulas, over 5,200 constants, and a VBA interface. One expert, not a programmer, updated it week after week because banks keep changing their products. The client wanted a web application but didn't want to lose the ability to keep editing the logic themselves.
What we considered
- Rewrite the formulas in Python. Clean, but the expert would lose Excel.
- Drive Excel remotely via Google Sheets or the Office 365 API. A simple calculation took 0.6 to 1.8 s. Too slow.
- Drive Excel locally from Python. Fragile and hard to scale.
What we did
Excel stayed the source of truth. The open-source library Koala parses formulas into a dependency tree and recalculates only what changed. We added the missing Excel functions, and a recalculation on the server takes 20 ms. 20,000 scenarios generated directly in Excel verified the match with the original.
The prototype took five nights, the MVP a few months. Then reports, SSO, multi-company operation, CRM integration, and checks against bank calculators. A pool of precomputed instances on Docker Swarm handles hundreds of requests per minute from srovnejto.cz.
Result
FINfest 2021 Application of the Year. Six years of development, roughly 7,800 commits. The expert still edits the logic in Excel and the web picks it up.
What we learned
- Prototype and measure the key architectural decision, don't guess it.
- Excel is excellent for parameters and their relationships. No need to replace it at any cost.
- Tests against reference data caught every deviation before a user did.
“The company owner always made sure that the project was running smoothly.”

Small and big lessons for small and big programmers.
Starting point
Late 2020. Michal Beneš's epidemiological model and the idea of turning it into a game that shows the public how the timing and strength of measures change the outcome. It had to be done over Christmas, before the next wave. We took it on pro bono.
What we did
Five engineers, agile sprints, TypeScript, an Angular UI, a minimal backend over JSON, and automated tests from day one. The hardest part was integrating the simulation core, which changed fast during development.
Launch on January 28, 2021. A link from a major news portal overloaded the server. Disabling gzip for static files was a mistake. Moving static assets to Cloudflare stabilized the site. 50,000 games played in the first days, over 100,000 players in total. People in government used the game too, and national media wrote about it.
On February 7, a TV report brought a spike several times larger. A database backup was running at the same time. The result: several dozen minutes of downtime.
Result
The game served its purpose. The author's key message: delayed measures cost lives, school days, and money. The effort came to roughly 80 SWEHQ person-days, four times the original estimate.
What we learned
- Estimate conservatively. Even enthusiasm has a price.
- Understand inherited code first, then change it.
- Prepare for traffic spikes in advance: CDN, static assets, no backups in prime time.
- During data import, MongoDB read only about 10% of records without errors. Next time, PostgreSQL.
- A cohesive team and a junior who got room to both design and code.
“SWEHQ was a professional team that genuinely cared about our project.”


More
What's running today.
Insolvency law. Unique precision: links to primary sources and semantic search.
Agentic systems can't do this as well or as fast. Case law and filings from the insolvency register, often scanned with a broken text layer. PDF repair, OCR, search by meaning and by case numbers. Multiple models behind one layer.
Currently deployed on the insolvency register · 100,000+ documents · MCP connector for Claude and ChatGPT
Find company for things that happen outside the phone.
Flutter for iOS and Android, Django with PostGIS, web in Nuxt. An event has chat, photos, date polls, cost splitting, and an invitation that works without the app. Five years of continuous development, 15 contributors.
App Store and Google Play · relaunch 9/2026, First Wave program for organizers
A smart planter. One team from firmware to e-shop.
ESP32 over MQTT, Go backend, web in Nuxt, mobile app, Strapi, Shopify. Today the client builds landing pages on our infrastructure themselves.
On sale since September 2026 · stable operation since launch
Next step
Working on something similar?
An engineer replies within a day. Within a week you have an honest view of scope, risk, and price.