Pulse Energy is a consumer-centric application that helps households stay informed and in control of their energy usage and contracts, set up smart routines, and leverage AI-driven insights to optimizate the available resources and personalized for their daily use.
It features an Agentic AI Assistant ("Pulse") that helps users with everyday queries, simulate energy-shifting options, analyze and compare usage from live data, request missing information when necessary, and configure automated routine reminders.
- Frontend: React 19, TypeScript, Vite, Zustand (state management), Lucide React (icons), Recharts (data visualization).
- Backend: Express.js, TypeScript, tsx (runtime), Vercel AI SDK (with OpenAI
gpt-4o/gpt-4o-mini). - Data Source: Local cached JSON datasets representing 4 distinct German households (
public/data/).
- AI Assistant ("Pulse"):
- Streams responses in real time using the Vercel AI SDK.
- Intelligently routes queries using a dynamic router:
gpt-4o-minifor simple questions/greetings andgpt-4ofor complex calculations. - Proactively calls custom tools:
get_household_context(household & hardware settings)calculate_shift_savings(appliance time-shifting savings based on solar surplus and EPEX spot prices)simulate_tariff_switch(last 30 days cost simulation comparing dynamic vs. fixed rates)set_routine_reminder(schedules routine cards in the local store)request_missing_info(requests missing details using clean inline forms)
- Gracefully falls back to a deterministic offline mode if the API key is not configured or the connection fails.
- Dashboard: Interactive metrics for solar PV generation, household load, spot price trends, and battery status.
- Consumption: A descriptive 2025 household dossier covering assets, contract, bills, energy flows, load patterns, and dynamic-pricing fit.
- Routines: Configurable smart scheduling cards for home automation.
Visit the Live App: https://enpal-pulse.onrender.com/
- Node.js v22 or newer is recommended.
- An OpenAI API key (for online AI mode).
Install dependencies for both the client and server:
npm installCreate a .env file in the root directory (you can copy .env.example as a template):
cp .env.example .envOpen .env and add your OpenAI API key:
OPENAI_API_KEY=sk-proj-YourOpenAiKeyHere...Start both the Express backend (port 3001) and Vite frontend (port 5173 with proxy configuration) concurrently:
npm run devVisit the app at http://localhost:5173.
To build the client bundle and bundle the assets:
npm run buildIn production, the Express backend serves the compiled static files from dist/ and runs the API routes:
npm startThis project contains a render.yaml file for easy deployment as a Node.js web service:
- Connect your repository to Render.
- Select the Blueprint deployment style.
- Add your
OPENAI_API_KEYunder the Environment variables during the Render setup. - Render will build using
npm ci && npm run buildand launch usingnpm start.