{"version":"https://jsonfeed.org/version/1.1","title":"Michael Onofre — Project case studies","home_page_url":"https://michaelonofre.com/projects","feed_url":"https://michaelonofre.com/feed.json","description":"Deep dives on the AI products, SaaS platforms, Chrome extensions, and open-source tools Michael Onofre has shipped.","icon":"https://michaelonofre.com/og.png","favicon":"https://michaelonofre.com/favicon.svg","language":"en-US","authors":[{"name":"Michael Onofre","url":"https://michaelonofre.com"}],"items":[{"id":"https://michaelonofre.com/projects/tradings-guru","url":"https://michaelonofre.com/projects/tradings-guru","external_url":"https://tradings.guru","title":"Tradings.Guru","summary":"36 AI-driven tools for market analysis, options flow, insider tracking, and signal generation. Next.js on Vercel with a custom tool-caching layer (stale-while-revalidate, Vercel KV, per-route TTLs) over Finnhub and FRED data feeds. AI-generated signals with entry/target/stop-loss tracked against real P&L. Tiered SaaS. Chrome extension funnel.","content_text":"36 AI-driven tools for market analysis, options flow, insider tracking, and signal generation. Next.js on Vercel with a custom tool-caching layer (stale-while-revalidate, Vercel KV, per-route TTLs) over Finnhub and FRED data feeds. AI-generated signals with entry/target/stop-loss tracked against real P&L. Tiered SaaS. Chrome extension funnel.\n\n\n\n36+ AI analysis tools spanning options flow, insider tracking, macro signals, and sentiment.\n\nCustom caching layer: stale-while-revalidate with Vercel KV and per-route TTLs tuned to each data feed.\n\nSignal generation with full entry / target / stop-loss tracking evaluated against realized P&L.\n\nStripe-powered tiered SaaS with a Chrome extension (VIX Monitor) acting as a top-of-funnel channel.","image":"https://michaelonofre.com/trading.guru.png","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Next.js","AI","SaaS","Stripe","Vercel KV","Live","AI-Powered Trading SaaS","Michael Onofre"],"_meta":{"status":"Live","accent":"cyan","accent_color_from":"#22d3ee","accent_color_to":"#3b82f6","role":"AI-Powered Trading SaaS"}},{"id":"https://michaelonofre.com/projects/visit-orlando","url":"https://michaelonofre.com/projects/visit-orlando","external_url":"https://visitorlando.city","title":"VisitOrlando.city","summary":"Orlando-focused tourism portal built to rank alongside the established convention-and-visitors-bureau sites. Theme parks, attractions, dining, beaches, events — all rendered SSR with aggressive structured data so the site fights for rich-result real estate on commercial queries. Monetized via Booking.com and GetYourGuide affiliate integrations. Part of a three-city network built on the same Next.js template; this was the first city to ship.","content_text":"Orlando-focused tourism portal built to rank alongside the established convention-and-visitors-bureau sites. Theme parks, attractions, dining, beaches, events — all rendered SSR with aggressive structured data so the site fights for rich-result real estate on commercial queries. Monetized via Booking.com and GetYourGuide affiliate integrations. Part of a three-city network built on the same Next.js template; this was the first city to ship.\n\n\n\nExact-match .city domain strategy targeting high-intent commercial search (\"theme parks in orlando,\" \"things to do orlando,\" etc.).\n\nNext.js SSR with aggressive structured data (LocalBusiness, TouristAttraction, Event, FAQPage) so listings compete for rich-result placement.\n\nMonetized via Booking.com and GetYourGuide affiliate integrations on every relevant listing.\n\nFirst city on a shared Next.js template that now powers three live sites — Orlando, Miami, Las Vegas — with more metros in the pipeline.\n\nSolo-built, AI-assisted with Claude Code for content generation, structured data, and site chrome.","image":"https://michaelonofre.com/visitorlandonew.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Next.js","SEO","Affiliate","Claude Code","Live","City Tourism Affiliate · Orlando","Michael Onofre"],"_meta":{"status":"Live","accent":"violet","accent_color_from":"#a78bfa","accent_color_to":"#c084fc","role":"City Tourism Affiliate · Orlando"}},{"id":"https://michaelonofre.com/projects/visit-miami","url":"https://michaelonofre.com/projects/visit-miami","external_url":"https://visitmiami.city","title":"VisitMiami.city","summary":"Miami edition of the tourism portal template — beaches, nightlife, Art Deco, cruise port, food. Shared template with VisitOrlando.city and VisitLasVegas.city, so the new-city launch cost collapses from months to days: swap the content, keep the structured data + affiliate wiring, push to a new .city domain.","content_text":"Miami edition of the tourism portal template — beaches, nightlife, Art Deco, cruise port, food. Shared template with VisitOrlando.city and VisitLasVegas.city, so the new-city launch cost collapses from months to days: swap the content, keep the structured data + affiliate wiring, push to a new .city domain.\n\n\n\nSecond city on the shared Next.js template — proved the launch-in-days-not-months thesis.\n\nSame SSR + structured data setup as Orlando; categories tuned to Miami-specific intent (beaches, nightlife, Art Deco, cruises, food).\n\nMonetized via the same Booking.com and GetYourGuide affiliate pipes.\n\nBuilt AI-assisted with Claude Code — content production, structured data, copy passes.\n\nShares the same exact-match .city domain strategy as the rest of the network.","image":"https://michaelonofre.com/visitimiaminew.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Next.js","SEO","Affiliate","Claude Code","Live","City Tourism Affiliate · Miami","Michael Onofre"],"_meta":{"status":"Live","accent":"cyan","accent_color_from":"#22d3ee","accent_color_to":"#3b82f6","role":"City Tourism Affiliate · Miami"}},{"id":"https://michaelonofre.com/projects/visit-las-vegas","url":"https://michaelonofre.com/projects/visit-las-vegas","external_url":"https://visitlasvegas.city","title":"VisitLasVegas.city","summary":"Vegas edition of the tourism portal template — casinos, shows, hotels, dining, pool clubs, off-Strip escapes. Third city on the shared Next.js template. Hero video above shows the actual site in motion since that conveys the polish better than a still can.","content_text":"Vegas edition of the tourism portal template — casinos, shows, hotels, dining, pool clubs, off-Strip escapes. Third city on the shared Next.js template. Hero video above shows the actual site in motion since that conveys the polish better than a still can.\n\n\n\nThird city on the shared Next.js template — repetition validated the playbook.\n\nCategory coverage tuned to Vegas intent: casinos, shows, hotels on and off the Strip, dining, day trips, pool clubs.\n\nSame SSR + structured data treatment as the other cities so the site competes for rich-result placement on commercial queries.\n\nMonetized via Booking.com and GetYourGuide on every relevant listing.\n\nBuilt AI-assisted with Claude Code — template-based content production plus Vegas-specific research passes.","image":"https://michaelonofre.com/visitlasvegasnew.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Next.js","SEO","Affiliate","Claude Code","Live","City Tourism Affiliate · Las Vegas","Michael Onofre"],"_meta":{"status":"Live","accent":"amber","accent_color_from":"#f59e0b","accent_color_to":"#f97316","role":"City Tourism Affiliate · Las Vegas"}},{"id":"https://michaelonofre.com/projects/mealmaster-ai","url":"https://michaelonofre.com/projects/mealmaster-ai","external_url":"https://mealmasterai.app","title":"MealMaster AI","summary":"Vision model identifies ingredients from fridge photos; LLM-driven planner reasons over allergies, medical conditions, budget, and equipment before selecting recipes. Constraint engine treats dietary needs as hard logic. 12+ dietary patterns.","content_text":"Vision model identifies ingredients from fridge photos; LLM-driven planner reasons over allergies, medical conditions, budget, and equipment before selecting recipes. Constraint engine treats dietary needs as hard logic. 12+ dietary patterns.\n\n\n\nVision model reads fridge photos and extracts an ingredient inventory.\n\nLLM planner reasons over allergies, conditions, budget, and kitchen equipment before selecting meals.\n\nConstraint engine treats dietary rules as hard logic — not soft prompt suggestions.\n\nSupports 12+ dietary patterns out of the box.\n\nBuilt solo with OpenAI Codex as the primary dev loop.","image":"https://michaelonofre.com/mealmasterai.png","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Vision","LLM","Next.js","OpenAI Codex","Live","AI Meal Planning App","Michael Onofre"],"_meta":{"status":"Live","accent":"emerald","accent_color_from":"#34d399","accent_color_to":"#10b981","role":"AI Meal Planning App"}},{"id":"https://michaelonofre.com/projects/geopolitical-dashboard","url":"https://michaelonofre.com/projects/geopolitical-dashboard","external_url":"https://wartime-dashboard.vercel.app/","title":"Real-Time Geopolitical Conflict Dashboard","summary":"Aggregates open-source intelligence across active conflict theaters (Ukraine/Russia, Iran). Theater-switching UI, Reddit API with exponential backoff and batching, hardened security headers, server-side validation.","content_text":"Aggregates open-source intelligence across active conflict theaters (Ukraine/Russia, Iran). Theater-switching UI, Reddit API with exponential backoff and batching, hardened security headers, server-side validation.\n\n\n\nTheater-switching UI unifies Ukraine/Russia and Iran OSINT feeds into a single timeline.\n\nReddit API integration with exponential backoff, batching, and rate-limit aware scheduling.\n\nHardened security headers and server-side validation on every route.\n\nBuilt for fast incident scan — not a news aggregator, an intelligence surface.","image":"https://michaelonofre.com/wardashboard.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Next.js","OSINT","Real-time","Live","OSINT Intelligence Platform","Michael Onofre"],"_meta":{"status":"Live","accent":"amber","accent_color_from":"#f59e0b","accent_color_to":"#f97316","role":"OSINT Intelligence Platform"}},{"id":"https://michaelonofre.com/projects/vix-monitor","url":"https://michaelonofre.com/projects/vix-monitor","external_url":"https://chromewebstore.google.com/detail/vix-monitor/hmppcenfidolbiflaccgablemccfddlb","title":"VIX Monitor","summary":"Published extension tracking VIX volatility in the browser toolbar. Organic installs. Funnel into Tradings.Guru.","content_text":"Published extension tracking VIX volatility in the browser toolbar. Organic installs. Funnel into Tradings.Guru.\n\n\n\nPublished to the Chrome Web Store with organic installs.\n\nLive VIX readout in the toolbar with configurable warning / danger thresholds.\n\nSettings panel for refresh interval, sound alerts, and desktop notifications.\n\nServes as a top-of-funnel channel into Tradings.Guru's tiered SaaS.","image":"https://michaelonofre.com/vixmonitor.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Chrome Extension","Real-time data","Live","Chrome Extension","Michael Onofre"],"_meta":{"status":"Live","accent":"sky","accent_color_from":"#38bdf8","accent_color_to":"#0ea5e9","role":"Chrome Extension"}},{"id":"https://michaelonofre.com/projects/openclaw","url":"https://michaelonofre.com/projects/openclaw","title":"OpenClaw","summary":"Personal framework running multiple agents (Discord integration, automated research, scheduled tasks). Background automation layer.","content_text":"Personal framework running multiple agents (Discord integration, automated research, scheduled tasks). Background automation layer.\n\n\n\nPersonal multi-agent framework orchestrating specialized agents across Discord, research, and scheduling.\n\nBackground automation layer — agents wake on triggers and schedules, not just user prompts.\n\nWritten in Python, composed around the Anthropic API.","image":"https://michaelonofre.com/openclaw.png","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Agents","Python","Discord","Internal","Multi-Agent AI Framework","Michael Onofre"],"_meta":{"status":"Internal","accent":"fuchsia","accent_color_from":"#e879f9","accent_color_to":"#c026d3","role":"Multi-Agent AI Framework"}},{"id":"https://michaelonofre.com/projects/intermodal-space","url":"https://michaelonofre.com/projects/intermodal-space","external_url":"https://www.intermodal.space","title":"Intermodal Space","summary":"Passive-container logistics for Earth orbit and, on a longer horizon, cis-lunar space. Thesis: smart endpoints, lean containers. Two solar-powered fixed vehicles — a dispatching Hub and a receiving Catcher — linked by beacon-guided ballistic containers that coast between them on Keplerian transfers. For the canonical 100 km co-orbital release the required Hub Δv is 5.87 m/s prograde, transit is exactly one orbit (94.6 min at 500 km), and 10,000-trial Monte Carlo puts the 3σ miss distance at 36 m inside a 40 m capture aperture — 99.9 % capture rate. Whitepaper v1.1 (April 2026) is public and reproducible. The paper roadmap points at a 2028–2029 LEO demonstration; realistically this is market-gated, not tech-gated — the commercial window opens when there's enough cis-lunar infrastructure (crewed lunar bases, regular resupply cadence) to generate continuous shipment demand, and that's a 5+ year horizon. Solo, pre-seed.","content_text":"Passive-container logistics for Earth orbit and, on a longer horizon, cis-lunar space. Thesis: smart endpoints, lean containers. Two solar-powered fixed vehicles — a dispatching Hub and a receiving Catcher — linked by beacon-guided ballistic containers that coast between them on Keplerian transfers. For the canonical 100 km co-orbital release the required Hub Δv is 5.87 m/s prograde, transit is exactly one orbit (94.6 min at 500 km), and 10,000-trial Monte Carlo puts the 3σ miss distance at 36 m inside a 40 m capture aperture — 99.9 % capture rate. Whitepaper v1.1 (April 2026) is public and reproducible. The paper roadmap points at a 2028–2029 LEO demonstration; realistically this is market-gated, not tech-gated — the commercial window opens when there's enough cis-lunar infrastructure (crewed lunar bases, regular resupply cadence) to generate continuous shipment demand, and that's a 5+ year horizon. Solo, pre-seed.\n\n\n\nThree-vehicle architecture: HUB-1 MERIDIAN (smart dispatcher, ~300 kg dry, 2 kW solar, piezo-tuned release cradle with 0.5 mm/s Δv repeatability), CARRIER-1 PALLET (lean 150 kg container — beacon + small solar array + ~0.3 m/s cold-gas trim, ballistic during transit), CATCHER-1 APEX (active receiver, closed-loop relative-state filter, four-phase capture: glide rail → eddy-current brake → mechanical latch → cargo transfer).\n\nPhysics is textbook Clohessy–Wiltshire in the small-separation regime — the co-orbital release is a closed-form prograde pulse at the Hub and a one-orbit rendezvous regardless of transfer distance. Required Δv scales linearly with distance: 0.59 m/s at 10 km, 5.87 m/s at 100 km, 29.4 m/s at 500 km. All six tested distances close at exactly one Hub period.\n\nMonte Carlo validation with 10,000 trials per distance at the v1.1 error budget (0.5 mm/s Δv magnitude, 0.02° release pointing per axis, 0.5 m Hub position knowledge, 0.5 mm/s Hub velocity knowledge, 1 mm container CG offset). 3σ miss distance stays in a flat 34–38 m band across 10–500 km transfers; capture rate is ≥99.9 % across the whole range inside a 40 m aperture. Sensitivity analysis isolates release Δv magnitude and Hub velocity knowledge as the two dominant error sources.\n\nBuild split is intentional. The defensible engineering surface is exactly two subsystems: the Hub's piezo-tuned release cradle and the Catcher's eddy-current magnetic brake plus closed-loop relative-state filter. Everything else is COTS smallsat hardware (Blue Canyon XACT-50, Honeywell HG1930, NovAtel OEM719 GNSS, Honeywell HR0610 star tracker, Syrlinks EWC27 S-band, Xiphos Q7/Q8J, Busek BHT-100 Hall thruster, VACCO MiPS cold-gas).\n\nNot a launch company. Hub and Catcher are payloads on existing commercial launchers (Falcon 9/Heavy, Vulcan, New Glenn, peers). Containers reach LEO as rideshare payloads, get handed to the Hub, and transfer passively to their destination Catcher. The customer pays the commodity launch price once; everything after handoff is capital-amortized operation of the network.\n\nFirst-order economics: Dragon cargo ~$45,000/kg, active tug rideshare (Momentus, D-Orbit, Impulse, Kurs Orbital) $10,000–30,000/kg, Intermodal Space target $2,000–5,000/kg at 2 shipments/week/Hub with 24-month Hub amortization. Per-container target cost is $500K on first flight → $100K in a batch of ten → $25K at steady-state fleet volume.\n\nv1.1 whitepaper is public and deliberately auditable. It flags and corrects a sign-convention bug in v1.0 (the co-orbital pulse is prograde, not retrograde — a retrograde pulse drives the container forward of the Hub under the secular CW drift term). All numerical claims reproduce from a Jupyter notebook in under five minutes on a laptop; the \"how to break it\" section lists adversarial checks that should fail the model if it's wrong.\n\nPaper roadmap: TRL 2 today (physics + whitepaper), TRL 3 breadboard Q4 2026 (release actuator + optical Δv measurement at sub-mm/s precision), TRL 4 subsystem demo in 2027, TRL 5 ground demo of the full release-capture sequence in 2028, TRL 6 LEO demo in 2029. Real-world timing is more patient than that: the architecture needs actual cis-lunar demand to justify a fleet, and that waits on crewed lunar bases + recurring resupply showing up at scale. 5+ years is the honest number.\n\nCis-lunar horizon is the long-term market, explicitly scoped as a v2 research programme rather than a v1 claim. A cis-lunar Hohmann from LEO to lunar orbit needs ~3.1 km/s, three orders of magnitude larger than co-orbital. Three open architectural options: Hub-mounted kick stage refueled from an in-space depot, an electromagnetic mass driver at the Hub, or a momentum-exchange tether. A rigorous Δv and dynamics treatment of all three is the v2 paper's job.\n\nMarket-gated, not tech-gated. The co-orbital physics is inside the envelope of today's space-grade hardware — the paper argues this from first principles and reproducible Monte Carlo. What isn't here yet is the demand: until there are crewed lunar bases, an operating Gateway-class station, or regular cis-lunar resupply cadence, nobody needs a reusable logistics network badly enough to justify paying for one. The plan is to stay lean, keep advancing the paper and the hardware as budget allows, and be ready when the market catches up.\n\nRebranded from Axiom Transit → Intermodal Space to avoid overlap with Axiom Space; the original site at axiomtransit.space stays live as a reference. Solo, long-horizon, pre-seed.","image":"https://michaelonofre.com/intermodalspace.png","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Space","Orbital Logistics","Whitepaper","Python","2028–29","Long-term","Orbital Logistics · Pre-seed","Michael Onofre"],"_meta":{"status":"Long-term","accent":"indigo","accent_color_from":"#818cf8","accent_color_to":"#6366f1","role":"Orbital Logistics · Pre-seed"}},{"id":"https://michaelonofre.com/projects/axiom-transit","url":"https://michaelonofre.com/projects/axiom-transit","external_url":"https://axiomtransit.space","title":"Axiom Transit","summary":"The original brand for what is now Intermodal Space. Same core thesis — reusable orbital endpoints, throwaway-vehicle-free logistics — but the name Axiom Transit sat too close to the publicly-traded Axiom Space and was going to create constant confusion, so it's retired. Site stays live as a reference point: it shows the earlier version of the pitch, the early marketing animation (see hero), and how the idea has sharpened into the v1.1 whitepaper that now lives under Intermodal Space. Archived; going forward as Intermodal Space.","content_text":"The original brand for what is now Intermodal Space. Same core thesis — reusable orbital endpoints, throwaway-vehicle-free logistics — but the name Axiom Transit sat too close to the publicly-traded Axiom Space and was going to create constant confusion, so it's retired. Site stays live as a reference point: it shows the earlier version of the pitch, the early marketing animation (see hero), and how the idea has sharpened into the v1.1 whitepaper that now lives under Intermodal Space. Archived; going forward as Intermodal Space.\n\n\n\nSame architectural thesis as Intermodal Space: smart orbital endpoints, lean containers, no throwaway vehicle per shipment. The physics, the economic argument, and the three-vehicle plan all transferred directly — only the brand changed.\n\nRebranded to avoid collision with Axiom Space, which owns the public identity around the \"Axiom\" name in orbital / ISS-commercial-module context. The confusion risk was real enough that every conversation started with \"no, not that one,\" so the name had to go.\n\nEarlier design language, animation, and copy frame the idea in marketing terms (\"orbital logistics, reimagined\") rather than the technical-whitepaper register the v1.1 Intermodal paper now uses. Useful as a before/after comparison.\n\nHero animation on the Axiom Transit site (embedded above as the case-study hero) was the first public articulation of the endpoints-and-containers concept. The technical depth wasn't there yet; the aesthetic was.\n\nSite preserved as-is under axiomtransit.space. Not under active development; not deleted — kept so external links and any early coverage still resolve, and as a reference for how the idea evolved.","image":"https://michaelonofre.com/axiomtransit.png","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Space","Predecessor","Archived","Archived","Orbital Logistics · Archived","Michael Onofre"],"_meta":{"status":"Archived","accent":"slate","accent_color_from":"#94a3b8","accent_color_to":"#64748b","role":"Orbital Logistics · Archived"}},{"id":"https://michaelonofre.com/projects/streetscope-ai","url":"https://michaelonofre.com/projects/streetscope-ai","title":"StreetScope AI","summary":"Geospatial business-intelligence tool built around an Opportunity Finder: type a business category — say, \"car wash\" — and see where competitors cluster versus the green zones where the category is under-represented, so you can pick a site with less competition. Seeded by a custom Google Places scraper that indexed 215,000+ businesses, heaviest across Florida and scattered across the rest of the US. Paused while I solve the data layer, not killed — the scraper lives on as a public repo and the thesis is still open.","content_text":"Geospatial business-intelligence tool built around an Opportunity Finder: type a business category — say, \"car wash\" — and see where competitors cluster versus the green zones where the category is under-represented, so you can pick a site with less competition. Seeded by a custom Google Places scraper that indexed 215,000+ businesses, heaviest across Florida and scattered across the rest of the US. Paused while I solve the data layer, not killed — the scraper lives on as a public repo and the thesis is still open.\n\n\n\nOpportunity Finder UI — pick a business type, see competitor density on the map and green zones where the category is thin, so you can pick a site based on where the competition isn't.\n\nDatabase seeded by a custom Google Places scraper that indexed 215,000+ businesses — heavy coverage across Florida, sporadic across the rest of the US. State was uneven by design: scraped where I had the budget to scrape.\n\nRan straight into the limits of Google Places as a data source. Per-query result caps miss businesses that are literally next door to each other. Places' service-type taxonomy is shallow, so records often came back without the distinction I needed — a car wash and a hair salon can end up looking the same in the database.\n\nFully backfilling to the density and category fidelity the Opportunity Finder needs would have meant blowing through both the API rate limits and the per-request cost. Without trustworthy coverage and categories, the green zones were too noisy to hand a customer.\n\nPaused rather than killed: the product can come back if the data layer gets solved — a cheaper or denser source, a better category taxonomy, or a tighter vertical slice where coverage is already clean.\n\nScraper released publicly on GitHub — useful on its own as a Google Maps data tool even without the BI layer on top.","image":"https://michaelonofre.com/streetscopeai.jpg","date_published":"2026-04-23T01:56:46.509Z","date_modified":"2026-04-23T01:56:46.509Z","tags":["Geospatial","Google Places","Paused","Paused","Geospatial BI · Paused","Michael Onofre"],"_meta":{"status":"Paused","accent":"slate","accent_color_from":"#94a3b8","accent_color_to":"#64748b","role":"Geospatial BI · Paused"}}]}