~/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
Closed Beta2026
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
// 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
// metro-transit.ts
exportMetroTransitLive
Live2026
from '@jacobramos/transit-stack'
metro-transit-live.vercel.app
screenshot coming soon
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
// ramosware.ts
exportRamosware
Live2026
from '@jacobramos/ramosware-studio'
ramosware.com
screenshot coming soon
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