A selfie of myself on my first ultramarathon.

Fernando J. Soto

Software Engineer

Chicago, IL

B.S. in Computer Science & Mathematics

Dominican University—May 2022

Welcome to My Portfolio πŸ‘‹

Β‘Buenas! I'm Fernando Soto—a Full-Stack Software Engineer based in Chicago with a B.S. in Computer Science & Mathematics from Dominican University, rooted in my Mexican heritage.

Engineering

I build efficient, scalable solutions across C#, React, SQL, Python, and more—from web apps to automation tools, always focused on impactful results.

Endurance

Before 2024, I had zero athletic background. That year became something else entirely—a simple cycling century quickly spiraled into pushing limits I didn't know I had.

I tend to go further than planned. A century became 400 miles. An Everest became a ROAM. A first ultra-endurance race became a chase for 2nd place. In a world where finishing feels like enough, I keep asking what's next—and that's what I bring to engineering.

Accomplishments

Best More

In the short time I've been in the world of ultra-endurance, I've accomplished a lot. Below is a hand-picked selection of my proudest moments!

Dec 2025

Spartan Trifecta

spartan

A friend introduced me to Spartan races and offered to help me learn the obstacles. I signed up for the Trifecta—all three races in one weekend—before practicing a single one. He couldn't make it. I went anyway. Two days, three races, every obstacle cold. My feet had never experienced anything like it—but I finished. Five medals in one weekend. Five times my entire cycling collection. πŸ˜…

2 days
Beast Β· Super Β· Sprint
75
obstacles
21k + 10k + 5k
distances
1st trail
race ever
5 medals
one weekend
Jul 2025

Mishigami 2025

cycling race

My first ever race—and my first time seeing a real hill. Fought from the back of the pack all the way to 2nd place, on 2 hours of sleep, in a city that had never once prepared me for actual elevation.

1st Chicagoan
2025 finisher
2nd place
finishing position
<4 days
1st Chicagoan ever
~20 hrs
under prev. FKT
3x
distance PR
Oct 2024

After speedrunning the Strava run milestones, only one challenge remained: an ultramarathon. To mark it, I crafted a GPS run art route as a birthday tribute to a friend ahead of one of his toughest Spartan Races.

50+ km
ultra distance
GPS art
route design
Sep 2024

Marathon

running

Speed-ran Strava's cycling milestones, then tackled the two remaining: a marathon and an ultra. Not a runner—but proved it anyway.

26.2 mi
distance
Strava
milestone
Aug 2024

Everest ROAM

cycling

An Everest—but harder. More elevation, more distance, stricter time limit. Over 1,150 hill repeats on the same bridge I completed my first Everest!

Only Illinoisan
Everest ROAM finisher
10,000 m
elevation
400 km
distance
36 hrs
time limit
1,150+
hill repeats
Jul 2024

24-hr quad-state ride

cycling

Built up distance across the year: 100 β†’ 150 β†’ 200 β†’ 250 miles, then pushed to the self-supported upper limit. Crossed Michigan, Illinois, Indiana, and Wisconsin in 24 hours.

+150 mi
distance PR
24 hrs
duration
4 states
MI Β· IL Β· IN Β· WI
Jun 2024

Climbed the elevation equivalent of Mount Everest on a local Chicago hill (bridge πŸ˜…)—no sleep between attempts.

Chicago, IL
location
7x
elevation PR
8,848 m
elevation
0 hrs
sleep
Apr 2024

First American Century

cycling

After a bicycle accident that left me with a broken wrist, broken thumbs, and chipped teeth, I came back with one goal: 100 miles. Built up 30 β†’ 40 β†’ 60 mi, skipped 80, and ripped the bandaid.

100 mi
first century
30 mi
longest ride before
the start
of everything
O(2n)
Apr → Oct 2024—from fearing a century to speedrunning Strava milestones and immediately hunting the next challenge. That's not just exponential growth; that’s hunger.

What's Next

Learn to swim
Step one of a much bigger plan.
in progress
Ironman
3.8k swim Β· 180k bike Β· 42k run Β· one day.
2026
First real climb
Actual elevation. Not a bridge.
2026
Driftless Dagger
Claim the FKT.
FKT attempt

Skills

Languages
C# Python Java JavaScript TypeScript PHP
Web
HTML CSS ASP.NET Core React Flask FastAPI
Databases
SQL MongoDB Redis
Tools
Git Bash Docker
Automation
Cypress Selenium

Experience

Paylocity Chicago, IL (Remote)
Software Engineer Aug 2024 — Present
Current
3,000 req/s
API throughput
7.5x
perf improvement
8x
SQL query reduction
  • Optimized high-throughput API workflows through profiling, SQL tuning, and business-logic refactors, improving performance by 7.5x and reducing query volume by 8x while supporting 3,000 req/s.
  • Designed and enhanced bulk Time Entry and Pay Type APIs across versioned endpoints, supporting complex modifiers, duration-based workflows, and validation-heavy edge cases.
  • Identified a misconfiguration gap that would have broken millions of users before shipping—flagged the need to query affected users first, preventing a high-impact regression.
  • Resolved critical production and release-blocking issues including a cost center validation bug praised by management, audit trail gaps, payroll modifier logic, and logging failures—improving reliability for downstream consumers.
  • Improved API usability through error formatting improvements on bulk endpoints, stronger validation logic, refined error messaging, and expanded Swagger documentation—reducing support overhead from partner teams.
  • Increased platform reliability by migrating CI pipelines to dedicated build pools and completing .NET upgrades for internal services.
Associate Software Engineer Jul 2022 — Aug 2024
18%
users impacted (fix)
22.5%
user base covered
  • Built and expanded automated test coverage for a core product suite used by ~22.5% of the user base, improving regression confidence and release stability.
  • Migrated end-to-end testing from Selenium to Cypress (TypeScript), reducing test flakiness and accelerating test development velocity.
  • Established a unit test pattern for framework middleware, creating a repeatable standard adopted by the team and added to the definition of done for new and updated functionality.
  • Identified and resolved a browser-specific defect impacting 18% of users, restoring functionality for international customers.
  • Created the TimeEntriesV2 OPTIONS endpoint and documented all restriction codes in Swagger, making a complex endpoint significantly easier to consume and reducing code review overhead.
  • Proposed and drove adoption of a repeatable API documentation pattern—a filter table clarifying field definitions and operations—standardizing how the team documents endpoints.
Software Engineer Intern May 2021 — Aug 2021
15%
page load improvement
2 bugs
resolved
  • Implemented application tracking using Google Analytics to enable data-driven insights into user behavior and feature usage.
  • Diagnosed and resolved two critical performance-related bugs, improving page load times by 15%.
  • Collaborated with senior engineers to analyze stored procedure usage and support a broader database deprecation and modernization effort.

Projects

Ultra Cycling Planner
TypeScript React FastAPI Python Docker

A fully offline React/TypeScript planning tool and Dockerized FastAPI service for modeling multi-day ultra-endurance cycling strategies—GPX analysis, terrain metrics, pacing, and map rendering all run in-browser with no backend required. Built to plan Mishigami 2025, where I finished 2nd place as the first Illinoisan to finish sub-four days.

  • Engineered a GPX processing pipeline that decimates tracks of 100k+ points to a configurable render resolution, then dynamically re-samples at higher fidelity on zoom—avoiding aliasing artifacts at high magnification while keeping the DOM lean enough to handle full-course data without a backend.
  • Computed per-split terrain metrics (elevation gain/loss, average grade, steep distance %) directly from raw GPS coordinates—data used in real race planning that contributed to a 2nd-place finish at the Mishigami Challenge, the first sub-four-day finish by an Illinoisan.
  • Built a fully offline-capable app with full form state persisted to localStorage and raw GPX binary to IndexedDB, keyed by filename. Cross-session hydration merges saved states with current defaults rather than rejecting them, keeping the app forward-compatible as features evolve.
  • Designed the pacing engine as a standalone, independently testable package with its own DTOs and models—then wrapped it in a FastAPI service with a single POST endpoint, making the same logic available as both an in-browser port and a server-side fallback selectable via ?engine=api.
  • Integrated OpenStreetMap's Overpass and Nominatim APIs—no key required—to query nearby amenities and resolve GPS coordinates to city labels, feeding a configurable Auto-Name system that batch-generates human-readable segment names from templates like {start} → {end}. Requests are debounced to respect rate limits without any server intermediary.
  • Built a React context signal pattern using a { segIdx, splitIdx, rev } object with a monotonic rev field to drive cross-component navigation—guaranteeing re-fire even when the target index is unchanged—powering “Go to split” map pin interactions, auto-paging pagination, and scroll-to-expand form behavior from a single state shape.
Personal Lending Tracker
SQL C# RESTful API React

A full-stack financial system that evolved from a database-driven tool into an API-first architecture with a modern web client, built for real-world daily use.

  • Engineered a full-stack application, transitioning from a Windows Forms client to a decoupled React frontend backed by a RESTful API.
  • Designed a normalized SQL database with stored procedures and triggers to enforce data integrity and automate financial transaction workflows.
  • Developed a RESTful API in C# using service layer and DAO patterns, enabling scalable and maintainable business logic.
  • Implemented a responsive React UI with pagination, validation, and error handling to improve usability and accessibility.
  • Continuously iterate on the system through real-world usage, shaping features around practical lending scenarios and financial tracking needs.
Item Stock Checker
Python Tkinter Web Scraping

Built during the GPU shortage to track Best Buy inventory and automate purchase readiness, navigating real-world bot detection and high-demand stock drops.

  • Developed a Python Tkinter application to monitor item stock in near real-time with a lightweight, configurable desktop interface.
  • Implemented web scraping logic resilient to bot-detection mechanisms, enabling reliable tracking during high-traffic drops.
  • Designed a flexible polling system with configurable intervals and launch modes for continuous or targeted monitoring.
  • Integrated notification systems ranging from audio alerts to push notifications to enable rapid response to stock availability.
  • Successfully used the tool to secure a GPU during a live Best Buy drop, validating real-world effectiveness under constrained conditions.
↑