front-end, back-end, ui/ux
remote
showcase
front-end, back-end, ui/ux
remote

redIQ is an underwriting platform for multifamily real estate. Analysts upload a property's rent roll and operating statements, the app turns them into clean data, and from there they size up the deal and build a valuation. I rebuilt it as Radix Underwriting in React and TypeScript, with Prisma and PostgreSQL on the data side. It runs at underwriting.radix.com, and the old app stays one click away while customers move over.
Everything starts from the deals list. Each row shows whether a rent roll and operating statement have been uploaded, the market, units, status and who the deal is assigned to, and the table can be searched, filtered, sorted and exported. There is also a map view and a separate tab for portfolio deals.

Opening a deal lands on its overview: the location on a map, the deal summary, pricing and returns, which documents have been processed, and the leasing trend from the latest rent roll. Every other part of the deal sits in the tabs along the top.

The old app worked, but it had been built up over years and every screen looked a little different. I kept the workflows analysts already knew, so a rent roll is still a rent roll, and rebuilt the screens around them with one set of components, one type scale and one spacing system.


The rent roll dashboard is a good example. Unit mix, lease types, renovation status, leasing trends and loss to lease are all still there, with the same settings panel on the left, but each chart can be downloaded on its own and the layout gives the numbers more room.
Behind the dashboard is the rent roll itself, one row per unit with floor plan, size, beds and baths, occupancy, market and contractual rent, concessions and lease dates. Every column filters, and the rows can be grouped by floor plan or unit type.

Comparable lease analysis puts two rent rolls side by side and shows what happened to the leases in between: how many renewed, how many went to new tenants or month to month, and how much rent moved in each case.

Every upload goes through processing, and the document center shows the result. When something looks off, like a total that does not add up, the file is flagged with anomalies so the analyst can check it before the numbers flow into the model.

The operating statement dashboard summarises a property's income and expenses: gross potential rent by month, T12, T3 and T1 performance, where the money goes, and vacancy.


The source data is the densest part of the app: months across the top, every income and expense line down the side, and the calculated NOI against the original at the bottom. Each line is mapped to a standard account, and lines that still need a mapping are highlighted so nothing slips through. Analysts switch between actuals and adjusted values, reorder lines and move between statement periods without leaving the grid.


Adjustments sit on top of the original numbers rather than replacing them. Each line keeps its original value, the adjustment and a note, so anyone reviewing the deal can see what was changed and why.

FirstPass is the quick valuation. The analyst sets the investment, financing and underwriting assumptions, and the results at the top update with purchase price, equity, cash on cash, DSCR and profit. Each input shows the trailing twelve month figure underneath where there is one, so it is easy to see how far an assumption moves away from the actuals.

Deals can be shared with people outside the team. The analyst picks what goes with it, from rent rolls and operating statements to the model and pricing, sets an expiry date and an optional access code, and leaves a note for the recipient.


The new interface sits on a component library built on PrimeReact. Every component has a gallery page showing its default, disabled, invalid, read only and loading states side by side, which made it much easier to keep the screens consistent as more of the app moved over.


It covers forms and inputs, buttons, data display, layout and navigation, feedback and messages, and the loading skeletons that show while a table or card is fetching.



Direct-to-consumer campaign landing pages running on the Sanity CMS I built. Marketing assembles a page from modules and A/B tests whole layouts through the experiments layer, no developer needed.
Campaign sites for partner law firms, all from one content source. Each site reads its own colours, logo and copy from the campaign config, so launching a firm is a content job instead of a new codebase.
Lawfty is the data-powered personal injury law firm that offers a clear advantage in uncertain times nationwide, since 2013.
DebugCon is a coding conference for developers held in Prishtina, Kosovo. I was tasked to design and develop their website, also helped with branding and marketing.
The rebuild of redIQ, a multifamily underwriting platform, as Radix Underwriting. Deals, rent rolls, operating statements and valuations in one React app, with a new design system underneath.
My own product: personalised birthday, Valentine's and New Year websites you make in a few minutes, pay for once and send as a link, or schedule to land in someone's inbox at the right moment.
A free tool that shows who doesn't follow you back on Instagram, using the data export Instagram gives you. Everything runs in the browser, so nobody has to hand their login to a third-party app.
EpicFreeGamesMail is a tool that sends you an email every time a new free game is available on the Epic Games Store, built with React and TypeScript.
Airways is New Zealand's leading air navigation service provider. I was tasked to design and develop their air trafic controller manuals and showcasing a new way of how to navigate through them.
99Urban is a streetwear brand, built by me, using Shopify. I designed and developed the website, worked with marketing and dove into the world of SEO and Dropshipping.
Mailfomo is a daily top links aggregator, sending you the most popular links of the day to your email. The goal was to create a simple and easy to use app, with a focus to never miss the latest news.
Prime Panels is a leading manufacturer of melamine panels. I was tasked to design and develop their showroom website. The website was shown at the Auckland Home Show 2022.
NZRIS is a web application for the New Zealand government. I was tasked with creating a digital solution for NZRIS, a new online hub dedicated to the research, science, and innovation sector.
Wilsonart, a leader in decorative laminates, engaged me to design and develop their website for the New Zealand market. The website is built with Umbraco CMS, and it's fully responsive.
Kablamo is a digital product and innovation company. One of the projects I've worked on is a known bank in Canada, an app for iOS and Android built with React Native.
Lobster&Tap is a seafood restaurant in Auckland, NZ, Lobster&Tap engaged me to design and develop their Kiosk web-app which allows customers to order food and drinks.
Daruma is a Japanese restaurant in Auckland, NZ. I was tasked to develop their Kiosk web-app which allows customers to order food and drinks.
Linea Del Plata is a shipping company made up of private business groups with a long history in the maritime industry. I was tasked to design and develop their booking platform.
Scanatrax is a static pallet and cargo dimensioning system that delivers fast, accurate and reliable results, with full after-sales support. I was tasked to design and develop their website.
Flatmately is a flatmate finder app, built for New Zealand and Australian market. I was tasked to design and develop their website, and also helped with branding and marketing.
NxtStep is a job board for students and graduates. I was tasked to design and develop their website, and also helped with branding and marketing.
Yoga With Kassandra is a yoga teacher and content creator. I was tasked to design and develop her website and courses platform while I was working at VidApp.
Tourism New Zealand is a website I've built to showcase my skills utilising JavaScript, HTML5, CSS3, SASS, Bootstrap, Sketch. I was tasked to design and develop their website.
Renkon is a Japanese restaurant, I've pitched the new website and design for the ordering app. I used JavaScript, HTML5, CSS3, SASS, Handlebars and Bootstrap to build the website.
DotaPopQuiz is a quiz app built with JavaScript, HTML5, SASS, PHP. It was built as a fun project to make a game to increase brand awareness and to learn more about JavaScript and PHP.
VidApp is a video streaming platform. I was tasked to design and develop their website and the platform where users would publish their customised app for iOS and Android.