Six systems in production.
.NET development company.
Six .NET systems built or taken over by CQUELLE: four for clients, from a blood-donation platform to a legal-tech product taken over on .NET 9, and two products of our own, Timeplanned on .NET 9 and Flashside on .NET 10. The engineers sit in Poland, Romania, Ukraine and Estonia, the contract is with a Hamburg GmbH under German law, and the .NET development services run as stories you accept one at a time.
Six .NET systems, and the constraint each one was built under
Every .NET development company lists the frameworks it knows. The part worth reading is the constraint a system was built under and what was decided because of it, so here are six, client work first and our own two products last, without client names.
2026
HealthTech
3 developers, 8 months
A donation platform for a blood-donation operator
- The constraint
- Several organizations on one platform, and donor records that hold identity, dates of birth, eligibility and screening notes. A query that forgets its tenant filter is a cross-organization exposure, not a cosmetic bug.
- The choice on .NET
- One .NET API with Entity Framework Core and PostgreSQL on AWS, behind a Next.js portal for donors and a back office for staff. Tenant scoping is applied by default at the data-access layer, so a forgotten filter fails safe. Links sent to donors carry signed, expiring, tenant-scoped tokens instead of record IDs, and every change to a sensitive record writes its audit entry in the same transaction.
- What happened
- One platform replaced the operator's set of tools. Production data never reaches a test environment; test data is generated and reloaded on every environment.
2025
Legal tech
A legal-tech drafting product taken over after a vendor handover
- The constraint
- Four codebases that had drifted apart: a Word add-in on Office.js, a React web application, the .NET subscription and identity platform, and an AI services layer on AWS Lambda. Behavior that looked like a backend question was sometimes a Word client question. Releases carried risk nobody could size, and the brief was not to add features.
- The choice on .NET
- Before the first change, a written map of the four codebases, signed off by the client. The .NET platform runs ASP.NET Core on .NET 9 with EF Core, ASP.NET Identity and Stripe; it was preserved and hardened through the takeover. Prompts, retrieval and provider configuration moved into one place that both the Word add-in and the web application read from.
- What happened
- All four codebases ship on one release path, and the drift between Word and web stopped being a class of bug.
2025
Veterinary M&A
5 developers, 2 years
A marketplace and practice platform replaced while it ran
- The constraint
- Incomplete codebases from earlier vendors, parts of them live with real users and real payments. Neither a rewrite nor a freeze was an option.
- The choice on .NET
- A .NET API organized into vertical-slice modules, each owning its data boundary, with the inherited core still serving traffic while the modules took over. SignalR for messaging and deal-timeline updates, Quartz for the scheduled work of subscriptions and refunds, MySQL, AWS ECS and Cognito. Money is an append-only ledger with more than sixty transaction types, and a charge confirms only when the Stripe webhook lands.
- What happened
- More than thirty modules behind one API and a React web application, delivered as a stream of increments while the business kept running.
2025
Financial advisory
2 developers, 6 months
A transaction-categorization platform with a human in the loop
- The constraint
- A US advisory firm whose analysts re-keyed every client's QuickBooks transactions into the firm's own taxonomy by hand. The model was allowed to propose a category inside that taxonomy or abstain, never to invent one.
- The choice on .NET
- An ASP.NET Core REST API over a multi-tenant PostgreSQL schema that is audit-trailed end to end, a React review queue built with the senior analysts in the room, and a Python service beside the .NET backend that hosts a per-tenant classifier on a finance-pretrained BERT model. ECS for the long-lived services, Lambda for the per-transaction calls.
- What happened
- Only ambiguous transactions reach a person. A split has to sum to the original to the cent before it can be saved.
Own product
SaaS
Timeplanned, scheduling and billing for private instructors
- The constraint
- Private instructors run their teaching through spreadsheets and chat threads. Scheduling is the easy half; the month-end amount has to account for cancellations, makeup lessons, visit packs, subscriptions and one-off payments, and one wrong number means an awkward conversation with a student.
- The choice on .NET
- A .NET 9 backend with domain-driven design and immutable record entities, Entity Framework Core and PostgreSQL underneath, and a React 19 frontend. Recorded attendance turns into the month-end bill without a manual step. GDPR was designed in from day one: per-student consent records and one-click export and erasure, including minor students with guardians.
- What happened
- Designed and built end to end as our own product, with Google Calendar and Outlook sync against double bookings and an English and German interface.
Since 2020
EdTech
Flashside, an offline-first flashcard app with an AI coach
- The constraint
- Three constraints we chose ourselves: cards and study history stay on the device, so the app works without a connection and without an account; the server is a meeting point for sync and sharing, not the system of record; and whatever the AI does, remembering stays the learner's job. In September 2026 we tested the import against Kaishi 1.5k, an Anki package of 1,501 notes with 14 fields each and 114 MB of media, which had to import whole.
- The choice on .NET
- A .NET 10 API on MySQL behind one React Native codebase for iOS and Android and a Next.js 16 web app. Scheduling is FSRS, the algorithm Anki added in 2023, pure arithmetic that runs with the network off. Sync sends deltas per collection and moves media four files at a time with retries; on iOS the upload runs on a background NSURLSession. The Anki import moved cards out of key-value storage into a file per collection, because Android's SQLite cursor refuses a single row over 2 MB.
- What happened
- Our own product, started in April 2020 and in the App Store since July 2020, in 18 languages, with a study plan, a card doctor and a Monday coach card on top of the scheduler. App Review sent version 1.49 back on 16 October 2026 over the missing Terms of Use and Privacy Policy links; 1.50 went out the same week.
What the engagements run on
What a .NET development company runs on is a shorter list than its website suggests, so this one holds only what appears in a delivered system. The database and the front end follow what your users and your existing code need; the back end is .NET in every case.
| Backend | C# on ASP.NET Core, Entity Framework Core, ASP.NET Identity; .NET 9 on Timeplanned and the 2025 legal-tech platform, .NET 10 on Flashside |
|---|---|
| Real-time and background work | SignalR for messaging and live updates; Quartz for scheduled jobs |
| Databases | PostgreSQL on four of the six; MySQL on the veterinary platform and on Flashside |
| Front ends | React and Next.js in TypeScript; React Native for mobile; Angular maintained |
| Beside .NET | Python services for models (PyTorch); TypeScript on AWS Lambda for LLM layers (LangChain) |
| Cloud | AWS on the four client systems (ECS, Lambda, Cognito, S3); CQUELLE's managed platform in Frankfurt on Kubernetes and PostgreSQL |
| Delivery | Docker, GitLab CI, a Kubernetes demo environment per branch, schema migrations applied on release, real-database tests in ephemeral containers |
| Payments and integrations | Stripe with webhook reconciliation, QuickBooks, Zoho CRM, Slack, e-signature |
How a .NET engagement runs here
A .NET engagement at CQUELLE is a list of stories: one thing your users will be able to do, with acceptance criteria written down and approved by you before anyone starts, and capped at 24 hours of work in our public engineering handbook. The team works in your repositories and your tools (Jira, Azure DevOps or Linear), with a pipeline in place before the first story is done, and shows the result at a weekly demo. You interview every engineer before they join.
Our engineers use Claude Code daily under a written AI policy: approved tools only, no training on your inputs, and no personal data, credentials or production data in any AI tool. Generated C# goes through the same review, tests and acceptance as hand-written C#, and an engineer answers for every line.
Two commercial shapes, both used on the systems above: a dedicated team priced per role and month, or a fixed scope with one price for the story list you approved.
The engineers who write the C#
CQUELLE GmbH, Hamburg, since 2019. Roman, Oleh and Mark are .NET developers; Timeplanned and Flashside are the company's own products on the same stack, and the founder still reviews the work. A larger team is assembled per engagement from the same pool.

Eugen
Founder, still writes code
Hamburg, Germany

Roman
.NET & Angular Developer
Lviv, Ukraine

Oleh
.NET, Angular & React Developer
Warsaw, Poland

Mark
.NET & React Developer
Bucharest, Romania

Vladyslav
Full Stack Developer
Kharkiv, Ukraine
When we are the wrong .NET vendor
- Your system is on PHP, Java or Ruby.
- The six systems above are .NET, and so is the bench. A Java or PHP codebase deserves a team that works in it every day; we will name a few.
- You need thirty .NET developers by next month.
- Three named .NET developers and the founder are on this page. A larger team comes from the same pool, one person within 1–2 weeks, not thirty at once.
- You want hands that take tickets and keep their opinions.
- The work on the board is stories with written acceptance criteria, and the engineers push back on an architecture decision they disagree with. For silent capacity a staffing agency is cheaper.
- You want a fixed price for a takeover before anyone has read the code.
- A system someone else built gets a 5-day codebase assessment first, with a findings report, half of its fee credited against the follow-on work. The price for the work follows the report.
Questions we get before a .NET proposal
What does a .NET development company do, and what is different at CQUELLE?
Which .NET versions and frameworks do you work with?
Can you take over a .NET system another vendor built?
Do you pair .NET with React, Angular or something else?
How are .NET developers at CQUELLE staffed and priced?
Where do your .NET developers sit, and under which contract?
Do you use AI tools when writing .NET code?
Bring the system, or the idea
Thirty minutes with the founder. For a system that exists, bring the repository, under NDA if you want, and the call ends with a view on what a takeover would involve and in which order. For an idea, bring the one page, and it ends with a recommendation for a fixed scope or a team. If the honest answer is a different stack or a different vendor, that is the answer you get.
Or send the repository link through the form. An answer comes within 48 hours.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.