html

Lean Paninsoro

// Backend Developer  ·  Davao, PH

Junior backend developer — APIs, real-time systems, and tools that ship.

[about]

Backend-first developer who takes full feature ownership — from database schema to API contracts to production deployment.

Not afraid of messy domains: government HR systems, real-time geolocation, offline-resilient mobile backends, and Philippine-specific geographic data pipelines.

Comfortable as the sole technical voice in a room of non-technical stakeholders — translating operational needs into shipped systems without a safety net.

  • Requirements → architecture → delivery
  • REST API design & contract definition
  • Real-time systems (WebSocket, async)
  • Auth: OAuth 2.0, RBAC, token rotation
  • Offline-resilient backend design
  • Solo developer in production environments
  • BS Computer Science — Univ. of Mindanao (Aug 2026)
[projects]
Employee Management System
Bureau of the Treasury — Davao Regional Office
Internship Jul–Aug 2025 Solo Dev

Sole developer responsible for the entire build — from requirements gathering with admin staff through to production deployment. No technical team, no handoffs. The system now manages 115+ sensitive employee records for a government office.

  • Secure internal platform with Spring Boot + Role-Based Access Control
  • Automated logic for increment calculation and loyalty pay awards — eliminated manual errors
  • Facilitated requirement-gathering sessions; iterated on real user feedback
  • 30% increase in operational efficiency by replacing manual paperwork workflows
  • Handled architecture, database design, and delivery independently
Laagan — Real-Time Group Ride Tracker
Personal · Closed Testing for Android
Sole Dev Java · React Native
9:41
▪▪▪WiFi🔋
🏍
YAWELS123
🏍 No type
Ride ID 🔍
+
Active Ride
No active ride
DAHILAYAN ADVENTURE PARKINACTIVE
ID: #5F74527788F3
Bukidnon Rides
📍 Toril District → Dahilayan…
📅 July 02, 2026 · 11:10 AM
Mountain Pines Dahilayan
Bukidnon is home to multiple famous destinations, including Dahilayan Adventure Park.
CREATE RIDE
Step 1 of 3 — Details
Next ›
Name Your Ride
Give your adventure a memorable name
Epic Bukidnon Adventure
When & How
Thursday, June 4, 2026 · 10:57 PM
Describe Your Route
Tell us about the terrain…
Continue to Location ›
CREATE RIDE
Step 1 of 3 — Details
Next ›
Name Your Ride
Epic Bukidnon Adventure
When & How
Thursday, June 4, 2026
Choose Your Bike
🏍 ADV 160
Describe Your Route
Tell us about the terrain…
Continue to Location ›
CREATE RIDE
Step 1 of 3 — Details
Next ›
Name Your Ride
Epic Bukidnon Adventure
When & How
Thursday, June 4, 2026
🏍 ADV 160
Describe Your Route
Terrain, highlights, special stops
Tell us about the terrain, highlights, or any special stops…
Continue to Location ›
CREATE RIDE
Step 1 of 3 — Details
Next ›
Name Your Ride
Epic Bukidnon Adventure
When & How
Thursday, June 4, 2026
🏍 ADV 160
Describe Your Route
Mountain terrain, forest trails…
Continue to Location ›
‹ Back
SET LOCATION
Next ›
Lubogan Crossing Bayabas Toril
Tap the map or search above
‹ Back
SET LOCATION
Next ›
Lubogan Crossing Bayabas Toril
Tap the map or search above
‹ Back
START POINT
Create ✓
Lubogan Crossing Bayabas Toril
START
Toril District
SET
END
Not set
SET
‹ Back
END POINT
Create ✓
Lubogan Crossing Bayabas
START
Toril District
EDIT
END
Dahilayan Adventure Park
SET
Toril Crossing Bayabas
🏁
🏍
A
👥 PARTICIPANTS
L
lean_paninsoro
Glabaca · 2273m
A
yanna uyabs
Waiting…
L
leandropanin
Glabaca · 2274m
Toril Crossing Bayabas
🏁
🏍
A
Details
Leave ✕
Toril
🏁
🏍
Checkpoint Arrivals
⚠️ Only riders who reached each checkpoint are listed.
L
lean_paninsoro
Arrived 11:23 AM · Checkpoint 1
Toril
🏁
Checkpoint Arrivals
Only riders who reached each checkpoint are listed.
L
lean_paninsoro
Arrived 11:23 AM · Checkpoint 1
Step 1 of 13
Create a Ride

Tap the + button to start creating a new group ride for you and your friends.

// The Hard Problem

Reverse geocoding in Mindanao requires barangay-level precision — not just city names. Commercial APIs don't support it or charge at scale. Built a custom geocoding pipeline: Nominatim coordinates matched against the official PSGC dataset via correspondence_code. Real barangay names from raw GPS. Offline-capable, cached. Zero paid API dependency.

  • Real-time location broadcasting to ride participants via WebSocket
  • Checkpoint tracking — records each rider's arrival, sequenced from route data
  • Ride lifecycle: start, pause, force-finish, ownership transfer on creator exit
  • Offline GPS buffering with automatic server sync on reconnect
  • Auth: Google OAuth + email/password, rate-limited login, token rotation & blacklisting
  • Route planning — distance calc, checkpoint sequencing, full route generation at ride creation
  • Built for Mindanao road conditions and connectivity gaps
Reddit Analytics Platform
AI-powered sentiment analysis · Next.js + Google Gemini
Live TypeScript
  • Scrapes Reddit posts and runs them through Google Gemini AI — sentiment, summaries, keyword extraction
  • Built with Next.js and TypeScript, full-stack single repo
FreeFall Simulations
Interactive physics simulation · Python + Pygame + Flask
Live Python Physics

Visualizes free-fall motion across nine planets with real-time kinematic equations, velocity charts, and impact metrics — powered by a Flask backend and a Pygame-rendered UI.

  • Models gravity, atmospheric drag, and numerical physics integration per planet
  • Real-time simulation of velocity, acceleration, and kinetic energy at impact
  • Flask backend serving simulation logic to a JavaScript frontend interface
[stack]
languages
Java PHP JavaScript Python HTML / CSS
backend
Spring Boot Laravel REST APIs WebSockets
auth & security
OAuth 2.0 RBAC Token Rotation Rate Limiting
frontend
React / Next.js React Native TypeScript
tools & infra
Docker Redis Git Postman
geo / data
PSGC Dataset Nominatim Google Gemini AI
[contact]