# Personal Showcase

## Profile
profile.card
Hello, I'm Sofia Xu.
I explore the intersection of **technology**,** psychology**, and **strategy**. I’m fascinated by how people **make life and business decisions** — and I build data and AI products that make those choices clearer.
![profileImage](https://d6yvfl55smr7u.cloudfront.net/assets/zxejrx42-1770661277782-fgsqv4s7-1770565451422-generated-image.png)
| Icon | URL |
| --- | --- |
| :icon-twitter: | # |
| :icon-linkedin: | https://www.linkedin.com/in/fanbo-sofia-xu/ |
| :icon-mail: | # |

## Interests Map
mind_map.exe
A visual exploration of my core interests. Drag the nodes to reorganize the connections.
| Label |
| --- |
| Decision Making |
| Technology |
| Artificial Intelligence |
| Psychology |
| Economics |
Interactive Mode

## Portfolio
projects_folder
| Title | Date | Icon |
| --- | --- | --- |
| French Flash | 2026 | :icon-zap: |
| SiteIQ | 2026 | :icon-map-pin-house: |
| Financial Data Products | 2025 | :icon-database: |
| Holdings Dashboard | 2025 | :icon-chart-no-axes-combined: |
| Delineo D | 2022 | :icon-file-text: |
| More to come ... |  | :icon-ellipsis: |

## Case Studies
Portfolio_details.vxd
| ID | Title | Year | Summary | Detailed Content | Featured Image | Additional Image 1 | Additional Image 2 | Tags | Icon | Video Demo URL |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| french-flash | French Flash | 2026 | Native iOS lock screen widget for passive vocabulary building. | French Flash reimagines language learning by placing it where you look most: your lock screen. Built with SwiftUI and WidgetKit, it manages state across the app and widgets using SwiftData. The project was a deep dive into native iOS constraints and the efficacy of AI coding agents for complex mobile architectures. |  | ![image2](https://d6yvfl55smr7u.cloudfront.net/assets/qnn1pkjz-1770655033350-img-0347.png) | ![image3](https://d6yvfl55smr7u.cloudfront.net/assets/kgyxqo04-1770655046796-img-0344.png) | SwiftUI, WidgetKit, SwiftData, AI Experiment | :icon-zap: | https://youtube.com/shorts/X6XTifFAt3w |
| siteiq | SiteIQ [work in progress] | 2026 | AI-powered store selection and analysis tool. | SiteIQ leverages AI to analyze geographical data for store location planning. It provides instant feedback on site constraints, sun path analysis, and zoning compliance, significantly reducing the preliminary research phase for owners. | ![image](https://faces.site/placeholder.svg) | ![image2](https://faces.site/placeholder.svg) | ![image3](https://faces.site/placeholder.svg) | Computer Vision, Next.js, Architecture | :icon-map-pin-house: |  |
| financial-data-products | Financial Data Products | 2025 | High-performance data pipelines and visualization for finance. | A suite of data products designed for institutional financial analysis, solving crucial workflow challenges, including security identification and creation, trade execution, risk management and settlement. <br><br>For example, a data product that links BBG's product reference datasets  in one place, with real time updates, and joined with Joined with internal entity and product.  | ![image](https://d6yvfl55smr7u.cloudfront.net/assets/u6lx2lkm-1770659198470-screenshot-2026-02-09-at-12-46-19-pm.png) | ![image2](https://d6yvfl55smr7u.cloudfront.net/assets/2uq73vsp-1770659189391-screenshot-2026-02-09-at-12-45-40-pm.png) | ![image3](https://d6yvfl55smr7u.cloudfront.net/assets/cwdm1fq6-1770659195186-screenshot-2026-02-09-at-12-45-49-pm.png) | Legend, SQL, FinTech | :icon-database: |  |
| holdings-dashboard | Holdings Dashboard | 2025 | Real-time investment portfolio tracking and risk modeling. | The Holdings Dashboard provides a centralized view of multi-asset portfolios. It integrates with various data providers to offer real-time pricing and automated risk assessment based on historical volatility and market correlation.<br><br>Figma demo: <a href="https://global-pulse-46061839.figma.site">link</a> | ![image](https://d6yvfl55smr7u.cloudfront.net/assets/i0wpr4r5-1770659959129-screenshot-2026-02-09-at-12-58-48-pm.png) | ![image2](https://d6yvfl55smr7u.cloudfront.net/assets/yz4d296x-1770659967091-screenshot-2026-02-09-at-12-58-56-pm.png) | ![image3](https://d6yvfl55smr7u.cloudfront.net/assets/y69xdtf4-1770659986031-screenshot-2026-02-09-at-12-59-09-pm.png) | React, GraphQL, Risk Management | :icon-chart-no-axes-combined: |  |
| delineo-d | Delineo Disease Modeling | 2022 | Convenience Zone Generation &amp; Pre-Computation | Modeled disease spread using geographic clustering and community detection algorithms, enhancing the accuracy ofdisease spread predictions.<br><br>https://covidweb.isi.jhu.edu/ | ![image](https://d6yvfl55smr7u.cloudfront.net/assets/bhehwpbd-1770657200123-screenshot-2026-02-09-at-12-12-51-pm.png) | ![image2](https://d6yvfl55smr7u.cloudfront.net/assets/qenfx25v-1770657295475-fullstackaboutpagepic.png) | ![image3](https://d6yvfl55smr7u.cloudfront.net/assets/x8undj2h-1770657302480-algosaboutpagepic.png) | Modelling, Geodata | :icon-file-text: |  |

## Writings
Index
Document Reader
| Title | Date | Content |
| --- | --- | --- |
| I Built the Same iOS App and Widget with 6 AI Coding Agents. Here's What Actually Worked | Feb 2026 | <p>A comparative experiment: Claude Code, Cursor, Replit, V0, Lovable, and Codex building a native iOS lock screen widget<br><br>You check your phone 100+ times a day. What if each unlock taught you a French word? That’s the idea behind **French Flash**—a lock screen widget that turns passive scrolling into vocabulary building.</p><p>But here’s the twist: Instead of building it once, I built it **six times** with six different AI coding agents given the same time. Same PRD, same requirements, wildly different results.</p><p>**The verdict?** Only one actually delivered a working iOS app and widget. Two built beautiful web apps instead. One only have app working but not widget. And one couldn’t get isntalled.</p><p>Here’s what I learned about choosing the right AI coding agent for native mobile development.</p><p>**The Product: Learning French Through Lock Screen Friction**</p><p>**Concept:** A widget that displays French vocabulary every time you glance at your lock screen. Word, pronunciation, translation, example sentence—all visible without unlocking.</p><p>**Why this is a good test case:**</p><p>Requires **native iOS** (SwiftUI + WidgetKit)</p><p>Invovles **data persistence** (SwiftData)</p><p>Involves **widget interactions** (App Intents)</p><p>Tests **both UI polish and technical depth**</p><p>If an AI agent can build this, it can handle serious mobile development.<br><br>**The Results: 5 Agents, 5 Different Outcomes**<br><br>[... <a href="https://sofia794875.substack.com/p/i-built-the-same-app-with-6-ai-coding">full article </a>...] </p> |
| The Economics of Choice: Voter Turnout Gap | Dec 2022 | <p>United States citizens aged 18 years or older are eligible to vote in political elections. But will they? According to data obtained from Pew Research Center, only 55.7 percent of the U.S. voting-age population cast ballots in the 2016 presidential election. Certain demographics like young and low-income citizens, in particular, have very low voter turnout rates compared to the general public. Voters age 65 and older still turn out at a rate almost 30 percentage points higher than 18- to 24-year-olds. The turnout rate among those earning more than $100,000 to $150,000 per year remains 30 to 50 percentage points higher than the rate for those earning less than $20,000. There have been various policy efforts to reduce the voting gap including vote-by-mail and early voting.</p><p>In this paper, I will present two explanations of the gap in the voter turnout rate. The first and more standard view of the lack of participation in poor and uneducated is that there has been a lack of patriotism in them. The second view is rooted in economic analysis, which sees non-voters as rational actors. I also proposed an economic model to better illustrate how individuals make the decision to vote or not. Finally, I will assess whether the government incentives to boost voters turnout are effective in light of how different individuals make tradeoffs on voting.</p> |
| Bias in Algorithms | Aug 2020 | <p>Algorithms are everywhere: from social media feeds to loan approval systems. But what happens when these algorithms inherit our biases?</p><p>**The Problem**</p><p>Machine learning models are trained on historical data. When that data reflects societal biases, whether in hiring, lending, or criminal justice, the algorithms perpetuate and sometimes amplify those biases.</p><p>**Real-World Impact**</p><p>Studies have shown that facial recognition systems have higher error rates for people of color. Credit scoring algorithms have been found to discriminate against certain zip codes. Hiring algorithms have favored candidates based on patterns that correlate with gender or age.</p><p>**Moving Forward**</p><p>We need diverse teams building these systems, regular bias audits, and transparency about how algorithmic decisions are made. The goal is not perfect algorithms, but accountable ones that we can continuously improve.</p> |

## Podcast
voice_memo.app
Coming Soon: The Decision Lab
Recording In Progress