/01
The Problem
I wanted to build a polished, production-quality full-stack app from scratch — real UI complexity, external API integration, and an immersive design system.
/02
What I Did
I built Noro Astro using Next.js (React 19) and TypeScript, integrating an external astrology API through custom API routes to generate personalized natal charts and daily readings. I designed a dark, glassmorphism UI with an interactive particle star background.

/03
What I Found
Structuring the API integration cleanly reinforced how important clean data flow and typing are — the same discipline I bring to structuring datasets applies to structuring API responses and UI state.
/04
Trade-offs & What's Next
The astrology API sets the ceiling on data accuracy and rate limits, so I built a typed adapter layer between the raw API responses and the UI rather than passing data through untouched — that isolation is what let me redesign the natal-chart UI twice without touching the fetching logic. Caching daily readings server-side would be the next step to cut redundant API calls.
/Tech stack
- Next.js
- React
- TypeScript
- Tailwind CSS
- tsParticles
