Foundry began when AI started changing what was possible for product teams. Developers were already experimenting with vibe-coding tools and new models, while designers were still mostly working inside the canvas. It became clear that the distance between a polished design and the product people actually used was shrinking.
With AI in the loop, designers could start working closer to the code, tune the final pixels, and test ideas where they mattered most: in the real interface.
The shift from describing the pixels to working inside the product itself.
It started with DQA
The first steps were small. We built plugins for design quality assurance that scanned a website against its Figma design and surfaced visual mismatches. If a page fell below the quality threshold, the team could see exactly where the drift was and what needed attention.
That changed the conversation. Rather than handing developers a long list of fixes, designers could use those signals with AI, make the corrections themselves, push a branch, and review the result on staging.
Foundry workspace. A product view with current work, release context, and prompt activity in one place.
From QA to working in code
As Figma MCP and the models improved, so did the output. Designers began adding the details that usually lost out to product priorities: subtle motion, hover states, and the small moments that make an interface feel considered. We cloned repositories, worked in branches, and started raising our own PRs.
Prototypes were no longer just HTML sketches for someone else to rebuild. They became working starting points. Still, moving that work into a legacy React codebase was difficult. Variables differed, context was missing, and a prototype built in isolation could create more work than it saved.
A high-fidelity Foundry walkthrough, from product context to a working branch.
Why Foundry
I kept seeing the same friction across designers, product owners, and engineers: cloning repositories was intimidating, creating the right branch took setup, and every prototype needed to relearn the product it was meant to improve.
Foundry was my answer. I pitched it as a sandbox for a complete product clone, already carrying the codebase context, reusable skills, and the conventions of the existing system. A team could explore a feature without touching the real product until it was ready.
The platform as a shared capability layer rather than another isolated prototyping tool.
Inside the sandbox
Foundry removes the setup work so a team can focus on the feature. The backend prepares the workspace, while the product context stays available throughout the build.
Open the product.The relevant repository and branch context are already prepared.
Build the feature.Use AI with the existing codebase, conventions, and reusable skills in view.
Mock what is missing.Create APIs when the real service is not ready, so the experience can still be tested at high fidelity.
Bring design context in.Send selected Figma elements through MCP when a visual refinement needs a closer read.
Connected product context.Visual exploration in the branch.
Built to ship safely
The sandbox lets teams iterate without affecting the live product or the shared staging environment. When a direction is strong, the work is reviewed by engineering, checked against the codebase, and taken through the normal QA process before it reaches production.
Foundry is not about bypassing engineers. It is about giving design and product a safer, more fluent way to build alongside them, then handing over work that is already grounded in the system it needs to join.
Building with the product context in view.A reviewable interface before merge.
Keenai Global Wealth and Pulse Work
Keenai is a wealth management platform for high net worth clients, built to make genuinely complex portfolios easier to understand and act on. It brings investments, market context, protection, and long term planning into a single, considered experience.
I led the redesign of the existing app end to end, rethinking it around how affluent clients and their relationship managers actually work. The intent was to make a sophisticated financial product feel clear and effortless to move through, without thinning out the depth these users rely on.
Onboarding
Onboarding was the slowest part of the experience. Bringing a client on board took three to four weeks, with relationship managers meeting high net worth clients in person to work through documentation that moved between a dashboard and the mobile app before an account was finally approved.
I rebuilt the journey and compressed that to roughly a week and a half. The original interface carried a heavy, legacy corporate feel, so alongside the structural work I gave it a calmer, more considered visual language and a few deliberate interactions that make progress feel tangible.
Regulation meant the flow had to adapt to where a client is based, so I designed three routes from a shared foundation: a SingPass path for Singapore citizens, a separate path for Dubai, and a third for clients holding multiple residencies. It opens on a splash screen, with the screens that follow showing how each stage comes together.
The onboarding flow, from the promise of Keenai into personalised portfolio context.The redesigned first-run sequence, from first contact to a usable account in days.Each stage made clearer, so the value of the product is legible early.
Home and stock experience
I partnered with another designer on the home and stock surfaces, treating them as one continuous path from portfolio to individual security. The home screen holds the portfolio, market context, and holdings together, and net worth can be hidden with a single tap on the eye when a client is sharing their screen.
The stock pages distil what a client actually checks before acting: fundamentals, ownership, projections, and financials. We worked through several visualisations for each to land on the most legible one. At the base of the screen, the current holdings card animates in the amount invested, motion that carries real information rather than decoration.
Mutual funds and hedge funds
Mutual funds and hedge funds were new to the platform, so both were designed from first principles.
The hedge fund conviction score is the clearest example of the intent. It could have shipped as a table lifted straight from a PDF, but that framing gets skimmed and forgotten, so I made the case to stakeholders for a more expressive, interactive treatment that holds attention while still surfacing the exact numbers people come for. Returns can be read across timeframes, for instance a one or three year calendar view, through a compact tree map.
Moving from a broad portfolio view into fund-level detail without losing context.Mutual fund performance, allocation, and risk with room to be read.Hedge fund detail introduced without flattening its complexity.
Order management flow
I designed the order management flow so a client can move from placing an order to confirming it without friction. It supports both market and limit orders, followed by a review screen that lays the details out clearly so they can be scanned in a moment.
The final step is a confirmation screen shown as the order is placed. Depending on the instrument, an order either settles immediately or on a T+1 basis.
The orderbook as an operational view: dense enough for the work, calm enough to scan.
Global search
Global search is the first version of a search layer for the entire app, which previously had none. It lets a client move quickly across the different asset classes they hold and filter results by country.
For a market like India, where both the NSE and BSE exist, they can toggle between exchanges and narrow the results down to exactly what they are looking for.
Search as a fast route across instruments, portfolios, and actions on mobile.
Option chain
The option chain was one of the harder surfaces to bring to mobile, since the data is dense by nature. I worked through the essentials that matter most, including the expiry cycle and the call and put sides of the chain.
We also learned that clients who trade options tend to have a clear preference, usually working on either the call or the put side rather than both at once. So I designed an interaction that lets you slide the table and lock it in place, keeping just the call or just the put side in view.
A dense market surface kept legible: strikes, expiries, and pricing organised for fast decisions.Scanning the chain and moving into a position on mobile.
FCNs
Fixed coupon notes carry some of the highest transaction volumes on our platform, so this work was focused there. FCNs are a genuinely complex asset class, with several states a note can move through, including when it closes, when it matures, when it reaches key points in its timeline, and how it is performing along the way.
Part of the challenge was making all of that legible, so I designed visualisations for things like the worst performing components. The screens here also include the range of edge cases we worked through.
Terms, scenarios, payoff, and risk kept legible for review.Payoff, limits, and the action remain visible in one reviewable flow.
Strategy Builder
Strategy Builder is part of the Pulse work, where clients and firms create and save multiple strategies for their portfolios. Strategies are structured like a tree, so a growth strategy might contain a hybrid strategy and a flexi cap strategy beneath it.
The design challenge was giving that structure a clear form, so the builder makes it easy to construct nested strategies and lets the information flow naturally as they are put together.
Inputs, trade-offs, and the resulting strategy kept in relationship.Build from individual trades or begin with a strategy that is ready to tune.
Login and 2FA authentication
I redesigned login and two-factor authentication as part of the product experience rather than a separate security interruption. Verification, recovery, and error states are kept calm and explicit so trust begins before the main workspace loads.
A quieter authentication surface designed to feel deliberate and trustworthy.
Pulse revamp
Pulse is the B2B side of the platform, used by relationship managers and their high net worth clients to track performance across the many accounts a single client can hold. Over the years it had settled into a dense, legacy structure, and the upgrade was the moment to bring it in line with the rest of the product.
These are explorations from that redesign: stream map style visualisations, a rethink of how the rows and columns are organised, and a clearer aesthetic for the surface as a whole. The intent was a new information architecture and visual direction that let the experience breathe, without giving up any of the depth these users depend on.
Pulse brings market context and the next decision into the same view.An instrument seen in the context of the wider portfolio.The active revamp work across Portfolio Map, Transactions, Vault, and Intelligence Center.
The new information architecture and visual direction in motion.Walking through the redesigned Pulse experience.
When code came back
I studied computer science, but working in design gradually pulled me away from writing code every day. When AI entered the picture, that part of my brain switched back on. I began making prototypes, trying WebGL experiments, and rebuilding the frontend instincts I had left unused.
My engineering background helped me understand what the models were doing, but the interesting part was not the code alone. It was seeing how design judgment and machine speed could work together.
The learning space in motion, from the course surface to the tools around it.
Learning in public
I kept experimenting and posting the work on X. People began asking how I made the prototypes, how the WebGL pieces worked, which tools I used, and what my process looked like from idea to build.
The questions turned into DMs, calls, and small sessions where I helped other designers recreate the workflow. I had already built plugins for design QA and had enough frontend context to explain what was happening beyond the prompt box.
Then 350 people raised their hands
Shashi and I started by running workshops. Designers and product people joined from Microsoft, Google, Delhivery, Newton School, Amber, Smallcase, Pocket FM, and other teams. When we opened a wider registration form, more than 350 people said they were interested.
That was the signal. Designers were not short on curiosity. They were short on a structured way to keep up with a field that seemed to change every week.
An early public invitation to learn the workflow together.Turning a fast-moving practice into something people could hold, discuss, and learn together.
Learning in public turned questions into workshops. Those workshops turned curiosity into a signal.More than 350 designers raised their hands. That signal became AI Design Engineering.
From a workshop to a learning space
The gap was not another list of tools. Designers needed a path through models, tokens, frontend concepts, APIs, MCPs, and the messy loops that turn an attractive prototype into something that actually ships.
Building the course also became a challenge for me. I wanted to explain the fundamentals clearly enough that someone without an engineering background could go from zero to one. Teaching forced me to study more carefully, test every claim, and understand the basics by heart.
Follow the sparkRefine with tasteTurn skill into value
The course made tool choice legible without turning the curriculum into a list of product names.
My first rodeo in front of a camera
I had never taught a full course on camera before. The early recordings took many attempts. I was learning how to explain a concept, watch my pacing, keep the example useful, and still sound like myself.
Workshops gave me confidence, and repetition did the rest. By the end of the course, speaking to the camera no longer felt like a performance. It felt like another design problem: understand the person on the other side, remove friction, and make the next step obvious.
REC · take 37A real lesson recording, from the first rodeo to a repeatable teaching practice.
Six modules, built with Shashi
Shashi and I shaped the material into six connected modules. Each one closes the distance between understanding the technology and using it with intent.
Understand the shift.Build a practical mental model of AI, models, tokens, context, frontend, backend, and APIs.
Choose the right tools.Learn where prototyping tools help, where they stop, and how MCP, CLI, and reusable skills fit together.
Build for the web.Move from a Figma frame to a working interface and learn the iteration loop around it.
Ship a mobile app.Build with React Native, connect real services, debug the rough edges, and put the result on a phone.
Ship a native Mac app.Work with SwiftUI, interactions, sound, and packaging to make something people can install.
Work in production.Use Git, branches, PRs, and team context so the work can move beyond a personal experiment.
We did not want the learning to stop when someone finished the modules. So we started building a job dashboard for designers ready to move into design engineering, along with a living newsletter and resource feed that can keep pace with the field.
The jobs view collects relevant roles in one place. The daily feed brings together AI design engineering articles, designers worth following, useful posts from their work, and free resources people can try immediately.
designengineer.pro / desk updating
Design EngineerRemote · Product teamNew
Product Designer, AIBengaluru · Hybrid2d
Design Systems EngineerGlobal · Remote4d
Five design engineers to followPeople · Today↗
What changed in AI design this weekReading list · 6 min↗
Free tools, MCPs, and useful experimentsResources · Updated daily↗
A living map of opportunities for designers moving closer to code.
What building it changed
The project began with me helping a few people understand my workflow. It became a learning space for designers who want to keep pace with AI without giving up the taste, care, and product judgment that made them designers in the first place.
It also changed me. I became a clearer teacher, a more confident speaker, and a more deliberate builder. The best proof of learning was no longer a prototype I could post. It was watching someone else understand the idea and ship something of their own.
Native utility experiments
I built Tofu to learn how a real Mac app comes together.
The experiment began with two things I understood personally. I wanted to build my first native Mac app, and I had started spending far too many uninterrupted hours in front of a screen.
The MacBook notch felt like useful space hiding in plain sight. Tofu turned it into a small assistant that could help me look after myself, present with more confidence, and reach common controls without leaving the work in front of me.
The goal was never to make another dashboard. It was to keep a few high-value utilities exactly where my eyes already were, present when needed and quiet the rest of the time.
Wellbeing reminders
Custom hydration, stretch, and screen-break nudges that appear gently inside the notch.
Invisible teleprompter
A script placed close to the camera for steadier eye contact during calls, lessons, and recordings.
Quick context
Upcoming calendar events and music controls without interrupting the task already in progress.
A tiny companion
An animated character that reacts to reminders and gives the utility a little warmth and personality.
Tofu in motion: wellbeing reminders, the teleprompter, calendar context, music controls, and the companion living in the MacBook notch.
iOS app
A running app for friends.
I am working on a running app where my friends and I can track our runs together.
AI vibe-coded websites
Two websites, each built around a problem worth solving.
Both began as practical ideas that needed to be tested quickly. AI helped me move from an early thought to a working product, then keep refining the experience around what people actually needed.
I built the website and the learning experience around it almost entirely with AI. What began as a course grew into a fuller space with its own dashboard, job-hunting portal, lesson descriptions, interactions, animations, and the small details that make learning feel considered.
The landing page was vibe-coded in a day because we wanted to go live, test the idea, and learn from a real response. It became a strong signal that designers were actively looking for a place to upskill and move closer to code.
I used Claude Code with Opus 4.8 to think through early directions, then lighter Opus passes for the detailed pixel pushing. Gemini helped with image generation, motion studies, and styling. AI also helped transcribe the course videos and turn them into useful timestamps. I explored AI-generated voice in a few places too, but eventually removed it when it did not improve the experience.
Payments, access, and the first backend decisions
Making the course real meant solving the less visible parts of the product too. We first considered Razorpay for checkout, then chose Lemon Squeezy when it became clear that the course needed to support international payments.
Authentication pushed me into the backend as well. Credentials and protected course data could not live in frontend code, so I learned enough of the server-side flow to keep access secure and make the experience personal to each learner. It was one of the moments when the project stopped feeling like a landing page and started behaving like a product.
A global jobs map and a taste-driven weekly feed
For the job portal, I aggregated publicly available design engineering roles from across the web and mapped them geographically, giving designers a quick view of where this kind of work was emerging around the world.
The editorial feed needed judgment, not just more links. I created a context.md that documented the designers, writing, resources, and posts that had shaped our taste. A weekly automated process gathers new material and ranks it against that context, turning a loose stream of updates into a more considered newsletter about design engineering and AI.
The learning space in motion, from the public story to the course dashboard and the experience around it.
Screenshots.club began while the branding and graphic design team at Keenai was working on ASO screens for the App Store. They asked if there was something like Mobbin for ASO references. A few options existed, but the problem felt common enough for startups that I wanted to make a more focused version.
I built a searchable collection of ASO screens from iOS and Android, then organised them so teams could browse patterns instead of starting every round of research from scratch.
The project is still live, has grown past 10,000 users, and was even featured by a few generous writers in Chinese blogs. Supabase powers the backend, while the rest of the product is deployed on Vercel.
Screenshots.club: a searchable library built to make App Store research faster and far less fragmented.
Framer templates
Three websites where motion and interaction did most of the talking.
These were not large product systems. They were focused Framer builds where I could explore pacing, transitions, hover states, and the small interaction details that make a website feel alive.
The portfolio you are looking at now began as my first published Framer template. More than 50 designers purchased it and adapted the same structure for their own work, including designers connected to Google, UCLA, Berkeley, the University of British Columbia, Sprinto, Publicis Sapient, and Amazon.
What travelled was not just the layout. The template gave people a starting system for presenting work with considered transitions, clear project navigation, and enough flexibility to still make the site feel like their own.
The original portfolio template and its motion system, now adapted by more than 50 designers.
OxyGreen was a lighter, more expressive Framer template built around movement. Scroll transitions, hover responses, and animated sections carried most of its personality, turning a straightforward website into something that felt more playful and tactile.
OxyGreen’s motion-led landing page, captured from the published Framer build.
MetaForms was vibe-coded and then shaped further in Framer. The work was primarily about creating a sharper landing-page story and giving it enough motion to feel confident without distracting from the product.
The landing page became an important part of how MetaForms presented itself during a period in which the company raised significant funding. It was a useful reminder that even a focused website can do meaningful business work when the story, interaction, and timing come together.
Visualization
Interfaces as living worlds.
These experiments explored what happens when an interface becomes a place rather than a flat sequence of screens. They were built to test atmosphere, spatial navigation, motion, and the feeling of discovering information instead of simply opening it.
A companion on the desktop
A small AI companion study explored how a character-led interface could live alongside the work instead of pulling attention into another dashboard.
A desktop companion experiment built around presence, personality, and small responsive moments.
Empire as an explorable system
Empire is still a work in progress. Game development had started pulling at my curiosity, so I began rebuilding my portfolio as an Age of Empires-inspired world using Next.js and Python. Instead of another sequence of pages, I wanted the portfolio to feel like a place you could move through.
You can explore the world, choose a character, and try a few small interactions as the ecosystem takes shape. I am still building on top of it, but it already offers a glimpse into how I have been thinking about interfaces as explorable systems.
Want to experience it? Use the toggle in the top-right corner to enter the Empire ecosystem.
This is one part of a broader visualization practice. I am also experimenting with charts, 3D libraries, and other ways of turning complex information into something people can explore. I will document those experiments later.
The isometric world in motion, designed to reward exploration without losing orientation.A closer look at the regional layer and the information carried inside the world.
Start with the shape of the problem
Before Foundry came into the picture, my process began away from the model. I would first ask whether I was solving an optimization problem or a zero-to-one problem. The answer changed what kind of exploration the work needed.
I would think through a few directions, sketch them on paper, and build my own point of view before prompting anything. That gave me something concrete to test rather than asking a model to invent the direction for me.
The problem starts with a point of view. The model joins after there is something concrete to challenge.
Use the model as a critic
Once the problem and my early thinking were clear, I would give the same problem statement to a model. I compared its directions with mine, looked for assumptions I had missed, and kept the parts that made the solution stronger.
The model became a second perspective in the room. It helped me challenge the work, but the product judgment still came from understanding the people, the constraints, and what the team was actually trying to change.
Move the decision into code
I then used Claude Code or Codex to build the prototype. I made multiple versions, reviewed them with the product team, and used those conversations to decide which direction deserved a more polished build.
Once leadership gave the direction a positive signal, I refined the interaction and prepared the code for engineering review. A frontend engineer could read through it, flag anything that needed to change, and decide whether it was ready to merge. By February and March, I was raising PRs again instead of stopping at a handoff.
Two plugins that removed repeat work
DQA plugin
The DQA plugin reads a working website and compares it with the source design through Figma MCP. It checks where the implementation has drifted, surfaces visual mismatches, and gives designers and developers a clearer signal of whether the build quality is ready or still needs attention.
Instead of handing engineering a long subjective list, the team gets a shared quality check with specific differences to review and fix.
Pocket FM file-maintenance plugin
The second plugin solved a quieter but constant source of friction. When someone starts a new Pocket FM design file, running the plugin creates the expected structure directly in the file, including the thumbnail, notes, component areas, and the other foundations the team uses.
It turns a repeated setup ritual into one action, so the file begins organised and the designer can spend time on the actual problem.
One clear choice at the beginning of a new file.The notes, context, and component structure the plugin helps standardise.