~/jacobramos.com
$pwd:~/projects

Jacob Ramos

I build the apps that run your business — from custom e-commerce platforms to geospatial tools to AI agents that work while you sleep.

Available for new projects
// skyway-map.ts
exportSPSkywayMap
Live2026
from '@jacobramos/skyway-stack'
spskyway.com
SPSkywayMap — A geospatial navigation app mapping all 47 blocks of Saint Paul's skyway system.
the challenge

As a St. Paul resident, I wanted to give back to my community in a way that could have real impact. The skyway system connects 47 blocks of downtown but had no usable digital map — so I built one.

A geospatial navigation app mapping all 47 blocks of Saint Paul's skyway system. Multi-layer indoor maps with time-based routing, business POI search, transit integration, and ADA accessibility data — built on PostGIS with custom OpenStreetMap tiles.

47blocks5 miwalkways474POIsPostGISspatial engine
Multi-layer indoor map
Time-based routing
Business POI search
Transit integration
ADA accessibility data
Grow Downtown program
Next.jsSupabasePostGISOpenStreetMapResendVercel
// friends-of-skyway.ts
exportFriendsOfSkyway
Live2026
from '@jacobramos/skyway-friends'
skywayfriends.org
FriendsOfSkyway — The organizing platform for Friends of the Saint Paul Skyway. A Next.js front-en
the challenge

Friends of the Saint Paul Skyway is a grassroots group working to preserve and expand downtown's skyway system. They needed more than a brochure — a working platform to run events, register members, gather community input, and broadcast updates. So I built one.

The organizing platform for Friends of the Saint Paul Skyway. A Next.js front-end paired with a 14-table Supabase schema powers event registration with guests and waitlisting, member signups, surveys, a community document library, QR short-link tracking, and a role-gated admin dashboard for running check-ins, exporting CSVs, and sending Resend email campaigns.

14DB tables20+dynamic routes150+membersResendbroadcasts
Event registration + guests
Role-gated admin dashboard
Email broadcast campaigns
Community document library
QR short-link tracking
Interactive skyway visualizations
Next.jsSupabaseResendTailwind CSSTypeScriptVercel
// skyway-eat.ts
exportSkywayEat
Live2026
from '@jacobramos/skyway-eat'
eat.skywayfriends.org
SkywayEat — A full-stack event platform with three distinct auth flows — attendee, chef, and
the challenge

Friends of the Skyway runs a seasonal dine-around event across multiple downtown restaurants. Attendees needed to rate dishes in real time, chefs needed a menu and sold-out console, and everyone needed a personalized recap email afterward. A single app had to hold all three audiences without confusing any of them.

A full-stack event platform with three distinct auth flows — attendee, chef, and admin — sharing a Supabase schema. Attendees check in, rate dishes 1–5 stars, and build a wishlist. Chefs manage menus and sold-out state. Admins watch a live health dashboard. Server actions compute a Bayesian-ranked 'Dish of the Night' and Resend dispatches HTML recap emails when the event closes.

5user roles8dietary tagsBayesiandish rankingLiveratings feed
Multi-chef menu management
1–5 star dish ratings
Wishlist tracking
Attendee + guest check-in
Personalized recap emails
Admin health dashboard
Next.jsReact 19SupabaseResendTailwind CSSTypeScript
// skyway-social.ts
exportSkywaySocial
Live2026
from '@jacobramos/skyway-social'
social.skywayfriends.org
SkywaySocial — A purpose-built check-in app for the Skyway Social event. Guests self-check via
the challenge

Forty-eight hours before Friends of the Skyway's flagship event, 200+ attendees were registered and there was no way to check them in at the door. I forked the Eat app, stripped it to essentials, and shipped a dedicated check-in app — QR self-check for guests, live admin board for volunteers, Friends opt-in capture — overnight.

A purpose-built check-in app for the Skyway Social event. Guests self-check via QR with unified name search; volunteers run a live admin board with party snapshots, inline guest capture, walk-in registration, and undo. Every Supabase mutation follows a hardened 'never lose data' pattern — destructure error, verify row count, audit failures — learned the hard way from a silent data-loss bug in a sibling project.

6 hrsto ship200+check-ins6routesSharedSupabase project
QR self-check-in for guests
Volunteer live admin board
Inline guest capture
Walk-in registration
Magic-link admin auth
Audit-logged mutations
Next.jsReact 19SupabaseResendTailwind CSSVercel
// metro-transit.ts
exportMetroTransitLive
Live2026
from '@jacobramos/transit-stack'
metro-transit-live.vercel.app
MetroTransitLive — A real-time vehicle tracker for Twin Cities Metro Transit. Decodes GTFS-RT proto
the challenge

Metro Transit publishes real-time vehicle positions via GTFS-RT, but the raw protobuf feed is just coordinates refreshing every 10 seconds — vehicles teleport between updates. I wanted smooth, accurate motion that follows actual transit routes between polls.

A real-time vehicle tracker for Twin Cities Metro Transit. Decodes GTFS-RT protobuf feeds, snaps vehicles to official route polylines from MnDOT shapefiles, and dead-reckons along the actual road geometry between 10-second polls — so buses and trains glide smoothly along their routes instead of jumping.

160routes10spoll rateGTFS-RTfeed formatLivedead reckoning
GTFS-RT protobuf decoding
Route-snapped dead reckoning
Shapefile polyline tracking
Multi-route filtering
Vehicle ID search
Serverless API proxy
Leaflet.jsGTFS-RTProtobufVercel
// dazzling-duvet.ts
exportDazzlingDoggieDuvet
Live2026
from '@jacobramos/dazzling-stack'
dazzlingdoggieduvet.com
DazzlingDoggieDuvet — A fully custom e-commerce platform with a 42-table Supabase schema, Stripe-power
the challenge

The core challenge was explaining a patent-pending dog bed to customers — what it is and how to use it. I built the entire platform from the ground up to make the product intuitive through the shopping experience itself.

A fully custom e-commerce platform with a 42-table Supabase schema, Stripe-powered checkout, loyalty points engine, UGC community with photo reviews, and an AI agent (Cleo) running on a Mac Mini that handles customer service, inventory, and marketing autonomously.

42DB tablesStripecheckoutCleoAI agentResendtransactional email
Custom loyalty engine
UGC photo community
AI agent operations
Stripe subscriptions
Automated email flows
Admin dashboard
Next.jsSupabaseStripeResendVercel
// task-force.ts
exportTaskForceContractors
Live2026
from '@jacobramos/task-force-stack'
taskforcebuilds.com
TaskForceContractors — A full-stack Next.js site with a built-in admin CRM. The public side shows off 1
the challenge

Task Force Contractors is a Service-Disabled Veteran-Owned small business in Tampa doing custom builds and remodels. They needed more than a brochure site — a working CRM so one operator could run leads, convert them to clients, and send branded email campaigns without paying a SaaS tax on top of their construction work.

A full-stack Next.js site with a built-in admin CRM. The public side shows off 19 before/after galleries, 7 service categories, testimonials, team bios, a Leaflet service-area map, and a lead-capture form. The admin side runs a 5-stage Kanban pipeline (New → Contacted → Proposal → In Progress → Completed), converts inquiries to clients, and sends bulk email campaigns with dynamic name substitution from a 5-template library.

19before/afters7service categories8DB tables5-stagepipeline
Before/after project galleries
5-stage Kanban lead pipeline
Inquiry → client conversion
Bulk email campaigns
Leaflet service-area map
Careers + team bios
Next.jsSupabaseResendLeafletFramer MotionTailwind CSSVercel
// ramosware.ts
exportRamosware
Live2026
from '@jacobramos/ramosware-studio'
ramosware.com
Ramosware — The marketing site for RAMOSWARE, a dark-first indie app studio shipping iOS and
the challenge

I needed a home for my indie app studio — somewhere that matched the dark-first philosophy of the apps themselves. Not a template, not a Squarespace site. Something built from scratch that feels like the products it represents.

The marketing site for RAMOSWARE, a dark-first indie app studio shipping iOS and visionOS apps. Features a Three.js 3D wireframe hero, Framer Motion scroll-linked animations, glassmorphism app cards with perspective tilt, custom cursor, and grain overlays — all optimized for performance without sacrificing visual polish.

3appsThree.js3D hero10shapesDarkby default
Three.js wireframe hero
Scroll-linked animations
Glassmorphism app cards
Perspective tilt on hover
Custom cursor with lerp
CSS grain overlay
Next.jsThree.jsFramer MotionTailwind CSSVercel
// services.ts

What I Build

Every project is built from scratch to fit the problem. No templates, no page builders — just clean, production-ready code.

Custom Web Applications

Full-stack applications built with Next.js, React, and TypeScript. From concept to deployment on Vercel — designed around your specific business needs.

E-Commerce Platforms

Custom storefronts with Stripe checkout, subscription billing, loyalty systems, and admin dashboards. Not templates — built from the ground up for your product.

Geospatial & Mapping Apps

Interactive maps and location-based tools built on PostGIS, Leaflet, and OpenStreetMap. Indoor navigation, spatial queries, and custom tile layers.

AI Agent Systems

Autonomous AI agents that handle real business operations — customer service, inventory management, email marketing, and more. Running 24/7 on your infrastructure.

// process.ts

How I Work

Every project follows a clear, predictable process from first conversation to production deployment.

01Discovery

We talk about your idea, your goals, and what success looks like. No jargon, no pressure — just a conversation about what you need built.

02Scope & Proposal

You get a clear plan with specific deliverables, timeline, and investment. No surprises down the road.

03Build

I develop in sprints and share progress along the way. You see real, working software — not mockups — throughout the process.

04Launch & Support

I handle deployment, DNS, and production setup. After launch, I stick around to make sure everything runs smoothly.

// about.ts

About

I'm a self-taught developer based in Minnesota building full-stack applications with a focus on geospatial data, e-commerce, and AI agent systems. I ship fast, iterate on real feedback, and care about the details.

FrontendNext.js, React, TypeScript, Tailwind CSS
BackendSupabase, PostgreSQL, PostGIS, Node.js
PaymentsStripe (checkout, subscriptions, webhooks)
AI / AutomationClaude Code, OpenClaw, Make.com
DevOpsVercel, GitHub Actions, DNS
MappingPostGIS, OpenStreetMap, Mapbox, Leaflet
// contact.ts

Start a Project

Have an idea for a web app, e-commerce platform, or something that doesn't exist yet? Tell me about it.

# README.md

AboutProjects
© 2026 jacobramos.comv1.0.0