hello!! i’m aimen a design engineer building at the intersection of creativity, storytelling & tech studying cs + creative writing @ stanford

work & projects

Amazon · Summer 2026

Software Development Engineer Intern

An agentic dashboard that audits the appointment-matching service against downstream shipment signals, replacing manual data joins and log analysis and reducing investigations from roughly one hour to under one minute.

TimelineJune to September 2026
Tools and servicesAWS: S3, Athena, Redshift, DynamoDB, Glue. Java and SQL over streaming and large-scale datasets. Agentic workflows via the Model Context Protocol.

The problem

The appointment-matching service is an automated decision system. When a match conflicted with the shipment signals recorded after it, the teams responsible had to reconstruct why the system produced that outcome.

Each audit required manual joins across several disjoint datasets, followed by log analysis to trace the decision. A single investigation took roughly an hour, and its conclusion was only as reliable as the manual correlation behind it.

Approach

I built an agentic audit dashboard that resolves this decision lineage programmatically. It automates those joins, pairing each matching decision with the shipment signals that followed it, and returns a deterministic, evidence-backed explanation rather than an inference. An investigation that previously required manual joins and log analysis now completes as a single query in under one minute.

Key decisions and rationale

A transport-agnostic core with thin adapters. Query, reasoning and serialisation logic reside in a single core, with lightweight adapters for each access surface. Every surface therefore returns identical results, and a correction made once applies everywhere.

Tiered access enforced at the code boundary. The core exposes a backend-selectable read path over a shared dataset, with access partitioned into tiers. Enforcing those tiers in code rather than by convention isolates privileged reads and unbounded scan costs from general traffic.

A closed reasoning loop with deterministic verdicts. The tool assembles evidence, commits to a verdict, reconciles that verdict against observed downstream state, and incorporates each discrepancy into the next evaluation. Because teams act on its output, every explanation is traceable to the records that support it.

Impact

Investigation time fell from roughly one hour to under one minute per case, and each result is reproducible from its underlying records.

Reflection

Designing for consumers outside my own team shifted the primary engineering constraints from correctness alone to contract stability, observability and graceful degradation when an upstream dataset is incomplete. A tool that passes its tests and a tool another team depends on carry very different burdens of proof.

Amazon · Summer 2025

Software Development Engineer Intern

A full-stack diagnostics feature for Amazon Vendor Central that gives more than 10,000 vendors real-time visibility into purchase order eligibility, reducing redundant support tickets by 76 percent.

TimelineJune to September 2025
Tools and servicesJava, React and TypeScript. AWS: Lambda, DynamoDB, API Gateway.

The problem

When a purchase order was marked ineligible, the reason was recoverable only internally. Vendors had no way to diagnose the issue themselves. Every question became a support ticket, and every ticket required an engineer to trace system state manually.

The vendor's need was not a faster support response. It was an answer available at the moment the question arose.

Approach

I designed and shipped a full-stack diagnostics feature for Vendor Central that surfaces each ineligibility determination at its source, in real time, to more than 10,000 vendors worldwide. Moving that information to the vendor converted a human-mediated support path into self-service.

Key decisions and rationale

Explainable states instead of generic failures. The typed React front end renders each ineligibility reason as a discrete, explainable state. Vendors can understand and act on the specific cause rather than receiving a generic error.

Data access modelled on the interface. The system is event-driven and serverless end to end: a Java service layer behind a managed API gateway, on-demand compute, and a key-value store. Its access patterns were designed around the read shapes the interface required, rather than the structure of the upstream data.

Zero-downtime release. The feature was deployed against live vendor traffic without service interruption.

Impact

Redundant support tickets decreased by 76 percent.

Reflection

The most effective support improvement was to remove the need for support. Surfacing each determination at its source resolved vendors' questions before they became tickets.

Nudgi · Behaviour Design and Mobile Application

Design Engineer

A messaging application in which a friend can send a gentle nudge on an unanswered conversation, designed to make replying the easiest next step rather than a source of guilt.

TimelineWinter 2026
MethodsDiary study, pre- and post-study interviews, affinity mapping, journey mapping, assumption mapping, usability testing
ToolsFigma, FigJam
Final Nudgi screens covering onboarding, avatar selection, contacts and notification setup
The final onboarding flow: account creation, avatar selection, contact discovery and notification preferences.

Overview

Nudgi addresses a pervasive but rarely examined behaviour: the avoidance of social micro-responsibilities, such as replying to a personal message, under conditions of cognitive overload. A reply typically takes less than a minute, yet people routinely defer these messages for days. Each unanswered conversation then becomes a persistent source of mental load and guilt.

We designed and built Nudgi to reduce that burden. A friend can send a light nudge on a pending conversation, and the application schedules self-nudges for the times a person is most likely to respond. The project progressed from a three-part diary study, through assumption testing, to a working mobile application, with usability testing at every stage of fidelity.

The problem

The project began with one question: why does a task that takes under a minute become one that people avoid for days? Existing research on task initiation, including the five-minute rule and the cost of context switching, explains the delay itself. Our focus was its psychological cost. Under cognitive overload, small social obligations accumulate into a continuous mental load, and the guilt grows the longer a reply is owed.

This reframed the objective. The product did not need to make people reply faster. It needed to make replying feel lighter.

Competitive map plotting reminder apps by task context and nudge frequency
Nine reminder and productivity tools, plotted by task context (personal to professional) and nudge frequency. Most cluster around professional work.

The competitive review placed nine tools, from Habitica and Todoist to Notion and Jira, by task context and nudge frequency. Most target professional work, leaving personal communication comparatively underserved. Nudgi was positioned in that space, with nudges sent by friends rather than generated by a system.

Research approach

We conducted a three-part study: a pre-study interview, a five-day diary study in which participants logged the social micro-responsibilities they postponed, and a post-study interview. Participants were recruited through a screener survey.

A diary study was chosen over interviews alone because these tasks are frequent, brief and dependent on context. Such tasks are difficult to recall accurately after the fact. Logging each instance as it occurred captured the circumstances of a delay rather than a later reconstruction of it.

Key insights

Awareness alone changed behaviour. Several participants reported that keeping the diary made them more responsive before any intervention was introduced, and several realised the tasks were easier to complete than they had assumed. This suggested that a product could succeed by making pending replies visible, without applying pressure.

The strongest opportunities occurred at transition points. Journey mapping showed that participants were most receptive when they had finished one task and were deciding whether to begin another. This defined when a nudge should arrive, not only what it should say.

Responding felt like work. Participants described pending replies as obligations that weighed on their minds, particularly during periods of fatigue or stress. Many also reported guilt about the consequences of not responding.

Responsiveness depended on context. Whether a participant replied varied with the time of day, their schedule, the perceived intensity of the task, and whether the sender was a friend or a professional contact.

Affinity clusters built from diary study and interview data
Journey map of user tasks, details and features held for later
Affinity clusters synthesised from diary and interview data (left), and a journey map used to locate the point of intervention (right).

Testing the assumptions

Before committing to features, we mapped every assumption the concept depended on by importance and by strength of supporting evidence. We then tested those that were both important and unsupported.

The most consequential assumption was whether a nudge from a friend would be received as care or as pressure. The answer determined the tone of the entire product. Three related assumptions were prioritised for testing: that people want to become more responsive to friends, that they are willing to nudge friends and hold them accountable, and that attachment to a friend's avatar is strong enough to prompt a reply.

Assumption map plotting importance against available evidence
Assumptions plotted by importance against available evidence. Those that were important but unsupported were tested before they became features.

Design decisions and rationale

The resulting scope was deliberately narrow, and each feature responds to a specific research finding.

One-tap nudges within a conversation. A nudge is sent with a single action from inside the thread. Nudging a friend should never require more effort than the reply it encourages.

Self-nudges timed to likely response windows. Automatic nudges are scheduled for the times of day a person is most likely to reply, applying the transition-point insight directly. Users set the frequency, timing and quiet hours for these nudges.

A prioritised inbox. Nudged conversations move to the top of the inbox, and messages stay marked unread until the user replies. A separate waiting view lists friends who have not yet replied, ordered by how long they have been waiting. Visibility, which the diary study showed to be effective on its own, does most of the work.

Snooze and dismissal on every nudge. A single swipe answers, snoozes or clears any nudge, and users can let go of a message to remove it permanently. The snooze is not a convenience feature. It is the mechanism that prevents the system from becoming a new source of the guilt it was designed to reduce.

Close friends. Users can mark their closest people as close friends, so that the conversations that matter most are always prioritised.

Nudging flow and onboarding flow diagrams
Low fidelity screens covering receiving a nudge, disliking, responding and snoozing
Nudging and onboarding flows (left), followed by low-fidelity screens for each outcome of a nudge: received, answered, snoozed and dismissed (right).

Visual identity

Because the product reminds people of an obligation, its visual language carried much of the responsibility for feeling supportive rather than supervisory. The brand pairs Jua for display type with Nunito for interface text, and uses a soft palette of blue, butter yellow and blush pink on a cream ground in place of conventional alert colours. The style tile defined the intended tone as cheerful, supportive and positive.

Users select a penguin avatar during onboarding and customise its costume and background colour. This establishes a small sense of ownership before the application asks anything of the user.

Moodboard of soft palettes and character illustration
Nudgi style tile with colour, typography, buttons and icons
Moodboard (left) and style tile (right). Colour, typography, components and iconography were defined before high-fidelity design began.

Testing and outcome

Each stage of the design, from low to medium to high fidelity, was evaluated through usability testing. The tone of the nudge copy was revised more often than any interface element. In a product built on social accountability, language proved to be a core part of the interaction design rather than a finishing layer.

The final application demonstrates the complete loop: a conversation goes unanswered, a nudge arrives, and replying becomes the simplest available action.

Reflection

Nudgi showed that behaviour change does not always require stronger incentives. The most effective lever in this project was visibility, delivered with enough care that it did not register as pressure.

Roots · Cross-Platform Mobile Application

UX Researcher and App Developer

A mobile application of guided lessons, conversation games and a shared scrapbook, through which immigrant parents learn culturally relevant communication skills and practise them with their children.

TimelineAutumn 2025
StackReact Native, Expo, Supabase, react-i18next
ResearchNine interviews, empathy mapping, low- and medium-fidelity testing
Roots learning screen showing Lesson 1, Understanding Conflict
Lesson detail screen offering reading, video and reflection
The learning path. Each lesson opens into a reading, a short video and a guided reflection.

Overview

Roots addresses intergenerational communication gaps in immigrant families, where parents and children often struggle to connect across cultural and generational distance. The application is built on the premise that this connection is a learnable skill rather than a fixed condition.

The application teaches a communication concept, provides a low-pressure activity through which parent and child practise it together, and preserves a record of the outcome. I served as UX researcher and app developer on the project.

Research

The team conducted nine interviews with parents, teenagers and a clinical expert. Participants were recruited deliberately across ages, cultural backgrounds and socioeconomic contexts, so that the findings would not reflect a single type of household.

Synthesis through empathy mapping revealed a consistent tension. Every participant wanted greater closeness, yet none had culturally specific tools for achieving it. Parents wanted to connect but did not know how to begin the conversation. Children wanted the same, and interpreted the resulting silence as disinterest.

This finding defined the product's purpose. The barrier was not motivation, which both generations already had, but the absence of a structured way to begin.

Affinity mapping session with clustered sticky notes
Interview transcripts organised into what participants said, did, thought and felt, then clustered to surface recurring patterns.

The pivot

The most consequential decision emerged from low-fidelity testing. The original concept treated parent and child as equal users of a single shared interface. Testing showed that their needs diverged significantly, and that the dual-user design weakened the product.

Parents engaged less readily when the experience also addressed their children. The shared interface also made vulnerable moments feel observed rather than safe.

The team therefore narrowed the design to a single primary user: the parent, who learns culturally relevant communication skills and then initiates practice with their child. This decision simplified every subsequent choice, from content to navigation, and turned a broad concept into a focused, usable product.

Trade-off. Narrowing to the parent removed the child's independent entry point into the application. The team accepted this because testing showed that the parent's willingness to engage was the condition on which the entire experience depended.

Low fidelity wireframes mapping the flow through onboarding, learning and games
Low-fidelity flows through onboarding, learning and games, used to test the structure before any interface was built.

Technical decisions and rationale

React Native with Expo. I built the prototype in React Native with Expo so that a single codebase could run on both iOS and Android without maintaining native projects. This kept development effort focused on the experience under test.

Supabase as the backend. Supabase provides authentication, translated game content and lightweight session metadata, without the overhead of operating a custom server.

Functional internationalisation. Translation is handled through react-i18next, which made a working language toggle possible rather than a simulated one. For families in which parents and children are often most comfortable in different languages, this was a core requirement rather than an enhancement.

Randomised content within a fixed structure. Game content is stored remotely and randomised at retrieval, so that repeat sessions differ, while the lesson sequence remains fixed. Families can return to the same lesson without the practice becoming repetitive.

A deliberately scoped prototype. The prototype implements one complete path, lesson to game to scrapbook, to validate the interaction model before investing in a full curriculum engine. An onboarding survey indicates how the application could adapt to each household's context. The project documentation states explicitly which behaviours are fully implemented and which remain curated. Deciding what to build in full and what to stage was a deliberate part of the engineering work.

Challenges screen, conversation starter game and a question card
Challenges unlock in sequence, and the conversation game presents question and action cards for parent and child to complete together.

Next steps

The natural extensions of the prototype are the two components it deliberately staged: a curriculum engine supporting a full sequence of lessons, and onboarding that adapts content to each household's context.

Reflection

Roots reinforced that the most valuable product decision is often a reduction in scope. Defining a single primary user resolved questions that no amount of interface refinement could have answered.

Dosti Project · Stanford Indo-Pak Dosti Forum · Brand Identity and Growth

Co-Founder, Design and Growth Lead

The visual identity, merchandise and audience growth strategy for a student-founded Track II diplomacy initiative that promotes people-to-people connection between India and Pakistan.

OrganisationDosti Project, a 501(c)(3) nonprofit born from the Stanford Indo-Pak Dosti Forum
TimelineNovember 2023 to present
ScopeVisual identity, wordmark, merchandise, social media strategy, conference collateral
Reach15,000+ followers. $150,000+ raised. Two student-initiated courses taught to more than ninety students
Dosti conference banner with the wordmark repeated inside a woven border

The brief

Dosti Project is a 501(c)(3) nonprofit I co-founded to advance Track II diplomacy between India and Pakistan: sustained, unofficial exchange among students, artists, founders and former officials, conducted outside formal government channels. For more than seventy-five years, citizens of the two countries have lived as neighbours with limited ability to visit one another. Borders are frequently closed, visas are often refused, and most people encounter the other country primarily through news coverage that emphasises conflict.

The brand therefore had to introduce not a product with a clear benefit, but a relationship its audience had been conditioned to distrust.

Strategy

One principle shaped every subsequent design decision: lead with similarity, not difference. The political relationship between the two countries is complex, but their cultures share a great deal. They share a common language written in different scripts, a cuisine known by different names, and traditions in music, humour and urban life.

The identity needed to feel familiar to audiences in Lahore and Delhi simultaneously, without reducing either culture to the other. I deliberately avoided a neutral or diplomatic tone. Neutrality communicates distance, and distance was the problem the brand existed to address.

The wordmark

I translated this strategy into a single wordmark. Dosti means friendship and belongs equally to Urdu and Hindi, so the logo was designed to be read in three ways at once. Latin letterforms carry the English word, while their construction draws on the sweep of Nastaliq and the connecting headline of Devanagari.

The mark is intentionally one form rather than three translations placed side by side. This reflects the movement's central argument: these traditions were never wholly separate.

Dosti wordmark in gold on cream
Dosti wordmark in cream on gold
Dosti wordmark in plum on gold
The wordmark across its colourways. Plum and gold are ceremonial colours shared across the subcontinent, familiar from wedding and festival print on both sides of the border and exclusive to neither.
Dosti mark set inside a repeating geometric border on plum
The mark within a woven border derived from textile geometry, applied across print and environmental formats.

Audience growth

Alongside the identity, I led audience growth, building the movement from no existing presence to more than 15,000 followers across both countries and the diaspora. The content strategy followed directly from the brand strategy: publish the overlap. Posts featured shared vocabulary, shared recipes, shared humour and side-by-side images of cities in both countries.

I excluded political content entirely. It consistently provoked division in comment sections, whereas content built on recognition was widely shared. The highest-performing posts were those in which users from Karachi and Mumbai tagged one another under the same image.

Dosti Project Instagram profile
@dostiproject on Instagram.

Merchandise

I extended the identity to products designed for everyday use. One tote presents an illustrated inventory of objects both countries claim as their own: karak chai in its glass, a kite, a lotus, a dhol, a decorated rickshaw, a cricket bat and a mango. Another is styled as a dictionary entry, defining dosti through shared cultural references such as chai, butter chicken, doctor bano ge ya engineer? and aur sunao?

Each piece was designed so that the wearer identifies with shared experience rather than nationality.

Printed Dosti tote bags photographed on a table
The finished tote bags.
Tote bag printed with chai, a kite, a lotus, a dhol and a rickshaw
Tote bag printed with a dictionary definition of dosti
Tote bag printed with hasso, jiyo, dosti karo, kia pata, kal ho naa ho
Tote bag printed with the wordmark repeated in four colourways
Maroon crewneck with the Dosti wordmark
Back of the crewneck with the hasso jiyo lyric and block-print sleeve detail
The extended range of totes and crewnecks. No item references a nation; each references a shared cultural experience.

Conference

The identity now supports the inaugural Stanford Indo-Pak Dosti Conference at the Hoover Institution. The conference convenes more than forty speakers across three continents, including former heads of government, founders, investors, filmmakers and artists, around people-led partnership. It sold more than 380 tickets and included a startup demo day with venture capital investors.

I extended the visual system across the conference website, the printed programme and the event environment.

The live conference website showing the speakers section
The live site at indopakdosti.org, showing the speakers section.

Directions not taken. I developed and set aside two earlier website directions. The first used plum as a full-bleed background, which read as formal and institutional, closer to a diplomatic summit than a grassroots movement. The second framed a light page with the border motif along both edges; it was warmer, but it drew attention to the ornament rather than the speakers. The published site retains the motif as an accent and gives visual priority to the people featured.

Unused website direction on a full plum background
Unused website direction, light page with motif borders down each side
Website directions not pursued: a full plum background (left) and a light page framed by motif borders (right).

Reflection

In a context shaped by distrust, the most persuasive design choice was restraint. Emphasising recognition over argument allowed the brand to reach audiences that political messaging would have lost.

explore my creative playground

coming soon

experiments, side projects and a cat sticker for every emotion. currently on the loom.

about

a cross-stitch is a grid of small x’s, counted and placed one at a time. a screen is a grid of small squares, switched on one at a time. the same instinct runs through both: decide what belongs in each cell, and an image appears. i grew up around phulkari, the counted-thread embroidery of Punjab, where every stitch is placed by counting the threads of the fabric itself. i later studied computer science, and it took me a long time to realise the two were the same craft.

that idea shapes what i build. i am a design engineer studying computer science and creative writing at Stanford, and i am drawn to work where the engineering is precise and the feeling is the purpose. i like interfaces that carry a story, and stories that need some engineering to be told well.

the thread running through all of it is storytelling, in whichever medium suits the story: illustration, film, writing, or code. what i am really chasing in each of them is human emotion, the small honest moments people usually keep to themselves. i build creative technology that makes room for that feeling rather than designing it away, and above all i want the things i make to feel as though a person made them.

away from the screen, i am a devoted chai drinker: doodh patti, brewed longer than it should be, ideally in good company. i skate, i make pottery, and i am happiest doing anything that leaves my hands messy. i am also, reliably, the friend with a cat sticker for every possible emotion, which is either a personality trait or a filing system. see the cat sticker collection →

aimen, rendered as a dithered bitmap portrait
one motif, two crafts. drag to cross the border between thread and pixel.