front-end, ui/ux, back-end
New York, US
showcase_
react, typescript, vite, vitest, graphql, apollo, tailwind, shadcn, storybook, ruby on rails
2025
front-end, ui/ux, back-end
New York, US

I initiated the front-end development from scratch using modern tools and frameworks:
React & Typescript
Vite: For fast and efficient project setup and bundling. GraphQL & Apollo Client: To manage API communication and real-time subscriptions.
Vitest: To establish a solid foundation for testing, ensuring the application’s stability.
Shadcn & Tailwind: To deliver a sleek, accessible, and consistent user interface
Storybook: Design system
Legacy Modernization: Migrated the legacy Ruby on Rails MVC app into a modern Single Page Application (SPA), introducing a component-driven architecture with React.
Design System: Built a scalable design system from scratch with a grid-based layout, TailwindCSS, WCAG-compliant components, and unit tests to ensure long-term maintainability and accessibility.
Real-Time Functionality: Designed subscription handling for live updates without performance degradation.
State Management: Developed a scalable architecture for managing complex states and relationships between inquiries and their secondary counterparts.
The Lawfty Intake Manager significantly reduced response times for intake specialists, streamlined inquiry processing, and improved collaboration among team members. The application laid the groundwork for future enhancements, with a strong focus on scalability and usability.

I built a design system with Tailwind CSS, focusing on accessibility (WCAG compliance) and pixel-perfect React components ready for production use.

It now sits at 48 components, from the small pieces like Button, Input and Badge up to Table, MultiSelect, DatePicker, Modal and a WYSIWYG input. Each sits on a Radix primitive, so keyboard handling and screen reader behaviour come from a tested base and I am not reimplementing focus traps by hand. Variants are handled by class-variance-authority. There are 55 Storybook stories and 51 test files covering them, and Chromatic catches visual regressions on the way in.
The app has grown into 23 feature areas. The ones that took the most work:
Forms were the other big piece. Most use react-hook-form with Zod schemas, but the ones whose shape comes from the backend are rendered with react-jsonschema-form instead, so a new field in the API shows up in the UI without a frontend change. Tables run on TanStack Table and rich text on TipTap.
Subscriptions go over Rails ActionCable, wired into Apollo with graphql-ruby-client's ActionCableLink. That let me keep the existing Rails backend and
still push live updates into the SPA, which mattered because the migration happened one page at a time. GraphQL Codegen
generates types straight from the schema, so a change on the Rails side breaks the build instead of breaking quietly in
production.
Feature flags run through LaunchDarkly, which is what made the incremental migration safe. A new React page could be turned on for a few internal users, checked, then rolled out.

js, html, tailwind, figma
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.

js, html, bootstrap, sketch, ai, psd
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.

js, html, sass, wordpress, ai, psd
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.

js, html5, css3, sass, bootstrap, sketch
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.

js, html5, css3, sass, bootstrap, handlebars, sketch
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.

js, html5, css3, sass, php, bootstrap, sketch
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.

wordpress, js, html, sass, ai, psd
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.