
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
@jabybaby/bubbles
Advanced tools
TypeScript wrapper for the Bubbles laundromat API with full type safety and authentication support.
Bubbles is a Hungarian laundromat service that provides mobile app access to their washing machine network. The application allows users to find locations, check machine availability, make reservations, and manage their laundry activities.
Technical Architecture:
api.hu.bubbles.huNote: This wrapper was created through reverse engineering of the mobile application's API endpoints and is not officially affiliated with Bubbles.
npm install @jabybaby/bubbles
import { BubblesClient } from '@jabybaby/bubbles';
const client = new BubblesClient();
// Login (stores JWT token automatically)
await client.login({
username: 'your-username',
password: 'your-password'
});
// Get user info from JWT
const userInfo = client.getUserInfo();
console.log(userInfo.username, userInfo.email);
// Get all shops (public)
const shops = await client.shops.getAll();
console.log(shops.cities); // Available cities
// Get detailed shop info with machine availability (public)
const shopDetails = await client.shops.getById(45);
console.log(shopDetails.machines.washingMachines);
// Get registration documents (public)
const docs = await client.contracts.getRegistrationDocuments();
console.log(docs.documents);
// Get current user profile (authenticated)
const profile = await client.auth.whoami();
console.log(profile.firstName, profile.email, profile.balance);
// Get social contracts to accept (authenticated)
const socialContracts = await client.contracts.getSocialContractsToAccept();
console.log(socialContracts.documents);
// Get user reservations (authenticated)
const reservations = await client.reservations.getReservations();
console.log(reservations); // Array of reservation objects
POST /auth/login - Login with credentialsGET /auth/whoami - Get current user profile (authenticated)GET /shops/by-currency/HUF - Get all shopsGET /shops/{id} - Get shop details with machinesGET /contracts/v2/registration - Get registration documents (public)GET /contracts/social/contracts-to-accept - Get social contracts to accept (authenticated)GET /reservations - Get user reservations# Build
npm run build
# Run tests
npm test
# Watch tests
npm run test:watch
# Coverage report
npm run test:coverage
# Lint
npm run lint
src/
├── bubbles-client.ts # Main client class
├── types.ts # TypeScript interfaces
├── endpoints/ # Endpoint groups
│ ├── auth.ts # Authentication endpoints
│ ├── shops.ts # Shop listings and details
│ ├── contracts.ts # Legal documents
│ └── reservations.ts # User reservations
└── index.ts # Main export
tests/ # Test files
├── bubbles-client.test.ts
└── endpoints/
├── auth.test.ts
├── shops.test.ts
├── contracts.test.ts
└── reservations.test.ts
The wrapper includes comprehensive TypeScript types for all API responses:
LoginResponse - Authentication response with JWTJWTPayload - Decoded JWT user informationUserProfile - Complete user profile data from whoami endpointShop - Shop listing informationShopDetails - Detailed shop with machinesMachine - Washing machine/dryer detailsContractDocument - Legal document informationReservation - User reservation object (structure TBD)SocialContractsResponse - Social contracts to acceptReservationsResponse - Array of user reservationsThe client handles JWT tokens automatically:
Authorization: Bearer <token> in authenticated requestsSome types are designed to be expanded as the API structure becomes clearer:
Reservation interface is currently empty but ready to be populated with actual reservation propertiesMIT
FAQs
TypeScript wrapper for Bubbles laundromat API
We found that @jabybaby/bubbles demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.