To the reader

Hi there. I’m Kyaw Phone Nu, Phone to most people.

I build the way a product manager works. I fall in love with the problem before the solution, I ship for outcomes over output, and I treat every project as a build, measure, learn loop.

This portfolio shows that thinking applied to five products I’ve built with AI. Each one gets the same parts: the problem, what I built, the outcome, and the tools. Where there’s a number, there’s a note saying where it came from.

Not every result is a win. My trading bot’s strategy lost money, and I’ve reported that as plainly as the parts that worked. Measuring it properly, quickly and at a tiny size, was the point.

I’m looking for both client-facing and research roles. If that’s you, the fastest way to reach me is email.

Phone

  1. Problem before solution.
  2. Outcomes over output.
  3. Build, measure, learn.

First2win

A 24/7 pump.fun trading bot, security-audited, hardened for real money and measured after fees.

(80%)1cost per trade, 0.0037 → 0.0007 SOL

Problem

I wanted to test an automated pump.fun strategy: buy brand-new coins right after the creator’s own purchase, then exit within a minute. I found an open-source bot for it on GitHub, but a new crypto bot that asks for your wallet key is a classic way to spread malware. I also had no way to see what it was doing, couldn’t run it 24/7, and didn’t want a bug to cost real money.

What I built

I security-audited the open-source FirstKiller bot (no malware), locked it to the reviewed version, then extended it:

  • Trade log: every buy and sell is recorded and replayed, so restarts lose nothing.
  • Practice / real-money switch: only works if a wallet key is on the server, and you type LIVE to confirm. Anything unclear falls back to practice.
  • Real-money safety: Jito confirmation of every trade, sells based on the wallet’s actual balance, retries with backoff, and recovery after restarts.
  • True results: profit and loss after fees, measured from the real transactions.
  • Private dashboard: works on phone and PC, reachable only through Tailscale.
  • Free 24/7 hosting: deployed on an Oracle Cloud Always Free server.
  • Live-trading fixes: when live buys kept failing, I simulated them on the network and found pump.fun had moved to Token-2022 coins and new v3 instructions. I rebuilt buying and selling from pump.fun’s official IDL, checked by simulating on live coins, and fixed an upstream bug that stopped held coins from ever selling.
  • Lower costs: token accounts now close on every sell so the rent comes back, plus a smaller Jito tip.

Outcome

A bot that trades 24/7 on a free cloud server, at a small test size, with a phone dashboard showing true after-fees results. Costs per trade fell about 80%, and it has 134 automated tests. The honest result is that the strategy lost money even before fees. Measuring that accurately within a day, at a tiny size, was exactly what the setup was for.2

Tools

  • Claude Code
  • Node.js
  • Solana web3.js
  • SPL Token (Token-2022)
  • Jito bundles
  • Helius RPC
  • Oracle Cloud
  • Tailscale
  • systemd
Results statement, First2win2
Practice mode77 trades+0.40 SOL
Real money, before fees1,056 trades(0.19) SOL
Real money, after fees, tips and rent8% win rate(0.96) SOL
Cost per tradefrom 0.0037 SOL0.0007 SOL

Evidence

Figure 1.1The private dashboard in real-money mode. Totals are measured from the wallet, after fees.

Alpha tracker

An agent on Elfa’s V3 API that finds under-the-radar crypto projects and explains every flag.

31 + 203proven traders and curated researchers watched

Problem

Small crypto projects tend to move first among a handful of proven traders and sharp researchers, well before the crowd notices. Catching that meant scrolling dozens of accounts all day, and most “alpha” feeds just amplify KOL noise. I wanted a short, explainable list of what’s actually worth a look each day, and a real use case to test-drive Elfa’s new V3 API.

What I built

An agent on Elfa’s V3 API that watches three groups: 31 proven traders, 20 curated researchers, and the wider crowd as a gauge of how crowded a coin already is. Every 15 minutes it collects new trader calls, new storylines and researcher posts, reading each post to confirm it actually names the project; hourly it reads mindshare, trending contracts, crowd positioning and market mood. A project becomes a candidate when 2 or more traders go long, a researcher writes about it, a new storyline starts outside the top 50, or its contract trends after a trader or researcher touched it. Each candidate is scored out of 100 across traders, researchers (Claude rates post depth), narrative, early-ness and trade setup, with penalties for KOL-driven hype, short-term scalps, traders exiting or price that already ran. High scores fire a Telegram alert with Useful / Noise / Mute buttons, the rest land in a morning digest, and /why <coin> explains any score.

Outcome

A daily “worth a look” list of up to 10 under-the-radar projects, each flag explained by who moved and why, plus a feedback loop (Useful / Noise ratings, a Sunday signal report, researcher approvals) that keeps tuning what counts. Read and notify only; it never trades.4

Tools

  • Claude AI
  • Python
  • Elfa V3 API
  • Telegram Bot API

Evidence

Figure 2.1The radar ranks every candidate and shows which signals moved it.
Figure 2.2The morning digest in Telegram, each score broken down.

Catering sales agent

An end-to-end agent that runs Manna’s catering sales, with one human checkpoint.

15 · 25leads contacted · invoiced, at capture

Problem

Manna’s catering had real demand, but every warm lead depended on me manually chasing outreach, inbox replies, menus, quotes and invoices between service, so interested customers slipped through the cracks. The need wasn’t sending more emails; it was making sure no genuine lead was ever dropped.

What I built

An end-to-end agent that runs the whole pipeline: generating leads, sending personalized outreach, monitoring Gmail, classifying replies, sending our menu from Drive, and extracting order details from messy client emails. It then pings my business partner Derrick on Telegram for one-tap approval before auto-generating an invoice. One human checkpoint where judgment matters; everything else automated. Stateful by design, so any lead’s full history is traceable by ID.

Outcome

Zero forgotten leads and hours of manual sales ops removed each week, with human approval kept exactly where it counts.6

Tools

  • Claude AI
  • Python
  • Gmail API
  • Google Drive API
  • Telegram Bot API
  • SQLite
  • python-dotenv

Evidence

Figure 3.1The pipeline dashboard. Every lead and its stage in one place; customer names redacted.

Financial news bot

Type a ticker in Telegram, get a grounded brief on the stock.

n/m7usage not measured

Problem

Getting a quick read on a stock meant hopping between price tickers, financials pages and news sites. A generic AI chatbot couldn’t help because it had no access to live data. I wanted to ask “what’s going on with this ticker?” in one place and get a grounded answer.

What I built

A Telegram bot where you type any ticker and it pulls live prices, financials and the latest news, then uses Claude AI to summarize it into a clean, brief valuation: what the numbers say, key events, and what analysts think.

Outcome

A grounded, one-message answer on any stock, and an early proof of the approach I reuse everywhere: AI wired into real data beats AI as a standalone chatbot.

Tools

  • Claude AI
  • Python
  • Yahoo Finance
  • Telegram

Evidence

Figure 4.1Typing a ticker and getting the brief back.
Figure 4.2Start: any ticker works.
Figure 4.3Price, valuation and financials.
Figure 4.4News, analyst view, bottom line.

Signal

A real-time news dashboard that scores the mood of each topic with Claude.

(15) · (85)8sentiment on two topics, same morning

Problem

Staying on top of the news meant clicking through Reuters, BBC, TechCrunch and a dozen other sites every day. It was slow, and it never gave me a quick read on how the overall mood was shifting. I wanted the sentiment of the world at a glance, not another pile of tabs.

What I built

Signal, a real-time dashboard that pulls live headlines across sources and uses Claude AI to analyse the mood of each topic, turning it into a clean, readable brief and a sentiment score.

Outcome

A single glance replaces a morning of tab-hopping, with sentiment scored per topic instead of guessed at.

Tools

  • Claude AI
  • Python
  • RSS feeds

Evidence

Figure 5.1Finance & Markets: a score, a summary, the headlines behind it.
Figure 5.2World News on the same morning: a very different score.

Notes to the figures

Where each number comes from. The trading figures are measured from real transactions; the rest describe how each system is built. Figures in brackets are reductions or losses.

On the losses

First2win’s strategy lost money even before fees. I did lose money overall, but hey, it’s the journey that counts, right? The setup did its job: an audited bot, true after-fee numbers, and an honest answer within a day, at a tiny size.

  1. First2win cost per trade fell from about 0.0037 to about 0.0007 SOL after token accounts were closed on every sell (so the rent comes back) and the Jito tip was lowered. All 4 buys after the change landed. Measured from the bot’s real transactions. Back

  2. Real-money result of (0.96) SOL after all fees, tips and token rent, measured from the wallet, across 1,056 trades at an 8% win rate (dashboard capture, figure 1.1). Before fees the strategy was already (0.19) SOL. Practice mode had shown +0.40 SOL over 77 trades. Back (1)Back (2)

  3. The 31 proven traders are Elfa’s top accounts by alphaScore whose calls beat BTC over 20 or more closed trades. The agent also follows 20 hand-picked researchers and reads the wider crowd only as a gauge of how crowded a coin already is. Back

  4. Candidates scoring 75 or more out of 100 fire a realtime Telegram alert, capped at 3 a day. Those scoring 40 or more go into an 08:30 SGT morning digest. The agent reads and notifies only; it never trades. Back

  5. Counts read from the pipeline dashboard at the time of capture (figure 3.1): 15 leads contacted, 1 menu sent, 0 waiting on Derrick’s approval, 2 invoiced. Back

  6. Every lead moves through one stateful pipeline and keeps its full history under one ID. Zero forgotten leads is the author’s own account. Customer names in figure 3.1 are redacted. Back

  7. Not measured. No usage figures were recorded for the news bot; the evidence is the working demo in figures 4.1 to 4.4. Back

  8. Scores as captured on the same morning (figures 5.1 and 5.2): Finance & Markets at (15), negative; World News at (85), very negative. Back