Inspiration
I’m a rising senior at Duke University with a strong interest in AI and how it can change the way software is designed and built.
At the beginning of the summer, I became obsessed with the auction house in Forza Horizon 6. I spent hours studying prices, bidding on rare cars, and reselling them to work toward vehicles that would otherwise be difficult to afford.
The auction house felt like a game within the game. Success depended on timing, scarcity, competition, and recognizing an opportunity before another player did.
Then an infinite-money exploit disrupted the economy. Prices became inflated, auctions stopped making sense, and some cars sold for more through player bidding than they cost in the regular store. Although the exploit was eventually fixed, the market took much longer to recover.
That experience gave me the idea for Snipe.
Instead of treating an auction house as a secondary feature, I wanted to make it the entire game. I also wanted to move beyond cars and create a marketplace where players could collect and trade a fantasy portfolio of luxury assets, including vehicles, homes, yachts, aircraft, and other high-value items.
Snipe began with a simple question:
What if the auction house were the whole game?
What it does
Snipe is a full-stack online luxury-auction game.
Players enter a constantly changing marketplace of limited-time auctions. They can search and filter listings, evaluate prices, place bids, use instant buyouts, and compete to acquire valuable assets before time expires.
Winning an asset is only the beginning. Players can build a portfolio, track its total value, compare their progress on the leaderboard, or relist assets and attempt to sell them for a profit.
The central progression loop is:
Find an opportunity. Win the asset. Build wealth. Trade up.
Snipe includes:
- Limited-time auctions across multiple luxury asset categories
- Competitive bidding and instant buyouts
- A credit wallet and transaction ledger
- Player portfolios with total-value tracking
- A leaderboard based on accumulated wealth
- A selling flow for relisting owned assets
- Daily rewards and reward streaks
- In-app notifications for bids and auction outcomes
- Transaction history for purchases, sales, losses, and rewards
- Automated sellers and rotating inventory
- Administrative and moderation tools for users and listings
Together, these systems make Snipe feel less like a static catalog and more like a small, active marketplace.
How I built it
I built Snipe with Next.js, React, TypeScript, Tailwind CSS, Prisma, SQLite, and Vitest.
I used Codex throughout the development process for product exploration, frontend implementation, backend auction logic, database modeling, debugging, testing, runtime improvements, and visual polish.
My development loop was:
- Describe a feature, bug, or gameplay problem.
- Break it into smaller engineering tasks with Codex.
- Use Codex to implement or investigate those tasks.
- Run the application and test the result myself.
- Identify what felt incomplete, confusing, or technically incorrect.
- Refine the requirements and repeat the process.
For larger tasks, I learned to give Codex detailed instructions, clear constraints, and specific outcomes that I could verify afterward. This allowed me to assign longer-running work while I was at my summer lab internship or away from my computer.
I still reviewed the code, tested the behavior, and decided whether each feature belonged in the product.
Codex made me faster, but it did not choose the game for me. I made the decisions about the core loop, economy, visual direction, user experience, and which features were worth developing.
Challenges I ran into
The first challenge was not technical. It was finding a project I cared enough about to continue building after a full day of lab work.
Before Snipe, I used Codex to create many small prototypes, including a two-dimensional racing game, a typing game, and a custom arcade-style flying game. Each experiment taught me something, but none made me want to return to it the next day.
Snipe was different.
Once the first auction loop worked, I found myself playing instead of merely testing. I wanted to win better assets, improve my portfolio, and see what the marketplace could become. That was how I knew I had found the project worth finishing.
The largest engineering challenge was keeping all the connected auction systems coherent.
A single bid can affect:
- The current auction price
- The highest bidder
- Player wallets
- Transaction records
- Notifications
- Auction settlement
- Final asset ownership
A feature that appears simple in the interface can require coordinated changes across the frontend, backend, and database.
Building these flows taught me to think beyond whether a button worked. I had to consider what every action meant for each player and every connected record in the system.
I also had to learn how to evaluate AI-generated code rather than accepting it automatically. When Codex produced an implementation, I still needed to test edge cases, inspect the logic, correct misunderstandings, and make sure the result matched the intended player experience.
Accomplishments that I’m proud of
I’m proud that Snipe became a coherent full-stack product rather than remaining one of the many prototypes I started.
It includes authentication, persistent users and wallets, a working auction marketplace, bidding and settlement logic, portfolios, selling, rewards, transaction tracking, leaderboards, notifications, automated inventory, and moderation tools.
These systems are connected around one central gameplay experience rather than existing as unrelated technical demonstrations.
I’m also proud that I built Snipe while completing a summer lab internship and learning several unfamiliar technologies.
As a Duke student interested in AI, I wanted to understand what it actually means to build alongside an AI coding agent. Codex gave me the ability to attempt a project whose scope I previously would have considered too large for one student to complete during a summer.
I also shared the game with friends and family throughout development. Their feedback helped me see the difference between a feature being technically complete and being clear or enjoyable.
I observed which assets caught their attention, where they hesitated, what information they expected before bidding, and which mechanics made them want to keep playing. Their feedback influenced the portfolio experience, marketplace navigation, rewards, notifications, and overall presentation of the game.
What I learned
The biggest lesson was not simply that AI can write code quickly.
It was that AI can reduce the cost of experimentation.
Without Codex, testing many different game ideas would have required too much setup and implementation work. I might have selected one concept early and continued building it simply because I had already invested time in it.
With Codex, I could build enough of each idea to discover whether it was actually interesting.
Most of those prototypes were discarded, but they were not wasted. They helped me develop the judgment to recognize the project worth finishing.
I also learned that effective AI-assisted development requires more than writing a prompt. I had to define the problem clearly, provide relevant context, establish constraints, review the output, test the implementation, and revise my instructions when the result missed the goal.
Codex accelerated the engineering, but its larger impact was giving me room to explore more possibilities before committing to one.
What’s next for Snipe
I would like to continue developing Snipe into a deeper player-driven marketplace.
Future directions could include:
- More asset categories and rarity systems
- Longer-term price histories and market analytics
- Player-to-player competition and social features
- Special events and limited asset drops
- More advanced automated buyers and sellers
- Additional economic balancing and anti-exploit systems
- Multiplayer infrastructure for a larger live economy
I am especially interested in exploring how virtual economies react to player behavior. Players will always search for advantages, discover unexpected strategies, and test the boundaries of a system. That makes an auction game not only a technical project, but also an experiment in incentives, competition, and market design.
Snipe began with a broken auction house in another game. It became my attempt to build the experience I wished existed: a game where the marketplace is not a side feature, but the entire world.

Log in or sign up for Devpost to join the conversation.