← All work← № 01Case study 02 / 05№ 03 →
№ 02Under NDA

House Partnership Program

“Connect with a place to call home. Providing safe, secure homes to local people.”A house partnership program, where ownership is shared and every number has to match. Typed contracts end to end against a NestJS API, and dashboards that make ownership math legible.

Role
Frontend Engineer
Type
Housing · Web app
Stack
React · TS · NestJS API
Worked with
Client CTO, lead backend engineer
Ownership · Property 01421,000 shares
InvestorSharesStakeValue
Partner 0142042.00%€499,800
Partner 0225025.00%€297,500
Partner 0318018.00%€214,200
Partner 0415015.00%€178,500
Total1,000100.00%€1,190,000
✓ Matches back officeSynced 2 min ago
Ownership · reconciliationRecreated with fake data · NDA
At a glance

Homes, shared
to the decimal

Story

A house partnership program helping local people into safe, secure homes, where partners’ shares have to reconcile exactly.

Constraint

Correctness isn’t negotiable, and the API was changing while the UI was built.

Approach

A technical assessment with the client’s CTO and lead backend engineer, then API shapes held in strict types so drift fails the build.

01Story

The client runs a house partnership program: “Connect with a place to call home. Providing safe, secure homes to local people.” People buy into a home through a partnership and hold a share of it alongside other partners.

I started by working with the client’s CTO and lead backend engineer on a technical assessment of the platform. The domain is unforgiving: ownership shares, partner records and returns all have to reconcile, and someone looking at a number expects it to be the same number the back office sees. The interfaces had to make that math visible rather than just display it.

02Constraints

Financial data means correctness is not negotiable, and the frontend cannot be the place where a shape assumption silently drifts from the backend. The API was NestJS and evolving in parallel with the UI, so the two had to move together without either blocking the other.

Contract drift fails the build, not the balance sheet.

03What I chose

I worked the API contract from both ends rather than consuming whatever arrived — designing REST and GraphQL shapes with the backend team, then holding those shapes in strict types so a contract change surfaced as a compile error rather than a wrong figure on a dashboard.

04Outcome

Outcome04
Type safety

End-to-end type safety across the NestJS boundary — contract drift fails the build, not the balance sheet.

Dashboards

Investment and ownership-share dashboards that reconcile against back-office records rather than approximating them.

Data model

Partner-record interfaces handling nested, multi-party ownership structures.

API

REST and GraphQL contracts designed jointly with the backend team instead of retrofitted client-side.

Say hi!
stevocvijetic96@gmail.com