Golf
Golf has been the constant thread running through my life since I first picked up a club as a kid in the Bay Area. What started as weekend rounds with my dad quickly turned into something more serious: early mornings at the range, junior tournaments across California, and eventually a competitive trajectory that would shape how I approach everything else.
By high school, golf had become both my proving ground and my classroom. Captaining the varsity team at De La Salle, earning AJGA Rolex Scholastic All-American honors, and being named the 2021 Male Junior Olympian of the Year taught me lessons no textbook could: how to perform under pressure, how to stay patient when nothing is going right, and how to find the next marginal gain when you are already near your ceiling.
When it came time to choose a college, I wanted a place where I could compete at the highest level in both golf and academics. Dartmouth was that place. As a member of the NCAA Division I varsity golf team, I have had the chance to compete against the best collegiate players in the country, leading the team at the Alister Mackenzie Invitational at Cal Berkeley and winning the individual title at the Cornell vs. Dartmouth Stroke Play Match. The discipline that four-hour practice sessions and 36-hole tournament days demand is the same discipline that fuels late-night coding sessions and research deadlines. Golf taught me how to compete; Dartmouth taught me what to compete for.

Gallery














































































































































Achievements
2024
Alister Mackenzie Invitational: Team Leader
Led the Dartmouth team at the prestigious Alister Mackenzie Invitational hosted at Cal Berkeley.
2024
Cornell vs. Dartmouth Stroke Play: Individual Winner
Won the individual title in the Cornell vs. Dartmouth stroke play match.

2022
AJGA Rolex Scholastic All-American
Recognized by the American Junior Golf Association for excellence in both academics and competitive golf.
2021
2021 Male Junior Olympian of the Year
Named the top male Junior Olympian golfer of the year.
2021 – 2022
Captain, Varsity Golf: De La Salle High School
Led the varsity golf program at De La Salle High School in Concord, California.
Junior Tournament Results
107 tournaments from 2016–2021 across the US and internationally.
2021 Results(9 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 6/7–10/21 | AJGA Tucson Junior | Tucson CC, Tucson, AZ | 6,983 | 72 | 72.9/128 | 73 - 71 - 69 | T13 of 48 |
| 5/29/21 | JGANC Junior World Qualifier | Haggin Oaks GC (Mackenzie), Sacramento, CA | 6,921 | 71 | 72.7/126 | 70 | T6 of 80 |
| 4/10–11/21 | JGAA Bryce Molder Ping Junior Masters Invitational | McDowell Mountain, Scottsdale, AZ | 6,959 | 72 | 71.4/134 | 68 - 68 | 1 of 45 |
| 3/20–21/21 | JGANC Corica Park Junior Championship | Corica Park (South), Alameda, CA | 6,874 | 72 | 73.2/129 | 72 - 69 | 2 of 44 |
| 3/7/21 | Notah Begay III San Jose Qualifier | Coyote Creek GC (Valley), Morgan Hill, CA | 6,558 | 72 | 71.9/130 | 72 | 1 of 28 |
| 2/20–21/21 | Amateurgolf.com Pacific Grove City Championship | Pacific Grove Golf Links, Pacific Grove, CA | 5,727 | 70 | 67.9/113 | 78 - 67 | T7 of 35 |
| 2/13–14/21 | JGAA Fisher-Bryan Invitational - Ping Jr Masters | Longbow GC, Mesa, AZ | 6,994 | 71 | 72.9/134 | 75 - 72 | T11 of 46 |
| 1/9–10/21 | Amateurgolf.com Silicon Valley Amateur at Baylands Golf Links | Baylands Golf Links, Palo Alto, CA | 6,670 | 72 | 72.2/125 | 74 - 71 | T21 of 54 |
| 1/2–3/21 | HJGT Phoenix Winter Open | Arizona Biltmore GC (Adobe), Phoenix, AZ | 6,446 | 71 | 70.4/124 | 69 - 64 | 1 of 20 |
2020 Results(17 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 12/19–20/20 | Amateurgolf.com Winter Invitational at Corica Park | Corica Park (South), Alameda, CA | 6,874 | 72 | 73.0/128 | 78 - 76 | T41 of 61 |
| 10/2–4/20 | AJGA Se Ri Pak Desert Junior | Mission Hills CC (Dinah Shore), Rancho Mirage, CA | 7,109 | 72 | 74.7/141 | 75 - 76 | T32 of 41 |
| 9/25–27/20 | AJGA Longbow GC Open | Longbow GC, Mesa, AZ | 7,027 | 71 | 72.8/134 | 72 - 70 | T10 of 51 |
| 9/17/20 | AJGA Ping Heather Farr Classic Qualifier | Longbow GC, Mesa, AZ | 7,027 | 71 | 72.8/134 | 72 | T11 of 51 |
| 9/3–6/20 | AJGA Junior at Longleaf | Longleaf Golf and Family Club, Pinehurst, NC | 6,684 | 72 | 72.4/132 | 74 - 78 - 73 | T23 of 51 |
| 8/30/20 | US Kids Sandhills Tour | Longleaf Golf and Family Club, Pinehurst, NC | 6,540 | 72 | 71.0/126 | 66 | 1 of 23 |
| 7/28–30/20 | AJGA Junior at Knollwood presented by Yoder Oil | Knollwood CC, South Bend, IN | 6,577 | 71 | 72.1/127 | 74 - 73 - 69 | T9 of 51 |
| 7/23–25/20 | US Kids Teen World Championship 2020 | Pinehurst No. 4 / No. 2, Pinehurst, NC | 6,810 / 6,943 | 72 | 72.8/128, 73.7/134 | 75 - 73 - 82 | T26 of 114 |
| 7/13–14/20 | 91st NCGA Junior Championship | Lake Merced GC, Daly City, CA | 6,689 | 72 | 72.4/131 | 79 - 70 - 68 | 1 of 51 |
| 7/10–11/20 | 40th NCGA Amateur Stroke Play Championship | Poppy Hills GC, Pebble Beach, CA | 7,002 | 71 | 73.1/140 | 73 - 79 | MC |
| 7/8–9/20 | JGANC Peggy Dodds Sacramento Jr Championship | Haggin Oaks GC (Mackenzie), Sacramento, CA | 6,561 | 72 | 70.9/123 | 72 - 69 | 5 of 66 |
| 6/28–7/1/20 | AJGA GreatLIFE Junior Challenge by Sanford Health | Willow Run GC, Sioux Falls, SD | 6,519 | 70 | 72.2/132 | 77 - 79 - 78 | T48 of 51 |
| 6/22–24/20 | 2020 Sizzler Amateur | Troon North, Scottsdale, AZ | 7,039 | 72 | 72.9/145 | 69 - 72 - 71 | T15 of 90 |
| 6/19/20 | NCGA Junior Championship Qualifier (Qualified) | Baylands Golf Links, Palo Alto, CA | 6,680 | 72 | 72.4/129 | 72 | 6 of 40 |
| 6/16/20 | Haggin Oaks Junior Championship | Haggin Oaks GC (Arcade), Sacramento, CA | 6,708 | 72 | 71.8/118 | 74 | 7 of 18 |
| 6/6/20 | NCGA Stroke Play Championship Qualifier (Qualified) | Monarch Bay Golf Club, San Leandro, CA | 6,909 | 71 | 73.8/130 | 77 | T13 of 75 |
| 1/11–13/20 | Amateurgolf.com Silicon Valley Amateur at Coyote Creek GC | Coyote Creek GC, Morgan Hill, CA | 7,066 / 7,027 | 72 | 74.4/135, 74.8/143 | 73 - 72 | T15 of 70 |
2019 Results(15 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 12/21–22/19 | Amateurgolf.com Winter Invitational at Corica Park GC | Corica Park (South), Alameda, CA | 6,874 | 72 | 73.0/128 | 71 - 74 | T7 of 65 |
| 11/9–10/19 | FCWT Junior Golf Classic at Coyote Creek | Coyote Creek GC, Morgan Hill, CA | 6,846 | 72 | 74.2/131 | 77 - 72 | T11 of 54 |
| 10/27/19 | JGANC Tournament of Champions | Quail Lodge Resort and Golf Club, Carmel, CA | 6,304 | 71 | 71.4/128 | 73 | 3 of 32 |
| 10/19–20/19 | JTNC Fall Series IX | Poppy Ridge Golf Course, Livermore, CA | 6,719 | 72 | 72.7/133 | 76 - 74 | T17 of 49 |
| 8/12/19 | Silicon Valley Junior Classic | San Jose Country Club, San Jose, CA | 6,204 | 70 | 70.5/127 | 69 | 1 of 16 |
| 8/5–8/19 | AJGA Imperial Headwear Junior Classic | Dupont Country Club, Wilmington, DE | 7,001 | 71 | 73.9/138 | 77 - 72 - 73 | T23 of 60 |
| 7/25–27/19 | US Kids World Teen Championship 2019 | Pinehurst No. 4 / No. 2, Pinehurst, NC | 6,810 / 6,943 | 72 | 72.8/128, 73.7/134 | 77 - 74 - 79 | T13 of 143 |
| 7/15/19 | 2019 US Amateur Qualifying | Castlewood Country Club, Pleasanton, CA | 6,657 | 72 | 73.1/132 | 73 - 77 | T31 of 72 |
| 7/9–10/19 | AJGA Junior at San Jose | San Jose Country Club, San Jose, CA | 6,215 | 70 | 70.5/127 | 72 - 76 - 70 | T17 of 48 |
| 7/1–2/19 | JGANC/NCGA Nor-Cal Players Championship | Quail Lodge Resort and Golf Club, Carmel, CA | 6,444 | 72 | 71.4/128 | 75 - 78 | T7 of 26 |
| 6/17/19 | 2019 US Junior Amateur Qualifying | Yolo Fliers Golf Club, Woodland, CA | 6,742 | 72 | 72.2/123 | 74 | T23 of 77 |
| 6/1/19 | JGANC Qualifying for Junior World #2 | Haggin Oaks GC (Alister Mackenzie), Sacramento, CA | 6,921 | 71 | 72.7/126 | 70 | T4 of 73 |
| 5/13/19 | 2019 NCS Division I Golf Championship | Monarch Bay Golf Club, San Leandro, CA | 6,061 | 71 | 69.1/118 | 74 | T11 of 144 |
| 5/6/19 | 2019 NCS Division 2 Golf Championship | Peacock Gap Golf Club, San Rafael, CA | 6,261 | 71 | 70.4/126 | 75 | T9 of 89 |
| 3/21/19 | 2019 Bay Links Challenge | Metropolitan Golf Links, Oakland, CA | 6,069 | 72 | 69.8/122 | 71 | 1 of 23 |
2018 Results(14 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 8/21–23/18 | AJGA Junior All-Star at Butte Creek | Butte Creek Country Club, Chico, CA | 6,698 | 72 | 71.9/129 | 83 - 76 - 72 | T26 of 47 |
| 7/26–28/18 | US Kids Teen World Championship | Pinehurst No. 8 / No. 2, Pinehurst, NC | 6,916 / 6,943 | 72 | 73.4/135, 73.7/133 | 71 - 77 - 72 | T3 of 151 |
| 7/23/18 | USGA Amateur Qualifier | Castlewood Country Club, Pleasanton, CA | 6,657 | 72 | 73.1/132 | 72 - 75 | T29 of 76 |
| 7/16–17/18 | East Bay Junior Golf Championship | Corica Park (South), Alameda, CA | 6,874 | 72 | 71.6/119 | 80 - 82 | T27 of 63 |
| 7/10–12/18 | AJGA Junior All-Star at Hunter Ranch | Hunter Ranch Golf Course, Paso Robles, CA | 6,653 | 72 | 71.7/135 | 77 - 81 - 74 | 33 of 43 |
| 7/5–6/18 | JGANC Stroke Play Championship | Poppy Ridge Golf Course, Livermore, CA | 6,613 | 72 | 72.8/136 | 77 - 75 | 4 of 37 |
| 6/18/18 | USGA Jr. Amateur Qualifier | Yolo Fliers Club, Woodland, CA | 6,742 | 72 | 72.2/123 | 77 | T38 of 74 |
| 4/21–22/18 | AJGA Preview at River Ridge | River Ridge Golf Club (Victoria Lakes), Oxnard, CA | 6,586 | 72 | 71.6/128 | 73 - 73 | T5 of 51 |
| 4/14–15/18 | Las Vegas World Series Championship (JWQ) | Primm Valley Golf Club (Desert), Primm, NV | 6,540 | 72 | 71.1/128 | 74 - 71 | T9 of 49 |
| 3/4/18 | US Kids Bay Area Tour | Santa Clara Golf and Tennis Club, Santa Clara, CA | 6,015 | 72 | 69.8/115 | 75 | T3 of 22 |
| 2/25/18 | US Kids Bay Area Tour | Lake Chabot GC, Oakland, CA | 6,006 | 72 | 69.4/123 | 66 | 1 of 23 |
| 2/17–18/18 | US Kids Desert Shootout Invitational | Wigwam Resort (Gold), Litchfield Park, AZ | 6,215 | 72 | 70.0/125 | 71 - 77 | 4 of 33 |
| 2/11–12/18 | FCWT Junior Golf Tour | Silverado Resort (South and North), Napa, CA | 6,246 / 6,347 | 72 | 70.6/127, 70.2/128 | 73 - 73 | 1 of 6 |
| 1/27–28/18 | FCWT Junior Golf Tour | Half Moon Bay GL (The Old Course), Half Moon Bay, CA | 6,399 | 72 | 72.3/131 | 71 - 74 | 1 of 6 |
2017 Results(24 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 12/17/17 | US Kids Bay Area Tour Championship | Monarch Bay Golf Club, San Leandro, CA | 6,024 | 72 | 69.1/118 | 75 | 1 of 22 |
| 12/3/17 | US Kids Bay Area Tour | Franklin Canyon Golf Club, Hercules, CA | 6,074 | 72 | 69.6/127 | 73 | 2 of 26 |
| 11/18–19/17 | HJGT | Haggin Oaks (Mackenzie), Sacramento, CA | 6,621 | 72 | 70.9/123 | 80 - 73 | 5 of 11 |
| 11/4–5/17 | US Kids Regional Monterey Challenge | Del Monte Golf Course, Monterey, CA | 6,151 | 72 | 71.6/125 | 77 - 75 | 6 of 41 |
| 10/29/17 | US Kids Local Tour Event | Poppy Ridge Golf Course (Merlot and Zinfandel), Livermore, CA | 6,007 | 72 | 70.7/127 | 73 | 1 of 21 |
| 10/14–15/17 | JTNC Fall Series IV Championship Flite | Poppy Ridge Golf Course (Merlot and Zinfandel), Livermore, CA | 6,719 | 72 | 72.7/133 | 82 - 78 | T45 of 68 |
| 10/1/17 | US Kids Reno Tour | Gray's Crossing, Truckee, CA | 6,158 | 72 | 71.3/135 | 74 | 1 of 11 |
| 8/26/17 | JGANC CA State Fair | Mather Golf Course, Mather, CA | 6,767 | 72 | 72.2/121 | 77 | T4 of 21 |
| 8/10/17 | JGANC San Leandro City Championship | Monarch Bay Golf Club, San Leandro, CA | 6,061 | 71 | 68.6/115 | 76 | T5 of 23 |
| 7/27–29/17 | US Kids Teen World Championship | Pinehurst No. 9, Pinehurst, NC | 6,492 | 72 | 70.9/130 | 77 - 72 - 73 | 8 of 136 |
| 7/17–18/17 | East Bay Junior Golf Championship | Chuck Corica GC (Earl Fry), Alameda, CA | 6,339 | 71 | 70.4/121 | 72 - 74 | 2 of 26 |
| 7/5/17 | Diablo Valley Junior Championship | Boundary Oak Golf Course, Walnut Creek, CA | 6,739 | 72 | 72.7/126 | 75 | T1 of 10 |
| 6/28/17 | The Olympic Club Junior Member Qualifier | The Olympic Club (Ocean), San Francisco, CA | 6,390 | 71 | 71.5/131 | 77 | 1 of 14 |
| 6/19–20/17 | California State Invitational | The Reserve at Spanos Park | 6,202 | 72 | 70.2/128 | 71 - 74 | 1 of 24 |
| 6/12/17 | USGA Jr. Amateur Qualifier | Yolo Fliers Club | 6,742 | 72 | 72.9/125 | 73 | T10 of 74 |
| 5/30–6/1/17 | US Kids European Junior Championship | Luffness New GC, East Lothian, Scotland | 6,049 | 72 | 69.0/118 | 71 - 78 - 79 | T12 of 37 |
| 5/6/17 | JGANC IMG Qualifier | Haggin Oaks GC (Arcade Creek), Sacramento, CA | 6,495 | 72 | 70.4/116 | 71 | 3 of 47 |
| 4/30/17 | 1st Tee Tri-Pleasanton Junior Open | Pleasanton Golf Center, Pleasanton, CA | 3,362 | 60 | 58.0/84 | 61 | T1 of 15 |
| 4/22–23/17 | JTNC Spring Series IV | Franklin Canyon Golf Club, Hercules, CA | 6,140 | 72 | 74.9/132 | 75 - 76 | 2 of 24 |
| 4/15–16/17 | World Series Event - FCG Las Vegas | Primm Valley Golf Club (Desert), Primm, NV | 6,540 | 72 | 71.7/128 | 74 - 71 | T8 of 36 |
| 3/25–26/17 | FCWT Junior Golf Tour | The Bridges, San Ramon, CA | 6,182 | 72 | 71.9/142 | 87 - 71 | 3 of 3 |
| 3/18–19/17 | Junior Tour of Northern California | Stockton GCC & Elkhorn GC, Stockton, CA | 6,123 / 6,097 | 71 | 69.8/123, 70.1/126 | 77 - 78 | 2 of 41 |
| 3/5/17 | US Kids Bay Area Tour | Chuck Corica GC (Earl Fry), Alameda, CA | 5,963 | 72 | 68.8/117 | 75 | 1 of 17 |
| 2/18–19/17 | US Kids Desert Shootout Invitational | Wigwam Resort (Gold), Litchfield Park, AZ | 6,215 | 72 | 70.0/125 | 83 - 76 | 9 of 28 |
2016 Results(28 tournaments)
| Date | Tournament | Course | Yds | Par | Rating/Slope | Score | Finish |
|---|---|---|---|---|---|---|---|
| 12/19/16 | US Kids Bay Area Tour Championship | Crow Canyon Country Club, San Ramon, CA | 5,731 | 72 | 68.0/124 | 76 | 1 of 11 |
| 11/28/16 | JGANC Sally Pini Memorial Junior Invitational | Pasatiempo Golf Club, Santa Cruz, CA | 6,125 | 72 | 70.8/135 | 82 | 4 of 10 |
| 11/5–6/16 | US Kids Monterey Challenge Invitational | Del Monte Golf Course, Monterey, CA | 6,193 | 72 | 71.6/130 | 83 - 78 | 12 of 31 |
| 10/23/16 | US Kids Bay Area Tour | Diablo Creek Golf Course, Concord, CA | 6,017 | 72 | 69.0/115 | 75 | 1 of 29 |
| 10/8–9/16 | Junior Tour of Northern California | Rancho Murieta GC, Rancho Murieta, CA | 6,299 / 6,335 | 72 | 70.3/129, 70.8/132 | 72 - 80 | 3 of 22 |
| 9/18/16 | JGANC All Stars Invitational | Santa Teresa Golf Course, San Jose, CA | 6,430 | 72 | 70.9/125 | 73 | 2 of 12 |
| 8/27/16 | JGANC California State Junior | Mather Golf Course, Mather, CA | 6,406 | 72 | 70.6/117 | 73 | T3 of 24 |
| 8/10/16 | JGANC John Ike Iaconis Memorial | Buchanan Fields GC, Concord, CA | 3,822 | 62 | 59.2/93 | 62 | 3 of 16 |
| 7/28–30/16 | US Kids Teen World Championship | Pinehurst No. 8, Pinehurst, NC | 6,190 | 72 | 70.2/130 | 86 - 81 - 77 | T31 of 104 |
| 7/24/16 | US Kids Bay Area Tour | Roddy Ranch Golf Course, Antioch, CA | 6,043 | 72 | 70.4/131 | 76 | 3 of 12 |
| 7/18–19/16 | JGANC 80th East Bay Junior Golf Championship | Chuck Corica GC (Earl Fry), Alameda, CA | 5,708 | 72 | 70.4/121 | 75 - 82 | 7 of 27 |
| 7/12/16 | US Kids Bay Area Tour | Blackhawk Country Club (Falls), Danville, CA | 6,018 | 72 | 68.6/120 | 78 | 1 of 18 |
| 7/6/16 | JGANC Diablo Valley Junior Championship | Boundary Oak Golf Course, Walnut Creek, CA | 6,372 | 72 | 71.0/126 | 76 | 2 of 17 |
| 7/5/16 | US Kids Bay Area Tour | TPC Stonebrae, Hayward, CA | 5,803 | 72 | 69.8/126 | 73 | 1 of 13 |
| 6/27/16 | JGANC Ruby Hill Junior Championship | Ruby Hill CC, Livermore, CA | 6,541 | 72 | 72.4/130 | 82 | 5 of 15 |
| 6/15–16/16 | Junior Tour of Northern California | Poppy Ridge Golf Course, Livermore, CA | 5,830 | 72 | 70.2/128 | 76 - 74 | 2 of 32 |
| 5/31–6/2/16 | US Kids European Junior Championship | Luffness New GC, East Lothian, Scotland | 5,967 | 72 | 69.2/128 | 81 - 77 - 81 | T19 of 57 |
| 5/22/16 | US Kids Bay Area Tour | San Ramon GC, San Ramon, CA | 6,043 | 72 | 70.1/119 | 79 | 3 of 23 |
| 5/13/16 | JGANC Junior World Qualifier | Haggin Oaks GC (Mackenzie), Sacramento, CA | 6,495 | 72 | 70.9/123 | 76 | 11 of 40 |
| 5/1/16 | US Kids Bay Area Tour | Diablo Creek GC, Concord, CA | 6,017 | 72 | 69.0/115 | 77 | 1 of 19 |
| 4/24/16 | The First Tee Tri-Valley Pleasanton JR Open | The Pleasanton Golf Center, Pleasanton, CA | 3,021 | 60 | 58.0/85 | 63 | 3 of 15 |
| 3/24/16 | JGANC Joe Brophy - Bill Loudon JR Classic | Blue Rock Springs (East), Vallejo, CA | 5,776 | 72 | 68.4/121 | 80 | 1 of 9 |
| 3/20/16 | US Kids Bay Area Tour | Half Moon Bay GL (The Old Course), Half Moon Bay, CA | 5,692 | 72 | 71.6/126 | 81 | 2 of 15 |
| 2/28/16 | US Kids Bay Area Tour | San Ramon GC, San Ramon, CA | 5,611 | 72 | 70.1/119 | 73 | 1 of 19 |
| 2/21/16 | US Kids Bay Area Tour | Lake Chabot GC, Oakland, CA | 5,601 | 72 | 67.4/116 | 81 | 3 of 16 |
| 2/13–14/16 | US Kids Desert Shootout Invitational | Wigwam Resort (Gold), Litchfield Park, AZ | 5,850 | 72 | 73.7/128 | 82 - 83 | 10 of 29 |
| 1/31/16 | US Kids Bay Area Tour | Tilden Park GC, Berkeley, CA | 5,632 | 72 | 68.3/120 | 76 | 1 of 14 |
| 1/10/16 | US Kids Bay Area Tour | Diablo Creek GC, Concord, CA | 5,648 | 72 | 67.7/113 | 79 | T2 of 18 |