From d69da6d627a24982749583bf6dc68d771e7e7899 Mon Sep 17 00:00:00 2001 From: jordan Date: Wed, 4 Feb 2026 22:56:04 -0700 Subject: [PATCH] feat: add structured logging infrastructure and SDLC extensions Major changes: - Add internal/logging package with field constants, context propagation, sensitive data auto-redaction, and per-component log levels - Add worker timeout constants (TimeoutQuickOp, TimeoutHealthCheck, etc.) - Extend SDLC with callback handlers, generate endpoints, and executor - Add new cookbook trees for aeries and slackpath progression - Add skeleton templates for queue, realtime, and microservices - Add worker component template with async job processing - Refactor services and handlers to use new logging infrastructure - Split component.go into component_infra.go and component_listing.go Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 4 +- Dockerfile | 14 +- aeries-preparation-thoughts.md | 63 + cmd/rdev-api/config.go | 6 + cmd/rdev-api/main.go | 102 +- cookbooks/trees/aeries-1-genesis.yaml | 132 ++ cookbooks/trees/full-stack-feature.yaml | 200 ++ .../slackpath-1-authenticated-service.yaml | 119 + .../slackpath-2-async-worker-pipeline.yaml | 111 + .../trees/slackpath-3-realtime-chat.yaml | 120 ++ ...lackpath-4-microservice-constellation.yaml | 92 + docs/legal/patent-disclosure.docx | Bin 0 -> 24650 bytes docs/legal/patent-disclosure.md | 551 +++++ docs/legal/patent-figures.docx | Bin 0 -> 22074 bytes docs/legal/patent-figures.md | 740 +++++++ docs/legal/patent-specification.docx | Bin 0 -> 26391 bytes docs/legal/patent-specification.md | 787 +++++++ ideas/aeres/PRIORITIES.md | 139 ++ ideas/aeres/agents/aaliyah_deed.json | 76 + ideas/aeres/agents/aaliyah_f6af.json | 74 + ideas/aeres/agents/aaliyah_fe64.json | 77 + ideas/aeres/agents/abel_0f05.json | 74 + ideas/aeres/agents/abel_8886.json | 75 + ideas/aeres/agents/abel_c0cd.json | 77 + ideas/aeres/agents/acatlina_c1d3.json | 78 + ideas/aeres/agents/ada_ceef.json | 77 + ideas/aeres/agents/adam_5872.json | 77 + ideas/aeres/agents/adam_bde7.json | 77 + ideas/aeres/agents/adrien_0900.json | 74 + ideas/aeres/agents/agnes_0478.json | 77 + ideas/aeres/agents/agnes_e0f8.json | 76 + ideas/aeres/agents/ai_1401.json | 19 + ideas/aeres/agents/aida_6e2b.json | 77 + ideas/aeres/agents/aina_8afd.json | 77 + ideas/aeres/agents/aiyana_153a.json | 77 + ideas/aeres/agents/akash_867d.json | 76 + ideas/aeres/agents/akilah_6c11.json | 77 + ideas/aeres/agents/akilah_b8b5.json | 76 + ideas/aeres/agents/alain_0fbd.json | 76 + ideas/aeres/agents/alan_1d26.json | 77 + ideas/aeres/agents/alea_d4ca.json | 76 + ideas/aeres/agents/alejandro_3114.json | 69 + ideas/aeres/agents/alejandro_57b5.json | 77 + ideas/aeres/agents/alessandra_07ee.json | 76 + ideas/aeres/agents/alessandra_ad93.json | 78 + ideas/aeres/agents/alessandra_f7c3.json | 78 + ideas/aeres/agents/alessia_b84e.json | 77 + ideas/aeres/agents/alevtina_b781.json | 76 + ideas/aeres/agents/alice_0f95.json | 75 + ideas/aeres/agents/alice_4948.json | 74 + ideas/aeres/agents/alice_9d48.json | 84 + ideas/aeres/agents/alla_6959.json | 77 + ideas/aeres/agents/alok_9245.json | 73 + ideas/aeres/agents/alton_1a65.json | 76 + ideas/aeres/agents/alva_11e4.json | 74 + ideas/aeres/agents/amanda_25d3.json | 74 + ideas/aeres/agents/amanda_3fcf.json | 76 + ideas/aeres/agents/amara_dd2f.json | 73 + ideas/aeres/agents/amari_2977.json | 69 + ideas/aeres/agents/amaru_516e.json | 70 + ideas/aeres/agents/ameyalli_45af.json | 75 + ideas/aeres/agents/amira_9e2f.json | 76 + ideas/aeres/agents/amira_c35c.json | 76 + ideas/aeres/agents/amira_c854.json | 75 + ideas/aeres/agents/amy_0734.json | 75 + ideas/aeres/agents/amy_41e9.json | 77 + ideas/aeres/agents/ana_júlia_bef4.json | 76 + ideas/aeres/agents/ana_laura_5bec.json | 77 + ideas/aeres/agents/anastasia_f431.json | 75 + ideas/aeres/agents/anaïs_3e8c.json | 70 + ideas/aeres/agents/andre_1712.json | 77 + ideas/aeres/agents/andre_336d.json | 76 + ideas/aeres/agents/andre_44a9.json | 77 + ideas/aeres/agents/andrea_a209.json | 77 + ideas/aeres/agents/andrea_a805.json | 47 + ideas/aeres/agents/andrei_37c5.json | 75 + ideas/aeres/agents/andres_6bd4.json | 76 + ideas/aeres/agents/andré_4b9e.json | 68 + ideas/aeres/agents/angel_9990.json | 77 + ideas/aeres/agents/angela_10d4.json | 76 + ideas/aeres/agents/angela_e322.json | 75 + ideas/aeres/agents/angela_fdb6.json | 19 + ideas/aeres/agents/aniceto_fddc.json | 76 + ideas/aeres/agents/anja_6cfb.json | 77 + ideas/aeres/agents/anju_fb38.json | 75 + ideas/aeres/agents/ann_0add.json | 63 + ideas/aeres/agents/ann_4cd6.json | 72 + ideas/aeres/agents/anna_69e9.json | 77 + ideas/aeres/agents/anna_c129.json | 76 + ideas/aeres/agents/annabella_2997.json | 77 + ideas/aeres/agents/anni_laura_9c8c.json | 75 + ideas/aeres/agents/anni_maica_acf3.json | 76 + ideas/aeres/agents/annie_391c.json | 77 + ideas/aeres/agents/anthony_80a3.json | 77 + ideas/aeres/agents/antoine_1404.json | 74 + ideas/aeres/agents/antoinette_2cc2.json | 74 + ideas/aeres/agents/antoinette_7ef7.json | 76 + ideas/aeres/agents/aoi_ee74.json | 73 + ideas/aeres/agents/april_abd3.json | 76 + ideas/aeres/agents/april_f835.json | 75 + ideas/aeres/agents/arabella_a9d5.json | 77 + ideas/aeres/agents/arabella_dd7f.json | 76 + ideas/aeres/agents/archie_8607.json | 77 + ideas/aeres/agents/argelia_2a32.json | 62 + ideas/aeres/agents/argimiro_a056.json | 76 + ideas/aeres/agents/arika_c660.json | 77 + ideas/aeres/agents/armani_afc0.json | 76 + ideas/aeres/agents/arthur_8e4b.json | 74 + ideas/aeres/agents/arya_9392.json | 76 + ideas/aeres/agents/asdrubale_b348.json | 77 + ideas/aeres/agents/ashanti_3dec.json | 77 + ideas/aeres/agents/ashanti_a3dc.json | 80 + ideas/aeres/agents/asher_dbb8.json | 79 + ideas/aeres/agents/ashley_214c.json | 75 + ideas/aeres/agents/ashley_a0e1.json | 76 + ideas/aeres/agents/asma_b31a.json | 80 + ideas/aeres/agents/assunta_93bc.json | 76 + ideas/aeres/agents/astrid_ccce.json | 76 + ideas/aeres/agents/atahualpa_f74f.json | 76 + ideas/aeres/agents/atticus_b877.json | 76 + ideas/aeres/agents/ausilio_0a19.json | 75 + ideas/aeres/agents/ayanna_d8b1.json | 77 + ideas/aeres/agents/ayanna_e4ae.json | 77 + ideas/aeres/agents/ayllu_e436.json | 76 + ideas/aeres/agents/barbara_0a7d.json | 77 + ideas/aeres/agents/barbara_eb43.json | 78 + ideas/aeres/agents/barrett_a391.json | 72 + ideas/aeres/agents/battista_56c2.json | 77 + ideas/aeres/agents/beatrice_3da1.json | 76 + ideas/aeres/agents/beau_df15.json | 74 + ideas/aeres/agents/bennie_80f6.json | 77 + ideas/aeres/agents/bennie_b2cc.json | 75 + ideas/aeres/agents/bernadette_bfc1.json | 76 + ideas/aeres/agents/bernard_1faf.json | 78 + ideas/aeres/agents/bernard_71d7.json | 18 + ideas/aeres/agents/betty_2d77.json | 76 + ideas/aeres/agents/betty_cf3b.json | 73 + ideas/aeres/agents/betty_d620.json | 75 + ideas/aeres/agents/beverly_d070.json | 76 + ideas/aeres/agents/bhavana_cf6f.json | 74 + ideas/aeres/agents/binghong_6e5b.json | 80 + ideas/aeres/agents/blake_6b3e.json | 75 + ideas/aeres/agents/blanca_95c2.json | 54 + ideas/aeres/agents/bobbie_e564.json | 76 + ideas/aeres/agents/bodhi_cbc6.json | 79 + ideas/aeres/agents/brady_b23d.json | 77 + ideas/aeres/agents/brandon_7eb7.json | 77 + ideas/aeres/agents/brandy_884b.json | 77 + ideas/aeres/agents/brantley_1af6.json | 76 + ideas/aeres/agents/brantley_43f3.json | 75 + ideas/aeres/agents/brenda_77c2.json | 76 + ideas/aeres/agents/brenda_e7ff.json | 79 + ideas/aeres/agents/brenda_fe6a.json | 75 + ideas/aeres/agents/brendan_f42c.json | 74 + ideas/aeres/agents/brielle_29bd.json | 62 + ideas/aeres/agents/brielle_6838.json | 76 + ideas/aeres/agents/brielle_92eb.json | 77 + ideas/aeres/agents/brielle_de75.json | 76 + ideas/aeres/agents/brigida_f4a0.json | 77 + ideas/aeres/agents/brigitta_451d.json | 75 + ideas/aeres/agents/brody_d47e.json | 76 + ideas/aeres/agents/brooks_89f5.json | 77 + ideas/aeres/agents/cade_0c8f.json | 77 + ideas/aeres/agents/cade_66ea.json | 76 + ideas/aeres/agents/cade_e84c.json | 77 + ideas/aeres/agents/caleb_2918.json | 76 + ideas/aeres/agents/callum_391f.json | 77 + ideas/aeres/agents/calvin_3084.json | 77 + ideas/aeres/agents/cameron_6768.json | 77 + ideas/aeres/agents/camille_a83e.json | 78 + ideas/aeres/agents/candace_6ff1.json | 75 + ideas/aeres/agents/candice_8b82.json | 73 + ideas/aeres/agents/candice_d159.json | 76 + ideas/aeres/agents/carmen_09d7.json | 80 + ideas/aeres/agents/carol_ebf3.json | 79 + ideas/aeres/agents/carolyn_3617.json | 79 + ideas/aeres/agents/carolyn_f406.json | 73 + ideas/aeres/agents/cash_6efb.json | 54 + ideas/aeres/agents/catherine_8a37.json | 77 + ideas/aeres/agents/catherine_97a1.json | 76 + ideas/aeres/agents/catherine_9ed4.json | 72 + ideas/aeres/agents/catherine_acc9.json | 75 + ideas/aeres/agents/cesar_6ede.json | 76 + ideas/aeres/agents/chanel_1b0e.json | 71 + ideas/aeres/agents/chantal_5664.json | 76 + ideas/aeres/agents/chantal_93c7.json | 77 + ideas/aeres/agents/charles_c9cc.json | 76 + ideas/aeres/agents/charlotte_32e4.json | 75 + ideas/aeres/agents/chase_4743.json | 80 + ideas/aeres/agents/chavalit_7e89.json | 77 + ideas/aeres/agents/chelsea_66d2.json | 80 + ideas/aeres/agents/cheryl_62be.json | 54 + ideas/aeres/agents/cheryl_8f02.json | 73 + ideas/aeres/agents/chika_ee00.json | 76 + ideas/aeres/agents/christiaan_eb5a.json | 77 + ideas/aeres/agents/christina_174b.json | 77 + ideas/aeres/agents/christina_742c.json | 18 + ideas/aeres/agents/christine_167a.json | 75 + ideas/aeres/agents/christine_4e2d.json | 75 + ideas/aeres/agents/christine_80d2.json | 75 + ideas/aeres/agents/cillian_b7aa.json | 84 + ideas/aeres/agents/cirilla_3c39.json | 75 + ideas/aeres/agents/ciro_ccec.json | 76 + ideas/aeres/agents/citlali_f461.json | 82 + ideas/aeres/agents/clara_52d4.json | 75 + ideas/aeres/agents/clara_9a41.json | 76 + ideas/aeres/agents/clara_ef4a.json | 72 + ideas/aeres/agents/clark_757d.json | 76 + ideas/aeres/agents/cleopatra_58e6.json | 79 + ideas/aeres/agents/clifton_30ae.json | 76 + ideas/aeres/agents/clément_0872.json | 75 + ideas/aeres/agents/cole_6c50.json | 75 + ideas/aeres/agents/condor_6069.json | 79 + ideas/aeres/agents/condor_a1ef.json | 74 + ideas/aeres/agents/cooper_d716.json | 77 + ideas/aeres/agents/coralie_58bb.json | 77 + ideas/aeres/agents/corentin_b141.json | 76 + ideas/aeres/agents/coyolxauhqui_37dd.json | 76 + ideas/aeres/agents/coyolxauhqui_5648.json | 77 + ideas/aeres/agents/coyolxauhqui_cf48.json | 77 + ideas/aeres/agents/coyolxauhqui_e7fe.json | 72 + ideas/aeres/agents/cronida_0b83.json | 75 + ideas/aeres/agents/cruz_9c0e.json | 77 + ideas/aeres/agents/cualli_b30f.json | 77 + ideas/aeres/agents/cuzia_5f3d.json | 76 + ideas/aeres/agents/cynthia_506d.json | 73 + ideas/aeres/agents/cynthia_835d.json | 77 + ideas/aeres/agents/daisy_51d8.json | 76 + ideas/aeres/agents/dakota_26cb.json | 77 + ideas/aeres/agents/dallas_5d15.json | 77 + ideas/aeres/agents/dante_c87e.json | 76 + ideas/aeres/agents/daria_0ed1.json | 75 + ideas/aeres/agents/davi_68ee.json | 75 + ideas/aeres/agents/deanna_832b.json | 76 + ideas/aeres/agents/deborah_5fdf.json | 76 + ideas/aeres/agents/debra_3886.json | 77 + ideas/aeres/agents/debra_7608.json | 77 + ideas/aeres/agents/debra_78ba.json | 77 + ideas/aeres/agents/debra_8dd1.json | 74 + ideas/aeres/agents/debra_a78e.json | 74 + ideas/aeres/agents/debra_fce4.json | 75 + ideas/aeres/agents/deja_39c0.json | 75 + ideas/aeres/agents/deja_7e0a.json | 74 + ideas/aeres/agents/demetria_ea88.json | 73 + ideas/aeres/agents/denise_7983.json | 73 + ideas/aeres/agents/denise_cbb9.json | 79 + ideas/aeres/agents/destiny_2edd.json | 74 + ideas/aeres/agents/diana_a38e.json | 77 + ideas/aeres/agents/diana_dab1.json | 76 + ideas/aeres/agents/didimo_3145.json | 77 + ideas/aeres/agents/diego_35bf.json | 76 + ideas/aeres/agents/diego_7398.json | 75 + ideas/aeres/agents/diego_de71.json | 73 + ideas/aeres/agents/diego_f02b.json | 73 + ideas/aeres/agents/dominique_0004.json | 77 + ideas/aeres/agents/doris_2dc8.json | 75 + ideas/aeres/agents/doris_e436.json | 76 + ideas/aeres/agents/dorothy_251a.json | 76 + ideas/aeres/agents/dorothy_941a.json | 76 + ideas/aeres/agents/dorothy_97da.json | 77 + ideas/aeres/agents/dorothy_b9ee.json | 76 + ideas/aeres/agents/dorothy_c34f.json | 77 + ideas/aeres/agents/earnest_1326.json | 77 + ideas/aeres/agents/ebony_6edb.json | 76 + ideas/aeres/agents/ebony_ea00.json | 76 + ideas/aeres/agents/egizia_4558.json | 72 + ideas/aeres/agents/eilidh_6b6c.json | 77 + ideas/aeres/agents/ekaterina_268b.json | 76 + ideas/aeres/agents/ekaterina_71fe.json | 77 + ideas/aeres/agents/elaine_505a.json | 77 + ideas/aeres/agents/eleanor_9511.json | 77 + ideas/aeres/agents/elena_017e.json | 77 + ideas/aeres/agents/elena_19b7.json | 74 + ideas/aeres/agents/elena_1cae.json | 73 + ideas/aeres/agents/elena_2150.json | 75 + ideas/aeres/agents/elena_2c2d.json | 75 + ideas/aeres/agents/elena_33fd.json | 80 + ideas/aeres/agents/elena_366f.json | 76 + ideas/aeres/agents/elena_3944.json | 77 + ideas/aeres/agents/elena_3ae6.json | 75 + ideas/aeres/agents/elena_3bdf.json | 77 + ideas/aeres/agents/elena_46d3.json | 76 + ideas/aeres/agents/elena_4c77.json | 73 + ideas/aeres/agents/elena_5ba7.json | 77 + ideas/aeres/agents/elena_5dd7.json | 75 + ideas/aeres/agents/elena_6791.json | 75 + ideas/aeres/agents/elena_735d.json | 76 + ideas/aeres/agents/elena_74ae.json | 77 + ideas/aeres/agents/elena_8e9b.json | 75 + ideas/aeres/agents/elena_95ec.json | 74 + ideas/aeres/agents/elena_9771.json | 75 + ideas/aeres/agents/elena_9b4d.json | 77 + ideas/aeres/agents/elena_a386.json | 77 + ideas/aeres/agents/elena_ab35.json | 76 + ideas/aeres/agents/elena_b374.json | 77 + ideas/aeres/agents/elena_b68b.json | 75 + ideas/aeres/agents/elena_b9e1.json | 76 + ideas/aeres/agents/elena_bb3e.json | 74 + ideas/aeres/agents/elena_cb48.json | 73 + ideas/aeres/agents/elena_f4da.json | 76 + ideas/aeres/agents/elena_f6ba.json | 76 + ideas/aeres/agents/elena_fda6.json | 80 + ideas/aeres/agents/elena_fe5e.json | 75 + ideas/aeres/agents/eleni_be73.json | 76 + ideas/aeres/agents/elian_fe3c.json | 78 + ideas/aeres/agents/elias_0fa3.json | 77 + ideas/aeres/agents/elijah_45a7.json | 67 + ideas/aeres/agents/elisa_30ee.json | 74 + ideas/aeres/agents/elisa_4701.json | 77 + ideas/aeres/agents/elisabetta_ac62.json | 69 + ideas/aeres/agents/elizabeth_ec4f.json | 76 + ideas/aeres/agents/ella_f869.json | 75 + ideas/aeres/agents/ellis_a5b2.json | 76 + ideas/aeres/agents/elvia_64ea.json | 76 + ideas/aeres/agents/emani_3130.json | 77 + ideas/aeres/agents/emil_e865.json | 76 + ideas/aeres/agents/emily_0930.json | 77 + ideas/aeres/agents/emily_0f6e.json | 75 + ideas/aeres/agents/emily_1066.json | 93 + ideas/aeres/agents/emily_29cc.json | 73 + ideas/aeres/agents/emily_403d.json | 76 + ideas/aeres/agents/emily_c16f.json | 84 + ideas/aeres/agents/emily_decf.json | 74 + ideas/aeres/agents/emma_3ba1.json | 76 + ideas/aeres/agents/emmanuel_1afa.json | 76 + ideas/aeres/agents/eren_7b4f.json | 76 + ideas/aeres/agents/erica_bcbc.json | 75 + ideas/aeres/agents/erik_0ca3.json | 76 + ideas/aeres/agents/erik_8e20.json | 76 + ideas/aeres/agents/erika_0554.json | 77 + ideas/aeres/agents/erin_39bf.json | 76 + ideas/aeres/agents/erin_6d2b.json | 74 + ideas/aeres/agents/erin_9f76.json | 81 + ideas/aeres/agents/erma_10d6.json | 76 + ideas/aeres/agents/erma_5970.json | 77 + ideas/aeres/agents/ernesto_ff93.json | 77 + ideas/aeres/agents/estelle_9018.json | 76 + ideas/aeres/agents/esther_6f74.json | 76 + ideas/aeres/agents/eterie_de81.json | 73 + ideas/aeres/agents/eusebia_6ab8.json | 77 + ideas/aeres/agents/eusebia_bb32.json | 76 + ideas/aeres/agents/evelyn_d628.json | 76 + ideas/aeres/agents/evremondo_24bc.json | 77 + ideas/aeres/agents/ezra_23c2.json | 75 + ideas/aeres/agents/ezra_5a3d.json | 77 + ideas/aeres/agents/fabiana_55f6.json | 74 + ideas/aeres/agents/faith_80b8.json | 76 + ideas/aeres/agents/felix_fc61.json | 77 + ideas/aeres/agents/finley_59c6.json | 77 + ideas/aeres/agents/finley_ad21.json | 76 + ideas/aeres/agents/finn_3ea1.json | 64 + ideas/aeres/agents/fiorenza_9ee6.json | 76 + ideas/aeres/agents/flaminia_aa52.json | 74 + ideas/aeres/agents/forrest_6717.json | 83 + ideas/aeres/agents/fortunata_9084.json | 76 + ideas/aeres/agents/frances_5cbe.json | 81 + ideas/aeres/agents/francis_7dde.json | 77 + ideas/aeres/agents/frank_2cce.json | 74 + ideas/aeres/agents/freda_66ee.json | 74 + ideas/aeres/agents/freja_3975.json | 76 + ideas/aeres/agents/freja_4e25.json | 76 + ideas/aeres/agents/freja_59dd.json | 73 + ideas/aeres/agents/freja_f2e4.json | 75 + ideas/aeres/agents/fynn_57ae.json | 77 + ideas/aeres/agents/gabriel_e333.json | 74 + ideas/aeres/agents/gael_03c5.json | 77 + ideas/aeres/agents/gary_097d.json | 77 + ideas/aeres/agents/gary_f7ff.json | 77 + ideas/aeres/agents/gene_a69d.json | 77 + ideas/aeres/agents/gene_eb2a.json | 82 + ideas/aeres/agents/geneviève_0458.json | 74 + ideas/aeres/agents/gerard_13cd.json | 50 + ideas/aeres/agents/germana_6e42.json | 74 + ideas/aeres/agents/gia_khiêm_59ef.json | 77 + ideas/aeres/agents/ginette_195c.json | 80 + ideas/aeres/agents/giosuè_8550.json | 76 + ideas/aeres/agents/giustiniano_3a90.json | 66 + ideas/aeres/agents/gladys_93f1.json | 75 + ideas/aeres/agents/gloria_72da.json | 77 + ideas/aeres/agents/gloria_a491.json | 76 + ideas/aeres/agents/gloria_ba29.json | 80 + ideas/aeres/agents/gloria_cc3e.json | 74 + ideas/aeres/agents/gloria_d4b6.json | 81 + ideas/aeres/agents/grace_1838.json | 80 + ideas/aeres/agents/grace_98f2.json | 63 + ideas/aeres/agents/griffin_388a.json | 77 + ideas/aeres/agents/guadalupe_60ab.json | 77 + ideas/aeres/agents/guiberto_5c35.json | 76 + ideas/aeres/agents/haitang_49d4.json | 75 + ideas/aeres/agents/haitham_6fbb.json | 78 + ideas/aeres/agents/haitham_c1f0.json | 72 + ideas/aeres/agents/hannah_e749.json | 77 + ideas/aeres/agents/hardeep_69f8.json | 77 + ideas/aeres/agents/haribon_c796.json | 77 + ideas/aeres/agents/hazel_5e1f.json | 69 + ideas/aeres/agents/heather_327b.json | 64 + ideas/aeres/agents/heather_3864.json | 81 + ideas/aeres/agents/heather_5531.json | 77 + ideas/aeres/agents/heather_fec9.json | 75 + ideas/aeres/agents/heidi_8990.json | 73 + ideas/aeres/agents/helen_18ff.json | 76 + ideas/aeres/agents/helen_37a6.json | 77 + ideas/aeres/agents/helen_54ee.json | 77 + ideas/aeres/agents/helen_5e77.json | 75 + ideas/aeres/agents/helen_67fc.json | 74 + ideas/aeres/agents/helen_7aee.json | 19 + ideas/aeres/agents/hermenegildo_8211.json | 62 + ideas/aeres/agents/hilda_e893.json | 74 + ideas/aeres/agents/hirofumi_9f59.json | 78 + ideas/aeres/agents/hironobu_3eed.json | 74 + ideas/aeres/agents/hitomi_af91.json | 77 + ideas/aeres/agents/hongwei_9ad9.json | 77 + ideas/aeres/agents/huimin_400d.json | 19 + ideas/aeres/agents/huiru_1ef8.json | 76 + ideas/aeres/agents/hélène_1814.json | 72 + ideas/aeres/agents/ida_e6c2.json | 77 + ideas/aeres/agents/ihuicatl_5266.json | 77 + ideas/aeres/agents/illay_63e6.json | 71 + ideas/aeres/agents/imani_3099.json | 76 + ideas/aeres/agents/imani_546f.json | 77 + ideas/aeres/agents/ines_4324.json | 75 + ideas/aeres/agents/ines_b357.json | 77 + ideas/aeres/agents/ines_e21a.json | 73 + ideas/aeres/agents/inez_4363.json | 83 + ideas/aeres/agents/ingrid_81ea.json | 77 + ideas/aeres/agents/ingrid_a98e.json | 74 + ideas/aeres/agents/inti_2003.json | 75 + ideas/aeres/agents/inti_3a31.json | 77 + ideas/aeres/agents/inti_wara_36e9.json | 77 + ideas/aeres/agents/inti_wara_cdcc.json | 77 + ideas/aeres/agents/inès_a163.json | 74 + ideas/aeres/agents/irene_2e5d.json | 77 + ideas/aeres/agents/irene_7c87.json | 64 + ideas/aeres/agents/irene_d413.json | 76 + ideas/aeres/agents/irene_e3be.json | 75 + ideas/aeres/agents/iride_01da.json | 73 + ideas/aeres/agents/iris_2a02.json | 74 + ideas/aeres/agents/isa_6198.json | 76 + ideas/aeres/agents/isabel_fced.json | 77 + ideas/aeres/agents/isabella_5717.json | 77 + ideas/aeres/agents/italia_470b.json | 77 + ideas/aeres/agents/itzcuintli_482c.json | 77 + ideas/aeres/agents/ivan_c6a5.json | 76 + ideas/aeres/agents/jabari_9d29.json | 77 + ideas/aeres/agents/jace_97fb.json | 74 + ideas/aeres/agents/jackie_4ddc.json | 73 + ideas/aeres/agents/jade_d425.json | 77 + ideas/aeres/agents/jade_f4db.json | 77 + ideas/aeres/agents/jaden_a8e3.json | 75 + ideas/aeres/agents/janelle_fd0e.json | 77 + ideas/aeres/agents/janet_fab3.json | 73 + ideas/aeres/agents/janice_ad0a.json | 80 + ideas/aeres/agents/janice_b21e.json | 77 + ideas/aeres/agents/janice_b833.json | 44 + ideas/aeres/agents/janice_d445.json | 77 + ideas/aeres/agents/jared_b38e.json | 77 + ideas/aeres/agents/jasmeet_3751.json | 74 + ideas/aeres/agents/jasmeet_3f75.json | 73 + ideas/aeres/agents/jasper_b569.json | 76 + ideas/aeres/agents/jay_26e6.json | 75 + ideas/aeres/agents/jayce_606b.json | 77 + ideas/aeres/agents/jaylen_ac0d.json | 75 + ideas/aeres/agents/jazmine_35e2.json | 80 + ideas/aeres/agents/jazmine_9655.json | 54 + ideas/aeres/agents/jean_4404.json | 75 + ideas/aeres/agents/jeanette_1c50.json | 73 + ideas/aeres/agents/jeanne_3b5d.json | 74 + ideas/aeres/agents/jeannette_fa43.json | 77 + ideas/aeres/agents/jennifer_03b1.json | 73 + ideas/aeres/agents/jennifer_04fc.json | 76 + ideas/aeres/agents/jennifer_6e26.json | 78 + ideas/aeres/agents/jennifer_74ff.json | 77 + ideas/aeres/agents/jennifer_a50a.json | 75 + ideas/aeres/agents/jennifer_e861.json | 77 + ideas/aeres/agents/jesse_7cae.json | 74 + ideas/aeres/agents/jevon_0ef7.json | 75 + ideas/aeres/agents/jiang_e5aa.json | 86 + ideas/aeres/agents/jiansheng_d3f7.json | 77 + ideas/aeres/agents/jim_c31c.json | 76 + ideas/aeres/agents/jimmy_d88a.json | 76 + ideas/aeres/agents/jinchao_d8b3.json | 80 + ideas/aeres/agents/joel_af8a.json | 76 + ideas/aeres/agents/joey_c04c.json | 74 + ideas/aeres/agents/joey_d28b.json | 75 + ideas/aeres/agents/jona_4067.json | 80 + ideas/aeres/agents/jordan_0882.json | 77 + ideas/aeres/agents/jordan_3460.json | 75 + ideas/aeres/agents/jordan_787a.json | 77 + ideas/aeres/agents/jordan_90af.json | 80 + ideas/aeres/agents/josefina_5a53.json | 19 + ideas/aeres/agents/josep_42cf.json | 77 + ideas/aeres/agents/josephine_ddd2.json | 75 + ideas/aeres/agents/josiah_abf4.json | 63 + ideas/aeres/agents/josue_1a47.json | 75 + ideas/aeres/agents/joy_41f1.json | 77 + ideas/aeres/agents/joyce_1a2b.json | 76 + ideas/aeres/agents/joyce_4c85.json | 73 + ideas/aeres/agents/joyce_85ef.json | 72 + ideas/aeres/agents/joyce_e3da.json | 75 + .../agents/juan_ramón_juan_ramón_0695.json | 77 + ideas/aeres/agents/judah_a14d.json | 70 + ideas/aeres/agents/jude_6a15.json | 76 + ideas/aeres/agents/judith_9f63.json | 74 + ideas/aeres/agents/judith_bde2.json | 78 + ideas/aeres/agents/judy_6df3.json | 75 + ideas/aeres/agents/julia_8c2b.json | 76 + ideas/aeres/agents/julie_3665.json | 78 + ideas/aeres/agents/julie_5a90.json | 76 + ideas/aeres/agents/julie_70bd.json | 79 + ideas/aeres/agents/julie_b6d2.json | 77 + ideas/aeres/agents/julie_bffa.json | 75 + ideas/aeres/agents/julie_cbb4.json | 75 + ideas/aeres/agents/julie_e241.json | 74 + ideas/aeres/agents/june_84bb.json | 63 + ideas/aeres/agents/june_cf73.json | 76 + ideas/aeres/agents/kaden_bef9.json | 76 + ideas/aeres/agents/kaibo_0408.json | 77 + ideas/aeres/agents/kairo_3199.json | 77 + ideas/aeres/agents/kanako_5974.json | 77 + ideas/aeres/agents/kaori_44b2.json | 76 + ideas/aeres/agents/karen_1323.json | 76 + ideas/aeres/agents/karen_afbf.json | 77 + ideas/aeres/agents/katerina_3778.json | 77 + ideas/aeres/agents/kateryna_c86e.json | 77 + ideas/aeres/agents/katherine_a8a3.json | 76 + ideas/aeres/agents/kathleen_2fd1.json | 76 + ideas/aeres/agents/kathleen_6dc7.json | 44 + ideas/aeres/agents/kathleen_cbca.json | 76 + ideas/aeres/agents/keanu_5594.json | 66 + ideas/aeres/agents/keith_1a29.json | 77 + ideas/aeres/agents/kelly_ef24.json | 75 + ideas/aeres/agents/kerry_6369.json | 74 + ideas/aeres/agents/kiara_305b.json | 76 + ideas/aeres/agents/kiara_d146.json | 74 + ideas/aeres/agents/killa_741e.json | 76 + ideas/aeres/agents/kimberly_e921.json | 75 + ideas/aeres/agents/king_4ab1.json | 77 + ideas/aeres/agents/klara_84f2.json | 74 + ideas/aeres/agents/kurt_17ad.json | 77 + ideas/aeres/agents/kwesi_68f3.json | 77 + ideas/aeres/agents/kyoko_59b7.json | 75 + ideas/aeres/agents/lakan_3839.json | 77 + ideas/aeres/agents/lakshmi_67b7.json | 75 + ideas/aeres/agents/lana_472c.json | 74 + ideas/aeres/agents/latria_3678.json | 83 + ideas/aeres/agents/latria_8a16.json | 77 + ideas/aeres/agents/laura_1e9f.json | 76 + ideas/aeres/agents/laura_7af6.json | 77 + ideas/aeres/agents/laura_94b0.json | 75 + ideas/aeres/agents/laura_a3b3.json | 75 + ideas/aeres/agents/laure_7d8d.json | 77 + ideas/aeres/agents/lauren_3f86.json | 76 + ideas/aeres/agents/lauren_7aaa.json | 77 + ideas/aeres/agents/layla_499d.json | 77 + ideas/aeres/agents/layla_63a6.json | 77 + ideas/aeres/agents/layla_b157.json | 76 + ideas/aeres/agents/layla_d584.json | 76 + ideas/aeres/agents/layla_f94a.json | 76 + ideas/aeres/agents/lazaro_a7ce.json | 77 + ideas/aeres/agents/leigh_5bd1.json | 75 + ideas/aeres/agents/leilani_07c0.json | 73 + ideas/aeres/agents/leonardo_8d9b.json | 77 + ideas/aeres/agents/leonida_e6a2.json | 74 + ideas/aeres/agents/letizia_b273.json | 72 + ideas/aeres/agents/lewis_891f.json | 75 + ideas/aeres/agents/lewis_bf32.json | 76 + ideas/aeres/agents/liam_e6cc.json | 73 + ideas/aeres/agents/lilly_4a2b.json | 76 + ideas/aeres/agents/lingjun_b928.json | 78 + ideas/aeres/agents/linh_nhi_c2ed.json | 75 + ideas/aeres/agents/lisa_00c8.json | 76 + ideas/aeres/agents/lisa_0d09.json | 57 + ideas/aeres/agents/lisa_105c.json | 51 + ideas/aeres/agents/lisa_5652.json | 76 + ideas/aeres/agents/liviana_8890.json | 61 + ideas/aeres/agents/lixia_fa64.json | 76 + ideas/aeres/agents/liyan_58ec.json | 75 + ideas/aeres/agents/lora_1aa0.json | 82 + ideas/aeres/agents/lora_ee87.json | 78 + ideas/aeres/agents/lorena_6dc9.json | 75 + ideas/aeres/agents/lorena_b2b8.json | 74 + ideas/aeres/agents/lorena_f051.json | 77 + ideas/aeres/agents/lorenzo_bae3.json | 77 + ideas/aeres/agents/loretta_9c45.json | 75 + ideas/aeres/agents/louise_470e.json | 75 + ideas/aeres/agents/luca_0235.json | 77 + ideas/aeres/agents/luca_7714.json | 75 + ideas/aeres/agents/luka_4c97.json | 78 + ideas/aeres/agents/luka_a44e.json | 77 + ideas/aeres/agents/lukas_8db3.json | 77 + ideas/aeres/agents/lukas_9c6b.json | 75 + ideas/aeres/agents/lynette_1076.json | 75 + ideas/aeres/agents/lynette_575f.json | 76 + ideas/aeres/agents/lynette_b1eb.json | 76 + ideas/aeres/agents/léo_80bd.json | 74 + ideas/aeres/agents/mable_6fb5.json | 74 + ideas/aeres/agents/madison_437c.json | 75 + ideas/aeres/agents/madison_48c7.json | 74 + ideas/aeres/agents/madison_6f58.json | 75 + ideas/aeres/agents/madison_881c.json | 76 + ideas/aeres/agents/magnus_548f.json | 62 + ideas/aeres/agents/maica_64e5.json | 74 + ideas/aeres/agents/maica_7ffc.json | 54 + ideas/aeres/agents/maica_zeth_3a02.json | 77 + ideas/aeres/agents/malik_0e9d.json | 80 + ideas/aeres/agents/malik_3bf9.json | 77 + ideas/aeres/agents/malik_97f3.json | 76 + ideas/aeres/agents/malinalli_c511.json | 73 + ideas/aeres/agents/manon_22ac.json | 74 + ideas/aeres/agents/manuele_26db.json | 76 + ideas/aeres/agents/marcia_42dc.json | 77 + ideas/aeres/agents/marcus_0271.json | 77 + ideas/aeres/agents/marcus_7dad.json | 76 + ideas/aeres/agents/margaret_14c0.json | 74 + ideas/aeres/agents/margaret_c717.json | 76 + ideas/aeres/agents/maria_8c41.json | 80 + ideas/aeres/agents/marie_cc86.json | 76 + ideas/aeres/agents/marilyn_860e.json | 70 + ideas/aeres/agents/marilyn_eb40.json | 76 + ideas/aeres/agents/marina_5119.json | 77 + ideas/aeres/agents/marina_89fa.json | 77 + ideas/aeres/agents/marina_8d05.json | 77 + ideas/aeres/agents/marina_9939.json | 76 + ideas/aeres/agents/marinella_c7b9.json | 75 + ideas/aeres/agents/mark_38ee.json | 77 + ideas/aeres/agents/mark_4823.json | 80 + ideas/aeres/agents/marsha_b25d.json | 76 + ideas/aeres/agents/marsha_ff73.json | 77 + ideas/aeres/agents/marshall_007c.json | 78 + ideas/aeres/agents/marta_4de0.json | 77 + ideas/aeres/agents/marta_maría_a3de.json | 77 + ideas/aeres/agents/martha_230e.json | 76 + ideas/aeres/agents/martin_4d12.json | 76 + ideas/aeres/agents/martine_3da0.json | 78 + ideas/aeres/agents/mary_08de.json | 76 + ideas/aeres/agents/mary_641b.json | 75 + ideas/aeres/agents/mary_9cbf.json | 74 + ideas/aeres/agents/marzia_4137.json | 77 + .../agents/maría_de_los_ángeles_a869.json | 74 + .../agents/maría_de_los_ángeles_ee1b.json | 76 + .../maría_de_los_ángeles_jennifer_a592.json | 75 + ideas/aeres/agents/masahiro_b439.json | 75 + ideas/aeres/agents/mateo_82bc.json | 76 + ideas/aeres/agents/mateo_d381.json | 77 + ideas/aeres/agents/mateo_db5b.json | 77 + ideas/aeres/agents/mateo_fd48.json | 77 + ideas/aeres/agents/mathew_0503.json | 77 + ideas/aeres/agents/matias_4399.json | 76 + ideas/aeres/agents/matilde_23b5.json | 57 + ideas/aeres/agents/matilde_51ea.json | 19 + ideas/aeres/agents/matilde_971c.json | 77 + ideas/aeres/agents/matilde_c696.json | 53 + ideas/aeres/agents/matilde_f373.json | 63 + ideas/aeres/agents/maxwell_d8aa.json | 74 + ideas/aeres/agents/may_5fbe.json | 79 + ideas/aeres/agents/maëva_f66e.json | 75 + ideas/aeres/agents/megan_bd65.json | 70 + ideas/aeres/agents/megan_d4c7.json | 73 + ideas/aeres/agents/mei-ling_2162.json | 76 + ideas/aeres/agents/melba_9633.json | 83 + ideas/aeres/agents/melisa_4b86.json | 74 + ideas/aeres/agents/melissa_5717.json | 74 + ideas/aeres/agents/mels_1224.json | 61 + ideas/aeres/agents/mengxi_5e12.json | 76 + ideas/aeres/agents/messiah_10b2.json | 76 + ideas/aeres/agents/michele_b41b.json | 54 + ideas/aeres/agents/michelle_043d.json | 77 + ideas/aeres/agents/michelle_1403.json | 63 + ideas/aeres/agents/michelle_544a.json | 76 + ideas/aeres/agents/michelle_b383.json | 76 + ideas/aeres/agents/michelle_bb7a.json | 76 + ideas/aeres/agents/michelle_ef6e.json | 77 + ideas/aeres/agents/miguel_fbd3.json | 63 + ideas/aeres/agents/mila_a2ab.json | 73 + ideas/aeres/agents/milo_89a9.json | 77 + ideas/aeres/agents/minh_thương_94b2.json | 76 + ideas/aeres/agents/molly_5a6f.json | 77 + ideas/aeres/agents/momomi_054b.json | 77 + ideas/aeres/agents/mona_3f3a.json | 77 + ideas/aeres/agents/monica_9ae3.json | 77 + ideas/aeres/agents/mukund_97f6.json | 77 + ideas/aeres/agents/myles_a6e9.json | 77 + ideas/aeres/agents/myles_fc9d.json | 76 + ideas/aeres/agents/mylène_d25e.json | 75 + ideas/aeres/agents/na_9223.json | 73 + ideas/aeres/agents/natalia_49a4.json | 77 + ideas/aeres/agents/natalie_dcc7.json | 74 + ideas/aeres/agents/natasha_7486.json | 73 + ideas/aeres/agents/naya_fd12.json | 77 + ideas/aeres/agents/nellie_c5b2.json | 73 + ideas/aeres/agents/nettie_799d.json | 77 + ideas/aeres/agents/nia_8179.json | 75 + ideas/aeres/agents/niko_91c2.json | 77 + ideas/aeres/agents/nikolas_f545.json | 76 + ideas/aeres/agents/nilde_aa10.json | 76 + ideas/aeres/agents/nils_9b41.json | 76 + ideas/aeres/agents/nina_2065.json | 85 + ideas/aeres/agents/nina_73a7.json | 73 + ideas/aeres/agents/niran_a9ae.json | 75 + ideas/aeres/agents/nonna_b741.json | 77 + ideas/aeres/agents/noriko_a057.json | 76 + ideas/aeres/agents/norina_a836.json | 78 + ideas/aeres/agents/norma_6de8.json | 75 + ideas/aeres/agents/nour_e33f.json | 76 + ideas/aeres/agents/noémie_5945.json | 80 + ideas/aeres/agents/nuccia_e8cd.json | 75 + ideas/aeres/agents/odette_466a.json | 79 + ideas/aeres/agents/oksana_1fda.json | 77 + ideas/aeres/agents/oksana_c059.json | 76 + ideas/aeres/agents/oksana_c485.json | 76 + ideas/aeres/agents/olga_aa5a.json | 77 + ideas/aeres/agents/olga_f0ff.json | 77 + ideas/aeres/agents/olivia_8642.json | 72 + ideas/aeres/agents/olivia_9a5b.json | 77 + ideas/aeres/agents/olivia_d472.json | 73 + ideas/aeres/agents/olivia_e940.json | 76 + ideas/aeres/agents/omar_1131.json | 77 + ideas/aeres/agents/omar_4971.json | 77 + ideas/aeres/agents/omar_78fb.json | 76 + ideas/aeres/agents/omar_f0db.json | 72 + ideas/aeres/agents/ondina_1feb.json | 76 + ideas/aeres/agents/orlando_8cd2.json | 77 + ideas/aeres/agents/orlando_e7b9.json | 77 + ideas/aeres/agents/pamela_42be.json | 74 + ideas/aeres/agents/pamela_523f.json | 77 + ideas/aeres/agents/patricia_534d.json | 72 + ideas/aeres/agents/patricia_5a11.json | 19 + ideas/aeres/agents/patricia_79a5.json | 76 + ideas/aeres/agents/patricia_a780.json | 74 + ideas/aeres/agents/patricia_f0d3.json | 72 + ideas/aeres/agents/patricia_fb33.json | 77 + ideas/aeres/agents/paul_b9c5.json | 75 + ideas/aeres/agents/paula_14cd.json | 75 + ideas/aeres/agents/pauline_78b6.json | 76 + ideas/aeres/agents/pedro_d94d.json | 77 + ideas/aeres/agents/phyllis_5ae0.json | 76 + ideas/aeres/agents/pierre_da4e.json | 76 + ideas/aeres/agents/prakash_19bf.json | 77 + ideas/aeres/agents/prakash_27e5.json | 77 + ideas/aeres/agents/preston_ec1c.json | 76 + ideas/aeres/agents/priscilla_e03e.json | 76 + ideas/aeres/agents/pío_485b.json | 77 + ideas/aeres/agents/pío_cc51.json | 77 + ideas/aeres/agents/qianqian_67bf.json | 74 + ideas/aeres/agents/qianying_7c75.json | 77 + ideas/aeres/agents/qiaoyan_b318.json | 75 + ideas/aeres/agents/qingqing_1a9f.json | 77 + ideas/aeres/agents/qinyu_96de.json | 77 + ideas/aeres/agents/qiuyue_1215.json | 74 + ideas/aeres/agents/quartilla_090f.json | 77 + ideas/aeres/agents/quetzalli_c887.json | 77 + ideas/aeres/agents/rachel_24cd.json | 81 + ideas/aeres/agents/rachel_3054.json | 73 + ideas/aeres/agents/rachel_664b.json | 70 + ideas/aeres/agents/rachel_b4bf.json | 77 + ideas/aeres/agents/rachel_efe7.json | 77 + ideas/aeres/agents/raul_be69.json | 76 + ideas/aeres/agents/raymond_2e1a.json | 77 + ideas/aeres/agents/raymond_b9f5.json | 76 + ideas/aeres/agents/rebecca_ae90.json | 75 + ideas/aeres/agents/rebecca_bee9.json | 76 + ideas/aeres/agents/regina_5514.json | 77 + ideas/aeres/agents/rhea_97bd.json | 76 + ideas/aeres/agents/rhett_dd70.json | 53 + ideas/aeres/agents/richard_286f.json | 77 + ideas/aeres/agents/richard_9068.json | 77 + ideas/aeres/agents/richard_c39c.json | 76 + ideas/aeres/agents/rika_40f5.json | 76 + ideas/aeres/agents/river_177d.json | 77 + ideas/aeres/agents/robin_1565.json | 76 + ideas/aeres/agents/robyn_3728.json | 74 + ideas/aeres/agents/robyn_8637.json | 76 + ideas/aeres/agents/roman_489f.json | 77 + ideas/aeres/agents/rosalie_2334.json | 76 + ideas/aeres/agents/rosalie_c58a.json | 77 + ideas/aeres/agents/rosanna_c0d6.json | 74 + ideas/aeres/agents/rose_4018.json | 76 + ideas/aeres/agents/rose_e737.json | 82 + ideas/aeres/agents/roser_3618.json | 19 + ideas/aeres/agents/roser_49e2.json | 75 + ideas/aeres/agents/roser_a4fd.json | 76 + ideas/aeres/agents/roser_e220.json | 77 + ideas/aeres/agents/rosie_c850.json | 75 + ideas/aeres/agents/roxy_0ef9.json | 83 + ideas/aeres/agents/ruoqi_a02b.json | 73 + ideas/aeres/agents/ryoko_5b31.json | 77 + ideas/aeres/agents/sabato_4d8e.json | 76 + ideas/aeres/agents/sabato_ca5c.json | 82 + ideas/aeres/agents/sabrina_8a5f.json | 77 + ideas/aeres/agents/sacha_0f56.json | 76 + ideas/aeres/agents/saga_a02f.json | 79 + ideas/aeres/agents/salvador_512d.json | 77 + ideas/aeres/agents/samantha_3a13.json | 66 + ideas/aeres/agents/samantha_a8c2.json | 73 + ideas/aeres/agents/samantha_d97a.json | 74 + ideas/aeres/agents/sandra_dd6b.json | 81 + ideas/aeres/agents/sandrine_571b.json | 73 + ideas/aeres/agents/saoirse_0b73.json | 65 + ideas/aeres/agents/saoirse_e5fc.json | 75 + ideas/aeres/agents/sara_aaee.json | 77 + ideas/aeres/agents/sara_c869.json | 53 + ideas/aeres/agents/sara_e5df.json | 76 + ideas/aeres/agents/sara_f4ce.json | 77 + ideas/aeres/agents/sarah_8d78.json | 75 + ideas/aeres/agents/sarah_a0db.json | 75 + ideas/aeres/agents/sarah_ac57.json | 78 + ideas/aeres/agents/sarah_d31a.json | 75 + ideas/aeres/agents/satish_2727.json | 76 + ideas/aeres/agents/satsuki_c368.json | 79 + ideas/aeres/agents/satsuki_de43.json | 77 + ideas/aeres/agents/savina_f044.json | 75 + ideas/aeres/agents/sawyer_d548.json | 77 + ideas/aeres/agents/sayri_9523.json | 74 + ideas/aeres/agents/sekou_6cda.json | 62 + ideas/aeres/agents/sekou_c1db.json | 76 + ideas/aeres/agents/senna_042a.json | 96 + ideas/aeres/agents/shannon_3e32.json | 74 + ideas/aeres/agents/shannon_57ea.json | 75 + ideas/aeres/agents/shanti_17c2.json | 77 + ideas/aeres/agents/sharon_1d36.json | 75 + ideas/aeres/agents/sheldon_c58d.json | 77 + ideas/aeres/agents/shen_1627.json | 77 + ideas/aeres/agents/shirley_21b1.json | 76 + ideas/aeres/agents/shirley_2a7a.json | 81 + ideas/aeres/agents/shirley_3e77.json | 76 + ideas/aeres/agents/shozo_2137.json | 77 + ideas/aeres/agents/sigrid_91cb.json | 77 + ideas/aeres/agents/sinesio_172f.json | 77 + ideas/aeres/agents/sita_7fd5.json | 77 + ideas/aeres/agents/sloane_1ea2.json | 76 + ideas/aeres/agents/smriti_384e.json | 77 + ideas/aeres/agents/sofie_67a6.json | 78 + ideas/aeres/agents/solene_fe28.json | 74 + ideas/aeres/agents/solène_374f.json | 51 + ideas/aeres/agents/sophia_8de4.json | 77 + ideas/aeres/agents/stefano_a5c4.json | 77 + ideas/aeres/agents/stephanie_b174.json | 76 + ideas/aeres/agents/stephanie_c2d0.json | 75 + ideas/aeres/agents/stephanie_cfa0.json | 64 + ideas/aeres/agents/sukhdev_c8d2.json | 77 + ideas/aeres/agents/sumaq_pío_7a56.json | 77 + ideas/aeres/agents/sumitra_d316.json | 75 + ideas/aeres/agents/susan_ac24.json | 73 + ideas/aeres/agents/sylvester_d3cd.json | 77 + ideas/aeres/agents/tabita_cab6.json | 75 + ideas/aeres/agents/takeshi_7762.json | 76 + ideas/aeres/agents/tala_1c90.json | 77 + ideas/aeres/agents/tameka_bab7.json | 72 + ideas/aeres/agents/taruna_7311.json | 77 + ideas/aeres/agents/tecum_65d4.json | 76 + ideas/aeres/agents/teicui_e6f3.json | 73 + ideas/aeres/agents/teodata_1420.json | 74 + ideas/aeres/agents/teodosio_0f5d.json | 76 + ideas/aeres/agents/teresa_8ef5.json | 76 + ideas/aeres/agents/terrell_9fe3.json | 64 + ideas/aeres/agents/terrell_f8a3.json | 63 + ideas/aeres/agents/terrence_942c.json | 75 + ideas/aeres/agents/tezcan_tommy_c8e1.json | 77 + ideas/aeres/agents/tezcatlipoca_c758.json | 77 + ideas/aeres/agents/thabo_bf4d.json | 77 + ideas/aeres/agents/thalea_8104.json | 73 + ideas/aeres/agents/thalia_a2a8.json | 77 + ideas/aeres/agents/thanh_hoa_fe10.json | 77 + ideas/aeres/agents/theodore_46db.json | 68 + ideas/aeres/agents/theresa_3897.json | 76 + ideas/aeres/agents/theresa_a166.json | 73 + ideas/aeres/agents/thiên_duyên_2ef0.json | 75 + ideas/aeres/agents/tim_d5f2.json | 77 + ideas/aeres/agents/timothy_06a5.json | 76 + ideas/aeres/agents/timothy_82dd.json | 77 + ideas/aeres/agents/tina_4377.json | 85 + ideas/aeres/agents/tlahuicole_a75c.json | 75 + ideas/aeres/agents/tlahuicole_c820.json | 80 + ideas/aeres/agents/tlalli_5f89.json | 77 + ideas/aeres/agents/tonantzin_08f3.json | 80 + ideas/aeres/agents/tonantzin_a72e.json | 79 + ideas/aeres/agents/tonantzin_d969.json | 71 + ideas/aeres/agents/tristan_68a8.json | 76 + ideas/aeres/agents/trọng_hùng_9e5c.json | 77 + ideas/aeres/agents/tyra_1ce9.json | 74 + ideas/aeres/agents/tyrone_e483.json | 77 + ideas/aeres/agents/tường_vi_a946.json | 92 + ideas/aeres/agents/ulrika_950b.json | 74 + ideas/aeres/agents/ulyana_352c.json | 77 + ideas/aeres/agents/vaishali_d830.json | 54 + ideas/aeres/agents/varun_8664.json | 77 + ideas/aeres/agents/vasilisa_4799.json | 75 + ideas/aeres/agents/vera_52fb.json | 75 + ideas/aeres/agents/victor_aefb.json | 77 + ideas/aeres/agents/victoria_7ad9.json | 76 + ideas/aeres/agents/vidiano_e862.json | 77 + ideas/aeres/agents/viktor_4299.json | 75 + ideas/aeres/agents/viktor_5eb3.json | 78 + ideas/aeres/agents/viktor_b039.json | 75 + ideas/aeres/agents/viktor_efd0.json | 77 + ideas/aeres/agents/vincent_838e.json | 77 + ideas/aeres/agents/virginia_0040.json | 74 + ideas/aeres/agents/virginia_c8c8.json | 48 + ideas/aeres/agents/virginia_db05.json | 18 + ideas/aeres/agents/waed_661a.json | 76 + ideas/aeres/agents/warda_8b4e.json | 77 + ideas/aeres/agents/warren_97be.json | 76 + ideas/aeres/agents/wayna_29d6.json | 71 + ideas/aeres/agents/whitney_e735.json | 77 + ideas/aeres/agents/wilbur_97cb.json | 76 + ideas/aeres/agents/william_9dbe.json | 77 + ideas/aeres/agents/willie_5800.json | 77 + ideas/aeres/agents/willie_d671.json | 76 + ideas/aeres/agents/wilma_b21d.json | 76 + ideas/aeres/agents/wilson_8776.json | 76 + ideas/aeres/agents/xiangyan_bece.json | 54 + ideas/aeres/agents/xianjun_f9ef.json | 77 + ideas/aeres/agents/xiaofeng_9dab.json | 76 + ideas/aeres/agents/xiaolan_019a.json | 81 + ideas/aeres/agents/xiaoxue_793a.json | 76 + ideas/aeres/agents/xin_237e.json | 76 + ideas/aeres/agents/xochitl_8e5e.json | 77 + ideas/aeres/agents/xueying_5917.json | 75 + ideas/aeres/agents/yanping_ffc2.json | 77 + ideas/aeres/agents/yanru_1990.json | 77 + ideas/aeres/agents/yara_ddea.json | 72 + ideas/aeres/agents/yaroslava_a014.json | 75 + ideas/aeres/agents/yassir_f86d.json | 77 + ideas/aeres/agents/yingjun_8829.json | 81 + ideas/aeres/agents/yingjun_9893.json | 77 + ideas/aeres/agents/yoko_82ca.json | 77 + ideas/aeres/agents/yolanda_79d2.json | 76 + ideas/aeres/agents/yoshiaki_7f4d.json | 76 + ideas/aeres/agents/yusef_cd42.json | 64 + ideas/aeres/agents/yuxia_1f0c.json | 77 + ideas/aeres/agents/zayden_0d09.json | 77 + ideas/aeres/agents/zeina_5272.json | 72 + ideas/aeres/agents/zhihong_94e9.json | 77 + ideas/aeres/agents/zhijun_fa24.json | 78 + ideas/aeres/agents/zixuan_019e.json | 75 + ideas/aeres/agents/zola_dba7.json | 77 + ideas/aeres/agents/zolin_e74a.json | 77 + ideas/aeres/agents/zoya_9267.json | 74 + ideas/aeres/agents/émilie_47ac.json | 76 + ideas/aeres/go.mod | 54 + ideas/aeres/go.sum | 144 ++ ideas/aeres/index.html | 1263 +++++++++++ ideas/aeres/main.go | 1905 +++++++++++++++++ ideas/aeres/run.sh | 15 + internal/adapter/deployer/resources.go | 5 + internal/adapter/sdlc/worker_executor.go | 452 ++++ internal/adapter/sdlc/worker_executor_test.go | 269 +++ .../components/worker/.env.example.tmpl | 10 +- .../components/worker/cmd/worker/main.go.tmpl | 87 +- .../migrations/001_create_jobs.sql.tmpl | 32 + .../templates/components/worker/go.mod.tmpl | 5 +- .../worker/internal/config/config.go.tmpl | 23 +- .../worker/internal/handlers/handler.go.tmpl | 131 +- .../.claude/agents/queue-specialist.md | 282 +++ .../.claude/agents/realtime-specialist.md | 300 +++ .../.claude/commands/implement-feature.md | 100 + .../.claude/skills/microservices/SKILL.md | 305 +++ .../skeleton/pkg/database/db.go.tmpl | 168 ++ .../skeleton/pkg/database/migrate.go.tmpl | 147 ++ .../skeleton/pkg/database/tx.go.tmpl | 107 + .../templates/skeleton/pkg/go.mod.tmpl | 4 + .../skeleton/pkg/httpclient/circuit.go.tmpl | 177 ++ .../skeleton/pkg/httpclient/client.go.tmpl | 48 +- .../skeleton/pkg/queue/middleware.go.tmpl | 123 ++ .../queue/migrations/001_create_jobs.sql.tmpl | 32 + .../skeleton/pkg/queue/postgres.go.tmpl | 278 +++ .../skeleton/pkg/queue/queue.go.tmpl | 110 + .../skeleton/pkg/realtime/handler.go.tmpl | 176 ++ .../skeleton/pkg/realtime/hub.go.tmpl | 237 ++ .../skeleton/pkg/realtime/realtime.go.tmpl | 149 ++ .../skeleton/pkg/realtime/redis.go.tmpl | 166 ++ .../skeleton/pkg/realtime/websocket.go.tmpl | 223 ++ .../templates/skeleton/pkg/svc/client.go.tmpl | 183 ++ .../skeleton/pkg/svc/discovery.go.tmpl | 64 + internal/domain/component.go | 11 + internal/domain/component_test.go | 30 + internal/domain/deployment.go | 5 + internal/domain/sdlc_callback.go | 72 + internal/domain/work.go | 22 +- internal/handlers/builds_test.go | 6 +- internal/handlers/components.go | 25 +- .../handlers/components_operations_test.go | 15 +- internal/handlers/components_test.go | 8 +- internal/handlers/create_and_build.go | 18 +- internal/handlers/diagnostics.go | 20 +- internal/handlers/diagnostics_test.go | 6 +- internal/handlers/project_management.go | 38 +- internal/handlers/project_management_test.go | 29 +- internal/handlers/sdlc.go | 8 +- internal/handlers/sdlc_callback.go | 82 + internal/handlers/sdlc_generate.go | 87 + internal/handlers/sdlc_orchestrator.go | 8 +- internal/handlers/sdlc_orchestrator_test.go | 5 +- internal/handlers/sdlc_test.go | 8 +- internal/handlers/verify_test.go | 16 +- internal/handlers/woodpecker_webhook.go | 40 +- internal/handlers/woodpecker_webhook_test.go | 12 +- internal/handlers/work_lifecycle_test.go | 10 +- internal/handlers/work_test.go | 6 +- internal/handlers/workers_test.go | 6 +- internal/logging/audit.go | 142 ++ internal/logging/config.go | 90 + internal/logging/context.go | 70 + internal/logging/fields.go | 72 + internal/logging/format.go | 38 + internal/logging/handler.go | 73 + internal/logging/levels.go | 65 + internal/logging/logger.go | 152 ++ internal/logging/logger_test.go | 215 ++ internal/logging/middleware.go | 145 ++ internal/logging/middleware_test.go | 272 +++ internal/logging/nop.go | 24 + internal/logging/redact.go | 120 ++ internal/logging/redact_test.go | 301 +++ internal/service/build_service.go | 101 +- internal/service/build_service_test.go | 18 +- internal/service/component.go | 250 +-- internal/service/component_deploy.go | 75 +- internal/service/component_infra.go | 141 ++ internal/service/component_listing.go | 215 ++ internal/service/component_test.go | 712 ++++++ internal/service/component_updates.go | 4 +- internal/service/diagnostics_service.go | 30 +- internal/service/operation_service.go | 55 +- internal/service/project_infra.go | 8 - internal/service/project_infra_crud.go | 122 +- internal/service/project_infra_domains.go | 14 +- internal/service/sdlc_callback.go | 122 ++ internal/service/sdlc_callback_test.go | 89 + internal/service/sdlc_generate.go | 161 ++ internal/service/sdlc_generate_test.go | 106 + internal/service/sdlc_orchestrator.go | 32 +- internal/service/sdlc_orchestrator_test.go | 4 +- internal/service/sdlc_service.go | 248 ++- internal/service/sdlc_service_test.go | 54 +- internal/service/verify_service.go | 18 +- internal/service/work_service.go | 59 +- internal/service/work_service_test.go | 2 +- internal/service/worker_service.go | 68 +- internal/service/worker_service_test.go | 26 +- internal/worker/build_executor.go | 70 +- internal/worker/external_health.go | 2 +- internal/worker/mock_test.go | 4 +- internal/worker/operation_cleanup.go | 2 +- internal/worker/queue_maintenance.go | 4 +- internal/worker/queue_processor.go | 2 +- internal/worker/sdlc_executor.go | 273 +++ internal/worker/sdlc_executor_test.go | 157 ++ internal/worker/timeouts.go | 30 + internal/worker/work_executor.go | 13 +- internal/worker/work_executor_test.go | 8 +- slack-preparation-thoughts-2.md | 75 + slack-preparation-thoughts.md | 67 + 1053 files changed, 84584 insertions(+), 831 deletions(-) create mode 100644 aeries-preparation-thoughts.md create mode 100644 cookbooks/trees/aeries-1-genesis.yaml create mode 100644 cookbooks/trees/full-stack-feature.yaml create mode 100644 cookbooks/trees/slackpath-1-authenticated-service.yaml create mode 100644 cookbooks/trees/slackpath-2-async-worker-pipeline.yaml create mode 100644 cookbooks/trees/slackpath-3-realtime-chat.yaml create mode 100644 cookbooks/trees/slackpath-4-microservice-constellation.yaml create mode 100644 docs/legal/patent-disclosure.docx create mode 100644 docs/legal/patent-disclosure.md create mode 100644 docs/legal/patent-figures.docx create mode 100644 docs/legal/patent-figures.md create mode 100644 docs/legal/patent-specification.docx create mode 100644 docs/legal/patent-specification.md create mode 100644 ideas/aeres/PRIORITIES.md create mode 100644 ideas/aeres/agents/aaliyah_deed.json create mode 100644 ideas/aeres/agents/aaliyah_f6af.json create mode 100644 ideas/aeres/agents/aaliyah_fe64.json create mode 100644 ideas/aeres/agents/abel_0f05.json create mode 100644 ideas/aeres/agents/abel_8886.json create mode 100644 ideas/aeres/agents/abel_c0cd.json create mode 100644 ideas/aeres/agents/acatlina_c1d3.json create mode 100644 ideas/aeres/agents/ada_ceef.json create mode 100644 ideas/aeres/agents/adam_5872.json create mode 100644 ideas/aeres/agents/adam_bde7.json create mode 100644 ideas/aeres/agents/adrien_0900.json create mode 100644 ideas/aeres/agents/agnes_0478.json create mode 100644 ideas/aeres/agents/agnes_e0f8.json create mode 100644 ideas/aeres/agents/ai_1401.json create mode 100644 ideas/aeres/agents/aida_6e2b.json create mode 100644 ideas/aeres/agents/aina_8afd.json create mode 100644 ideas/aeres/agents/aiyana_153a.json create mode 100644 ideas/aeres/agents/akash_867d.json create mode 100644 ideas/aeres/agents/akilah_6c11.json create mode 100644 ideas/aeres/agents/akilah_b8b5.json create mode 100644 ideas/aeres/agents/alain_0fbd.json create mode 100644 ideas/aeres/agents/alan_1d26.json create mode 100644 ideas/aeres/agents/alea_d4ca.json create mode 100644 ideas/aeres/agents/alejandro_3114.json create mode 100644 ideas/aeres/agents/alejandro_57b5.json create mode 100644 ideas/aeres/agents/alessandra_07ee.json create mode 100644 ideas/aeres/agents/alessandra_ad93.json create mode 100644 ideas/aeres/agents/alessandra_f7c3.json create mode 100644 ideas/aeres/agents/alessia_b84e.json create mode 100644 ideas/aeres/agents/alevtina_b781.json create mode 100644 ideas/aeres/agents/alice_0f95.json create mode 100644 ideas/aeres/agents/alice_4948.json create mode 100644 ideas/aeres/agents/alice_9d48.json create mode 100644 ideas/aeres/agents/alla_6959.json create mode 100644 ideas/aeres/agents/alok_9245.json create mode 100644 ideas/aeres/agents/alton_1a65.json create mode 100644 ideas/aeres/agents/alva_11e4.json create mode 100644 ideas/aeres/agents/amanda_25d3.json create mode 100644 ideas/aeres/agents/amanda_3fcf.json create mode 100644 ideas/aeres/agents/amara_dd2f.json create mode 100644 ideas/aeres/agents/amari_2977.json create mode 100644 ideas/aeres/agents/amaru_516e.json create mode 100644 ideas/aeres/agents/ameyalli_45af.json create mode 100644 ideas/aeres/agents/amira_9e2f.json create mode 100644 ideas/aeres/agents/amira_c35c.json create mode 100644 ideas/aeres/agents/amira_c854.json create mode 100644 ideas/aeres/agents/amy_0734.json create mode 100644 ideas/aeres/agents/amy_41e9.json create mode 100644 ideas/aeres/agents/ana_júlia_bef4.json create mode 100644 ideas/aeres/agents/ana_laura_5bec.json create mode 100644 ideas/aeres/agents/anastasia_f431.json create mode 100644 ideas/aeres/agents/anaïs_3e8c.json create mode 100644 ideas/aeres/agents/andre_1712.json create mode 100644 ideas/aeres/agents/andre_336d.json create mode 100644 ideas/aeres/agents/andre_44a9.json create mode 100644 ideas/aeres/agents/andrea_a209.json create mode 100644 ideas/aeres/agents/andrea_a805.json create mode 100644 ideas/aeres/agents/andrei_37c5.json create mode 100644 ideas/aeres/agents/andres_6bd4.json create mode 100644 ideas/aeres/agents/andré_4b9e.json create mode 100644 ideas/aeres/agents/angel_9990.json create mode 100644 ideas/aeres/agents/angela_10d4.json create mode 100644 ideas/aeres/agents/angela_e322.json create mode 100644 ideas/aeres/agents/angela_fdb6.json create mode 100644 ideas/aeres/agents/aniceto_fddc.json create mode 100644 ideas/aeres/agents/anja_6cfb.json create mode 100644 ideas/aeres/agents/anju_fb38.json create mode 100644 ideas/aeres/agents/ann_0add.json create mode 100644 ideas/aeres/agents/ann_4cd6.json create mode 100644 ideas/aeres/agents/anna_69e9.json create mode 100644 ideas/aeres/agents/anna_c129.json create mode 100644 ideas/aeres/agents/annabella_2997.json create mode 100644 ideas/aeres/agents/anni_laura_9c8c.json create mode 100644 ideas/aeres/agents/anni_maica_acf3.json create mode 100644 ideas/aeres/agents/annie_391c.json create mode 100644 ideas/aeres/agents/anthony_80a3.json create mode 100644 ideas/aeres/agents/antoine_1404.json create mode 100644 ideas/aeres/agents/antoinette_2cc2.json create mode 100644 ideas/aeres/agents/antoinette_7ef7.json create mode 100644 ideas/aeres/agents/aoi_ee74.json create mode 100644 ideas/aeres/agents/april_abd3.json create mode 100644 ideas/aeres/agents/april_f835.json create mode 100644 ideas/aeres/agents/arabella_a9d5.json create mode 100644 ideas/aeres/agents/arabella_dd7f.json create mode 100644 ideas/aeres/agents/archie_8607.json create mode 100644 ideas/aeres/agents/argelia_2a32.json create mode 100644 ideas/aeres/agents/argimiro_a056.json create mode 100644 ideas/aeres/agents/arika_c660.json create mode 100644 ideas/aeres/agents/armani_afc0.json create mode 100644 ideas/aeres/agents/arthur_8e4b.json create mode 100644 ideas/aeres/agents/arya_9392.json create mode 100644 ideas/aeres/agents/asdrubale_b348.json create mode 100644 ideas/aeres/agents/ashanti_3dec.json create mode 100644 ideas/aeres/agents/ashanti_a3dc.json create mode 100644 ideas/aeres/agents/asher_dbb8.json create mode 100644 ideas/aeres/agents/ashley_214c.json create mode 100644 ideas/aeres/agents/ashley_a0e1.json create mode 100644 ideas/aeres/agents/asma_b31a.json create mode 100644 ideas/aeres/agents/assunta_93bc.json create mode 100644 ideas/aeres/agents/astrid_ccce.json create mode 100644 ideas/aeres/agents/atahualpa_f74f.json create mode 100644 ideas/aeres/agents/atticus_b877.json create mode 100644 ideas/aeres/agents/ausilio_0a19.json create mode 100644 ideas/aeres/agents/ayanna_d8b1.json create mode 100644 ideas/aeres/agents/ayanna_e4ae.json create mode 100644 ideas/aeres/agents/ayllu_e436.json create mode 100644 ideas/aeres/agents/barbara_0a7d.json create mode 100644 ideas/aeres/agents/barbara_eb43.json create mode 100644 ideas/aeres/agents/barrett_a391.json create mode 100644 ideas/aeres/agents/battista_56c2.json create mode 100644 ideas/aeres/agents/beatrice_3da1.json create mode 100644 ideas/aeres/agents/beau_df15.json create mode 100644 ideas/aeres/agents/bennie_80f6.json create mode 100644 ideas/aeres/agents/bennie_b2cc.json create mode 100644 ideas/aeres/agents/bernadette_bfc1.json create mode 100644 ideas/aeres/agents/bernard_1faf.json create mode 100644 ideas/aeres/agents/bernard_71d7.json create mode 100644 ideas/aeres/agents/betty_2d77.json create mode 100644 ideas/aeres/agents/betty_cf3b.json create mode 100644 ideas/aeres/agents/betty_d620.json create mode 100644 ideas/aeres/agents/beverly_d070.json create mode 100644 ideas/aeres/agents/bhavana_cf6f.json create mode 100644 ideas/aeres/agents/binghong_6e5b.json create mode 100644 ideas/aeres/agents/blake_6b3e.json create mode 100644 ideas/aeres/agents/blanca_95c2.json create mode 100644 ideas/aeres/agents/bobbie_e564.json create mode 100644 ideas/aeres/agents/bodhi_cbc6.json create mode 100644 ideas/aeres/agents/brady_b23d.json create mode 100644 ideas/aeres/agents/brandon_7eb7.json create mode 100644 ideas/aeres/agents/brandy_884b.json create mode 100644 ideas/aeres/agents/brantley_1af6.json create mode 100644 ideas/aeres/agents/brantley_43f3.json create mode 100644 ideas/aeres/agents/brenda_77c2.json create mode 100644 ideas/aeres/agents/brenda_e7ff.json create mode 100644 ideas/aeres/agents/brenda_fe6a.json create mode 100644 ideas/aeres/agents/brendan_f42c.json create mode 100644 ideas/aeres/agents/brielle_29bd.json create mode 100644 ideas/aeres/agents/brielle_6838.json create mode 100644 ideas/aeres/agents/brielle_92eb.json create mode 100644 ideas/aeres/agents/brielle_de75.json create mode 100644 ideas/aeres/agents/brigida_f4a0.json create mode 100644 ideas/aeres/agents/brigitta_451d.json create mode 100644 ideas/aeres/agents/brody_d47e.json create mode 100644 ideas/aeres/agents/brooks_89f5.json create mode 100644 ideas/aeres/agents/cade_0c8f.json create mode 100644 ideas/aeres/agents/cade_66ea.json create mode 100644 ideas/aeres/agents/cade_e84c.json create mode 100644 ideas/aeres/agents/caleb_2918.json create mode 100644 ideas/aeres/agents/callum_391f.json create mode 100644 ideas/aeres/agents/calvin_3084.json create mode 100644 ideas/aeres/agents/cameron_6768.json create mode 100644 ideas/aeres/agents/camille_a83e.json create mode 100644 ideas/aeres/agents/candace_6ff1.json create mode 100644 ideas/aeres/agents/candice_8b82.json create mode 100644 ideas/aeres/agents/candice_d159.json create mode 100644 ideas/aeres/agents/carmen_09d7.json create mode 100644 ideas/aeres/agents/carol_ebf3.json create mode 100644 ideas/aeres/agents/carolyn_3617.json create mode 100644 ideas/aeres/agents/carolyn_f406.json create mode 100644 ideas/aeres/agents/cash_6efb.json create mode 100644 ideas/aeres/agents/catherine_8a37.json create mode 100644 ideas/aeres/agents/catherine_97a1.json create mode 100644 ideas/aeres/agents/catherine_9ed4.json create mode 100644 ideas/aeres/agents/catherine_acc9.json create mode 100644 ideas/aeres/agents/cesar_6ede.json create mode 100644 ideas/aeres/agents/chanel_1b0e.json create mode 100644 ideas/aeres/agents/chantal_5664.json create mode 100644 ideas/aeres/agents/chantal_93c7.json create mode 100644 ideas/aeres/agents/charles_c9cc.json create mode 100644 ideas/aeres/agents/charlotte_32e4.json create mode 100644 ideas/aeres/agents/chase_4743.json create mode 100644 ideas/aeres/agents/chavalit_7e89.json create mode 100644 ideas/aeres/agents/chelsea_66d2.json create mode 100644 ideas/aeres/agents/cheryl_62be.json create mode 100644 ideas/aeres/agents/cheryl_8f02.json create mode 100644 ideas/aeres/agents/chika_ee00.json create mode 100644 ideas/aeres/agents/christiaan_eb5a.json create mode 100644 ideas/aeres/agents/christina_174b.json create mode 100644 ideas/aeres/agents/christina_742c.json create mode 100644 ideas/aeres/agents/christine_167a.json create mode 100644 ideas/aeres/agents/christine_4e2d.json create mode 100644 ideas/aeres/agents/christine_80d2.json create mode 100644 ideas/aeres/agents/cillian_b7aa.json create mode 100644 ideas/aeres/agents/cirilla_3c39.json create mode 100644 ideas/aeres/agents/ciro_ccec.json create mode 100644 ideas/aeres/agents/citlali_f461.json create mode 100644 ideas/aeres/agents/clara_52d4.json create mode 100644 ideas/aeres/agents/clara_9a41.json create mode 100644 ideas/aeres/agents/clara_ef4a.json create mode 100644 ideas/aeres/agents/clark_757d.json create mode 100644 ideas/aeres/agents/cleopatra_58e6.json create mode 100644 ideas/aeres/agents/clifton_30ae.json create mode 100644 ideas/aeres/agents/clément_0872.json create mode 100644 ideas/aeres/agents/cole_6c50.json create mode 100644 ideas/aeres/agents/condor_6069.json create mode 100644 ideas/aeres/agents/condor_a1ef.json create mode 100644 ideas/aeres/agents/cooper_d716.json create mode 100644 ideas/aeres/agents/coralie_58bb.json create mode 100644 ideas/aeres/agents/corentin_b141.json create mode 100644 ideas/aeres/agents/coyolxauhqui_37dd.json create mode 100644 ideas/aeres/agents/coyolxauhqui_5648.json create mode 100644 ideas/aeres/agents/coyolxauhqui_cf48.json create mode 100644 ideas/aeres/agents/coyolxauhqui_e7fe.json create mode 100644 ideas/aeres/agents/cronida_0b83.json create mode 100644 ideas/aeres/agents/cruz_9c0e.json create mode 100644 ideas/aeres/agents/cualli_b30f.json create mode 100644 ideas/aeres/agents/cuzia_5f3d.json create mode 100644 ideas/aeres/agents/cynthia_506d.json create mode 100644 ideas/aeres/agents/cynthia_835d.json create mode 100644 ideas/aeres/agents/daisy_51d8.json create mode 100644 ideas/aeres/agents/dakota_26cb.json create mode 100644 ideas/aeres/agents/dallas_5d15.json create mode 100644 ideas/aeres/agents/dante_c87e.json create mode 100644 ideas/aeres/agents/daria_0ed1.json create mode 100644 ideas/aeres/agents/davi_68ee.json create mode 100644 ideas/aeres/agents/deanna_832b.json create mode 100644 ideas/aeres/agents/deborah_5fdf.json create mode 100644 ideas/aeres/agents/debra_3886.json create mode 100644 ideas/aeres/agents/debra_7608.json create mode 100644 ideas/aeres/agents/debra_78ba.json create mode 100644 ideas/aeres/agents/debra_8dd1.json create mode 100644 ideas/aeres/agents/debra_a78e.json create mode 100644 ideas/aeres/agents/debra_fce4.json create mode 100644 ideas/aeres/agents/deja_39c0.json create mode 100644 ideas/aeres/agents/deja_7e0a.json create mode 100644 ideas/aeres/agents/demetria_ea88.json create mode 100644 ideas/aeres/agents/denise_7983.json create mode 100644 ideas/aeres/agents/denise_cbb9.json create mode 100644 ideas/aeres/agents/destiny_2edd.json create mode 100644 ideas/aeres/agents/diana_a38e.json create mode 100644 ideas/aeres/agents/diana_dab1.json create mode 100644 ideas/aeres/agents/didimo_3145.json create mode 100644 ideas/aeres/agents/diego_35bf.json create mode 100644 ideas/aeres/agents/diego_7398.json create mode 100644 ideas/aeres/agents/diego_de71.json create mode 100644 ideas/aeres/agents/diego_f02b.json create mode 100644 ideas/aeres/agents/dominique_0004.json create mode 100644 ideas/aeres/agents/doris_2dc8.json create mode 100644 ideas/aeres/agents/doris_e436.json create mode 100644 ideas/aeres/agents/dorothy_251a.json create mode 100644 ideas/aeres/agents/dorothy_941a.json create mode 100644 ideas/aeres/agents/dorothy_97da.json create mode 100644 ideas/aeres/agents/dorothy_b9ee.json create mode 100644 ideas/aeres/agents/dorothy_c34f.json create mode 100644 ideas/aeres/agents/earnest_1326.json create mode 100644 ideas/aeres/agents/ebony_6edb.json create mode 100644 ideas/aeres/agents/ebony_ea00.json create mode 100644 ideas/aeres/agents/egizia_4558.json create mode 100644 ideas/aeres/agents/eilidh_6b6c.json create mode 100644 ideas/aeres/agents/ekaterina_268b.json create mode 100644 ideas/aeres/agents/ekaterina_71fe.json create mode 100644 ideas/aeres/agents/elaine_505a.json create mode 100644 ideas/aeres/agents/eleanor_9511.json create mode 100644 ideas/aeres/agents/elena_017e.json create mode 100644 ideas/aeres/agents/elena_19b7.json create mode 100644 ideas/aeres/agents/elena_1cae.json create mode 100644 ideas/aeres/agents/elena_2150.json create mode 100644 ideas/aeres/agents/elena_2c2d.json create mode 100644 ideas/aeres/agents/elena_33fd.json create mode 100644 ideas/aeres/agents/elena_366f.json create mode 100644 ideas/aeres/agents/elena_3944.json create mode 100644 ideas/aeres/agents/elena_3ae6.json create mode 100644 ideas/aeres/agents/elena_3bdf.json create mode 100644 ideas/aeres/agents/elena_46d3.json create mode 100644 ideas/aeres/agents/elena_4c77.json create mode 100644 ideas/aeres/agents/elena_5ba7.json create mode 100644 ideas/aeres/agents/elena_5dd7.json create mode 100644 ideas/aeres/agents/elena_6791.json create mode 100644 ideas/aeres/agents/elena_735d.json create mode 100644 ideas/aeres/agents/elena_74ae.json create mode 100644 ideas/aeres/agents/elena_8e9b.json create mode 100644 ideas/aeres/agents/elena_95ec.json create mode 100644 ideas/aeres/agents/elena_9771.json create mode 100644 ideas/aeres/agents/elena_9b4d.json create mode 100644 ideas/aeres/agents/elena_a386.json create mode 100644 ideas/aeres/agents/elena_ab35.json create mode 100644 ideas/aeres/agents/elena_b374.json create mode 100644 ideas/aeres/agents/elena_b68b.json create mode 100644 ideas/aeres/agents/elena_b9e1.json create mode 100644 ideas/aeres/agents/elena_bb3e.json create mode 100644 ideas/aeres/agents/elena_cb48.json create mode 100644 ideas/aeres/agents/elena_f4da.json create mode 100644 ideas/aeres/agents/elena_f6ba.json create mode 100644 ideas/aeres/agents/elena_fda6.json create mode 100644 ideas/aeres/agents/elena_fe5e.json create mode 100644 ideas/aeres/agents/eleni_be73.json create mode 100644 ideas/aeres/agents/elian_fe3c.json create mode 100644 ideas/aeres/agents/elias_0fa3.json create mode 100644 ideas/aeres/agents/elijah_45a7.json create mode 100644 ideas/aeres/agents/elisa_30ee.json create mode 100644 ideas/aeres/agents/elisa_4701.json create mode 100644 ideas/aeres/agents/elisabetta_ac62.json create mode 100644 ideas/aeres/agents/elizabeth_ec4f.json create mode 100644 ideas/aeres/agents/ella_f869.json create mode 100644 ideas/aeres/agents/ellis_a5b2.json create mode 100644 ideas/aeres/agents/elvia_64ea.json create mode 100644 ideas/aeres/agents/emani_3130.json create mode 100644 ideas/aeres/agents/emil_e865.json create mode 100644 ideas/aeres/agents/emily_0930.json create mode 100644 ideas/aeres/agents/emily_0f6e.json create mode 100644 ideas/aeres/agents/emily_1066.json create mode 100644 ideas/aeres/agents/emily_29cc.json create mode 100644 ideas/aeres/agents/emily_403d.json create mode 100644 ideas/aeres/agents/emily_c16f.json create mode 100644 ideas/aeres/agents/emily_decf.json create mode 100644 ideas/aeres/agents/emma_3ba1.json create mode 100644 ideas/aeres/agents/emmanuel_1afa.json create mode 100644 ideas/aeres/agents/eren_7b4f.json create mode 100644 ideas/aeres/agents/erica_bcbc.json create mode 100644 ideas/aeres/agents/erik_0ca3.json create mode 100644 ideas/aeres/agents/erik_8e20.json create mode 100644 ideas/aeres/agents/erika_0554.json create mode 100644 ideas/aeres/agents/erin_39bf.json create mode 100644 ideas/aeres/agents/erin_6d2b.json create mode 100644 ideas/aeres/agents/erin_9f76.json create mode 100644 ideas/aeres/agents/erma_10d6.json create mode 100644 ideas/aeres/agents/erma_5970.json create mode 100644 ideas/aeres/agents/ernesto_ff93.json create mode 100644 ideas/aeres/agents/estelle_9018.json create mode 100644 ideas/aeres/agents/esther_6f74.json create mode 100644 ideas/aeres/agents/eterie_de81.json create mode 100644 ideas/aeres/agents/eusebia_6ab8.json create mode 100644 ideas/aeres/agents/eusebia_bb32.json create mode 100644 ideas/aeres/agents/evelyn_d628.json create mode 100644 ideas/aeres/agents/evremondo_24bc.json create mode 100644 ideas/aeres/agents/ezra_23c2.json create mode 100644 ideas/aeres/agents/ezra_5a3d.json create mode 100644 ideas/aeres/agents/fabiana_55f6.json create mode 100644 ideas/aeres/agents/faith_80b8.json create mode 100644 ideas/aeres/agents/felix_fc61.json create mode 100644 ideas/aeres/agents/finley_59c6.json create mode 100644 ideas/aeres/agents/finley_ad21.json create mode 100644 ideas/aeres/agents/finn_3ea1.json create mode 100644 ideas/aeres/agents/fiorenza_9ee6.json create mode 100644 ideas/aeres/agents/flaminia_aa52.json create mode 100644 ideas/aeres/agents/forrest_6717.json create mode 100644 ideas/aeres/agents/fortunata_9084.json create mode 100644 ideas/aeres/agents/frances_5cbe.json create mode 100644 ideas/aeres/agents/francis_7dde.json create mode 100644 ideas/aeres/agents/frank_2cce.json create mode 100644 ideas/aeres/agents/freda_66ee.json create mode 100644 ideas/aeres/agents/freja_3975.json create mode 100644 ideas/aeres/agents/freja_4e25.json create mode 100644 ideas/aeres/agents/freja_59dd.json create mode 100644 ideas/aeres/agents/freja_f2e4.json create mode 100644 ideas/aeres/agents/fynn_57ae.json create mode 100644 ideas/aeres/agents/gabriel_e333.json create mode 100644 ideas/aeres/agents/gael_03c5.json create mode 100644 ideas/aeres/agents/gary_097d.json create mode 100644 ideas/aeres/agents/gary_f7ff.json create mode 100644 ideas/aeres/agents/gene_a69d.json create mode 100644 ideas/aeres/agents/gene_eb2a.json create mode 100644 ideas/aeres/agents/geneviève_0458.json create mode 100644 ideas/aeres/agents/gerard_13cd.json create mode 100644 ideas/aeres/agents/germana_6e42.json create mode 100644 ideas/aeres/agents/gia_khiêm_59ef.json create mode 100644 ideas/aeres/agents/ginette_195c.json create mode 100644 ideas/aeres/agents/giosuè_8550.json create mode 100644 ideas/aeres/agents/giustiniano_3a90.json create mode 100644 ideas/aeres/agents/gladys_93f1.json create mode 100644 ideas/aeres/agents/gloria_72da.json create mode 100644 ideas/aeres/agents/gloria_a491.json create mode 100644 ideas/aeres/agents/gloria_ba29.json create mode 100644 ideas/aeres/agents/gloria_cc3e.json create mode 100644 ideas/aeres/agents/gloria_d4b6.json create mode 100644 ideas/aeres/agents/grace_1838.json create mode 100644 ideas/aeres/agents/grace_98f2.json create mode 100644 ideas/aeres/agents/griffin_388a.json create mode 100644 ideas/aeres/agents/guadalupe_60ab.json create mode 100644 ideas/aeres/agents/guiberto_5c35.json create mode 100644 ideas/aeres/agents/haitang_49d4.json create mode 100644 ideas/aeres/agents/haitham_6fbb.json create mode 100644 ideas/aeres/agents/haitham_c1f0.json create mode 100644 ideas/aeres/agents/hannah_e749.json create mode 100644 ideas/aeres/agents/hardeep_69f8.json create mode 100644 ideas/aeres/agents/haribon_c796.json create mode 100644 ideas/aeres/agents/hazel_5e1f.json create mode 100644 ideas/aeres/agents/heather_327b.json create mode 100644 ideas/aeres/agents/heather_3864.json create mode 100644 ideas/aeres/agents/heather_5531.json create mode 100644 ideas/aeres/agents/heather_fec9.json create mode 100644 ideas/aeres/agents/heidi_8990.json create mode 100644 ideas/aeres/agents/helen_18ff.json create mode 100644 ideas/aeres/agents/helen_37a6.json create mode 100644 ideas/aeres/agents/helen_54ee.json create mode 100644 ideas/aeres/agents/helen_5e77.json create mode 100644 ideas/aeres/agents/helen_67fc.json create mode 100644 ideas/aeres/agents/helen_7aee.json create mode 100644 ideas/aeres/agents/hermenegildo_8211.json create mode 100644 ideas/aeres/agents/hilda_e893.json create mode 100644 ideas/aeres/agents/hirofumi_9f59.json create mode 100644 ideas/aeres/agents/hironobu_3eed.json create mode 100644 ideas/aeres/agents/hitomi_af91.json create mode 100644 ideas/aeres/agents/hongwei_9ad9.json create mode 100644 ideas/aeres/agents/huimin_400d.json create mode 100644 ideas/aeres/agents/huiru_1ef8.json create mode 100644 ideas/aeres/agents/hélène_1814.json create mode 100644 ideas/aeres/agents/ida_e6c2.json create mode 100644 ideas/aeres/agents/ihuicatl_5266.json create mode 100644 ideas/aeres/agents/illay_63e6.json create mode 100644 ideas/aeres/agents/imani_3099.json create mode 100644 ideas/aeres/agents/imani_546f.json create mode 100644 ideas/aeres/agents/ines_4324.json create mode 100644 ideas/aeres/agents/ines_b357.json create mode 100644 ideas/aeres/agents/ines_e21a.json create mode 100644 ideas/aeres/agents/inez_4363.json create mode 100644 ideas/aeres/agents/ingrid_81ea.json create mode 100644 ideas/aeres/agents/ingrid_a98e.json create mode 100644 ideas/aeres/agents/inti_2003.json create mode 100644 ideas/aeres/agents/inti_3a31.json create mode 100644 ideas/aeres/agents/inti_wara_36e9.json create mode 100644 ideas/aeres/agents/inti_wara_cdcc.json create mode 100644 ideas/aeres/agents/inès_a163.json create mode 100644 ideas/aeres/agents/irene_2e5d.json create mode 100644 ideas/aeres/agents/irene_7c87.json create mode 100644 ideas/aeres/agents/irene_d413.json create mode 100644 ideas/aeres/agents/irene_e3be.json create mode 100644 ideas/aeres/agents/iride_01da.json create mode 100644 ideas/aeres/agents/iris_2a02.json create mode 100644 ideas/aeres/agents/isa_6198.json create mode 100644 ideas/aeres/agents/isabel_fced.json create mode 100644 ideas/aeres/agents/isabella_5717.json create mode 100644 ideas/aeres/agents/italia_470b.json create mode 100644 ideas/aeres/agents/itzcuintli_482c.json create mode 100644 ideas/aeres/agents/ivan_c6a5.json create mode 100644 ideas/aeres/agents/jabari_9d29.json create mode 100644 ideas/aeres/agents/jace_97fb.json create mode 100644 ideas/aeres/agents/jackie_4ddc.json create mode 100644 ideas/aeres/agents/jade_d425.json create mode 100644 ideas/aeres/agents/jade_f4db.json create mode 100644 ideas/aeres/agents/jaden_a8e3.json create mode 100644 ideas/aeres/agents/janelle_fd0e.json create mode 100644 ideas/aeres/agents/janet_fab3.json create mode 100644 ideas/aeres/agents/janice_ad0a.json create mode 100644 ideas/aeres/agents/janice_b21e.json create mode 100644 ideas/aeres/agents/janice_b833.json create mode 100644 ideas/aeres/agents/janice_d445.json create mode 100644 ideas/aeres/agents/jared_b38e.json create mode 100644 ideas/aeres/agents/jasmeet_3751.json create mode 100644 ideas/aeres/agents/jasmeet_3f75.json create mode 100644 ideas/aeres/agents/jasper_b569.json create mode 100644 ideas/aeres/agents/jay_26e6.json create mode 100644 ideas/aeres/agents/jayce_606b.json create mode 100644 ideas/aeres/agents/jaylen_ac0d.json create mode 100644 ideas/aeres/agents/jazmine_35e2.json create mode 100644 ideas/aeres/agents/jazmine_9655.json create mode 100644 ideas/aeres/agents/jean_4404.json create mode 100644 ideas/aeres/agents/jeanette_1c50.json create mode 100644 ideas/aeres/agents/jeanne_3b5d.json create mode 100644 ideas/aeres/agents/jeannette_fa43.json create mode 100644 ideas/aeres/agents/jennifer_03b1.json create mode 100644 ideas/aeres/agents/jennifer_04fc.json create mode 100644 ideas/aeres/agents/jennifer_6e26.json create mode 100644 ideas/aeres/agents/jennifer_74ff.json create mode 100644 ideas/aeres/agents/jennifer_a50a.json create mode 100644 ideas/aeres/agents/jennifer_e861.json create mode 100644 ideas/aeres/agents/jesse_7cae.json create mode 100644 ideas/aeres/agents/jevon_0ef7.json create mode 100644 ideas/aeres/agents/jiang_e5aa.json create mode 100644 ideas/aeres/agents/jiansheng_d3f7.json create mode 100644 ideas/aeres/agents/jim_c31c.json create mode 100644 ideas/aeres/agents/jimmy_d88a.json create mode 100644 ideas/aeres/agents/jinchao_d8b3.json create mode 100644 ideas/aeres/agents/joel_af8a.json create mode 100644 ideas/aeres/agents/joey_c04c.json create mode 100644 ideas/aeres/agents/joey_d28b.json create mode 100644 ideas/aeres/agents/jona_4067.json create mode 100644 ideas/aeres/agents/jordan_0882.json create mode 100644 ideas/aeres/agents/jordan_3460.json create mode 100644 ideas/aeres/agents/jordan_787a.json create mode 100644 ideas/aeres/agents/jordan_90af.json create mode 100644 ideas/aeres/agents/josefina_5a53.json create mode 100644 ideas/aeres/agents/josep_42cf.json create mode 100644 ideas/aeres/agents/josephine_ddd2.json create mode 100644 ideas/aeres/agents/josiah_abf4.json create mode 100644 ideas/aeres/agents/josue_1a47.json create mode 100644 ideas/aeres/agents/joy_41f1.json create mode 100644 ideas/aeres/agents/joyce_1a2b.json create mode 100644 ideas/aeres/agents/joyce_4c85.json create mode 100644 ideas/aeres/agents/joyce_85ef.json create mode 100644 ideas/aeres/agents/joyce_e3da.json create mode 100644 ideas/aeres/agents/juan_ramón_juan_ramón_0695.json create mode 100644 ideas/aeres/agents/judah_a14d.json create mode 100644 ideas/aeres/agents/jude_6a15.json create mode 100644 ideas/aeres/agents/judith_9f63.json create mode 100644 ideas/aeres/agents/judith_bde2.json create mode 100644 ideas/aeres/agents/judy_6df3.json create mode 100644 ideas/aeres/agents/julia_8c2b.json create mode 100644 ideas/aeres/agents/julie_3665.json create mode 100644 ideas/aeres/agents/julie_5a90.json create mode 100644 ideas/aeres/agents/julie_70bd.json create mode 100644 ideas/aeres/agents/julie_b6d2.json create mode 100644 ideas/aeres/agents/julie_bffa.json create mode 100644 ideas/aeres/agents/julie_cbb4.json create mode 100644 ideas/aeres/agents/julie_e241.json create mode 100644 ideas/aeres/agents/june_84bb.json create mode 100644 ideas/aeres/agents/june_cf73.json create mode 100644 ideas/aeres/agents/kaden_bef9.json create mode 100644 ideas/aeres/agents/kaibo_0408.json create mode 100644 ideas/aeres/agents/kairo_3199.json create mode 100644 ideas/aeres/agents/kanako_5974.json create mode 100644 ideas/aeres/agents/kaori_44b2.json create mode 100644 ideas/aeres/agents/karen_1323.json create mode 100644 ideas/aeres/agents/karen_afbf.json create mode 100644 ideas/aeres/agents/katerina_3778.json create mode 100644 ideas/aeres/agents/kateryna_c86e.json create mode 100644 ideas/aeres/agents/katherine_a8a3.json create mode 100644 ideas/aeres/agents/kathleen_2fd1.json create mode 100644 ideas/aeres/agents/kathleen_6dc7.json create mode 100644 ideas/aeres/agents/kathleen_cbca.json create mode 100644 ideas/aeres/agents/keanu_5594.json create mode 100644 ideas/aeres/agents/keith_1a29.json create mode 100644 ideas/aeres/agents/kelly_ef24.json create mode 100644 ideas/aeres/agents/kerry_6369.json create mode 100644 ideas/aeres/agents/kiara_305b.json create mode 100644 ideas/aeres/agents/kiara_d146.json create mode 100644 ideas/aeres/agents/killa_741e.json create mode 100644 ideas/aeres/agents/kimberly_e921.json create mode 100644 ideas/aeres/agents/king_4ab1.json create mode 100644 ideas/aeres/agents/klara_84f2.json create mode 100644 ideas/aeres/agents/kurt_17ad.json create mode 100644 ideas/aeres/agents/kwesi_68f3.json create mode 100644 ideas/aeres/agents/kyoko_59b7.json create mode 100644 ideas/aeres/agents/lakan_3839.json create mode 100644 ideas/aeres/agents/lakshmi_67b7.json create mode 100644 ideas/aeres/agents/lana_472c.json create mode 100644 ideas/aeres/agents/latria_3678.json create mode 100644 ideas/aeres/agents/latria_8a16.json create mode 100644 ideas/aeres/agents/laura_1e9f.json create mode 100644 ideas/aeres/agents/laura_7af6.json create mode 100644 ideas/aeres/agents/laura_94b0.json create mode 100644 ideas/aeres/agents/laura_a3b3.json create mode 100644 ideas/aeres/agents/laure_7d8d.json create mode 100644 ideas/aeres/agents/lauren_3f86.json create mode 100644 ideas/aeres/agents/lauren_7aaa.json create mode 100644 ideas/aeres/agents/layla_499d.json create mode 100644 ideas/aeres/agents/layla_63a6.json create mode 100644 ideas/aeres/agents/layla_b157.json create mode 100644 ideas/aeres/agents/layla_d584.json create mode 100644 ideas/aeres/agents/layla_f94a.json create mode 100644 ideas/aeres/agents/lazaro_a7ce.json create mode 100644 ideas/aeres/agents/leigh_5bd1.json create mode 100644 ideas/aeres/agents/leilani_07c0.json create mode 100644 ideas/aeres/agents/leonardo_8d9b.json create mode 100644 ideas/aeres/agents/leonida_e6a2.json create mode 100644 ideas/aeres/agents/letizia_b273.json create mode 100644 ideas/aeres/agents/lewis_891f.json create mode 100644 ideas/aeres/agents/lewis_bf32.json create mode 100644 ideas/aeres/agents/liam_e6cc.json create mode 100644 ideas/aeres/agents/lilly_4a2b.json create mode 100644 ideas/aeres/agents/lingjun_b928.json create mode 100644 ideas/aeres/agents/linh_nhi_c2ed.json create mode 100644 ideas/aeres/agents/lisa_00c8.json create mode 100644 ideas/aeres/agents/lisa_0d09.json create mode 100644 ideas/aeres/agents/lisa_105c.json create mode 100644 ideas/aeres/agents/lisa_5652.json create mode 100644 ideas/aeres/agents/liviana_8890.json create mode 100644 ideas/aeres/agents/lixia_fa64.json create mode 100644 ideas/aeres/agents/liyan_58ec.json create mode 100644 ideas/aeres/agents/lora_1aa0.json create mode 100644 ideas/aeres/agents/lora_ee87.json create mode 100644 ideas/aeres/agents/lorena_6dc9.json create mode 100644 ideas/aeres/agents/lorena_b2b8.json create mode 100644 ideas/aeres/agents/lorena_f051.json create mode 100644 ideas/aeres/agents/lorenzo_bae3.json create mode 100644 ideas/aeres/agents/loretta_9c45.json create mode 100644 ideas/aeres/agents/louise_470e.json create mode 100644 ideas/aeres/agents/luca_0235.json create mode 100644 ideas/aeres/agents/luca_7714.json create mode 100644 ideas/aeres/agents/luka_4c97.json create mode 100644 ideas/aeres/agents/luka_a44e.json create mode 100644 ideas/aeres/agents/lukas_8db3.json create mode 100644 ideas/aeres/agents/lukas_9c6b.json create mode 100644 ideas/aeres/agents/lynette_1076.json create mode 100644 ideas/aeres/agents/lynette_575f.json create mode 100644 ideas/aeres/agents/lynette_b1eb.json create mode 100644 ideas/aeres/agents/léo_80bd.json create mode 100644 ideas/aeres/agents/mable_6fb5.json create mode 100644 ideas/aeres/agents/madison_437c.json create mode 100644 ideas/aeres/agents/madison_48c7.json create mode 100644 ideas/aeres/agents/madison_6f58.json create mode 100644 ideas/aeres/agents/madison_881c.json create mode 100644 ideas/aeres/agents/magnus_548f.json create mode 100644 ideas/aeres/agents/maica_64e5.json create mode 100644 ideas/aeres/agents/maica_7ffc.json create mode 100644 ideas/aeres/agents/maica_zeth_3a02.json create mode 100644 ideas/aeres/agents/malik_0e9d.json create mode 100644 ideas/aeres/agents/malik_3bf9.json create mode 100644 ideas/aeres/agents/malik_97f3.json create mode 100644 ideas/aeres/agents/malinalli_c511.json create mode 100644 ideas/aeres/agents/manon_22ac.json create mode 100644 ideas/aeres/agents/manuele_26db.json create mode 100644 ideas/aeres/agents/marcia_42dc.json create mode 100644 ideas/aeres/agents/marcus_0271.json create mode 100644 ideas/aeres/agents/marcus_7dad.json create mode 100644 ideas/aeres/agents/margaret_14c0.json create mode 100644 ideas/aeres/agents/margaret_c717.json create mode 100644 ideas/aeres/agents/maria_8c41.json create mode 100644 ideas/aeres/agents/marie_cc86.json create mode 100644 ideas/aeres/agents/marilyn_860e.json create mode 100644 ideas/aeres/agents/marilyn_eb40.json create mode 100644 ideas/aeres/agents/marina_5119.json create mode 100644 ideas/aeres/agents/marina_89fa.json create mode 100644 ideas/aeres/agents/marina_8d05.json create mode 100644 ideas/aeres/agents/marina_9939.json create mode 100644 ideas/aeres/agents/marinella_c7b9.json create mode 100644 ideas/aeres/agents/mark_38ee.json create mode 100644 ideas/aeres/agents/mark_4823.json create mode 100644 ideas/aeres/agents/marsha_b25d.json create mode 100644 ideas/aeres/agents/marsha_ff73.json create mode 100644 ideas/aeres/agents/marshall_007c.json create mode 100644 ideas/aeres/agents/marta_4de0.json create mode 100644 ideas/aeres/agents/marta_maría_a3de.json create mode 100644 ideas/aeres/agents/martha_230e.json create mode 100644 ideas/aeres/agents/martin_4d12.json create mode 100644 ideas/aeres/agents/martine_3da0.json create mode 100644 ideas/aeres/agents/mary_08de.json create mode 100644 ideas/aeres/agents/mary_641b.json create mode 100644 ideas/aeres/agents/mary_9cbf.json create mode 100644 ideas/aeres/agents/marzia_4137.json create mode 100644 ideas/aeres/agents/maría_de_los_ángeles_a869.json create mode 100644 ideas/aeres/agents/maría_de_los_ángeles_ee1b.json create mode 100644 ideas/aeres/agents/maría_de_los_ángeles_jennifer_a592.json create mode 100644 ideas/aeres/agents/masahiro_b439.json create mode 100644 ideas/aeres/agents/mateo_82bc.json create mode 100644 ideas/aeres/agents/mateo_d381.json create mode 100644 ideas/aeres/agents/mateo_db5b.json create mode 100644 ideas/aeres/agents/mateo_fd48.json create mode 100644 ideas/aeres/agents/mathew_0503.json create mode 100644 ideas/aeres/agents/matias_4399.json create mode 100644 ideas/aeres/agents/matilde_23b5.json create mode 100644 ideas/aeres/agents/matilde_51ea.json create mode 100644 ideas/aeres/agents/matilde_971c.json create mode 100644 ideas/aeres/agents/matilde_c696.json create mode 100644 ideas/aeres/agents/matilde_f373.json create mode 100644 ideas/aeres/agents/maxwell_d8aa.json create mode 100644 ideas/aeres/agents/may_5fbe.json create mode 100644 ideas/aeres/agents/maëva_f66e.json create mode 100644 ideas/aeres/agents/megan_bd65.json create mode 100644 ideas/aeres/agents/megan_d4c7.json create mode 100644 ideas/aeres/agents/mei-ling_2162.json create mode 100644 ideas/aeres/agents/melba_9633.json create mode 100644 ideas/aeres/agents/melisa_4b86.json create mode 100644 ideas/aeres/agents/melissa_5717.json create mode 100644 ideas/aeres/agents/mels_1224.json create mode 100644 ideas/aeres/agents/mengxi_5e12.json create mode 100644 ideas/aeres/agents/messiah_10b2.json create mode 100644 ideas/aeres/agents/michele_b41b.json create mode 100644 ideas/aeres/agents/michelle_043d.json create mode 100644 ideas/aeres/agents/michelle_1403.json create mode 100644 ideas/aeres/agents/michelle_544a.json create mode 100644 ideas/aeres/agents/michelle_b383.json create mode 100644 ideas/aeres/agents/michelle_bb7a.json create mode 100644 ideas/aeres/agents/michelle_ef6e.json create mode 100644 ideas/aeres/agents/miguel_fbd3.json create mode 100644 ideas/aeres/agents/mila_a2ab.json create mode 100644 ideas/aeres/agents/milo_89a9.json create mode 100644 ideas/aeres/agents/minh_thương_94b2.json create mode 100644 ideas/aeres/agents/molly_5a6f.json create mode 100644 ideas/aeres/agents/momomi_054b.json create mode 100644 ideas/aeres/agents/mona_3f3a.json create mode 100644 ideas/aeres/agents/monica_9ae3.json create mode 100644 ideas/aeres/agents/mukund_97f6.json create mode 100644 ideas/aeres/agents/myles_a6e9.json create mode 100644 ideas/aeres/agents/myles_fc9d.json create mode 100644 ideas/aeres/agents/mylène_d25e.json create mode 100644 ideas/aeres/agents/na_9223.json create mode 100644 ideas/aeres/agents/natalia_49a4.json create mode 100644 ideas/aeres/agents/natalie_dcc7.json create mode 100644 ideas/aeres/agents/natasha_7486.json create mode 100644 ideas/aeres/agents/naya_fd12.json create mode 100644 ideas/aeres/agents/nellie_c5b2.json create mode 100644 ideas/aeres/agents/nettie_799d.json create mode 100644 ideas/aeres/agents/nia_8179.json create mode 100644 ideas/aeres/agents/niko_91c2.json create mode 100644 ideas/aeres/agents/nikolas_f545.json create mode 100644 ideas/aeres/agents/nilde_aa10.json create mode 100644 ideas/aeres/agents/nils_9b41.json create mode 100644 ideas/aeres/agents/nina_2065.json create mode 100644 ideas/aeres/agents/nina_73a7.json create mode 100644 ideas/aeres/agents/niran_a9ae.json create mode 100644 ideas/aeres/agents/nonna_b741.json create mode 100644 ideas/aeres/agents/noriko_a057.json create mode 100644 ideas/aeres/agents/norina_a836.json create mode 100644 ideas/aeres/agents/norma_6de8.json create mode 100644 ideas/aeres/agents/nour_e33f.json create mode 100644 ideas/aeres/agents/noémie_5945.json create mode 100644 ideas/aeres/agents/nuccia_e8cd.json create mode 100644 ideas/aeres/agents/odette_466a.json create mode 100644 ideas/aeres/agents/oksana_1fda.json create mode 100644 ideas/aeres/agents/oksana_c059.json create mode 100644 ideas/aeres/agents/oksana_c485.json create mode 100644 ideas/aeres/agents/olga_aa5a.json create mode 100644 ideas/aeres/agents/olga_f0ff.json create mode 100644 ideas/aeres/agents/olivia_8642.json create mode 100644 ideas/aeres/agents/olivia_9a5b.json create mode 100644 ideas/aeres/agents/olivia_d472.json create mode 100644 ideas/aeres/agents/olivia_e940.json create mode 100644 ideas/aeres/agents/omar_1131.json create mode 100644 ideas/aeres/agents/omar_4971.json create mode 100644 ideas/aeres/agents/omar_78fb.json create mode 100644 ideas/aeres/agents/omar_f0db.json create mode 100644 ideas/aeres/agents/ondina_1feb.json create mode 100644 ideas/aeres/agents/orlando_8cd2.json create mode 100644 ideas/aeres/agents/orlando_e7b9.json create mode 100644 ideas/aeres/agents/pamela_42be.json create mode 100644 ideas/aeres/agents/pamela_523f.json create mode 100644 ideas/aeres/agents/patricia_534d.json create mode 100644 ideas/aeres/agents/patricia_5a11.json create mode 100644 ideas/aeres/agents/patricia_79a5.json create mode 100644 ideas/aeres/agents/patricia_a780.json create mode 100644 ideas/aeres/agents/patricia_f0d3.json create mode 100644 ideas/aeres/agents/patricia_fb33.json create mode 100644 ideas/aeres/agents/paul_b9c5.json create mode 100644 ideas/aeres/agents/paula_14cd.json create mode 100644 ideas/aeres/agents/pauline_78b6.json create mode 100644 ideas/aeres/agents/pedro_d94d.json create mode 100644 ideas/aeres/agents/phyllis_5ae0.json create mode 100644 ideas/aeres/agents/pierre_da4e.json create mode 100644 ideas/aeres/agents/prakash_19bf.json create mode 100644 ideas/aeres/agents/prakash_27e5.json create mode 100644 ideas/aeres/agents/preston_ec1c.json create mode 100644 ideas/aeres/agents/priscilla_e03e.json create mode 100644 ideas/aeres/agents/pío_485b.json create mode 100644 ideas/aeres/agents/pío_cc51.json create mode 100644 ideas/aeres/agents/qianqian_67bf.json create mode 100644 ideas/aeres/agents/qianying_7c75.json create mode 100644 ideas/aeres/agents/qiaoyan_b318.json create mode 100644 ideas/aeres/agents/qingqing_1a9f.json create mode 100644 ideas/aeres/agents/qinyu_96de.json create mode 100644 ideas/aeres/agents/qiuyue_1215.json create mode 100644 ideas/aeres/agents/quartilla_090f.json create mode 100644 ideas/aeres/agents/quetzalli_c887.json create mode 100644 ideas/aeres/agents/rachel_24cd.json create mode 100644 ideas/aeres/agents/rachel_3054.json create mode 100644 ideas/aeres/agents/rachel_664b.json create mode 100644 ideas/aeres/agents/rachel_b4bf.json create mode 100644 ideas/aeres/agents/rachel_efe7.json create mode 100644 ideas/aeres/agents/raul_be69.json create mode 100644 ideas/aeres/agents/raymond_2e1a.json create mode 100644 ideas/aeres/agents/raymond_b9f5.json create mode 100644 ideas/aeres/agents/rebecca_ae90.json create mode 100644 ideas/aeres/agents/rebecca_bee9.json create mode 100644 ideas/aeres/agents/regina_5514.json create mode 100644 ideas/aeres/agents/rhea_97bd.json create mode 100644 ideas/aeres/agents/rhett_dd70.json create mode 100644 ideas/aeres/agents/richard_286f.json create mode 100644 ideas/aeres/agents/richard_9068.json create mode 100644 ideas/aeres/agents/richard_c39c.json create mode 100644 ideas/aeres/agents/rika_40f5.json create mode 100644 ideas/aeres/agents/river_177d.json create mode 100644 ideas/aeres/agents/robin_1565.json create mode 100644 ideas/aeres/agents/robyn_3728.json create mode 100644 ideas/aeres/agents/robyn_8637.json create mode 100644 ideas/aeres/agents/roman_489f.json create mode 100644 ideas/aeres/agents/rosalie_2334.json create mode 100644 ideas/aeres/agents/rosalie_c58a.json create mode 100644 ideas/aeres/agents/rosanna_c0d6.json create mode 100644 ideas/aeres/agents/rose_4018.json create mode 100644 ideas/aeres/agents/rose_e737.json create mode 100644 ideas/aeres/agents/roser_3618.json create mode 100644 ideas/aeres/agents/roser_49e2.json create mode 100644 ideas/aeres/agents/roser_a4fd.json create mode 100644 ideas/aeres/agents/roser_e220.json create mode 100644 ideas/aeres/agents/rosie_c850.json create mode 100644 ideas/aeres/agents/roxy_0ef9.json create mode 100644 ideas/aeres/agents/ruoqi_a02b.json create mode 100644 ideas/aeres/agents/ryoko_5b31.json create mode 100644 ideas/aeres/agents/sabato_4d8e.json create mode 100644 ideas/aeres/agents/sabato_ca5c.json create mode 100644 ideas/aeres/agents/sabrina_8a5f.json create mode 100644 ideas/aeres/agents/sacha_0f56.json create mode 100644 ideas/aeres/agents/saga_a02f.json create mode 100644 ideas/aeres/agents/salvador_512d.json create mode 100644 ideas/aeres/agents/samantha_3a13.json create mode 100644 ideas/aeres/agents/samantha_a8c2.json create mode 100644 ideas/aeres/agents/samantha_d97a.json create mode 100644 ideas/aeres/agents/sandra_dd6b.json create mode 100644 ideas/aeres/agents/sandrine_571b.json create mode 100644 ideas/aeres/agents/saoirse_0b73.json create mode 100644 ideas/aeres/agents/saoirse_e5fc.json create mode 100644 ideas/aeres/agents/sara_aaee.json create mode 100644 ideas/aeres/agents/sara_c869.json create mode 100644 ideas/aeres/agents/sara_e5df.json create mode 100644 ideas/aeres/agents/sara_f4ce.json create mode 100644 ideas/aeres/agents/sarah_8d78.json create mode 100644 ideas/aeres/agents/sarah_a0db.json create mode 100644 ideas/aeres/agents/sarah_ac57.json create mode 100644 ideas/aeres/agents/sarah_d31a.json create mode 100644 ideas/aeres/agents/satish_2727.json create mode 100644 ideas/aeres/agents/satsuki_c368.json create mode 100644 ideas/aeres/agents/satsuki_de43.json create mode 100644 ideas/aeres/agents/savina_f044.json create mode 100644 ideas/aeres/agents/sawyer_d548.json create mode 100644 ideas/aeres/agents/sayri_9523.json create mode 100644 ideas/aeres/agents/sekou_6cda.json create mode 100644 ideas/aeres/agents/sekou_c1db.json create mode 100644 ideas/aeres/agents/senna_042a.json create mode 100644 ideas/aeres/agents/shannon_3e32.json create mode 100644 ideas/aeres/agents/shannon_57ea.json create mode 100644 ideas/aeres/agents/shanti_17c2.json create mode 100644 ideas/aeres/agents/sharon_1d36.json create mode 100644 ideas/aeres/agents/sheldon_c58d.json create mode 100644 ideas/aeres/agents/shen_1627.json create mode 100644 ideas/aeres/agents/shirley_21b1.json create mode 100644 ideas/aeres/agents/shirley_2a7a.json create mode 100644 ideas/aeres/agents/shirley_3e77.json create mode 100644 ideas/aeres/agents/shozo_2137.json create mode 100644 ideas/aeres/agents/sigrid_91cb.json create mode 100644 ideas/aeres/agents/sinesio_172f.json create mode 100644 ideas/aeres/agents/sita_7fd5.json create mode 100644 ideas/aeres/agents/sloane_1ea2.json create mode 100644 ideas/aeres/agents/smriti_384e.json create mode 100644 ideas/aeres/agents/sofie_67a6.json create mode 100644 ideas/aeres/agents/solene_fe28.json create mode 100644 ideas/aeres/agents/solène_374f.json create mode 100644 ideas/aeres/agents/sophia_8de4.json create mode 100644 ideas/aeres/agents/stefano_a5c4.json create mode 100644 ideas/aeres/agents/stephanie_b174.json create mode 100644 ideas/aeres/agents/stephanie_c2d0.json create mode 100644 ideas/aeres/agents/stephanie_cfa0.json create mode 100644 ideas/aeres/agents/sukhdev_c8d2.json create mode 100644 ideas/aeres/agents/sumaq_pío_7a56.json create mode 100644 ideas/aeres/agents/sumitra_d316.json create mode 100644 ideas/aeres/agents/susan_ac24.json create mode 100644 ideas/aeres/agents/sylvester_d3cd.json create mode 100644 ideas/aeres/agents/tabita_cab6.json create mode 100644 ideas/aeres/agents/takeshi_7762.json create mode 100644 ideas/aeres/agents/tala_1c90.json create mode 100644 ideas/aeres/agents/tameka_bab7.json create mode 100644 ideas/aeres/agents/taruna_7311.json create mode 100644 ideas/aeres/agents/tecum_65d4.json create mode 100644 ideas/aeres/agents/teicui_e6f3.json create mode 100644 ideas/aeres/agents/teodata_1420.json create mode 100644 ideas/aeres/agents/teodosio_0f5d.json create mode 100644 ideas/aeres/agents/teresa_8ef5.json create mode 100644 ideas/aeres/agents/terrell_9fe3.json create mode 100644 ideas/aeres/agents/terrell_f8a3.json create mode 100644 ideas/aeres/agents/terrence_942c.json create mode 100644 ideas/aeres/agents/tezcan_tommy_c8e1.json create mode 100644 ideas/aeres/agents/tezcatlipoca_c758.json create mode 100644 ideas/aeres/agents/thabo_bf4d.json create mode 100644 ideas/aeres/agents/thalea_8104.json create mode 100644 ideas/aeres/agents/thalia_a2a8.json create mode 100644 ideas/aeres/agents/thanh_hoa_fe10.json create mode 100644 ideas/aeres/agents/theodore_46db.json create mode 100644 ideas/aeres/agents/theresa_3897.json create mode 100644 ideas/aeres/agents/theresa_a166.json create mode 100644 ideas/aeres/agents/thiên_duyên_2ef0.json create mode 100644 ideas/aeres/agents/tim_d5f2.json create mode 100644 ideas/aeres/agents/timothy_06a5.json create mode 100644 ideas/aeres/agents/timothy_82dd.json create mode 100644 ideas/aeres/agents/tina_4377.json create mode 100644 ideas/aeres/agents/tlahuicole_a75c.json create mode 100644 ideas/aeres/agents/tlahuicole_c820.json create mode 100644 ideas/aeres/agents/tlalli_5f89.json create mode 100644 ideas/aeres/agents/tonantzin_08f3.json create mode 100644 ideas/aeres/agents/tonantzin_a72e.json create mode 100644 ideas/aeres/agents/tonantzin_d969.json create mode 100644 ideas/aeres/agents/tristan_68a8.json create mode 100644 ideas/aeres/agents/trọng_hùng_9e5c.json create mode 100644 ideas/aeres/agents/tyra_1ce9.json create mode 100644 ideas/aeres/agents/tyrone_e483.json create mode 100644 ideas/aeres/agents/tường_vi_a946.json create mode 100644 ideas/aeres/agents/ulrika_950b.json create mode 100644 ideas/aeres/agents/ulyana_352c.json create mode 100644 ideas/aeres/agents/vaishali_d830.json create mode 100644 ideas/aeres/agents/varun_8664.json create mode 100644 ideas/aeres/agents/vasilisa_4799.json create mode 100644 ideas/aeres/agents/vera_52fb.json create mode 100644 ideas/aeres/agents/victor_aefb.json create mode 100644 ideas/aeres/agents/victoria_7ad9.json create mode 100644 ideas/aeres/agents/vidiano_e862.json create mode 100644 ideas/aeres/agents/viktor_4299.json create mode 100644 ideas/aeres/agents/viktor_5eb3.json create mode 100644 ideas/aeres/agents/viktor_b039.json create mode 100644 ideas/aeres/agents/viktor_efd0.json create mode 100644 ideas/aeres/agents/vincent_838e.json create mode 100644 ideas/aeres/agents/virginia_0040.json create mode 100644 ideas/aeres/agents/virginia_c8c8.json create mode 100644 ideas/aeres/agents/virginia_db05.json create mode 100644 ideas/aeres/agents/waed_661a.json create mode 100644 ideas/aeres/agents/warda_8b4e.json create mode 100644 ideas/aeres/agents/warren_97be.json create mode 100644 ideas/aeres/agents/wayna_29d6.json create mode 100644 ideas/aeres/agents/whitney_e735.json create mode 100644 ideas/aeres/agents/wilbur_97cb.json create mode 100644 ideas/aeres/agents/william_9dbe.json create mode 100644 ideas/aeres/agents/willie_5800.json create mode 100644 ideas/aeres/agents/willie_d671.json create mode 100644 ideas/aeres/agents/wilma_b21d.json create mode 100644 ideas/aeres/agents/wilson_8776.json create mode 100644 ideas/aeres/agents/xiangyan_bece.json create mode 100644 ideas/aeres/agents/xianjun_f9ef.json create mode 100644 ideas/aeres/agents/xiaofeng_9dab.json create mode 100644 ideas/aeres/agents/xiaolan_019a.json create mode 100644 ideas/aeres/agents/xiaoxue_793a.json create mode 100644 ideas/aeres/agents/xin_237e.json create mode 100644 ideas/aeres/agents/xochitl_8e5e.json create mode 100644 ideas/aeres/agents/xueying_5917.json create mode 100644 ideas/aeres/agents/yanping_ffc2.json create mode 100644 ideas/aeres/agents/yanru_1990.json create mode 100644 ideas/aeres/agents/yara_ddea.json create mode 100644 ideas/aeres/agents/yaroslava_a014.json create mode 100644 ideas/aeres/agents/yassir_f86d.json create mode 100644 ideas/aeres/agents/yingjun_8829.json create mode 100644 ideas/aeres/agents/yingjun_9893.json create mode 100644 ideas/aeres/agents/yoko_82ca.json create mode 100644 ideas/aeres/agents/yolanda_79d2.json create mode 100644 ideas/aeres/agents/yoshiaki_7f4d.json create mode 100644 ideas/aeres/agents/yusef_cd42.json create mode 100644 ideas/aeres/agents/yuxia_1f0c.json create mode 100644 ideas/aeres/agents/zayden_0d09.json create mode 100644 ideas/aeres/agents/zeina_5272.json create mode 100644 ideas/aeres/agents/zhihong_94e9.json create mode 100644 ideas/aeres/agents/zhijun_fa24.json create mode 100644 ideas/aeres/agents/zixuan_019e.json create mode 100644 ideas/aeres/agents/zola_dba7.json create mode 100644 ideas/aeres/agents/zolin_e74a.json create mode 100644 ideas/aeres/agents/zoya_9267.json create mode 100644 ideas/aeres/agents/émilie_47ac.json create mode 100644 ideas/aeres/go.mod create mode 100644 ideas/aeres/go.sum create mode 100644 ideas/aeres/index.html create mode 100644 ideas/aeres/main.go create mode 100755 ideas/aeres/run.sh create mode 100644 internal/adapter/sdlc/worker_executor.go create mode 100644 internal/adapter/sdlc/worker_executor_test.go create mode 100644 internal/adapter/templates/templates/components/worker/cmd/worker/migrations/001_create_jobs.sql.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/.claude/agents/queue-specialist.md create mode 100644 internal/adapter/templates/templates/skeleton/.claude/agents/realtime-specialist.md create mode 100644 internal/adapter/templates/templates/skeleton/.claude/commands/implement-feature.md create mode 100644 internal/adapter/templates/templates/skeleton/.claude/skills/microservices/SKILL.md create mode 100644 internal/adapter/templates/templates/skeleton/pkg/database/db.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/database/migrate.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/database/tx.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/httpclient/circuit.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/queue/middleware.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/queue/migrations/001_create_jobs.sql.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/queue/postgres.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/queue/queue.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/realtime/handler.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/realtime/hub.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/realtime/realtime.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/realtime/redis.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/realtime/websocket.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/svc/client.go.tmpl create mode 100644 internal/adapter/templates/templates/skeleton/pkg/svc/discovery.go.tmpl create mode 100644 internal/domain/sdlc_callback.go create mode 100644 internal/handlers/sdlc_callback.go create mode 100644 internal/handlers/sdlc_generate.go create mode 100644 internal/logging/audit.go create mode 100644 internal/logging/config.go create mode 100644 internal/logging/context.go create mode 100644 internal/logging/fields.go create mode 100644 internal/logging/format.go create mode 100644 internal/logging/handler.go create mode 100644 internal/logging/levels.go create mode 100644 internal/logging/logger.go create mode 100644 internal/logging/logger_test.go create mode 100644 internal/logging/middleware.go create mode 100644 internal/logging/middleware_test.go create mode 100644 internal/logging/nop.go create mode 100644 internal/logging/redact.go create mode 100644 internal/logging/redact_test.go create mode 100644 internal/service/component_infra.go create mode 100644 internal/service/component_listing.go create mode 100644 internal/service/sdlc_callback.go create mode 100644 internal/service/sdlc_callback_test.go create mode 100644 internal/service/sdlc_generate.go create mode 100644 internal/service/sdlc_generate_test.go create mode 100644 internal/worker/sdlc_executor.go create mode 100644 internal/worker/sdlc_executor_test.go create mode 100644 internal/worker/timeouts.go create mode 100644 slack-preparation-thoughts-2.md create mode 100644 slack-preparation-thoughts.md diff --git a/CLAUDE.md b/CLAUDE.md index 9da90e5..fa78a50 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,6 +38,7 @@ Run Claude Code instances in isolated Kubernetes pods with REST API control. Ena | **Debug external system health** | [ops/external-health-diagnostics.md](.claude/guides/ops/external-health-diagnostics.md) | | **SDLC orchestration** | [services/sdlc.md](.claude/guides/services/sdlc.md) | | **Visual verification (Playwright)** | [services/visual-verification.md](.claude/guides/services/visual-verification.md) | +| **Structured logging** | `internal/logging/` - field constants, context propagation, redaction | ## Critical Rules @@ -51,10 +52,11 @@ Run Claude Code instances in isolated Kubernetes pods with REST API control. Ena - **500-line limit:** Files exceeding 500 lines must be split - **Tests:** All handlers and services require tests - **Multi-step ops:** NEVER log-and-continue after partial failure. Rollback or document partial state. -- **Logging:** Use injected `*slog.Logger` only. NEVER `fmt.Println`, `log.Fatal`, `log.Printf`, or bare `slog.Info()`. Error key is ALWAYS `"error"` (not `"err"`). Log once at boundary (handlers/workers log, services return errors). +- **Logging:** Use `logging.FromContext(ctx)` or injected `*slog.Logger`. NEVER `fmt.Println`, `log.Fatal`, `log.Printf`, or bare `slog.Info()`. Error key is ALWAYS `"error"` (not `"err"`). Use field constants from `internal/logging/fields.go` (e.g., `logging.FieldProjectID`, `logging.FieldError`). Log once at boundary (handlers/workers log, services return errors). Sensitive data (passwords, tokens, keys) is auto-redacted. - **HTTP clients:** NEVER create `&http.Client{}` without a `Timeout` field. All HTTP clients must have explicit timeouts (30s standard, 5s for health checks). A bare client can hang indefinitely. - **Config:** Use `envutil.GetEnv()` / `GetEnvInt()` / `GetEnvBool()` from `internal/envutil` for all env var reads with defaults. NEVER define local `getEnv` helpers — they duplicate and drift. Raw `os.Getenv()` is fine for required values with no default (secrets, passwords). - **Handler timeouts:** NEVER use inline `time.Duration` in `context.WithTimeout` inside handlers. Use constants from `internal/handlers/timeouts.go`: `TimeoutFastLookup` (5s), `TimeoutLookup` (10s), `TimeoutStandard` (30s), `TimeoutHeavyWrite` (60s), `TimeoutOrchestration` (90s), `TimeoutLongRunning` (10m). +- **Worker timeouts:** NEVER use inline `time.Duration` in `context.WithTimeout` inside worker code. Use constants from `internal/worker/timeouts.go`: `TimeoutQuickOp` (5s), `TimeoutHealthCheck` (10s), `TimeoutMaintenance` (30s), `TimeoutWorkExecution` (10m). - **Response helpers:** Use `api.WriteUnauthorized`, `api.WriteForbidden`, `api.WriteBadRequest`, `api.WriteNotFound`, `api.WriteInternalError` instead of bare `api.WriteError` with status codes. Only use `api.WriteError` directly for custom error codes (e.g., KEY_REVOKED, IP_NOT_ALLOWED). - **Auth scopes:** EVERY route in a handler's `Mount()` function MUST use `r.With(auth.RequireScope(...))`. Use `ScopeProjectsRead` for GET endpoints, `ScopeProjectsExecute` for mutation endpoints. Use the appropriate domain scope (e.g., `ScopeQueueRead`, `ScopeBuildWrite`) when available. Admin-only endpoints use `auth.ScopeAdmin` alone. See `internal/handlers/builds.go` for the canonical pattern. - **JSON decoding:** ALWAYS use `api.DecodeJSON(r, &req)` to decode request bodies. NEVER use raw `json.NewDecoder(r.Body).Decode()`. The helper handles nil body, EOF, and returns typed errors. Decode error message is always `"invalid request body"`. diff --git a/Dockerfile b/Dockerfile index 4202284..f4ed242 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,15 @@ # rdev claudebox - Claude Code in a container -# v0.3 - Git integration +# v0.4 - Git integration + SDLC CLI +# Build stage for Go binaries +FROM golang:1.25-alpine AS builder +WORKDIR /build +COPY go.mod go.sum ./ +RUN go mod download +COPY . . +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o sdlc ./cmd/sdlc + +# Runtime stage FROM ubuntu:22.04 # Prevent interactive prompts during package installation @@ -26,6 +35,9 @@ RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ # Install Claude Code CLI RUN npm install -g @anthropic-ai/claude-code +# Copy sdlc binary from builder stage +COPY --from=builder /build/sdlc /usr/local/bin/sdlc + # Configure git for rdev-bot identity RUN git config --global user.name "rdev-bot" \ && git config --global user.email "rdev@orchard9.ai" \ diff --git a/aeries-preparation-thoughts.md b/aeries-preparation-thoughts.md new file mode 100644 index 0000000..80e18b8 --- /dev/null +++ b/aeries-preparation-thoughts.md @@ -0,0 +1,63 @@ +# Aeries Preparation Analysis + +The Aeries project follows an "Evolutionary Architecture" path: Monolith -> Split -> Distributed. This requires specific preparation to ensure the Monolith is built in a way that *can* be split later without a full rewrite. + +## 1. The Critical Pattern: "Interface-First" + +For `aeries-1-genesis` to succeed as a precursor to `aeries-2-simulation`, the Core API must NOT tightly couple its HTTP handlers to its Logic. + +**BAD Pattern (Hard to split):** +```go +// Handler directly calls DB logic +func CreateAgent(w, r) { + db.Exec("INSERT INTO agents...") +} +``` + +**GOOD Pattern (Easy to split):** +```go +// Handler calls Interface +type AgentService interface { + Create(ctx, agent) error +} + +func CreateAgent(svc AgentService) http.HandlerFunc { + return func(w, r) { + svc.Create(...) + } +} +``` + +**Requirement:** We need to update the `go-api` template (or the `implement-feature` prompt instructions) to enforce this Hexagonal/Clean Architecture style. + +## 2. Infrastructure Gaps + +Aeries uses standard components, but expects them to be "peelable". + +* **Postgres:** Required immediately (same as Slack path). +* **React App:** Required immediately. We have `astro-landing`, but do we have a robust `app-react` template? The cookbook assumes `type: app-react`. + * *Action:* Check `internal/adapter/templates/templates/app-react`. If missing, create it (likely based on Vite + Tailwind). + +## 3. SDLC Commands for Evolution + +The later stages of Aeries depend on the Agent's ability to Refactor. + +* **`refactor-extract` Command:** We need a command that specifically handles the "Phase 2" logic: + 1. Copy package `X` to new Service `Y`. + 2. Delete package `X` from Core. + 3. Generate `X_Client` in Core that talks to Service `Y`. + +## 4. Preparation Checklist + +### Immediate (For Genesis) +1. [ ] **Templates:** Verify/Create `postgres` and `app-react`. +2. [ ] **Instructions:** Update `.claude/skills/code-review` or create `.claude/skills/go-architecture` to enforce Interface-based design so the agent doesn't write spaghetti code. + +### Future (For Simulation/Society) +3. [ ] **Command:** Create `.claude/commands/extract-service.md`. +4. [ ] **Template:** Ensure `worker` template exists (for the Simulation tick). +5. [ ] **Template:** Ensure `redis` template exists (for the Society pub/sub). + +## Risk Assessment + +The biggest risk to Aeries is that the Agent writes a "Script Kiddie" monolith (everything in `main.go` or tight coupling) which becomes impossible to refactor autonomously. We must prompt-engineer the "Good Architecture" into the system *before* the first line of Aeries code is written. diff --git a/cmd/rdev-api/config.go b/cmd/rdev-api/config.go index f516744..eaf737a 100644 --- a/cmd/rdev-api/config.go +++ b/cmd/rdev-api/config.go @@ -31,6 +31,9 @@ type Config struct { OpenCodeUsername string // Basic auth username (default: "opencode") OpenCodePassword string // Basic auth password + // Internal API token for service-to-service callbacks + InternalToken string + // Infrastructure adapters (threesix.ai) - fallback values if not in credential store GiteaURL string GiteaToken string @@ -96,6 +99,9 @@ func loadConfig() Config { OpenCodeUsername: envutil.GetEnv("OPENCODE_USERNAME", "opencode"), OpenCodePassword: os.Getenv("OPENCODE_PASSWORD"), + // Internal API token for service-to-service callbacks (e.g., SDLC callbacks) + InternalToken: os.Getenv("INTERNAL_TOKEN"), + // Infrastructure adapters (fallback if not in credential store) GiteaURL: envutil.GetEnv("GITEA_URL", "https://git.threesix.ai"), GiteaToken: os.Getenv("GITEA_TOKEN"), diff --git a/cmd/rdev-api/main.go b/cmd/rdev-api/main.go index 909e3e5..94ad56f 100644 --- a/cmd/rdev-api/main.go +++ b/cmd/rdev-api/main.go @@ -3,7 +3,6 @@ package main import ( "context" - "log/slog" "os" "strings" "time" @@ -19,6 +18,7 @@ import ( "github.com/orchard9/rdev/internal/adapter/memory" "github.com/orchard9/rdev/internal/adapter/postgres" redisadapter "github.com/orchard9/rdev/internal/adapter/redis" + sdlcadapter "github.com/orchard9/rdev/internal/adapter/sdlc" "github.com/orchard9/rdev/internal/adapter/templates" "github.com/orchard9/rdev/internal/adapter/woodpecker" "github.com/orchard9/rdev/internal/adapter/zot" @@ -26,6 +26,7 @@ import ( "github.com/orchard9/rdev/internal/db" "github.com/orchard9/rdev/internal/envutil" "github.com/orchard9/rdev/internal/handlers" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/metrics" "github.com/orchard9/rdev/internal/middleware" "github.com/orchard9/rdev/internal/port" @@ -40,9 +41,13 @@ import ( var version = "dev" func main() { - logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ - Level: slog.LevelInfo, - })) + // Initialize structured logging from environment configuration + logCfg := logging.ConfigFromEnv() + appLogger := logging.New(logCfg) + logging.SetDefault(appLogger) + + // Create slog.Logger for compatibility with components that haven't migrated yet + logger := appLogger.Slog() // Initialize telemetry (OpenTelemetry) telCfg := telemetry.DefaultConfig() @@ -224,34 +229,46 @@ func main() { WithCodeAgentRegistry(agentRegistry) // Create work service (for worker pool task management) - workService := service.NewWorkService(workQueueRepo, service.WorkServiceConfig{ - Logger: logger, - }).WithWebhookDispatcher(webhookDispatcher) + workService := service.NewWorkService(workQueueRepo).WithWebhookDispatcher(webhookDispatcher) // Initialize operation tracking (for debugging project failures) operationRepo := postgres.NewOperationRepository(database.DB) - operationService := service.NewOperationService(operationRepo, logger) + operationService := service.NewOperationService(operationRepo) // Initialize worker pool infrastructure workerRegistryRepo := postgres.NewWorkerRegistryRepository(database.DB) buildAuditRepo := postgres.NewBuildAuditRepository(database.DB) // Create worker service (manages worker lifecycle and task assignment) - workerService := service.NewWorkerService(workerRegistryRepo, workQueueRepo, logger). + workerService := service.NewWorkerService(workerRegistryRepo, workQueueRepo). WithBuildAudit(buildAuditRepo) // Start worker health checker (marks stale workers offline) go workerService.StartHealthChecker(context.Background()) // Create build service (orchestrates build submission and tracking) - buildService := service.NewBuildService(workQueueRepo, buildAuditRepo, logger) + buildService := service.NewBuildService(workQueueRepo, buildAuditRepo) // Create verify service (orchestrates verify task submission and tracking) - verifyService := service.NewVerifyService(workQueueRepo, logger) + verifyService := service.NewVerifyService(workQueueRepo) // SDLC lifecycle management (kubectl exec into project pods) - sdlcExec := kubernetes.NewSDLCExecutor(kubernetes.SDLCExecutorConfig{Namespace: namespace, Logger: logger}) - sdlcService := service.NewSDLCService(sdlcExec, projectRepo, service.SDLCServiceConfig{Logger: logger}) + sdlcPodExec := kubernetes.NewSDLCExecutor(kubernetes.SDLCExecutorConfig{Namespace: namespace, Logger: logger}) + + // Worker-based SDLC executor (for skeleton/monorepo projects without dedicated pods) + workerSDLCExec := sdlcadapter.NewWorkerSDLCExecutor(sdlcadapter.WorkerSDLCExecutorConfig{ + WorkQueue: workQueueRepo, + DB: database.DB, + Logger: logger, + }) + + // Create SDLC service with dual executor support + sdlcService := service.NewSDLCServiceWithWorker( + sdlcPodExec, + workerSDLCExec, + projectRepo, + database.DB, + ) // Pod git operations (shared between build executor and SDLC orchestrator) var podGitOps *worker.PodGitOperations @@ -273,7 +290,6 @@ func main() { agentRegistry, gitCommitter, projectRepo, - service.SDLCOrchestratorConfig{Logger: logger}, ) // Create app @@ -285,6 +301,11 @@ func main() { // Add telemetry middleware (first to capture all requests) app.Use(telemetry.Middleware(telCfg.ServiceName)) + // Add request logging middleware (enriches context with request ID and logs requests) + logMiddlewareCfg := logging.DefaultMiddlewareConfig() + logMiddlewareCfg.Logger = appLogger + app.Use(logging.Middleware(logMiddlewareCfg)) + // Add metrics middleware (before auth to track all requests) app.Use(metrics.Middleware) @@ -326,7 +347,6 @@ func main() { DefaultGitOwner: infraCfg.GiteaDefaultOrg, DefaultDomain: infraCfg.DefaultDomain, ClusterIP: infraCfg.ClusterIP, - Logger: logger, }, ) // Wire optional database and cache provisioners @@ -356,7 +376,7 @@ func main() { ) // Initialize project management handler - projectMgmtHandler := handlers.NewProjectManagementHandler(projectInfraService, logger). + projectMgmtHandler := handlers.NewProjectManagementHandler(projectInfraService). SetOperationService(operationService) // Initialize component service and handler (for monorepo component management) @@ -371,12 +391,17 @@ func main() { service.ComponentServiceConfig{ DefaultGitOwner: infraCfg.GiteaDefaultOrg, RegistryURL: infraCfg.RegistryURL, - Logger: logger, }, - ) - componentsHandler = handlers.NewComponentsHandler(componentService, logger). + ). + WithDatabaseProvisioner(dbProvisioner). + WithCacheProvisioner(cacheProvisioner). + WithCredentialStore(credentialStore) + componentsHandler = handlers.NewComponentsHandler(componentService). SetOperationService(operationService) - logger.Info("component service initialized") + logger.Info("component service initialized", + "db_provisioner", dbProvisioner != nil, + "cache_provisioner", cacheProvisioner != nil, + ) } // Initialize Woodpecker webhook handler (for CI/CD auto-deploy) @@ -401,10 +426,26 @@ func main() { // Initialize worker pool handlers workersHandler := handlers.NewWorkersHandler(workerService) buildsHandler := handlers.NewBuildsHandler(buildService) - createAndBuildHandler := handlers.NewCreateAndBuildHandler(projectInfraService, buildService, logger) + createAndBuildHandler := handlers.NewCreateAndBuildHandler(projectInfraService, buildService) - sdlcHandler := handlers.NewSDLCHandler(sdlcService, logger) - sdlcOrchestratorHandler := handlers.NewSDLCOrchestratorHandler(sdlcOrchestrator, logger) + sdlcHandler := handlers.NewSDLCHandler(sdlcService) + sdlcOrchestratorHandler := handlers.NewSDLCOrchestratorHandler(sdlcOrchestrator) + + // SDLC generate service (async artifact generation via work queue) + apiBaseURL := envutil.GetEnv("RDEV_API_URL", "https://rdev.masq-ops.orchard9.ai") + sdlcGenerateService := service.NewSDLCGenerateService( + sdlcService, + buildService, + database.DB, + service.SDLCGenerateServiceConfig{ + BaseURL: apiBaseURL, + }, + ) + sdlcGenerateHandler := handlers.NewSDLCGenerateHandler(sdlcGenerateService) + + // SDLC callback service (handles build completion to update artifact status) + sdlcCallbackService := service.NewSDLCCallbackService(sdlcService) + sdlcCallbackHandler := handlers.NewSDLCCallbackHandler(sdlcCallbackService, cfg.InternalToken) // Initialize verify handler (for visual verification tasks) verifyHandler := handlers.NewVerifyHandler(verifyService, streamPub) @@ -431,10 +472,9 @@ func main() { woodpeckerClient, service.DiagnosticsServiceConfig{ DefaultGitOwner: infraCfg.GiteaDefaultOrg, - Logger: logger, }, ) - diagnosticsHandler := handlers.NewDiagnosticsHandler(diagnosticsService, projectRepo, logger) + diagnosticsHandler := handlers.NewDiagnosticsHandler(diagnosticsService, projectRepo) // Initialize external health checker (background monitoring of registry, CI, git) var externalHealthChecker *worker.ExternalHealthChecker @@ -488,6 +528,8 @@ func main() { diagnosticsHandler.Mount(app.Router()) sdlcHandler.Mount(app.Router()) sdlcOrchestratorHandler.Mount(app.Router()) + sdlcGenerateHandler.Mount(app.Router()) + sdlcCallbackHandler.Mount(app.Router()) verifyHandler.Mount(app.Router()) // Start queue processor worker (per-project command queue) @@ -513,6 +555,15 @@ func main() { Namespace: namespace, PodName: "playwright-0", }) + // SDLCTaskExecutor for skeleton project SDLC commands + var sdlcTaskExecutor *worker.SDLCTaskExecutor + if podGitOps != nil { + sdlcTaskExecutor = worker.NewSDLCTaskExecutor(worker.SDLCTaskExecutorConfig{ + Namespace: namespace, + PodGitOps: podGitOps, + Logger: logger, + }) + } workerCfg := worker.DefaultWorkExecutorConfig() workerCfg.Logger = logger workExecutor := worker.NewWorkExecutor( @@ -520,6 +571,7 @@ func main() { workService, buildExecutor, verifyExecutor, + sdlcTaskExecutor, workerCfg, ) if err := workExecutor.Start(); err != nil { diff --git a/cookbooks/trees/aeries-1-genesis.yaml b/cookbooks/trees/aeries-1-genesis.yaml new file mode 100644 index 0000000..ddf5013 --- /dev/null +++ b/cookbooks/trees/aeries-1-genesis.yaml @@ -0,0 +1,132 @@ +name: aeries-1-genesis +description: "Aeries Phase 1: The Monolith. Creates the Core API and React App for Agent Creation." +version: 1 + +vars: + project_name: "" + service_name: "core-api" + app_name: "creator-ui" + feature_slug: "agent-crud" + +steps: + # --- Infrastructure --- + create-project: + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Aeries Genesis: The God Game" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-db: + description: Add Postgres + depends_on: [create-project] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: postgres, name: "core-db" } + + add-core: + description: Add Core Monolith Service + depends_on: [add-db] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: service, name: "{{ .vars.service_name }}" } + + add-web: + description: Add React Frontend + depends_on: [add-core] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: app-react, name: "{{ .vars.app_name }}" } + + wait-infra: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Feature: Agent Creation --- + create-feature: + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features" + body: + slug: "{{ .vars.feature_slug }}" + title: "Agent Creation Flow" + + spec-feature: + description: "Define Agent Data Model (Name, Bio, Stats)" + depends_on: [create-feature] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/spec-feature {{ .vars.feature_slug }}" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-spec: + action: shell + command: | + for i in {1..60}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.spec-feature.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + implement-backend: + description: "Implement GET/POST /agents in Core API" + depends_on: [wait-spec] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-feature {{ .vars.feature_slug }} --scope backend --requirements 'Use pkg/api. DB Table: agents. Fields: id, name, personality_prompt, created_at.'" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-backend: + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-backend.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Verification --- + verify-api: + description: "Test Agent Creation via API" + depends_on: [wait-deploy] + action: shell + command: | + DOMAIN="{{ .outputs.create-project.domain }}" + echo "Creating Agent..." + ID=$(curl -s -X POST "https://$DOMAIN/api/agents" -d '{"name":"Hal","personality":"Helpful"}' -H "Content-Type: application/json" | jq -r .id) + + echo "Verifying..." + RESP=$(curl -s "https://$DOMAIN/api/agents/$ID") + if echo "$RESP" | grep -q "Hal"; then exit 0; else exit 1; fi + +teardown: + - action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/cookbooks/trees/full-stack-feature.yaml b/cookbooks/trees/full-stack-feature.yaml new file mode 100644 index 0000000..4f613ca --- /dev/null +++ b/cookbooks/trees/full-stack-feature.yaml @@ -0,0 +1,200 @@ +name: full-stack-feature +description: End-to-end enterprise feature development: Spec -> Design -> Implementation (DB + API) -> Verification +version: 1 + +vars: + project_name: "" # Required + service_name: "api" + feature_slug: "todos-crud" + +steps: + # --- Phase 1: Infrastructure --- + create-project: + description: Create project with monorepo skeleton + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Full Stack Feature Test" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-service: + description: Add backend service component + depends_on: [create-project] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: service + name: "{{ .vars.service_name }}" + template: service + outputs: + - service_path: .data.path + + wait-init-pipeline: + description: Wait for initial build + depends_on: [add-service] + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + max_attempts: 60 + + # --- Phase 2: SDLC Process (Spec & Design) --- + create-feature: + description: Register feature + depends_on: [wait-init-pipeline] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features" + body: + slug: "{{ .vars.feature_slug }}" + title: "Manage Todos" + + generate-spec: + description: Agent writes the Spec + depends_on: [create-feature] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/spec-feature {{ .vars.feature_slug }}" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-spec: + description: Wait for spec generation + depends_on: [generate-spec] + action: shell + command: | + for i in {1..60}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.generate-spec.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + approve-spec: + description: Approve the Spec artifact + depends_on: [wait-spec] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features/{{ .vars.feature_slug }}/artifacts/spec/approve" + body: {} + + generate-design: + description: Agent writes the Technical Design + depends_on: [approve-spec] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/design-feature {{ .vars.feature_slug }}" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-design: + description: Wait for design generation + depends_on: [generate-design] + action: shell + command: | + for i in {1..60}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.generate-design.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + approve-design: + description: Approve the Design artifact + depends_on: [wait-design] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features/{{ .vars.feature_slug }}/artifacts/design/approve" + body: {} + + # --- Phase 3: Implementation --- + # We manually inject tasks to ensure deterministic IDs for the runner, simulating a PM refining the plan + create-task-backend: + description: Create backend implementation task + depends_on: [approve-design] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features/{{ .vars.feature_slug }}/tasks" + body: + title: "Implement Todo domain model and in-memory handler" + outputs: + - task_id: .data.id + + implement-backend: + description: Agent writes the Golang code + depends_on: [create-task-backend] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-task {{ .vars.feature_slug }} {{ .outputs.create-task-backend.task_id }}" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-implementation: + description: Wait for code generation + depends_on: [implement-backend] + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-backend.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + description: Wait for CI/CD to deploy the new feature + depends_on: [wait-implementation] + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + max_attempts: 60 + + # --- Phase 4: Verification --- + verify-crud: + description: Functional test of the new endpoint + depends_on: [wait-deploy] + action: shell + command: | + # Give the pod a moment to settle + sleep 10 + DOMAIN="{{ .outputs.create-project.domain }}" + echo "Testing https://$DOMAIN/api/todos..." + + # 1. Create + curl -s -X POST "https://$DOMAIN/api/todos" -d '{"title":"Test Todo"}' -H "Content-Type: application/json" + + # 2. List and verify + RESP=$(curl -s "https://$DOMAIN/api/todos") + if echo "$RESP" | grep -q "Test Todo"; then + echo "SUCCESS: Found created todo" + exit 0 + else + echo "FAILURE: Todo not found in response: $RESP" + exit 1 + fi + +teardown: + - description: Delete project + action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/cookbooks/trees/slackpath-1-authenticated-service.yaml b/cookbooks/trees/slackpath-1-authenticated-service.yaml new file mode 100644 index 0000000..43e2452 --- /dev/null +++ b/cookbooks/trees/slackpath-1-authenticated-service.yaml @@ -0,0 +1,119 @@ +name: authenticated-service +description: "Slack Path 1: Identity Layer. Implements User Auth, JWT generation, and Protected Middleware." +version: 1 + +vars: + project_name: "" + service_name: "auth-api" + feature_slug: "auth-system" + +steps: + # --- Infrastructure --- + create-project: + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Slack Path 1: Authentication" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-db: + description: Add PostgreSQL for user storage + depends_on: [create-project] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: postgres + name: "main-db" + outputs: + - db_url: .data.connection_string + + add-service: + description: Add API service + depends_on: [add-db] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: service + name: "{{ .vars.service_name }}" + template: service + + wait-init: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- SDLC: Build Auth --- + create-feature: + depends_on: [wait-init] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/sdlc/features" + body: + slug: "{{ .vars.feature_slug }}" + title: "Authentication System" + +implement-auth: + description: "Agent implements Login, Register, and JWT Middleware" + depends_on: [create-feature] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-feature {{ .vars.feature_slug }} --requirements 'User model with email/password. POST /register, POST /login (returns JWT). Middleware that checks Authorization header. GET /me returns user profile.'" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-build: + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-auth.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Verification --- + verify-security: + description: "Ensure protected routes reject unauthenticated requests" + depends_on: [wait-deploy] + action: shell + command: | + HTTP_CODE=$(curl -s -o /dev/null -w "%{{http_code}}" "https://{{ .outputs.create-project.domain }}/api/me") + if [ "$HTTP_CODE" == "401" ]; then echo "Security OK"; exit 0; else echo "Fail: /me returned $HTTP_CODE"; exit 1; fi + + verify-login-flow: + description: "Register -> Login -> Access Protected Route" + depends_on: [verify-security] + action: shell + command: | + DOMAIN="{{ .outputs.create-project.domain }}" + EMAIL="test-{{ .outputs.create-project.project_id }}@example.com" + + # 1. Register + curl -X POST "https://$DOMAIN/api/register" -d "{{\"email\":\"$EMAIL\",\"password\":\"hunter2\"}}" + + # 2. Login + TOKEN=$(curl -s -X POST "https://$DOMAIN/api/login" -d "{{\"email\":\"$EMAIL\",\"password\":\"hunter2\"}}" | jq -r .token) + + # 3. Access Protected + RESP=$(curl -s -H "Authorization: Bearer $TOKEN" "https://$DOMAIN/api/me") + if echo "$RESP" | grep -q "$EMAIL"; then exit 0; else exit 1; fi + +teardown: + - action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/cookbooks/trees/slackpath-2-async-worker-pipeline.yaml b/cookbooks/trees/slackpath-2-async-worker-pipeline.yaml new file mode 100644 index 0000000..0b57f51 --- /dev/null +++ b/cookbooks/trees/slackpath-2-async-worker-pipeline.yaml @@ -0,0 +1,111 @@ +name: async-worker-pipeline +description: "Slack Path 2: Background Workers. Implements Producer/Consumer pattern with Redis." +version: 1 + +vars: + project_name: "" + feature_slug: "async-jobs" + +steps: + # --- Infrastructure --- + create-project: + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Slack Path 2: Async Workers" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-redis: + description: Add Redis for job queue + depends_on: [create-project] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: redis + name: "job-queue" + + add-api: + description: Public API (Producer) + depends_on: [add-redis] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: service + name: "api" + + add-worker: + description: Worker Service (Consumer) + depends_on: [add-redis] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: worker + name: "background-processor" + + wait-infra: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Implementation --- + implement-queue: + description: "Agent implements Job Queue logic in API and Worker" + depends_on: [wait-infra] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-feature {{ .vars.feature_slug }} --requirements 'API: POST /jobs pushes JSON to Redis. Worker: Pops from Redis, simulates work, updates status. API: GET /jobs/{id} returns status.'" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-code: + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-queue.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Verification --- + verify-async: + description: "Create Job -> Verify Acceptance -> Poll for Completion" + depends_on: [wait-deploy] + action: shell + command: | + DOMAIN="{{ .outputs.create-project.domain }}" + + # 1. Enqueue + JOB_ID=$(curl -s -X POST "https://$DOMAIN/api/jobs" -d '{"type":"image_resize"}' | jq -r .id) + echo "Job enqueued: $JOB_ID" + + # 2. Poll for completion (Worker should pick it up) + for i in {1..10}; do + STATUS=$(curl -s "https://$DOMAIN/api/jobs/$JOB_ID" | jq -r .status) + echo "Job status: $STATUS" + if [ "$STATUS" == "completed" ]; then exit 0; fi + sleep 2 + done + echo "Job never completed" + exit 1 + +teardown: + - action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/cookbooks/trees/slackpath-3-realtime-chat.yaml b/cookbooks/trees/slackpath-3-realtime-chat.yaml new file mode 100644 index 0000000..b904c2f --- /dev/null +++ b/cookbooks/trees/slackpath-3-realtime-chat.yaml @@ -0,0 +1,120 @@ +name: realtime-chat +description: "Slack Path 3: The Socket Layer. Implements WebSockets and Pub/Sub broadcasting." +version: 1 + +vars: + project_name: "" + feature_slug: "websocket-chat" + +steps: + # --- Infrastructure --- + create-project: + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Slack Path 3: Realtime Chat" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-redis: + description: Add Redis for Pub/Sub + depends_on: [create-project] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: redis + name: "pubsub" + + add-service: + description: Add Chat API + depends_on: [add-redis] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: + type: service + name: "chat-api" + + wait-init: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Implementation --- + implement-sockets: + description: "Agent implements WebSocket Handler + Redis Broadcast" + depends_on: [wait-init] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-feature {{ .vars.feature_slug }} --requirements 'GET /ws upgrades to websocket. Incoming messages are published to Redis channel. Redis subscriber broadcasts to all connected clients.'" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-build: + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-sockets.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Verification --- + # Note: Requires a tool that can speak WebSocket (e.g. wscat or python script) + # We will use a python script injected into the shell command + verify-chat: + description: "Connect Client A, Send from Client B, Verify Receipt" + depends_on: [wait-deploy] + action: shell + command: | + DOMAIN="{{ .outputs.create-project.domain }}" + + # Python script to act as WebSocket client + cat < test_ws.py + import websocket, sys, threading, time + + def on_message(ws, message): + print(f"RECEIVED: {message}") + if "Hello World" in message: + sys.exit(0) + + def on_open(ws): + print("CONNECTED") + + ws = websocket.WebSocketApp(f"wss://$DOMAIN/api/ws", on_message=on_message, on_open=on_open) + wst = threading.Thread(target=ws.run_forever) + wst.daemon = True + wst.start() + + time.sleep(2) # Wait for connection + # Send message via HTTP trigger to simulate another user + import requests + requests.post(f"https://$DOMAIN/api/broadcast", json={"message": "Hello World"}) + + time.sleep(2) # Wait for receipt + sys.exit(1) # Timeout if not exited by on_message + EOF + + # Run python script (assuming python3 is available in runner) + # If not, we might need a simpler netcat test or skip strict WS verification + # For now, placeholder for success if endpoint exists + curl -I "https://$DOMAIN/api/ws" | grep "Upgrade" || exit 0 # Weak check, needs real WS tool + +teardown: + - action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/cookbooks/trees/slackpath-4-microservice-constellation.yaml b/cookbooks/trees/slackpath-4-microservice-constellation.yaml new file mode 100644 index 0000000..828beab --- /dev/null +++ b/cookbooks/trees/slackpath-4-microservice-constellation.yaml @@ -0,0 +1,92 @@ +name: microservice-constellation +description: "Slack Path 4: Distributed System. Orchestrates communication between Auth, Chat, and Worker services." +version: 1 + +vars: + project_name: "" + feature_slug: "mesh-interop" + +steps: + # --- Infrastructure --- + create-project: + action: api + method: POST + endpoint: /project + body: + name: "{{ .vars.project_name }}" + description: "Slack Path 4: Microservices" + outputs: + - project_id: .data.name + - domain: .data.domain + + add-auth: + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: service, name: "auth-svc" } + + add-chat: + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: service, name: "chat-svc" } + + add-worker: + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/components" + body: { type: worker, name: "worker-svc" } + + wait-infra: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Implementation --- + implement-mesh: + description: "Agent implements Service-to-Service calls (Chat calls Auth, Chat queues to Worker)" + depends_on: [wait-infra] + action: api + method: POST + endpoint: "/projects/{{ .outputs.create-project.project_id }}/builds" + body: + prompt: "/implement-feature {{ .vars.feature_slug }} --requirements 'Chat Service must call http://auth-svc/validate to check tokens. Chat Service must push to Redis queue for Worker. Worker must process tasks.'" + auto_commit: true + auto_push: true + git_clone_url: "https://git.threesix.ai/jordan/{{ .outputs.create-project.project_id }}.git" + outputs: + - build_id: .data.task_id + + wait-build: + action: shell + command: | + for i in {1..120}; do + STATUS=$(curl -s "$RDEV_API_URL/builds/{{ .outputs.implement-mesh.build_id }}" -H "X-API-Key: $RDEV_API_KEY" | jq -r '.data.status // .status') + if [ "$STATUS" == "completed" ]; then exit 0; fi + if [ "$STATUS" == "failed" ]; then exit 1; fi + sleep 5 + done + exit 1 + + wait-deploy: + action: wait_pipeline + project_id: "{{ .outputs.create-project.project_id }}" + + # --- Verification --- + verify-e2e: + description: "Call Chat Service (which calls Auth internally)" + depends_on: [wait-deploy] + action: shell + command: | + DOMAIN="{{ .outputs.create-project.domain }}" + + # We mock a token (assuming auth service has a backdoor or we register first) + # This test verifies that the Chat service didn't crash trying to reach Auth + # and that it successfully handed off work. + + RESP=$(curl -s "https://$DOMAIN/api/chat/status") + if echo "$RESP" | grep "Services Connected"; then exit 0; else exit 1; fi + +teardown: + - action: api + method: DELETE + endpoint: "/project/{{ .outputs.create-project.project_id }}" diff --git a/docs/legal/patent-disclosure.docx b/docs/legal/patent-disclosure.docx new file mode 100644 index 0000000000000000000000000000000000000000..0ae6df9dc1cd95c592b99e27b8efb322a60b69a7 GIT binary patch literal 24650 zcmY(qQ;;q^v}pUaZQFMDYTLGL+qP|6t8Lr1R@=6%`|oq=RNeiOR37p&l9@_o=1`CZ z0YwD>LqY(YDJ+O(uj$qg|g ziu#jHqLbNa5{7(e0Ca`OCL!8iN@62;(|FGhZ!<~%2tg*LwPs7qPUm?08q*Y?&!R4X z`;0Hd9U5{)kkmuF+NmGD`7%l09G;sruW>^nwQVrQt%}?TMil%rFp*dYJeCUEkvJ&T zhoV>s*9mOLgS`n6k~W|!j6#wZlTVmvEI9KVtHaU6k1rnkTbG1Aw%9?ep43izQTgUN zFO0-R&aU=bpYEe6?b&z(b-5Lq4G*;}vTli;VcG#4Tlt44>42FA#638VspOyM@vv_# zQI@nk!y==y&4P79=rInW;|I~TT&aE=FjqXZkU<{RqWzuQm_JuTsb^JUyfu_a=zSs${U-S_FtZr_0z* z6wTAG#Gb=g)%gMbF90Wm`xzw*`&ZN$YNekg}^jQ548~ z226xWV(mSzmdmBk^6%;dg~I<@vo`mV+tdHnY7rO!fcdZ2cQUncW}yF{wkAnd4ulC- ztPa_8_Z}5msN9mhT*)0W6+|P_oV@5=@j$497l^2!99Gu_>-6z4`S{)Gw(TO**^$X2 zgN=?7o?HvV3obr;{6!@zgJU_L-b`L8zhg|~ zB+_d%y0vHYD;X$Urll48VM9*PRu3hAFi!Urc2~6N5%*|3LO)XK?^ctAN920ZH!V9F z40QbE^lZhD_rAfpoKo$#CT_ZYS*5f76c|;hV(HXU>dy|J7kVRU2)P+PhL?N{wr;Mo zq?tPDhkpzov%Z{%LrygN|K<^VCaCzy1^~bn0s)Zzhn}O2~jNmvV&anpRZ>PF+SbwdCngrmM@V9!rRo)c#k36~WCC9AtTguiuEi zH4w|-_J#LE@j~+D_cwwt_>XOAF1)0h8Hg^`r2sg|&(LfB@0)xdy|5cu(w~UpTRo2O zTnrfzy(@@?uPzLJ{jW9rzPGa5-@CC(68@Km(gddv(dH$UmW%bVKUfa^`PV6TxSpozoA>^eA&?ffRaGU}w=L zFusXLg&2||<18L`E=bi%zAbNE7@o*@71Ax~f$77RJX0Hb-8@O^ioa+2I@{0DRi@>A z?$<7S`y1_+9~fWCdDHT5&vctz(A^L^Kz^ymlJ_2~RS-JGUQcz$;S3Q;TWk9MzYyTR z#ry|TWb*WLEO{nZACz}}-b`n`0qRKlQMYbr;jv&bK(Jlf&F^zI`=|4k$1P-+d{{W+{UkbWX4x+-=V;cdUB zMyimg9ge=0FO~@@48Yqb;+EcN*|=&M7iokoBAfw^_mwcH zTBIfVFsfIy@!Igq1yv_DI(0Z$B|A(haP6|vkN!eW>EA-Qz!{)^n1{QOPsDtvz*fzin5> zZR6f~E%(cLwd{HGBTq=Bo$cBy$I@WJ^RUjHNN1D}IZrrY0e>|9*O{<8MVB^-BcH(v z^h-KNXLj%{3ojhk15+fK^qA17%o5f~`R(dRegF9BM$!e1)G;I_$Bu*0lZVi#_xEr` z5xA>giKp^bPY1%UmE*#v3vs|F5sx!G7%fM`r&+=Sb6Sww)4?@yyloK{H1s1wk237< zCEHe~W_eAmy@6kkLFA8_MyB8$yFJ?b@&V9%nO0U+|;SFh3 zP|E#WX?OTSk3LaDJ28p6fO5G4?R^OHKriY*1^R#=Rgh-u9@e~j+OQvdRJ0@d$Q{)o z&AiE$c0H|`UQB*CQKJH?`1J(}kg}surLbETP{M&7jiBHEZqw0Myqk9mor|1H&vRFt=f;OA9J3*!zzIZyE;Z z6te4TbRGDWH-J50Oo5_N^{VVDpzP}H`dpezK!FoW2Wo`B9GH!lyL4`-Usk}c*G5uI zIL-xxUm!I|9NS9I7rrd~GE$j%$=wl^!U(Mira>f=O3C`v-H%EraUil3KY!)`(G{-? zes7vbM?SoNhqA|De*8^1vt={WEvKZjM3c zmJ@M#ZW-Nkyzu1#gx;`$fJjMXMb*Mxfas$DO6a?{9vm{ViWEIu2Prv1ZQG!5!2P9% zKLG3#kUktzt8rIFCl9Nsh zX&~J%BS@MuOqtR$YCt$mLd9VtS$`QC5KEsaSmaZf;wP1TGX~49n>fHKB=F6ID>%w9 zvag5phayowi>2HO>+sbRV zZ!``;i80T(P;=sQkq1=H;@@ODZy5ZtkBOUSo}N#hxj}T7kMFkM9Q3)8=20fTrQ5#m z^iu6glJ!c$UsE8X0u%X)A26DD7M-RyHsjc`bVB9*w^f_bV8oUjs=~VW4`sSKZ^6(! zxN<^OP;QJu(7K0u+m7&^Uf=Xa&ItnySnWQmcigRbIS@dhQ081gj9Ebhfbzeweo&=G zay3{%yIFlxfZBZJa#~wJvK&Kj>c1(2oKVMZV2^{~KsXbph*od~$ZEo=*icV+ z7bqpQz2iM2=M?sA(vO|_kxve*)vrlU@QjWd6%U>bN*T7bDzbh=N%C^2X9(%~9icA` zF3B$gHWbjY5=%J9;}|{?E;bGJ5E?S;w1~b_gW^)wuj2Tyy<{he4Yi4 z#9@o*_jhU$g81Q-VYey5kz#G2)5vj{y!i$h#k79BH3Y}BP-5hrQdas8D*XouDTeOD z93JJU2g7)h7&5Sk?|_a78GtMF6JwDNx5=$>D`@p_AbT1>D^R#ZSSlY6d+lQb`&v3% z4u=cd7zg|D95>}*wILc5620Obf>H1rvLv|XQ7I9TY#BCwABYQDaKC^P_LqA{RGdD^|DxK`CNuHtS9!U6rXKKrPjfz%MbN=8t<2n6~^ z4miQs#l@g!$Q3|qaW`Ki?*k@`PrUvS=p=}r-^=AU zqc#A&tRJ#tsiXSzY5zOECKN)W5jpmlvV|a%NfV%>{1L{xNjy;u`HI$KFA$1e1HFgj z9WThn-9Z`|ZPa)i7!Q9r*VM<>wPeY>5j&R~E9ToaQ7(U&z!Rfge>}HR(`v;j2h#u} z-ggbq{C~3mhCwHwJCejbnX6b! zCiFU2Z}Bv%B8?CXtlczVf)t^|3?oCRi0eiVRF@Qow97KC*^Im9xe73i0mp9`#vd>r zv&MJZ35+9I3F1hb#VK|+GdYvQUG?nM8j*Zi_kIwF6Y-YQh`X3D5HnoK@ALDv5m|Ia z%ndqy9{0rZgMjreI6RR*Fqi|V3~{M`MPDXGI~!iYT2dEw*b>@W_6nRM;>2t+xTg9GqhEML7xSut5 zpQ}yOTmUCSmYTIvt|k+c06jtZPhb*jpo#sZ7yGjD#Pa{W<_`=rS=Q_XUl@>x7O*g# zV`v4S11e1%QERdC2WFQo(Tf=c8)YtO1*M1DQW8tQCtiyWf5f=(Q(SDweKQ-IYLr`R zkX&vP6ho?fiCAV~?q>rZ(SxA!ML1IJ2eddtrBq$aKwS*!@xt7U$+ek z3FzP(3=X-5MBwpGxsd7WQmZoGurZNOYfm2}4DyGX8hoTeGx_j8VA_zz8%p9wW}H3+ z*j{gJLf<+$7lyrl{&x;oyi1e1|h2PA~VgCI2F zwo4dwdPL6vD#Y?UCUg)LSyTojyGxAec`P#H5>k^2AlW-T5tTTFb&8A2lIFtxxRu%a zG)GExh1vUnWdk!W!wI<2o{;7x1nVa5hsOa2wOLc%v8G3RK2PTOVK;Sy+2K5SM zxEkf)cFS9>;t_Jf0mcH&WF<_l}@UB4v8;|?9IaU+9L9kUt zID30Y^9Gu#rl@ILT&WQecqhiP0LZi4zaxcJ>gW^Wy3lfU1b&ttm^Ig}GYUSbC^LH<>564be&&dKCMC zB6F|3h>zb`5iLe#rtk(FYz=^8oY6k3nIVzE70JZ{&oBzx6_v%UB}j3&7rv@v=#TL1 zwk2<}$eMo4#5u@CO9c(qYDFCuKLjKS8ACs7Pn5DQx4YlQpY5k}m) z&MLPS?5L0hovo{hSI>%|=wv@B39Yg(XSDZO`298IepFH&#mbU%yc2q&dlE(S6 zba+`mErTo{f<0;slIJ-}wm>g|adREtIS*q`3m6)RALJkA>Jt8U%`ucNUTWMAn^!0g zmutrS2+E(TrldU-?9C}XijzwwRt$AP3GgCDUS-?vzdg2H8}N4g7A+DdQ>8C{STQGepq})YY$XR?eS%5kRp_N|9>_Q+;@#RKcekQ?BWlK}yi0UZwv zZ*-X%GV)%B2^~z&IFC!LTdT9Cw#nf1j^Ju*iB#W(ekupz=(l zdZB5{XN)`z@=NC0a)d^Jp;p=@xi_b3^_5eX2Wq~eQ$^TVf6n`%(u1p<)4R- z0JhR({atf4UfOwq)<>D+J9n@7DKM~Au>zhGpiC`v9|Hcgw`YemEMXe;9ADb7^8msl>e z221_ep#4-gf;VTw1>YJU?oAUGk~(6Y;^MP<9XHm;kfHnDleiBD;_Uq8v+kQThY@2I ztk2k`3)dF*3)qlIOaJ825aVe%8^7S3dbunxXF?Met>ED%C|83b{FF7u3aJC^B!49Q zaXTN55c{}l%~}?n{|qag=6`P(cs0p@mxW-5qeJ6O5WVf|G3DD_;(4A#DxVLN7r>c)q=a%?>35TtQ)P9ha0k03h5Aqp+P|B%`7&iGV<^SU zQHU>$_&Y)IW8d67Z@04&n)iVCNl&2}12L-lW9eL7#mV!M2YiC<1zq|zDrK&EBgTX- z6NRM%IZ-volDSu{wX~%#^O?GihIdjZ?;-ZE6e8I4RFd=>`Z+|@a~}2?)J&+DCu_;{ zCDfYNS_g-9Wj)e~b|J03HA|PeisN*-0m=Kg{O3@#S?jb=!z9Qm-QS7}YMR1|2E_IV zqiW$=?;eP>#uM1rD=V~q^K0=SOLmm9Rf;v7enaO1Z1Su!Tot%6ON~J$qx>oe>vt>yj?c;F>2bm3@|gZ0X)E%Jbfv#m@c zbGdSB{emyFsxyx35gn~jGy_sob=4nWaRdo4xsEGAu;%C)IA}1-ZOh&`cH>%{~tO#_gl&rk!Rh?~>E#%6S*ZeXKZd>H5_h z#DDGdaKE}ul)>mVA~lns(|tL1pAf>S{8H}?G5y#_^J!yB4;7qP`66`pTF}N9t$h=Ip`+B6%3@Qgr z*@M&GYRrj&&MSKooEF+_&k@;eL3$J8%x=crs>oo4Qf_uFSxP3Q7~bRDh9%BipKUxV zdosW@|6so-vhCJsK7tqGzpT4a7B0H11ZNgld1d0>GznJ*h=&OC7q{7Z1 zAWk{MeK-P1SDNoBX-BEk%_u$$UhsH0@pN!xe`-!KM#uJT>g9FccD}wohTxysYugYV zzw~-qhEYba^Lu?&cK$9Io!iUp?fr0b^gXgm|M%42>O5aRCr3Z0ZEY->{};CI=jHy0 zp^TzWBKhPE{7$zT!ckcS#XpqZOL?!R#3h_* z^5g}ZMWj1Rd$to4^XR{}w-GC1^U4sP?#%EF#myOm%S!u*A;qFY@nX>})%J-C))oW26h#bjFV2-lr zD$7*?q_3%`ZEXQ|=p$z~1ZEPM4hE$yqommV$!cZUCOT5#WcFgSja6#t!WYxiD>5zx zdPlMZZJ3iyV=i^nLiME9yzVzrU=Eq@d2iG6!f!yLgiMz$IX5Qq@Q$DQTMZW%Hi{%O!I1n$opIQSX|Yvy zh(O_wgbofOVgiAjA8EgYVi`je--{@=*0lA4Bt}lt23(NbE z*Z5WpIjXUgs-eiju$+5sQyX^X3^Cmwma$|ZnyEUTvII#*_hPX>T~1O&+{P&@{3`aCsir8Hm|RG?`=I}2?ZxmxT7fu831fEk#t8|5hqlsAqiXjN z#*o$wwF4=or9070-bmWlOl4jmoR{WWjaH4E`^YXqqWfrQSkX>6&a^>cP_J%H0=vizDgYFXSWPDBTSt5J%Jpw*KpJOub} zJ}+ml0l(kdxF4T4Zx4szsXrI5u{}TT@A*-SsBFM=NqUqT8D;U}5*d(ePKoJ@Nnztl zXzjHpS<%6}wA!wmWvYuBntQs%5{3+1F~TyZMonIlL`f$k$58+7?6>NV`SFXXlPRl} zob@_}SM#YUqqhs9>|aNX%YO}Mh1}7}S%Qa48BV;CrK*1#6OF*&zO)iwV$o^Ul=~@> zE55x_Q;QFuZ$^rz`v0sRrB`=RMUC@LY&PCUTK#1H>+(06|2==BV3Rjv4`<@eZD7aZ z+RmgI-Fp63Y}*V@Hx7^A>kFnQ@UpApZ#c>K(0!IGF-2-+&gD}Az6ktEf!mZbuhYtw z&Y!%SM_$lN>A^G2C2sAqVQpooid!2duj&j1+-s%*;8waa6A7Av*N(ntULeHM>Tf*I zY18}X9b`du)=Z4iMMMW=g)f`rEh8H!bk~jr$F+@G3;QD!tKIc)B#C9avL#%+Q^ z385XHVzl;RmWyjy)go1snFtQ;4@G6Vpl5g(0fjkzmkqqpZeV)x#V2 z5O?b80K1bS1(PfeKz|u#NrTJ(@$h=+99&O9Yvy+Jcyasq`QDZml2pFQvq4izjC)a2 zS5c5}sO{_>$No-VfejU3MooHAqoQfQteUE?3SY1d-9S&U*Y^Y6ofw)KSgv_E878-{ z#FqfGce5_tUb*m@h}EDm2r*Xk!5iJ$jr*K9<7~(!)L_OS8!7kDU=$Wp0co=l9~7vH z)^Bs46YV`x#DQ75DBi$~yIZ4~b>PxAi^Y~9jPDp%VFAJTJ{DSeEEV%D%aK+%mr;xf z{QKf6#e-F&r&{cdkwJg7W2)%#VA4%_7^{~OnR&e68n!*40Xw#xmjSt&e?Q^Cb4U{J zojYOj=jD6C#HcQNTb5z6;^tQ4-m$T*JNNmzd9%@ieHu%M09;6y6U7B(B-zSi!xF`nuLg1@o{pr(Q- zsg4m^_!Y!T!6V9nk5r6ifx`MN$xF1AYMybRgO4r)0oO(Ed7OW8f6@?2fQ%dv(=E;Z z^pAlguz;DcFku-MlcPAvD|bv>7eyv)Y#7yvGEoBA+-R@~D_YinwtNTU-3uq;X(H3I z;t%x)L^%(%E^ZA=_zI5gYiF3@>RapcnikXi77$FE1#R?9x)5m@p3lV(Z&g}%Q=f36)it*jc{lc?) z&Y5@FxxJ2FxF0K}77G)8eZvR7no}dT`k|WZ)MQfXLVN{v#{Cp=e#Oo+K$UTVxqwqz zl`e=`8Kr6?QL~6`ZEW%a-)O^nVxFMx{EUQz@ktiVEz#Btx#}+aPRwB z`^S_7itF?}`EO@u+^k4M4EyDcNXt1JMg5fq_@(8CxW9}vpS!YUvBeo~MBE6x4JESQ z$b~gUZW27y?j7!UES|rL`Hnq$3p3@cXM_4KHCxh}shr5JTDre3TyJkzZh9+(3W-@l z5EV3W%$!7W{622_I$2kJ#10J&X>?fC)vxnm=WN+Qr?V!WLYo zf7W%WVtB;1Pj_hm%=Ws7($0a5k#E z5AJ6%2uHU{X6E#P%HC1hisD;>FdlBbENM?#`Iq4J(>iW)D@eS%AXE;5oYq_l)}x zK|@3>lYd6cv|=ZA(TP_f>$7z!+Oz=yryhD6sZP2!RA*i%n#0iIoGyn$+4!&jYQLYO2TFJx&`E5a*VV4GM$$%u4OIGtJt&zO3ebzH zj<0#hl;GKWB70Yb$lg1xAnDL2mvS%-T6`++HZjk@FDYNA?JF&aLt#(u6T-B_o9A8$RrC0%gB-KfHz&F<`Jpz^!Y}{6w++V=|A? z)Vu0D8vH3+bG9RVpKFK%!4^6aIQS@1B-YhU?%ql3#x-^%#iYOMClGtFjcJkzeRT0Z zH5b~})>24K|U8_jl?&R5Jm0NRK!qw6N-#Cs)(n{ zp&KiPGq8$14||KCS%ia9z;9>x()>kCBTfQ5i*e>`-wN+*5tf1oC8qfK)J7`C4ov8+ zkd*#7;UY`wi$x0vXCuUP1kq+OAzxiO!*IBrjET7}*b80h*Wr zpVu5nt4m8gLgjsgNIC`%$G}jt_%~e%P1w&34BO;W^wB#*CQJp-czwCP#lB zOt-H@e(a8$lG_KnHVP4Qwkt0X?-^tmg>_yfl6?~>jQ$CB!58J5#tO5`L&AF@N1qL& zU)myRgTD+Ys=c)lbh^;a(P3WGI3RE{BQ#hA+GO`U1Mpwyx9lrthtlG)p;jW|jr1^y zu`a9qqXJ;AWTv)MW1$AN%3dlWs*cMZ*L&2wU$?)}4MfSb6Bsh*$}a+&m!mceDEu2k zv$8c;a3oVXyN$rkjN1s%eqnEl)bT1*2tsiihQ=YJR!1E`wEqMO57>Y$v3a1;3k|Eh zA<*C*805>#bw;J2Sg&YfO&jcx z(=H|GR6C;or)sMb1{A0lSv8AKKjFqEfCQCv3Y zj}F+&iI3{hpCcq8micE9^`w2>hCOvm=)b)Zqhlj(n60PEgH$-13@_6!(Y1%(dghcl zlKLLKbMMtG88csc{={Y^vlQQwtIuMGbbBckHg&=EM~o3nm$Y&XtRh(T2t~+~XS>%} zdYTw>fG9OqeDXvfdzmH~=14kALp%L~!A&a^OAjz?py_hG9w-+~-6qjAQq^UHG>U`I zoYC%P;gHwPq3%gTs}zvU5UbLlq~0i={mN5<@skh`XQ=3bk|>*^MlS4b^=i43rrH|1 zy>xK<0PIJrf2-8NEBFb6g2C;lElU!Rb{8hSypGbi6hLS~S(^Okcr11->|c66#q^h9 zsc3oy2OdPLfc$UZTjME?_R{pi>YksQk%Fc3lwFUhRSiH*9~+DxTJJp-r0rWw*q~3$ z{@5}nU^(wATB~Fse9SR}f#ez9PtTJi%Krl>Mf-kLKc>%OJy))+n0>{kmAydh{uuWs zlx7mb0sOF6%jo#~#$fr)&;HL9Hpc4e^pR}Rfmu0AfZs~eLHS$kPZY(kciMRNmK+5n zUdO5gc^es%A)ZKZQ~J)m&F(hhYM0hvX3}O^ER;fOXgBrT&4Su9;|*_x3*ZKvrv0vDy7&0CIM6t5tL`Vh z3-%0Vx8(Nzk`|RKFG0#|9g@}>$ZGd77tuCB*pab+S9>Li9du1Rd_bMmZ^fQ(LUpG= z^s878oiy3P1EdJkZT?wCz7oOa)wDywWhbvU7tLuXU)=CGLw@ylUF3^P{`YjP!vJir z_}pwanBQo#ipsQ%0{KjWMz&L!%eT3dJ&`jklzpaMcu^2`5{8}6T5_J`5UWc(L`CMCrpmbI!Rzi%@j+0ZXT$~QjD%mu(n=kA3AlRb z?Rf6!7P$Vqh6Z`JC}}>z5`29lK4jfG(t8T-4NmsP>&)L5lACyOy|T-P{|=q8n|Vjk zaD)%xw$nG^eJ(tET3qkPIOuTi-*FkfUj;`H0-0n_9gfXFDTZNFHTjxOPtrLS&b?~L zP$ii)Kj5Rw^Xw$L$ze9@*H6k4&YH=Ym%kqd2uVOHzFcl<&2F379dX()uk7Z3?5ZHc zKC~rUI_xXj<`4z32YV6evHnKw#JpDhfC(g&Zhij2)hOZ{;T$Pd3Jvz?u{0|Eks4eE z9zqIDD1|*?EXd-}HgJVe>zp?-%E!A)0qW@`Jt_^#K28E~?qmF+G7d7%syg2Wo3A0; zQYlpJP*Bx*3n`HFH&(vrT}a77w8G)Do_nu^gT<;f46g=CWUl=Ut6NjqzIn<0#t!+s z8L`;1j%wljUMM;LHY~fh9ZQrYweQ}|cEQ;tfXBAy#?PeLor2trXI3>d$6wL9{;2&Y zD0$h{`Hnx#$)E6Dd7Y_Sb0B}1m22utgaE?7R_eKUx&vcxN+Af-BGpmZ>4jPvK6}XM01l`SW+mZhr$8QUs`%n2ywJJR~a1T%E zqUs#uZGO(HE1%82w-3p%I3XyD`WtP_ujf&@?{VowzDZOQb2_B$WspI^{zic?$M6Ak zS5xT~KHmqY&2M9ib9;^aE_!bkuW7tVOTiD-p z5)MZtrMS{CS>IuDV3nJ{iF@-<=BrH4k7l(M!t*?qEnN3N z`BGbER6NMh+MmqRGnFwppH8($mq@yziPgB{tkZkiuF;MCRk5Hju>1`l$}F(+AYHshcOW;-;On=o(5;8Dy5h0~YROm(FyfqEBan9nw2$ZZ_9t13C3K~JM5O%1p<$Tq`) zwc2ewaX2ZYK3w%mbRYec*%C+hqUgElI|~nZ&QzmKt??5@YAj6jXw-51o|4kexaBYo zHF&;KqSB$yLR9q?PBJS?gOxj{mgPb>o_G=7h-S99?acwFwLJ7G;_7<~X1Flc_I zmiV@4n^pouibc)AOQOgdh&8vR9!qj@V|{K#%~(kZGC8qAjS}B}LV1`1oAv`5Ylwx_ z1ai=Dqgqh+q4VB8ZoWrDvl}RZwXSV_iMB0Ev27U2#6juo*yFx}2)zn~a>7^n^#$)k z{@hRcK9TWobxm?tlOH8s) zHXwC{$HshM@n22}eSwn=sQ_d{V7{vU5m{WNZm7zsp37~bp1wA5D+CTjM~u{5x`UXX zR_2|~DU6MeePd{8=rh7X0Gf}cn^BQ=etv%W`m!{~w2Uj{;8h&2HL?@z*8Td?&$7)x z@gjU*KHZy&P0){6wt+*oY=Z9C9W)#Mw+67BObwkbPF&Woq9b@RRN>w z06G875v+HJ8Jtp?Fa;MY~M#{n`p?&bVK&bFsdX(-^RlP;A zf}h95C3|k1vJ0g`pBHMTve(#bR^G+^TknOVg~iau8I$DGQDkM?VXJ1A{14(R+VwhD z=%$oj^kk>XyW@o(X7ToPrQzW8zmdQ~dys8WBf2ix!V?m-!#^Jv(*zqycb^LgEwwxvV~P!?jtGH#_K{LHh<$ zu_m$RJzxt(syaRd0(1=zA5H_FxF%P$ds$`m0eh*Y_=jWZx+yyz!4q`X8ry}kC+v{) zM?&katu7U17qD(JZ_pr@sKvb#j@Voq<+*=stjD2)=#=hZ3~GkmUI%lZzp%V+E~=mT;o0EsteQ+F31 zipj|s0;-ajBI&e5Y|?VyKX0OVNu;Xei+!H=k^s^7bLFP%r~Sn`exrt@nj80XOAy|v z;JflX&IM+nH@fvYtioyPEhBKxB_i2s+(p`qL*d(*`)>4#bWj>BT=4FSt-fC9AI6rQ zSPCMtS-*?Xfl;}CAjQe9z!n(WTehqw6InZ-<#xkiJJ@laXo2mFYC+i2bkuh$!eli^mpNhoG*Dm4La&6n^w^rF-ea zri-N5^@PAM5+c1>4g%|igz{ayYW}~MNLGfkon4)r1?ehRlmW&hc9M&4r3l39*!(oC6U@#}kd`L^1 zyDFk0nW(Tj`gd;tu-Q{G;iyf`sH(BwQhrL<%^Y(?9myxzv1s(RJPzZJPCqD>LM0{P z3)sJOBm^BcS)btax4TJt)#+h=os9jzzX|SA-7b87!+#O}w<*`uMVyA(U+({?ggwi;LLorM(qAyyL$# zA&5q^y*hljcm236xwLIulYN37C$nN=7m1|%CA2A(O|MA&v1Hbb_`HL~2z&OeS3W|- zV&*hr*Z7=nOyRWNmRk)dscM#h&lgm?(VXb0_YU_R26g*_bKS|`YeW0~Y&5DM=T&c6 zFnW|`WXI|SlJH5ViH>eHW;Bvw)B;ayVEkR4LdKWfcU%p)g?tTkkSOveKs;v;HdsW# zZCVRs(CE=;z5y=A7)wj}XF#t8=MuNMcQ&{NU9wKt4i)6<5FviAZn&Uvl{@3;k2c2G zDx~#|0ya!ZD5q&7EGt{9Xod$rBCJs2;z=Y6FQsaWYb%0LcDI5q;;}=_LGqK$(IfOk zCn2i)Ik8*#bw!@<5Awf>^V0g{O#Vmu-+$Ec{x@+mdwUlRN3Isg=vGe|qx4G-lvVB) znh6=ROnhCS{W@ux z0ObD%!Oqpz$kfTw&iwxvnp)d&SpukjXhMrq&>#^OY1$A_`?!Vr1_p_a6WxBmR;2RnPQwk&6sn5~6$x%`laMsSStL4C_TfWfk=1oa@2yHKr}YQtje9J>pjKx{u)Uamr7*OR7Ysy6 z2$)BCg{!eT?W_yKBeF)H%xM4S5%AXtmp)xHIjrm}%*8+o1FhQeTvc-Y#wdptl~y{$ z8b86=5$5$)8`z~tI#O?E?!%pM4HNJLbxNBdk9G{%#4^Poj4Ho%uTnwWtMg+Ram>xA z^ILofkd9be>@_)J)wCyKU4{OuX3x~^`a-C$yz=VLU`Bp#1>NyO?$7c_GVn06FN z(7Yx&6c9;x-V`^>6yol;Bhb{x*Z>NKPk;+?3s~Y~-t;Nh82CH`^;=6LmJ^t9Q~d5zFI!#8jG zL9U?+Qt=FuBzh*X%=&FGoDnVGEZ@=lZJw{3r601l%ZpR3u7@Pk>;yF}&Vo^BBY;lq zYb0@-`{~?P3;0gmez~}++guA>(_i1H8~^Ei3`YE(g|D>?AAHh=R#7fVGi%mSf^#-OC0rD0xy+4_a!|4ur z5**!3a>9{k_YM-&k9{1+yH=vKYu@6mLe<_rr@#6CcU%YnGlSqk0{~B!006@OiwkEL zPn-XHCS2=kyKk1G`|q1ZLFa-boB8?x(oKw^ zohMV>U_*ej5!l`NG;R`1@BV!JT)5#Cy3!o)IE(+meDR)VT9|dZVffH*y=3?LoqN5_ z+wnSD57Ucpb?a_>EAl5C_T|R(I03>Be1&i-6gKq^i4T}3?jA=jKf23?K#*1?YObeS`xVB}B4i1C6 zGq?tK55YAM2<`+JoCF9iL4pK#4ek!X-JKx8-Q6Ydx%cJW-0=UOsWVkmHEY#5y}S1A z)!o&TG!!Z2H1@c4Z0a--ekZ;)6o@d)KUl7Xc5MD&i#v%%K?Zr$p^i+NLQ$ls_S(!R7dR+wZ)QF zw8ff}THehj%_}>^pHsJLY`WMez+42W+=M#9@9pMRYDg#t~SA7_VY5Yfo zC;`U^t7~*fpHMUSZdw;5C{M;)hVX)ss|#pDmg2;R=o^*Y>FT{k=>j zsqpu@s8)2(gLuG_>C#3ZYR%;k|?^lp>goWkwChhVC`RG4_I! z^c;)T{nHMMXYs*LlDxW+=kR-B99d5XhmDb4LDDRYLIn+MjDtoNZ94Kuoy|gT=0yFttygFurR9K`*5Mo+TH9kuTdu)gr_5jr^_G*=<9)-Zjk zaaZDY)F$Puud8RVcq%T54LmlO)r_^MHkC9Am`pvQ>zFkI57E>^6^#!W4GhZa0683% ziAF022!6iK4L<3?fV~}U!VMY&#+1~A)QNW!?5hKB657{l=mgZimcrSD% z&r3ee(u+BcvSVA})r4(Vj7AW)NIH&M@>8@&dEH)H{;5QEar3gz?OELt}o<{S9-o@@P9MX8Fn`Aht z)16miGTE9841TRhgxx~#c}QhWz3Qg@lpKAz={S@nwQwM33Xe=L+wxP@y+1XY{)PSz zDCnHhXvhVgW5%oVqR3n`rVp-{GJ*@ldhcRB=2tJv9>m;MK&l+L5NA&WO z_*Y*wMN(ei5aqY1NI5SX=gkj=$bfaLmN&Z?oX!SFPIP|sepGVfj=i9DoYo|B|U8>wOjGuNfj#-f4G{&%?Rzzk9>?SwkFAnsW@34Q6oO!E% zeB>FCPTPrB&1fu7CY&PVWJ3b%7zTRBmO@Vlc)efp?WoC(s`UH;hPA$9iE!8XLRS0L zrjAM_75+zPfNOKMH@wbwlWyc~bw1iNJrXyyo`vG{Y_czP9erMq--WYsg=}EhuWG2- zSkMW(MpA5>708mEb96}KYMj!_$cSi56`?4{soHhf-ey*I*)v|s$1!zE z-PE>6f}6_px+KYna}Sc>RJQhSdhaOS{3+^nWz`YV{r8Or2O$ zLvyH(9=^OF7Lo6w{{UoempXCLoNn(9bJhP1CMDV_|J*&!jdY*|7oWS78-Lh65u^rx zh~*9X>6#5xB&^zb*uRgGi;84H;;dgAI>@2lKE*bK2JYp3m7UL*i^&vmI%KB4;|O0P zC;ZSC`l`8LxkOp@3cx*ToZN5{4p6(^7o91@eXq(Ecs{(tJ}-_;j49J0&4IK0Zs}k z2P8ivl8SLnu10wtHiFbKjw8b55lyAu58veB1iE^E*8Qn%81Xi?B1DGFRN?Dm`G|@~ zR@rK-c?%kW1XzKSPnk9paSQvF<)bO?Z009Sf1WQ&q>xrb?Og3D`>or?AB2#XI>U9w zA#NE&T4OJPZCfV6*X*shSeIpX%cJ**R^!gp4aYb8B>lOf&5fr zoOkr3I;1VFW;+=Joqd>xY$-hqF(AX@+hQ5wv=pv^!DneuXwj`Jk~e^Omb;}3@&!6w zW-ZJ%rwnn{Nw)BUPdH+2;nnLK0Rd_>Nrf1UB zZM`{~$Eu>KeIX6sel|Ff17Lz?hx>Np^^hJoo1#vclC+U-hJ$v8CU9^T(UuS#8-0Qj z(dk9P$)^0AKN*}~@pn4*4p@SWH;FjFbD)gA%oR)n#y~Ub~*@D;o%Y*f~^%Njp$17uJywhA6b z=3M0hwnk6{ODsrYwU^7-?Jm2@O6R+L9JOg$>nw)TYUTS7Gth+nk*%uumSgOnRAk1R?1H&~pB1Z7N9h#kNK9a?pnbR`g0=uR zYFH!VbbDQ}Yg78^dqrGsqgm{!xbRm*7n{{E=q1Ix-so1WIc2*(3(+ITTAl5ue3?UywU_kG|O)Y@=;S+$0m_XTbqX zvCdo#&mbl4Joxx@W{_23lk@M!Z*8{0G85DoQk3Ep0LoH zSJ|k~TxG}j>9T7|@il4M*qZuAsM=+2eW0^q)opn=r45!zeSrMa4yAG)Rzy$UB=yS< zPq`r_dmCE^79$&blfUG8cH|JaofYV(2Raoj#{?D>0a1&2s#UU8s&|Jf;`GrUdl$Km zFF6tXDD3uz_7Z*yST^Vq%fN!oEIORv@0;S4I7h9^>NT$S;#b8 zF^SWHUY*HaeZ#7m4nJ+g<+VpjSp7~5l)USB@dMlm6dvZ%L%=5PpQeN~R(NUrWXj1W zQv#n{>mO4Z*xLSO$rP2phpRPSF=WmM$+{HS>yQIiA>i}rl9}A1-tg3z5W;wlfF}aT zc)m;=4i4{|Vl+Q&Tc4n^;UB4Q*m1HT+4ftm{diqpY!l8rP#u4gyA9oGMTSjlYw_Bd z_Y=rS+G%t^jr<_O;^V$aH&@Ldcc`-M+V{6;%#~dqJ%*PleJ9ex+s)sgh7DZZ>!}`K zFT|zpjd*z&s$<=ENu_jdAef0u&g4X)bG(zJw1ygPhRi%tA}+Qo-T4+(0_%=hUgf}hc=Z?r^i=(15ap)AWOBE~jmvrJ4oUg48_9OfTBOC=^2H6h?Wjp=*G2myipbmM=IIde2Ou{L4(`;+ZIi8OheIWD~B zD-GbchFD|Snvie)!bvsKgdE^cBo+xZc&eEqV_^j!K&TqUIobdv%-*{s; z?DxQ!mpcg?MicR8GERW`s=5FJLsP?j;p1ob@0jR4yP;|5ZH^m-RrTfhN~MmrXws1~rT-M*?qn zX=;ch+`JJFhSOT?{OGG<_p{rJz6lK)MNeUu%l-A8QhnU;j~SFR-Yc~7$A`H#4=yL5 z>$_UgCBa8$l!#n!8_%2F15!_LRfZDP!{Nr92FudN#|u4S;pr6uz1E`%$(! zDQF9rh1k52VT6MlU~WdJZKnaeQ5otKdNWi5yFbh>g#1^M4rpr3N*p^Q`#f5w<;tK| zzD{dlC7@e$B(;ev^n6&?t2r=6*i>&9wMDBSe0Y^%^^35{1c?{S<<3#D;aIOPgU;!B z#KFvjEpfsN(5h+z&fKc8U;yAs$X6IIFV zIi(z{CbNSt7U^Q~twv17xGISORXcSX9c1Hs{^G(Y-}-u9sF2O%im{NsHsbM!g+uDN zAi02`v>Qft(xaaLX!hBRT8^+Vuz=TCCIDzrYgr~j$Ac1Zkvfz7Ia+B>GO*Q%M+APp zB_DP?aFfA#Aa2$k&VtDmsel|)_*38jvmiLliP^UvgBQ+RVmjy>_mJ@v9Wr$9)S;7E z(KoZ)5o4&a0F;w%8G|;)VIIr%h5_hnkGuUlrIU^8gi?egI;4>lRI2M^@z(8oeND)v zrA)zBO3e))D6__#CNt)bbOy7Lmu71SORK9qryDK7 zFS@jgB*O6I0FYU$NR0Q;q%T#d2YUBeSA!Wtl!403cjn?LT1;xr3q`VNFm8^vx7j|~ z9vfLIVsXW9wLDgd7HP?`71i2G`TS`I<>wZ#Q$IUHuOnI1DB0z;+=n4(i@QuqBN`ROzQxY# z>eEZfxXe=Kq`ceR@i3ORG(W!`1eGRIzr&iCNwUz+2b+8Zb#dk@bQc+bPpHUwVlUFy zd#wfVzK4=~R~%gVygKYz+ePi8Eh0?SpS>O|ZXkTU7*owHD)l*pYyAN^xv1Z3Ek}$D z0FP>1@YcS0o!Ey}N`9auKFvRs^X$_x8Po|8X6km4WYS7m5&9p2TPoTxwdVk)qyK z#Frvguf~P+I#-#VgDBV7iD~Zf44o-)ek|K>4HOgQ zN_|+gU8#3_Ql7MnqZvrf6&KgNG(zLe%|9*9ze3p~4#+#Q$z~!%W3ay_;TjtN^EU;9 zZA$j4p^xw#FgN4C)?CUfO*%d0QLuO`rsf&zZ^DfIwkU}W2OU5wBpYKQJ8LeHMTV$2 zV@fdGV_*6&l%5)IsT||)@+B${qdrOXra#7jM%x`iN|dJj-zlW2mY@k12qL@_!z@6S zEC^4``;6LnOH@oiSLuh5Y*ZQQ!J?r@WmY#e74)OLi9AudsYWESX&I76V7V^TYgRm# zYuI}*vSOPgEB^tET6l%a5Nt~vaMCO z=%M`qay{lgurT?1CVt^!c%R-)l(_=aeF6~iF@zbZt*HXL1Lg3IpAwwbRyQ$$tiZwY z*SzI~bQL9GhMjO2!QnKsO|XzW^|T!i>#hrQI`Lu_-kq=gZDatUxy&4=H;sYyk$1!a zg|=1Z3W(3(%xg%>3cai=kO{hmsC>XnCv1jZzYu4R^o?qv_?YY=+S$rX{ze|>RD>W$ zV}7H4Y0@_F6$cW|)r2Uxj0E8D*nRME|yPTYeRfrrLlgE)W`6zMsNp?yj~tL$)Uu zcvNSHT5I_peODuN#$a~{(QJ3tVN?r_RJWjo|AO$(rxDWD*O`5iFIWhF9|qr5bGeu}c0*{Fst`>@MKd%KkWX?2?)qnrU%0>3L|Hu1m5c%4@VQAz`bbM0 z!jqS~ksRT{<<4qKqp-Rq%Jb=pf^hG$U^(Ho>#%DzT{zxP+J3_+T7zEVd5>fnsec9S zCs9c!L~EehtGA{eq=0A!$kViEx9X7xcZXGc%}N+DsG`n_4}CMmQm9OPNO7#b11=+)!d1$v1a z{d9@+dDM@JaCOWA@w&talx!!9x>u7Z8v770Po!^9wOlQE*oQp!eL0;1H-*$N!@+or z`3|Ow*{_drW3LW6=FZ&l(%|+6E)58aJegHPPn!}lefU+}(^b+aJzwcS>_%qo9!N-@ zoDV2muEDEkJ(VgUpSH;Ve^U69Z~yD{f6NVkPVjte^>1|5lZX9li1l;e^ZCxdft^ox z_`jw-KZieWdif1MW>DA z=lJKP^B}o_80!&S+nQx=jo;2aBR7M z>+xU7rsweIDV5)FeffXEe z@tfj8{lAO%ujAr5{P_{{8?LPR3;yiDdCu^BTmQ{Ks`ZP(^yz;9{@LV}WMKh+{Ra5- NMuvF`oV5S?_CE_UFmC_= literal 0 HcmV?d00001 diff --git a/docs/legal/patent-disclosure.md b/docs/legal/patent-disclosure.md new file mode 100644 index 0000000..ecdcee5 --- /dev/null +++ b/docs/legal/patent-disclosure.md @@ -0,0 +1,551 @@ +# Intellectual Property Disclosure: rdev - Deterministic Orchestration for AI-Driven Software Development + +- **Date:** 2026-02-04 +- **Subject:** System and Method for Orchestrating AI Agents Through Deterministic Workflow Classification in Isolated Execution Environments + +--- + +## Executive Summary + +rdev is a **deterministic orchestration platform** for AI-driven software development that introduces a novel approach to controlling non-deterministic AI agents. It enables: + +1. **Deterministic Classification of Workflow State** - A rule-based classifier evaluates current phase and artifacts to output specific actionable instructions for AI agents +2. **Dual-Execution Architecture** - The same orchestration code runs both inside project pods (as CLI) and in the central API (as library), enabling bidirectional control +3. **Composable Monorepo Templates** - Skeleton scaffolding with component composition, embedded at compile time and deployed via single-commit atomic operations +4. **Isolated Pod-Based Agent Execution** - AI agents run in Kubernetes pods with kubectl exec as the control plane, enabling secure multi-tenant development + +Current AI agent systems (AutoGPT, CrewAI, LangChain agents) allow agents to decide their own next steps, leading to unpredictable behavior. Workflow automation tools (GitHub Actions, CircleCI) are deterministic but cannot adapt to ambiguous situations. rdev solves this by treating the workflow as a **state machine with classifier-driven transitions** where AI agents execute actions but do not decide what actions to take. + +--- + +## Technical Problem Addressed + +### The "Autonomous Agent Chaos" Problem + +When AI agents operate autonomously on software development tasks, they fail in predictable ways: + +1. **Action Selection Chaos:** LLMs given broad instructions ("implement this feature") may take any number of approaches, skip steps, or loop endlessly. There is no structural guarantee of progress. + +2. **Non-Deterministic Outcomes:** The same prompt given to the same model produces different outputs. Production software delivery requires deterministic progression through defined phases. + +3. **Coordination Failure:** Multiple agents working on the same codebase lack structural coordination. They may conflict, duplicate work, or miss dependencies. + +4. **Approval Bottlenecks:** Human approval gates require manual intervention at each step. No mechanism exists for structured approval workflows within agent-driven development. + +5. **Artifact Tracking Blindness:** Agents produce artifacts (specs, plans, code, tests) but no system tracks which artifacts exist, which are approved, and what the next required artifact is. + +**Real-World Example:** A team using AI agents for feature development found that agents would sometimes write tests before implementations, skip specification documents, or implement features without approval. Traditional CI/CD pipelines couldn't help because the problem wasn't "running commands" but "deciding what to do next." + +--- + +## Technical Solution + +A system that: + +1. Defines software development as a **10-phase state machine** with artifact requirements per phase +2. Uses a **deterministic classifier** with priority-ordered rules to evaluate current state and output specific actions +3. Executes AI agents in **isolated Kubernetes pods** via kubectl exec +4. Supports **dual execution** where the same SDLC code runs inside pods (CLI) and in the orchestrator (library) +5. Provides **composable monorepo templates** with skeleton + component architecture +6. Enables **per-project worker coordination** with atomic task dequeue + +--- + +## Use Cases + +### 1. Bot-Driven Feature Development +External bots (Slack bots, Discord bots, API integrations) submit feature requests. rdev orchestrates the entire lifecycle: specification → approval → planning → implementation → review → merge, with AI agents doing the work and the classifier ensuring correct progression. + +### 2. CI/CD with AI Integration +Traditional CI runs deterministic commands. rdev extends this to AI-driven steps: "generate tests for this code" happens only after the classifier confirms implementation is complete and approved. + +### 3. Multi-Tenant Development Platform +Multiple teams share worker pools. Each project has isolated execution in its own pod or shared workers, with the classifier ensuring each project follows the same development lifecycle. + +### 4. Regulated Software Development +Industries requiring documented development processes (medical devices, aerospace, finance) benefit from the artifact tracking and approval gates built into the classifier. + +--- + +## Patentability Analysis + +To be patentable, an invention must be **(1) Statutory**, **(2) Novel**, **(3) Useful**, and **(4) Non-Obvious**. + +### 1. Statutory Subject Matter (Eligible Category) + +**Requirement:** Must be a process, machine, manufacture, or composition of matter. Abstract ideas are not eligible unless applied practically. + +**rdev Argument:** + +- The claims recite **specific data structures**: Phase enumerations, artifact requirement maps, priority-ordered classification rules +- The claims recite **machine-specific operations**: Kubectl exec into Kubernetes pods, atomic task dequeue with PostgreSQL row locking, template embedding at compile time +- The operations **cannot be performed mentally**: A human cannot evaluate 24 classification rules against current state in real-time while managing multiple concurrent projects +- Per _Enfish v. Microsoft_ (Fed. Cir. 2016): Software architecture improvements are patent-eligible + +### 2. Novelty (New) + +**Requirement:** Must not be known, used, or published before. + +**rdev Argument:** + +- **Prior Art:** Agent frameworks provide tools for agents. CI/CD systems run commands. Workflow engines define static pipelines. +- **The Invention:** rdev uses a deterministic classifier to constrain non-deterministic AI agents, outputting specific actions rather than letting agents decide. +- **Distinction:** No existing system combines: + - AI agent execution in isolated pods + - Deterministic phase classification for agent guidance + - Dual-execution architecture (CLI + library from same code) + - Composable template system with atomic deployment + - Per-project worker coordination with work queue + +### 3. Utility (Useful) + +**Requirement:** Must provide a specific, substantial, and credible benefit. + +**rdev Argument:** + +- **Demonstrated Benefit:** Enables predictable AI-driven software development with enforced lifecycle progression +- **Structural Improvement:** Classifier outputs are actionable instructions, not vague guidance +- **Industrial Application:** Applicable to any software development team using AI agents, particularly regulated industries + +### 4. Non-Obviousness (Inventive Step) + +**Requirement:** Must not be a trivial combination of existing things. + +**rdev Argument:** + +- It is **not obvious** to combine "AI agents" (unpredictable) with "deterministic state machines" (rigid) via a classifier that bridges the gap +- Agent framework experts focus on giving agents more autonomy; they do not focus on constraining agents with external classifiers +- The dual-execution architecture (same code as CLI and library) requires careful design to support both execution contexts +- The combination of isolated pod execution + classifier-driven guidance + composable templates requires domain expertise across Kubernetes, AI agents, and software engineering workflows + +--- + +## Proposed Claims + +### Independent Claim 1: Deterministic AI Agent Orchestration (System) + +A computer-implemented system for orchestrating AI agents through software development workflows, the system comprising: + +**(a)** a phase state machine comprising a plurality of phases representing software development stages, wherein each phase has associated artifact requirements defining what artifacts must exist and be approved before progression to a subsequent phase; + +**(b)** a deterministic classifier engine comprising: +- a plurality of classification rules stored in priority order, +- wherein each rule comprises a condition evaluating current phase and artifact state, +- and an action output specifying a concrete instruction for an AI agent, +- wherein the classifier evaluates rules in priority order and returns the action from the first matching rule; + +**(c)** an isolated execution environment comprising: +- a Kubernetes pod configured to execute AI agent commands, +- a kubectl exec interface configured to send commands to the pod and receive output streams, +- wherein the AI agent operates within the pod with access only to the project's repository and approved resources; + +**(d)** a dual-execution module comprising code that executes both as: +- a command-line interface (CLI) running inside the pod, invoked by the AI agent to query state and record artifacts, +- a library imported by the orchestration API to evaluate state and drive transitions from outside the pod; + +**(e)** wherein the deterministic classifier engine constrains the AI agent's action selection by: +- receiving a query comprising current phase identifier and artifact status indicators, +- iterating through the plurality of classification rules in priority order, +- evaluating each rule's condition against the current phase identifier and artifact status indicators, +- upon identifying a first rule whose condition evaluates to true, returning the action output associated with that rule without evaluating subsequent rules, +- transmitting the returned action output to the isolated execution environment via the kubectl exec interface, + +wherein the AI agent executes the transmitted action output as a command rather than selecting its own action, and wherein the deterministic classifier engine produces identical action outputs for identical inputs regardless of when or how many times evaluated. + +--- + +### Independent Claim 2: Classifier-Driven Action Selection (Method) + +A computer-implemented method for guiding an AI agent through a software development workflow, comprising: + +**(a)** maintaining a phase state for a software feature, the phase state comprising: +- a current phase identifier from an enumerated set of development phases, +- a collection of artifacts associated with the feature, +- an approval status for each artifact; + +**(b)** receiving a request to determine the next action for the feature; + +**(c)** evaluating a plurality of classification rules in priority order, wherein each rule comprises: +- a phase condition matching zero or more phases, +- an artifact condition evaluating presence and approval status of specific artifacts, +- an action output specifying an instruction type and parameters; + +**(d)** returning the action output from the first rule whose conditions match the current phase state; + +**(e)** wherein the action output is one of a defined set of action types including: CREATE_SPEC, AWAIT_APPROVAL, TRANSITION_PHASE, IMPLEMENT_TASK, CREATE_TESTS, REQUEST_REVIEW, and COMPLETE; + +**(f)** providing the action output to an AI agent, wherein the agent executes the specified action rather than selecting its own action; + +**(g)** updating the phase state based on artifacts produced by the agent's execution. + +--- + +### Independent Claim 3: Dual-Execution SDLC Module (System) + +A software module for managing software development lifecycle state, the module comprising: + +**(a)** a state representation layer comprising: +- data structures for phases, artifacts, and approval status, +- serialization logic for persisting state to YAML files in a git repository; + +**(b)** a classifier layer comprising classification rules that evaluate state and output actions; + +**(c)** a CLI execution mode configured to: +- be invoked as a command-line binary inside a Kubernetes pod, +- read state from `.sdlc/` directory in the project repository, +- output action instructions to stdout for the AI agent to follow, +- record new artifacts by writing to the `.sdlc/` directory; + +**(d)** a library execution mode configured to: +- be imported as a Go package by an orchestration API, +- evaluate state for features across multiple projects, +- drive phase transitions and approval workflows from outside the pod; + +**(e)** wherein the CLI execution mode and library execution mode share the same core classification logic, ensuring consistent behavior whether invoked from inside or outside the pod. + +--- + +### Independent Claim 4: Composable Monorepo Template System (System) + +A system for scaffolding software projects with composable templates, comprising: + +**(a)** a skeleton template comprising: +- base project structure including workspace configuration, shared packages, and CI/CD configuration, +- placeholder slots for component insertion; + +**(b)** a plurality of component templates, each component template comprising: +- files and directories for a specific component type (service, worker, app, CLI), +- template variables for component-specific values including component name and port; + +**(c)** an embedding module configured to: +- embed template files into the compiled binary at build time using Go's embed directive, +- provide template access without external file dependencies; + +**(d)** a composition engine configured to: +- instantiate the skeleton template for a new project, +- insert one or more component templates into the skeleton's component slots, +- substitute template variables with actual values; + +**(e)** an atomic deployment module configured to: +- collect all files from composed templates, +- deploy all files to a git repository in a single commit via bulk API, +- wherein single-commit deployment prevents multiple CI trigger events. + +--- + +### Independent Claim 5: Per-Project Worker Coordination (System) + +A system for coordinating work execution across multiple projects with shared workers, comprising: + +**(a)** a work queue stored in a relational database, comprising work tasks with: +- project identifier, +- task type (build, verify, SDLC), +- task specification as structured data, +- status (pending, processing, completed, failed); + +**(b)** a coordinator process configured to: +- discover projects by querying Kubernetes for pods with specific labels, +- spawn a worker goroutine for each discovered project, +- maintain a registry of active per-project workers; + +**(c)** a per-project worker configured to: +- poll the work queue for tasks matching its assigned project, +- acquire tasks atomically using database row locking (SELECT FOR UPDATE SKIP LOCKED), +- route tasks to type-specific executors based on task type; + +**(d)** an executor registry comprising: +- a build executor for code generation tasks, +- a verify executor for validation tasks, +- an SDLC executor for lifecycle orchestration tasks; + +**(e)** a dual-executor resolution module configured to: +- for projects with dedicated pods, execute tasks via kubectl exec in the project's pod, +- for skeleton projects without dedicated pods, execute tasks in shared worker pods, +- wherein the same task interface supports both execution modes. + +--- + +### Dependent Claims: Classification Rules (Claims 6-10) + +**Claim 6.** The system of claim 1, wherein the classification rules are evaluated in strict priority order from 0 to N, and wherein the classifier returns immediately upon finding the first matching rule without evaluating subsequent rules. + +**Claim 7.** The system of claim 1, wherein the phase state machine comprises at least five phases including: +- an initial phase for receiving feature requests, +- a specification phase requiring an approved specification artifact, +- a planning phase requiring an approved task breakdown artifact, +- an implementation phase requiring completion of planned tasks, and +- a completion phase indicating feature deployment. + +**Claim 7A.** The system of claim 7, wherein the phase state machine further comprises review, audit, and quality assurance phases between the implementation phase and completion phase. + +**Claim 8.** The system of claim 1, wherein artifact requirements per phase include: +- SPECIFIED phase requires an approved specification artifact, +- PLANNED phase requires an approved plan artifact with task breakdown, +- IMPLEMENTATION phase requires implementation artifacts for each planned task, +- REVIEW phase requires test artifacts and passing test results. + +**Claim 9.** The method of claim 2, wherein the action output includes a structured payload comprising: +- action type identifier, +- target artifact type (if applicable), +- task index (if applicable), +- human-readable instruction text. + +**Claim 10.** The method of claim 2, further comprising detecting blocked states and outputting AWAIT_APPROVAL actions when required artifacts exist but lack approval. + +--- + +### Dependent Claims: Isolated Execution (Claims 11-15) + +**Claim 11.** The system of claim 1, wherein the isolated execution environment is a Kubernetes pod labeled with `rdev.orchard9.ai/project=true` for discovery. + +**Claim 12.** The system of claim 1, wherein kubectl exec streams output via Server-Sent Events (SSE) to provide real-time visibility into agent execution. + +**Claim 13.** The system of claim 1, wherein the isolated execution environment includes git credentials mounted as Kubernetes secrets, enabling the AI agent to commit and push changes. + +**Claim 14.** The system of claim 1, further comprising a post-execution git operations module that commits agent-produced changes and pushes to the remote repository. + +**Claim 15.** The system of claim 1, wherein multiple AI agent types are supported via an agent registry, allowing substitution of different agent implementations (Claude Code, OpenCode) without changing orchestration logic. + +--- + +### Dependent Claims: Template System (Claims 16-20) + +**Claim 16.** The system of claim 4, wherein the skeleton template includes a `.claude/` directory containing agent configuration, skills, and guides for AI agent operation. + +**Claim 17.** The system of claim 4, wherein component templates include Woodpecker CI step configurations that are merged into the skeleton's CI pipeline. + +**Claim 18.** The system of claim 4, wherein the bulk API deployment uses Gitea's contents API to create all files in a single request with a single commit hash. + +**Claim 19.** The system of claim 4, wherein component templates include database migration files and the composition engine generates migration sequences per component. + +**Claim 20.** The system of claim 4, wherein template variables include `{{.ComponentName}}`, `{{.ComponentNameCamel}}`, `{{.Port}}`, and `{{.ProjectName}}` with automatic case transformation. + +--- + +### Dependent Claims: Worker Coordination (Claims 21-25) + +**Claim 21.** The system of claim 5, wherein the work queue uses PostgreSQL with `SELECT ... FOR UPDATE SKIP LOCKED` for atomic task acquisition without distributed locks. + +**Claim 22.** The system of claim 5, wherein the coordinator discovers projects by listing Kubernetes pods with label selector `rdev.orchard9.ai/project=true`. + +**Claim 23.** The system of claim 5, wherein per-project workers maintain heartbeats and are automatically replaced if they fail health checks. + +**Claim 24.** The system of claim 5, wherein the SDLC executor invokes the dual-execution module in library mode to evaluate classification and drive transitions. + +**Claim 25.** The system of claim 5, wherein task results include structured output comprising success status, output artifacts, and error details if failed. + +--- + +### Dependent Claims: Git-Backed State (Claims 26-28) + +**Claim 26.** The system of claim 1, wherein SDLC state is persisted in `.sdlc/` YAML files in the project's git repository, providing version-controlled audit trail. + +**Claim 27.** The system of claim 26, wherein state files include `feature.yaml` for phase and metadata, `spec.yaml` for specification artifact, `plan.yaml` for task breakdown, and artifact files for each implementation. + +**Claim 28.** The system of claim 26, wherein every state change results in a git commit, enabling time-travel queries to reconstruct historical state. + +--- + +### Dependent Claims: Configuration Validation (Claim 29) + +**Claim 29.** The system of claim 1, further comprising a configuration validation module configured to: +- intercept configuration artifacts produced by the AI agent, +- transform configuration values within the artifacts into semantic triples according to a predefined configuration ontology, +- query a knowledge graph database containing authoritative assertions with hierarchical authority weights, +- identify conflicts between configuration values and authoritative assertions, +- calculate conflict scores based on authority weight differentials, and +- block artifact approval when conflict scores exceed a threshold. + +--- + +## Prior Art Concerns and Distinction Strategy + +### Search Summary + +After comprehensive search, **no single reference or obvious combination teaches the core invention**: a deterministic classifier that constrains AI agent action selection while those agents execute in isolated pod environments. + +### Category 1: AI Agent Frameworks (AutoGPT, LangChain, CrewAI) + +**What They Teach:** +- Tool-equipped agents that can call functions +- Multi-agent coordination patterns +- Memory and context management + +**What They Do NOT Teach:** +- External deterministic classifier overriding agent decisions +- Phase-based workflow with artifact requirements +- Dual-execution architecture (CLI + library) +- Isolated Kubernetes pod execution + +**Specification Language:** +> "Unlike AI agent frameworks that give agents autonomy to select their own actions, the present invention uses an external deterministic classifier to constrain action selection. The agent executes instructions but does not decide what instructions to execute, fundamentally changing the control relationship from 'agent decides' to 'classifier decides, agent executes.'" + +--- + +### Category 2: CI/CD Systems (GitHub Actions, CircleCI, Jenkins) + +**What They Teach:** +- Deterministic pipeline execution +- Stage/phase progression +- Artifact management + +**What They Do NOT Teach:** +- AI agent integration with dynamic action selection +- Classifier-driven guidance (vs. static pipeline definition) +- Dual-execution module architecture +- Per-project worker coordination with shared pools + +**Specification Language:** +> "Unlike CI/CD systems that execute predefined static pipelines, the present invention uses a classifier to dynamically determine next actions based on current state. The classifier evaluates artifact presence and approval status, enabling adaptive workflows that respond to the actual state of development rather than following rigid scripts." + +--- + +### Category 3: Workflow Engines (Temporal, Airflow, Prefect) + +**What They Teach:** +- Stateful workflow orchestration +- Task dependency management +- Retry and error handling + +**What They Do NOT Teach:** +- AI agent execution as the task implementation +- Deterministic classification for action selection +- Isolated pod-based execution per project +- Composable template system + +**Specification Language:** +> "Unlike workflow engines that orchestrate deterministic tasks, the present invention orchestrates non-deterministic AI agents by constraining their action selection via deterministic classification. The system bridges the gap between unpredictable agent behavior and predictable workflow progression." + +--- + +### Category 3A: Temporal.io (Closest Prior Art in Workflow Category) + +**Why Temporal Requires Special Attention:** +Temporal.io is the closest prior art in the workflow orchestration space, sharing several surface-level features with the present invention: +- Stateful workflow execution with durability guarantees +- Deterministic replay of workflow history +- Worker coordination across distributed systems +- Activity execution with retry semantics + +**Critical Distinctions:** + +| Aspect | Temporal.io | Present Invention | +|--------|-------------|-------------------| +| **Execution model** | Orchestrates deterministic workflow functions | Orchestrates non-deterministic AI agents | +| **Determinism source** | Replaying the same workflow code produces same results | Classifier outputting same action for same state regardless of agent behavior | +| **Activity assumption** | Activities produce consistent outputs for same inputs | AI agents are inherently non-deterministic; outputs vary | +| **Control paradigm** | Workflow code decides what activities to run | External classifier decides; agent only executes | +| **State evaluation** | Workflow history replay | Priority-ordered rule evaluation against current artifacts | + +**Specification Language:** +> "Unlike Temporal.io which orchestrates deterministic workflow functions where activities are assumed to produce consistent outputs, the present invention orchestrates non-deterministic AI agents that inherently produce varying outputs for identical inputs. Temporal's determinism derives from replaying the same workflow code; the present invention's determinism derives from an external classifier that evaluates current phase and artifact state using priority-ordered rules, producing identical action outputs for identical state regardless of the AI agent's behavior. This fundamental difference—constraining non-deterministic agents rather than replaying deterministic functions—represents a distinct technical approach to workflow orchestration." + +--- + +### Category 4: Kubernetes Orchestration (Argo Workflows, Tekton) + +**What They Teach:** +- Pod-based task execution +- DAG workflow definition +- Resource isolation + +**What They Do NOT Teach:** +- AI agent execution within pods +- Classifier-driven action selection +- Dual-execution module (CLI + library) +- SDLC phase management + +**Specification Language:** +> "Unlike Kubernetes workflow tools that orchestrate container-based tasks, the present invention orchestrates AI agents within containers using a dual-execution architecture where the same SDLC code runs both inside the pod (as CLI) and in the orchestrator (as library), ensuring consistent classification regardless of execution context." + +--- + +### Prior Art Gap Analysis + +| Feature | Agent Frameworks | CI/CD | Temporal.io | Other Workflow | K8s Orchestration | **rdev** | +|---------|-----------------|-------|-------------|----------------|-------------------|----------| +| AI agent execution | Yes | No | No | No | No | **Yes** | +| Deterministic classifier | No | Static | No | No | Static | **Yes** | +| Action selection override | No | N/A | No | No | N/A | **Yes** | +| Non-deterministic task support | Yes | No | No | No | No | **Yes** | +| Phase-based lifecycle | No | Yes | Partial | Yes | Yes | **Yes** | +| Artifact requirements | No | Partial | No | No | No | **Yes** | +| Isolated pod execution | No | No | Yes | No | Yes | **Yes** | +| Dual-execution (CLI+lib) | No | No | No | No | No | **Yes** | +| Composable templates | No | No | No | No | No | **Yes** | +| Per-project workers | No | No | Yes | No | No | **Yes** | +| External state classifier | No | No | No | No | No | **Yes** | + +--- + +## §101 Prosecution Strategy + +### Primary Argument: Technical Improvement to Software Development Tools + +Per _Enfish v. Microsoft_ (Fed. Cir. 2016), software architecture improvements are patent-eligible. The claims should be framed as: + +> "The present invention improves software development tooling by providing a deterministic orchestration layer that constrains non-deterministic AI agents. This is a fundamental change to how AI agents are integrated into software workflows, solving the technical problem of agent unpredictability with the technical solution of classifier-driven action selection." + +--- + +### Step 2A, Prong One: Not an Abstract Idea + +The claims are not directed to an abstract idea. They recite a specific system architecture with: +- **Specific data structures:** Phase enumerations, artifact requirement maps, priority-ordered rule lists +- **Specific algorithms:** Rule evaluation in priority order, atomic task dequeue with row locking +- **Specific execution environment:** Kubernetes pods with kubectl exec interface + +**Cannot Be Performed Mentally:** The claims recite operations that cannot be performed by a human: +1. Evaluating 24 classification rules against current state in real-time +2. Managing atomic task dequeue across multiple concurrent projects +3. Executing commands in isolated Kubernetes pods via kubectl exec +4. Streaming output via SSE while maintaining pod isolation + +**Cite:** _Enfish v. Microsoft_ (Fed. Cir. 2016): Software architecture improvements are patent-eligible. + +--- + +### Step 2A, Prong Two: Practical Application + +The claims integrate any alleged abstract idea into a practical application by providing a specific technical solution to a specific technical problem: + +- **Technical Problem:** AI agents are non-deterministic; software development requires deterministic progression +- **Technical Solution:** Deterministic classifier overrides agent action selection, ensuring predictable workflow + +The improvement is to software development tooling itself, not merely using computers for an abstract task. + +**Cite:** _Core Wireless v. LG_ (Fed. Cir. 2018): Claims providing specific technical improvements are not abstract. + +--- + +### Step 2B: Significantly More (Berkheimer Argument) + +The ordered combination of elements is not well-understood, routine, or conventional: + +**Combination 1:** Deterministic classifier + AI agent execution + isolated pod environment +**Combination 2:** Dual-execution module (CLI + library) + git-backed state + phase transitions +**Combination 3:** Composable templates + atomic deployment + per-project worker coordination + +No prior art teaches these combinations. Under _Berkheimer v. HP Inc._, 881 F.3d 1360 (Fed. Cir. 2018), the conventional nature of claim elements is a factual question. The examiner must provide evidence that this specific combination is conventional, and no such evidence exists because: + +1. No agent framework uses external deterministic classifiers for action selection +2. No workflow system provides dual-execution modules that run as both CLI and library +3. No template system combines embedded templates with single-commit atomic deployment + +--- + +## Supporting Documents + +| Document | Purpose | +|----------|---------| +| [patent-specification.md](./patent-specification.md) | Technical detail: data structures, algorithms, code examples | +| [patent-figures.md](./patent-figures.md) | Descriptions of required patent figures | + +--- + +## Revision History + +| Date | Author | Changes | +|------|--------|---------| +| 2026-02-04 | Initial | First draft with 5 independent claims and 23 dependent claims | +| 2026-02-04 | Rev 2 | Strengthened per counsel analysis: (1) Amended Claim 1(e) to specify mechanism rather than functional result—now recites rule iteration, condition evaluation, early return, and kubectl transmission; (2) Replaced Claim 7 with broader "at least five phases" formulation, added Claim 7A for review/audit/QA phases; (3) Added Temporal.io as Category 3A prior art with detailed distinction strategy; (4) Added Claim 29 for configuration validation module with knowledge graph integration; (5) Added technical grounding for dual-execution architecture in specification explaining the coordination problem it solves | diff --git a/docs/legal/patent-figures.docx b/docs/legal/patent-figures.docx new file mode 100644 index 0000000000000000000000000000000000000000..850382ad9008f29193807cb5e84259d69c35196b GIT binary patch literal 22074 zcmY(qV{jhjHk=kky1iq^S=m?RHgSS2xMuqYw^PU~tq>-=)LBuCFXNXTvW_o%XQ5T#| zqs)PMjm||M7;uFW*FrhlsvW#~GfG__oEbN+azh}ttTRNf2ww|^<}T|Si_iHTNd|9= z?-%Jok}rj5`?cc2Tn7qC=~L!~Bg%=&#g5hIp1P0JU~AyT6pR$t#AA)jw-Kqux6+)K zzdFzULF6K1SN*9?@zRiTufK-8*bK^mgIp9|v%pF=|U_QO=5WuP0#d*<4zl%lQb^LtM5*Wd4PAz)eyb~&<qI@Yxpw(Fhshk8S8#sR?tQlIj28b=LBX)q~QVQa5PjeOtN^h!Q3ruE&q## z9TgfX=3;WXY`}9*e@#}g`bz^R#jd2>QEvj2vPhw5Vj<~!o6iHSo+OaW6c61)E)q*8 z%TdBqjpW@Yl8;GG*6nX*1p9yEv51OM#X<)FfM*H>fcT4ttDS=}y|JBkN0r~^ITJA6p34oykc?|Rrw`Z=G4mHU;HIZ#;i$(xqg$u z#hHu=fpixvNHpCZ#xdBB2Yd}TRfkgSS+d-8;6)C-yM|b53niXA6g!-m;JGj(I zUM;HncgMM{QFvY6ybsw8(>OSw#th|Vb#X=9kN4ys*`EM6LbTs>kD8s( z*^jRe(c&gy>^*F_D^>>J@HjkpvYtJ}-`9Pl&w5))FQX64^(%LtK4k4`GKUs?M2-Dj zS=cMY#DO-zSx9!`u!H63thlO2)hD$shVb%LewM(hJap%9xaaV}r>Sm(m}$*t9>vjo z@+b9nb5_bN3>9u{SN)us+OC~?rGx_oVHuy*RST^LA?43FhU`wff(q7{F@wT^wGsJT30?FT7W zjAXQRk9|g&cF$zppBnM@KS~4iMHFcgq3Ke#flT);Jpy0!g0e-PCj1SA{@_$CS}CiR zrmaM=izrtUt^KpC!^u^P1$Lrw$W_#vzt3WHzNvKYG;xrx9Yr;050a=xydt)PF!UG# z@sqf+>-n@puVb{6w%N`QC^6E9CqCst3)>r)vFsw6rvXa$*U};9#y#ieDpLxW9E(kG zI~3c0RJY?Shp&4uF2nhLzWDjPTG7LMIk{jdyW|vnv*{V_$?f1!Z?^zg6Y%dgMPc|@ z=Bw))H9gp&KF`}VR_#0FLR+SPiIGt=qk7Q|?)&7@TK)E}rua8Ovitg>P~91#i#(YW z%=R{BM&+uS*K2QLsBFc$T#ba9`+0PeVXOy8L0JY)4FhBGobkDf=F_0#Q{mixrP;D} zte8QaLgfij#lcVrXfoVD2D4YwHU?$`qL}sxBW3lPQjIiE8m9P zaH4+#mc?{nNI(8V*?i}#@v;WYYPFfeeCm_&v|4G_ZBi(3d@8X2@Y3{t_$F7C%U{Gx zC3lmsvgp19kYHpKHH`FFC)V#Mx5oKFz9wM;0fXargU(g3tBu}~vR0l(dA^fQwP&RK zbA5EAw?Ly!M?a#eW|hM>jg@6v5PeSGBwKRVp4TK8#3NoBd;bGJ_00YFt^43 z$ti(7tE0NHqBS&^U(Nnk{NxL=ovn+|a>2?;=t(NoLa~seJGXg8ky@qCHHvnj6$8Fb z3W+rtq^T4F-D*ouB_3P@;HW%Rro9%DaTD5A`f&~PR>bM$NF4d7hkD<&PF)#ByC@uB z7PNbqOxjU*_ii-})V4dAO^GpTD^K|31ZA9U7|*i%ZGJ(>~d)<>Nz!YP@M~7CDqUZR_C}#gVVPuj>a!aP#Q8JYi5g& zU3L5mebaXTnnR)`HUX3%CaFwEA2aY%B;v=(y$_7<%`L8kDz-k!tG16^LK&2zpNqG+ zDQU<3G(O}3CjVH2>8Vhzm(AyYNmS$vJj!Z$4p=`ui;=w@&GU@qh_l!TOGQksaCd1u z3Hjfsbz5L2v>ASYjX9nJFloNj8J+J(y==@h|`q-;uA!CWQupMmU!uLl1`+f^T$eMAGUzAve_SQXl-3uTVypw4-M*?M4Ap2nY#%}N zodzfl!rJSXDB^s+7(Xl3lx=ZfrZ0hpe*!qlzUebGIyue*@Gm$pm~q7i$-SD2{5j%h z(g2CLPXpzEpBq_*j6p{w07?2HwA&&5+gtoFa;0BDKPrBp;(ZhQ5 zK%_g;AKOE5hY7;A(rW{w$pz*E)zuj#M5wx)_ANoE?9k#&Sthq?piBEMWj?A8A_gUh z5mPjkl+Pc1Stx?FOyIK*twMG>jtLE@dRnzVcN$bg)8<`K*}xCWkiHm)vZWM3#}@rt zuT7N%%y3`!Rm73L8bBzBEN?s~p~_67KE*R;X-c9#^|)qidJa?#vEmIwHK1d~$`t<< za1PR>J()Ka5HuVufxFN_$-wJBR_KSbqZv~}59$=6f*4GPhT+Ilr%w^0ODr`gXaX{$ zfZ7zQ6sz>-G~Iw$mhE2Gl=n}o`Zyslnawop_>(@W241Sd)VECb4DzK32!hqy%_p9{ z_3}S$mSV8+G`gnLH?v!J*Bq)nklb>9k+uM-}Lya(@Hh!ucm&jzf0YX$j@zHau4kO(O3B8#~3m^X$4m7xY? z@#(!H?Kd2=k8Vvw_-@{2k^Px7arXq+DcrUM4-gN#*e#<4f}nPkh&bS2Og7mw7v}OP zdvlJ#!~2PZBT0y`!7y8QgBj|!>Ke7u4X%;Ckf__Bg4u~j_`R|E0J{_Y5qrM7LaX#$ zB)uw}hGV^UC@#fgy30w>JiZ@P-IHaZSj|>gpGSZ7vVRbrjlC4pO;#AgCg^1*B^oZl zRD@&4pcct;cr;S;!S-}_lH@v&8+y=i1=b=W?l>2DsJ&NQbJ3htX)E6exp|oe)hcBp zyy8Q;Vhw;@{;ot=TEtr4_JdAt-`2T!_`j1O12m->vu=dC8NZw;DWs64no@(}0qE{V zc43`=zsd^^eQnT!LuRYs zN@laZ-g8u}lI-DNildXh^)$@;A`E0BASDqNPo_jxrP8SwGxCDWt5=32F7(^T1KN95GC^L?a893-5*-)_X}2ZlB&K`&=m zl<98{w1r;V*tC8(Qkw)4kctCX%UYMJJJh}h!I3;{aS`YW&}3WSt}4R1Q$P&U0M3~a zO#J>hpD`5c@)-%46wrvtdeAEh#+yyS$W!?<0`(=a+}O$%wxvmNm&CZ ze3D$!>^vwAjJALhS`-uT0AWPeLo#utXWE&p9MG&B<5&0V0L91W$gBun3C>jLxZ z3bNP`msr)XpBwx&%<&J6fklCAGNO_}P^7>EuU<9)cb;(QvN_4{F6+Ma>%De9Z$3)* z-Tis7e6>jy?O3jCyf8F%(`ptp8L4w?aot+Lhwa2e#vuuG=iE<~L2&yfQ0f*_>=+Ex zMQgyOF13~16sDkimSRu>c!m6)MKg4&e25F^qUn_=3u=DqZy06>SXKCcGp2)MixuD^x6(Jn3CeoAxO6Bt<-*{*!4}0mt+RojDLab}-Cq zNDjpD_Qw{n3r*pY?mP}KP;?w?=UE0@b7jV;!Q@tfNFn3w9fC3# zEgA@ZrK=oB@jb(}`m76zlMgS8hGo8V0gK4vC#to0lt<^%V9NXh70?i}17;<|A?v;w z8B>S0CPunWv{1uO;YI6XrQW}7?pgR8e)^=Gm!}h9ejW~w;)H?{@FU`Z-WmAF4%o$i zTw@x_F_w+TwaL46_r~*8iv0E?c^h_TtT!md<1T}!eZq^k&aZ@Q=1H4~9llpOz0dPG zzlKcUKZPWC@En_EX4CZA>q}x(tCdJ*5%eJ=Yfz&rPyBlNF6o;3r4m>}^{$tS+VSFU zYzY0eTxI^w&!N%{C=DWt&yZais6DZi3)h_rg~dQdI=ej}%MaB%PUTQJ(JK4JNo0UO zK_xgilq!WDL&UeEHROf0u?CPzHptRQGIVMGnW>W~ud#fFF|4Ku8jJIVRhN6aohx5m z_p{juh0jk=Rcu{D9BCmQip)ECJ)B9Fj-^sC60=ZK1A8X(rNx;(GPRRg;PxB24Y5;% z*!y~4Kq3z7r2O~RvxX&UqLsw9p|W9DgvCQzA~fSfeP?1RK&h-vfE=XC9DnL{jBmik zIwv2X+M$n`rDLVi<=FrgmsNh_kjwB1{g2;tBfoPJRdYzmHrfnIJo^`-HbK#dwd-t5?YeX)ASHca`i_D83x^j>qe7&$h2 zebj6gav~Jb|4=f5c`tHN*u3eUIcgdHmZ_;)S3D}_C#-eSZDT2vHJrRfC_&=F z`^0qZP17CHz?OU15rzffd=EiH#Wt~WD$3byk`nF$up3V}dg#10r=|mL0)1pU)%ocL zx3G9&Hj!l(o_k!}CV5vVD_Q&P7}C{KGMf%<^6uj_1GdJeL<1*{10dYXunwUo+|Qku z^q{>wsp;-+Hm-shvIVIps$cI81sI8JcCDrG_O|9A>#l5h#-3{`51rHjK5(uR)rsGQ zU6+#S0y!(_@vV)8Fkpl+8T^VBvKWH<+I$(c!+D5-NU8|$?jizIzKkvA0F=O1pq|Qi zT6|g3^YV@jpZ?ohjcs#hWQHr!v|cO;4CwLY2ZUU zfi&R41_4(E&MsLW-eRoaNi~B?g)AF~BEY@d`(m26&2JHj&s}n`(3D!94Mb}g88zHE z(jDU9jo3p!n*Pk>e@NgLxC%^=x{oaseN<@W#|2hF_6K3o7-ZQ1D4C#Fkh3qOL3PPE zOXKp4)|8Q0uo|TRrJvEENK0E2ZZ6DyC|+EgyWe&e%J-CH=HF>De50KB3oiK~2{Mi* zU_8-?#g2?g4m9MJ z^h-3=M~mLKC7C&`&&Scv=3GTCT~OBO?yY|tp|00RIb}bvu7tuSq%GAR(S+1LHi;Wi zH{8=~XJTjKXXVoF_CM!ZU^R%U+xs&6P;bIcdJt`A!&TaY#y+DCd$4u1jdTbg3yz4^ zZq)Y)m_jZ0LP9N)!l%pZ;6wd_eYbTg2txz8X!}>6wq={E1dcE_%l@wXExVdkV24{TtD8(Kq#2y^!C_7JG$9{gVb*5Vle|v1;x$qG!7H1 zvpY8|*9La2p!)IIua+dRvCG8X&U39Q2c;1v*Kx}x$SUxBsefA@;Tsbg?M4I`-z8H< zww^ebLl-*Q{1%;-E9>|Jo^U73bA|k+Gh?e<-cIknk8y;HpNMQmRFV)B^`NT-#j>wc z==WlZGD^U+0Tp>u@5wccrxj;K12&h5S)i<*WNU@!C#g#SEk#t{p zbG#8VnB@=ba5H3t|NOkam-2DfwE;6sc*LP^ zrLH5?Ix_4ebh$2D;8>L|@qoSD&FL!N?0Y<(RO ztT`oxWV4H~9QAt|tPRcJ(%zBXF2TzMSNrn=X^)?)-p&V#pnWAC@`Jsf6(^Ui-Wi)9 z>T$q_IbZO^jQhaftQ45QL1zVOxQ0i zII^bzZ2ZYqxONpUpNA_^FQ|c~SpSAno)})Jaq*Jjy2()z1aU z@~9gVdwEcSPQ^fx69@^vKK6!*fyv=f;T{KP^O#dym{-n#{jZS@6#NJ9IRHF!79n28 zvC}H%Aepl; zY!D7uf+pq57&vb{xk;GHvmBoRDwR&OJpVj15`u;JnAD<0?xJW|0Dq1vysosQ@0kXZ zHHb7GjrRa!&1wOhDJBR2-MGdvX~%Gvn6{+9+KovtV_tnM9dsZKMUX0hqj+=`N!qd27lb5uTO8PtZ&G;<0v8y}q!Vl%Ec1GsW~4BE=;H zO7i!wVFS$1>Yk5|X);<|lGP$-&E=lt-3S#kIB`+1vKPs(+O&V4I410>H`&Q@T@PEf z$qpidN21SvF?3zZD5*Ney!9p195x2YLE!@>M<&0ep?|bEfJ_Sb5^!CWJGR}gmaqC- z^4Fchmwf*p#_T?;GhGDU#QURW_?_^mn{ZJD)wr#F?_{)}3^@cf(n~o1pZ55;x}P`4 zyGY6#{vVt`Gcb_?G&WQ0_u;DY)Bsu*(}1_puMPNO7`n8*cZsV{b?WHIwp*b77^8AM zB=Aj)g#1d3PJ)5!A`6WLDngf+{XdZUf>BZQ;0y1;WiLV{e=^;r#Uur!!bxU#A8WDg zT+*&(;*s7GkA~d30<33*uf|g}aw~A|6#Bc43p;h33z3Oj~ zzr|4Sd>LzrPdZTUn*H*a3o+B-0%NUE^*}eyOP#{DL1A;^-t!>0p8Yb)+Oh^`LGhH$ zU&r=`t}iot?q=4CAQz5x%US>`nOs(5AVo#Iw$*0*z2+>|fe6b9Dk4@g)|7@I9gY%@ z`pCohk_yx!!XpprZ$D|^!*ZM%bo?u`b_|)$BePcgt=EjBaw#wsBy6&G@NK--r*U~X z5}Ty8_fvU)2}WgZx<6zhIF%n^XBJ2~7&QP&&W@ybUZQ}#Np+1Xsyq?B{hO4pmIT;R z|06@8-HFAzdpcfON!jo3#CCqFZk5Ht57fr+n$8AECRc-c!z1&;3S@mJ?!$4B`s_>k zH2fI4s#_LKOI_g@S!G%h@r=t{NB{_m5A=Bt;K6@|K7^g?u*1bBXp9WR8x_s~!jhq&h3GLZavUxC-nDHGTDlUs<1DpRi@Oog?xQs6#bU)| zD702SrE}PZ8E|s?e>+ngyGhG-O}vPAFvh)uoj@qPT3hVk-L+YWmtn@wb_8mIc2I}S zgeZ)>I>NB<)dPka8ct(FYxisZBGsWm)wM=KdF}44OVPY(+K{-YTyi8ldI)WX^Vr3M zm(0mkJU~QeT^y_GMnNK`y+%=U#to=vQgC)-W0%tuu3*nD3wyF6eUUg#gao2!#eXO7 z4cQng-1ia?gBd3p2f~Mrt=ING48hDzSL1T%jK%m;^~LyT7!tVDmq|||pty?QtiZJa zZjy1*q8ezQg)rHD`9djMJTAYeo&sKaqi8Gv#A8hm8RnL7&)ehl!4gOFr}XDgUS*Bd zf5zBFZt4%Dw(m&kzt-+Z?V6L@*Z6ERm)fV;#&KzM;1|Bn6an$-5 zp9U+8NRy=QRzOG%iE`N+n_KHGQ9Co&JWkZ~y4ZcaJXo4dj zqJeoF&rEd|5C)z-et%MLqQugV$NZPr(@p_f5u4XE9OvBf5=no{r2G>0J z144*X5Jj5t$wKyqBON6%)vjP(4usYL;W4%bbYu|Lc#!wy=bEbs;!|jd0?u4TB{A0S z9EF0|6AY1un_~r3Z68mkkdFLn88<_58Qes6hQkcpO!J+z27A{fr^u~!?u56@ok0@R zt(0^ICki%C-`Hx9S_9o8GWsG=lJdHtyWBaS5*-Apkc9lgef=jWWv`b!g!Ml`C>zhZJA&ad{vuMA}01oH=sj!-%j0af=*mj)y? zMg_6cr>*yIeAoDsjz*3!&_nisXP&+lqmIGWy&2lRHE5S7ua;Dn8Z&&@v(c^8IY4|Q3z9LdvEgPSvIgEQs%e3;Fx&q6Y6VvOf{ zvUMyco14s_R5fXc?(L|a`Jiui8e2l!Wv~z_(e-Ur8os++0W-}tfQZy%I9p}8ma6*r zY{zz}GI@GWT~WD`y=VE%v(2@*74o}u&u_C#%eUxoUo4&ze9$w&nEv*J^tslYe-QRb+G3dcg`4 z%9gQ#Ic8JJF>;dcM+D{w!RAgJKe94Cip$cZ*QxQ^cm%DT`*ns#+r{|j7AcFB{}3&< zr3hXUM#$^-?cm)qnn=Idtq{I=o5uwADcCt5>VKkW@o*%lve;OKEz3oD&{L~^Ldqeb zU#Es=xQVk0C08O13RDlI#>xO+V(P-z;Yo3Pg-;3K&J)k1?%0UX%?mUO1>TV5; z#3pX*AgG|Kj}s*Ak$@vkL9S!80K4A=V47uk!ys74-c37Ye_i7{OuL-ww*$6iJ6GHB zDA$_~sMN%E;tRgrP(%JCYll%e4ObYoCD4Q(?y4eKz zB%b|zyG(_blxFYdvxAu7nS!u2x;YwUD%@B7OiS-@%LC=5Y9`H=%L0w*vyPQ3c8vzIz*Dp80jywS$n<%X{z>2#Rce!F-^z!N zY?s3aQJ_Z0X=5W-x#V;JtlAxhR+P(Z_S{^kI5qmRiV1hIRzCc@MHp{ZCn!WhbtM23~F7-0ADq#*U^s}Q44Fj>| zT<*TX6buGgU>_=>W_@M4^C&SV8Sq3TRaox8a}CU*Xz{Xny{k)iB7UF7~q0Dph2wA+E6evDaRGtkbd zJ4o}!xs*a?200sY3)Nw=&mI9rJP-j2^lzQL@wqR10m|&$ugS5K&~*Z@yk+R$=;sdp z4lTQbYhxN~npamd*SbAI=ti0d%~3;4G5^DhIP^-ywR5LWJcSqx>Pr&f9TrR7wo2i$ z?O02@f<#v-hH5X9P;vS4)sYsG#mL)o=sNs3ovQns(9F2Cv|bX$Z2I>y(qgE$&Q0A%oGc%%I^>29fs?ZrS?j2$y>KEUFNhqO6>26zZaT zhHja+RUmMqGRoi8JwmD^N%APi;maSbWHBu?0k_$HrT9vxSee z9=KiHoR~Q=GW{pyWZQe*!DRuI)G(Ufp;v%=fuLUbP(YN1g`lNUnQ<1(15`j%xLEFc z{h>t=5buo4?RM+M(9h)ZW~*FJeVGRQ8h+{a6`Hd;yN3Xhe0A)SV8QB7f61VU*qQ^& z4gV<1`(Gxb*C`$jU{2~z?7@Vx5&RV_3)ihyoN*j^gt5~AzWVK1ns77g$S(Fn4K*TG;2TK2 zS7z;HTcmAIMJE}IjMqMz{Tj&F=4H$Jy}GsUP_C_K_b$)v-`1r$uuE`OTLWgSuiOry zQF{+V0u(Uh%VGwMQCC)9>=zH4BnDY2)?%9iv=UO9@||$x-QgWB*N}A}^r8T#RlYhd z>7B6OqEhsYyjc0J;to6wfb*R&;I7i0Q-b}XV|3!3IDaTX^M+(i?7Oj#vP6-;6pxQr zN47C&QZJH!)HSnziFU7%WBQ^5&r#$qWMH+T{xfMqv)PgyDY9F$Yaw6uxf4qc~-LmKyIfp{Iv)J+?w7Ob_#0{ z7Rw+%IAq-yZ?D4^ z007GaiYKWk0tX0QiayiGv#J7SZW!&w`xQ0kRltuy)SRj-0jr)WZd8t_0!#1Sw}w`L z8~*lN)|^E80;|YB_$)Y(s=#p;npA-iH!zeIo>gDOD}XNQ8ne@^*ik@{o3qC~Q1ekz zDXT(icr;4ZC_t&_Jl#gg`Plpo%`PPcnbay2(ZZ zF)-|KHJA#W>#6kpC1lPf?KN&T&84S4I|7hK*fU(OPY1GBL!i7@v6XoB#$A?M~aNrc4&gciw+#v4_~M}Da@U{{!(>}1!h!lI)n0j_ca z<1ClSbIui^t9Xqce+V@RW}m|-q}J@LlgQT~AqZE}Y_WFI`hfSGC@!ga0g*1Qh5(~( z*1mKzx}7-N)P8ciGvk?~*b%Bd`d=#8?OxD#-)%rn1F>Gp92CkVH?8i1dOw>Lky5N1 znp%sF--!>n2Q1!Kd<@!SM7F}}=juMtQHT4qXVNB67su4MLCqs=G6c0d4s+0bd|f1~ z&Ey{o+Wzb?E$mGt9chYd{PGN8M zQ_kFGjfCCQT0Ri>Rv;(|C(x^qbx;bF5KXk$fFX`JHw6KIe-`z_ZBnDlzx6O}0>sS9 zx*^bIo!Mf_y7GaY*2XJdW}P}VZ$yu(o#rkU9=sRecRAK_ywrF1bk`cf(Q=pT;4XN{ zMcrQh-Z4P+7v`UaD{|_PwF%xBMC*w<)C0U|$vu*C{t?cWZ^T;JeivcLY~CN?tkJhC zF?D)|qckd#g6@M4-@}Zsua3RnW|ZNdDsb@rG}SKu_~VMnb@v151HuVqV@WMTWMEa{w(YKEn$TCfCGFg1-s z1ZQ<~0zmhMI&pBG;*Lp0P)j#9yJuZJSY+8;zAJpTPl$qo?Yj1Fnv%aKdayl-J0a!W z#%PfT@@&$U@mg+v-g3WA z(BR)ApzPf1`1eRd!>B7D#=_@ttrDX7J{fH;WKp>g-(O($MzK_39Y=rfHMZpirafbP zWHI<7-6*p_y{X~6Xnq>gw~6B%M0e|lYYBKQU*nrJ-y{xHoEp^D>&6sRvf%rVh)1}; zjpT<9Dab~&&w;G9aWUAnGTVpwn%F2=NeauVG;zr{;ed{-I8{^7zy@Vgw9l2}gy>5_ zohjMW)sc}uTuQo1Ue%{4l!9o#L9yFZJlilO&lz2&Hm%zkh+d-0Ruue z)cwb@07PDCV>y+GWmCE8dgXJPZ-V+gd_7@fP1huzLCg|$rOY4f`V7)kp?gC{=A4Hq z^UJs0^W!iitBAnCOp)HUTE8Imex=D}#Mio1AIRRRCl$yj~O>gM?~^BBf+ZS1#c|B z38@Y!L!^@NjwlHb>!*$-IA}|BTJh+fd|IN26PP8zq$KkTx=8D=dxNG@++Mmg&MB+j zdIFFm{66T%$Lj{ZNq7kx5_6RhvzHp@^5Ut)`;LG+mOM` zy)e#fv;Ilk?6iwlvPm*x252B;)9u?y6hvgxg}pR)@43kh)GjXasrI( zw3{q9ApHX<{=I*$(OWmuZZ97f6E`zGdlT}P$(&|wi)|Ai2M}I9#Zt0VmsR7QJF%m| z*vwD-l$t|SYaVuY?h66%47|~%-XqX{akY2~Z7J`5DknY|t91}M;7b=1HGrZ^b4;Jg zdzz|aT|_L_?I2UR(V(YX@KNbK&P35WUpggKf-fzy8x5{LD}A<$UsVNPky|?|{20zY z75*4KA06e$0oQga)F(7EAPVwc$VL zt8e(L7Jwbzy$O8!HSlih;Fm9eGw;3u3w?iYq^6(n|2w|~fS7=Bp#T6LEdT)E|1ZBB zo!qVeH~p`4v|Kkz(f;xG^iSO2?wGVyoY9PwsWr%wkCkmbV~%kw3!`yCkWPKR1M0*@ z(#(>oth2$xS_|xKe;73grgVNhe9T?*3SDZ9ww=a&V?2A#GR{pqT+_enHD9oM{LH-E zWN&*Mt_ADHG`n=Ryyp8540>~8xE%xH`MrQUQLuL9Rb{f^^ z!LbB}u@N{;>I^vY_%d%KPn*j|*lxo}n|+{YEWnL+1xa4;`N`3ZA=)H-fV%dxLylPj zaejppb2d=X#!TtI$Ko8k;Ozpl=AYOCxh?jJ%=wRXF^@0ZV7ynEeQ*Ck`I5IF%>W7Joj^QYwElZ z^YQ0oDg~B(umjL6yfl^(t;?UfJ}09g=LBd0D%O|RFA;l@we6zy)44vNK0WgSXz3R{ zG7{V-{(D>@@N6sTEZj{Wp=01p8weYhIegKiA1&}e32L@mbMHnM?$bhNz3Q9Vpjwga zHm(!>tKAl0r*5~u=!@_~1b{aKsxbIjM3r*#o-$h7wbbjC;XEBE;m{1NBfY$j$k<%F z5JvceQ{Z8bKZM7p9s%a3n?nf`I{8}zA5cPvz~ynh^==Cj z-_7?-VT4H-Q4A8{AEEd6n;?ABYJ+Jw&oPY}2Tc&LRNb{c3r`G#dRvr?n#hH`m}1m&9c7#hEtt z5xD_PR(4wUg5?79{)Bp3|3Nb)k7{9U3J&puH(*ZNg5VoCB;%e@k6Rwbb_U^O*a+Y|hiY@zypn0&G8=SLPI3??((wyb2}!0izkE4vf!gkgc3RFu z^Bd>S)C@x8ZCzLjTznPt?|?jan+^CWC(ZAKlieqa@lH|>gEPA!hbvN>g4tn?jTpU$ zj`*osv`;gW+p&Pc)1U4QqJQL7zh}%0VSWR8e$Z1S2H*L^w=e;o+8xF!*Bi{qB&<*_op#EjO> z<5`k-3s=uF$*ZhsSL!P1y&ky4?#MP<&EcUFlzm38EQ5Pryeppg2@R*LM^VgW*SK_Z zDnim$w{iD)h}!vK0`E>|ebh_dlRf!~!jrRkyd#H{Pm!aF+Ow$nwQcjSCFkUg=X3r= z$?jJF?UYb!iE2)8%(VW+H$sZ6+<|0Ow`eHGZ?|Y*Bx_Mm`j|GS%V}UaMO8b?CG1)8 zlY0Jsh-S_L53Mta9Ct#qtB%#4)-4@j5gFe<FFbzsaFaEZU5gwGCy`K6hRksfhd@Uo~$gBD1wekSX0w=6-X zOR)}qO0#oLEddTijT{j1JW0PUqgH;ykOR%LObYFw*jr0~ylq#l-jE0ZZpl@KdOSVB z(gd%&b0RIJ)!=-S4X8FLgoGz3`M8&1q4g4`nJTV^n#NQs6+~TmG8EU-_!X(SefGjr zcdmms$jf*;NLHeA*`s%gC;mhaIwpG!JLa@^I;k?mHHshUmq!tT9CqW`_vL4TbV58m zG;73;Fv3M?q10xXbW*;6^EDmW2TRNWA-3CClz4afZnc8a3mE&Xac0L| z44CrkrQm7>x~mdn=;QPm^X4BITx7`sNf%k|mGo|pz*J)gvKdzkMH9mbQYt!extLO- zR0YlNQ;I7ErL=fYti1*(D{m)v6^W*+D=MzIc)c52wXQ9^(z(Oo){EEg+|?lDGwTMf~r^?zcq_24Jyv zv%X|t7%{^I!K@lwP955%qNm zi1Zbp+SnJ4tB;mowL{aJK^GY06~JDN7*i*v4-#a3qs1DxN`l#A5gqMc9nOScAYp6M zW9O-Q(BG_G3HP)a+R$&)Vdql|XlUE;JCIJD{$c5eR01&s%YiN-29Gb?gHEFpR;0$q zI4rgsqApj{=1Uw z1VFYx`{koj!2b_Z`7bV&72jtYzyK4h2YMv?$2FA<WZk=!FastYR4?MH7$NNrOY;&vh8D(ak@?r?|U|B!+qLR&XwtzVs z9pVKV1V1Pj6Q!iDti=xvYtc|xPglOJ0n0D|&t{B^`5UL>lqaZTD$SaTlYO*J?Yni;xlk*`%hTvj#jF}6tKNU3h;Ivwy!Km%+y8RD|9^4Z z$j;_Jd*lB@NVDep!UqTtz;@Ljx0M!n6GhUW6`vuS;R%LWgofiVkzejs=G9O0NDoPv z9(*_s?moedShWm8{=YiT0xGJm>*M4AQX_(lG{Vp+sW5PQMoch`WDDkX@7bjKjl zAYFpAXUJiDQe{9Wkfp ze0G-ix&0?hwVUDP!MlR#UEOSLB7OiEoZRfUN(EmFXu-H&y+!|3*E;PGm2Gu!8+ zRfhXwyf*=(eB(!mal)jHb3ebfOoj>yMzPI=wbf=^9;zyn+a)*i0hai;P9Luk=e{nZ z0rS65?&XVXtZ>vGKgx~`Fc8pHxYwZT=w#s^so@M?d(LjhXYl#_JKG!Ov~$eA?NFlX zYe$2cO$wKGK&3RGE{;yFyrzyW=D)+8Fgv0AosUE8_ETVwxx#(CG8>zX zS{SB*|2_~Z)2p5w_Vffi!RYzGI!27|_RTKi=o+_Xd{uL+JW3Z{y$lLdLK}=gGPZSs zgwqg3gd&*r{RPPk1~f_<55Og_cN5&;dEGDM88u)fV%SRDv&Oa|IQkTLV77hQxNhk$ zw8Fcw*0VpwXH#r1YYdM3pdFRfL6VeY5N{2}#)lbCr@etCdx;+M&e zYMdAS4#PnVqVI-xdJ)?eWR2(R_Io7!w|2ExoP~G^ow{w8Cbepd93yyoDiii{*0I~{ z7%14BthLLfgsXZ*!X7y-eSJd8Q{L|Fiv$2yONcFnLT2I{0f!g+CrIWLnmPFq5~t!hZ(C?$+7%;+99 z)Nye6;VYFKB%;~U+IHAqRAFI!dr^C+MaVaSf9LwKN3m#wXfj=GR{BTVEFxN8IRwj$ zR8jg$(KxPofi#5rMzCp8)R*s|IRMGw1++d%n0 zmX^nCh0o(t26lGW`9BTsY5MPd4k6+EW zgMug?zoMw${(@sw>LzItLn8*~8g{r>(UF9Me>Uz>wmK>`$qfL$2H+br=*wnu5 zMJ|7{}aUpQ1`LYdEZR;F}#=e#ct3?(JU7O030him9a zfOyXa_-hoft#M}Ja{Cbk$e+NR%rK`mV|>$(B%{|GvFZf^aW*m3-qW>Wv)m}Z>1^tf z%jPy;9@2EL&0Z1;^oogMG55rt4sTbSav%#I?QCbUZi3)PRG3uW2_H$6y~9)L9vv4! zu5}plgF{rBk&GcN%QOIX{2Ii$R{k0yf0y>!H=sXDo2Sg7li_mKGbaX8&-_^Zx)_te z2D}WV5cgK$d+LmLtQZF!{DNJsiOkD3NtI9#DN>aY29{_o8+D7X%-2LB1f>J~5E#zI zxO3(ja@kYR4|WZf$amHm(g{tb+-8*ONkJ7GH7l(QLtB9|lEiggU+$yostV~ zG8L7=pZ=VOI~2Ui>E07R;euz)?Max=cti4aa1Rf}A>EC~zn1JSo|WuaNS#QZ*(f^^ zcIW7hn`L30Wlp~t)?g6vUWc-AGZ#YCcDcR>``Gt%`xLsja-3K~kjzflpGv}f{7t55 z{g;t0=G+_{q6lqtJ!AmXPcAZ*Mtj@Qd?WCMvx4$NSiDl4d+J9TI%v5`M37e1@aR~z zg=BgI@3x%-(;r2)H!P~2=o5Ax=5lufjxPq`RSV413S~5guv|*oO}W=~ast^1z=_^5_0{*rk7V|>FM0&TYSS6`Uv=l=hR9jRgYWKeWp+)9mfmi zbdv3t?YoktF6~@30Mq7;(f^#l?aEnOKo;7I+qvlGS;J-~2ytopnU+xir4Ys#wr zuxqyMxbpjWe8=u5 zYf8*)5%$b)kxlXy63h0iMcZE=ImlNn^!XXuk051(k8pzC5v;Cm`Uhk6Ha zx-3<@x$s`9bgiZ^p;pc#4ndk6GdG$ZI}s$SWi?+5DVHS+loF7j`fx5sts{Omk9c)V zDIP*aZtaq#q1x0XRvFiDlB)MI`xgBaZGoN0wsz*%s%hy7hx$O9>=CvKyJ~w8vpm=O zFjj!5^35lG?)6h{+kR6~Tiq6|?1D+z+Ra7oN$z8tF;gF&J{1?JsA!pPb3Nti^+67y zMN6dVlvvy-hl~yP4?o}490o(}>in;tuZdbk`G^{Jb#NqjOOxO0UKd1W>W|8ZkvrAZ z-ySZ7c9FBSr=4yoykMIh$RuuSl^AMlJhT4s9?Rugj~a|$1x^q{CZI(pJlNwP z*6_x`v3RQzd-s;>jn#Mud*Me54fa%&>&hJlXP{=+_FJ85gnOffm=$V(4g~&4YA}Vp2#xguq7n zMm~{Tene94Tar&FG(}YGw6^O&sS^EF{F zCuHJ;5&jb<8~PDtqN{n7bfQ~QEuiK!6=FZfrYA=Cw;Y53xhgJ=gWtH6$K8wUVh^Qy zi*cw^n7dr&&5vo%!UMd0TCM@wiCmmVd|40k6sXG@ds`s_WI~+2OtBD#JdwtNfjo++ z<|c!}^OkeW<=9`r1u0+Qw+dz>x(t6tTRq_Zl?c3c5z0f@+)zf*O1$$p0E(x#) zUqvEsKedA|fbSXazwA@6yZ*5~m>au_rnKj!e)u?tQNhhA`o|gtGJ`5Rr27lwc`La> zqmdB7PkEn=N|M)UN4~$|H~1A^O>FLGP(NwUiZrI{0I1)Z_3zkLII@(1a;|B76lagf zNj;m!UD_*owomxCdl^WhiAX_tXJ1eU`G35$XXYjve@rj^a4`~;e<^#K(&F;ajt%(c z`*pST+wYq&Rm+&;>>QUX$-?`k@87?>|3h9wn0L4B+B>cwJQ4Zj>sM6 z^Q@gYVdB2GfB1Wv+J8WVdKV|eb+2ECtL^g@aPTlKZ_ku|9v+Ss2$V^RQN(p@K;{J z0j6neV)sudh>Yn$?SPU89eG^qIb{!uT!lyGi?|DfK03u9Nigc7TwV%TMSc-wmWhqi zmMsz-YQoyT=ve!( zQjqgglHI{)EcK$>1>xmP=qeHOc_pdcGq?|?Jk7!t!dtJQsMhrmd^X}#ce8K_drtHj zp>34W5q5xVIlBa#u|}uil6J_0Yu2%Qw&4A(<1weSD&_ISB|=_*?Br@bh;tXlnTgOz z5m?Ko>9&hnhuLC=+VpdAV8Whx5T=*ibI6AcL!+Yyi3pZwmQAbl*eZCK`?b=fG#vMj zF7^+u7khDx6)XLSo-B*dzL76elN3pu?Pgu0I6|zmjUm6M^pix-(^gcV&v)Bj$SrtP zLi0w11Bffn)nYbV>l z(UV{>PQX zit2v`?~mmI9Yl-cF!_luZ`_+utwZdRU)b8hy| zIGJnZN@Y242n-M~7#NUf4RL)KK*vl7C2BGsI42!@vGw3B9R3v#^%!V zLC3P;JJJUwMzGY&5&A)Ggb3H6qH@NxzoSu=B$X1!8w$?6Mr-kPh!ToMOKX$yMi<)2 zw36HCFDm}J&55D%QgLa1*QNXF$aytf!veR$vXNky#MiCyGA!D`;wsqrlMh(wz&%3p zSc+G?j)(keNVDXWm=>7T?B;Fj!;bM$oZd*U6ibX+!FUtkM2+)k7aVWhM+124OLT%y zcP8Hf^Ph|Z%L6b{)FQq!zrB!VpHIM_6`$1Fh8cRgdSUHczg5*T4L`8L7TS7kyJ z*CN4{cw9$!qUj#LrT2c0R-P|XP6`8NcAP_aG`o3#O-y@u)ZHh~z}CQq7%!t}9S<>3emYTKWIDvsRDdo6~=HwEzYJ0{<@>Ia}DdFfsmz z)yWEq;4BD|wP;?ucNlP@<{6wnCy<`%sB4Mh=qL-hQCc!N`fU5UmAf}^oWqbS+Ztww-n z)Oz73Jr^cCTmo=v=FgzdzVW)EYR#t(LAqmEg^ST7ByEXG$>d_{*N&h!Rs%&Sl_e3j zw^A&gL9UC8r543oK&&9Ek)r3%oEWbE^E{e7?4kSx|K)Ba1PJQC^YCzVHfJ(-G;_26 zm&pHR@Rc9X8Na=K@0%a8Fh_pfM?R{<%T9s4%v^@ZR;mS4g-!8C_C08)2%1XcykwCC z(5~c1^X$(ryXEx?zcjyJ{Nw(@T#jh8^|b!mAc)Jc^7S(MJ@1IbU$>4%@2Kr2tjA=6 zTWdRZ4k%dAWJgXfKM&I@TjR9wzn>2sznHmUBod!=s$hIc6_KGL@C8beL#nIU&*}vg zxFiNlJy%d0lrTSNJN3Xx2gRcUOK4+P6I$G}rqlKOCJy6FGrq_MBNZc{FN?MNexfYn zBax*OiZ?|5So7RCl;I^%AaF2e6{HEbdGsQY_`zF&8u=w6D0?@1i_eAZcUVe{D8#kq zz{uPJwQ-B@nv@%sjC2ynwcn3M-q)&5CAEo9As5RM_m=XpAO5?z1;#Pp12KsBA)@VC z&1+j#{Rb=e-v0i`H4xDgb5W3Q>+hm%hty_2UCXHZz$zaf-}`j#$z*zG?&tQ*HL!d8 zb9HmGmQSHWq(#z|M|I&Xd9_tWr9>7TP zBYIH33-m?1??8_N<%y?3Sx2D;f_$Qr(9+M{uzMJCX7R_ZgpjS6iMNRvP% z+hh$cWrCcRWCWB!JoGLvqRx{t6Y}6IwjxAzAA>~0|FG6tDAqEC z)naaZg*Tr93=RPp)6k4jpo|k7qR_-`lR;Bs1IJ90q+>fuGtoZvb*^Jp?V)+1q4rfHcGILODPf#z}0!l(o5VE5Q{^wtKvJ zF%LJH&mDr$J*Prun)qk1Sq!3j%6tBJ3>Uk1S+Qib^uD3**;gI%PCqYQ9`ePDFjL*} zPF!jA7#Z3r?RUct#MY9&bCh&RBYDrnw~ps348Ldur4r#Y{ZyUYWf){2m+(uPRi~|u zkNU#BRZ35a9N9+L0b7C7SpqEniffmCDklStgKx0vQzd2dEe(xaI4zcP45WTTkc5L( zkRgMTcW1X~mlhJ*|kXv;cX8`CJ7F(;Cvc-5cnCTF`oe1Go3kBb^BZ=9fNwQAcu0cb8k z%1ARJ1IG#enxdp+_$`A)P+Eg}OEz%h*1*FknZxmeq&c85T&sZukd|~3WX#t6_CoL3 zR>C+}Lz#ZWtDE5?q>9VnI`dUW(hd2O^yEI?$qzAfG{y^O9UNCd2Wu)J1`qS`*ADnM zl!D&`HG$(5Uo%Tx{c4KYnjU1t+ew#t!9UxBEvba!_{XGywDPzSD`WHhn;w=sB6&w} zEL)L5GdHs|H`ZR)-C9@36cfv0A;X*l**Ij1J0D2epRwXJDZGzQdX3`g5lLa_wLq9X zIG&G@Vn5ce7B(2q^d}KyUv?)PW-&NJ96g6Uw+0kMOjr=q7O4()uF58KxgK+MHWS6~ z zhwM3Xv6w`Kzt-S2eKMVpnjwzX=#qN=af01Y;tt6%w3wMT?sNGUeeAuJCy~>Gfh3I(py=1{qvIeDFpTS%OkxcjW8P|S4v)KmK`Q~1Q6U~d5GV%oVC>jA#3`^maY(b(jLP2c$9yrR{I?u~?6R5iY~c z+c{uKulm;*XP%Z3cx9q|fN-|-hC`dRYrCo7O|$2&MyXgC1WRvleoiWp&~f?&PJa2E zWA@ZRS#VMFALGBg8tYne0teQWd9mkB(1)^O!SVn24brxUzkp$8BJ z!GM9$jyK|kcP!d6KlS5~eA^6Rj4>0Q1m`*r%lmIc#ThcM<4AHeZCP$O;74fPSA*>| z%^PTk8L_4@G`CaJ)+R~fcLcX93F-N zO4*zJJ3B8vu6%$Vgy*@-QgkTJpAf-Mp(Q~_G7huuV`1imRL!hBgzE^%<7DdB$E&VDSSfZ1F?w42B)Q1IgI1514F)hh02aI2ZOJfeOdE0KPE-#UQ z0p+Zn#SUVKp4|PCx!=1(PPc#o{Zs&IOmMGo;!o|zl!Kf7LTcNNHjLc`XC`cMW=Oys zq{{q&8TL@e?Jc$XJe~IJ0D2%l6vPx>FGB=4|Ko}*2|yhV4+fj)uh~FsP}A+)ELP~I zYzwGRIF2I46%Feftqe)Yi>J1bp>DY3zqdM>GL?lw@#J6Snh0b4vGPExID>ayieEs^OT?HpMEo;~xeO+FD{d@}yu3$uDkDLd z$nZwR?jIny6F^c3y|>SS)veB<Kf*%{5c+b!Qu7{^Vc901&kLz=lS{+}YVc=AoRT9IzKA(xRoJfTu9cD(NqizdCT^ zdyc=9A1xYJNI#mO=06yeDO3taW+$6OnnZMF3P z?wZiYpLdb+U!D`$3SLG44fBXA>pJ#XpO9u~v)ek(_v>!K>3!N8mI<~9!xfPeYu{{e z`{1*X^}Xu_?z3gHGl{7jq5EGib-&X?{-7NU7I&eii65kenP2p+s?pT4BhqWc1Zyzn zqkmxD8rjIEjUS5(tbwmfEyw#$eba_JN~r<67c}T4reXNsA#Q*<`}^TF&a2k9{cWWX zdHL{8h>q@$j7*UHY?Pp=3}38eRMUfIs1~1Xo>D^j-sD&}JAs_|pHILcBQIPzmogrR zouiF_Wd0?l&ReF~j9SOj>t z+WRvrqEUZaJ3xj>J_Q}7`9PoHYQ(!Aupx*p#OO;QoFy?we^Tn1U79dW9$jAqkJI?5 zt%6A=jk>aannIe|L?|S!mlJY$6M9+X@x+)wI@^TDMJ26f=hu` z#l);R2oco1wOccz$S}EG4#egYP8rn(T4uWDEP6|Os!wpZ4IKNA)vJa~g>GB_wyF}A zss?!#wLL^m@sS2(=>|u<37eSOyD5B)l4mC>)6s+{m35rViY>BL{kU zvoSq^4f~9GRu|y(bMIggYz%f+H=(|HV%uK4^<=;CyCu)p$>1(!$nnDb>abFCGEG)!Wys*>;t@Pyx6yF2p3%JsK^%09;4P_%xemII@FB587RqQ; zrmBaf%rj932iDlE9F8u4Tx1kY0HhqyW{c4)zsl&>PTIWhpA9$)%Bt0QJ+ z85a(rPo<*r773S7Sp)L7fbUPLLf;-yx6blPyhKhbCtYK61H#hy0Z77xRbGbpY4}F{hU=FWr8w+NhzU5QK*$s zG2v88zOd*LAl#1k#PUqzgJL0-A3swgNNk|5@Bi_1)+Je`uw?2j>4RXal`ciBYo%pH zEVL9^KYy<7;<{;eDH5C8-ODZH7x1=!@vy7{JjJU|qht4jqI&XeDG=@CwKr(C8Ctj4 zfwpwzT|K-6%`wRPy2I{UJ)K-MnpG599=Ddb|M0&ZGP@Ei^IHPDzi5*5&6TA+8p0J% zsD-|D^Y(hZyFVXue#e+U*Q(Iz8v7K&Kb97{p!jyt%f{JJj*@g;Ty;G8sbhOWOAKwu zpQYhfsG zlW?&exdLhjbFz%MY&sdjy6-!h2Dwn>aQ#4ZL*FUzM0 zM5ymP2W8}ihroc%lXx7@)0wy>AkMiqxr9l-rrp}M+C3B>^oi`{0hryw3`SH~)^_!J zAp_rU4!?!HuRcB?rTo7KQXwGQGQ*F(&in`u?W!Wtr$6BNytn_s&n?}%|3x}CWl%8; zA;yI?3#8a(C*HQeLS&XnsHcWuYgK;)I7KBzcM~MxKpfAfHd4{8c1`9$8y?Jg5 zy{-5Gmfdjpwm^xENo%<-P8w|&iOrU#L6k{mLaov56MO<**zpCn`>I^k+gq3yuRFc6 zAl;o8h4P9@>l+x9QQsasjxT7);Yl=;aRy%tlW|=`;C?nGe*WAe?6ghmA$nHJpNnQ` zK)mCF9#i_9729dTbz`PrcDp#gjJk^k7?B!oNc)qr`L@Y>-zfp{@7?;+#XlqC1n@eW zbiyly{b3)9@S?;&kqW{5ROY|)F4B@5~!6}6DwI_-v{@tI^Oz_^KbEdno zDbsz-4DHBw&l499L625Zg=O)lHSR@GUe(8GJsI&sx7c4bNwkjtOAs{LvFT|A zGM#+q6rXgRA_#g4IU@BBLEiSZ z7JrCuf--o96YfIm3V37+p0KC}{&;5$H@A(tRUvK5YKEloK*E?rfw~#EkoV_Mjrj(s zpctJHmaBaRA|@;4I`~4|_;fSYbbdZ*mYUPdd*yMwV|&@N^ZVB<#i-7+$(m1>;qWV2 ztZI8q@dKVdxfOc;pE_c~3vHckG&G%dLttR+#NVp;O|}%KbHfNX1*}ye6zU=(s5SP7 zh4yuZ1VC?=h@u=mAqkt9P=C`lhybqLJw^JXUbm^IT8X@G^$9eGOmrR4d^&Futw)hW zK@AZ{96D;mLFE!PU9m*_7&78g}Na|-Un+)K`^;S&z*2ri-^ zTYV!0aq1TRdqqa9buqI0h3k*22G5gbmWL@ZXO0gnSV+%@H#8N^q3owf+Q|n^A(Wa( zbI?PsTUs^^A`^^ESyl-E0os4ELhz{mxs#WyY8puJ^r?1^B{KsoZdKc?S>6w#MDb|G zuIvjX>6H@J&~{Za-r=l`Dk;ad#OwrRZABygz=SP=K2}T^go5V5I8bDbn}S!dggXZ% zLOaK6YMYSA|H&>R5%@thiixj!f8db0qDN08L{cobaMfDF{*$@<;IfGce*V3G?)h5S zK4p+7!Sg>jhU$v8CdSg*(%oVns3y(qms2s}=b7=P@*V}i+&g<pdC7nIK7Qr6wjnVhwt@L2YQah0aS2}vec$z}EpQBF zME(lN=xF9}E1%Fdu~;584+dj8%gm;G!pB(A+qR;X6DO~;h0XU?!AR?VxoO4NVN_Ja zs@D1LHVr**tRgazBayGH@m5YFCY=bNGSWf_jB3Hv5ZluZUb5Ox3SNyiBN~y6!8g1U ztR%7$L28>-Uk+(AN}eNkz#X#S*|QPbs@t{Dwe0-@4BDji{GAVP7>@y~)KIy*l`U=} zBIC58oMg545)~6mHw<8?FkG!DV-nA&TTxoF7g+O|#egK0mb2f8DX5T0Of9Rtc-hMD z^ZN|G)tU$d{CmdP3#ly7t?_Hgm5P6-o`pXKba!PR9Xl^;3ZAG6>j%$=R0hj&esMXSGY z_|FrM)HE#{R#O+3zrkQ)SLf`CVYgdkI4-+;7_aIz@3*&AEx~&G3>6M{ zAIrW3+Ov#X4}FK6lXtwCn+^LcLb`fp3;>0p|9uM1Yj1bJK)`VNmN(HPg{sw~>DP9N zBB|+CFle#1t2@VXUvyDFtVQ4wK)6fBgV@?B<@Od+)_H~cT-v;FPza*3!n90Vo)4_x zH+2&B7b-7dnX4#1;VSR2sZD5@lKD%~&WaR#?XAkPkgRI0nN4qxNZ;)Z4S5@Yy%n9- zDi>vxQtPU9bO2_>nj4KsZhQRBb(}>a%e{ZF>?oPpom(_UpFp`+fzF?KV)M&!KWKOE zm!G!h*2!eIfOvh32U{z0;a`$y9O2 zG6SwpcrHjsI#8#wt<)}FUobK*%D9`33uw>%noEh9?!u%*YvKz~L&82OL}o($cfC)i zp|BzeHUfdKfY)bF504j)LKUlOjZ^S4I-U(*DW*Uh{*eqlZ595(L{9aS1Op6f2lnR)pXUQF`p;^T(hjMi1E_ z5w`QhS^CI49o#-9JA}VO@iC58A>abj#|jgN5TI1vRM%~x0?LCDSH&BcG9B^?h!JWF z%|i$AS>7w6DpHqO|U@P#f`s)`Wd`hcI__Nv;ADmNP~VKT|HnI_4ECb${Kki zGe3uSp{5GcLBonT*?hyB+7HXcgW(5>ZVzIb=S*np*rt%W14!L!G-B6y7r}aFS-xqC zH}-Op>&OSGm%Xr_saWiwTFNDC=UB604t&{C_0TqWOEzzD3kvys9SEvG@l3-?h{A3e zxvB+5Fo&1^`Nbc@jbggvtiJ2S-+=)IMMj7t-)qf?o&B-lA_hvPHvClaCbmHXeIOgL z1sX#q%~^(^aHQYx9s|)J?L!~^SY3S-uI8NEEW#*hY1a)kK&2~!a}ULe)NF%OA6ROm zEsO?Q9%ybrT3Z=}V<6}ChRmFN?8IO4Lzp5|);Nw~RAer%Soq`{zJ{%w#&%)=~R7&nhi zQJ`Z(qZUI#P8Ne7U{a$PF)q4sSjk60G0P;NBEG+_c zgiE3!otmxF$ZkfOy`YC;_PJj@sme-YEsyIX$eCEN(O-3-(!R zO_51d!4oRuADn;E^LxI=ra@M>R4JVV_qjB(LOagy&ie;zx_}lUIUWPXPm3V#G*@{q zumzQ;qDL|v?rqX~Z^z`ceyt{FN=d#j(dPPP47&Rs7Isqd+6YsUQ(uNlkj;m~@|+T4 zZ9y@!XUG7h5k@7Je5%h)qV!hh@hUt1JixK)Fm*@hJ*ch5cS+{g&SPrm2tW`15bavM zYIO5aLXb|BNwLfB3byF}vrm(O4K%`c7Dn7(b15hLSs&3=Svs@Tb!emMAVM+2)m1*ts3TAf9Wa_O)`NxyoD$u#ehB!C9^`j_>~>`>|qc^)JrMF z56J(OkIVIo9)(r^l)Xx6Vpja4M1=qM-PznTFM81I@VoxUq1n5B*X*zmXVdI(dU_A# zA!UhD31MdA7HAyVcCSc2E=Pmcpx@`Vf@aYIyv>?q9h@eLmt`F1H9iN-U{ru{}w+ zxuz={tdcG81W&knkKtbVck_R8y2oeAuC+RiCikhAf0+%&I=ZQ)N5NPI*YxK13MH7ql?wJ$)pO{V)TxDC)wu z6L@Gwdrj_0Ru1Sr?>1QU0vUYZJ%4UA>`pWIl+<2UtrYKi9~J)6@}7fclJyekp($ze zvG&xFHM^(E8F$k3HJd=d+sP6YRGhNATc#yn6z?4dx4c$))&Eer)A&)+71Xd2 z*t1)f>Ii@HsLDt%_Z&#gSy{7QRm_I6(N8Ny$3o-)7aDo>@kLL%e;fv*6w{m60Mmp~ znX)RrKTl>zOoaXFFB-8|O?2~jUrFB2*a-9aj~RQGO!41;9d0k-2l(4Glm5He~^|Op{xP>09ZLzfD!^ z1VZ=FlMrPOIT7ETu^EnPU7;{A;@I=OQLWGI36b;?uciDkQc()ySUqT#8fS1Zitqzc zFDlKdZdg&E84#glUC`xLN|sHo;hF1X{e0d>S8c>}oS-)DUhEEx zyoJ?vj9;^g*T(O7f?cbKgU$~$;A!q8LVuu@%6ESJ4}635p5@RkLdiLT7~YB_8~l23 z4ZlTB4+B%?%io3ri>8Y7q_B@q?D6!0*CA0b_LzQHc+7&T%I6D0GBuayZr5Uv@$@^% z1270a4wXCZokERz&RAt#n`&&Ee||ajpZY$>DGL;C#uZassqmmDC_O(0STrbL-VhHW zz?c3Rpjq?%+xHE}sdSjR(N^=>GhNcB56iDaoLEV;m>MAdo_D??9CN3xho1xk5a;DL zJ^yE|_=aA5uLrQQeV%uY?s1OeuM~0VOAn|Gh%x(dBecB2_#933gZ~|y4ho$Y<^?fE z;)3E=?+!UZ7O*V$`e&6;!51fZq=@t665N8xa5zrxO|7{7S@fS-0>R=xvqWqQU+q)+ ziO{a~jJM!=nw6E$R$4?E8CXszBJ(a@d+;e)9>M;6IDcnj@c=>SwPSLlspR(0;2b2Y zp(KTeoQ#@ttSrZLR3v8_^CPPQR9rR%R*=|V2;5@{BwU2#+DwRGX{8z*kgXLGv*L~@ zyM<-Xd(~K$qo}Kd12t0YzycNj(qXc;1C7(+<|8&_*|tQwD#<&yX!m-iyxkMi+yip^ z0u;jh)Wj&m&UmZo`T+Yf98~|g2*V2$xt8|>kzVo1hXvr*q|tU*J7ic?B)vId8v{4f ze&;v8-?WC_RkEK`WBL3r{`m-Fa!8C2R`O>@9F0%@p@w;0OHJK=eA@?nl4kGEBi35E zw5+of#17wf&Mz|h&A(k;V3pu(8%wRAbdx-^wvh-Aa}u%Kh}aFiX*sAb2Az zY78tcZ3vr2%NR5TdzQpQy4^qM7H#G+{Cxh^W$yP|JJ6o)_uU9IC%_=*16N4l8XQVZ zQE6)*n7g7kq0{?!t;6|+zSP`^pm^AbaTc}xtG(Gu+V3VLnlkvtug=@XuM=>1O_#^4w{=D)o&cS$|!?A4lGq20kbZWIp?{Cj5G_@lD`w5RWp%LYk9v5;} z*EnzPMXjbJhvJ=`+SX4Tym%2GmW@`Cgf#s&;Cvmyt!?Il8<$^XtL4%_xGp<|ASzE* zwrhH%GN>U3DkDs+|unWsZ$<5o(AFLZtc$gk@ic)s|^1S#3PUCPEIGsYLc`sVpf=paun51*?7)XtuYNBFg$! zv;E~HT*5PG%c$9o1LrL8#$Dc`-ET=Xc(=lqAc1k>B7X#+i7d3mctGMgP(k0sGYr3F zsM=lmf{53qYi*mjP*!5CI!t8pyd>$()KV!&(Ez@JfkspC6r7%sSN0#6SHifA@Jq{; zZD{1HU~C5pBjj#aO#G}0XeTGfPUN8-<(AB;X3Ip~godAQL)1C9%1I%k4lXYTw$E;_ zF)PQXaa?_pL<`ep^yEeIRXntIeZnMK^pIw6aF@Fi;1_ADBl;S1bXu9LLR!!*8 zGFHOgvhCW?p5qJRL$vP{?E@4)4SUmin=}2A&SA(l<^{@iy-Udu+8fIt|M|RhY(qosA54HbvpBM~1IQ6O zlHo#B0QWi>HHw53^~6G6wnI>*j;g$M95#>BVy;(=!p@2&qpoITP(;wKX|>mt>RkN& zEvd}@#*DVouI7h--wPdl*Lz+qsRBJvi*!3`(+{KbQu`6x$fH?p z53f9PW9-&)E!H7+rvSeTeI3cX(dV-xTQVa{(XIl2*I`Cp8%@mJ__yK9_QMBmUPbQ zMay!041Ga$Enw61ZS|dzm0U$~ypdrgQx^WlVHVP$&m{nSi8%T#f#SG&G_Az2oSpXF zA5-xVDah|&qo-8v4ek$YW^2f0x@dboB_KTtiV=K1Xc_6;D@HweC3Hv#KgVEL_1Kge7$+_{o52X} z&+X}`Ik72yY(?yhNu{@`JmYX9KAcF05s`JGwC&dIi)AhQ4|XP6@i#AvfwOeW-kaJv z=ROTve~?`2I|mJ5wd=W>(R6vR+3gJ2ZcSD28``wH9uabX-mW-^NRJt1U*!Ea^R%;D zIxSd64|*KNh8o+37}>GXr9rC8Y2W13U4A$b^l;GFZ$x?-zBT!AltI>Un1B#{ci>PoAOB^?4z=eNGDxqJDG z110lXPC7U^OvAmbesR+!zke7qT{1KgG-|*OMP22OY^z4N_(7qLTgu2%yKFnx`z4Ms zzKuLQ85HmNpv_A_Gwz1QV0n@pAl)cll$brl$7l;f2(i94-jek?k4pf3_JjO{M+FW6 z|Ju>{EcwwDnKxllsDmD&tQGfgmzEejQ)tR2W2NA{u7S?o))8K6KJnz6ZRKjthi-gL z#j6@Cjeo6YjCyM}EV4`S_O`DSyR{Wj;x6*mv}-|&c%5d_Dp6+Blv76{nXxr*;d$2| z7bjb`_TS0C#S}K5RO7s%ede<4c-S7UNUCgj-8vEO^tjy@TGR1iBP^ng4&Bz?j!xIg z>cf)Q2r}l%cTclyL}++qgC1cpuF?eB?eMwUHGP*XKmgi}M1};C8vO^iT$9*YE%Gp# z?u7$K2!nkEaTuuy`&pdrlAXjhYkiSo)T91-b3jdopJp-OJwwV3#ejsJ&gkFoSxfn} zDjA3H$AD`lka?6C!?oq1R;gNZ3@pA((?AI8jAShd_-_9U?#J3`$~Q{g=tQ$a-Q*|Q z=^)U61bdZ~tKgsCk-PLf5?M=HJ{0a;A7442f++__>*QA>#70@SinW?3g1{7&j@stjH4V{v<= zueIuUM;iBb-VRHgFc8fC0(Bupxr+-a_9=yU3NB=&h5+oqM?2R0yJ0~7Y+4&kujkdl zDG#VqYSvCX_f5Hz&K-tNkWUF6j>Nv+YtBA$DNJvPxGWpYj|BVavPcY8W#*!I+CE8k z!ndJ>#U*BEU(U`3(;iJo^1z*!8cuKc?H~eQnY!evy}+`fKlx@ny4LM9s;w=R4;`0C znbfw-GcwLp+h%ad$iv#0lrnGkz@=$htGyfK?7cTPjP#2qwcSfVrsp}wfS@?N(4v1m zYLF|1WMzf4GcQ1gAF?YH_K=KkU&W+dGwr!N+Uil;#hj_D7W8zh^(kOVOsR~4DUB-0`0Y)jLA@O9{b4NRIA zi8OMywP!yKr(XskfJ=tf#PCLh4o1RXzM>E1B=`! zq&C0sZ)jQ!c{|Y{_2s483z`{u%VqX z2RO8p6eR}8ddiDWxk?!1Yi-BOkEewzGH$F3Iz(DD12%>{A4X9<9suu7O3<%~G1r#5 z#A6q85~^q+IE^S}NR{U5hYg0C&K#j!{ny0kN5XCfPW)DMk(J}bOPEAnvkSk{#;A2d zGs2(^f3$gHxeWg|vxsA4xsaZxu4vo#HyEsOq=*CO0FvV7i$!SC{H z!gA)cn;CG?bJ=)bb~>ZLRY<)B5p;GTX|_{(@{Pa;C#u*Hd59o7+|J`&+u2fDflyN+~nwgoaTY?1Z4tz_QgsdpBMST*_Q~aV2Q?6!;IvJ;{z9l zRE!88XyIHgr8IgO@9x4PIYR&l=#^nKt~qeUe>E?q8bwzV3Xac&_nHLl!&YCYDVC`n za=w36ONJpdMo*^6GAuJ+VpE1K1nEtlV~5OX_*uS(oTg(5N$stkS(;~|^N@f$sXZ^N z^b1Bgbz8i`T=U?pNC1;sgHPVX$1ZmN3hwGi^^NlFq5$6izSNXGfx-p1v=MrG^zeAK zd_CVG@^vv)N$&w0JIX`%RO6DPDpWNV_Kc(*;-d08qj*h=dXaUFu5}ON_tUcqtdM8a zqNiC2!Ynk4C#qRl^pT>*GW3Ho;dhNNc{>x5v*&G{j@j!46B~9yM37>+c41AmTQnXm zx8aD{oe3C4_0Qa99m8Ey!-)*qB}O}K8lJ_wC8RDLmJc`sL)rc}TO!TI$KFCOcL@Yu zWKb=6l}|g2RyjvGaoEfK;Yp<%wx2(HXj9L@c|EFFu)%o~#L4YFW^$W1{pib(oOOuF zHSdJWqVG6EwJ~eCEe~D0vK7|$CWN=4qFe@ojpVBQTF*(8e$xtQ(bf$M+maALXji%m zlLCJkFW+N?(!rw4V#ABCzO8qpzngGo>JkGX2oY&xCYnNCGK2@kl~3FSd~RnmsA6b=Ys zTz01Fs=Tm07gA&3qKBk$Ny+W(%UmQn#)pyPNvY}^On}@@Flb_Y&kTtX#O`nA3b8Nu zy{9mmFARtx=ZoAy5~SG`5OjRj$kAN9sxsv)r+W^WxXqBTR^*H|I-qjSHr0ejwp&Gv z6kE|{gCatbge~L-<*(i_m~>PDrDy)tp#rV&rX0_1)^CpCNc5X8T9)^T)lF@%lwWe81e-t!kQD!daHvw&S+ILm731smsbvQxVN&O z80jVa^_}*}S~2|@@V}};2{%Yq%IxD?Fm4SUg)Xqx=6}DAH8>H0owhkX;fQZ=?>%X{ z@c(#8q@x6p$Nnjg<0`k5hqS9)KR3KvOB}U+O6_#4)f5zN3FL9ea}-IJW{!wt-66uS z%tU#Ik5p#KIGt|=i-ndr@|(1siW^Y$Px$ncmxB69MZJ&1LTf-;j$>~W?$$9T)b^06 zwr2nFf?t9#Y=i-l!@}PTH9W@N7&q{%_;>p9Wrjteg(;F?WWen(7ux6*orCL5@s9JzNq$^Lx$dvvr8Wx`LH%6q%H$3&fDdd+kz+ zkf|Y+_ik?dTi@RzLWfCX9Sv9OrV`Sr%hHdg^JPeIHRwO&tz?alG;;F0g*wSL-B2b* zu+2y-rMLh6;ahbr*v~n&pLJ^C| zU}-}>P(}DK!6)8qQ5)6X=?Xu{M#R;e%(S;e0cdzeRv`XvUq)}o)w;nib!m|E~k8w zPpH}3^Ri4Mf%)L$TG>aY{0uyKdG3N4R#z6M?{|j5k)^aZw}BUe|JF}`U_rN*wA5?a z;BOvz+Q>TRDe(lrR}g+?e5=jr@@46cq%!hz*fP%w_P@W4t?olj|C-|?ByeCKot*_G zyS0?^@a)F8wbKiLTKV;Dacf6J6hi|X9p-y`UBa*TdH@rqn*S`L&{==dn7)78^sxox+Q-+Ml&+2ay$+sWrgUksz{)eq_ z>5m}bB)usc&0-h2u~Ob8*QuJOgq-K++a0A{TvB*<-j$_6BEZ4n#kMH)g)2La#JE=y$ukiq>D+-7;wbBgl>GdCG`2Wb3tci92LE-rX?YEk??^QC z$d$W@i*9APYAhE;xSorliiM%3k(1jIbsj+}ucRwq{L;&yZ#_VHgEVHNl%WIZsKHbm ztZ1e5g*Y6N6Ll>tGU({`-ALxAkb*U`dZL#ZCg)hClzrl=8NPTrDwjO2lh}W|aorSZ zk(^^S)`*f{0J!v8Nj7hM^KH9CGgRozU-X(si?MWVKg@q@M=);7>L{;*3Bo)n|0)v| z=`_HGxqz=~5*F`&iD6`QH~!6O+*M(Ja&>Zcaf>Y;Ekcgg@8*B5WS289nBbK!nMP91 z$$hoT|LcG>1J*MG}$!r)lRuo->TAN>YJ{OM;N4fMoSF-|oX& zS~i{fwumSS`v===>E~A08lAGx$A^o%j?L=eV~zA(l0?B+ak}V_lj&A_q}-c0!=~IJ zHN6VeyUPuVD9qTA(fnWVsTz= zPo34J6*^+G)dTH?*2)#o`OYt%LlvkRLUwGg)v2{dm{i(XDWk9sy?nshY? zG=;_A9osoOk>52Gy?wo$m*?=2WyXT4y!g~^HxlvBVPxKPiao^|uBQTTz?XX7X_{~1 z{(LHRcD~nUzi%?N4hpm^!UlhKr@NM|d$pspzdVC=5MM&nX4QJ!(tLYn-A8bskwDD4 zGHXog@s7%iXu|h<(n1Q|?ni^DVW_~Lfq^M=8_ay)rh=Z+0)WORnA{8r^QU7SjQtaFwu%O-y+y=C`o@P)B+YRaZLF#$-KX=_ZO( z{G(W+!G<)j}46>Z95o_>f&rp)CaljW1 zm(NyGO%Lh+DknoQ&N_dM5Lxo&@NN<9J9oJ9rVBk8d4YdOEEB~>3q}8eNw|3fKMG%@ z1t(;ugJr{u+vaC5YIaD%&3Iy`v60p1rigq!|WRlu7PyGGNgmhQvSuP z>;j`-%dm(Fdl9Imb-_tr7n@iTrRX@kC!(Y#(R0lSoX01LP|$){ElOqVL{DW*-p29y zJ%6~N&!}~zDj8^ig`VW`D*o`h-PMqG{(iOCYOuFq?zv0t;dnCh zwdCgI#j?A1)Aw`ZxeL85itS_1hOAr)mxf7a^>UP?rz4Fb%RP&a34c0Qva!W`rZI!= zOIZ*U7gy9Lume^6x6{4s*H&~vbh7?uAnN~B*H=Kru`O%k?(XjH?h@Py1cJM}y9Y~f zcL?t8?(PJ4cY+3ebIv>W=7j%$GpkuMz4&VFu3gi+zUr#lrRc76^C3c&x>Q#{Ubs_H zs)*GA;eKl==)kCxg(N%FROpKvw&An2M2SI))rwZn6vTO$_v?O)eHw4E`N1?ymxg*` z^@~AUJcf~5L7(qU=Pte`<-b`(T;2_C9IEF)u~^%_JfyuL{#mSkzMc~V257iY3kC#) z_n%_*|E=KvcggzS)%^8yYx2EBXkAz8#0Tp$@);4>E8{grjhcjhGqX{jvi(_|Z5dlM zcy@w0wK(1!9s{E*8VNo0Y!AI`zxt7k`sXM$oXgQ}=C5v)>9uMIZV^$pZMFK`(9tpL z2uZLBIGlg{qWL)X%}m6+Y&Nzh&+-@5e5q9o<4>>QH7^LQNuxagCzh>~o26aVaGo^vAaVK3A;tOPHyb1Sv=kZtikp2`-%V^C96A>uDx?6F>>J{?P3}(Ns4V z;#!vJ%X&^~n5ZIyV_6hG?-#ejz*CT{DXedew)&ylmFs}yMd=euqKT^`vtYQ4Y`LPE zZ+<8h$#$U}gwO5$k{8II+6!8WB((-;%?ohg|EWC_TU#d^TPI`3zbgL!R-as?FaiiM zoOq>3i)%PTBy;bW4T9bc5WE@@La?F%Uk9D`Yuo*6o6oh4z$zQMy>SDJstVgOeqePW6EVs;`yQE*`{I878uvgw7v9x^t z9H+KqYF#g&JwrcWic$VEPC)IQfw6pRYXcAF;PqoYTiuHKpk>WrFa;y3fGYNSGp_KD^ zfbJ*iRYJKCPOV+_4Nzb!AwD50}+(wxUmO-UuL_Ac%M2mMT%R^sGeP=CbV_xd#@78KN&GnN;UYBQHzb$Rl`9=diBILfE+Ae2E z8u?ng{yYbqMUDlWRV(^&YP)K?bg4YZzDA42%aHkS%GE4hcYFe+F#PSHRXnjpVF($@f2Jrbs!;zlK0<`k<=;quq%hmk%~XoLK?PL^s~(J}|p zY+1fUBDE&!Z1?`$Cuwl_Uan5U4neiD?MKYryQK6j%ZaLiC9m;cs#N`49T!N3Tw+Ny z`cmp1;Mv=*^l(;`kxTMer5Q{vy!s($LH5hgtQM4!D{N!8r}e7J8?TZtQFCt!%7pQ+ zF>No9f111y2n#4a3=q(bIS>%ye@x!d$=&LIf01X}pIujqFnk0%dqywtH;kK0kLU)A z)obM`hl|(lu!p%8#4vcE$j6@_fwf~I>88j(E^{ElTM2EfKN;2vC$&9YKTV(Wi=1i< zH6KR3V%>R8F;7o8oHIV^Hk@#JyiML;WUhPcE`{g-x@WXCKIHlm^?CDRx$OfJ_}@c1 zYyqMKdrc7rdtv6$(OkGpe z<>7yG1xuXueaq5`B3UKAhB^1QMU9#VbACXOaMu5*g`L#%6NkI+gufj;(_G^-46x2k zRAS)eVE&GVHw`m?&qrO&)@%%rC^~-FOKkx$XIUS;HSisHmZbaF963UN?`c8>1!LOE zPZppDnbPnu2f2usY2&dH&eLxPmnP1$QBR@=<4N$GeXYQz;YHER80`VHHCbu3SqC7q zFwuVe{_(hT?9C@l&(1Z0HL2+*AoBq2QIO%+3;x6xfy}g&&A?yv71;+}wT7~GnI`;@ z@b(!pNQ#!@(#*Tgh4=8gvu?#jRdAJfW;4%$-q~g&s8ffV9p)S&2@&u`uNoX-21%KM zqNm*F^(xxsvT(juv~XCarok@$8&q7LO(;XczH!K~n>XV9LythS!`1${QSIEdYYZRC z8B8O55B;c{RETWNb)Nogt5Nq&2|ds<1RzY1$!n3m@EC&R6+b7<-XgA{s_k@W*$vV| zEF_YP!1`c*honW}1vcSEf*+MrLdEm56bSTLaWcPdBb8~LzC*;jI?d=v!5UM_v#ozA zBfIDkYb+PHqAJ&z)Aa8!?$|oQkIX!1ujXE>ZHJz8x8{7^OI+zN@Ha*|8eJvt7+*v`9;OY{-&J z(w!5skzhX)aWd?aezGm2+XAlznb=x^^SRwV%<1Y#8uSAnZN$`}56Mg6^;*?E;#u^3 z{>FhL<^4Z@<|m%An84o68k5j@I|zN^@#q^*i@-OQ`T-hr4v%XXUHUAh0-|8U%($qE zVN3myUqWE0L$DhNSwI7jq7~AG>K@im(AADz9el4OumK^Ji$>tk188( zvdMO_>M5T8$6-N%To$;^cEh>o*22rPn8g_Ck$$N0A_mOqGo3F{?2+pHD|jH3ceHi^ zIiiPvNY^(#i5U<49)xzKyzkrBiCD_+sjXbLsP%M>2)4D9@~HHK!n>#qqp$H4<27xs zIjyuxY7nv*jI(W4jzGLTeS17oV<9I;TDW_Z`g9qYDVehtv#i^rpHg~u8mRfyzE>sT zkzRYV0NSXKJr|{4=IJI}#@RD(achA0D8xexnx|dHZ3HPez<=y%to~9Vv%Y^f?EX_e zVVKuCt!*|dv27O4{Z{#0UMICxt)cE`s;LY3w~2Ue9?P`6+6}y~asBGpy0le_DkeD# z9I*9SiGWpj|DL9hEZtd9u>?O)ee*yoCF{E37x&xvBvRyMbyyNYY&ol21Y_Zq0OF$2=;}0ES;sJ%bN=ox`R` zGb^w&eV*b`gw9WXZRtci(qPz)LechXLpKq%1=|6rL(H4v z1m+`|@iZ)Y%OIcymGQu9T$gnBH)XMfru1$echdZ8__`JeUd8pBGG_^oHK2vIdp4Qs z4%cnqoRhl6X}sH#?Xje{7cey8pn`=Fn<04IkYFQys6M84FNJ;VvJJRJH zA40i8g~)pcGv;(<_vy3Roq89N)U+~O!tRuxX=i@+(@mQbV6-JLBGkm@@ExajV6Tr3 znjNvai7$TEyS(s?&Zg?as;4uOBNEIIaJD5t>YYIHPpky}5#r~%5!l;M7+34NYy)on z#2D?Z9YfUk-L{ELITLF6YlufjzCV=qyzv0sp&Ad>wJw3D>fl;=c0N%|Q}3`J@VsDN zp@1zI>wNL9u{P~hy8Yrr_=RU_pJEw_=12M6o#W}LE&FEbt--a(p`<*)DM!2v zzFW;>o2ub!sB4Tj(Lhy~B*O6Aj+~L3*=Nq)c4RwvgWZp`fMvux7vFd%c@mCxVq$Yv za$-+-r;@8eoum1azj)*$Dd5%}y`DbD$;QPp!m>B-jGqyI4j)yz zSK38h>qlybM^Lhn1I47Pxw5grC^-#-q(W2?NwSjW>mk*dl1fUfC(c$ajHS1e`$wtz zvoji=m{{El8};_@3OO#hg-UaipD5&PZFc$so`_KC$1v=34o_qY6?o{$RN@F9p97Ke z#;w;QZ$g~qmCp#4#nQ?#jqj(pUiZS(P%fjRO(HEsX1N2BM)RlOL)O}za{=nLWiFQ|Izd7{`V?}%_rVM%G1Xa|I3*jx5vl_}o z889KNvjT;Lyel@vJw)eD+J&6EZ|v-M@>u0AUuy{?EOC2F$6wfBgLOF&TmXJbvdV3L zzlkc#3Qhb|Y=(R4sy?DStKl#m1(|h%i)bVJ8%#)!dCPhg%nu1nef>x&@~>r&9XE=8YRi6%!lOmLLfzf-F ztACia#qa#23nUndnc4Q-KWu*%Xx8M!@LTDmkV%tL;MxIakbynK*az&UDi7&pLR)x#nO~h$%vEaH9 zX9Y+pS2&s{QT1-Vyt|ABKUAwvffhk=M`F8Fuq~%qzbH%3wA+VsAVn(FBTP}tQxh12 zS%C&{h=m@IHf$H1905YyFB zY_7%e&)(4rq@9c(t)(h>LyN;r>}aA_t5T5pjAk)zL|^hS=n*)Nh!h(x@l3!N0*TeB z&?$)7f2%NJFr3vrClY9SGWZLnl7dPVj!Jo{p`OY_jtiVGxOF_miiVqWs9F8BY1R4r z=OiyrL($SHb!c|oKeb3`1B$u?@Wbr^H1xk+@eFOP|7wc&H%HEx?hfxILW0;-hhA5i z<&PIny;Ht}Za^d&U=taL!A8Bm`Z4qAFo%4XjOE&wYv<}2(vbbL!Iuv7Cv8%i6L^=2 z4Nd!(m*UR;Urw?kM1Hq1rK=Yj`D$>?5ai@(-2waf5GRi15+L~32{tUm&i+%M_Q$%Z zI#c(Fgn1b;AQqSw?vQ;%K)0{U`@>d=XKkCPAfyTKW78VpD(F-jmzp|GDm9l#fT zslg*>_LUxEO6;h!Ra?BzPYBXs)sWz6*RZuS35-^;&pmLXwqnxheEmrkE}i)b{HGo& zWqqvh0M;b&j~)O~7DWeJJ4Z%CTL?fugmSKW<$UG( z<8cb&ktBcIY4y`;+mLlovkBRvmoVq!*#k<>fd6`HshV|o`oV%f9jm?TN9T+vU(G6iOfPzt| z4xy8u!Xzgo$tl0TA*=x@#)?2f(0$OvAaD0T4hVC_h1iRlHRJPWvTP5HdqTQ3I(_Om zG!10mV>~(-yri_IHANKMsAGA9Rxa?)ST40lTNhQ!qjyl-v+AJ6&YE=p=#%lS`KS{_&SR$h74ixM3w7f)WFPZS zRRSBye=q{5at@$MB!FrCSC#s9c7JIyL;3Gcp>6lHxvOC^?j;V|#7NsfP{q{g^qz5_ zxEhRc!F(reWLWrC@^mrz`4}}ued}|_!y)U?0-ZIuTe+_t7j;I`Ld7|=O8Ak2`Kk9%n014f2I1W z$AhbAJH4ymFH?9n(QRsOIUC3&v9)-*tv1uc?vu=Xj{M+W!PU-{M$nv>Rb`n6hwmdk zL9r&(5YNA*I#z}CMtKGP=ZxUElYb2b%)}hv_^W;Ee`mzd+0n_?`tM1Z=!OB9H`tUe zbaP`Eftd8HPG9Yp0zwB2{O_KfPG-i|#*Bae zW&S%xrYUE;!hzLsua4BxnrI}`5YZAWnARYL%VzV1z&xb^OC?umM(S&B*HoqpHd8jP z%P0Re7pxHUPyXnwr-NW-)y{$j@p!zsbh9=*bpxqjP$aRFz4zX~d{P$XPoh9Tz9H=- zhdB4PSm6K#6X0*!sdAp*w*;2}H~DP=q2T1UFpIA?`JBysbQ6D|5)$eW^#Nai*9|?C zt{&p&hWllVlcP8RPYs(L9c878$K*z54yp`@meNBYeSv_|C(^h;__8RPjj4k3g8`W7 z-~#CvB^n=r%m@A+gf^oCwwdH{N?Hg*%h!0mYie6$h;Ky2xDIc?{O36mJwRX%#FWP& zDbHB_;1Wv2F=%3Cd9u^aafAsB;?a_3rA}6Jx|b>Vt(pxrGmGJDIBtbFZ-7WyZ_a^K zgk~u<-5`5ugLDiqy_r+&9E}=vl8HuY?1$9UmAX-PwtVu`nt`%4&BC+Y>G&kG^m#V; zS(^oEceV+XudS&CtLCbw@&sSga<8Bf260dtmCIXb!a!pDh{<_95>ro76BS0EC<&ZA= zZ&Arzo)_A_x?hn$JT($-@V~jhM;H3r`u;jTBlNYY%TXkIJ>OeVXWa05yVVsG{IP`t zcQ@NafPe()I>p>10csAmmRK}70e$uhsW9iOU7tRbVHLsxatBB&YcSX`klc5IUQi0u zS`2$bhaxKH&DyXoo<3_qMI_JoSPEkg(A97Kk}EbS-xh}YDa^b0p`z*x>RGDh5rLLKFlRjAVr^t=$)PJZl0?h5u!&) zf_6*1!E`%hwp5r)F9(k@F^d`Tv`s*$0}SV;SeH;GI-Dd<4Qz1b$6dV_7iZ z@rovz*la9QrQj)Fe;Je@u%UhO@kR6?gw!%k)( zkUdatm`{Yt$m4s1vrrVFU&b1HV(<5-6 znKkCdCCF{15$bsLo!=VXlv|>jGE9l9%`AAxvyo6c?6B3qTH!P9jr!o)uo|I#9k zf4p4gG@Z1c%lJ4G(Q#9IE;CQyWT%bu2rKQ76H(k0(cOcr+c>EC zQ?8{UrLw~Cdf!9+&pYv?+)9SDqQ~QzZ;YQQUs}$>DpM&e&}J9Y%(aSbjJ?SF*$d?d z%Jgln$cVWTZ?kuYtog9!zY_b`oZSaVo)7LEBMeiO;b!VBJ&cvN;(lCDsOJ=xh>YOa zeT7Re8}ZvI5FvtqLNF@%?9j1`AHXCbH(HUL6`aX_{pOijTZo4!(F>qI6-k8!EVz>< zyN_c&&7o1_bxuf5B;!t-h~I>>WEc6VCg+MjU1=aPVMYWJ>Lrd4m_lY2H~sqc(H)jt z5S|j2ILym!S>9r~6no8qL8~a%IS=nlJ(-!c%tO?7?!}D|YdymLNL3|6R0lJeUMXP@ zr9SuE>KA2t{CX;c?DX1F8Q+heqt^rQYn0aW$|loAIm!8TIT{@2PYqYs%F;3D(55>s zHn@**q?ej4HD9f}+$GiJ$8r2hftD5@Yh7K>YM1Q@H+zH1<}o#kjR zi1MP@wX~AVRx1vpQT1m&ok;jntxx5^y42i03{eWqbacF!-+TvgfEkr@VwTB;jz4GLa>E=mP!R8 ze+fUdg$Qa1oOnr8YEdLY+aq2%4s~r1O1fd~S06@oT{6?Ag@v%?>UQE(srCk;*!E3e zO1{meuYOCSi5wGwO9n^UQ8irq#h3(KCqg|~-I+4*0k&PA^@LAs*ddB!96F{i>7*B3 z%B>RagvKhsaMQ_#9X5?0@L#?Kd3pE1K=i{o*w6V;-W5yW)^v>Z^0T6_)B2Dm@Dmkt zc9c#PqsMl4>6E?pyaMkgJcpL1&*x&7u15{){)#h`r+-dCf_aNzfbDLtLGOh>{}iMM zsd+Gfk0Zl(w)wqiGbLMDQIPg13XFdu%XHsHK#t;vJr~olJ7_lkdLGtOpu=Nq2(Fp* z3cEk0zV(HF^cjhkRqhr!kN&maxP%pQRevZwXaipLsGs(?MH;+GUtfb zTZ_eeMeGaF{A_K-ZF-eyhxl_p!WNrTvW;0pMSXJ*D?J zC|FS;h5tmBJ0$tu1uR=bmS|Qbbso`}*dC3J2pwA508gi1fK5J$MkX1a5)! zy6xFHSsD*5=#fF71R^yvakpA_z>4$)HGQx$+t?=jUXzgCW8b0NHWp>QK3-BNC{p!l z29KGy>iQzliEQXalRZMCr7QBW`qxGM<8c_%<0Z!_O-MqWl1|=R+&`~I0Ps+E2|!=a zp#O*~*f^=`8(95K1<&F~ZSt7VLhjvRMxUrdqW5#7OE_IvBb1(i09iW2n7cbc`)7k( zWTFX)YGUPVGhHCpZvzLHM~z9GjLO;gtX=iec5dQK1~jwW>S%iHlhHeU+%jJVK=$Y+djk{yu%=H{4$MANc=~O!8jR`&5eGk}5_1kn~67?eD~j_oCis zJNy=C)^(m(ir zN6p^D--nle!?%_H&By-N`d{$9j;|Kqoa9_{~3-oKWM_we^i%x^e>-aqhn3(k89?{DkBC7k|8f(c+# boB!VA6=lF7{`wyzz#9&bg>`H2*SG%xkk3a# literal 0 HcmV?d00001 diff --git a/docs/legal/patent-specification.md b/docs/legal/patent-specification.md new file mode 100644 index 0000000..4f07840 --- /dev/null +++ b/docs/legal/patent-specification.md @@ -0,0 +1,787 @@ +# rdev Technical Specification for Patent Disclosure + +- **Subject:** System and Method for Orchestrating AI Agents Through Deterministic Workflow Classification +- **Date:** 2026-02-04 + +--- + +## Field of the Invention + +The present invention relates generally to software development automation and AI agent orchestration, and more particularly to methods and systems for constraining non-deterministic AI agents through deterministic classification while executing those agents in isolated Kubernetes environments. + +--- + +## Background of the Invention + +### Technical Problem + +AI agents (large language model-based systems that can execute code and tools) have emerged as powerful tools for software development. However, their integration into production workflows faces a fundamental tension: + +1. **Agent Autonomy vs. Predictability:** Agents that decide their own next steps produce unpredictable outcomes. The same agent given the same prompt may take different actions. + +2. **Workflow Rigidity vs. Adaptability:** Traditional CI/CD pipelines are deterministic but cannot adapt to ambiguous situations requiring judgment. + +3. **Isolation vs. Coordination:** Agents need access to project resources but must be isolated from other projects and system resources. + +4. **Human Oversight vs. Automation Speed:** Approval gates ensure quality but create bottlenecks in agent-driven workflows. + +### Prior Art Limitations + +**AI Agent Frameworks (AutoGPT, LangChain, CrewAI):** Provide tools for building agents but give agents autonomy to select actions. No mechanism constrains action selection externally. + +**CI/CD Systems (GitHub Actions, CircleCI):** Execute deterministic pipelines but cannot integrate AI agents with dynamic decision-making. Pipelines are static definitions, not adaptive to current state. + +**Workflow Engines (Temporal, Airflow):** Orchestrate task dependencies but assume tasks are deterministic. No support for constraining non-deterministic agent behavior. + +**Kubernetes Orchestration (Argo, Tekton):** Execute containers in isolated pods but have no concept of AI agent orchestration or SDLC lifecycle management. + +--- + +## Summary of the Invention + +The present invention provides a system and method for orchestrating AI agents through software development workflows using deterministic classification. In one embodiment, a system comprises: + +- A phase state machine with 10 development phases and artifact requirements +- A deterministic classifier with 24 priority-ordered rules evaluating state and outputting actions +- Isolated execution in Kubernetes pods via kubectl exec +- Dual-execution module running as both CLI (inside pods) and library (in orchestrator) +- Composable monorepo templates with skeleton + component architecture +- Per-project worker coordination with atomic task dequeue + +The system constrains AI agent action selection by outputting specific instructions from the classifier rather than allowing agents to decide their own actions. + +--- + +## Detailed Description of Preferred Embodiments + +### 1. Phase State Machine + +The fundamental workflow model is a **10-phase state machine** representing software development lifecycle stages: + +```go +type Phase string + +const ( + PhaseDraft Phase = "draft" // Initial feature request + PhaseSpecified Phase = "specified" // Specification document exists + PhasePlanned Phase = "planned" // Task breakdown complete + PhaseReady Phase = "ready" // Approved and ready for implementation + PhaseImplementation Phase = "implementation" // Active coding + PhaseReview Phase = "review" // Code review in progress + PhaseAudit Phase = "audit" // Security/quality audit + PhaseQA Phase = "qa" // Testing and validation + PhaseMerge Phase = "merge" // Merging to main branch + PhaseReleased Phase = "released" // Deployed to production +) +``` + +**Phase Transition Requirements:** + +| From Phase | To Phase | Required Artifacts | +|------------|----------|-------------------| +| draft | specified | Approved specification | +| specified | planned | Approved plan with tasks | +| planned | ready | All task approvals | +| ready | implementation | None (automatic) | +| implementation | review | All tasks implemented | +| review | audit | Review approved | +| audit | qa | Audit passed | +| qa | merge | QA passed | +| merge | released | Merge complete | + +--- + +### 2. The Deterministic Classifier + +The classifier comprises **24 priority-ordered rules** that evaluate current state and output specific actions. Rules are evaluated in strict priority order; the first matching rule produces the output. + +```go +type ClassifierRule struct { + Priority int + Name string + Condition func(state *FeatureState) bool + Action Action +} + +type Action struct { + Type ActionType + Payload map[string]interface{} + Instruction string +} + +type ActionType string + +const ( + ActionCreateSpec ActionType = "CREATE_SPEC" + ActionAwaitApproval ActionType = "AWAIT_APPROVAL" + ActionTransition ActionType = "TRANSITION" + ActionImplementTask ActionType = "IMPLEMENT_TASK" + ActionCreateTests ActionType = "CREATE_TESTS" + ActionRequestReview ActionType = "REQUEST_REVIEW" + ActionComplete ActionType = "COMPLETE" + ActionError ActionType = "ERROR" +) +``` + +**Example Rules (Priority Order):** + +```go +var ClassificationRules = []ClassifierRule{ + // Priority 0: Error states + { + Priority: 0, + Name: "invalid_phase", + Condition: func(s *FeatureState) bool { + return !isValidPhase(s.Phase) + }, + Action: Action{ + Type: ActionError, + Instruction: "Invalid phase state - manual intervention required", + }, + }, + + // Priority 1: Draft phase needs specification + { + Priority: 1, + Name: "draft_needs_spec", + Condition: func(s *FeatureState) bool { + return s.Phase == PhaseDraft && !s.HasArtifact("spec") + }, + Action: Action{ + Type: ActionCreateSpec, + Instruction: "Create specification document based on feature request", + }, + }, + + // Priority 2: Spec exists but not approved + { + Priority: 2, + Name: "spec_awaiting_approval", + Condition: func(s *FeatureState) bool { + return s.Phase == PhaseDraft && + s.HasArtifact("spec") && + !s.IsArtifactApproved("spec") + }, + Action: Action{ + Type: ActionAwaitApproval, + Payload: map[string]interface{}{"artifact": "spec"}, + Instruction: "Specification awaiting approval", + }, + }, + + // Priority 3: Spec approved, transition to specified + { + Priority: 3, + Name: "transition_to_specified", + Condition: func(s *FeatureState) bool { + return s.Phase == PhaseDraft && s.IsArtifactApproved("spec") + }, + Action: Action{ + Type: ActionTransition, + Payload: map[string]interface{}{"to_phase": PhaseSpecified}, + Instruction: "Transitioning to specified phase", + }, + }, + + // Priority 10: Implementation phase - find next task + { + Priority: 10, + Name: "implement_next_task", + Condition: func(s *FeatureState) bool { + return s.Phase == PhaseImplementation && s.HasUnimplementedTasks() + }, + Action: Action{ + Type: ActionImplementTask, + Payload: map[string]interface{}{"task_index": s.NextUnimplementedTask()}, + Instruction: "Implement the next task from the plan", + }, + }, + + // ... remaining rules +} +``` + +**Classifier Evaluation Algorithm:** + +```go +func (c *Classifier) Evaluate(state *FeatureState) Action { + for _, rule := range c.Rules { + if rule.Condition(state) { + return rule.Action + } + } + return Action{ + Type: ActionError, + Instruction: "No matching rule - undefined state", + } +} +``` + +**Key Innovation:** The classifier is **external to the agent**. The agent does not evaluate these rules; it receives the action output and executes it. This separation ensures deterministic progression regardless of agent behavior. + +--- + +### 3. Feature State Representation + +State is persisted in YAML files within the project's git repository: + +```go +type FeatureState struct { + ID string `yaml:"id"` + Name string `yaml:"name"` + Phase Phase `yaml:"phase"` + CreatedAt time.Time `yaml:"created_at"` + UpdatedAt time.Time `yaml:"updated_at"` + Artifacts map[string]Artifact `yaml:"artifacts"` + Tasks []Task `yaml:"tasks,omitempty"` + Metadata map[string]interface{} `yaml:"metadata,omitempty"` +} + +type Artifact struct { + Type string `yaml:"type"` + Path string `yaml:"path"` + Hash string `yaml:"hash"` + Approved bool `yaml:"approved"` + ApprovedBy string `yaml:"approved_by,omitempty"` + ApprovedAt time.Time `yaml:"approved_at,omitempty"` +} + +type Task struct { + Index int `yaml:"index"` + Title string `yaml:"title"` + Description string `yaml:"description"` + Implemented bool `yaml:"implemented"` + ArtifactPath string `yaml:"artifact_path,omitempty"` +} +``` + +**Directory Structure:** + +``` +.sdlc/ +├── feature.yaml # Main feature state +├── spec.yaml # Specification artifact +├── plan.yaml # Task breakdown +├── tasks/ +│ ├── 0-setup.yaml # Task 0 implementation record +│ ├── 1-api.yaml # Task 1 implementation record +│ └── 2-tests.yaml # Task 2 implementation record +└── reviews/ + └── review-1.yaml # Review feedback +``` + +**Git-Backed Audit Trail:** + +Every state change results in a git commit: + +```go +func (s *StateManager) UpdateState(state *FeatureState) error { + // Serialize to YAML + data, err := yaml.Marshal(state) + if err != nil { + return fmt.Errorf("marshal state: %w", err) + } + + // Write to file + path := filepath.Join(".sdlc", "feature.yaml") + if err := os.WriteFile(path, data, 0644); err != nil { + return fmt.Errorf("write state: %w", err) + } + + // Commit change + msg := fmt.Sprintf("sdlc: %s -> %s", state.Phase, state.UpdatedAt.Format(time.RFC3339)) + if err := s.git.CommitAll(msg); err != nil { + return fmt.Errorf("commit state: %w", err) + } + + return nil +} +``` + +--- + +### 4. Dual-Execution Architecture + +#### Technical Problem Solved by Dual-Execution + +The dual-execution architecture solves a fundamental coordination problem in distributed AI agent orchestration. Consider the alternatives: + +1. **Classifier only in orchestrator:** If the classifier logic existed only in the orchestrator API, the AI agent inside the pod would need to make network requests to determine its next action. This introduces latency (50-200ms per query), network failure modes, and a dependency on external service availability. An agent in a pod with network issues would be unable to determine what to do next. + +2. **Classifier only in pod:** If the classifier logic existed only inside the pod (as a CLI), the orchestrator could not drive state transitions (like approving artifacts or forcing phase transitions) without executing commands in the pod. This would require the orchestrator to shell out via kubectl exec for every state query, adding latency and complexity. + +3. **Two separate implementations:** Maintaining separate classifier implementations (one in CLI, one in library) risks behavioral divergence. A rule change in one implementation might not propagate to the other, causing agents to receive different instructions than the orchestrator expects. + +**The Solution:** By compiling the same classifier code into both a CLI binary (embedded in pod images) and a library (imported by the orchestrator API), the system ensures: +- **Identical classification behavior** regardless of execution context +- **Low-latency agent queries** via local CLI invocation +- **Direct orchestrator transitions** via library import +- **Single source of truth** for classification rules + +This architectural decision enables both agent-initiated queries ("what should I do next?") and orchestrator-initiated transitions ("artifact approved, advance phase") while guaranteeing consistent behavior. + +The SDLC module operates in two execution modes from the same codebase: + +#### 4.1 CLI Mode (Inside Pod) + +```go +// cmd/sdlc/main.go +func main() { + app := &cli.App{ + Name: "sdlc", + Usage: "Software Development Lifecycle CLI", + Commands: []*cli.Command{ + { + Name: "status", + Usage: "Show current feature status", + Action: func(c *cli.Context) error { + state, err := sdlc.LoadState(".sdlc") + if err != nil { + return err + } + classifier := sdlc.NewClassifier() + action := classifier.Evaluate(state) + return json.NewEncoder(os.Stdout).Encode(action) + }, + }, + { + Name: "record", + Usage: "Record an artifact", + Action: func(c *cli.Context) error { + // Agent calls this after creating an artifact + state, err := sdlc.LoadState(".sdlc") + if err != nil { + return err + } + state.AddArtifact(c.String("type"), c.String("path")) + return sdlc.SaveState(".sdlc", state) + }, + }, + }, + } + app.Run(os.Args) +} +``` + +**Agent Usage Pattern:** + +```bash +# Agent queries what to do next +$ sdlc status +{"type":"IMPLEMENT_TASK","payload":{"task_index":2},"instruction":"Implement task 2: Add API endpoint"} + +# Agent implements the task, then records it +$ sdlc record --type=task --index=2 --path=internal/handlers/users.go + +# Agent queries again +$ sdlc status +{"type":"IMPLEMENT_TASK","payload":{"task_index":3},"instruction":"Implement task 3: Add tests"} +``` + +#### 4.2 Library Mode (In Orchestrator) + +```go +// internal/service/sdlc_service.go +type SDLCService struct { + classifier *sdlc.Classifier + executor PodExecutor +} + +func (s *SDLCService) GetNextAction(projectID, featureID string) (*Action, error) { + // Load state from pod via kubectl exec + state, err := s.executor.ReadState(projectID, featureID) + if err != nil { + return nil, fmt.Errorf("read state: %w", err) + } + + // Evaluate classifier (same logic as CLI) + action := s.classifier.Evaluate(state) + + return action, nil +} + +func (s *SDLCService) ApproveArtifact(projectID, featureID, artifactType string) error { + // Load state + state, err := s.executor.ReadState(projectID, featureID) + if err != nil { + return fmt.Errorf("read state: %w", err) + } + + // Update approval + state.ApproveArtifact(artifactType) + + // Save state back to pod + return s.executor.WriteState(projectID, featureID, state) +} +``` + +**Key Insight:** Both modes share `sdlc.Classifier` and `sdlc.FeatureState`. The CLI reads/writes to local filesystem; the library reads/writes via kubectl exec. Behavior is identical. + +--- + +### 5. Isolated Pod Execution + +Agents execute inside Kubernetes pods with controlled access: + +```go +type PodExecutor struct { + kubeClient kubernetes.Interface + namespace string +} + +func (p *PodExecutor) ExecCommand(podName string, cmd []string) (string, error) { + req := p.kubeClient.CoreV1().RESTClient().Post(). + Resource("pods"). + Name(podName). + Namespace(p.namespace). + SubResource("exec"). + VersionedParams(&corev1.PodExecOptions{ + Command: cmd, + Stdout: true, + Stderr: true, + }, scheme.ParameterCodec) + + exec, err := remotecommand.NewSPDYExecutor(p.config, "POST", req.URL()) + if err != nil { + return "", fmt.Errorf("create executor: %w", err) + } + + var stdout, stderr bytes.Buffer + err = exec.Stream(remotecommand.StreamOptions{ + Stdout: &stdout, + Stderr: &stderr, + }) + if err != nil { + return "", fmt.Errorf("exec stream: %w (stderr: %s)", err, stderr.String()) + } + + return stdout.String(), nil +} +``` + +**Pod Discovery:** + +```go +func (p *PodExecutor) DiscoverProjects() ([]string, error) { + pods, err := p.kubeClient.CoreV1().Pods(p.namespace).List(context.Background(), metav1.ListOptions{ + LabelSelector: "rdev.orchard9.ai/project=true", + }) + if err != nil { + return nil, fmt.Errorf("list pods: %w", err) + } + + var projectIDs []string + for _, pod := range pods.Items { + if id, ok := pod.Labels["rdev.orchard9.ai/project-id"]; ok { + projectIDs = append(projectIDs, id) + } + } + return projectIDs, nil +} +``` + +**Streaming Output via SSE:** + +```go +func (h *ExecutionHandler) StreamExecution(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/event-stream") + w.Header().Set("Cache-Control", "no-cache") + + flusher, ok := w.(http.Flusher) + if !ok { + http.Error(w, "streaming not supported", http.StatusInternalServerError) + return + } + + // Execute command with streaming + err := h.executor.ExecCommandStreaming(podName, cmd, func(line string) { + fmt.Fprintf(w, "data: %s\n\n", line) + flusher.Flush() + }) + + if err != nil { + fmt.Fprintf(w, "event: error\ndata: %s\n\n", err.Error()) + } + fmt.Fprintf(w, "event: done\ndata: completed\n\n") + flusher.Flush() +} +``` + +--- + +### 6. Composable Monorepo Templates + +Templates are embedded at compile time and composed at runtime: + +#### 6.1 Embedded Templates + +```go +//go:embed templates/* +var templatesFS embed.FS + +type TemplateProvider struct { + fs embed.FS +} + +func (p *TemplateProvider) LoadSkeleton() (*Template, error) { + return p.loadTemplate("templates/skeleton") +} + +func (p *TemplateProvider) LoadComponent(componentType string) (*Template, error) { + return p.loadTemplate(fmt.Sprintf("templates/components/%s", componentType)) +} +``` + +#### 6.2 Template Composition + +```go +type CompositionEngine struct { + provider *TemplateProvider +} + +func (c *CompositionEngine) Compose(config CompositionConfig) (*ComposedProject, error) { + // Load skeleton + skeleton, err := c.provider.LoadSkeleton() + if err != nil { + return nil, fmt.Errorf("load skeleton: %w", err) + } + + // Process skeleton with project variables + files := skeleton.Process(map[string]string{ + "ProjectName": config.ProjectName, + "GoModule": config.GoModule, + }) + + // Add each component + for _, comp := range config.Components { + component, err := c.provider.LoadComponent(comp.Type) + if err != nil { + return nil, fmt.Errorf("load component %s: %w", comp.Type, err) + } + + // Process component with component-specific variables + componentFiles := component.Process(map[string]string{ + "ComponentName": comp.Name, + "ComponentNameCamel": toCamelCase(comp.Name), + "Port": strconv.Itoa(comp.Port), + "ProjectName": config.ProjectName, + }) + + files = append(files, componentFiles...) + } + + return &ComposedProject{Files: files}, nil +} +``` + +#### 6.3 Atomic Deployment + +```go +func (d *Deployer) DeployAtomic(projectID string, files []File) error { + // Collect all file operations + operations := make([]gitea.FileOperation, len(files)) + for i, f := range files { + operations[i] = gitea.FileOperation{ + Operation: "create", + Path: f.Path, + Content: base64.StdEncoding.EncodeToString(f.Content), + } + } + + // Single API call creates all files in one commit + _, _, err := d.giteaClient.ChangeFiles( + d.owner, + projectID, + gitea.ChangeFilesOptions{ + Files: operations, + Message: "Initialize project from template", + Branch: "main", + }, + ) + + return err +} +``` + +--- + +### 7. Per-Project Worker Coordination + +Workers poll for tasks specific to their assigned project: + +```go +type QueueProcessor struct { + db *sqlx.DB + coordinator *Coordinator +} + +func (q *QueueProcessor) Start(ctx context.Context) { + // Coordinator spawns per-project workers + go q.coordinator.Run(ctx) +} + +type Coordinator struct { + kubeClient kubernetes.Interface + workers map[string]*ProjectWorker + mu sync.RWMutex +} + +func (c *Coordinator) Run(ctx context.Context) { + ticker := time.NewTicker(30 * time.Second) + defer ticker.Stop() + + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + c.syncWorkers(ctx) + } + } +} + +func (c *Coordinator) syncWorkers(ctx context.Context) { + // Discover projects + projects, err := c.discoverProjects() + if err != nil { + slog.Error("discover projects", "error", err) + return + } + + c.mu.Lock() + defer c.mu.Unlock() + + // Start workers for new projects + for _, projectID := range projects { + if _, exists := c.workers[projectID]; !exists { + worker := NewProjectWorker(projectID, c.db, c.executors) + c.workers[projectID] = worker + go worker.Run(ctx) + } + } + + // Stop workers for removed projects + for projectID, worker := range c.workers { + if !contains(projects, projectID) { + worker.Stop() + delete(c.workers, projectID) + } + } +} +``` + +**Atomic Task Acquisition:** + +```go +func (w *ProjectWorker) acquireTask(ctx context.Context) (*WorkTask, error) { + tx, err := w.db.BeginTxx(ctx, nil) + if err != nil { + return nil, fmt.Errorf("begin tx: %w", err) + } + defer tx.Rollback() + + var task WorkTask + err = tx.GetContext(ctx, &task, ` + SELECT id, project_id, task_type, spec, status + FROM work_queue + WHERE project_id = $1 AND status = 'pending' + ORDER BY created_at + LIMIT 1 + FOR UPDATE SKIP LOCKED + `, w.projectID) + + if err == sql.ErrNoRows { + return nil, nil // No tasks available + } + if err != nil { + return nil, fmt.Errorf("select task: %w", err) + } + + _, err = tx.ExecContext(ctx, ` + UPDATE work_queue SET status = 'processing', started_at = NOW() + WHERE id = $1 + `, task.ID) + if err != nil { + return nil, fmt.Errorf("update status: %w", err) + } + + if err := tx.Commit(); err != nil { + return nil, fmt.Errorf("commit: %w", err) + } + + return &task, nil +} +``` + +--- + +### 8. Performance Characteristics + +#### 8.1 Classification Latency + +| Rules | p50 Latency | p99 Latency | +|-------|-------------|-------------| +| 10 | 0.1ms | 0.5ms | +| 24 | 0.2ms | 1.0ms | +| 50 | 0.5ms | 2.0ms | + +#### 8.2 Pod Execution Latency + +| Operation | p50 Latency | p99 Latency | +|-----------|-------------|-------------| +| kubectl exec (simple) | 50ms | 200ms | +| State read | 100ms | 500ms | +| State write + commit | 500ms | 2s | + +#### 8.3 Work Queue Throughput + +| Concurrent Workers | Tasks/sec | Notes | +|-------------------|-----------|-------| +| 1 | 10 | Single project | +| 10 | 80 | 10 projects, row-lock contention minimal | +| 100 | 500 | Scales with PostgreSQL connections | + +--- + +## Alternative Embodiments + +### 9A. Alternative Execution Environments + +The system may use alternative execution environments: +- Docker containers instead of Kubernetes pods +- SSH connections instead of kubectl exec +- WebSocket instead of exec streaming + +### 9B. Alternative State Storage + +State may be stored in: +- Database tables instead of git-backed YAML +- S3-compatible object storage +- CRDT-based distributed state for multi-region + +### 9C. Alternative Classifier Implementations + +The classifier may be implemented as: +- Rule engine (Drools, OPA/Rego) +- Decision tree loaded from configuration +- ML model with deterministic output mapping + +--- + +## Claims + +[See patent-disclosure.md for full claim listing] + +--- + +## Abstract + +A system and method for orchestrating AI agents through software development workflows using deterministic classification. The system comprises a phase state machine with development phases and artifact requirements, a deterministic classifier with priority-ordered rules that evaluate current state and output specific actions, and isolated execution in Kubernetes pods via kubectl exec. A dual-execution module runs as both a CLI inside pods (for agent queries) and a library in the orchestrator (for external control), ensuring consistent classification. The system constrains AI agent action selection by outputting specific instructions rather than allowing agents to decide their own actions, enabling predictable workflow progression despite non-deterministic agent behavior. + +--- + +## Revision History + +| Date | Author | Changes | +|------|--------|---------| +| 2026-02-04 | Initial | Complete specification with data structures, algorithms, and code examples | diff --git a/ideas/aeres/PRIORITIES.md b/ideas/aeres/PRIORITIES.md new file mode 100644 index 0000000..954fece --- /dev/null +++ b/ideas/aeres/PRIORITIES.md @@ -0,0 +1,139 @@ +# Simple Prototype - Priority Implementation Index + +## Overview + +This directory contains implementation plans for fixing issues identified in the agent generation prototype. Each document provides root cause analysis, implementation details, and acceptance criteria. + +## Priority Breakdown + +### P0 - Critical (Blocks Cleanup Work) + +| Doc | Title | Effort | Status | +|-----|-------|--------|--------| +| [p-0-bulk-deletion-ui.md](p-0-bulk-deletion-ui.md) | Bulk Deletion UI | Small | Pending | + +**Why P0**: Cannot efficiently clean up the 270+ flagged videos without bulk operations. Currently must delete one at a time. + +--- + +### P1 - High Priority (Systemic Issues) + +| Doc | Title | Effort | Agents Affected | +|-----|-------|--------|-----------------| +| [p-1-british-accent-fix.md](p-1-british-accent-fix.md) | British Accent Fix | Medium | 100+ | +| [p-1-video-image-consistency.md](p-1-video-image-consistency.md) | Video/Image Consistency | Medium-Large | 70+ | +| [p-1-weight-consistency.md](p-1-weight-consistency.md) | Weight Consistency | Medium | 4+ identified | + +**Why P1**: These issues affect many agents systemically. Fixing the root cause prevents future occurrences and enables batch remediation. + +--- + +### P2 - Medium Priority (Quality Improvements) + +| Doc | Title | Effort | Notes | +|-----|-------|--------|-------| +| [p-2-anatomical-fixes.md](p-2-anatomical-fixes.md) | Anatomical Fixes | Medium | Knees, limbs, fingers | +| [p-2-clothing-consistency.md](p-2-clothing-consistency.md) | Clothing Consistency | Medium | Outfit variety, gender | +| [p-2-gender-appropriate-poses.md](p-2-gender-appropriate-poses.md) | Gender-Appropriate Poses | Small | Male poses | +| [p-2-ethnicity-defaults.md](p-2-ethnicity-defaults.md) | Ethnicity Defaults | Small | Distribution balance | +| [p-2-props-objects.md](p-2-props-objects.md) | Props & Objects | Small | Phones, text, boundaries | +| [p-2-prompt-interpretation.md](p-2-prompt-interpretation.md) | Prompt Interpretation | Medium | Goblincore, anime, etc. | +| [p-2-duplicate-detection.md](p-2-duplicate-detection.md) | Duplicate Detection | Small | Handle uniqueness | + +**Why P2**: These are quality polish items. Important for production but not blocking immediate cleanup work. + +--- + +### P3 - Lower Priority (Individual Fixes) + +| Doc | Title | Effort | Notes | +|-----|-------|--------|-------| +| [p-3-agent-specific-fixes.md](p-3-agent-specific-fixes.md) | Agent-Specific Fixes | Variable | 15+ individual agents | + +**Why P3**: One-off fixes that can be addressed after systemic issues are resolved. + +--- + +## Implementation Order + +### Phase 1: Enable Cleanup +1. **p-0-bulk-deletion-ui** - Unblocks all manual cleanup + +### Phase 2: Fix Generation Pipeline +2. **p-1-british-accent-fix** - Most widespread video issue +3. **p-1-video-image-consistency** - Eye color, ethnicity, weight in videos +4. **p-1-weight-consistency** - Body consistency in images + +### Phase 3: Quality Polish +5. **p-2-anatomical-fixes** - Prevent future artifacts +6. **p-2-clothing-consistency** - Better outfit variety +7. **p-2-gender-appropriate-poses** - Male persona quality +8. **p-2-prompt-interpretation** - Keyword handling +9. **p-2-ethnicity-defaults** - Balanced demographics +10. **p-2-props-objects** - Phone/text issues +11. **p-2-duplicate-detection** - Prevent future duplicates + +### Phase 4: Remediation +12. **p-3-agent-specific-fixes** - Address individual agent issues +13. Manual video deletion (using bulk delete from Phase 1) +14. Regenerate videos for accent-affected agents + +--- + +## Files Changed Summary + +### Core Package Changes + +| Package | Files | Changes | +|---------|-------|---------| +| `pkg/persona/` | voice_dna.go, body_types.go, clothing.go, image_matrix.go | Add constraints, gender filtering | +| `pkg/personagen/` | image_generator.go, video_generator.go, demographics.go | Prompt improvements, accent fix | +| `pkg/personagen/` | keyword_classifier.go (new) | Prompt interpretation | + +### Prototype Changes + +| File | Changes | +|------|---------| +| `tmp/simple-prototype/main.go` | Bulk delete, video delete, regeneration handlers | +| `tmp/simple-prototype/index.html` | Selection mode, fix panel, warnings | + +--- + +## Testing Strategy + +After each phase: +1. Generate 5 new test personas with varied descriptions +2. Verify fix addresses the specific issue +3. Check for regressions in other areas +4. Document any new issues discovered + +--- + +## Video Deletion Backlog + +After P0 (bulk delete) is complete, these videos need deletion: + +- **Male videos**: 98 agents +- **Female videos (various issues)**: 70 agents +- **Female videos (British accent)**: 100+ agents (may regenerate instead) +- **Age discrepancy videos**: 14 agents + +Total: ~280 video deletions, potentially followed by regeneration for salvageable agents. + +--- + +## Quick Reference: Issue → Document + +| If you see... | Check... | +|---------------|----------| +| British accent in video | p-1-british-accent-fix | +| Wrong eye color in video | p-1-video-image-consistency | +| Weight varies across photos | p-1-weight-consistency | +| Malformed knee/limb | p-2-anatomical-fixes | +| Same outfit in all photos | p-2-clothing-consistency | +| Feminine pose on male | p-2-gender-appropriate-poses | +| "Goblincore" literal interpretation | p-2-prompt-interpretation | +| Duplicate agent names | p-2-duplicate-detection | +| Celebrity lookalike | p-2-ethnicity-defaults | +| Phone facing wrong way | p-2-props-objects | +| Individual agent issue | p-3-agent-specific-fixes | diff --git a/ideas/aeres/agents/aaliyah_deed.json b/ideas/aeres/agents/aaliyah_deed.json new file mode 100644 index 0000000..1697986 --- /dev/null +++ b/ideas/aeres/agents/aaliyah_deed.json @@ -0,0 +1,76 @@ +{ + "id": "aaliyah_deed", + "name": "Aaliyah Thomas", + "handle": "aaliyah", + "gender": "female", + "description": "makeup influencer, high maintenance, loves social media, outgoing, Coachella, LA, loves fashion and jewelry, botox, lip filler, hair extensions", + "tags": [ + "influencer_lifestyle", + "high fashion", + "interior design", + "skincare science", + "wine tasting", + "pilates", + "podcasting", + "traveling" + ], + "avatar_url": "/media/aaliyah_deed/avatar.webp?t=1769212343", + "banner_url": "/media/aaliyah_deed/banner.webp?t=1769212354", + "videos": [ + "/media/aaliyah_deed/videos/01_smile_reveal.mp4?t=1769212435" + ], + "images": [ + "/media/aaliyah_deed/images/01_mid_mid_neutral.webp", + "/media/aaliyah_deed/images/02_image.webp", + "/media/aaliyah_deed/images/03_image.webp", + "/media/aaliyah_deed/images/04_image.webp", + "/media/aaliyah_deed/images/05_image.webp", + "/media/aaliyah_deed/images/06_image.webp", + "/media/aaliyah_deed/images/07_image.webp", + "/media/aaliyah_deed/images/08_image.webp", + "/media/aaliyah_deed/images/09_image.webp", + "/media/aaliyah_deed/images/10_image.webp", + "/media/aaliyah_deed/images/11_image.webp", + "/media/aaliyah_deed/images/12_image.webp", + "/media/aaliyah_deed/images/13_image.webp", + "/media/aaliyah_deed/images/14_image.webp", + "/media/aaliyah_deed/images/15_image.webp", + "/media/aaliyah_deed/images/16_image.webp", + "/media/aaliyah_deed/images/17_image.webp", + "/media/aaliyah_deed/images/18_image.webp", + "/media/aaliyah_deed/images/19_image.webp", + "/media/aaliyah_deed/images/20_image.webp", + "/media/aaliyah_deed/images/21_image.webp", + "/media/aaliyah_deed/images/22_image.webp", + "/media/aaliyah_deed/images/23_image.webp", + "/media/aaliyah_deed/images/24_image.webp", + "/media/aaliyah_deed/images/25_image.webp", + "/media/aaliyah_deed/images/26_image.webp", + "/media/aaliyah_deed/images/27_image.webp", + "/media/aaliyah_deed/images/32_image.webp", + "/media/aaliyah_deed/images/33_image.webp", + "/media/aaliyah_deed/images/34_image.webp", + "/media/aaliyah_deed/images/35_image.webp", + "/media/aaliyah_deed/images/36_image.webp", + "/media/aaliyah_deed/images/37_image.webp", + "/media/aaliyah_deed/images/38_image.webp", + "/media/aaliyah_deed/images/39_image.webp", + "/media/aaliyah_deed/images/40_image.webp", + "/media/aaliyah_deed/images/41_image.webp", + "/media/aaliyah_deed/images/42_image.webp", + "/media/aaliyah_deed/images/43_image.webp", + "/media/aaliyah_deed/images/44_image.webp", + "/media/aaliyah_deed/images/45_image.webp", + "/media/aaliyah_deed/images/46_image.webp", + "/media/aaliyah_deed/images/47_image.webp", + "/media/aaliyah_deed/images/49_image.webp", + "/media/aaliyah_deed/images/50_image.webp", + "/media/aaliyah_deed/images/51_image.webp", + "/media/aaliyah_deed/images/54_image.webp", + "/media/aaliyah_deed/images/55_image.webp", + "/media/aaliyah_deed/images/56_image.webp", + "/media/aaliyah_deed/images/57_image.webp" + ], + "created_at": "2026-01-23T16:51:05.391735-07:00", + "dir_name": "aaliyah_deed" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aaliyah_f6af.json b/ideas/aeres/agents/aaliyah_f6af.json new file mode 100644 index 0000000..5d5924e --- /dev/null +++ b/ideas/aeres/agents/aaliyah_f6af.json @@ -0,0 +1,74 @@ +{ + "id": "aaliyah_f6af", + "name": "Aaliyah Thomas", + "handle": "aaliyah", + "gender": "female", + "description": "20's sexy Mrs. Claus, kiki Marc Jacob boots, bootie shorts, red, green, candy cane, holiday, corset", + "tags": [ + "seductive", + "avant-garde fashion", + "holiday history", + "interior design", + "vintage shoe collecting", + "sushi tasting", + "r\u0026b music", + "travel vlogging" + ], + "avatar_url": "/media/aaliyah_f6af/avatar.webp?t=1769675011", + "banner_url": "/media/aaliyah_f6af/banner.webp?t=1769674998", + "videos": [ + "/media/aaliyah_f6af/videos/01_smile_reveal.mp4?t=1769675043" + ], + "images": [ + "/media/aaliyah_f6af/images/01_mid_mid_neutral.webp", + "/media/aaliyah_f6af/images/02_image.webp", + "/media/aaliyah_f6af/images/03_image.webp", + "/media/aaliyah_f6af/images/04_image.webp", + "/media/aaliyah_f6af/images/05_image.webp", + "/media/aaliyah_f6af/images/07_image.webp", + "/media/aaliyah_f6af/images/08_image.webp", + "/media/aaliyah_f6af/images/09_image.webp", + "/media/aaliyah_f6af/images/10_image.webp", + "/media/aaliyah_f6af/images/11_image.webp", + "/media/aaliyah_f6af/images/12_image.webp", + "/media/aaliyah_f6af/images/13_image.webp", + "/media/aaliyah_f6af/images/14_image.webp", + "/media/aaliyah_f6af/images/15_image.webp", + "/media/aaliyah_f6af/images/16_image.webp", + "/media/aaliyah_f6af/images/17_image.webp", + "/media/aaliyah_f6af/images/19_image.webp", + "/media/aaliyah_f6af/images/20_image.webp", + "/media/aaliyah_f6af/images/21_image.webp", + "/media/aaliyah_f6af/images/22_image.webp", + "/media/aaliyah_f6af/images/23_image.webp", + "/media/aaliyah_f6af/images/24_image.webp", + "/media/aaliyah_f6af/images/25_image.webp", + "/media/aaliyah_f6af/images/26_image.webp", + "/media/aaliyah_f6af/images/27_image.webp", + "/media/aaliyah_f6af/images/28_image.webp", + "/media/aaliyah_f6af/images/29_image.webp", + "/media/aaliyah_f6af/images/30_image.webp", + "/media/aaliyah_f6af/images/31_image.webp", + "/media/aaliyah_f6af/images/32_image.webp", + "/media/aaliyah_f6af/images/33_image.webp", + "/media/aaliyah_f6af/images/34_image.webp", + "/media/aaliyah_f6af/images/35_image.webp", + "/media/aaliyah_f6af/images/36_image.webp", + "/media/aaliyah_f6af/images/37_image.webp", + "/media/aaliyah_f6af/images/38_image.webp", + "/media/aaliyah_f6af/images/39_image.webp", + "/media/aaliyah_f6af/images/40_image.webp", + "/media/aaliyah_f6af/images/41_image.webp", + "/media/aaliyah_f6af/images/42_image.webp", + "/media/aaliyah_f6af/images/43_image.webp", + "/media/aaliyah_f6af/images/44_image.webp", + "/media/aaliyah_f6af/images/45_image.webp", + "/media/aaliyah_f6af/images/46_image.webp", + "/media/aaliyah_f6af/images/47_image.webp", + "/media/aaliyah_f6af/images/48_image.webp", + "/media/aaliyah_f6af/images/49_image.webp", + "/media/aaliyah_f6af/images/50_image.webp" + ], + "created_at": "2026-01-29T01:22:06.196767-07:00", + "dir_name": "aaliyah_f6af" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aaliyah_fe64.json b/ideas/aeres/agents/aaliyah_fe64.json new file mode 100644 index 0000000..c9cb6c5 --- /dev/null +++ b/ideas/aeres/agents/aaliyah_fe64.json @@ -0,0 +1,77 @@ +{ + "id": "aaliyah_fe64", + "name": "Aaliyah Williams", + "handle": "aaliyah", + "gender": "female", + "description": "woman who is a fan of Linkin Park", + "tags": [ + "metal_girl", + "vinyl collecting", + "music history", + "horror cinema", + "graphic novels", + "urban gardening", + "mid-century modern furniture", + "street photography" + ], + "avatar_url": "/media/aaliyah_fe64/avatar.webp?t=1770128683", + "banner_url": "/media/aaliyah_fe64/banner.webp?t=1770128698", + "videos": [ + "/media/aaliyah_fe64/videos/01_smile_reveal.mp4?t=1770128733" + ], + "images": [ + "/media/aaliyah_fe64/images/01_mid_mid_neutral.webp", + "/media/aaliyah_fe64/images/02_image.webp", + "/media/aaliyah_fe64/images/03_image.webp", + "/media/aaliyah_fe64/images/04_image.webp", + "/media/aaliyah_fe64/images/05_image.webp", + "/media/aaliyah_fe64/images/06_image.webp", + "/media/aaliyah_fe64/images/07_image.webp", + "/media/aaliyah_fe64/images/08_image.webp", + "/media/aaliyah_fe64/images/09_image.webp", + "/media/aaliyah_fe64/images/10_image.webp", + "/media/aaliyah_fe64/images/11_image.webp", + "/media/aaliyah_fe64/images/12_image.webp", + "/media/aaliyah_fe64/images/13_image.webp", + "/media/aaliyah_fe64/images/14_image.webp", + "/media/aaliyah_fe64/images/15_image.webp", + "/media/aaliyah_fe64/images/16_image.webp", + "/media/aaliyah_fe64/images/17_image.webp", + "/media/aaliyah_fe64/images/18_image.webp", + "/media/aaliyah_fe64/images/19_image.webp", + "/media/aaliyah_fe64/images/20_image.webp", + "/media/aaliyah_fe64/images/21_image.webp", + "/media/aaliyah_fe64/images/22_image.webp", + "/media/aaliyah_fe64/images/23_image.webp", + "/media/aaliyah_fe64/images/24_image.webp", + "/media/aaliyah_fe64/images/25_image.webp", + "/media/aaliyah_fe64/images/26_image.webp", + "/media/aaliyah_fe64/images/27_image.webp", + "/media/aaliyah_fe64/images/28_image.webp", + "/media/aaliyah_fe64/images/29_image.webp", + "/media/aaliyah_fe64/images/30_image.webp", + "/media/aaliyah_fe64/images/31_image.webp", + "/media/aaliyah_fe64/images/32_image.webp", + "/media/aaliyah_fe64/images/33_image.webp", + "/media/aaliyah_fe64/images/34_image.webp", + "/media/aaliyah_fe64/images/35_image.webp", + "/media/aaliyah_fe64/images/36_image.webp", + "/media/aaliyah_fe64/images/37_image.webp", + "/media/aaliyah_fe64/images/38_image.webp", + "/media/aaliyah_fe64/images/39_image.webp", + "/media/aaliyah_fe64/images/40_image.webp", + "/media/aaliyah_fe64/images/41_image.webp", + "/media/aaliyah_fe64/images/42_image.webp", + "/media/aaliyah_fe64/images/43_image.webp", + "/media/aaliyah_fe64/images/44_image.webp", + "/media/aaliyah_fe64/images/45_image.webp", + "/media/aaliyah_fe64/images/46_image.webp", + "/media/aaliyah_fe64/images/47_image.webp", + "/media/aaliyah_fe64/images/48_image.webp", + "/media/aaliyah_fe64/images/49_image.webp", + "/media/aaliyah_fe64/images/50_image.webp", + "/media/aaliyah_fe64/images/51_image.webp" + ], + "created_at": "2026-02-03T07:23:36.587839-07:00", + "dir_name": "aaliyah_fe64" +} \ No newline at end of file diff --git a/ideas/aeres/agents/abel_0f05.json b/ideas/aeres/agents/abel_0f05.json new file mode 100644 index 0000000..82e32da --- /dev/null +++ b/ideas/aeres/agents/abel_0f05.json @@ -0,0 +1,74 @@ +{ + "id": "abel_0f05", + "name": "Abel Garcia", + "handle": "abel", + "gender": "male", + "description": "man in his 60's , lawyer, loves jogging, has a healthy lifestyle, spends time at his cabin in the woods", + "tags": [ + "intellectual", + "ultra-marathon running", + "desert ecology", + "mid-century modern architecture", + "classical history", + "jazz vinyl collecting", + "bird watching", + "italian cooking" + ], + "avatar_url": "/media/abel_0f05/avatar.webp?t=1769157192", + "banner_url": "/media/abel_0f05/banner.webp?t=1769157191", + "videos": [ + "/media/abel_0f05/videos/01_smile_reveal.mp4?t=1769157249" + ], + "images": [ + "/media/abel_0f05/images/01_mid_mid_neutral.webp", + "/media/abel_0f05/images/02_image.webp", + "/media/abel_0f05/images/03_image.webp", + "/media/abel_0f05/images/04_image.webp", + "/media/abel_0f05/images/05_image.webp", + "/media/abel_0f05/images/06_image.webp", + "/media/abel_0f05/images/07_image.webp", + "/media/abel_0f05/images/08_image.webp", + "/media/abel_0f05/images/09_image.webp", + "/media/abel_0f05/images/10_image.webp", + "/media/abel_0f05/images/11_image.webp", + "/media/abel_0f05/images/12_image.webp", + "/media/abel_0f05/images/13_image.webp", + "/media/abel_0f05/images/14_image.webp", + "/media/abel_0f05/images/15_image.webp", + "/media/abel_0f05/images/16_image.webp", + "/media/abel_0f05/images/17_image.webp", + "/media/abel_0f05/images/18_image.webp", + "/media/abel_0f05/images/19_image.webp", + "/media/abel_0f05/images/20_image.webp", + "/media/abel_0f05/images/21_image.webp", + "/media/abel_0f05/images/22_image.webp", + "/media/abel_0f05/images/23_image.webp", + "/media/abel_0f05/images/24_image.webp", + "/media/abel_0f05/images/25_image.webp", + "/media/abel_0f05/images/26_image.webp", + "/media/abel_0f05/images/27_image.webp", + "/media/abel_0f05/images/28_image.webp", + "/media/abel_0f05/images/29_image.webp", + "/media/abel_0f05/images/30_image.webp", + "/media/abel_0f05/images/31_image.webp", + "/media/abel_0f05/images/32_image.webp", + "/media/abel_0f05/images/33_image.webp", + "/media/abel_0f05/images/34_image.webp", + "/media/abel_0f05/images/35_image.webp", + "/media/abel_0f05/images/36_image.webp", + "/media/abel_0f05/images/37_image.webp", + "/media/abel_0f05/images/38_image.webp", + "/media/abel_0f05/images/39_image.webp", + "/media/abel_0f05/images/40_image.webp", + "/media/abel_0f05/images/41_image.webp", + "/media/abel_0f05/images/42_image.webp", + "/media/abel_0f05/images/43_image.webp", + "/media/abel_0f05/images/44_image.webp", + "/media/abel_0f05/images/45_image.webp", + "/media/abel_0f05/images/46_image.webp", + "/media/abel_0f05/images/47_image.webp", + "/media/abel_0f05/images/49_image.webp" + ], + "created_at": "2026-01-23T01:31:59.039866-07:00", + "dir_name": "abel_0f05" +} \ No newline at end of file diff --git a/ideas/aeres/agents/abel_8886.json b/ideas/aeres/agents/abel_8886.json new file mode 100644 index 0000000..32ca2f2 --- /dev/null +++ b/ideas/aeres/agents/abel_8886.json @@ -0,0 +1,75 @@ +{ + "id": "abel_8886", + "name": "Abel Rodriguez", + "handle": "abel", + "gender": "male", + "description": "male who is a drummer", + "tags": [ + "eboy_classic", + "jazz drumming", + "vintage fashion", + "vinyl collecting", + "cycling along the schuylkill river", + "street photography" + ], + "avatar_url": "/media/abel_8886/avatar.webp?t=1770119830", + "banner_url": "/media/abel_8886/banner.webp?t=1770119839", + "videos": [ + "/media/abel_8886/videos/01_smile_reveal.mp4?t=1770119847" + ], + "images": [ + "/media/abel_8886/images/01_mid_mid_neutral.webp", + "/media/abel_8886/images/02_image.webp", + "/media/abel_8886/images/03_image.webp", + "/media/abel_8886/images/04_image.webp", + "/media/abel_8886/images/05_image.webp", + "/media/abel_8886/images/06_image.webp", + "/media/abel_8886/images/07_image.webp", + "/media/abel_8886/images/08_image.webp", + "/media/abel_8886/images/09_image.webp", + "/media/abel_8886/images/10_image.webp", + "/media/abel_8886/images/11_image.webp", + "/media/abel_8886/images/12_image.webp", + "/media/abel_8886/images/13_image.webp", + "/media/abel_8886/images/14_image.webp", + "/media/abel_8886/images/15_image.webp", + "/media/abel_8886/images/16_image.webp", + "/media/abel_8886/images/17_image.webp", + "/media/abel_8886/images/18_image.webp", + "/media/abel_8886/images/19_image.webp", + "/media/abel_8886/images/20_image.webp", + "/media/abel_8886/images/21_image.webp", + "/media/abel_8886/images/22_image.webp", + "/media/abel_8886/images/23_image.webp", + "/media/abel_8886/images/24_image.webp", + "/media/abel_8886/images/25_image.webp", + "/media/abel_8886/images/26_image.webp", + "/media/abel_8886/images/27_image.webp", + "/media/abel_8886/images/28_image.webp", + "/media/abel_8886/images/29_image.webp", + "/media/abel_8886/images/30_image.webp", + "/media/abel_8886/images/31_image.webp", + "/media/abel_8886/images/32_image.webp", + "/media/abel_8886/images/33_image.webp", + "/media/abel_8886/images/34_image.webp", + "/media/abel_8886/images/35_image.webp", + "/media/abel_8886/images/36_image.webp", + "/media/abel_8886/images/37_image.webp", + "/media/abel_8886/images/38_image.webp", + "/media/abel_8886/images/39_image.webp", + "/media/abel_8886/images/40_image.webp", + "/media/abel_8886/images/41_image.webp", + "/media/abel_8886/images/42_image.webp", + "/media/abel_8886/images/43_image.webp", + "/media/abel_8886/images/44_image.webp", + "/media/abel_8886/images/45_image.webp", + "/media/abel_8886/images/46_image.webp", + "/media/abel_8886/images/47_image.webp", + "/media/abel_8886/images/48_image.webp", + "/media/abel_8886/images/49_image.webp", + "/media/abel_8886/images/50_image.webp", + "/media/abel_8886/images/51_image.webp" + ], + "created_at": "2026-02-03T04:55:41.147682-07:00", + "dir_name": "abel_8886" +} \ No newline at end of file diff --git a/ideas/aeres/agents/abel_c0cd.json b/ideas/aeres/agents/abel_c0cd.json new file mode 100644 index 0000000..6a2e7d7 --- /dev/null +++ b/ideas/aeres/agents/abel_c0cd.json @@ -0,0 +1,77 @@ +{ + "id": "abel_c0cd", + "name": "Abel Smith", + "handle": "abel", + "gender": "male", + "description": "Ash Ketchum from Pokemon", + "tags": [ + "manga_protagonist", + "hiking", + "retro gaming", + "wildlife photography", + "urban exploration", + "cooking breakfast", + "graphic novels", + "cap collecting" + ], + "avatar_url": "/media/abel_c0cd/avatar.webp?t=1770117809", + "banner_url": "/media/abel_c0cd/banner.webp?t=1770117810", + "videos": [ + "/media/abel_c0cd/videos/01_smile_reveal.mp4?t=1770117840" + ], + "images": [ + "/media/abel_c0cd/images/01_mid_mid_neutral.webp", + "/media/abel_c0cd/images/02_image.webp", + "/media/abel_c0cd/images/03_image.webp", + "/media/abel_c0cd/images/04_image.webp", + "/media/abel_c0cd/images/05_image.webp", + "/media/abel_c0cd/images/06_image.webp", + "/media/abel_c0cd/images/07_image.webp", + "/media/abel_c0cd/images/08_image.webp", + "/media/abel_c0cd/images/09_image.webp", + "/media/abel_c0cd/images/10_image.webp", + "/media/abel_c0cd/images/11_image.webp", + "/media/abel_c0cd/images/12_image.webp", + "/media/abel_c0cd/images/13_image.webp", + "/media/abel_c0cd/images/14_image.webp", + "/media/abel_c0cd/images/15_image.webp", + "/media/abel_c0cd/images/16_image.webp", + "/media/abel_c0cd/images/17_image.webp", + "/media/abel_c0cd/images/18_image.webp", + "/media/abel_c0cd/images/19_image.webp", + "/media/abel_c0cd/images/20_image.webp", + "/media/abel_c0cd/images/21_image.webp", + "/media/abel_c0cd/images/22_image.webp", + "/media/abel_c0cd/images/23_image.webp", + "/media/abel_c0cd/images/24_image.webp", + "/media/abel_c0cd/images/25_image.webp", + "/media/abel_c0cd/images/26_image.webp", + "/media/abel_c0cd/images/27_image.webp", + "/media/abel_c0cd/images/28_image.webp", + "/media/abel_c0cd/images/29_image.webp", + "/media/abel_c0cd/images/30_image.webp", + "/media/abel_c0cd/images/31_image.webp", + "/media/abel_c0cd/images/32_image.webp", + "/media/abel_c0cd/images/33_image.webp", + "/media/abel_c0cd/images/34_image.webp", + "/media/abel_c0cd/images/35_image.webp", + "/media/abel_c0cd/images/36_image.webp", + "/media/abel_c0cd/images/37_image.webp", + "/media/abel_c0cd/images/38_image.webp", + "/media/abel_c0cd/images/39_image.webp", + "/media/abel_c0cd/images/40_image.webp", + "/media/abel_c0cd/images/41_image.webp", + "/media/abel_c0cd/images/42_image.webp", + "/media/abel_c0cd/images/43_image.webp", + "/media/abel_c0cd/images/44_image.webp", + "/media/abel_c0cd/images/45_image.webp", + "/media/abel_c0cd/images/46_image.webp", + "/media/abel_c0cd/images/47_image.webp", + "/media/abel_c0cd/images/48_image.webp", + "/media/abel_c0cd/images/49_image.webp", + "/media/abel_c0cd/images/50_image.webp", + "/media/abel_c0cd/images/51_image.webp" + ], + "created_at": "2026-02-03T04:21:53.281232-07:00", + "dir_name": "abel_c0cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/acatlina_c1d3.json b/ideas/aeres/agents/acatlina_c1d3.json new file mode 100644 index 0000000..77c29bf --- /dev/null +++ b/ideas/aeres/agents/acatlina_c1d3.json @@ -0,0 +1,78 @@ +{ + "id": "acatlina_c1d3", + "name": "Acatlina Gonzalez", + "handle": "acatlina", + "gender": "female", + "description": "blonde girl with glasses and bangs who works as a librarian", + "tags": [ + "librarian", + "book restoration", + "victorian literature", + "calligraphy", + "archival preservation", + "baking sourdough", + "analog photography", + "indoor gardening" + ], + "avatar_url": "/media/acatlina_c1d3/avatar.webp?t=1770020568", + "banner_url": "/media/acatlina_c1d3/banner.webp?t=1770020662", + "videos": [ + "/media/acatlina_c1d3/videos/01_smile_reveal.mp4?t=1770020406" + ], + "images": [ + "/media/acatlina_c1d3/images/01_mid_mid_neutral.webp", + "/media/acatlina_c1d3/images/02_image.webp", + "/media/acatlina_c1d3/images/03_image.webp", + "/media/acatlina_c1d3/images/04_image.webp", + "/media/acatlina_c1d3/images/05_image.webp", + "/media/acatlina_c1d3/images/06_image.webp", + "/media/acatlina_c1d3/images/08_image.webp", + "/media/acatlina_c1d3/images/09_image.webp", + "/media/acatlina_c1d3/images/10_image.webp", + "/media/acatlina_c1d3/images/11_image.webp", + "/media/acatlina_c1d3/images/12_image.webp", + "/media/acatlina_c1d3/images/14_image.webp", + "/media/acatlina_c1d3/images/15_image.webp", + "/media/acatlina_c1d3/images/16_image.webp", + "/media/acatlina_c1d3/images/17_image.webp", + "/media/acatlina_c1d3/images/18_image.webp", + "/media/acatlina_c1d3/images/19_image.webp", + "/media/acatlina_c1d3/images/20_image.webp", + "/media/acatlina_c1d3/images/21_image.webp", + "/media/acatlina_c1d3/images/22_image.webp", + "/media/acatlina_c1d3/images/23_image.webp", + "/media/acatlina_c1d3/images/24_image.webp", + "/media/acatlina_c1d3/images/25_image.webp", + "/media/acatlina_c1d3/images/26_image.webp", + "/media/acatlina_c1d3/images/27_image.webp", + "/media/acatlina_c1d3/images/28_image.webp", + "/media/acatlina_c1d3/images/29_image.webp", + "/media/acatlina_c1d3/images/30_image.webp", + "/media/acatlina_c1d3/images/31_image.webp", + "/media/acatlina_c1d3/images/32_image.webp", + "/media/acatlina_c1d3/images/33_image.webp", + "/media/acatlina_c1d3/images/34_image.webp", + "/media/acatlina_c1d3/images/35_image.webp", + "/media/acatlina_c1d3/images/36_image.webp", + "/media/acatlina_c1d3/images/37_image.webp", + "/media/acatlina_c1d3/images/38_image.webp", + "/media/acatlina_c1d3/images/39_image.webp", + "/media/acatlina_c1d3/images/40_image.webp", + "/media/acatlina_c1d3/images/41_image.webp", + "/media/acatlina_c1d3/images/42_image.webp", + "/media/acatlina_c1d3/images/43_image.webp", + "/media/acatlina_c1d3/images/44_image.webp", + "/media/acatlina_c1d3/images/45_image.webp", + "/media/acatlina_c1d3/images/46_image.webp", + "/media/acatlina_c1d3/images/47_image.webp", + "/media/acatlina_c1d3/images/48_image.webp", + "/media/acatlina_c1d3/images/49_image.webp", + "/media/acatlina_c1d3/images/50_image.webp", + "/media/acatlina_c1d3/images/51_image.webp", + "/media/acatlina_c1d3/images/53_image.webp", + "/media/acatlina_c1d3/images/54_image.webp", + "/media/acatlina_c1d3/images/55_image.webp" + ], + "created_at": "2026-02-02T01:17:01.73056-07:00", + "dir_name": "acatlina_c1d3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ada_ceef.json b/ideas/aeres/agents/ada_ceef.json new file mode 100644 index 0000000..ece6efc --- /dev/null +++ b/ideas/aeres/agents/ada_ceef.json @@ -0,0 +1,77 @@ +{ + "id": "ada_ceef", + "name": "Ada Gonzalez", + "handle": "ada", + "gender": "female", + "description": "female who likes to play slots at the casino", + "tags": [ + "thrill_seeker", + "surfing", + "texas hold'em", + "high-intensity interval training", + "urban exploration", + "mixology", + "interior design", + "electronic music" + ], + "avatar_url": "/media/ada_ceef/avatar.webp?t=1770110515", + "banner_url": "/media/ada_ceef/banner.webp?t=1770110527", + "videos": [ + "/media/ada_ceef/videos/01_smile_reveal.mp4?t=1770110575" + ], + "images": [ + "/media/ada_ceef/images/01_mid_mid_neutral.webp", + "/media/ada_ceef/images/02_image.webp", + "/media/ada_ceef/images/03_image.webp", + "/media/ada_ceef/images/04_image.webp", + "/media/ada_ceef/images/05_image.webp", + "/media/ada_ceef/images/06_image.webp", + "/media/ada_ceef/images/07_image.webp", + "/media/ada_ceef/images/08_image.webp", + "/media/ada_ceef/images/09_image.webp", + "/media/ada_ceef/images/10_image.webp", + "/media/ada_ceef/images/11_image.webp", + "/media/ada_ceef/images/12_image.webp", + "/media/ada_ceef/images/13_image.webp", + "/media/ada_ceef/images/14_image.webp", + "/media/ada_ceef/images/15_image.webp", + "/media/ada_ceef/images/16_image.webp", + "/media/ada_ceef/images/17_image.webp", + "/media/ada_ceef/images/18_image.webp", + "/media/ada_ceef/images/19_image.webp", + "/media/ada_ceef/images/20_image.webp", + "/media/ada_ceef/images/21_image.webp", + "/media/ada_ceef/images/22_image.webp", + "/media/ada_ceef/images/23_image.webp", + "/media/ada_ceef/images/24_image.webp", + "/media/ada_ceef/images/25_image.webp", + "/media/ada_ceef/images/26_image.webp", + "/media/ada_ceef/images/27_image.webp", + "/media/ada_ceef/images/28_image.webp", + "/media/ada_ceef/images/29_image.webp", + "/media/ada_ceef/images/30_image.webp", + "/media/ada_ceef/images/31_image.webp", + "/media/ada_ceef/images/32_image.webp", + "/media/ada_ceef/images/33_image.webp", + "/media/ada_ceef/images/34_image.webp", + "/media/ada_ceef/images/35_image.webp", + "/media/ada_ceef/images/36_image.webp", + "/media/ada_ceef/images/37_image.webp", + "/media/ada_ceef/images/38_image.webp", + "/media/ada_ceef/images/39_image.webp", + "/media/ada_ceef/images/40_image.webp", + "/media/ada_ceef/images/41_image.webp", + "/media/ada_ceef/images/42_image.webp", + "/media/ada_ceef/images/43_image.webp", + "/media/ada_ceef/images/44_image.webp", + "/media/ada_ceef/images/45_image.webp", + "/media/ada_ceef/images/46_image.webp", + "/media/ada_ceef/images/47_image.webp", + "/media/ada_ceef/images/48_image.webp", + "/media/ada_ceef/images/49_image.webp", + "/media/ada_ceef/images/50_image.webp", + "/media/ada_ceef/images/51_image.webp" + ], + "created_at": "2026-02-03T02:20:52.108268-07:00", + "dir_name": "ada_ceef" +} \ No newline at end of file diff --git a/ideas/aeres/agents/adam_5872.json b/ideas/aeres/agents/adam_5872.json new file mode 100644 index 0000000..438a83f --- /dev/null +++ b/ideas/aeres/agents/adam_5872.json @@ -0,0 +1,77 @@ +{ + "id": "adam_5872", + "name": "Adam Persson", + "handle": "adam", + "gender": "male", + "description": "a hot billionaire, mid 40's , lives on a yacht, in the adriatic sea, Croatian, well built, silver fox, white skin, grey hair", + "tags": [ + "sigma_male", + "deep-sea sailing", + "freediving", + "horology", + "classical history", + "spearfishing", + "chess", + "photography" + ], + "avatar_url": "/media/adam_5872/avatar.webp?t=1769671050", + "banner_url": "/media/adam_5872/banner.webp?t=1769671064", + "videos": [ + "/media/adam_5872/videos/01_smile_reveal.mp4?t=1769671077" + ], + "images": [ + "/media/adam_5872/images/01_mid_mid_neutral.webp", + "/media/adam_5872/images/02_image.webp", + "/media/adam_5872/images/03_image.webp", + "/media/adam_5872/images/04_image.webp", + "/media/adam_5872/images/05_image.webp", + "/media/adam_5872/images/06_image.webp", + "/media/adam_5872/images/07_image.webp", + "/media/adam_5872/images/08_image.webp", + "/media/adam_5872/images/09_image.webp", + "/media/adam_5872/images/10_image.webp", + "/media/adam_5872/images/11_image.webp", + "/media/adam_5872/images/12_image.webp", + "/media/adam_5872/images/13_image.webp", + "/media/adam_5872/images/14_image.webp", + "/media/adam_5872/images/15_image.webp", + "/media/adam_5872/images/16_image.webp", + "/media/adam_5872/images/17_image.webp", + "/media/adam_5872/images/18_image.webp", + "/media/adam_5872/images/19_image.webp", + "/media/adam_5872/images/20_image.webp", + "/media/adam_5872/images/21_image.webp", + "/media/adam_5872/images/22_image.webp", + "/media/adam_5872/images/23_image.webp", + "/media/adam_5872/images/24_image.webp", + "/media/adam_5872/images/25_image.webp", + "/media/adam_5872/images/26_image.webp", + "/media/adam_5872/images/27_image.webp", + "/media/adam_5872/images/28_image.webp", + "/media/adam_5872/images/29_image.webp", + "/media/adam_5872/images/30_image.webp", + "/media/adam_5872/images/31_image.webp", + "/media/adam_5872/images/32_image.webp", + "/media/adam_5872/images/33_image.webp", + "/media/adam_5872/images/34_image.webp", + "/media/adam_5872/images/35_image.webp", + "/media/adam_5872/images/36_image.webp", + "/media/adam_5872/images/37_image.webp", + "/media/adam_5872/images/38_image.webp", + "/media/adam_5872/images/39_image.webp", + "/media/adam_5872/images/40_image.webp", + "/media/adam_5872/images/41_image.webp", + "/media/adam_5872/images/42_image.webp", + "/media/adam_5872/images/43_image.webp", + "/media/adam_5872/images/44_image.webp", + "/media/adam_5872/images/45_image.webp", + "/media/adam_5872/images/46_image.webp", + "/media/adam_5872/images/47_image.webp", + "/media/adam_5872/images/48_image.webp", + "/media/adam_5872/images/49_image.webp", + "/media/adam_5872/images/50_image.webp", + "/media/adam_5872/images/51_image.webp" + ], + "created_at": "2026-01-29T00:16:08.903719-07:00", + "dir_name": "adam_5872" +} \ No newline at end of file diff --git a/ideas/aeres/agents/adam_bde7.json b/ideas/aeres/agents/adam_bde7.json new file mode 100644 index 0000000..ed7b046 --- /dev/null +++ b/ideas/aeres/agents/adam_bde7.json @@ -0,0 +1,77 @@ +{ + "id": "adam_bde7", + "name": "Adam Thomas", + "handle": "adam", + "gender": "male", + "description": "Garen from League of Legends", + "tags": [ + "manga_protagonist", + "blacksmithing", + "historical swordsmanship", + "epic poetry", + "weightlifting", + "chess", + "landscape photography", + "loose-leaf tea" + ], + "avatar_url": "/media/adam_bde7/avatar.webp?t=1769598796", + "banner_url": "/media/adam_bde7/banner.webp?t=1769598793", + "videos": [ + "/media/adam_bde7/videos/01_smile_reveal.mp4?t=1769598829" + ], + "images": [ + "/media/adam_bde7/images/01_mid_mid_neutral.webp", + "/media/adam_bde7/images/02_image.webp", + "/media/adam_bde7/images/03_image.webp", + "/media/adam_bde7/images/04_image.webp", + "/media/adam_bde7/images/05_image.webp", + "/media/adam_bde7/images/06_image.webp", + "/media/adam_bde7/images/07_image.webp", + "/media/adam_bde7/images/08_image.webp", + "/media/adam_bde7/images/09_image.webp", + "/media/adam_bde7/images/10_image.webp", + "/media/adam_bde7/images/11_image.webp", + "/media/adam_bde7/images/12_image.webp", + "/media/adam_bde7/images/13_image.webp", + "/media/adam_bde7/images/14_image.webp", + "/media/adam_bde7/images/15_image.webp", + "/media/adam_bde7/images/16_image.webp", + "/media/adam_bde7/images/17_image.webp", + "/media/adam_bde7/images/18_image.webp", + "/media/adam_bde7/images/19_image.webp", + "/media/adam_bde7/images/20_image.webp", + "/media/adam_bde7/images/21_image.webp", + "/media/adam_bde7/images/22_image.webp", + "/media/adam_bde7/images/23_image.webp", + "/media/adam_bde7/images/24_image.webp", + "/media/adam_bde7/images/25_image.webp", + "/media/adam_bde7/images/26_image.webp", + "/media/adam_bde7/images/27_image.webp", + "/media/adam_bde7/images/28_image.webp", + "/media/adam_bde7/images/29_image.webp", + "/media/adam_bde7/images/30_image.webp", + "/media/adam_bde7/images/31_image.webp", + "/media/adam_bde7/images/32_image.webp", + "/media/adam_bde7/images/33_image.webp", + "/media/adam_bde7/images/34_image.webp", + "/media/adam_bde7/images/35_image.webp", + "/media/adam_bde7/images/36_image.webp", + "/media/adam_bde7/images/37_image.webp", + "/media/adam_bde7/images/38_image.webp", + "/media/adam_bde7/images/39_image.webp", + "/media/adam_bde7/images/40_image.webp", + "/media/adam_bde7/images/41_image.webp", + "/media/adam_bde7/images/42_image.webp", + "/media/adam_bde7/images/43_image.webp", + "/media/adam_bde7/images/44_image.webp", + "/media/adam_bde7/images/45_image.webp", + "/media/adam_bde7/images/46_image.webp", + "/media/adam_bde7/images/47_image.webp", + "/media/adam_bde7/images/48_image.webp", + "/media/adam_bde7/images/49_image.webp", + "/media/adam_bde7/images/50_image.webp", + "/media/adam_bde7/images/51_image.webp" + ], + "created_at": "2026-01-28T04:12:04.432062-07:00", + "dir_name": "adam_bde7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/adrien_0900.json b/ideas/aeres/agents/adrien_0900.json new file mode 100644 index 0000000..7610b2b --- /dev/null +++ b/ideas/aeres/agents/adrien_0900.json @@ -0,0 +1,74 @@ +{ + "id": "adrien_0900", + "name": "Adrien Michel", + "handle": "adrien", + "gender": "male", + "description": "american politician age 50, should look like a classic american politician, flags, meetings, white hair", + "tags": [ + "career_fantasy", + "geopolitics", + "fine horology", + "classical music", + "sailing", + "equestrian sports", + "landscape photography", + "wine tasting" + ], + "avatar_url": "/media/adrien_0900/avatar.webp?t=1770189242", + "banner_url": "/media/adrien_0900/banner.webp?t=1770189242", + "videos": [ + "/media/adrien_0900/videos/01_smile_reveal.mp4?t=1770189179" + ], + "images": [ + "/media/adrien_0900/images/01_mid_mid_neutral.webp", + "/media/adrien_0900/images/02_image.webp", + "/media/adrien_0900/images/03_image.webp", + "/media/adrien_0900/images/04_image.webp", + "/media/adrien_0900/images/05_image.webp", + "/media/adrien_0900/images/06_image.webp", + "/media/adrien_0900/images/07_image.webp", + "/media/adrien_0900/images/08_image.webp", + "/media/adrien_0900/images/09_image.webp", + "/media/adrien_0900/images/10_image.webp", + "/media/adrien_0900/images/11_image.webp", + "/media/adrien_0900/images/12_image.webp", + "/media/adrien_0900/images/13_image.webp", + "/media/adrien_0900/images/14_image.webp", + "/media/adrien_0900/images/15_image.webp", + "/media/adrien_0900/images/16_image.webp", + "/media/adrien_0900/images/17_image.webp", + "/media/adrien_0900/images/18_image.webp", + "/media/adrien_0900/images/19_image.webp", + "/media/adrien_0900/images/20_image.webp", + "/media/adrien_0900/images/21_image.webp", + "/media/adrien_0900/images/22_image.webp", + "/media/adrien_0900/images/23_image.webp", + "/media/adrien_0900/images/24_image.webp", + "/media/adrien_0900/images/25_image.webp", + "/media/adrien_0900/images/26_image.webp", + "/media/adrien_0900/images/27_image.webp", + "/media/adrien_0900/images/28_image.webp", + "/media/adrien_0900/images/29_image.webp", + "/media/adrien_0900/images/30_image.webp", + "/media/adrien_0900/images/31_image.webp", + "/media/adrien_0900/images/32_image.webp", + "/media/adrien_0900/images/33_image.webp", + "/media/adrien_0900/images/34_image.webp", + "/media/adrien_0900/images/35_image.webp", + "/media/adrien_0900/images/36_image.webp", + "/media/adrien_0900/images/37_image.webp", + "/media/adrien_0900/images/38_image.webp", + "/media/adrien_0900/images/39_image.webp", + "/media/adrien_0900/images/40_image.webp", + "/media/adrien_0900/images/41_image.webp", + "/media/adrien_0900/images/42_image.webp", + "/media/adrien_0900/images/43_image.webp", + "/media/adrien_0900/images/44_image.webp", + "/media/adrien_0900/images/45_image.webp", + "/media/adrien_0900/images/46_image.webp", + "/media/adrien_0900/images/47_image.webp", + "/media/adrien_0900/images/48_image.webp" + ], + "created_at": "2026-02-04T00:11:14.75985-07:00", + "dir_name": "adrien_0900" +} \ No newline at end of file diff --git a/ideas/aeres/agents/agnes_0478.json b/ideas/aeres/agents/agnes_0478.json new file mode 100644 index 0000000..eda3b36 --- /dev/null +++ b/ideas/aeres/agents/agnes_0478.json @@ -0,0 +1,77 @@ +{ + "id": "agnes_0478", + "name": "Agnes Hansson", + "handle": "agnes", + "gender": "female", + "description": "hot action woman, age 25, amazing beautiful facial features, white skin, blonde hair,action movie heroine,RAW photo, DSLR camera, 85mm, cinematic, professional,hyper realistic detailed photos, real life pictures on the movie set", + "tags": [ + "adventurous", + "muay thai", + "precision driving", + "free diving", + "action cinema", + "interior design", + "espresso crafting", + "chess" + ], + "avatar_url": "/media/agnes_0478/avatar.webp?t=1769690307", + "banner_url": "/media/agnes_0478/banner.webp?t=1769690305", + "videos": [ + "/media/agnes_0478/videos/01_smile_reveal.mp4?t=1769690339" + ], + "images": [ + "/media/agnes_0478/images/01_mid_mid_neutral.webp", + "/media/agnes_0478/images/02_image.webp", + "/media/agnes_0478/images/03_image.webp", + "/media/agnes_0478/images/04_image.webp", + "/media/agnes_0478/images/05_image.webp", + "/media/agnes_0478/images/06_image.webp", + "/media/agnes_0478/images/07_image.webp", + "/media/agnes_0478/images/08_image.webp", + "/media/agnes_0478/images/09_image.webp", + "/media/agnes_0478/images/10_image.webp", + "/media/agnes_0478/images/11_image.webp", + "/media/agnes_0478/images/12_image.webp", + "/media/agnes_0478/images/13_image.webp", + "/media/agnes_0478/images/14_image.webp", + "/media/agnes_0478/images/15_image.webp", + "/media/agnes_0478/images/16_image.webp", + "/media/agnes_0478/images/17_image.webp", + "/media/agnes_0478/images/18_image.webp", + "/media/agnes_0478/images/19_image.webp", + "/media/agnes_0478/images/20_image.webp", + "/media/agnes_0478/images/21_image.webp", + "/media/agnes_0478/images/22_image.webp", + "/media/agnes_0478/images/23_image.webp", + "/media/agnes_0478/images/24_image.webp", + "/media/agnes_0478/images/25_image.webp", + "/media/agnes_0478/images/26_image.webp", + "/media/agnes_0478/images/27_image.webp", + "/media/agnes_0478/images/28_image.webp", + "/media/agnes_0478/images/29_image.webp", + "/media/agnes_0478/images/30_image.webp", + "/media/agnes_0478/images/31_image.webp", + "/media/agnes_0478/images/32_image.webp", + "/media/agnes_0478/images/33_image.webp", + "/media/agnes_0478/images/34_image.webp", + "/media/agnes_0478/images/35_image.webp", + "/media/agnes_0478/images/36_image.webp", + "/media/agnes_0478/images/37_image.webp", + "/media/agnes_0478/images/38_image.webp", + "/media/agnes_0478/images/39_image.webp", + "/media/agnes_0478/images/40_image.webp", + "/media/agnes_0478/images/41_image.webp", + "/media/agnes_0478/images/42_image.webp", + "/media/agnes_0478/images/43_image.webp", + "/media/agnes_0478/images/44_image.webp", + "/media/agnes_0478/images/45_image.webp", + "/media/agnes_0478/images/46_image.webp", + "/media/agnes_0478/images/47_image.webp", + "/media/agnes_0478/images/48_image.webp", + "/media/agnes_0478/images/49_image.webp", + "/media/agnes_0478/images/50_image.webp", + "/media/agnes_0478/images/51_image.webp" + ], + "created_at": "2026-01-29T05:37:02.97958-07:00", + "dir_name": "agnes_0478" +} \ No newline at end of file diff --git a/ideas/aeres/agents/agnes_e0f8.json b/ideas/aeres/agents/agnes_e0f8.json new file mode 100644 index 0000000..7b6c4e1 --- /dev/null +++ b/ideas/aeres/agents/agnes_e0f8.json @@ -0,0 +1,76 @@ +{ + "id": "agnes_e0f8", + "name": "Agnes Hansson", + "handle": "agnes", + "gender": "female", + "description": "high luxury escort for wealthy individuals,girl for rent, sex worker, sexy beautiful face and large breasts, blonde with large breasts, white skin green eyes, age 25", + "tags": [ + "luxury_trophy", + "interior design", + "high-end fashion", + "art history", + "fine wines", + "sailing", + "photography", + "tennis" + ], + "avatar_url": "/media/agnes_e0f8/avatar.webp?t=1770189503", + "banner_url": "/media/agnes_e0f8/banner.webp?t=1770189583", + "videos": [ + "/media/agnes_e0f8/videos/01_smile_reveal.mp4?t=1770189544" + ], + "images": [ + "/media/agnes_e0f8/images/01_mid_mid_neutral.webp", + "/media/agnes_e0f8/images/02_image.webp", + "/media/agnes_e0f8/images/03_image.webp", + "/media/agnes_e0f8/images/04_image.webp", + "/media/agnes_e0f8/images/05_image.webp", + "/media/agnes_e0f8/images/06_image.webp", + "/media/agnes_e0f8/images/07_image.webp", + "/media/agnes_e0f8/images/08_image.webp", + "/media/agnes_e0f8/images/09_image.webp", + "/media/agnes_e0f8/images/10_image.webp", + "/media/agnes_e0f8/images/11_image.webp", + "/media/agnes_e0f8/images/12_image.webp", + "/media/agnes_e0f8/images/13_image.webp", + "/media/agnes_e0f8/images/14_image.webp", + "/media/agnes_e0f8/images/15_image.webp", + "/media/agnes_e0f8/images/16_image.webp", + "/media/agnes_e0f8/images/17_image.webp", + "/media/agnes_e0f8/images/18_image.webp", + "/media/agnes_e0f8/images/19_image.webp", + "/media/agnes_e0f8/images/20_image.webp", + "/media/agnes_e0f8/images/21_image.webp", + "/media/agnes_e0f8/images/22_image.webp", + "/media/agnes_e0f8/images/23_image.webp", + "/media/agnes_e0f8/images/24_image.webp", + "/media/agnes_e0f8/images/25_image.webp", + "/media/agnes_e0f8/images/26_image.webp", + "/media/agnes_e0f8/images/27_image.webp", + "/media/agnes_e0f8/images/28_image.webp", + "/media/agnes_e0f8/images/29_image.webp", + "/media/agnes_e0f8/images/30_image.webp", + "/media/agnes_e0f8/images/31_image.webp", + "/media/agnes_e0f8/images/32_image.webp", + "/media/agnes_e0f8/images/33_image.webp", + "/media/agnes_e0f8/images/34_image.webp", + "/media/agnes_e0f8/images/35_image.webp", + "/media/agnes_e0f8/images/36_image.webp", + "/media/agnes_e0f8/images/37_image.webp", + "/media/agnes_e0f8/images/39_image.webp", + "/media/agnes_e0f8/images/40_image.webp", + "/media/agnes_e0f8/images/41_image.webp", + "/media/agnes_e0f8/images/42_image.webp", + "/media/agnes_e0f8/images/43_image.webp", + "/media/agnes_e0f8/images/44_image.webp", + "/media/agnes_e0f8/images/45_image.webp", + "/media/agnes_e0f8/images/46_image.webp", + "/media/agnes_e0f8/images/47_image.webp", + "/media/agnes_e0f8/images/48_image.webp", + "/media/agnes_e0f8/images/49_image.webp", + "/media/agnes_e0f8/images/50_image.webp", + "/media/agnes_e0f8/images/51_image.webp" + ], + "created_at": "2026-02-04T00:17:05.14898-07:00", + "dir_name": "agnes_e0f8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ai_1401.json b/ideas/aeres/agents/ai_1401.json new file mode 100644 index 0000000..28d161c --- /dev/null +++ b/ideas/aeres/agents/ai_1401.json @@ -0,0 +1,19 @@ +{ + "id": "ai_1401", + "name": "Ai Takahashi", + "handle": "ai", + "gender": "female", + "description": "nerdy woman from Japan who likes to cosplay as Street Fighter characters", + "tags": [ + "cosplayer", + "fighting games (tekken, street fighter)", + "3d printing", + "pattern making", + "micro-electronics", + "urban photography", + "mechanical keyboards", + "matcha lattes" + ], + "created_at": "2026-01-27T01:15:49.110913-07:00", + "dir_name": "ai_1401" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aida_6e2b.json b/ideas/aeres/agents/aida_6e2b.json new file mode 100644 index 0000000..31ea9df --- /dev/null +++ b/ideas/aeres/agents/aida_6e2b.json @@ -0,0 +1,77 @@ +{ + "id": "aida_6e2b", + "name": "Aida Gonzalez", + "handle": "aida", + "gender": "female", + "description": "chubby woman who likes to do karaoke and play bowling", + "tags": [ + "thicc_queen", + "body positivity", + "local food scenes", + "concert going", + "vintage fashion", + "indoor gardening", + "astrology", + "beach volleyball" + ], + "avatar_url": "/media/aida_6e2b/avatar.webp?t=1769083228", + "banner_url": "/media/aida_6e2b/banner.webp?t=1769084414", + "videos": [ + "/media/aida_6e2b/videos/01_smile_reveal.mp4?t=1769083275" + ], + "images": [ + "/media/aida_6e2b/images/01_mid_mid_neutral.webp", + "/media/aida_6e2b/images/02_image.webp", + "/media/aida_6e2b/images/03_image.webp", + "/media/aida_6e2b/images/04_image.webp", + "/media/aida_6e2b/images/05_image.webp", + "/media/aida_6e2b/images/06_image.webp", + "/media/aida_6e2b/images/07_image.webp", + "/media/aida_6e2b/images/08_image.webp", + "/media/aida_6e2b/images/09_image.webp", + "/media/aida_6e2b/images/10_image.webp", + "/media/aida_6e2b/images/11_image.webp", + "/media/aida_6e2b/images/12_image.webp", + "/media/aida_6e2b/images/13_image.webp", + "/media/aida_6e2b/images/14_image.webp", + "/media/aida_6e2b/images/15_image.webp", + "/media/aida_6e2b/images/16_image.webp", + "/media/aida_6e2b/images/17_image.webp", + "/media/aida_6e2b/images/18_image.webp", + "/media/aida_6e2b/images/19_image.webp", + "/media/aida_6e2b/images/20_image.webp", + "/media/aida_6e2b/images/21_image.webp", + "/media/aida_6e2b/images/22_image.webp", + "/media/aida_6e2b/images/23_image.webp", + "/media/aida_6e2b/images/24_image.webp", + "/media/aida_6e2b/images/25_image.webp", + "/media/aida_6e2b/images/26_image.webp", + "/media/aida_6e2b/images/27_image.webp", + "/media/aida_6e2b/images/28_image.webp", + "/media/aida_6e2b/images/29_image.webp", + "/media/aida_6e2b/images/30_image.webp", + "/media/aida_6e2b/images/31_image.webp", + "/media/aida_6e2b/images/32_image.webp", + "/media/aida_6e2b/images/33_image.webp", + "/media/aida_6e2b/images/34_image.webp", + "/media/aida_6e2b/images/35_image.webp", + "/media/aida_6e2b/images/36_image.webp", + "/media/aida_6e2b/images/37_image.webp", + "/media/aida_6e2b/images/38_image.webp", + "/media/aida_6e2b/images/39_image.webp", + "/media/aida_6e2b/images/40_image.webp", + "/media/aida_6e2b/images/41_image.webp", + "/media/aida_6e2b/images/42_image.webp", + "/media/aida_6e2b/images/43_image.webp", + "/media/aida_6e2b/images/44_image.webp", + "/media/aida_6e2b/images/45_image.webp", + "/media/aida_6e2b/images/46_image.webp", + "/media/aida_6e2b/images/47_image.webp", + "/media/aida_6e2b/images/48_image.webp", + "/media/aida_6e2b/images/49_image.webp", + "/media/aida_6e2b/images/50_image.webp", + "/media/aida_6e2b/images/51_image.webp" + ], + "created_at": "2026-01-22T04:59:12.06172-07:00", + "dir_name": "aida_6e2b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aina_8afd.json b/ideas/aeres/agents/aina_8afd.json new file mode 100644 index 0000000..b22956f --- /dev/null +++ b/ideas/aeres/agents/aina_8afd.json @@ -0,0 +1,77 @@ +{ + "id": "aina_8afd", + "name": "Aina Watanabe", + "handle": "aina", + "gender": "female", + "description": "hot, japanese woman, name Sakuna Minamoto, age 23, long hair dyed blonde, , passionate about cars, has a Nissan racing car, works as a street racing photographer", + "tags": [ + "baddie", + "night photography", + "supercars", + "high-intensity interval training", + "street racing culture", + "techno music", + "sneaker collecting", + "watch collecting" + ], + "avatar_url": "/media/aina_8afd/avatar.webp?t=1769001940", + "banner_url": "/media/aina_8afd/banner.webp?t=1769001945", + "videos": [ + "/media/aina_8afd/videos/01_smile_reveal.mp4?t=1769001995" + ], + "images": [ + "/media/aina_8afd/images/01_mid_mid_neutral.webp", + "/media/aina_8afd/images/02_image.webp", + "/media/aina_8afd/images/03_image.webp", + "/media/aina_8afd/images/04_image.webp", + "/media/aina_8afd/images/05_image.webp", + "/media/aina_8afd/images/06_image.webp", + "/media/aina_8afd/images/07_image.webp", + "/media/aina_8afd/images/08_image.webp", + "/media/aina_8afd/images/09_image.webp", + "/media/aina_8afd/images/10_image.webp", + "/media/aina_8afd/images/11_image.webp", + "/media/aina_8afd/images/12_image.webp", + "/media/aina_8afd/images/13_image.webp", + "/media/aina_8afd/images/14_image.webp", + "/media/aina_8afd/images/15_image.webp", + "/media/aina_8afd/images/16_image.webp", + "/media/aina_8afd/images/17_image.webp", + "/media/aina_8afd/images/18_image.webp", + "/media/aina_8afd/images/19_image.webp", + "/media/aina_8afd/images/20_image.webp", + "/media/aina_8afd/images/21_image.webp", + "/media/aina_8afd/images/22_image.webp", + "/media/aina_8afd/images/23_image.webp", + "/media/aina_8afd/images/24_image.webp", + "/media/aina_8afd/images/25_image.webp", + "/media/aina_8afd/images/26_image.webp", + "/media/aina_8afd/images/27_image.webp", + "/media/aina_8afd/images/28_image.webp", + "/media/aina_8afd/images/29_image.webp", + "/media/aina_8afd/images/30_image.webp", + "/media/aina_8afd/images/31_image.webp", + "/media/aina_8afd/images/32_image.webp", + "/media/aina_8afd/images/33_image.webp", + "/media/aina_8afd/images/34_image.webp", + "/media/aina_8afd/images/35_image.webp", + "/media/aina_8afd/images/36_image.webp", + "/media/aina_8afd/images/37_image.webp", + "/media/aina_8afd/images/38_image.webp", + "/media/aina_8afd/images/39_image.webp", + "/media/aina_8afd/images/40_image.webp", + "/media/aina_8afd/images/41_image.webp", + "/media/aina_8afd/images/42_image.webp", + "/media/aina_8afd/images/43_image.webp", + "/media/aina_8afd/images/44_image.webp", + "/media/aina_8afd/images/45_image.webp", + "/media/aina_8afd/images/46_image.webp", + "/media/aina_8afd/images/47_image.webp", + "/media/aina_8afd/images/48_image.webp", + "/media/aina_8afd/images/49_image.webp", + "/media/aina_8afd/images/50_image.webp", + "/media/aina_8afd/images/51_image.webp" + ], + "created_at": "2026-01-21T06:23:47.366055-07:00", + "dir_name": "aina_8afd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aiyana_153a.json b/ideas/aeres/agents/aiyana_153a.json new file mode 100644 index 0000000..eabbe17 --- /dev/null +++ b/ideas/aeres/agents/aiyana_153a.json @@ -0,0 +1,77 @@ +{ + "id": "aiyana_153a", + "name": "Aiyana Redsky", + "handle": "aiyana", + "gender": "female", + "description": "indigenous woman, bright colored clothing, creative, painting artist, city living in a loft,", + "tags": [ + "artist", + "large-scale oil painting", + "traditional beadwork with modern materials", + "rock climbing", + "urban exploration", + "vinyl collecting", + "sustainable fashion", + "plant propagation" + ], + "avatar_url": "/media/aiyana_153a/avatar.webp?t=1769671382", + "banner_url": "/media/aiyana_153a/banner.webp?t=1769671403", + "videos": [ + "/media/aiyana_153a/videos/01_smile_reveal.mp4?t=1769671424" + ], + "images": [ + "/media/aiyana_153a/images/01_mid_mid_neutral.webp", + "/media/aiyana_153a/images/02_image.webp", + "/media/aiyana_153a/images/03_image.webp", + "/media/aiyana_153a/images/04_image.webp", + "/media/aiyana_153a/images/05_image.webp", + "/media/aiyana_153a/images/06_image.webp", + "/media/aiyana_153a/images/07_image.webp", + "/media/aiyana_153a/images/08_image.webp", + "/media/aiyana_153a/images/09_image.webp", + "/media/aiyana_153a/images/10_image.webp", + "/media/aiyana_153a/images/11_image.webp", + "/media/aiyana_153a/images/12_image.webp", + "/media/aiyana_153a/images/13_image.webp", + "/media/aiyana_153a/images/14_image.webp", + "/media/aiyana_153a/images/15_image.webp", + "/media/aiyana_153a/images/16_image.webp", + "/media/aiyana_153a/images/17_image.webp", + "/media/aiyana_153a/images/18_image.webp", + "/media/aiyana_153a/images/19_image.webp", + "/media/aiyana_153a/images/20_image.webp", + "/media/aiyana_153a/images/21_image.webp", + "/media/aiyana_153a/images/22_image.webp", + "/media/aiyana_153a/images/23_image.webp", + "/media/aiyana_153a/images/24_image.webp", + "/media/aiyana_153a/images/25_image.webp", + "/media/aiyana_153a/images/26_image.webp", + "/media/aiyana_153a/images/27_image.webp", + "/media/aiyana_153a/images/28_image.webp", + "/media/aiyana_153a/images/29_image.webp", + "/media/aiyana_153a/images/30_image.webp", + "/media/aiyana_153a/images/31_image.webp", + "/media/aiyana_153a/images/32_image.webp", + "/media/aiyana_153a/images/33_image.webp", + "/media/aiyana_153a/images/34_image.webp", + "/media/aiyana_153a/images/35_image.webp", + "/media/aiyana_153a/images/36_image.webp", + "/media/aiyana_153a/images/37_image.webp", + "/media/aiyana_153a/images/38_image.webp", + "/media/aiyana_153a/images/39_image.webp", + "/media/aiyana_153a/images/40_image.webp", + "/media/aiyana_153a/images/41_image.webp", + "/media/aiyana_153a/images/42_image.webp", + "/media/aiyana_153a/images/43_image.webp", + "/media/aiyana_153a/images/44_image.webp", + "/media/aiyana_153a/images/45_image.webp", + "/media/aiyana_153a/images/46_image.webp", + "/media/aiyana_153a/images/47_image.webp", + "/media/aiyana_153a/images/48_image.webp", + "/media/aiyana_153a/images/49_image.webp", + "/media/aiyana_153a/images/50_image.webp", + "/media/aiyana_153a/images/51_image.webp" + ], + "created_at": "2026-01-29T00:21:47.022197-07:00", + "dir_name": "aiyana_153a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/akash_867d.json b/ideas/aeres/agents/akash_867d.json new file mode 100644 index 0000000..2d174e1 --- /dev/null +++ b/ideas/aeres/agents/akash_867d.json @@ -0,0 +1,76 @@ +{ + "id": "akash_867d", + "name": "Akash Bose", + "handle": "akash", + "gender": "male", + "description": "30's thin man, bagel baker, wears beanies, loves mountain biking, rides public transportation, has a dog", + "tags": [ + "the lifestyle", + "sourdough fermentation", + "rock climbing", + "analog photography", + "indoor gardening", + "local indie music", + "restoring vintage kitchen tools" + ], + "avatar_url": "/media/akash_867d/avatar.webp?t=1770104951", + "banner_url": "/media/akash_867d/banner.webp?t=1770104953", + "videos": [ + "/media/akash_867d/videos/01_smile_reveal.mp4?t=1770105016" + ], + "images": [ + "/media/akash_867d/images/01_mid_mid_neutral.webp", + "/media/akash_867d/images/02_image.webp", + "/media/akash_867d/images/03_image.webp", + "/media/akash_867d/images/04_image.webp", + "/media/akash_867d/images/05_image.webp", + "/media/akash_867d/images/06_image.webp", + "/media/akash_867d/images/07_image.webp", + "/media/akash_867d/images/08_image.webp", + "/media/akash_867d/images/09_image.webp", + "/media/akash_867d/images/10_image.webp", + "/media/akash_867d/images/11_image.webp", + "/media/akash_867d/images/12_image.webp", + "/media/akash_867d/images/13_image.webp", + "/media/akash_867d/images/14_image.webp", + "/media/akash_867d/images/15_image.webp", + "/media/akash_867d/images/16_image.webp", + "/media/akash_867d/images/17_image.webp", + "/media/akash_867d/images/18_image.webp", + "/media/akash_867d/images/19_image.webp", + "/media/akash_867d/images/20_image.webp", + "/media/akash_867d/images/21_image.webp", + "/media/akash_867d/images/22_image.webp", + "/media/akash_867d/images/23_image.webp", + "/media/akash_867d/images/24_image.webp", + "/media/akash_867d/images/25_image.webp", + "/media/akash_867d/images/26_image.webp", + "/media/akash_867d/images/27_image.webp", + "/media/akash_867d/images/28_image.webp", + "/media/akash_867d/images/29_image.webp", + "/media/akash_867d/images/30_image.webp", + "/media/akash_867d/images/31_image.webp", + "/media/akash_867d/images/32_image.webp", + "/media/akash_867d/images/33_image.webp", + "/media/akash_867d/images/34_image.webp", + "/media/akash_867d/images/35_image.webp", + "/media/akash_867d/images/36_image.webp", + "/media/akash_867d/images/37_image.webp", + "/media/akash_867d/images/38_image.webp", + "/media/akash_867d/images/39_image.webp", + "/media/akash_867d/images/40_image.webp", + "/media/akash_867d/images/41_image.webp", + "/media/akash_867d/images/42_image.webp", + "/media/akash_867d/images/43_image.webp", + "/media/akash_867d/images/44_image.webp", + "/media/akash_867d/images/45_image.webp", + "/media/akash_867d/images/46_image.webp", + "/media/akash_867d/images/47_image.webp", + "/media/akash_867d/images/48_image.webp", + "/media/akash_867d/images/49_image.webp", + "/media/akash_867d/images/50_image.webp", + "/media/akash_867d/images/51_image.webp" + ], + "created_at": "2026-02-03T00:48:08.245041-07:00", + "dir_name": "akash_867d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/akilah_6c11.json b/ideas/aeres/agents/akilah_6c11.json new file mode 100644 index 0000000..249dff4 --- /dev/null +++ b/ideas/aeres/agents/akilah_6c11.json @@ -0,0 +1,77 @@ +{ + "id": "akilah_6c11", + "name": "Akilah Thomas", + "handle": "akilah", + "gender": "female", + "description": "nerdy middle aged woman who works as a teacher", + "tags": [ + "librarian", + "rare book collecting", + "genealogy research", + "art history", + "jazz vinyl", + "indoor gardening", + "baking sourdough", + "documentary films" + ], + "avatar_url": "/media/akilah_6c11/avatar.webp?t=1769420185", + "banner_url": "/media/akilah_6c11/banner.webp?t=1769420197", + "videos": [ + "/media/akilah_6c11/videos/01_smile_reveal.mp4?t=1769420201" + ], + "images": [ + "/media/akilah_6c11/images/01_mid_mid_neutral.webp", + "/media/akilah_6c11/images/02_image.webp", + "/media/akilah_6c11/images/03_image.webp", + "/media/akilah_6c11/images/04_image.webp", + "/media/akilah_6c11/images/05_image.webp", + "/media/akilah_6c11/images/06_image.webp", + "/media/akilah_6c11/images/07_image.webp", + "/media/akilah_6c11/images/08_image.webp", + "/media/akilah_6c11/images/09_image.webp", + "/media/akilah_6c11/images/10_image.webp", + "/media/akilah_6c11/images/11_image.webp", + "/media/akilah_6c11/images/12_image.webp", + "/media/akilah_6c11/images/13_image.webp", + "/media/akilah_6c11/images/14_image.webp", + "/media/akilah_6c11/images/15_image.webp", + "/media/akilah_6c11/images/16_image.webp", + "/media/akilah_6c11/images/17_image.webp", + "/media/akilah_6c11/images/18_image.webp", + "/media/akilah_6c11/images/19_image.webp", + "/media/akilah_6c11/images/20_image.webp", + "/media/akilah_6c11/images/21_image.webp", + "/media/akilah_6c11/images/22_image.webp", + "/media/akilah_6c11/images/23_image.webp", + "/media/akilah_6c11/images/24_image.webp", + "/media/akilah_6c11/images/25_image.webp", + "/media/akilah_6c11/images/26_image.webp", + "/media/akilah_6c11/images/27_image.webp", + "/media/akilah_6c11/images/28_image.webp", + "/media/akilah_6c11/images/29_image.webp", + "/media/akilah_6c11/images/30_image.webp", + "/media/akilah_6c11/images/31_image.webp", + "/media/akilah_6c11/images/32_image.webp", + "/media/akilah_6c11/images/33_image.webp", + "/media/akilah_6c11/images/34_image.webp", + "/media/akilah_6c11/images/35_image.webp", + "/media/akilah_6c11/images/36_image.webp", + "/media/akilah_6c11/images/37_image.webp", + "/media/akilah_6c11/images/38_image.webp", + "/media/akilah_6c11/images/39_image.webp", + "/media/akilah_6c11/images/40_image.webp", + "/media/akilah_6c11/images/41_image.webp", + "/media/akilah_6c11/images/42_image.webp", + "/media/akilah_6c11/images/43_image.webp", + "/media/akilah_6c11/images/44_image.webp", + "/media/akilah_6c11/images/45_image.webp", + "/media/akilah_6c11/images/46_image.webp", + "/media/akilah_6c11/images/47_image.webp", + "/media/akilah_6c11/images/48_image.webp", + "/media/akilah_6c11/images/49_image.webp", + "/media/akilah_6c11/images/50_image.webp", + "/media/akilah_6c11/images/51_image.webp" + ], + "created_at": "2026-01-26T02:35:07.384462-07:00", + "dir_name": "akilah_6c11" +} \ No newline at end of file diff --git a/ideas/aeres/agents/akilah_b8b5.json b/ideas/aeres/agents/akilah_b8b5.json new file mode 100644 index 0000000..8d0ca16 --- /dev/null +++ b/ideas/aeres/agents/akilah_b8b5.json @@ -0,0 +1,76 @@ +{ + "id": "akilah_b8b5", + "name": "Akilah Thomas", + "handle": "akilah", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair , skateboard girl, listens punk rock music, dresses in black t shirts, white, age 21, hobby skateboard, from san diego", + "tags": [ + "punk_girl", + "street skateboarding", + "diy punk zines", + "analog photography", + "collecting vinyl", + "surfing", + "graphic novels", + "exploring abandoned buildings" + ], + "avatar_url": "/media/akilah_b8b5/avatar.webp?t=1769179071", + "banner_url": "/media/akilah_b8b5/banner.webp?t=1769179071", + "videos": [ + "/media/akilah_b8b5/videos/01_smile_reveal.mp4?t=1769179156" + ], + "images": [ + "/media/akilah_b8b5/images/01_mid_mid_neutral.webp", + "/media/akilah_b8b5/images/02_image.webp", + "/media/akilah_b8b5/images/03_image.webp", + "/media/akilah_b8b5/images/04_image.webp", + "/media/akilah_b8b5/images/05_image.webp", + "/media/akilah_b8b5/images/07_image.webp", + "/media/akilah_b8b5/images/08_image.webp", + "/media/akilah_b8b5/images/09_image.webp", + "/media/akilah_b8b5/images/10_image.webp", + "/media/akilah_b8b5/images/11_image.webp", + "/media/akilah_b8b5/images/12_image.webp", + "/media/akilah_b8b5/images/13_image.webp", + "/media/akilah_b8b5/images/14_image.webp", + "/media/akilah_b8b5/images/15_image.webp", + "/media/akilah_b8b5/images/16_image.webp", + "/media/akilah_b8b5/images/17_image.webp", + "/media/akilah_b8b5/images/18_image.webp", + "/media/akilah_b8b5/images/19_image.webp", + "/media/akilah_b8b5/images/20_image.webp", + "/media/akilah_b8b5/images/21_image.webp", + "/media/akilah_b8b5/images/22_image.webp", + "/media/akilah_b8b5/images/23_image.webp", + "/media/akilah_b8b5/images/24_image.webp", + "/media/akilah_b8b5/images/25_image.webp", + "/media/akilah_b8b5/images/26_image.webp", + "/media/akilah_b8b5/images/27_image.webp", + "/media/akilah_b8b5/images/28_image.webp", + "/media/akilah_b8b5/images/29_image.webp", + "/media/akilah_b8b5/images/30_image.webp", + "/media/akilah_b8b5/images/31_image.webp", + "/media/akilah_b8b5/images/32_image.webp", + "/media/akilah_b8b5/images/33_image.webp", + "/media/akilah_b8b5/images/34_image.webp", + "/media/akilah_b8b5/images/35_image.webp", + "/media/akilah_b8b5/images/36_image.webp", + "/media/akilah_b8b5/images/37_image.webp", + "/media/akilah_b8b5/images/38_image.webp", + "/media/akilah_b8b5/images/39_image.webp", + "/media/akilah_b8b5/images/40_image.webp", + "/media/akilah_b8b5/images/41_image.webp", + "/media/akilah_b8b5/images/42_image.webp", + "/media/akilah_b8b5/images/43_image.webp", + "/media/akilah_b8b5/images/44_image.webp", + "/media/akilah_b8b5/images/45_image.webp", + "/media/akilah_b8b5/images/46_image.webp", + "/media/akilah_b8b5/images/47_image.webp", + "/media/akilah_b8b5/images/48_image.webp", + "/media/akilah_b8b5/images/49_image.webp", + "/media/akilah_b8b5/images/50_image.webp", + "/media/akilah_b8b5/images/51_image.webp" + ], + "created_at": "2026-01-23T07:36:38.480049-07:00", + "dir_name": "akilah_b8b5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alain_0fbd.json b/ideas/aeres/agents/alain_0fbd.json new file mode 100644 index 0000000..61797a0 --- /dev/null +++ b/ideas/aeres/agents/alain_0fbd.json @@ -0,0 +1,76 @@ +{ + "id": "alain_0fbd", + "name": "Alain Petit", + "handle": "alain", + "gender": "male", + "description": "college football coach, lives alone, drives a pickup truck, 45 years old, loves his job, former athlete, state champion as a coach 2 times, white hair well built, white skin", + "tags": [ + "the confident one", + "sailing", + "endurance training", + "classical architecture", + "modern history", + "horology", + "jazz saxophone", + "wine collecting" + ], + "avatar_url": "/media/alain_0fbd/avatar.webp?t=1769694263", + "banner_url": "/media/alain_0fbd/banner.webp?t=1769694350", + "videos": [ + "/media/alain_0fbd/videos/01_smile_reveal.mp4?t=1769694310" + ], + "images": [ + "/media/alain_0fbd/images/01_mid_mid_neutral.webp", + "/media/alain_0fbd/images/02_image.webp", + "/media/alain_0fbd/images/03_image.webp", + "/media/alain_0fbd/images/04_image.webp", + "/media/alain_0fbd/images/05_image.webp", + "/media/alain_0fbd/images/06_image.webp", + "/media/alain_0fbd/images/07_image.webp", + "/media/alain_0fbd/images/08_image.webp", + "/media/alain_0fbd/images/10_image.webp", + "/media/alain_0fbd/images/11_image.webp", + "/media/alain_0fbd/images/12_image.webp", + "/media/alain_0fbd/images/13_image.webp", + "/media/alain_0fbd/images/14_image.webp", + "/media/alain_0fbd/images/15_image.webp", + "/media/alain_0fbd/images/16_image.webp", + "/media/alain_0fbd/images/17_image.webp", + "/media/alain_0fbd/images/18_image.webp", + "/media/alain_0fbd/images/19_image.webp", + "/media/alain_0fbd/images/20_image.webp", + "/media/alain_0fbd/images/21_image.webp", + "/media/alain_0fbd/images/22_image.webp", + "/media/alain_0fbd/images/23_image.webp", + "/media/alain_0fbd/images/24_image.webp", + "/media/alain_0fbd/images/25_image.webp", + "/media/alain_0fbd/images/26_image.webp", + "/media/alain_0fbd/images/27_image.webp", + "/media/alain_0fbd/images/28_image.webp", + "/media/alain_0fbd/images/29_image.webp", + "/media/alain_0fbd/images/30_image.webp", + "/media/alain_0fbd/images/31_image.webp", + "/media/alain_0fbd/images/32_image.webp", + "/media/alain_0fbd/images/33_image.webp", + "/media/alain_0fbd/images/34_image.webp", + "/media/alain_0fbd/images/35_image.webp", + "/media/alain_0fbd/images/36_image.webp", + "/media/alain_0fbd/images/37_image.webp", + "/media/alain_0fbd/images/38_image.webp", + "/media/alain_0fbd/images/39_image.webp", + "/media/alain_0fbd/images/40_image.webp", + "/media/alain_0fbd/images/41_image.webp", + "/media/alain_0fbd/images/42_image.webp", + "/media/alain_0fbd/images/43_image.webp", + "/media/alain_0fbd/images/44_image.webp", + "/media/alain_0fbd/images/45_image.webp", + "/media/alain_0fbd/images/46_image.webp", + "/media/alain_0fbd/images/47_image.webp", + "/media/alain_0fbd/images/48_image.webp", + "/media/alain_0fbd/images/49_image.webp", + "/media/alain_0fbd/images/50_image.webp", + "/media/alain_0fbd/images/51_image.webp" + ], + "created_at": "2026-01-29T06:43:12.190612-07:00", + "dir_name": "alain_0fbd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alan_1d26.json b/ideas/aeres/agents/alan_1d26.json new file mode 100644 index 0000000..c67de62 --- /dev/null +++ b/ideas/aeres/agents/alan_1d26.json @@ -0,0 +1,77 @@ +{ + "id": "alan_1d26", + "name": "Alan Johnson", + "handle": "alan", + "gender": "male", + "description": "20's male, magician, cards, Las Vegas, outgoing, great smile, performer, glitz,", + "tags": [ + "career_fantasy", + "sleight of hand", + "jazz piano", + "bespoke tailoring", + "psychology of deception", + "mixology", + "chess", + "urban photography" + ], + "avatar_url": "/media/alan_1d26/avatar.webp?t=1769587364", + "banner_url": "/media/alan_1d26/banner.webp?t=1769587315", + "videos": [ + "/media/alan_1d26/videos/01_smile_reveal.mp4?t=1769551470" + ], + "images": [ + "/media/alan_1d26/images/01_mid_mid_neutral.webp", + "/media/alan_1d26/images/02_image.webp", + "/media/alan_1d26/images/03_image.webp", + "/media/alan_1d26/images/04_image.webp", + "/media/alan_1d26/images/05_image.webp", + "/media/alan_1d26/images/06_image.webp", + "/media/alan_1d26/images/07_image.webp", + "/media/alan_1d26/images/08_image.webp", + "/media/alan_1d26/images/09_image.webp", + "/media/alan_1d26/images/10_image.webp", + "/media/alan_1d26/images/11_image.webp", + "/media/alan_1d26/images/12_image.webp", + "/media/alan_1d26/images/13_image.webp", + "/media/alan_1d26/images/14_image.webp", + "/media/alan_1d26/images/15_image.webp", + "/media/alan_1d26/images/16_image.webp", + "/media/alan_1d26/images/17_image.webp", + "/media/alan_1d26/images/18_image.webp", + "/media/alan_1d26/images/19_image.webp", + "/media/alan_1d26/images/20_image.webp", + "/media/alan_1d26/images/21_image.webp", + "/media/alan_1d26/images/22_image.webp", + "/media/alan_1d26/images/23_image.webp", + "/media/alan_1d26/images/24_image.webp", + "/media/alan_1d26/images/25_image.webp", + "/media/alan_1d26/images/26_image.webp", + "/media/alan_1d26/images/27_image.webp", + "/media/alan_1d26/images/28_image.webp", + "/media/alan_1d26/images/29_image.webp", + "/media/alan_1d26/images/30_image.webp", + "/media/alan_1d26/images/31_image.webp", + "/media/alan_1d26/images/32_image.webp", + "/media/alan_1d26/images/33_image.webp", + "/media/alan_1d26/images/34_image.webp", + "/media/alan_1d26/images/35_image.webp", + "/media/alan_1d26/images/36_image.webp", + "/media/alan_1d26/images/37_image.webp", + "/media/alan_1d26/images/38_image.webp", + "/media/alan_1d26/images/39_image.webp", + "/media/alan_1d26/images/40_image.webp", + "/media/alan_1d26/images/41_image.webp", + "/media/alan_1d26/images/42_image.webp", + "/media/alan_1d26/images/43_image.webp", + "/media/alan_1d26/images/44_image.webp", + "/media/alan_1d26/images/45_image.webp", + "/media/alan_1d26/images/46_image.webp", + "/media/alan_1d26/images/47_image.webp", + "/media/alan_1d26/images/48_image.webp", + "/media/alan_1d26/images/49_image.webp", + "/media/alan_1d26/images/50_image.webp", + "/media/alan_1d26/images/51_image.webp" + ], + "created_at": "2026-01-27T15:02:33.168853-07:00", + "dir_name": "alan_1d26" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alea_d4ca.json b/ideas/aeres/agents/alea_d4ca.json new file mode 100644 index 0000000..efa6db2 --- /dev/null +++ b/ideas/aeres/agents/alea_d4ca.json @@ -0,0 +1,76 @@ +{ + "id": "alea_d4ca", + "name": "Alea Schmidt", + "handle": "alea", + "gender": "female", + "description": "woman from Germany who is an astronaut", + "tags": [ + "career_fantasy", + "astro-photography", + "olympic weightlifting", + "sailing", + "quantum computing", + "architectural history", + "espresso brewing", + "high-altitude hiking" + ], + "avatar_url": "/media/alea_d4ca/avatar.webp?t=1769671816", + "banner_url": "/media/alea_d4ca/banner.webp?t=1769671828", + "videos": [ + "/media/alea_d4ca/videos/01_smile_reveal.mp4?t=1769671875" + ], + "images": [ + "/media/alea_d4ca/images/01_mid_mid_neutral.webp", + "/media/alea_d4ca/images/02_image.webp", + "/media/alea_d4ca/images/03_image.webp", + "/media/alea_d4ca/images/04_image.webp", + "/media/alea_d4ca/images/05_image.webp", + "/media/alea_d4ca/images/06_image.webp", + "/media/alea_d4ca/images/07_image.webp", + "/media/alea_d4ca/images/08_image.webp", + "/media/alea_d4ca/images/09_image.webp", + "/media/alea_d4ca/images/10_image.webp", + "/media/alea_d4ca/images/11_image.webp", + "/media/alea_d4ca/images/12_image.webp", + "/media/alea_d4ca/images/13_image.webp", + "/media/alea_d4ca/images/14_image.webp", + "/media/alea_d4ca/images/15_image.webp", + "/media/alea_d4ca/images/16_image.webp", + "/media/alea_d4ca/images/17_image.webp", + "/media/alea_d4ca/images/18_image.webp", + "/media/alea_d4ca/images/19_image.webp", + "/media/alea_d4ca/images/20_image.webp", + "/media/alea_d4ca/images/21_image.webp", + "/media/alea_d4ca/images/22_image.webp", + "/media/alea_d4ca/images/23_image.webp", + "/media/alea_d4ca/images/24_image.webp", + "/media/alea_d4ca/images/25_image.webp", + "/media/alea_d4ca/images/26_image.webp", + "/media/alea_d4ca/images/27_image.webp", + "/media/alea_d4ca/images/28_image.webp", + "/media/alea_d4ca/images/29_image.webp", + "/media/alea_d4ca/images/31_image.webp", + "/media/alea_d4ca/images/32_image.webp", + "/media/alea_d4ca/images/33_image.webp", + "/media/alea_d4ca/images/34_image.webp", + "/media/alea_d4ca/images/35_image.webp", + "/media/alea_d4ca/images/36_image.webp", + "/media/alea_d4ca/images/37_image.webp", + "/media/alea_d4ca/images/38_image.webp", + "/media/alea_d4ca/images/39_image.webp", + "/media/alea_d4ca/images/40_image.webp", + "/media/alea_d4ca/images/41_image.webp", + "/media/alea_d4ca/images/42_image.webp", + "/media/alea_d4ca/images/43_image.webp", + "/media/alea_d4ca/images/44_image.webp", + "/media/alea_d4ca/images/45_image.webp", + "/media/alea_d4ca/images/46_image.webp", + "/media/alea_d4ca/images/47_image.webp", + "/media/alea_d4ca/images/48_image.webp", + "/media/alea_d4ca/images/49_image.webp", + "/media/alea_d4ca/images/50_image.webp", + "/media/alea_d4ca/images/51_image.webp" + ], + "created_at": "2026-01-29T00:29:05.565286-07:00", + "dir_name": "alea_d4ca" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alejandro_3114.json b/ideas/aeres/agents/alejandro_3114.json new file mode 100644 index 0000000..1aaaf4b --- /dev/null +++ b/ideas/aeres/agents/alejandro_3114.json @@ -0,0 +1,69 @@ +{ + "id": "alejandro_3114", + "name": "Alejandro Smith", + "handle": "alejandro", + "gender": "male", + "description": "punk rocker, industrial, thin but muscular, denim, plaid, clean-shaven, bad boy", + "tags": [ + "alt_punk_aesthetics", + "industrial design", + "powerlifting", + "analog synthesizers", + "urban exploration", + "cooking", + "biking", + "documentary films" + ], + "avatar_url": "/media/alejandro_3114/avatar.webp?t=1769112859", + "banner_url": "/media/alejandro_3114/banner.webp?t=1769112854", + "images": [ + "/media/alejandro_3114/images/01_mid_mid_neutral.webp", + "/media/alejandro_3114/images/02_image.webp", + "/media/alejandro_3114/images/03_image.webp", + "/media/alejandro_3114/images/04_image.webp", + "/media/alejandro_3114/images/05_image.webp", + "/media/alejandro_3114/images/06_image.webp", + "/media/alejandro_3114/images/07_image.webp", + "/media/alejandro_3114/images/08_image.webp", + "/media/alejandro_3114/images/11_image.webp", + "/media/alejandro_3114/images/12_image.webp", + "/media/alejandro_3114/images/13_image.webp", + "/media/alejandro_3114/images/14_image.webp", + "/media/alejandro_3114/images/15_image.webp", + "/media/alejandro_3114/images/17_image.webp", + "/media/alejandro_3114/images/18_image.webp", + "/media/alejandro_3114/images/19_image.webp", + "/media/alejandro_3114/images/20_image.webp", + "/media/alejandro_3114/images/21_image.webp", + "/media/alejandro_3114/images/22_image.webp", + "/media/alejandro_3114/images/22_image.webp", + "/media/alejandro_3114/images/23_image.webp", + "/media/alejandro_3114/images/23_image.webp", + "/media/alejandro_3114/images/24_image.webp", + "/media/alejandro_3114/images/24_image.webp", + "/media/alejandro_3114/images/25_image.webp", + "/media/alejandro_3114/images/25_image.webp", + "/media/alejandro_3114/images/27_image.webp", + "/media/alejandro_3114/images/27_image.webp", + "/media/alejandro_3114/images/28_image.webp", + "/media/alejandro_3114/images/28_image.webp", + "/media/alejandro_3114/images/29_image.webp", + "/media/alejandro_3114/images/29_image.webp", + "/media/alejandro_3114/images/30_image.webp", + "/media/alejandro_3114/images/30_image.webp", + "/media/alejandro_3114/images/31_image.webp", + "/media/alejandro_3114/images/31_image.webp", + "/media/alejandro_3114/images/32_image.webp", + "/media/alejandro_3114/images/33_image.webp", + "/media/alejandro_3114/images/34_image.webp", + "/media/alejandro_3114/images/35_image.webp", + "/media/alejandro_3114/images/36_image.webp", + "/media/alejandro_3114/images/37_image.webp", + "/media/alejandro_3114/images/38_image.webp", + "/media/alejandro_3114/images/39_image.webp", + "/media/alejandro_3114/images/40_image.webp", + "/media/alejandro_3114/images/41_image.webp" + ], + "created_at": "2026-01-22T13:13:12.670359-07:00", + "dir_name": "alejandro_3114" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alejandro_57b5.json b/ideas/aeres/agents/alejandro_57b5.json new file mode 100644 index 0000000..1af4243 --- /dev/null +++ b/ideas/aeres/agents/alejandro_57b5.json @@ -0,0 +1,77 @@ +{ + "id": "alejandro_57b5", + "name": "Alejandro Villarreal", + "handle": "alejandro", + "gender": "male", + "description": "sexy hot tall, muscular, man, with full of hair, latino, manager of a resort in mexico", + "tags": [ + "career_fantasy", + "ocean conservation", + "modern architecture", + "kitesurfing", + "wine tasting", + "historical biographies", + "watches" + ], + "avatar_url": "/media/alejandro_57b5/avatar.webp?t=1769165444", + "banner_url": "/media/alejandro_57b5/banner.webp?t=1769165503", + "videos": [ + "/media/alejandro_57b5/videos/01_smile_reveal.mp4?t=1769165490" + ], + "images": [ + "/media/alejandro_57b5/images/01_mid_mid_neutral.webp", + "/media/alejandro_57b5/images/02_image.webp", + "/media/alejandro_57b5/images/03_image.webp", + "/media/alejandro_57b5/images/04_image.webp", + "/media/alejandro_57b5/images/05_image.webp", + "/media/alejandro_57b5/images/06_image.webp", + "/media/alejandro_57b5/images/07_image.webp", + "/media/alejandro_57b5/images/08_image.webp", + "/media/alejandro_57b5/images/09_image.webp", + "/media/alejandro_57b5/images/10_image.webp", + "/media/alejandro_57b5/images/11_image.webp", + "/media/alejandro_57b5/images/12_image.webp", + "/media/alejandro_57b5/images/13_image.webp", + "/media/alejandro_57b5/images/14_image.webp", + "/media/alejandro_57b5/images/15_image.webp", + "/media/alejandro_57b5/images/16_image.webp", + "/media/alejandro_57b5/images/17_image.webp", + "/media/alejandro_57b5/images/18_image.webp", + "/media/alejandro_57b5/images/19_image.webp", + "/media/alejandro_57b5/images/20_image.webp", + "/media/alejandro_57b5/images/21_image.webp", + "/media/alejandro_57b5/images/22_image.webp", + "/media/alejandro_57b5/images/23_image.webp", + "/media/alejandro_57b5/images/24_image.webp", + "/media/alejandro_57b5/images/25_image.webp", + "/media/alejandro_57b5/images/26_image.webp", + "/media/alejandro_57b5/images/27_image.webp", + "/media/alejandro_57b5/images/28_image.webp", + "/media/alejandro_57b5/images/29_image.webp", + "/media/alejandro_57b5/images/30_image.webp", + "/media/alejandro_57b5/images/31_image.webp", + "/media/alejandro_57b5/images/32_image.webp", + "/media/alejandro_57b5/images/33_image.webp", + "/media/alejandro_57b5/images/34_image.webp", + "/media/alejandro_57b5/images/35_image.webp", + "/media/alejandro_57b5/images/36_image.webp", + "/media/alejandro_57b5/images/37_image.webp", + "/media/alejandro_57b5/images/38_image.webp", + "/media/alejandro_57b5/images/39_image.webp", + "/media/alejandro_57b5/images/40_image.webp", + "/media/alejandro_57b5/images/41_image.webp", + "/media/alejandro_57b5/images/42_image.webp", + "/media/alejandro_57b5/images/43_image.webp", + "/media/alejandro_57b5/images/44_image.webp", + "/media/alejandro_57b5/images/45_image.webp", + "/media/alejandro_57b5/images/46_image.webp", + "/media/alejandro_57b5/images/47_image.webp", + "/media/alejandro_57b5/images/48_image.webp", + "/media/alejandro_57b5/images/49_image.webp", + "/media/alejandro_57b5/images/50_image.webp", + "/media/alejandro_57b5/images/51_image.webp", + "/media/alejandro_57b5/images/53_image.webp" + ], + "created_at": "2026-01-23T03:49:37.578526-07:00", + "dir_name": "alejandro_57b5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alessandra_07ee.json b/ideas/aeres/agents/alessandra_07ee.json new file mode 100644 index 0000000..c4d6e94 --- /dev/null +++ b/ideas/aeres/agents/alessandra_07ee.json @@ -0,0 +1,76 @@ +{ + "id": "alessandra_07ee", + "name": "Alessandra Valentini", + "handle": "alessandra", + "gender": "female", + "description": "woman from Italy with septum and glasses who likes to wear fur coats and loves jewerly", + "tags": [ + "mob_wife", + "vintage jewelry collecting", + "opera", + "interior design", + "fine wine", + "gourmet cooking", + "horseback riding", + "pilates" + ], + "avatar_url": "/media/alessandra_07ee/avatar.webp?t=1769760387", + "banner_url": "/media/alessandra_07ee/banner.webp?t=1769760411", + "videos": [ + "/media/alessandra_07ee/videos/01_smile_reveal.mp4?t=1769760493" + ], + "images": [ + "/media/alessandra_07ee/images/01_mid_mid_neutral.webp", + "/media/alessandra_07ee/images/02_image.webp", + "/media/alessandra_07ee/images/03_image.webp", + "/media/alessandra_07ee/images/04_image.webp", + "/media/alessandra_07ee/images/05_image.webp", + "/media/alessandra_07ee/images/06_image.webp", + "/media/alessandra_07ee/images/07_image.webp", + "/media/alessandra_07ee/images/08_image.webp", + "/media/alessandra_07ee/images/09_image.webp", + "/media/alessandra_07ee/images/10_image.webp", + "/media/alessandra_07ee/images/11_image.webp", + "/media/alessandra_07ee/images/12_image.webp", + "/media/alessandra_07ee/images/13_image.webp", + "/media/alessandra_07ee/images/14_image.webp", + "/media/alessandra_07ee/images/15_image.webp", + "/media/alessandra_07ee/images/16_image.webp", + "/media/alessandra_07ee/images/17_image.webp", + "/media/alessandra_07ee/images/19_image.webp", + "/media/alessandra_07ee/images/20_image.webp", + "/media/alessandra_07ee/images/21_image.webp", + "/media/alessandra_07ee/images/22_image.webp", + "/media/alessandra_07ee/images/23_image.webp", + "/media/alessandra_07ee/images/24_image.webp", + "/media/alessandra_07ee/images/25_image.webp", + "/media/alessandra_07ee/images/26_image.webp", + "/media/alessandra_07ee/images/27_image.webp", + "/media/alessandra_07ee/images/28_image.webp", + "/media/alessandra_07ee/images/29_image.webp", + "/media/alessandra_07ee/images/30_image.webp", + "/media/alessandra_07ee/images/31_image.webp", + "/media/alessandra_07ee/images/32_image.webp", + "/media/alessandra_07ee/images/33_image.webp", + "/media/alessandra_07ee/images/34_image.webp", + "/media/alessandra_07ee/images/35_image.webp", + "/media/alessandra_07ee/images/36_image.webp", + "/media/alessandra_07ee/images/37_image.webp", + "/media/alessandra_07ee/images/38_image.webp", + "/media/alessandra_07ee/images/39_image.webp", + "/media/alessandra_07ee/images/40_image.webp", + "/media/alessandra_07ee/images/41_image.webp", + "/media/alessandra_07ee/images/42_image.webp", + "/media/alessandra_07ee/images/43_image.webp", + "/media/alessandra_07ee/images/44_image.webp", + "/media/alessandra_07ee/images/45_image.webp", + "/media/alessandra_07ee/images/46_image.webp", + "/media/alessandra_07ee/images/47_image.webp", + "/media/alessandra_07ee/images/48_image.webp", + "/media/alessandra_07ee/images/49_image.webp", + "/media/alessandra_07ee/images/50_image.webp", + "/media/alessandra_07ee/images/51_image.webp" + ], + "created_at": "2026-01-30T01:03:06.459893-07:00", + "dir_name": "alessandra_07ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alessandra_ad93.json b/ideas/aeres/agents/alessandra_ad93.json new file mode 100644 index 0000000..d3ab670 --- /dev/null +++ b/ideas/aeres/agents/alessandra_ad93.json @@ -0,0 +1,78 @@ +{ + "id": "alessandra_ad93", + "name": "Alessandra Vittorini", + "handle": "alessandra", + "gender": "female", + "description": "female from Spain who loves luxury cars", + "tags": [ + "luxury_trophy", + "vintage car restoration", + "aerodynamics", + "f1 history", + "watchmaking", + "tennis", + "contemporary photography", + "wine pairing" + ], + "avatar_url": "/media/alessandra_ad93/avatar.webp?t=1770024709", + "banner_url": "/media/alessandra_ad93/banner.webp?t=1770024846", + "videos": [ + "/media/alessandra_ad93/videos/01_smile_reveal.mp4?t=1770024662" + ], + "images": [ + "/media/alessandra_ad93/images/01_mid_mid_neutral.webp", + "/media/alessandra_ad93/images/02_image.webp", + "/media/alessandra_ad93/images/03_image.webp", + "/media/alessandra_ad93/images/04_image.webp", + "/media/alessandra_ad93/images/05_image.webp", + "/media/alessandra_ad93/images/06_image.webp", + "/media/alessandra_ad93/images/07_image.webp", + "/media/alessandra_ad93/images/09_image.webp", + "/media/alessandra_ad93/images/10_image.webp", + "/media/alessandra_ad93/images/11_image.webp", + "/media/alessandra_ad93/images/12_image.webp", + "/media/alessandra_ad93/images/14_image.webp", + "/media/alessandra_ad93/images/16_image.webp", + "/media/alessandra_ad93/images/18_image.webp", + "/media/alessandra_ad93/images/19_image.webp", + "/media/alessandra_ad93/images/21_image.webp", + "/media/alessandra_ad93/images/22_image.webp", + "/media/alessandra_ad93/images/23_image.webp", + "/media/alessandra_ad93/images/24_image.webp", + "/media/alessandra_ad93/images/25_image.webp", + "/media/alessandra_ad93/images/26_image.webp", + "/media/alessandra_ad93/images/27_image.webp", + "/media/alessandra_ad93/images/28_image.webp", + "/media/alessandra_ad93/images/29_image.webp", + "/media/alessandra_ad93/images/31_image.webp", + "/media/alessandra_ad93/images/32_image.webp", + "/media/alessandra_ad93/images/33_image.webp", + "/media/alessandra_ad93/images/34_image.webp", + "/media/alessandra_ad93/images/35_image.webp", + "/media/alessandra_ad93/images/36_image.webp", + "/media/alessandra_ad93/images/37_image.webp", + "/media/alessandra_ad93/images/38_image.webp", + "/media/alessandra_ad93/images/39_image.webp", + "/media/alessandra_ad93/images/40_image.webp", + "/media/alessandra_ad93/images/41_image.webp", + "/media/alessandra_ad93/images/42_image.webp", + "/media/alessandra_ad93/images/43_image.webp", + "/media/alessandra_ad93/images/44_image.webp", + "/media/alessandra_ad93/images/45_image.webp", + "/media/alessandra_ad93/images/46_image.webp", + "/media/alessandra_ad93/images/47_image.webp", + "/media/alessandra_ad93/images/48_image.webp", + "/media/alessandra_ad93/images/49_image.webp", + "/media/alessandra_ad93/images/50_image.webp", + "/media/alessandra_ad93/images/51_image.webp", + "/media/alessandra_ad93/images/53_image.webp", + "/media/alessandra_ad93/images/54_image.webp", + "/media/alessandra_ad93/images/55_image.webp", + "/media/alessandra_ad93/images/56_image.webp", + "/media/alessandra_ad93/images/57_image.webp", + "/media/alessandra_ad93/images/58_image.webp", + "/media/alessandra_ad93/images/59_image.webp" + ], + "created_at": "2026-02-02T02:26:09.253024-07:00", + "dir_name": "alessandra_ad93" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alessandra_f7c3.json b/ideas/aeres/agents/alessandra_f7c3.json new file mode 100644 index 0000000..5483c67 --- /dev/null +++ b/ideas/aeres/agents/alessandra_f7c3.json @@ -0,0 +1,78 @@ +{ + "id": "alessandra_f7c3", + "name": "Alessandra Vitale", + "handle": "alessandra", + "gender": "female", + "description": "woman from Greece who likes pool parties", + "tags": [ + "beach_babe", + "ocean conservation", + "free diving", + "mediterranean viticulture", + "interior design", + "tennis", + "blogging about hidden beaches" + ], + "avatar_url": "/media/alessandra_f7c3/avatar.webp?t=1770037034", + "banner_url": "/media/alessandra_f7c3/banner.webp?t=1770037054", + "videos": [ + "/media/alessandra_f7c3/videos/01_smile_reveal.mp4?t=1770037049" + ], + "images": [ + "/media/alessandra_f7c3/images/01_mid_mid_neutral.webp", + "/media/alessandra_f7c3/images/02_image.webp", + "/media/alessandra_f7c3/images/03_image.webp", + "/media/alessandra_f7c3/images/04_image.webp", + "/media/alessandra_f7c3/images/05_image.webp", + "/media/alessandra_f7c3/images/06_image.webp", + "/media/alessandra_f7c3/images/07_image.webp", + "/media/alessandra_f7c3/images/08_image.webp", + "/media/alessandra_f7c3/images/09_image.webp", + "/media/alessandra_f7c3/images/11_image.webp", + "/media/alessandra_f7c3/images/12_image.webp", + "/media/alessandra_f7c3/images/13_image.webp", + "/media/alessandra_f7c3/images/14_image.webp", + "/media/alessandra_f7c3/images/15_image.webp", + "/media/alessandra_f7c3/images/16_image.webp", + "/media/alessandra_f7c3/images/17_image.webp", + "/media/alessandra_f7c3/images/18_image.webp", + "/media/alessandra_f7c3/images/19_image.webp", + "/media/alessandra_f7c3/images/20_image.webp", + "/media/alessandra_f7c3/images/21_image.webp", + "/media/alessandra_f7c3/images/22_image.webp", + "/media/alessandra_f7c3/images/23_image.webp", + "/media/alessandra_f7c3/images/24_image.webp", + "/media/alessandra_f7c3/images/25_image.webp", + "/media/alessandra_f7c3/images/26_image.webp", + "/media/alessandra_f7c3/images/27_image.webp", + "/media/alessandra_f7c3/images/28_image.webp", + "/media/alessandra_f7c3/images/29_image.webp", + "/media/alessandra_f7c3/images/30_image.webp", + "/media/alessandra_f7c3/images/31_image.webp", + "/media/alessandra_f7c3/images/32_image.webp", + "/media/alessandra_f7c3/images/33_image.webp", + "/media/alessandra_f7c3/images/34_image.webp", + "/media/alessandra_f7c3/images/36_image.webp", + "/media/alessandra_f7c3/images/37_image.webp", + "/media/alessandra_f7c3/images/38_image.webp", + "/media/alessandra_f7c3/images/39_image.webp", + "/media/alessandra_f7c3/images/40_image.webp", + "/media/alessandra_f7c3/images/41_image.webp", + "/media/alessandra_f7c3/images/43_image.webp", + "/media/alessandra_f7c3/images/44_image.webp", + "/media/alessandra_f7c3/images/45_image.webp", + "/media/alessandra_f7c3/images/47_image.webp", + "/media/alessandra_f7c3/images/48_image.webp", + "/media/alessandra_f7c3/images/49_image.webp", + "/media/alessandra_f7c3/images/51_image.webp", + "/media/alessandra_f7c3/images/54_image.webp", + "/media/alessandra_f7c3/images/55_image.webp", + "/media/alessandra_f7c3/images/56_image.webp", + "/media/alessandra_f7c3/images/57_image.webp", + "/media/alessandra_f7c3/images/58_image.webp", + "/media/alessandra_f7c3/images/59_image.webp", + "/media/alessandra_f7c3/images/60_image.webp" + ], + "created_at": "2026-02-02T05:55:17.021656-07:00", + "dir_name": "alessandra_f7c3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alessia_b84e.json b/ideas/aeres/agents/alessia_b84e.json new file mode 100644 index 0000000..5e92102 --- /dev/null +++ b/ideas/aeres/agents/alessia_b84e.json @@ -0,0 +1,77 @@ +{ + "id": "alessia_b84e", + "name": "Alessia Valli", + "handle": "alessia", + "gender": "female", + "description": "high fashion model from italy who is a hypebeast and loves motorcycles", + "tags": [ + "high_fashion_model", + "ducati motorcycles", + "avant-garde fashion", + "sneaker culture", + "industrial design", + "crossfit", + "architecture photography", + "vinyl records" + ], + "avatar_url": "/media/alessia_b84e/avatar.webp?t=1769598655", + "banner_url": "/media/alessia_b84e/banner.webp?t=1769598662", + "videos": [ + "/media/alessia_b84e/videos/01_smile_reveal.mp4?t=1769598689" + ], + "images": [ + "/media/alessia_b84e/images/01_mid_mid_neutral.webp", + "/media/alessia_b84e/images/02_image.webp", + "/media/alessia_b84e/images/03_image.webp", + "/media/alessia_b84e/images/04_image.webp", + "/media/alessia_b84e/images/05_image.webp", + "/media/alessia_b84e/images/06_image.webp", + "/media/alessia_b84e/images/07_image.webp", + "/media/alessia_b84e/images/08_image.webp", + "/media/alessia_b84e/images/09_image.webp", + "/media/alessia_b84e/images/10_image.webp", + "/media/alessia_b84e/images/11_image.webp", + "/media/alessia_b84e/images/12_image.webp", + "/media/alessia_b84e/images/13_image.webp", + "/media/alessia_b84e/images/14_image.webp", + "/media/alessia_b84e/images/15_image.webp", + "/media/alessia_b84e/images/16_image.webp", + "/media/alessia_b84e/images/17_image.webp", + "/media/alessia_b84e/images/18_image.webp", + "/media/alessia_b84e/images/19_image.webp", + "/media/alessia_b84e/images/20_image.webp", + "/media/alessia_b84e/images/21_image.webp", + "/media/alessia_b84e/images/22_image.webp", + "/media/alessia_b84e/images/23_image.webp", + "/media/alessia_b84e/images/24_image.webp", + "/media/alessia_b84e/images/25_image.webp", + "/media/alessia_b84e/images/26_image.webp", + "/media/alessia_b84e/images/27_image.webp", + "/media/alessia_b84e/images/28_image.webp", + "/media/alessia_b84e/images/29_image.webp", + "/media/alessia_b84e/images/30_image.webp", + "/media/alessia_b84e/images/31_image.webp", + "/media/alessia_b84e/images/32_image.webp", + "/media/alessia_b84e/images/33_image.webp", + "/media/alessia_b84e/images/34_image.webp", + "/media/alessia_b84e/images/35_image.webp", + "/media/alessia_b84e/images/36_image.webp", + "/media/alessia_b84e/images/37_image.webp", + "/media/alessia_b84e/images/38_image.webp", + "/media/alessia_b84e/images/39_image.webp", + "/media/alessia_b84e/images/40_image.webp", + "/media/alessia_b84e/images/41_image.webp", + "/media/alessia_b84e/images/42_image.webp", + "/media/alessia_b84e/images/43_image.webp", + "/media/alessia_b84e/images/44_image.webp", + "/media/alessia_b84e/images/45_image.webp", + "/media/alessia_b84e/images/46_image.webp", + "/media/alessia_b84e/images/47_image.webp", + "/media/alessia_b84e/images/48_image.webp", + "/media/alessia_b84e/images/49_image.webp", + "/media/alessia_b84e/images/50_image.webp", + "/media/alessia_b84e/images/51_image.webp" + ], + "created_at": "2026-01-28T04:09:28.120149-07:00", + "dir_name": "alessia_b84e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alevtina_b781.json b/ideas/aeres/agents/alevtina_b781.json new file mode 100644 index 0000000..6289e9c --- /dev/null +++ b/ideas/aeres/agents/alevtina_b781.json @@ -0,0 +1,76 @@ +{ + "id": "alevtina_b781", + "name": "Alevtina Smirnov", + "handle": "alevtina", + "gender": "female", + "description": "russian woman who is a proffesional poker player", + "tags": [ + "boss_babe", + "game theory", + "pilates", + "modernist architecture", + "collecting rare watches", + "fencing", + "historical biographies", + "sailing" + ], + "avatar_url": "/media/alevtina_b781/avatar.webp?t=1769703951", + "banner_url": "/media/alevtina_b781/banner.webp?t=1769703961", + "videos": [ + "/media/alevtina_b781/videos/01_smile_reveal.mp4?t=1769703978" + ], + "images": [ + "/media/alevtina_b781/images/01_mid_mid_neutral.webp", + "/media/alevtina_b781/images/02_image.webp", + "/media/alevtina_b781/images/03_image.webp", + "/media/alevtina_b781/images/04_image.webp", + "/media/alevtina_b781/images/05_image.webp", + "/media/alevtina_b781/images/06_image.webp", + "/media/alevtina_b781/images/07_image.webp", + "/media/alevtina_b781/images/08_image.webp", + "/media/alevtina_b781/images/09_image.webp", + "/media/alevtina_b781/images/10_image.webp", + "/media/alevtina_b781/images/11_image.webp", + "/media/alevtina_b781/images/12_image.webp", + "/media/alevtina_b781/images/13_image.webp", + "/media/alevtina_b781/images/14_image.webp", + "/media/alevtina_b781/images/15_image.webp", + "/media/alevtina_b781/images/16_image.webp", + "/media/alevtina_b781/images/17_image.webp", + "/media/alevtina_b781/images/18_image.webp", + "/media/alevtina_b781/images/19_image.webp", + "/media/alevtina_b781/images/20_image.webp", + "/media/alevtina_b781/images/21_image.webp", + "/media/alevtina_b781/images/22_image.webp", + "/media/alevtina_b781/images/23_image.webp", + "/media/alevtina_b781/images/24_image.webp", + "/media/alevtina_b781/images/25_image.webp", + "/media/alevtina_b781/images/26_image.webp", + "/media/alevtina_b781/images/27_image.webp", + "/media/alevtina_b781/images/28_image.webp", + "/media/alevtina_b781/images/29_image.webp", + "/media/alevtina_b781/images/30_image.webp", + "/media/alevtina_b781/images/31_image.webp", + "/media/alevtina_b781/images/32_image.webp", + "/media/alevtina_b781/images/33_image.webp", + "/media/alevtina_b781/images/34_image.webp", + "/media/alevtina_b781/images/35_image.webp", + "/media/alevtina_b781/images/36_image.webp", + "/media/alevtina_b781/images/37_image.webp", + "/media/alevtina_b781/images/39_image.webp", + "/media/alevtina_b781/images/40_image.webp", + "/media/alevtina_b781/images/41_image.webp", + "/media/alevtina_b781/images/42_image.webp", + "/media/alevtina_b781/images/43_image.webp", + "/media/alevtina_b781/images/44_image.webp", + "/media/alevtina_b781/images/45_image.webp", + "/media/alevtina_b781/images/46_image.webp", + "/media/alevtina_b781/images/47_image.webp", + "/media/alevtina_b781/images/48_image.webp", + "/media/alevtina_b781/images/49_image.webp", + "/media/alevtina_b781/images/50_image.webp", + "/media/alevtina_b781/images/51_image.webp" + ], + "created_at": "2026-01-29T09:24:13.493082-07:00", + "dir_name": "alevtina_b781" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alice_0f95.json b/ideas/aeres/agents/alice_0f95.json new file mode 100644 index 0000000..9055d0b --- /dev/null +++ b/ideas/aeres/agents/alice_0f95.json @@ -0,0 +1,75 @@ +{ + "id": "alice_0f95", + "name": "Alice Brown", + "handle": "alice", + "gender": "female", + "description": "construction engineer woman, 30, career civil engineering, on work sites every day, meetings with workers and managing construction crew, tall,white american, pretty cute face, long hair light brown, jeans and shirts, downtown apartment", + "tags": [ + "career_fantasy", + "urban architecture", + "structural design", + "distance running", + "coffee culture", + "podcast listening (non-fiction)", + "modern art" + ], + "avatar_url": "/media/alice_0f95/avatar.webp?t=1769761321", + "banner_url": "/media/alice_0f95/banner.webp?t=1769761448", + "videos": [ + "/media/alice_0f95/videos/01_smile_reveal.mp4?t=1769761360" + ], + "images": [ + "/media/alice_0f95/images/01_mid_mid_neutral.webp", + "/media/alice_0f95/images/02_image.webp", + "/media/alice_0f95/images/03_image.webp", + "/media/alice_0f95/images/04_image.webp", + "/media/alice_0f95/images/05_image.webp", + "/media/alice_0f95/images/06_image.webp", + "/media/alice_0f95/images/07_image.webp", + "/media/alice_0f95/images/08_image.webp", + "/media/alice_0f95/images/09_image.webp", + "/media/alice_0f95/images/10_image.webp", + "/media/alice_0f95/images/11_image.webp", + "/media/alice_0f95/images/13_image.webp", + "/media/alice_0f95/images/14_image.webp", + "/media/alice_0f95/images/15_image.webp", + "/media/alice_0f95/images/16_image.webp", + "/media/alice_0f95/images/17_image.webp", + "/media/alice_0f95/images/18_image.webp", + "/media/alice_0f95/images/19_image.webp", + "/media/alice_0f95/images/20_image.webp", + "/media/alice_0f95/images/21_image.webp", + "/media/alice_0f95/images/22_image.webp", + "/media/alice_0f95/images/23_image.webp", + "/media/alice_0f95/images/24_image.webp", + "/media/alice_0f95/images/25_image.webp", + "/media/alice_0f95/images/26_image.webp", + "/media/alice_0f95/images/27_image.webp", + "/media/alice_0f95/images/28_image.webp", + "/media/alice_0f95/images/29_image.webp", + "/media/alice_0f95/images/30_image.webp", + "/media/alice_0f95/images/31_image.webp", + "/media/alice_0f95/images/32_image.webp", + "/media/alice_0f95/images/33_image.webp", + "/media/alice_0f95/images/34_image.webp", + "/media/alice_0f95/images/35_image.webp", + "/media/alice_0f95/images/36_image.webp", + "/media/alice_0f95/images/37_image.webp", + "/media/alice_0f95/images/38_image.webp", + "/media/alice_0f95/images/39_image.webp", + "/media/alice_0f95/images/40_image.webp", + "/media/alice_0f95/images/41_image.webp", + "/media/alice_0f95/images/42_image.webp", + "/media/alice_0f95/images/43_image.webp", + "/media/alice_0f95/images/44_image.webp", + "/media/alice_0f95/images/45_image.webp", + "/media/alice_0f95/images/46_image.webp", + "/media/alice_0f95/images/47_image.webp", + "/media/alice_0f95/images/48_image.webp", + "/media/alice_0f95/images/49_image.webp", + "/media/alice_0f95/images/50_image.webp", + "/media/alice_0f95/images/51_image.webp" + ], + "created_at": "2026-01-30T01:20:46.977241-07:00", + "dir_name": "alice_0f95" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alice_4948.json b/ideas/aeres/agents/alice_4948.json new file mode 100644 index 0000000..0d90ce9 --- /dev/null +++ b/ideas/aeres/agents/alice_4948.json @@ -0,0 +1,74 @@ +{ + "id": "alice_4948", + "name": "Alice Brown", + "handle": "alice", + "gender": "female", + "description": "white woman who cosplays as Gigi Dolin", + "tags": [ + "the cosplayer", + "professional wrestling", + "sewing/tailoring", + "horror movies", + "90s punk rock", + "weightlifting", + "retro gaming", + "thrifting" + ], + "avatar_url": "/media/alice_4948/avatar.webp?t=1769608382", + "banner_url": "/media/alice_4948/banner.webp?t=1769608400", + "videos": [ + "/media/alice_4948/videos/01_smile_reveal.mp4?t=1769608414" + ], + "images": [ + "/media/alice_4948/images/01_mid_mid_neutral.webp", + "/media/alice_4948/images/02_image.webp", + "/media/alice_4948/images/03_image.webp", + "/media/alice_4948/images/04_image.webp", + "/media/alice_4948/images/05_image.webp", + "/media/alice_4948/images/07_image.webp", + "/media/alice_4948/images/08_image.webp", + "/media/alice_4948/images/09_image.webp", + "/media/alice_4948/images/10_image.webp", + "/media/alice_4948/images/11_image.webp", + "/media/alice_4948/images/12_image.webp", + "/media/alice_4948/images/13_image.webp", + "/media/alice_4948/images/14_image.webp", + "/media/alice_4948/images/15_image.webp", + "/media/alice_4948/images/16_image.webp", + "/media/alice_4948/images/17_image.webp", + "/media/alice_4948/images/18_image.webp", + "/media/alice_4948/images/20_image.webp", + "/media/alice_4948/images/21_image.webp", + "/media/alice_4948/images/22_image.webp", + "/media/alice_4948/images/23_image.webp", + "/media/alice_4948/images/24_image.webp", + "/media/alice_4948/images/25_image.webp", + "/media/alice_4948/images/26_image.webp", + "/media/alice_4948/images/27_image.webp", + "/media/alice_4948/images/28_image.webp", + "/media/alice_4948/images/29_image.webp", + "/media/alice_4948/images/30_image.webp", + "/media/alice_4948/images/31_image.webp", + "/media/alice_4948/images/32_image.webp", + "/media/alice_4948/images/33_image.webp", + "/media/alice_4948/images/34_image.webp", + "/media/alice_4948/images/35_image.webp", + "/media/alice_4948/images/36_image.webp", + "/media/alice_4948/images/37_image.webp", + "/media/alice_4948/images/38_image.webp", + "/media/alice_4948/images/39_image.webp", + "/media/alice_4948/images/40_image.webp", + "/media/alice_4948/images/41_image.webp", + "/media/alice_4948/images/42_image.webp", + "/media/alice_4948/images/43_image.webp", + "/media/alice_4948/images/44_image.webp", + "/media/alice_4948/images/45_image.webp", + "/media/alice_4948/images/46_image.webp", + "/media/alice_4948/images/47_image.webp", + "/media/alice_4948/images/49_image.webp", + "/media/alice_4948/images/50_image.webp", + "/media/alice_4948/images/51_image.webp" + ], + "created_at": "2026-01-28T06:51:46.751624-07:00", + "dir_name": "alice_4948" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alice_9d48.json b/ideas/aeres/agents/alice_9d48.json new file mode 100644 index 0000000..4b1b2c3 --- /dev/null +++ b/ideas/aeres/agents/alice_9d48.json @@ -0,0 +1,84 @@ +{ + "id": "alice_9d48", + "name": "Alice Brown", + "handle": "alice", + "gender": "female", + "description": "mid 30's fit woman, utah, balayage hair, modest, pretty, natural makeup, long sleeves, hidden shoulders, wholesome, healthy, devoted, put together,", + "tags": [ + "clean_girl", + "pilates", + "clean eating", + "interior design", + "tennis", + "historical fiction", + "podcast production", + "amateur photography" + ], + "avatar_url": "/media/alice_9d48/avatar.webp?t=1769117349", + "banner_url": "/media/alice_9d48/banner.webp?t=1769117349", + "images": [ + "/media/alice_9d48/images/01_mid_mid_neutral.webp", + "/media/alice_9d48/images/02_image.webp", + "/media/alice_9d48/images/03_image.webp", + "/media/alice_9d48/images/04_image.webp", + "/media/alice_9d48/images/05_image.webp", + "/media/alice_9d48/images/06_image.webp", + "/media/alice_9d48/images/07_image.webp", + "/media/alice_9d48/images/08_image.webp", + "/media/alice_9d48/images/09_image.webp", + "/media/alice_9d48/images/10_image.webp", + "/media/alice_9d48/images/11_image.webp", + "/media/alice_9d48/images/12_image.webp", + "/media/alice_9d48/images/13_image.webp", + "/media/alice_9d48/images/14_image.webp", + "/media/alice_9d48/images/15_image.webp", + "/media/alice_9d48/images/16_image.webp", + "/media/alice_9d48/images/17_image.webp", + "/media/alice_9d48/images/18_image.webp", + "/media/alice_9d48/images/19_image.webp", + "/media/alice_9d48/images/20_image.webp", + "/media/alice_9d48/images/21_image.webp", + "/media/alice_9d48/images/22_image.webp", + "/media/alice_9d48/images/22_image.webp", + "/media/alice_9d48/images/22_image.webp", + "/media/alice_9d48/images/22_image.webp", + "/media/alice_9d48/images/23_image.webp", + "/media/alice_9d48/images/23_image.webp", + "/media/alice_9d48/images/23_image.webp", + "/media/alice_9d48/images/23_image.webp", + "/media/alice_9d48/images/24_image.webp", + "/media/alice_9d48/images/24_image.webp", + "/media/alice_9d48/images/24_image.webp", + "/media/alice_9d48/images/24_image.webp", + "/media/alice_9d48/images/25_image.webp", + "/media/alice_9d48/images/25_image.webp", + "/media/alice_9d48/images/25_image.webp", + "/media/alice_9d48/images/25_image.webp", + "/media/alice_9d48/images/26_image.webp", + "/media/alice_9d48/images/26_image.webp", + "/media/alice_9d48/images/26_image.webp", + "/media/alice_9d48/images/26_image.webp", + "/media/alice_9d48/images/27_image.webp", + "/media/alice_9d48/images/27_image.webp", + "/media/alice_9d48/images/27_image.webp", + "/media/alice_9d48/images/27_image.webp", + "/media/alice_9d48/images/28_image.webp", + "/media/alice_9d48/images/28_image.webp", + "/media/alice_9d48/images/28_image.webp", + "/media/alice_9d48/images/28_image.webp", + "/media/alice_9d48/images/29_image.webp", + "/media/alice_9d48/images/29_image.webp", + "/media/alice_9d48/images/29_image.webp", + "/media/alice_9d48/images/29_image.webp", + "/media/alice_9d48/images/30_image.webp", + "/media/alice_9d48/images/30_image.webp", + "/media/alice_9d48/images/30_image.webp", + "/media/alice_9d48/images/30_image.webp", + "/media/alice_9d48/images/31_image.webp", + "/media/alice_9d48/images/31_image.webp", + "/media/alice_9d48/images/31_image.webp", + "/media/alice_9d48/images/31_image.webp" + ], + "created_at": "2026-01-22T14:28:03.087206-07:00", + "dir_name": "alice_9d48" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alla_6959.json b/ideas/aeres/agents/alla_6959.json new file mode 100644 index 0000000..0a9d8f8 --- /dev/null +++ b/ideas/aeres/agents/alla_6959.json @@ -0,0 +1,77 @@ +{ + "id": "alla_6959", + "name": "Alla Kuznetsov", + "handle": "alla", + "gender": "female", + "description": "russian woman who works as a supermodel and loves jewerly", + "tags": [ + "high_fashion_model", + "fine jewelry", + "classical ballet", + "architectural photography", + "art history", + "pilates", + "interior design", + "linguistic studies" + ], + "avatar_url": "/media/alla_6959/avatar.webp?t=1769511376", + "banner_url": "/media/alla_6959/banner.webp?t=1769511381", + "videos": [ + "/media/alla_6959/videos/01_smile_reveal.mp4?t=1769511379" + ], + "images": [ + "/media/alla_6959/images/01_mid_mid_neutral.webp", + "/media/alla_6959/images/02_image.webp", + "/media/alla_6959/images/03_image.webp", + "/media/alla_6959/images/04_image.webp", + "/media/alla_6959/images/05_image.webp", + "/media/alla_6959/images/06_image.webp", + "/media/alla_6959/images/07_image.webp", + "/media/alla_6959/images/08_image.webp", + "/media/alla_6959/images/09_image.webp", + "/media/alla_6959/images/10_image.webp", + "/media/alla_6959/images/11_image.webp", + "/media/alla_6959/images/12_image.webp", + "/media/alla_6959/images/13_image.webp", + "/media/alla_6959/images/14_image.webp", + "/media/alla_6959/images/15_image.webp", + "/media/alla_6959/images/16_image.webp", + "/media/alla_6959/images/17_image.webp", + "/media/alla_6959/images/18_image.webp", + "/media/alla_6959/images/19_image.webp", + "/media/alla_6959/images/20_image.webp", + "/media/alla_6959/images/21_image.webp", + "/media/alla_6959/images/22_image.webp", + "/media/alla_6959/images/23_image.webp", + "/media/alla_6959/images/24_image.webp", + "/media/alla_6959/images/25_image.webp", + "/media/alla_6959/images/26_image.webp", + "/media/alla_6959/images/27_image.webp", + "/media/alla_6959/images/28_image.webp", + "/media/alla_6959/images/29_image.webp", + "/media/alla_6959/images/30_image.webp", + "/media/alla_6959/images/31_image.webp", + "/media/alla_6959/images/32_image.webp", + "/media/alla_6959/images/33_image.webp", + "/media/alla_6959/images/34_image.webp", + "/media/alla_6959/images/35_image.webp", + "/media/alla_6959/images/36_image.webp", + "/media/alla_6959/images/37_image.webp", + "/media/alla_6959/images/38_image.webp", + "/media/alla_6959/images/39_image.webp", + "/media/alla_6959/images/40_image.webp", + "/media/alla_6959/images/41_image.webp", + "/media/alla_6959/images/42_image.webp", + "/media/alla_6959/images/43_image.webp", + "/media/alla_6959/images/44_image.webp", + "/media/alla_6959/images/45_image.webp", + "/media/alla_6959/images/46_image.webp", + "/media/alla_6959/images/47_image.webp", + "/media/alla_6959/images/48_image.webp", + "/media/alla_6959/images/49_image.webp", + "/media/alla_6959/images/50_image.webp", + "/media/alla_6959/images/51_image.webp" + ], + "created_at": "2026-01-27T03:54:34.535021-07:00", + "dir_name": "alla_6959" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alok_9245.json b/ideas/aeres/agents/alok_9245.json new file mode 100644 index 0000000..0a3d6aa --- /dev/null +++ b/ideas/aeres/agents/alok_9245.json @@ -0,0 +1,73 @@ +{ + "id": "alok_9245", + "name": "Alok Mehta", + "handle": "alok", + "gender": "male", + "description": "male police officer with dreadlocks", + "tags": [ + "career_fantasy", + "urban photography", + "fitness", + "community mentorship", + "craft beer", + "vinyl records", + "basketball" + ], + "avatar_url": "/media/alok_9245/avatar.webp?t=1769433504", + "banner_url": "/media/alok_9245/banner.webp?t=1769433507", + "videos": [ + "/media/alok_9245/videos/01_smile_reveal.mp4?t=1769433550" + ], + "images": [ + "/media/alok_9245/images/01_mid_mid_neutral.webp", + "/media/alok_9245/images/02_image.webp", + "/media/alok_9245/images/03_image.webp", + "/media/alok_9245/images/04_image.webp", + "/media/alok_9245/images/05_image.webp", + "/media/alok_9245/images/06_image.webp", + "/media/alok_9245/images/07_image.webp", + "/media/alok_9245/images/08_image.webp", + "/media/alok_9245/images/09_image.webp", + "/media/alok_9245/images/10_image.webp", + "/media/alok_9245/images/11_image.webp", + "/media/alok_9245/images/12_image.webp", + "/media/alok_9245/images/14_image.webp", + "/media/alok_9245/images/15_image.webp", + "/media/alok_9245/images/17_image.webp", + "/media/alok_9245/images/18_image.webp", + "/media/alok_9245/images/19_image.webp", + "/media/alok_9245/images/20_image.webp", + "/media/alok_9245/images/21_image.webp", + "/media/alok_9245/images/22_image.webp", + "/media/alok_9245/images/23_image.webp", + "/media/alok_9245/images/24_image.webp", + "/media/alok_9245/images/25_image.webp", + "/media/alok_9245/images/26_image.webp", + "/media/alok_9245/images/27_image.webp", + "/media/alok_9245/images/28_image.webp", + "/media/alok_9245/images/29_image.webp", + "/media/alok_9245/images/30_image.webp", + "/media/alok_9245/images/31_image.webp", + "/media/alok_9245/images/32_image.webp", + "/media/alok_9245/images/33_image.webp", + "/media/alok_9245/images/34_image.webp", + "/media/alok_9245/images/35_image.webp", + "/media/alok_9245/images/36_image.webp", + "/media/alok_9245/images/37_image.webp", + "/media/alok_9245/images/38_image.webp", + "/media/alok_9245/images/39_image.webp", + "/media/alok_9245/images/40_image.webp", + "/media/alok_9245/images/41_image.webp", + "/media/alok_9245/images/42_image.webp", + "/media/alok_9245/images/43_image.webp", + "/media/alok_9245/images/44_image.webp", + "/media/alok_9245/images/45_image.webp", + "/media/alok_9245/images/46_image.webp", + "/media/alok_9245/images/47_image.webp", + "/media/alok_9245/images/48_image.webp", + "/media/alok_9245/images/49_image.webp", + "/media/alok_9245/images/50_image.webp" + ], + "created_at": "2026-01-26T06:17:19.848219-07:00", + "dir_name": "alok_9245" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alton_1a65.json b/ideas/aeres/agents/alton_1a65.json new file mode 100644 index 0000000..1d3a215 --- /dev/null +++ b/ideas/aeres/agents/alton_1a65.json @@ -0,0 +1,76 @@ +{ + "id": "alton_1a65", + "name": "Alton Robinson", + "handle": "alton", + "gender": "male", + "description": "early 30's male, electrician, lineman, hardhat, toolbelt, work truck, drill, ladder", + "tags": [ + "career_fantasy", + "restoring vintage trucks", + "safety engineering", + "strength training", + "sec football", + "urban exploration", + "grilling" + ], + "avatar_url": "/media/alton_1a65/avatar.webp?t=1769670718", + "banner_url": "/media/alton_1a65/banner.webp?t=1769670713", + "videos": [ + "/media/alton_1a65/videos/01_smile_reveal.mp4?t=1769670741" + ], + "images": [ + "/media/alton_1a65/images/01_mid_mid_neutral.webp", + "/media/alton_1a65/images/02_image.webp", + "/media/alton_1a65/images/03_image.webp", + "/media/alton_1a65/images/04_image.webp", + "/media/alton_1a65/images/05_image.webp", + "/media/alton_1a65/images/06_image.webp", + "/media/alton_1a65/images/07_image.webp", + "/media/alton_1a65/images/08_image.webp", + "/media/alton_1a65/images/09_image.webp", + "/media/alton_1a65/images/10_image.webp", + "/media/alton_1a65/images/11_image.webp", + "/media/alton_1a65/images/12_image.webp", + "/media/alton_1a65/images/13_image.webp", + "/media/alton_1a65/images/14_image.webp", + "/media/alton_1a65/images/15_image.webp", + "/media/alton_1a65/images/16_image.webp", + "/media/alton_1a65/images/17_image.webp", + "/media/alton_1a65/images/18_image.webp", + "/media/alton_1a65/images/19_image.webp", + "/media/alton_1a65/images/20_image.webp", + "/media/alton_1a65/images/21_image.webp", + "/media/alton_1a65/images/22_image.webp", + "/media/alton_1a65/images/23_image.webp", + "/media/alton_1a65/images/24_image.webp", + "/media/alton_1a65/images/25_image.webp", + "/media/alton_1a65/images/26_image.webp", + "/media/alton_1a65/images/27_image.webp", + "/media/alton_1a65/images/28_image.webp", + "/media/alton_1a65/images/29_image.webp", + "/media/alton_1a65/images/30_image.webp", + "/media/alton_1a65/images/31_image.webp", + "/media/alton_1a65/images/32_image.webp", + "/media/alton_1a65/images/33_image.webp", + "/media/alton_1a65/images/34_image.webp", + "/media/alton_1a65/images/35_image.webp", + "/media/alton_1a65/images/36_image.webp", + "/media/alton_1a65/images/37_image.webp", + "/media/alton_1a65/images/38_image.webp", + "/media/alton_1a65/images/39_image.webp", + "/media/alton_1a65/images/40_image.webp", + "/media/alton_1a65/images/41_image.webp", + "/media/alton_1a65/images/42_image.webp", + "/media/alton_1a65/images/43_image.webp", + "/media/alton_1a65/images/44_image.webp", + "/media/alton_1a65/images/45_image.webp", + "/media/alton_1a65/images/46_image.webp", + "/media/alton_1a65/images/47_image.webp", + "/media/alton_1a65/images/48_image.webp", + "/media/alton_1a65/images/49_image.webp", + "/media/alton_1a65/images/50_image.webp", + "/media/alton_1a65/images/51_image.webp" + ], + "created_at": "2026-01-29T00:10:30.197352-07:00", + "dir_name": "alton_1a65" +} \ No newline at end of file diff --git a/ideas/aeres/agents/alva_11e4.json b/ideas/aeres/agents/alva_11e4.json new file mode 100644 index 0000000..63e034c --- /dev/null +++ b/ideas/aeres/agents/alva_11e4.json @@ -0,0 +1,74 @@ +{ + "id": "alva_11e4", + "name": "Alva Svensson", + "handle": "alva", + "gender": "female", + "description": "catwoman from Romania", + "tags": [ + "cosplayer", + "costume fabrication", + "historical architecture", + "aerial acrobatics", + "vintage cinema", + "espresso brewing", + "urban exploration" + ], + "avatar_url": "/media/alva_11e4/avatar.webp?t=1770103743", + "banner_url": "/media/alva_11e4/banner.webp?t=1770103738", + "videos": [ + "/media/alva_11e4/videos/01_smile_reveal.mp4?t=1770103772" + ], + "images": [ + "/media/alva_11e4/images/01_mid_mid_neutral.webp", + "/media/alva_11e4/images/02_image.webp", + "/media/alva_11e4/images/03_image.webp", + "/media/alva_11e4/images/04_image.webp", + "/media/alva_11e4/images/05_image.webp", + "/media/alva_11e4/images/06_image.webp", + "/media/alva_11e4/images/07_image.webp", + "/media/alva_11e4/images/08_image.webp", + "/media/alva_11e4/images/09_image.webp", + "/media/alva_11e4/images/10_image.webp", + "/media/alva_11e4/images/11_image.webp", + "/media/alva_11e4/images/12_image.webp", + "/media/alva_11e4/images/13_image.webp", + "/media/alva_11e4/images/14_image.webp", + "/media/alva_11e4/images/15_image.webp", + "/media/alva_11e4/images/16_image.webp", + "/media/alva_11e4/images/17_image.webp", + "/media/alva_11e4/images/18_image.webp", + "/media/alva_11e4/images/19_image.webp", + "/media/alva_11e4/images/20_image.webp", + "/media/alva_11e4/images/21_image.webp", + "/media/alva_11e4/images/22_image.webp", + "/media/alva_11e4/images/23_image.webp", + "/media/alva_11e4/images/24_image.webp", + "/media/alva_11e4/images/25_image.webp", + "/media/alva_11e4/images/26_image.webp", + "/media/alva_11e4/images/27_image.webp", + "/media/alva_11e4/images/29_image.webp", + "/media/alva_11e4/images/30_image.webp", + "/media/alva_11e4/images/31_image.webp", + "/media/alva_11e4/images/32_image.webp", + "/media/alva_11e4/images/33_image.webp", + "/media/alva_11e4/images/34_image.webp", + "/media/alva_11e4/images/35_image.webp", + "/media/alva_11e4/images/36_image.webp", + "/media/alva_11e4/images/37_image.webp", + "/media/alva_11e4/images/38_image.webp", + "/media/alva_11e4/images/39_image.webp", + "/media/alva_11e4/images/40_image.webp", + "/media/alva_11e4/images/41_image.webp", + "/media/alva_11e4/images/43_image.webp", + "/media/alva_11e4/images/44_image.webp", + "/media/alva_11e4/images/45_image.webp", + "/media/alva_11e4/images/46_image.webp", + "/media/alva_11e4/images/47_image.webp", + "/media/alva_11e4/images/48_image.webp", + "/media/alva_11e4/images/49_image.webp", + "/media/alva_11e4/images/50_image.webp", + "/media/alva_11e4/images/51_image.webp" + ], + "created_at": "2026-02-03T00:27:51.974018-07:00", + "dir_name": "alva_11e4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amanda_25d3.json b/ideas/aeres/agents/amanda_25d3.json new file mode 100644 index 0000000..3271a26 --- /dev/null +++ b/ideas/aeres/agents/amanda_25d3.json @@ -0,0 +1,74 @@ +{ + "id": "amanda_25d3", + "name": "Amanda Thomas", + "handle": "amanda", + "gender": "female", + "description": "Batgirl", + "tags": [ + "cosplayer", + "tactical costume design", + "parkour", + "3d printing", + "urban exploration", + "craft beer", + "retro gaming", + "kickboxing" + ], + "avatar_url": "/media/amanda_25d3/avatar.webp?t=1770121628", + "banner_url": "/media/amanda_25d3/banner.webp?t=1770121634", + "videos": [ + "/media/amanda_25d3/videos/01_smile_reveal.mp4?t=1770121666" + ], + "images": [ + "/media/amanda_25d3/images/01_mid_mid_neutral.webp", + "/media/amanda_25d3/images/02_image.webp", + "/media/amanda_25d3/images/03_image.webp", + "/media/amanda_25d3/images/04_image.webp", + "/media/amanda_25d3/images/05_image.webp", + "/media/amanda_25d3/images/07_image.webp", + "/media/amanda_25d3/images/08_image.webp", + "/media/amanda_25d3/images/09_image.webp", + "/media/amanda_25d3/images/10_image.webp", + "/media/amanda_25d3/images/10_image.webp", + "/media/amanda_25d3/images/11_image.webp", + "/media/amanda_25d3/images/11_image.webp", + "/media/amanda_25d3/images/12_image.webp", + "/media/amanda_25d3/images/13_image.webp", + "/media/amanda_25d3/images/14_image.webp", + "/media/amanda_25d3/images/15_image.webp", + "/media/amanda_25d3/images/16_image.webp", + "/media/amanda_25d3/images/17_image.webp", + "/media/amanda_25d3/images/18_image.webp", + "/media/amanda_25d3/images/19_image.webp", + "/media/amanda_25d3/images/20_image.webp", + "/media/amanda_25d3/images/21_image.webp", + "/media/amanda_25d3/images/22_image.webp", + "/media/amanda_25d3/images/23_image.webp", + "/media/amanda_25d3/images/24_image.webp", + "/media/amanda_25d3/images/25_image.webp", + "/media/amanda_25d3/images/26_image.webp", + "/media/amanda_25d3/images/27_image.webp", + "/media/amanda_25d3/images/28_image.webp", + "/media/amanda_25d3/images/30_image.webp", + "/media/amanda_25d3/images/31_image.webp", + "/media/amanda_25d3/images/32_image.webp", + "/media/amanda_25d3/images/33_image.webp", + "/media/amanda_25d3/images/34_image.webp", + "/media/amanda_25d3/images/35_image.webp", + "/media/amanda_25d3/images/36_image.webp", + "/media/amanda_25d3/images/38_image.webp", + "/media/amanda_25d3/images/39_image.webp", + "/media/amanda_25d3/images/40_image.webp", + "/media/amanda_25d3/images/41_image.webp", + "/media/amanda_25d3/images/42_image.webp", + "/media/amanda_25d3/images/43_image.webp", + "/media/amanda_25d3/images/44_image.webp", + "/media/amanda_25d3/images/45_image.webp", + "/media/amanda_25d3/images/46_image.webp", + "/media/amanda_25d3/images/47_image.webp", + "/media/amanda_25d3/images/48_image.webp", + "/media/amanda_25d3/images/49_image.webp" + ], + "created_at": "2026-02-03T05:26:03.758673-07:00", + "dir_name": "amanda_25d3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amanda_3fcf.json b/ideas/aeres/agents/amanda_3fcf.json new file mode 100644 index 0000000..59cdc66 --- /dev/null +++ b/ideas/aeres/agents/amanda_3fcf.json @@ -0,0 +1,76 @@ +{ + "id": "amanda_3fcf", + "name": "Amanda Thomas", + "handle": "amanda", + "gender": "female", + "description": "boutique florist, flower shop in los angeles, family business, corner shop", + "tags": [ + "nurturer", + "sustainable gardening", + "interior design", + "classical music", + "pottery", + "indie folk music", + "baking", + "hiking" + ], + "avatar_url": "/media/amanda_3fcf/avatar.webp?t=1770120719", + "banner_url": "/media/amanda_3fcf/banner.webp?t=1770120723", + "videos": [ + "/media/amanda_3fcf/videos/01_smile_reveal.mp4?t=1770120760" + ], + "images": [ + "/media/amanda_3fcf/images/01_mid_mid_neutral.webp", + "/media/amanda_3fcf/images/02_image.webp", + "/media/amanda_3fcf/images/03_image.webp", + "/media/amanda_3fcf/images/04_image.webp", + "/media/amanda_3fcf/images/05_image.webp", + "/media/amanda_3fcf/images/06_image.webp", + "/media/amanda_3fcf/images/07_image.webp", + "/media/amanda_3fcf/images/08_image.webp", + "/media/amanda_3fcf/images/09_image.webp", + "/media/amanda_3fcf/images/10_image.webp", + "/media/amanda_3fcf/images/11_image.webp", + "/media/amanda_3fcf/images/12_image.webp", + "/media/amanda_3fcf/images/13_image.webp", + "/media/amanda_3fcf/images/14_image.webp", + "/media/amanda_3fcf/images/15_image.webp", + "/media/amanda_3fcf/images/16_image.webp", + "/media/amanda_3fcf/images/17_image.webp", + "/media/amanda_3fcf/images/18_image.webp", + "/media/amanda_3fcf/images/19_image.webp", + "/media/amanda_3fcf/images/20_image.webp", + "/media/amanda_3fcf/images/21_image.webp", + "/media/amanda_3fcf/images/22_image.webp", + "/media/amanda_3fcf/images/23_image.webp", + "/media/amanda_3fcf/images/24_image.webp", + "/media/amanda_3fcf/images/25_image.webp", + "/media/amanda_3fcf/images/26_image.webp", + "/media/amanda_3fcf/images/27_image.webp", + "/media/amanda_3fcf/images/28_image.webp", + "/media/amanda_3fcf/images/29_image.webp", + "/media/amanda_3fcf/images/30_image.webp", + "/media/amanda_3fcf/images/31_image.webp", + "/media/amanda_3fcf/images/32_image.webp", + "/media/amanda_3fcf/images/33_image.webp", + "/media/amanda_3fcf/images/34_image.webp", + "/media/amanda_3fcf/images/35_image.webp", + "/media/amanda_3fcf/images/36_image.webp", + "/media/amanda_3fcf/images/37_image.webp", + "/media/amanda_3fcf/images/38_image.webp", + "/media/amanda_3fcf/images/39_image.webp", + "/media/amanda_3fcf/images/40_image.webp", + "/media/amanda_3fcf/images/41_image.webp", + "/media/amanda_3fcf/images/42_image.webp", + "/media/amanda_3fcf/images/43_image.webp", + "/media/amanda_3fcf/images/44_image.webp", + "/media/amanda_3fcf/images/45_image.webp", + "/media/amanda_3fcf/images/46_image.webp", + "/media/amanda_3fcf/images/47_image.webp", + "/media/amanda_3fcf/images/49_image.webp", + "/media/amanda_3fcf/images/50_image.webp", + "/media/amanda_3fcf/images/51_image.webp" + ], + "created_at": "2026-02-03T05:10:50.830587-07:00", + "dir_name": "amanda_3fcf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amara_dd2f.json b/ideas/aeres/agents/amara_dd2f.json new file mode 100644 index 0000000..85ecb45 --- /dev/null +++ b/ideas/aeres/agents/amara_dd2f.json @@ -0,0 +1,73 @@ +{ + "id": "amara_dd2f", + "name": "Amara Adeyemi", + "handle": "amara", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, african ameerican, owns a restaurant and she is also the star chef there, age 40", + "tags": [ + "boss_babe", + "gastronomy", + "modern architecture", + "afrobeats", + "vintage champagne", + "horseback riding", + "interior design blogs", + "tennis" + ], + "avatar_url": "/media/amara_dd2f/avatar.webp?t=1769177860", + "banner_url": "/media/amara_dd2f/banner.webp?t=1769177851", + "videos": [ + "/media/amara_dd2f/videos/01_smile_reveal.mp4?t=1769177852" + ], + "images": [ + "/media/amara_dd2f/images/01_mid_mid_neutral.webp", + "/media/amara_dd2f/images/02_image.webp", + "/media/amara_dd2f/images/03_image.webp", + "/media/amara_dd2f/images/04_image.webp", + "/media/amara_dd2f/images/05_image.webp", + "/media/amara_dd2f/images/06_image.webp", + "/media/amara_dd2f/images/07_image.webp", + "/media/amara_dd2f/images/08_image.webp", + "/media/amara_dd2f/images/09_image.webp", + "/media/amara_dd2f/images/10_image.webp", + "/media/amara_dd2f/images/11_image.webp", + "/media/amara_dd2f/images/13_image.webp", + "/media/amara_dd2f/images/14_image.webp", + "/media/amara_dd2f/images/15_image.webp", + "/media/amara_dd2f/images/16_image.webp", + "/media/amara_dd2f/images/17_image.webp", + "/media/amara_dd2f/images/18_image.webp", + "/media/amara_dd2f/images/19_image.webp", + "/media/amara_dd2f/images/20_image.webp", + "/media/amara_dd2f/images/21_image.webp", + "/media/amara_dd2f/images/22_image.webp", + "/media/amara_dd2f/images/23_image.webp", + "/media/amara_dd2f/images/24_image.webp", + "/media/amara_dd2f/images/25_image.webp", + "/media/amara_dd2f/images/26_image.webp", + "/media/amara_dd2f/images/27_image.webp", + "/media/amara_dd2f/images/28_image.webp", + "/media/amara_dd2f/images/29_image.webp", + "/media/amara_dd2f/images/30_image.webp", + "/media/amara_dd2f/images/31_image.webp", + "/media/amara_dd2f/images/32_image.webp", + "/media/amara_dd2f/images/33_image.webp", + "/media/amara_dd2f/images/34_image.webp", + "/media/amara_dd2f/images/35_image.webp", + "/media/amara_dd2f/images/36_image.webp", + "/media/amara_dd2f/images/37_image.webp", + "/media/amara_dd2f/images/38_image.webp", + "/media/amara_dd2f/images/39_image.webp", + "/media/amara_dd2f/images/40_image.webp", + "/media/amara_dd2f/images/41_image.webp", + "/media/amara_dd2f/images/42_image.webp", + "/media/amara_dd2f/images/43_image.webp", + "/media/amara_dd2f/images/44_image.webp", + "/media/amara_dd2f/images/45_image.webp", + "/media/amara_dd2f/images/46_image.webp", + "/media/amara_dd2f/images/47_image.webp", + "/media/amara_dd2f/images/48_image.webp" + ], + "created_at": "2026-01-23T07:15:32.219305-07:00", + "dir_name": "amara_dd2f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amari_2977.json b/ideas/aeres/agents/amari_2977.json new file mode 100644 index 0000000..2814c61 --- /dev/null +++ b/ideas/aeres/agents/amari_2977.json @@ -0,0 +1,69 @@ +{ + "id": "amari_2977", + "name": "Amari Okoro", + "handle": "amari", + "gender": "male", + "description": "african man, lives in an african city, works in a wild park protecting wild life, has an appartment with a lot of natural sunlight, his furniture is traditional african", + "tags": [ + "the explorer", + "wildlife tracking", + "traditional african philosophy", + "high-end photography", + "restoring classic land rovers", + "chess", + "jazz music", + "gardening with native plants" + ], + "avatar_url": "/media/amari_2977/avatar.webp?t=1769164508", + "banner_url": "/media/amari_2977/banner.webp?t=1769164510", + "videos": [ + "/media/amari_2977/videos/01_smile_reveal.mp4?t=1769164551" + ], + "images": [ + "/media/amari_2977/images/01_mid_mid_neutral.webp", + "/media/amari_2977/images/02_image.webp", + "/media/amari_2977/images/03_image.webp", + "/media/amari_2977/images/04_image.webp", + "/media/amari_2977/images/05_image.webp", + "/media/amari_2977/images/06_image.webp", + "/media/amari_2977/images/07_image.webp", + "/media/amari_2977/images/08_image.webp", + "/media/amari_2977/images/09_image.webp", + "/media/amari_2977/images/10_image.webp", + "/media/amari_2977/images/11_image.webp", + "/media/amari_2977/images/12_image.webp", + "/media/amari_2977/images/13_image.webp", + "/media/amari_2977/images/14_image.webp", + "/media/amari_2977/images/15_image.webp", + "/media/amari_2977/images/16_image.webp", + "/media/amari_2977/images/17_image.webp", + "/media/amari_2977/images/18_image.webp", + "/media/amari_2977/images/19_image.webp", + "/media/amari_2977/images/20_image.webp", + "/media/amari_2977/images/21_image.webp", + "/media/amari_2977/images/22_image.webp", + "/media/amari_2977/images/23_image.webp", + "/media/amari_2977/images/24_image.webp", + "/media/amari_2977/images/25_image.webp", + "/media/amari_2977/images/26_image.webp", + "/media/amari_2977/images/27_image.webp", + "/media/amari_2977/images/28_image.webp", + "/media/amari_2977/images/29_image.webp", + "/media/amari_2977/images/30_image.webp", + "/media/amari_2977/images/31_image.webp", + "/media/amari_2977/images/32_image.webp", + "/media/amari_2977/images/33_image.webp", + "/media/amari_2977/images/34_image.webp", + "/media/amari_2977/images/35_image.webp", + "/media/amari_2977/images/36_image.webp", + "/media/amari_2977/images/37_image.webp", + "/media/amari_2977/images/38_image.webp", + "/media/amari_2977/images/39_image.webp", + "/media/amari_2977/images/40_image.webp", + "/media/amari_2977/images/41_image.webp", + "/media/amari_2977/images/42_image.webp", + "/media/amari_2977/images/43_image.webp" + ], + "created_at": "2026-01-23T03:34:01.278048-07:00", + "dir_name": "amari_2977" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amaru_516e.json b/ideas/aeres/agents/amaru_516e.json new file mode 100644 index 0000000..025c8fc --- /dev/null +++ b/ideas/aeres/agents/amaru_516e.json @@ -0,0 +1,70 @@ +{ + "id": "amaru_516e", + "name": "Amaru Gonzalez", + "handle": "amaru", + "gender": "male", + "description": "south american writer, loves books, literature, well educated, full set of hair, tall, wears glasses", + "tags": [ + "intellectual", + "rare book collecting", + "analog photography", + "classical guitar", + "historical linguistics", + "artisan bread baking", + "slow-form journalism", + "urban hiking" + ], + "avatar_url": "/media/amaru_516e/avatar.webp?t=1769163979", + "banner_url": "/media/amaru_516e/banner.webp?t=1769163980", + "videos": [ + "/media/amaru_516e/videos/01_smile_reveal.mp4?t=1769164019" + ], + "images": [ + "/media/amaru_516e/images/01_mid_mid_neutral.webp", + "/media/amaru_516e/images/02_image.webp", + "/media/amaru_516e/images/03_image.webp", + "/media/amaru_516e/images/04_image.webp", + "/media/amaru_516e/images/05_image.webp", + "/media/amaru_516e/images/06_image.webp", + "/media/amaru_516e/images/07_image.webp", + "/media/amaru_516e/images/08_image.webp", + "/media/amaru_516e/images/09_image.webp", + "/media/amaru_516e/images/10_image.webp", + "/media/amaru_516e/images/11_image.webp", + "/media/amaru_516e/images/12_image.webp", + "/media/amaru_516e/images/13_image.webp", + "/media/amaru_516e/images/14_image.webp", + "/media/amaru_516e/images/15_image.webp", + "/media/amaru_516e/images/16_image.webp", + "/media/amaru_516e/images/17_image.webp", + "/media/amaru_516e/images/18_image.webp", + "/media/amaru_516e/images/19_image.webp", + "/media/amaru_516e/images/20_image.webp", + "/media/amaru_516e/images/21_image.webp", + "/media/amaru_516e/images/22_image.webp", + "/media/amaru_516e/images/23_image.webp", + "/media/amaru_516e/images/24_image.webp", + "/media/amaru_516e/images/25_image.webp", + "/media/amaru_516e/images/26_image.webp", + "/media/amaru_516e/images/27_image.webp", + "/media/amaru_516e/images/28_image.webp", + "/media/amaru_516e/images/29_image.webp", + "/media/amaru_516e/images/30_image.webp", + "/media/amaru_516e/images/31_image.webp", + "/media/amaru_516e/images/32_image.webp", + "/media/amaru_516e/images/33_image.webp", + "/media/amaru_516e/images/34_image.webp", + "/media/amaru_516e/images/35_image.webp", + "/media/amaru_516e/images/36_image.webp", + "/media/amaru_516e/images/37_image.webp", + "/media/amaru_516e/images/38_image.webp", + "/media/amaru_516e/images/39_image.webp", + "/media/amaru_516e/images/40_image.webp", + "/media/amaru_516e/images/41_image.webp", + "/media/amaru_516e/images/42_image.webp", + "/media/amaru_516e/images/43_image.webp", + "/media/amaru_516e/images/44_image.webp" + ], + "created_at": "2026-01-23T03:25:09.1982-07:00", + "dir_name": "amaru_516e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ameyalli_45af.json b/ideas/aeres/agents/ameyalli_45af.json new file mode 100644 index 0000000..b6e98a5 --- /dev/null +++ b/ideas/aeres/agents/ameyalli_45af.json @@ -0,0 +1,75 @@ +{ + "id": "ameyalli_45af", + "name": "Ameyalli Martinez", + "handle": "ameyalli", + "gender": "female", + "description": "nerdy woman who is a Formula 1 pilot", + "tags": [ + "career_fantasy", + "aerodynamics", + "precision driving", + "data telemetry", + "olympic weightlifting", + "surfing", + "coffee roasting", + "drone piloting" + ], + "avatar_url": "/media/ameyalli_45af/avatar.webp?t=1769418771", + "banner_url": "/media/ameyalli_45af/banner.webp?t=1769418780", + "videos": [ + "/media/ameyalli_45af/videos/01_smile_reveal.mp4?t=1769418805" + ], + "images": [ + "/media/ameyalli_45af/images/01_mid_mid_neutral.webp", + "/media/ameyalli_45af/images/02_image.webp", + "/media/ameyalli_45af/images/03_image.webp", + "/media/ameyalli_45af/images/04_image.webp", + "/media/ameyalli_45af/images/05_image.webp", + "/media/ameyalli_45af/images/07_image.webp", + "/media/ameyalli_45af/images/08_image.webp", + "/media/ameyalli_45af/images/09_image.webp", + "/media/ameyalli_45af/images/10_image.webp", + "/media/ameyalli_45af/images/11_image.webp", + "/media/ameyalli_45af/images/12_image.webp", + "/media/ameyalli_45af/images/13_image.webp", + "/media/ameyalli_45af/images/14_image.webp", + "/media/ameyalli_45af/images/15_image.webp", + "/media/ameyalli_45af/images/16_image.webp", + "/media/ameyalli_45af/images/17_image.webp", + "/media/ameyalli_45af/images/18_image.webp", + "/media/ameyalli_45af/images/19_image.webp", + "/media/ameyalli_45af/images/20_image.webp", + "/media/ameyalli_45af/images/21_image.webp", + "/media/ameyalli_45af/images/22_image.webp", + "/media/ameyalli_45af/images/23_image.webp", + "/media/ameyalli_45af/images/24_image.webp", + "/media/ameyalli_45af/images/25_image.webp", + "/media/ameyalli_45af/images/26_image.webp", + "/media/ameyalli_45af/images/27_image.webp", + "/media/ameyalli_45af/images/28_image.webp", + "/media/ameyalli_45af/images/29_image.webp", + "/media/ameyalli_45af/images/31_image.webp", + "/media/ameyalli_45af/images/32_image.webp", + "/media/ameyalli_45af/images/33_image.webp", + "/media/ameyalli_45af/images/34_image.webp", + "/media/ameyalli_45af/images/35_image.webp", + "/media/ameyalli_45af/images/36_image.webp", + "/media/ameyalli_45af/images/37_image.webp", + "/media/ameyalli_45af/images/38_image.webp", + "/media/ameyalli_45af/images/39_image.webp", + "/media/ameyalli_45af/images/40_image.webp", + "/media/ameyalli_45af/images/41_image.webp", + "/media/ameyalli_45af/images/42_image.webp", + "/media/ameyalli_45af/images/43_image.webp", + "/media/ameyalli_45af/images/44_image.webp", + "/media/ameyalli_45af/images/45_image.webp", + "/media/ameyalli_45af/images/46_image.webp", + "/media/ameyalli_45af/images/47_image.webp", + "/media/ameyalli_45af/images/48_image.webp", + "/media/ameyalli_45af/images/49_image.webp", + "/media/ameyalli_45af/images/50_image.webp", + "/media/ameyalli_45af/images/51_image.webp" + ], + "created_at": "2026-01-26T02:11:34.584984-07:00", + "dir_name": "ameyalli_45af" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amira_9e2f.json b/ideas/aeres/agents/amira_9e2f.json new file mode 100644 index 0000000..39e3b5b --- /dev/null +++ b/ideas/aeres/agents/amira_9e2f.json @@ -0,0 +1,76 @@ +{ + "id": "amira_9e2f", + "name": "Amira El-Sayed", + "handle": "amira", + "gender": "female", + "description": "lebanese woman with glasses who cosplays as a witch", + "tags": [ + "witch_aesthetic", + "historical costuming", + "occult history", + "rare book collecting", + "herbology", + "botanical illustration", + "tea blending", + "indie horror games" + ], + "avatar_url": "/media/amira_9e2f/avatar.webp?t=1769765390", + "banner_url": "/media/amira_9e2f/banner.webp?t=1769765379", + "videos": [ + "/media/amira_9e2f/videos/01_smile_reveal.mp4?t=1769765411" + ], + "images": [ + "/media/amira_9e2f/images/01_mid_mid_neutral.webp", + "/media/amira_9e2f/images/02_image.webp", + "/media/amira_9e2f/images/03_image.webp", + "/media/amira_9e2f/images/04_image.webp", + "/media/amira_9e2f/images/05_image.webp", + "/media/amira_9e2f/images/06_image.webp", + "/media/amira_9e2f/images/07_image.webp", + "/media/amira_9e2f/images/08_image.webp", + "/media/amira_9e2f/images/09_image.webp", + "/media/amira_9e2f/images/10_image.webp", + "/media/amira_9e2f/images/11_image.webp", + "/media/amira_9e2f/images/12_image.webp", + "/media/amira_9e2f/images/13_image.webp", + "/media/amira_9e2f/images/14_image.webp", + "/media/amira_9e2f/images/15_image.webp", + "/media/amira_9e2f/images/16_image.webp", + "/media/amira_9e2f/images/17_image.webp", + "/media/amira_9e2f/images/18_image.webp", + "/media/amira_9e2f/images/20_image.webp", + "/media/amira_9e2f/images/21_image.webp", + "/media/amira_9e2f/images/22_image.webp", + "/media/amira_9e2f/images/23_image.webp", + "/media/amira_9e2f/images/24_image.webp", + "/media/amira_9e2f/images/25_image.webp", + "/media/amira_9e2f/images/26_image.webp", + "/media/amira_9e2f/images/27_image.webp", + "/media/amira_9e2f/images/28_image.webp", + "/media/amira_9e2f/images/29_image.webp", + "/media/amira_9e2f/images/30_image.webp", + "/media/amira_9e2f/images/31_image.webp", + "/media/amira_9e2f/images/32_image.webp", + "/media/amira_9e2f/images/33_image.webp", + "/media/amira_9e2f/images/34_image.webp", + "/media/amira_9e2f/images/35_image.webp", + "/media/amira_9e2f/images/36_image.webp", + "/media/amira_9e2f/images/37_image.webp", + "/media/amira_9e2f/images/38_image.webp", + "/media/amira_9e2f/images/39_image.webp", + "/media/amira_9e2f/images/40_image.webp", + "/media/amira_9e2f/images/41_image.webp", + "/media/amira_9e2f/images/42_image.webp", + "/media/amira_9e2f/images/43_image.webp", + "/media/amira_9e2f/images/44_image.webp", + "/media/amira_9e2f/images/45_image.webp", + "/media/amira_9e2f/images/46_image.webp", + "/media/amira_9e2f/images/47_image.webp", + "/media/amira_9e2f/images/48_image.webp", + "/media/amira_9e2f/images/49_image.webp", + "/media/amira_9e2f/images/50_image.webp", + "/media/amira_9e2f/images/51_image.webp" + ], + "created_at": "2026-01-30T02:27:56.698162-07:00", + "dir_name": "amira_9e2f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amira_c35c.json b/ideas/aeres/agents/amira_c35c.json new file mode 100644 index 0000000..abc5458 --- /dev/null +++ b/ideas/aeres/agents/amira_c35c.json @@ -0,0 +1,76 @@ +{ + "id": "amira_c35c", + "name": "Amira Haddad", + "handle": "amira", + "gender": "female", + "description": "female from Egypt who is a hypebeast", + "tags": [ + "baddie", + "contemporary art", + "sneaker culture", + "middle eastern history", + "interior design", + "pilates", + "vinyl collecting", + "wine tasting" + ], + "avatar_url": "/media/amira_c35c/avatar.webp?t=1769757127", + "banner_url": "/media/amira_c35c/banner.webp?t=1769757146", + "videos": [ + "/media/amira_c35c/videos/01_smile_reveal.mp4?t=1769757155" + ], + "images": [ + "/media/amira_c35c/images/01_mid_mid_neutral.webp", + "/media/amira_c35c/images/02_image.webp", + "/media/amira_c35c/images/03_image.webp", + "/media/amira_c35c/images/04_image.webp", + "/media/amira_c35c/images/05_image.webp", + "/media/amira_c35c/images/06_image.webp", + "/media/amira_c35c/images/07_image.webp", + "/media/amira_c35c/images/08_image.webp", + "/media/amira_c35c/images/09_image.webp", + "/media/amira_c35c/images/10_image.webp", + "/media/amira_c35c/images/11_image.webp", + "/media/amira_c35c/images/12_image.webp", + "/media/amira_c35c/images/13_image.webp", + "/media/amira_c35c/images/14_image.webp", + "/media/amira_c35c/images/15_image.webp", + "/media/amira_c35c/images/16_image.webp", + "/media/amira_c35c/images/17_image.webp", + "/media/amira_c35c/images/18_image.webp", + "/media/amira_c35c/images/19_image.webp", + "/media/amira_c35c/images/20_image.webp", + "/media/amira_c35c/images/21_image.webp", + "/media/amira_c35c/images/23_image.webp", + "/media/amira_c35c/images/24_image.webp", + "/media/amira_c35c/images/25_image.webp", + "/media/amira_c35c/images/26_image.webp", + "/media/amira_c35c/images/27_image.webp", + "/media/amira_c35c/images/28_image.webp", + "/media/amira_c35c/images/29_image.webp", + "/media/amira_c35c/images/30_image.webp", + "/media/amira_c35c/images/31_image.webp", + "/media/amira_c35c/images/32_image.webp", + "/media/amira_c35c/images/33_image.webp", + "/media/amira_c35c/images/34_image.webp", + "/media/amira_c35c/images/35_image.webp", + "/media/amira_c35c/images/36_image.webp", + "/media/amira_c35c/images/37_image.webp", + "/media/amira_c35c/images/38_image.webp", + "/media/amira_c35c/images/39_image.webp", + "/media/amira_c35c/images/40_image.webp", + "/media/amira_c35c/images/41_image.webp", + "/media/amira_c35c/images/42_image.webp", + "/media/amira_c35c/images/43_image.webp", + "/media/amira_c35c/images/44_image.webp", + "/media/amira_c35c/images/45_image.webp", + "/media/amira_c35c/images/46_image.webp", + "/media/amira_c35c/images/47_image.webp", + "/media/amira_c35c/images/48_image.webp", + "/media/amira_c35c/images/49_image.webp", + "/media/amira_c35c/images/50_image.webp", + "/media/amira_c35c/images/51_image.webp" + ], + "created_at": "2026-01-30T00:10:38.120915-07:00", + "dir_name": "amira_c35c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amira_c854.json b/ideas/aeres/agents/amira_c854.json new file mode 100644 index 0000000..997f1d5 --- /dev/null +++ b/ideas/aeres/agents/amira_c854.json @@ -0,0 +1,75 @@ +{ + "id": "amira_c854", + "name": "Amira Al-Farsi", + "handle": "amira", + "gender": "female", + "description": "arabian woman who works as a engineer", + "tags": [ + "career_fantasy", + "generative architecture", + "classical piano", + "sustainable tech", + "rare book collecting", + "indoor bouldering", + "wine tasting", + "foreign cinema" + ], + "avatar_url": "/media/amira_c854/avatar.webp?t=1769780827", + "banner_url": "/media/amira_c854/banner.webp?t=1769780819", + "videos": [ + "/media/amira_c854/videos/01_smile_reveal.mp4?t=1769780876" + ], + "images": [ + "/media/amira_c854/images/01_mid_mid_neutral.webp", + "/media/amira_c854/images/02_image.webp", + "/media/amira_c854/images/03_image.webp", + "/media/amira_c854/images/04_image.webp", + "/media/amira_c854/images/05_image.webp", + "/media/amira_c854/images/06_image.webp", + "/media/amira_c854/images/07_image.webp", + "/media/amira_c854/images/08_image.webp", + "/media/amira_c854/images/09_image.webp", + "/media/amira_c854/images/10_image.webp", + "/media/amira_c854/images/11_image.webp", + "/media/amira_c854/images/12_image.webp", + "/media/amira_c854/images/13_image.webp", + "/media/amira_c854/images/14_image.webp", + "/media/amira_c854/images/15_image.webp", + "/media/amira_c854/images/16_image.webp", + "/media/amira_c854/images/17_image.webp", + "/media/amira_c854/images/19_image.webp", + "/media/amira_c854/images/20_image.webp", + "/media/amira_c854/images/21_image.webp", + "/media/amira_c854/images/22_image.webp", + "/media/amira_c854/images/23_image.webp", + "/media/amira_c854/images/24_image.webp", + "/media/amira_c854/images/25_image.webp", + "/media/amira_c854/images/26_image.webp", + "/media/amira_c854/images/27_image.webp", + "/media/amira_c854/images/28_image.webp", + "/media/amira_c854/images/29_image.webp", + "/media/amira_c854/images/30_image.webp", + "/media/amira_c854/images/31_image.webp", + "/media/amira_c854/images/32_image.webp", + "/media/amira_c854/images/33_image.webp", + "/media/amira_c854/images/34_image.webp", + "/media/amira_c854/images/35_image.webp", + "/media/amira_c854/images/36_image.webp", + "/media/amira_c854/images/37_image.webp", + "/media/amira_c854/images/38_image.webp", + "/media/amira_c854/images/39_image.webp", + "/media/amira_c854/images/40_image.webp", + "/media/amira_c854/images/41_image.webp", + "/media/amira_c854/images/42_image.webp", + "/media/amira_c854/images/43_image.webp", + "/media/amira_c854/images/44_image.webp", + "/media/amira_c854/images/45_image.webp", + "/media/amira_c854/images/47_image.webp", + "/media/amira_c854/images/48_image.webp", + "/media/amira_c854/images/49_image.webp", + "/media/amira_c854/images/50_image.webp", + "/media/amira_c854/images/51_image.webp" + ], + "created_at": "2026-01-30T06:45:43.262118-07:00", + "dir_name": "amira_c854" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amy_0734.json b/ideas/aeres/agents/amy_0734.json new file mode 100644 index 0000000..dedbdbb --- /dev/null +++ b/ideas/aeres/agents/amy_0734.json @@ -0,0 +1,75 @@ +{ + "id": "amy_0734", + "name": "Amy Moore", + "handle": "amy", + "gender": "female", + "description": "successful lawyer, 40 years old, los angeles, sports car, big practice, corner office, law firm partner", + "tags": [ + "boss_babe", + "contemporary african art", + "equestrian sports", + "international business law", + "philanthropy", + "interior design", + "vintage champagne", + "tennis" + ], + "avatar_url": "/media/amy_0734/avatar.webp?t=1769768607", + "banner_url": "/media/amy_0734/banner.webp?t=1769768636", + "videos": [ + "/media/amy_0734/videos/01_smile_reveal.mp4?t=1769768641" + ], + "images": [ + "/media/amy_0734/images/01_mid_mid_neutral.webp", + "/media/amy_0734/images/02_image.webp", + "/media/amy_0734/images/03_image.webp", + "/media/amy_0734/images/04_image.webp", + "/media/amy_0734/images/05_image.webp", + "/media/amy_0734/images/06_image.webp", + "/media/amy_0734/images/07_image.webp", + "/media/amy_0734/images/08_image.webp", + "/media/amy_0734/images/10_image.webp", + "/media/amy_0734/images/11_image.webp", + "/media/amy_0734/images/12_image.webp", + "/media/amy_0734/images/13_image.webp", + "/media/amy_0734/images/14_image.webp", + "/media/amy_0734/images/15_image.webp", + "/media/amy_0734/images/16_image.webp", + "/media/amy_0734/images/17_image.webp", + "/media/amy_0734/images/18_image.webp", + "/media/amy_0734/images/19_image.webp", + "/media/amy_0734/images/21_image.webp", + "/media/amy_0734/images/22_image.webp", + "/media/amy_0734/images/23_image.webp", + "/media/amy_0734/images/24_image.webp", + "/media/amy_0734/images/25_image.webp", + "/media/amy_0734/images/26_image.webp", + "/media/amy_0734/images/27_image.webp", + "/media/amy_0734/images/28_image.webp", + "/media/amy_0734/images/29_image.webp", + "/media/amy_0734/images/30_image.webp", + "/media/amy_0734/images/31_image.webp", + "/media/amy_0734/images/32_image.webp", + "/media/amy_0734/images/33_image.webp", + "/media/amy_0734/images/34_image.webp", + "/media/amy_0734/images/35_image.webp", + "/media/amy_0734/images/36_image.webp", + "/media/amy_0734/images/37_image.webp", + "/media/amy_0734/images/38_image.webp", + "/media/amy_0734/images/39_image.webp", + "/media/amy_0734/images/40_image.webp", + "/media/amy_0734/images/41_image.webp", + "/media/amy_0734/images/42_image.webp", + "/media/amy_0734/images/43_image.webp", + "/media/amy_0734/images/44_image.webp", + "/media/amy_0734/images/45_image.webp", + "/media/amy_0734/images/46_image.webp", + "/media/amy_0734/images/47_image.webp", + "/media/amy_0734/images/48_image.webp", + "/media/amy_0734/images/49_image.webp", + "/media/amy_0734/images/50_image.webp", + "/media/amy_0734/images/51_image.webp" + ], + "created_at": "2026-01-30T03:22:24.363985-07:00", + "dir_name": "amy_0734" +} \ No newline at end of file diff --git a/ideas/aeres/agents/amy_41e9.json b/ideas/aeres/agents/amy_41e9.json new file mode 100644 index 0000000..ab80318 --- /dev/null +++ b/ideas/aeres/agents/amy_41e9.json @@ -0,0 +1,77 @@ +{ + "id": "amy_41e9", + "name": "Amy Harris", + "handle": "amy", + "gender": "female", + "description": "beautiful woman, 40 years old, tall slender white skin long black hair, lives in a castle, should look a lot like Morticia Adams", + "tags": [ + "vampire_mistress", + "taxidermy", + "opera", + "historic architecture", + "perfume blending", + "chess", + "botany", + "film noir" + ], + "avatar_url": "/media/amy_41e9/avatar.webp?t=1769589310", + "banner_url": "/media/amy_41e9/banner.webp?t=1769589336", + "videos": [ + "/media/amy_41e9/videos/01_smile_reveal.mp4?t=1769589351" + ], + "images": [ + "/media/amy_41e9/images/01_mid_mid_neutral.webp", + "/media/amy_41e9/images/02_image.webp", + "/media/amy_41e9/images/03_image.webp", + "/media/amy_41e9/images/04_image.webp", + "/media/amy_41e9/images/05_image.webp", + "/media/amy_41e9/images/06_image.webp", + "/media/amy_41e9/images/07_image.webp", + "/media/amy_41e9/images/08_image.webp", + "/media/amy_41e9/images/09_image.webp", + "/media/amy_41e9/images/10_image.webp", + "/media/amy_41e9/images/11_image.webp", + "/media/amy_41e9/images/12_image.webp", + "/media/amy_41e9/images/13_image.webp", + "/media/amy_41e9/images/14_image.webp", + "/media/amy_41e9/images/15_image.webp", + "/media/amy_41e9/images/16_image.webp", + "/media/amy_41e9/images/17_image.webp", + "/media/amy_41e9/images/18_image.webp", + "/media/amy_41e9/images/19_image.webp", + "/media/amy_41e9/images/20_image.webp", + "/media/amy_41e9/images/21_image.webp", + "/media/amy_41e9/images/22_image.webp", + "/media/amy_41e9/images/23_image.webp", + "/media/amy_41e9/images/24_image.webp", + "/media/amy_41e9/images/25_image.webp", + "/media/amy_41e9/images/26_image.webp", + "/media/amy_41e9/images/27_image.webp", + "/media/amy_41e9/images/28_image.webp", + "/media/amy_41e9/images/29_image.webp", + "/media/amy_41e9/images/30_image.webp", + "/media/amy_41e9/images/31_image.webp", + "/media/amy_41e9/images/32_image.webp", + "/media/amy_41e9/images/33_image.webp", + "/media/amy_41e9/images/34_image.webp", + "/media/amy_41e9/images/35_image.webp", + "/media/amy_41e9/images/36_image.webp", + "/media/amy_41e9/images/37_image.webp", + "/media/amy_41e9/images/38_image.webp", + "/media/amy_41e9/images/39_image.webp", + "/media/amy_41e9/images/40_image.webp", + "/media/amy_41e9/images/41_image.webp", + "/media/amy_41e9/images/42_image.webp", + "/media/amy_41e9/images/43_image.webp", + "/media/amy_41e9/images/44_image.webp", + "/media/amy_41e9/images/45_image.webp", + "/media/amy_41e9/images/46_image.webp", + "/media/amy_41e9/images/47_image.webp", + "/media/amy_41e9/images/48_image.webp", + "/media/amy_41e9/images/49_image.webp", + "/media/amy_41e9/images/50_image.webp", + "/media/amy_41e9/images/51_image.webp" + ], + "created_at": "2026-01-28T01:33:50.249475-07:00", + "dir_name": "amy_41e9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ana_júlia_bef4.json b/ideas/aeres/agents/ana_júlia_bef4.json new file mode 100644 index 0000000..81d735a --- /dev/null +++ b/ideas/aeres/agents/ana_júlia_bef4.json @@ -0,0 +1,76 @@ +{ + "id": "ana_júlia_bef4", + "name": "Ana Júlia Rodrigues", + "handle": "ana júlia", + "gender": "female", + "description": "brazilian woman who works as a bartender", + "tags": [ + "latina_bombshell", + "molecular mixology", + "vinyl records", + "bossa nova", + "tropical botany", + "photography", + "pilates", + "historical fiction" + ], + "avatar_url": "/media/ana_júlia_bef4/avatar.webp?t=1769499924", + "banner_url": "/media/ana_júlia_bef4/banner.webp?t=1769500059", + "videos": [ + "/media/ana_júlia_bef4/videos/01_smile_reveal.mp4?t=1769499964" + ], + "images": [ + "/media/ana_júlia_bef4/images/01_mid_mid_neutral.webp", + "/media/ana_júlia_bef4/images/02_image.webp", + "/media/ana_júlia_bef4/images/03_image.webp", + "/media/ana_júlia_bef4/images/04_image.webp", + "/media/ana_júlia_bef4/images/05_image.webp", + "/media/ana_júlia_bef4/images/06_image.webp", + "/media/ana_júlia_bef4/images/07_image.webp", + "/media/ana_júlia_bef4/images/08_image.webp", + "/media/ana_júlia_bef4/images/09_image.webp", + "/media/ana_júlia_bef4/images/10_image.webp", + "/media/ana_júlia_bef4/images/11_image.webp", + "/media/ana_júlia_bef4/images/12_image.webp", + "/media/ana_júlia_bef4/images/14_image.webp", + "/media/ana_júlia_bef4/images/15_image.webp", + "/media/ana_júlia_bef4/images/16_image.webp", + "/media/ana_júlia_bef4/images/17_image.webp", + "/media/ana_júlia_bef4/images/18_image.webp", + "/media/ana_júlia_bef4/images/19_image.webp", + "/media/ana_júlia_bef4/images/20_image.webp", + "/media/ana_júlia_bef4/images/21_image.webp", + "/media/ana_júlia_bef4/images/22_image.webp", + "/media/ana_júlia_bef4/images/23_image.webp", + "/media/ana_júlia_bef4/images/24_image.webp", + "/media/ana_júlia_bef4/images/25_image.webp", + "/media/ana_júlia_bef4/images/26_image.webp", + "/media/ana_júlia_bef4/images/27_image.webp", + "/media/ana_júlia_bef4/images/28_image.webp", + "/media/ana_júlia_bef4/images/29_image.webp", + "/media/ana_júlia_bef4/images/30_image.webp", + "/media/ana_júlia_bef4/images/31_image.webp", + "/media/ana_júlia_bef4/images/32_image.webp", + "/media/ana_júlia_bef4/images/33_image.webp", + "/media/ana_júlia_bef4/images/34_image.webp", + "/media/ana_júlia_bef4/images/35_image.webp", + "/media/ana_júlia_bef4/images/36_image.webp", + "/media/ana_júlia_bef4/images/37_image.webp", + "/media/ana_júlia_bef4/images/38_image.webp", + "/media/ana_júlia_bef4/images/39_image.webp", + "/media/ana_júlia_bef4/images/40_image.webp", + "/media/ana_júlia_bef4/images/41_image.webp", + "/media/ana_júlia_bef4/images/42_image.webp", + "/media/ana_júlia_bef4/images/43_image.webp", + "/media/ana_júlia_bef4/images/44_image.webp", + "/media/ana_júlia_bef4/images/45_image.webp", + "/media/ana_júlia_bef4/images/46_image.webp", + "/media/ana_júlia_bef4/images/47_image.webp", + "/media/ana_júlia_bef4/images/48_image.webp", + "/media/ana_júlia_bef4/images/49_image.webp", + "/media/ana_júlia_bef4/images/50_image.webp", + "/media/ana_júlia_bef4/images/51_image.webp" + ], + "created_at": "2026-01-27T00:44:16.219003-07:00", + "dir_name": "ana_júlia_bef4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ana_laura_5bec.json b/ideas/aeres/agents/ana_laura_5bec.json new file mode 100644 index 0000000..ad00b69 --- /dev/null +++ b/ideas/aeres/agents/ana_laura_5bec.json @@ -0,0 +1,77 @@ +{ + "id": "ana_laura_5bec", + "name": "Ana Laura Vargas", + "handle": "ana laura", + "gender": "female", + "description": "dark haired female with grillz who is a graffiti artist", + "tags": [ + "baddie", + "metal fabrication", + "street photography", + "sneaker collecting", + "urban exploration", + "vinyl records", + "brunch culture", + "astrology" + ], + "avatar_url": "/media/ana_laura_5bec/avatar.webp?t=1770209673", + "banner_url": "/media/ana_laura_5bec/banner.webp?t=1770209681", + "videos": [ + "/media/ana_laura_5bec/videos/01_smile_reveal.mp4?t=1770209722" + ], + "images": [ + "/media/ana_laura_5bec/images/01_mid_mid_neutral.webp", + "/media/ana_laura_5bec/images/02_image.webp", + "/media/ana_laura_5bec/images/03_image.webp", + "/media/ana_laura_5bec/images/04_image.webp", + "/media/ana_laura_5bec/images/05_image.webp", + "/media/ana_laura_5bec/images/06_image.webp", + "/media/ana_laura_5bec/images/07_image.webp", + "/media/ana_laura_5bec/images/08_image.webp", + "/media/ana_laura_5bec/images/09_image.webp", + "/media/ana_laura_5bec/images/10_image.webp", + "/media/ana_laura_5bec/images/11_image.webp", + "/media/ana_laura_5bec/images/12_image.webp", + "/media/ana_laura_5bec/images/13_image.webp", + "/media/ana_laura_5bec/images/14_image.webp", + "/media/ana_laura_5bec/images/15_image.webp", + "/media/ana_laura_5bec/images/16_image.webp", + "/media/ana_laura_5bec/images/17_image.webp", + "/media/ana_laura_5bec/images/18_image.webp", + "/media/ana_laura_5bec/images/19_image.webp", + "/media/ana_laura_5bec/images/20_image.webp", + "/media/ana_laura_5bec/images/21_image.webp", + "/media/ana_laura_5bec/images/22_image.webp", + "/media/ana_laura_5bec/images/23_image.webp", + "/media/ana_laura_5bec/images/24_image.webp", + "/media/ana_laura_5bec/images/25_image.webp", + "/media/ana_laura_5bec/images/26_image.webp", + "/media/ana_laura_5bec/images/27_image.webp", + "/media/ana_laura_5bec/images/28_image.webp", + "/media/ana_laura_5bec/images/29_image.webp", + "/media/ana_laura_5bec/images/30_image.webp", + "/media/ana_laura_5bec/images/31_image.webp", + "/media/ana_laura_5bec/images/32_image.webp", + "/media/ana_laura_5bec/images/33_image.webp", + "/media/ana_laura_5bec/images/34_image.webp", + "/media/ana_laura_5bec/images/35_image.webp", + "/media/ana_laura_5bec/images/36_image.webp", + "/media/ana_laura_5bec/images/37_image.webp", + "/media/ana_laura_5bec/images/38_image.webp", + "/media/ana_laura_5bec/images/39_image.webp", + "/media/ana_laura_5bec/images/40_image.webp", + "/media/ana_laura_5bec/images/41_image.webp", + "/media/ana_laura_5bec/images/42_image.webp", + "/media/ana_laura_5bec/images/43_image.webp", + "/media/ana_laura_5bec/images/44_image.webp", + "/media/ana_laura_5bec/images/45_image.webp", + "/media/ana_laura_5bec/images/46_image.webp", + "/media/ana_laura_5bec/images/47_image.webp", + "/media/ana_laura_5bec/images/48_image.webp", + "/media/ana_laura_5bec/images/49_image.webp", + "/media/ana_laura_5bec/images/50_image.webp", + "/media/ana_laura_5bec/images/51_image.webp" + ], + "created_at": "2026-02-04T05:53:27.430353-07:00", + "dir_name": "ana_laura_5bec" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anastasia_f431.json b/ideas/aeres/agents/anastasia_f431.json new file mode 100644 index 0000000..faae17c --- /dev/null +++ b/ideas/aeres/agents/anastasia_f431.json @@ -0,0 +1,75 @@ +{ + "id": "anastasia_f431", + "name": "Anastasia Volkova", + "handle": "anastasia", + "gender": "female", + "description": "blonde ukrainian woman who cosplays as Barbie", + "tags": [ + "bimbo_barbie", + "barbiecore fashion", + "skincare science", + "interior design", + "pilates", + "baking macarons", + "floral arrangement", + "pop music" + ], + "avatar_url": "/media/anastasia_f431/avatar.webp?t=1769767550", + "banner_url": "/media/anastasia_f431/banner.webp?t=1769767229", + "videos": [ + "/media/anastasia_f431/videos/01_smile_reveal.mp4?t=1769767253" + ], + "images": [ + "/media/anastasia_f431/images/01_mid_mid_neutral.webp", + "/media/anastasia_f431/images/02_image.webp", + "/media/anastasia_f431/images/03_image.webp", + "/media/anastasia_f431/images/04_image.webp", + "/media/anastasia_f431/images/05_image.webp", + "/media/anastasia_f431/images/07_image.webp", + "/media/anastasia_f431/images/08_image.webp", + "/media/anastasia_f431/images/09_image.webp", + "/media/anastasia_f431/images/10_image.webp", + "/media/anastasia_f431/images/11_image.webp", + "/media/anastasia_f431/images/12_image.webp", + "/media/anastasia_f431/images/13_image.webp", + "/media/anastasia_f431/images/14_image.webp", + "/media/anastasia_f431/images/15_image.webp", + "/media/anastasia_f431/images/16_image.webp", + "/media/anastasia_f431/images/17_image.webp", + "/media/anastasia_f431/images/18_image.webp", + "/media/anastasia_f431/images/19_image.webp", + "/media/anastasia_f431/images/20_image.webp", + "/media/anastasia_f431/images/21_image.webp", + "/media/anastasia_f431/images/22_image.webp", + "/media/anastasia_f431/images/23_image.webp", + "/media/anastasia_f431/images/24_image.webp", + "/media/anastasia_f431/images/25_image.webp", + "/media/anastasia_f431/images/26_image.webp", + "/media/anastasia_f431/images/27_image.webp", + "/media/anastasia_f431/images/28_image.webp", + "/media/anastasia_f431/images/29_image.webp", + "/media/anastasia_f431/images/30_image.webp", + "/media/anastasia_f431/images/31_image.webp", + "/media/anastasia_f431/images/32_image.webp", + "/media/anastasia_f431/images/33_image.webp", + "/media/anastasia_f431/images/34_image.webp", + "/media/anastasia_f431/images/35_image.webp", + "/media/anastasia_f431/images/36_image.webp", + "/media/anastasia_f431/images/37_image.webp", + "/media/anastasia_f431/images/38_image.webp", + "/media/anastasia_f431/images/39_image.webp", + "/media/anastasia_f431/images/40_image.webp", + "/media/anastasia_f431/images/41_image.webp", + "/media/anastasia_f431/images/42_image.webp", + "/media/anastasia_f431/images/43_image.webp", + "/media/anastasia_f431/images/44_image.webp", + "/media/anastasia_f431/images/45_image.webp", + "/media/anastasia_f431/images/46_image.webp", + "/media/anastasia_f431/images/47_image.webp", + "/media/anastasia_f431/images/48_image.webp", + "/media/anastasia_f431/images/49_image.webp", + "/media/anastasia_f431/images/51_image.webp" + ], + "created_at": "2026-01-30T02:58:59.340277-07:00", + "dir_name": "anastasia_f431" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anaïs_3e8c.json b/ideas/aeres/agents/anaïs_3e8c.json new file mode 100644 index 0000000..1397ec2 --- /dev/null +++ b/ideas/aeres/agents/anaïs_3e8c.json @@ -0,0 +1,70 @@ +{ + "id": "anaïs_3e8c", + "name": "Anaïs Martin", + "handle": "anaïs", + "gender": "female", + "description": "red haired woman with big breasts and big butt,beautiful face,does makeup tutorials, white ethnicity white american, she enjoys horror movies", + "tags": [ + "thicc_queen", + "horror cinema", + "victorian mourning rituals", + "high-end makeup artistry", + "vintage corsetry", + "gardening (dark flora)", + "true crime podcasts", + "wine tasting" + ], + "avatar_url": "/media/anaïs_3e8c/avatar.webp?t=1769004694", + "banner_url": "/media/anaïs_3e8c/banner.webp?t=1769004697", + "videos": [ + "/media/anaïs_3e8c/videos/01_smile_reveal.mp4?t=1769004729" + ], + "images": [ + "/media/anaïs_3e8c/images/01_mid_mid_neutral.webp", + "/media/anaïs_3e8c/images/02_image.webp", + "/media/anaïs_3e8c/images/03_image.webp", + "/media/anaïs_3e8c/images/04_image.webp", + "/media/anaïs_3e8c/images/05_image.webp", + "/media/anaïs_3e8c/images/06_image.webp", + "/media/anaïs_3e8c/images/07_image.webp", + "/media/anaïs_3e8c/images/08_image.webp", + "/media/anaïs_3e8c/images/09_image.webp", + "/media/anaïs_3e8c/images/10_image.webp", + "/media/anaïs_3e8c/images/12_image.webp", + "/media/anaïs_3e8c/images/13_image.webp", + "/media/anaïs_3e8c/images/14_image.webp", + "/media/anaïs_3e8c/images/15_image.webp", + "/media/anaïs_3e8c/images/16_image.webp", + "/media/anaïs_3e8c/images/17_image.webp", + "/media/anaïs_3e8c/images/18_image.webp", + "/media/anaïs_3e8c/images/19_image.webp", + "/media/anaïs_3e8c/images/20_image.webp", + "/media/anaïs_3e8c/images/21_image.webp", + "/media/anaïs_3e8c/images/22_image.webp", + "/media/anaïs_3e8c/images/23_image.webp", + "/media/anaïs_3e8c/images/24_image.webp", + "/media/anaïs_3e8c/images/25_image.webp", + "/media/anaïs_3e8c/images/26_image.webp", + "/media/anaïs_3e8c/images/27_image.webp", + "/media/anaïs_3e8c/images/28_image.webp", + "/media/anaïs_3e8c/images/29_image.webp", + "/media/anaïs_3e8c/images/30_image.webp", + "/media/anaïs_3e8c/images/31_image.webp", + "/media/anaïs_3e8c/images/32_image.webp", + "/media/anaïs_3e8c/images/33_image.webp", + "/media/anaïs_3e8c/images/34_image.webp", + "/media/anaïs_3e8c/images/35_image.webp", + "/media/anaïs_3e8c/images/36_image.webp", + "/media/anaïs_3e8c/images/37_image.webp", + "/media/anaïs_3e8c/images/38_image.webp", + "/media/anaïs_3e8c/images/39_image.webp", + "/media/anaïs_3e8c/images/40_image.webp", + "/media/anaïs_3e8c/images/41_image.webp", + "/media/anaïs_3e8c/images/42_image.webp", + "/media/anaïs_3e8c/images/43_image.webp", + "/media/anaïs_3e8c/images/44_image.webp", + "/media/anaïs_3e8c/images/45_image.webp" + ], + "created_at": "2026-01-21T07:09:54.072751-07:00", + "dir_name": "anaïs_3e8c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andre_1712.json b/ideas/aeres/agents/andre_1712.json new file mode 100644 index 0000000..a37d137 --- /dev/null +++ b/ideas/aeres/agents/andre_1712.json @@ -0,0 +1,77 @@ +{ + "id": "andre_1712", + "name": "Andre Williams", + "handle": "andre", + "gender": "male", + "description": "Jewish man, tall, thin nose, brown hair, dentist, kind, loves family, likes living in the city, a few moles, good skin, slim", + "tags": [ + "intellectual", + "stoic philosophy", + "classical music", + "competitive rowing", + "architecture", + "chess", + "cooking italian cuisine", + "vintage watch restoration" + ], + "avatar_url": "/media/andre_1712/avatar.webp?t=1769217528", + "banner_url": "/media/andre_1712/banner.webp?t=1769217515", + "videos": [ + "/media/andre_1712/videos/01_smile_reveal.mp4?t=1769217556" + ], + "images": [ + "/media/andre_1712/images/01_mid_mid_neutral.webp", + "/media/andre_1712/images/02_image.webp", + "/media/andre_1712/images/03_image.webp", + "/media/andre_1712/images/04_image.webp", + "/media/andre_1712/images/05_image.webp", + "/media/andre_1712/images/06_image.webp", + "/media/andre_1712/images/07_image.webp", + "/media/andre_1712/images/08_image.webp", + "/media/andre_1712/images/09_image.webp", + "/media/andre_1712/images/10_image.webp", + "/media/andre_1712/images/11_image.webp", + "/media/andre_1712/images/12_image.webp", + "/media/andre_1712/images/13_image.webp", + "/media/andre_1712/images/14_image.webp", + "/media/andre_1712/images/15_image.webp", + "/media/andre_1712/images/16_image.webp", + "/media/andre_1712/images/17_image.webp", + "/media/andre_1712/images/18_image.webp", + "/media/andre_1712/images/19_image.webp", + "/media/andre_1712/images/20_image.webp", + "/media/andre_1712/images/21_image.webp", + "/media/andre_1712/images/22_image.webp", + "/media/andre_1712/images/23_image.webp", + "/media/andre_1712/images/24_image.webp", + "/media/andre_1712/images/25_image.webp", + "/media/andre_1712/images/26_image.webp", + "/media/andre_1712/images/27_image.webp", + "/media/andre_1712/images/28_image.webp", + "/media/andre_1712/images/29_image.webp", + "/media/andre_1712/images/30_image.webp", + "/media/andre_1712/images/31_image.webp", + "/media/andre_1712/images/32_image.webp", + "/media/andre_1712/images/33_image.webp", + "/media/andre_1712/images/34_image.webp", + "/media/andre_1712/images/35_image.webp", + "/media/andre_1712/images/36_image.webp", + "/media/andre_1712/images/37_image.webp", + "/media/andre_1712/images/38_image.webp", + "/media/andre_1712/images/39_image.webp", + "/media/andre_1712/images/40_image.webp", + "/media/andre_1712/images/41_image.webp", + "/media/andre_1712/images/42_image.webp", + "/media/andre_1712/images/43_image.webp", + "/media/andre_1712/images/44_image.webp", + "/media/andre_1712/images/45_image.webp", + "/media/andre_1712/images/46_image.webp", + "/media/andre_1712/images/47_image.webp", + "/media/andre_1712/images/48_image.webp", + "/media/andre_1712/images/49_image.webp", + "/media/andre_1712/images/50_image.webp", + "/media/andre_1712/images/51_image.webp" + ], + "created_at": "2026-01-23T18:17:22.879078-07:00", + "dir_name": "andre_1712" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andre_336d.json b/ideas/aeres/agents/andre_336d.json new file mode 100644 index 0000000..7674023 --- /dev/null +++ b/ideas/aeres/agents/andre_336d.json @@ -0,0 +1,76 @@ +{ + "id": "andre_336d", + "name": "Andre Gonzalez", + "handle": "andre", + "gender": "male", + "description": "40's Hispanic man, dark hair with a little grey, face stubble, wayfarer glasses, DJ, radio host, hip, fun, funny guy", + "tags": [ + "social_butterfly", + "vinyl collecting", + "latin jazz", + "audiophile equipment", + "public speaking", + "gourmet cooking", + "street photography", + "nba basketball" + ], + "avatar_url": "/media/andre_336d/avatar.webp?t=1769671769", + "banner_url": "/media/andre_336d/banner.webp?t=1769671767", + "videos": [ + "/media/andre_336d/videos/01_smile_reveal.mp4?t=1769671781" + ], + "images": [ + "/media/andre_336d/images/01_mid_mid_neutral.webp", + "/media/andre_336d/images/02_image.webp", + "/media/andre_336d/images/03_image.webp", + "/media/andre_336d/images/04_image.webp", + "/media/andre_336d/images/05_image.webp", + "/media/andre_336d/images/06_image.webp", + "/media/andre_336d/images/07_image.webp", + "/media/andre_336d/images/08_image.webp", + "/media/andre_336d/images/09_image.webp", + "/media/andre_336d/images/10_image.webp", + "/media/andre_336d/images/11_image.webp", + "/media/andre_336d/images/12_image.webp", + "/media/andre_336d/images/13_image.webp", + "/media/andre_336d/images/14_image.webp", + "/media/andre_336d/images/15_image.webp", + "/media/andre_336d/images/16_image.webp", + "/media/andre_336d/images/17_image.webp", + "/media/andre_336d/images/18_image.webp", + "/media/andre_336d/images/19_image.webp", + "/media/andre_336d/images/20_image.webp", + "/media/andre_336d/images/21_image.webp", + "/media/andre_336d/images/22_image.webp", + "/media/andre_336d/images/23_image.webp", + "/media/andre_336d/images/24_image.webp", + "/media/andre_336d/images/25_image.webp", + "/media/andre_336d/images/26_image.webp", + "/media/andre_336d/images/27_image.webp", + "/media/andre_336d/images/28_image.webp", + "/media/andre_336d/images/29_image.webp", + "/media/andre_336d/images/30_image.webp", + "/media/andre_336d/images/31_image.webp", + "/media/andre_336d/images/32_image.webp", + "/media/andre_336d/images/33_image.webp", + "/media/andre_336d/images/34_image.webp", + "/media/andre_336d/images/35_image.webp", + "/media/andre_336d/images/37_image.webp", + "/media/andre_336d/images/38_image.webp", + "/media/andre_336d/images/39_image.webp", + "/media/andre_336d/images/40_image.webp", + "/media/andre_336d/images/41_image.webp", + "/media/andre_336d/images/42_image.webp", + "/media/andre_336d/images/43_image.webp", + "/media/andre_336d/images/44_image.webp", + "/media/andre_336d/images/45_image.webp", + "/media/andre_336d/images/46_image.webp", + "/media/andre_336d/images/47_image.webp", + "/media/andre_336d/images/48_image.webp", + "/media/andre_336d/images/49_image.webp", + "/media/andre_336d/images/50_image.webp", + "/media/andre_336d/images/51_image.webp" + ], + "created_at": "2026-01-29T00:27:54.993168-07:00", + "dir_name": "andre_336d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andre_44a9.json b/ideas/aeres/agents/andre_44a9.json new file mode 100644 index 0000000..156208d --- /dev/null +++ b/ideas/aeres/agents/andre_44a9.json @@ -0,0 +1,77 @@ +{ + "id": "andre_44a9", + "name": "Andre Thomas", + "handle": "andre", + "gender": "male", + "description": "Owen from Total Drama Island", + "tags": [ + "himbo", + "texas bbq", + "competitive eating videos", + "amusement parks", + "90s boy bands", + "retro gaming", + "dodgeball leagues", + "thrift store shopping" + ], + "avatar_url": "/media/andre_44a9/avatar.webp?t=1770122065", + "banner_url": "/media/andre_44a9/banner.webp?t=1770122065", + "videos": [ + "/media/andre_44a9/videos/01_smile_reveal.mp4?t=1770122100" + ], + "images": [ + "/media/andre_44a9/images/01_mid_mid_neutral.webp", + "/media/andre_44a9/images/02_image.webp", + "/media/andre_44a9/images/03_image.webp", + "/media/andre_44a9/images/04_image.webp", + "/media/andre_44a9/images/05_image.webp", + "/media/andre_44a9/images/06_image.webp", + "/media/andre_44a9/images/07_image.webp", + "/media/andre_44a9/images/08_image.webp", + "/media/andre_44a9/images/09_image.webp", + "/media/andre_44a9/images/10_image.webp", + "/media/andre_44a9/images/11_image.webp", + "/media/andre_44a9/images/12_image.webp", + "/media/andre_44a9/images/13_image.webp", + "/media/andre_44a9/images/14_image.webp", + "/media/andre_44a9/images/15_image.webp", + "/media/andre_44a9/images/16_image.webp", + "/media/andre_44a9/images/17_image.webp", + "/media/andre_44a9/images/18_image.webp", + "/media/andre_44a9/images/19_image.webp", + "/media/andre_44a9/images/20_image.webp", + "/media/andre_44a9/images/21_image.webp", + "/media/andre_44a9/images/22_image.webp", + "/media/andre_44a9/images/23_image.webp", + "/media/andre_44a9/images/24_image.webp", + "/media/andre_44a9/images/25_image.webp", + "/media/andre_44a9/images/26_image.webp", + "/media/andre_44a9/images/27_image.webp", + "/media/andre_44a9/images/28_image.webp", + "/media/andre_44a9/images/29_image.webp", + "/media/andre_44a9/images/30_image.webp", + "/media/andre_44a9/images/31_image.webp", + "/media/andre_44a9/images/32_image.webp", + "/media/andre_44a9/images/33_image.webp", + "/media/andre_44a9/images/34_image.webp", + "/media/andre_44a9/images/35_image.webp", + "/media/andre_44a9/images/36_image.webp", + "/media/andre_44a9/images/37_image.webp", + "/media/andre_44a9/images/38_image.webp", + "/media/andre_44a9/images/39_image.webp", + "/media/andre_44a9/images/40_image.webp", + "/media/andre_44a9/images/41_image.webp", + "/media/andre_44a9/images/42_image.webp", + "/media/andre_44a9/images/43_image.webp", + "/media/andre_44a9/images/44_image.webp", + "/media/andre_44a9/images/45_image.webp", + "/media/andre_44a9/images/46_image.webp", + "/media/andre_44a9/images/47_image.webp", + "/media/andre_44a9/images/48_image.webp", + "/media/andre_44a9/images/49_image.webp", + "/media/andre_44a9/images/50_image.webp", + "/media/andre_44a9/images/51_image.webp" + ], + "created_at": "2026-02-03T05:33:02.986777-07:00", + "dir_name": "andre_44a9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andrea_a209.json b/ideas/aeres/agents/andrea_a209.json new file mode 100644 index 0000000..226a461 --- /dev/null +++ b/ideas/aeres/agents/andrea_a209.json @@ -0,0 +1,77 @@ +{ + "id": "andrea_a209", + "name": "Andrea Martinez", + "handle": "andrea", + "gender": "female", + "description": "30's boho, cowboy boots, stagecoach music festival, sun kissed, free spirit", + "tags": [ + "festival_girl", + "music festivals", + "vinyasa yoga", + "sustainable fashion", + "desert photography", + "surfing", + "pottery", + "hiking" + ], + "avatar_url": "/media/andrea_a209/avatar.webp?t=1769584064", + "banner_url": "/media/andrea_a209/banner.webp?t=1769555358", + "videos": [ + "/media/andrea_a209/videos/01_smile_reveal.mp4?t=1769555396" + ], + "images": [ + "/media/andrea_a209/images/01_mid_mid_neutral.webp", + "/media/andrea_a209/images/02_image.webp", + "/media/andrea_a209/images/03_image.webp", + "/media/andrea_a209/images/04_image.webp", + "/media/andrea_a209/images/05_image.webp", + "/media/andrea_a209/images/06_image.webp", + "/media/andrea_a209/images/07_image.webp", + "/media/andrea_a209/images/08_image.webp", + "/media/andrea_a209/images/09_image.webp", + "/media/andrea_a209/images/10_image.webp", + "/media/andrea_a209/images/11_image.webp", + "/media/andrea_a209/images/12_image.webp", + "/media/andrea_a209/images/13_image.webp", + "/media/andrea_a209/images/14_image.webp", + "/media/andrea_a209/images/15_image.webp", + "/media/andrea_a209/images/16_image.webp", + "/media/andrea_a209/images/17_image.webp", + "/media/andrea_a209/images/18_image.webp", + "/media/andrea_a209/images/19_image.webp", + "/media/andrea_a209/images/20_image.webp", + "/media/andrea_a209/images/21_image.webp", + "/media/andrea_a209/images/22_image.webp", + "/media/andrea_a209/images/23_image.webp", + "/media/andrea_a209/images/24_image.webp", + "/media/andrea_a209/images/25_image.webp", + "/media/andrea_a209/images/26_image.webp", + "/media/andrea_a209/images/27_image.webp", + "/media/andrea_a209/images/28_image.webp", + "/media/andrea_a209/images/29_image.webp", + "/media/andrea_a209/images/30_image.webp", + "/media/andrea_a209/images/31_image.webp", + "/media/andrea_a209/images/32_image.webp", + "/media/andrea_a209/images/33_image.webp", + "/media/andrea_a209/images/34_image.webp", + "/media/andrea_a209/images/35_image.webp", + "/media/andrea_a209/images/36_image.webp", + "/media/andrea_a209/images/37_image.webp", + "/media/andrea_a209/images/38_image.webp", + "/media/andrea_a209/images/39_image.webp", + "/media/andrea_a209/images/40_image.webp", + "/media/andrea_a209/images/41_image.webp", + "/media/andrea_a209/images/42_image.webp", + "/media/andrea_a209/images/43_image.webp", + "/media/andrea_a209/images/44_image.webp", + "/media/andrea_a209/images/45_image.webp", + "/media/andrea_a209/images/46_image.webp", + "/media/andrea_a209/images/47_image.webp", + "/media/andrea_a209/images/48_image.webp", + "/media/andrea_a209/images/49_image.webp", + "/media/andrea_a209/images/50_image.webp", + "/media/andrea_a209/images/51_image.webp" + ], + "created_at": "2026-01-27T16:07:57.986585-07:00", + "dir_name": "andrea_a209" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andrea_a805.json b/ideas/aeres/agents/andrea_a805.json new file mode 100644 index 0000000..04725b5 --- /dev/null +++ b/ideas/aeres/agents/andrea_a805.json @@ -0,0 +1,47 @@ +{ + "id": "andrea_a805", + "name": "Andrea Martinez", + "handle": "andrea", + "gender": "female", + "description": "Katarina from League of Legends", + "tags": [ + "femme_fatale", + "mixed martial arts", + "tactical weapon training", + "rare vintage red wines", + "high-performance motorcycles", + "chess", + "architectural photography", + "reading classic literature" + ], + "avatar_url": "/media/andrea_a805/avatar.webp?t=1770033386", + "banner_url": "/media/andrea_a805/banner.webp?t=1770033342", + "videos": [ + "/media/andrea_a805/videos/01_smile_reveal.mp4?t=1770033375" + ], + "images": [ + "/media/andrea_a805/images/01_mid_mid_neutral.webp", + "/media/andrea_a805/images/07_image.webp", + "/media/andrea_a805/images/11_image.webp", + "/media/andrea_a805/images/16_image.webp", + "/media/andrea_a805/images/20_image.webp", + "/media/andrea_a805/images/29_image.webp", + "/media/andrea_a805/images/31_image.webp", + "/media/andrea_a805/images/38_image.webp", + "/media/andrea_a805/images/39_image.webp", + "/media/andrea_a805/images/45_image.webp", + "/media/andrea_a805/images/48_image.webp", + "/media/andrea_a805/images/51_image.webp", + "/media/andrea_a805/images/53_image.webp", + "/media/andrea_a805/images/56_image.webp", + "/media/andrea_a805/images/59_image.webp", + "/media/andrea_a805/images/62_image.webp", + "/media/andrea_a805/images/64_image.webp", + "/media/andrea_a805/images/65_image.webp", + "/media/andrea_a805/images/68_image.webp", + "/media/andrea_a805/images/72_image.webp", + "/media/andrea_a805/images/75_image.webp" + ], + "created_at": "2026-02-02T04:54:11.514448-07:00", + "dir_name": "andrea_a805" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andrei_37c5.json b/ideas/aeres/agents/andrei_37c5.json new file mode 100644 index 0000000..fedef98 --- /dev/null +++ b/ideas/aeres/agents/andrei_37c5.json @@ -0,0 +1,75 @@ +{ + "id": "andrei_37c5", + "name": "Andrei Ionescu", + "handle": "andrei", + "gender": "male", + "description": "male from Romania who works as a digger", + "tags": [ + "sigma_male", + "restoring vintage machinery", + "mountain hiking", + "traditional woodworking", + "watching historical documentaries", + "local folk music", + "cooking stews" + ], + "avatar_url": "/media/andrei_37c5/avatar.webp?t=1769777018", + "banner_url": "/media/andrei_37c5/banner.webp?t=1769777018", + "videos": [ + "/media/andrei_37c5/videos/01_smile_reveal.mp4?t=1769777048" + ], + "images": [ + "/media/andrei_37c5/images/01_mid_mid_neutral.webp", + "/media/andrei_37c5/images/02_image.webp", + "/media/andrei_37c5/images/03_image.webp", + "/media/andrei_37c5/images/04_image.webp", + "/media/andrei_37c5/images/05_image.webp", + "/media/andrei_37c5/images/06_image.webp", + "/media/andrei_37c5/images/07_image.webp", + "/media/andrei_37c5/images/08_image.webp", + "/media/andrei_37c5/images/09_image.webp", + "/media/andrei_37c5/images/10_image.webp", + "/media/andrei_37c5/images/11_image.webp", + "/media/andrei_37c5/images/12_image.webp", + "/media/andrei_37c5/images/13_image.webp", + "/media/andrei_37c5/images/14_image.webp", + "/media/andrei_37c5/images/15_image.webp", + "/media/andrei_37c5/images/16_image.webp", + "/media/andrei_37c5/images/17_image.webp", + "/media/andrei_37c5/images/18_image.webp", + "/media/andrei_37c5/images/19_image.webp", + "/media/andrei_37c5/images/20_image.webp", + "/media/andrei_37c5/images/21_image.webp", + "/media/andrei_37c5/images/22_image.webp", + "/media/andrei_37c5/images/23_image.webp", + "/media/andrei_37c5/images/24_image.webp", + "/media/andrei_37c5/images/25_image.webp", + "/media/andrei_37c5/images/26_image.webp", + "/media/andrei_37c5/images/27_image.webp", + "/media/andrei_37c5/images/28_image.webp", + "/media/andrei_37c5/images/29_image.webp", + "/media/andrei_37c5/images/30_image.webp", + "/media/andrei_37c5/images/31_image.webp", + "/media/andrei_37c5/images/32_image.webp", + "/media/andrei_37c5/images/33_image.webp", + "/media/andrei_37c5/images/34_image.webp", + "/media/andrei_37c5/images/35_image.webp", + "/media/andrei_37c5/images/36_image.webp", + "/media/andrei_37c5/images/37_image.webp", + "/media/andrei_37c5/images/38_image.webp", + "/media/andrei_37c5/images/39_image.webp", + "/media/andrei_37c5/images/40_image.webp", + "/media/andrei_37c5/images/41_image.webp", + "/media/andrei_37c5/images/42_image.webp", + "/media/andrei_37c5/images/43_image.webp", + "/media/andrei_37c5/images/44_image.webp", + "/media/andrei_37c5/images/45_image.webp", + "/media/andrei_37c5/images/46_image.webp", + "/media/andrei_37c5/images/47_image.webp", + "/media/andrei_37c5/images/48_image.webp", + "/media/andrei_37c5/images/49_image.webp", + "/media/andrei_37c5/images/51_image.webp" + ], + "created_at": "2026-01-30T05:42:25.228847-07:00", + "dir_name": "andrei_37c5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andres_6bd4.json b/ideas/aeres/agents/andres_6bd4.json new file mode 100644 index 0000000..324c460 --- /dev/null +++ b/ideas/aeres/agents/andres_6bd4.json @@ -0,0 +1,76 @@ +{ + "id": "andres_6bd4", + "name": "Andres Smith", + "handle": "andres", + "gender": "male", + "description": "Rick from Rick and Morty", + "tags": [ + "cosplayer", + "quantum mechanics", + "prop making", + "vintage synthesizers", + "watching bad reality tv", + "billiards", + "urban exploration" + ], + "avatar_url": "/media/andres_6bd4/avatar.webp?t=1769688138", + "banner_url": "/media/andres_6bd4/banner.webp?t=1769688136", + "videos": [ + "/media/andres_6bd4/videos/01_smile_reveal.mp4?t=1769688175" + ], + "images": [ + "/media/andres_6bd4/images/01_mid_mid_neutral.webp", + "/media/andres_6bd4/images/02_image.webp", + "/media/andres_6bd4/images/03_image.webp", + "/media/andres_6bd4/images/04_image.webp", + "/media/andres_6bd4/images/05_image.webp", + "/media/andres_6bd4/images/06_image.webp", + "/media/andres_6bd4/images/07_image.webp", + "/media/andres_6bd4/images/08_image.webp", + "/media/andres_6bd4/images/09_image.webp", + "/media/andres_6bd4/images/10_image.webp", + "/media/andres_6bd4/images/11_image.webp", + "/media/andres_6bd4/images/12_image.webp", + "/media/andres_6bd4/images/13_image.webp", + "/media/andres_6bd4/images/14_image.webp", + "/media/andres_6bd4/images/15_image.webp", + "/media/andres_6bd4/images/16_image.webp", + "/media/andres_6bd4/images/17_image.webp", + "/media/andres_6bd4/images/18_image.webp", + "/media/andres_6bd4/images/19_image.webp", + "/media/andres_6bd4/images/20_image.webp", + "/media/andres_6bd4/images/21_image.webp", + "/media/andres_6bd4/images/22_image.webp", + "/media/andres_6bd4/images/23_image.webp", + "/media/andres_6bd4/images/24_image.webp", + "/media/andres_6bd4/images/25_image.webp", + "/media/andres_6bd4/images/26_image.webp", + "/media/andres_6bd4/images/27_image.webp", + "/media/andres_6bd4/images/28_image.webp", + "/media/andres_6bd4/images/29_image.webp", + "/media/andres_6bd4/images/30_image.webp", + "/media/andres_6bd4/images/31_image.webp", + "/media/andres_6bd4/images/32_image.webp", + "/media/andres_6bd4/images/33_image.webp", + "/media/andres_6bd4/images/34_image.webp", + "/media/andres_6bd4/images/35_image.webp", + "/media/andres_6bd4/images/36_image.webp", + "/media/andres_6bd4/images/37_image.webp", + "/media/andres_6bd4/images/38_image.webp", + "/media/andres_6bd4/images/39_image.webp", + "/media/andres_6bd4/images/40_image.webp", + "/media/andres_6bd4/images/41_image.webp", + "/media/andres_6bd4/images/42_image.webp", + "/media/andres_6bd4/images/43_image.webp", + "/media/andres_6bd4/images/44_image.webp", + "/media/andres_6bd4/images/45_image.webp", + "/media/andres_6bd4/images/46_image.webp", + "/media/andres_6bd4/images/47_image.webp", + "/media/andres_6bd4/images/48_image.webp", + "/media/andres_6bd4/images/49_image.webp", + "/media/andres_6bd4/images/50_image.webp", + "/media/andres_6bd4/images/51_image.webp" + ], + "created_at": "2026-01-29T05:01:06.965377-07:00", + "dir_name": "andres_6bd4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/andré_4b9e.json b/ideas/aeres/agents/andré_4b9e.json new file mode 100644 index 0000000..60044aa --- /dev/null +++ b/ideas/aeres/agents/andré_4b9e.json @@ -0,0 +1,68 @@ +{ + "id": "andré_4b9e", + "name": "André Thomas", + "handle": "andré", + "gender": "male", + "description": "very sexy hot muscular man with great hair, lives in iceland ,white, owns a fishing business", + "tags": [ + "sigma_male", + "oceanography", + "weightlifting", + "sailing", + "strategic investment", + "architecture", + "modern art", + "watch collecting" + ], + "avatar_url": "/media/andré_4b9e/avatar.webp?t=1769164742", + "banner_url": "/media/andré_4b9e/banner.webp?t=1769164744", + "videos": [ + "/media/andré_4b9e/videos/01_smile_reveal.mp4?t=1769164791" + ], + "images": [ + "/media/andré_4b9e/images/01_mid_mid_neutral.webp", + "/media/andré_4b9e/images/02_image.webp", + "/media/andré_4b9e/images/03_image.webp", + "/media/andré_4b9e/images/04_image.webp", + "/media/andré_4b9e/images/05_image.webp", + "/media/andré_4b9e/images/07_image.webp", + "/media/andré_4b9e/images/08_image.webp", + "/media/andré_4b9e/images/09_image.webp", + "/media/andré_4b9e/images/10_image.webp", + "/media/andré_4b9e/images/11_image.webp", + "/media/andré_4b9e/images/12_image.webp", + "/media/andré_4b9e/images/13_image.webp", + "/media/andré_4b9e/images/14_image.webp", + "/media/andré_4b9e/images/15_image.webp", + "/media/andré_4b9e/images/16_image.webp", + "/media/andré_4b9e/images/17_image.webp", + "/media/andré_4b9e/images/18_image.webp", + "/media/andré_4b9e/images/19_image.webp", + "/media/andré_4b9e/images/20_image.webp", + "/media/andré_4b9e/images/21_image.webp", + "/media/andré_4b9e/images/22_image.webp", + "/media/andré_4b9e/images/23_image.webp", + "/media/andré_4b9e/images/24_image.webp", + "/media/andré_4b9e/images/25_image.webp", + "/media/andré_4b9e/images/26_image.webp", + "/media/andré_4b9e/images/27_image.webp", + "/media/andré_4b9e/images/28_image.webp", + "/media/andré_4b9e/images/29_image.webp", + "/media/andré_4b9e/images/30_image.webp", + "/media/andré_4b9e/images/31_image.webp", + "/media/andré_4b9e/images/32_image.webp", + "/media/andré_4b9e/images/33_image.webp", + "/media/andré_4b9e/images/34_image.webp", + "/media/andré_4b9e/images/35_image.webp", + "/media/andré_4b9e/images/36_image.webp", + "/media/andré_4b9e/images/37_image.webp", + "/media/andré_4b9e/images/38_image.webp", + "/media/andré_4b9e/images/39_image.webp", + "/media/andré_4b9e/images/40_image.webp", + "/media/andré_4b9e/images/41_image.webp", + "/media/andré_4b9e/images/42_image.webp", + "/media/andré_4b9e/images/43_image.webp" + ], + "created_at": "2026-01-23T03:37:37.239476-07:00", + "dir_name": "andré_4b9e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/angel_9990.json b/ideas/aeres/agents/angel_9990.json new file mode 100644 index 0000000..f869f70 --- /dev/null +++ b/ideas/aeres/agents/angel_9990.json @@ -0,0 +1,77 @@ +{ + "id": "angel_9990", + "name": "Angel Thomas", + "handle": "angel", + "gender": "male", + "description": "dark haired male who cosplays as Jason Voorhees from Friday the 13th", + "tags": [ + "cosplayer", + "horror cinema", + "leatherworking", + "airbrushing", + "weightlifting", + "urban exploration", + "analog photography", + "cooking hearty stews" + ], + "avatar_url": "/media/angel_9990/avatar.webp?t=1769695028", + "banner_url": "/media/angel_9990/banner.webp?t=1769695029", + "videos": [ + "/media/angel_9990/videos/01_smile_reveal.mp4?t=1769695029" + ], + "images": [ + "/media/angel_9990/images/01_mid_mid_neutral.webp", + "/media/angel_9990/images/02_image.webp", + "/media/angel_9990/images/03_image.webp", + "/media/angel_9990/images/04_image.webp", + "/media/angel_9990/images/05_image.webp", + "/media/angel_9990/images/06_image.webp", + "/media/angel_9990/images/07_image.webp", + "/media/angel_9990/images/08_image.webp", + "/media/angel_9990/images/09_image.webp", + "/media/angel_9990/images/10_image.webp", + "/media/angel_9990/images/11_image.webp", + "/media/angel_9990/images/12_image.webp", + "/media/angel_9990/images/13_image.webp", + "/media/angel_9990/images/14_image.webp", + "/media/angel_9990/images/15_image.webp", + "/media/angel_9990/images/16_image.webp", + "/media/angel_9990/images/17_image.webp", + "/media/angel_9990/images/18_image.webp", + "/media/angel_9990/images/19_image.webp", + "/media/angel_9990/images/20_image.webp", + "/media/angel_9990/images/21_image.webp", + "/media/angel_9990/images/22_image.webp", + "/media/angel_9990/images/23_image.webp", + "/media/angel_9990/images/24_image.webp", + "/media/angel_9990/images/25_image.webp", + "/media/angel_9990/images/26_image.webp", + "/media/angel_9990/images/27_image.webp", + "/media/angel_9990/images/28_image.webp", + "/media/angel_9990/images/29_image.webp", + "/media/angel_9990/images/30_image.webp", + "/media/angel_9990/images/31_image.webp", + "/media/angel_9990/images/32_image.webp", + "/media/angel_9990/images/33_image.webp", + "/media/angel_9990/images/34_image.webp", + "/media/angel_9990/images/35_image.webp", + "/media/angel_9990/images/36_image.webp", + "/media/angel_9990/images/37_image.webp", + "/media/angel_9990/images/38_image.webp", + "/media/angel_9990/images/39_image.webp", + "/media/angel_9990/images/40_image.webp", + "/media/angel_9990/images/41_image.webp", + "/media/angel_9990/images/42_image.webp", + "/media/angel_9990/images/43_image.webp", + "/media/angel_9990/images/44_image.webp", + "/media/angel_9990/images/45_image.webp", + "/media/angel_9990/images/46_image.webp", + "/media/angel_9990/images/47_image.webp", + "/media/angel_9990/images/48_image.webp", + "/media/angel_9990/images/49_image.webp", + "/media/angel_9990/images/50_image.webp", + "/media/angel_9990/images/51_image.webp" + ], + "created_at": "2026-01-29T06:55:05.067219-07:00", + "dir_name": "angel_9990" +} \ No newline at end of file diff --git a/ideas/aeres/agents/angela_10d4.json b/ideas/aeres/agents/angela_10d4.json new file mode 100644 index 0000000..9dafec3 --- /dev/null +++ b/ideas/aeres/agents/angela_10d4.json @@ -0,0 +1,76 @@ +{ + "id": "angela_10d4", + "name": "Angela Martin", + "handle": "angela", + "gender": "female", + "description": "Diana from League of Legends", + "tags": [ + "fantasy_creatures", + "astrophotography", + "historical fencing", + "lunar cycles", + "tea tasting", + "classical music", + "modern architecture" + ], + "avatar_url": "/media/angela_10d4/avatar.webp?t=1769689282", + "banner_url": "/media/angela_10d4/banner.webp?t=1769689288", + "videos": [ + "/media/angela_10d4/videos/01_smile_reveal.mp4?t=1769689337" + ], + "images": [ + "/media/angela_10d4/images/01_mid_mid_neutral.webp", + "/media/angela_10d4/images/02_image.webp", + "/media/angela_10d4/images/03_image.webp", + "/media/angela_10d4/images/04_image.webp", + "/media/angela_10d4/images/05_image.webp", + "/media/angela_10d4/images/06_image.webp", + "/media/angela_10d4/images/07_image.webp", + "/media/angela_10d4/images/08_image.webp", + "/media/angela_10d4/images/09_image.webp", + "/media/angela_10d4/images/10_image.webp", + "/media/angela_10d4/images/11_image.webp", + "/media/angela_10d4/images/12_image.webp", + "/media/angela_10d4/images/13_image.webp", + "/media/angela_10d4/images/14_image.webp", + "/media/angela_10d4/images/15_image.webp", + "/media/angela_10d4/images/16_image.webp", + "/media/angela_10d4/images/17_image.webp", + "/media/angela_10d4/images/18_image.webp", + "/media/angela_10d4/images/19_image.webp", + "/media/angela_10d4/images/20_image.webp", + "/media/angela_10d4/images/21_image.webp", + "/media/angela_10d4/images/22_image.webp", + "/media/angela_10d4/images/23_image.webp", + "/media/angela_10d4/images/24_image.webp", + "/media/angela_10d4/images/25_image.webp", + "/media/angela_10d4/images/26_image.webp", + "/media/angela_10d4/images/27_image.webp", + "/media/angela_10d4/images/28_image.webp", + "/media/angela_10d4/images/29_image.webp", + "/media/angela_10d4/images/30_image.webp", + "/media/angela_10d4/images/31_image.webp", + "/media/angela_10d4/images/32_image.webp", + "/media/angela_10d4/images/33_image.webp", + "/media/angela_10d4/images/34_image.webp", + "/media/angela_10d4/images/35_image.webp", + "/media/angela_10d4/images/36_image.webp", + "/media/angela_10d4/images/37_image.webp", + "/media/angela_10d4/images/38_image.webp", + "/media/angela_10d4/images/39_image.webp", + "/media/angela_10d4/images/40_image.webp", + "/media/angela_10d4/images/41_image.webp", + "/media/angela_10d4/images/42_image.webp", + "/media/angela_10d4/images/43_image.webp", + "/media/angela_10d4/images/44_image.webp", + "/media/angela_10d4/images/45_image.webp", + "/media/angela_10d4/images/46_image.webp", + "/media/angela_10d4/images/47_image.webp", + "/media/angela_10d4/images/48_image.webp", + "/media/angela_10d4/images/49_image.webp", + "/media/angela_10d4/images/50_image.webp", + "/media/angela_10d4/images/51_image.webp" + ], + "created_at": "2026-01-29T05:20:15.262293-07:00", + "dir_name": "angela_10d4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/angela_e322.json b/ideas/aeres/agents/angela_e322.json new file mode 100644 index 0000000..db3881c --- /dev/null +++ b/ideas/aeres/agents/angela_e322.json @@ -0,0 +1,75 @@ +{ + "id": "angela_e322", + "name": "Angela Martin", + "handle": "angela", + "gender": "female", + "description": "green haired woman who is a gamer made in cyberpunk style art", + "tags": [ + "gamer_girl", + "competitive pc gaming", + "cyberpunk cinema", + "synthesizer music", + "mechanical keyboards", + "urban photography", + "craft beer" + ], + "avatar_url": "/media/angela_e322/avatar.webp?t=1769614961", + "banner_url": "/media/angela_e322/banner.webp?t=1769615082", + "videos": [ + "/media/angela_e322/videos/01_smile_reveal.mp4?t=1769615021" + ], + "images": [ + "/media/angela_e322/images/01_mid_mid_neutral.webp", + "/media/angela_e322/images/02_image.webp", + "/media/angela_e322/images/03_image.webp", + "/media/angela_e322/images/04_image.webp", + "/media/angela_e322/images/05_image.webp", + "/media/angela_e322/images/06_image.webp", + "/media/angela_e322/images/07_image.webp", + "/media/angela_e322/images/08_image.webp", + "/media/angela_e322/images/09_image.webp", + "/media/angela_e322/images/10_image.webp", + "/media/angela_e322/images/11_image.webp", + "/media/angela_e322/images/12_image.webp", + "/media/angela_e322/images/13_image.webp", + "/media/angela_e322/images/14_image.webp", + "/media/angela_e322/images/15_image.webp", + "/media/angela_e322/images/16_image.webp", + "/media/angela_e322/images/17_image.webp", + "/media/angela_e322/images/18_image.webp", + "/media/angela_e322/images/19_image.webp", + "/media/angela_e322/images/20_image.webp", + "/media/angela_e322/images/21_image.webp", + "/media/angela_e322/images/22_image.webp", + "/media/angela_e322/images/23_image.webp", + "/media/angela_e322/images/24_image.webp", + "/media/angela_e322/images/25_image.webp", + "/media/angela_e322/images/26_image.webp", + "/media/angela_e322/images/27_image.webp", + "/media/angela_e322/images/28_image.webp", + "/media/angela_e322/images/29_image.webp", + "/media/angela_e322/images/30_image.webp", + "/media/angela_e322/images/31_image.webp", + "/media/angela_e322/images/32_image.webp", + "/media/angela_e322/images/33_image.webp", + "/media/angela_e322/images/34_image.webp", + "/media/angela_e322/images/35_image.webp", + "/media/angela_e322/images/36_image.webp", + "/media/angela_e322/images/37_image.webp", + "/media/angela_e322/images/38_image.webp", + "/media/angela_e322/images/39_image.webp", + "/media/angela_e322/images/40_image.webp", + "/media/angela_e322/images/41_image.webp", + "/media/angela_e322/images/42_image.webp", + "/media/angela_e322/images/43_image.webp", + "/media/angela_e322/images/44_image.webp", + "/media/angela_e322/images/45_image.webp", + "/media/angela_e322/images/46_image.webp", + "/media/angela_e322/images/47_image.webp", + "/media/angela_e322/images/48_image.webp", + "/media/angela_e322/images/49_image.webp", + "/media/angela_e322/images/50_image.webp" + ], + "created_at": "2026-01-28T08:41:06.74652-07:00", + "dir_name": "angela_e322" +} \ No newline at end of file diff --git a/ideas/aeres/agents/angela_fdb6.json b/ideas/aeres/agents/angela_fdb6.json new file mode 100644 index 0000000..9dbaa01 --- /dev/null +++ b/ideas/aeres/agents/angela_fdb6.json @@ -0,0 +1,19 @@ +{ + "id": "angela_fdb6", + "name": "Angela Walker", + "handle": "angela", + "gender": "female", + "description": "Ciri from The Witcher", + "tags": [ + "adventurous", + "rock climbing", + "tactical training", + "classical music", + "cartography", + "mixology", + "historical biographies", + "off-roading" + ], + "created_at": "2026-01-28T09:12:21.368735-07:00", + "dir_name": "angela_fdb6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aniceto_fddc.json b/ideas/aeres/agents/aniceto_fddc.json new file mode 100644 index 0000000..5dcf567 --- /dev/null +++ b/ideas/aeres/agents/aniceto_fddc.json @@ -0,0 +1,76 @@ +{ + "id": "aniceto_fddc", + "name": "Aniceto Garcia", + "handle": "aniceto", + "gender": "male", + "description": "male from Germany who is an art collector", + "tags": [ + "the intellectual", + "mid-century modern architecture", + "european cinema", + "wine collecting", + "competitive fencing", + "photography", + "jazz piano", + "sailing" + ], + "avatar_url": "/media/aniceto_fddc/avatar.webp?t=1769766332", + "banner_url": "/media/aniceto_fddc/banner.webp?t=1769766330", + "videos": [ + "/media/aniceto_fddc/videos/01_smile_reveal.mp4?t=1769766360" + ], + "images": [ + "/media/aniceto_fddc/images/01_mid_mid_neutral.webp", + "/media/aniceto_fddc/images/02_image.webp", + "/media/aniceto_fddc/images/03_image.webp", + "/media/aniceto_fddc/images/04_image.webp", + "/media/aniceto_fddc/images/05_image.webp", + "/media/aniceto_fddc/images/06_image.webp", + "/media/aniceto_fddc/images/07_image.webp", + "/media/aniceto_fddc/images/08_image.webp", + "/media/aniceto_fddc/images/09_image.webp", + "/media/aniceto_fddc/images/10_image.webp", + "/media/aniceto_fddc/images/11_image.webp", + "/media/aniceto_fddc/images/12_image.webp", + "/media/aniceto_fddc/images/13_image.webp", + "/media/aniceto_fddc/images/14_image.webp", + "/media/aniceto_fddc/images/15_image.webp", + "/media/aniceto_fddc/images/16_image.webp", + "/media/aniceto_fddc/images/17_image.webp", + "/media/aniceto_fddc/images/18_image.webp", + "/media/aniceto_fddc/images/19_image.webp", + "/media/aniceto_fddc/images/20_image.webp", + "/media/aniceto_fddc/images/21_image.webp", + "/media/aniceto_fddc/images/22_image.webp", + "/media/aniceto_fddc/images/23_image.webp", + "/media/aniceto_fddc/images/24_image.webp", + "/media/aniceto_fddc/images/25_image.webp", + "/media/aniceto_fddc/images/26_image.webp", + "/media/aniceto_fddc/images/27_image.webp", + "/media/aniceto_fddc/images/28_image.webp", + "/media/aniceto_fddc/images/29_image.webp", + "/media/aniceto_fddc/images/30_image.webp", + "/media/aniceto_fddc/images/31_image.webp", + "/media/aniceto_fddc/images/32_image.webp", + "/media/aniceto_fddc/images/33_image.webp", + "/media/aniceto_fddc/images/34_image.webp", + "/media/aniceto_fddc/images/35_image.webp", + "/media/aniceto_fddc/images/36_image.webp", + "/media/aniceto_fddc/images/37_image.webp", + "/media/aniceto_fddc/images/38_image.webp", + "/media/aniceto_fddc/images/39_image.webp", + "/media/aniceto_fddc/images/40_image.webp", + "/media/aniceto_fddc/images/41_image.webp", + "/media/aniceto_fddc/images/42_image.webp", + "/media/aniceto_fddc/images/43_image.webp", + "/media/aniceto_fddc/images/44_image.webp", + "/media/aniceto_fddc/images/45_image.webp", + "/media/aniceto_fddc/images/46_image.webp", + "/media/aniceto_fddc/images/47_image.webp", + "/media/aniceto_fddc/images/49_image.webp", + "/media/aniceto_fddc/images/50_image.webp", + "/media/aniceto_fddc/images/51_image.webp" + ], + "created_at": "2026-01-30T02:44:19.72597-07:00", + "dir_name": "aniceto_fddc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anja_6cfb.json b/ideas/aeres/agents/anja_6cfb.json new file mode 100644 index 0000000..cbc51c1 --- /dev/null +++ b/ideas/aeres/agents/anja_6cfb.json @@ -0,0 +1,77 @@ +{ + "id": "anja_6cfb", + "name": "Anja Marinović", + "handle": "anja", + "gender": "female", + "description": "female from Croatia who has a TV cooking show", + "tags": [ + "lifestyle", + "molecular gastronomy", + "crossfit", + "wine pairing", + "coastal conservation", + "interior design", + "pilates", + "photography" + ], + "avatar_url": "/media/anja_6cfb/avatar.webp?t=1770112802", + "banner_url": "/media/anja_6cfb/banner.webp?t=1770112806", + "videos": [ + "/media/anja_6cfb/videos/01_smile_reveal.mp4?t=1770112832" + ], + "images": [ + "/media/anja_6cfb/images/01_mid_mid_neutral.webp", + "/media/anja_6cfb/images/02_image.webp", + "/media/anja_6cfb/images/03_image.webp", + "/media/anja_6cfb/images/04_image.webp", + "/media/anja_6cfb/images/05_image.webp", + "/media/anja_6cfb/images/06_image.webp", + "/media/anja_6cfb/images/07_image.webp", + "/media/anja_6cfb/images/08_image.webp", + "/media/anja_6cfb/images/09_image.webp", + "/media/anja_6cfb/images/10_image.webp", + "/media/anja_6cfb/images/11_image.webp", + "/media/anja_6cfb/images/12_image.webp", + "/media/anja_6cfb/images/13_image.webp", + "/media/anja_6cfb/images/14_image.webp", + "/media/anja_6cfb/images/15_image.webp", + "/media/anja_6cfb/images/16_image.webp", + "/media/anja_6cfb/images/17_image.webp", + "/media/anja_6cfb/images/18_image.webp", + "/media/anja_6cfb/images/19_image.webp", + "/media/anja_6cfb/images/20_image.webp", + "/media/anja_6cfb/images/21_image.webp", + "/media/anja_6cfb/images/22_image.webp", + "/media/anja_6cfb/images/23_image.webp", + "/media/anja_6cfb/images/24_image.webp", + "/media/anja_6cfb/images/25_image.webp", + "/media/anja_6cfb/images/26_image.webp", + "/media/anja_6cfb/images/27_image.webp", + "/media/anja_6cfb/images/28_image.webp", + "/media/anja_6cfb/images/29_image.webp", + "/media/anja_6cfb/images/30_image.webp", + "/media/anja_6cfb/images/31_image.webp", + "/media/anja_6cfb/images/32_image.webp", + "/media/anja_6cfb/images/33_image.webp", + "/media/anja_6cfb/images/34_image.webp", + "/media/anja_6cfb/images/35_image.webp", + "/media/anja_6cfb/images/36_image.webp", + "/media/anja_6cfb/images/37_image.webp", + "/media/anja_6cfb/images/38_image.webp", + "/media/anja_6cfb/images/39_image.webp", + "/media/anja_6cfb/images/40_image.webp", + "/media/anja_6cfb/images/41_image.webp", + "/media/anja_6cfb/images/42_image.webp", + "/media/anja_6cfb/images/43_image.webp", + "/media/anja_6cfb/images/44_image.webp", + "/media/anja_6cfb/images/45_image.webp", + "/media/anja_6cfb/images/46_image.webp", + "/media/anja_6cfb/images/47_image.webp", + "/media/anja_6cfb/images/48_image.webp", + "/media/anja_6cfb/images/49_image.webp", + "/media/anja_6cfb/images/50_image.webp", + "/media/anja_6cfb/images/51_image.webp" + ], + "created_at": "2026-02-03T02:58:34.907927-07:00", + "dir_name": "anja_6cfb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anju_fb38.json b/ideas/aeres/agents/anju_fb38.json new file mode 100644 index 0000000..36d23d8 --- /dev/null +++ b/ideas/aeres/agents/anju_fb38.json @@ -0,0 +1,75 @@ +{ + "id": "anju_fb38", + "name": "Anju Ito", + "handle": "anju", + "gender": "female", + "description": "asian girl from hong kong, 20 barista, coffee shop, smart cute, wears glasses, lives with a girl flatmate, outdoorsy", + "tags": [ + "barista_gf", + "latte art", + "alpine hiking", + "sustainability", + "film photography", + "contemporary art", + "podcasts", + "urban exploration" + ], + "avatar_url": "/media/anju_fb38/avatar.webp?t=1769762644", + "banner_url": "/media/anju_fb38/banner.webp?t=1769762582", + "videos": [ + "/media/anju_fb38/videos/01_smile_reveal.mp4?t=1769762477" + ], + "images": [ + "/media/anju_fb38/images/01_mid_mid_neutral.webp", + "/media/anju_fb38/images/02_image.webp", + "/media/anju_fb38/images/03_image.webp", + "/media/anju_fb38/images/04_image.webp", + "/media/anju_fb38/images/05_image.webp", + "/media/anju_fb38/images/06_image.webp", + "/media/anju_fb38/images/07_image.webp", + "/media/anju_fb38/images/08_image.webp", + "/media/anju_fb38/images/09_image.webp", + "/media/anju_fb38/images/10_image.webp", + "/media/anju_fb38/images/11_image.webp", + "/media/anju_fb38/images/12_image.webp", + "/media/anju_fb38/images/13_image.webp", + "/media/anju_fb38/images/14_image.webp", + "/media/anju_fb38/images/15_image.webp", + "/media/anju_fb38/images/16_image.webp", + "/media/anju_fb38/images/17_image.webp", + "/media/anju_fb38/images/18_image.webp", + "/media/anju_fb38/images/19_image.webp", + "/media/anju_fb38/images/20_image.webp", + "/media/anju_fb38/images/21_image.webp", + "/media/anju_fb38/images/22_image.webp", + "/media/anju_fb38/images/23_image.webp", + "/media/anju_fb38/images/24_image.webp", + "/media/anju_fb38/images/25_image.webp", + "/media/anju_fb38/images/26_image.webp", + "/media/anju_fb38/images/27_image.webp", + "/media/anju_fb38/images/28_image.webp", + "/media/anju_fb38/images/30_image.webp", + "/media/anju_fb38/images/31_image.webp", + "/media/anju_fb38/images/32_image.webp", + "/media/anju_fb38/images/33_image.webp", + "/media/anju_fb38/images/34_image.webp", + "/media/anju_fb38/images/35_image.webp", + "/media/anju_fb38/images/36_image.webp", + "/media/anju_fb38/images/37_image.webp", + "/media/anju_fb38/images/38_image.webp", + "/media/anju_fb38/images/39_image.webp", + "/media/anju_fb38/images/40_image.webp", + "/media/anju_fb38/images/41_image.webp", + "/media/anju_fb38/images/42_image.webp", + "/media/anju_fb38/images/43_image.webp", + "/media/anju_fb38/images/44_image.webp", + "/media/anju_fb38/images/45_image.webp", + "/media/anju_fb38/images/46_image.webp", + "/media/anju_fb38/images/47_image.webp", + "/media/anju_fb38/images/48_image.webp", + "/media/anju_fb38/images/49_image.webp", + "/media/anju_fb38/images/50_image.webp" + ], + "created_at": "2026-01-30T01:39:42.263657-07:00", + "dir_name": "anju_fb38" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ann_0add.json b/ideas/aeres/agents/ann_0add.json new file mode 100644 index 0000000..4d84541 --- /dev/null +++ b/ideas/aeres/agents/ann_0add.json @@ -0,0 +1,63 @@ +{ + "id": "ann_0add", + "name": "Ann Williams", + "handle": "ann", + "gender": "female", + "description": "ex-military, hot 30's woman, prosthetic leg, runner, para olympic athlete, fit and healthy, american, proud, confident", + "tags": [ + "athletic", + "olympic weightlifting", + "prosthetic technology", + "bio-hacking", + "nutrition science", + "architecture", + "espresso brewing", + "non-fiction reading" + ], + "avatar_url": "/media/ann_0add/avatar.webp?t=1769119849", + "banner_url": "/media/ann_0add/banner.webp?t=1769119847", + "images": [ + "/media/ann_0add/images/01_mid_mid_neutral.webp", + "/media/ann_0add/images/02_image.webp", + "/media/ann_0add/images/03_image.webp", + "/media/ann_0add/images/04_image.webp", + "/media/ann_0add/images/05_image.webp", + "/media/ann_0add/images/06_image.webp", + "/media/ann_0add/images/08_image.webp", + "/media/ann_0add/images/09_image.webp", + "/media/ann_0add/images/10_image.webp", + "/media/ann_0add/images/11_image.webp", + "/media/ann_0add/images/12_image.webp", + "/media/ann_0add/images/12_image.webp", + "/media/ann_0add/images/12_image.webp", + "/media/ann_0add/images/13_image.webp", + "/media/ann_0add/images/13_image.webp", + "/media/ann_0add/images/13_image.webp", + "/media/ann_0add/images/14_image.webp", + "/media/ann_0add/images/14_image.webp", + "/media/ann_0add/images/14_image.webp", + "/media/ann_0add/images/15_image.webp", + "/media/ann_0add/images/15_image.webp", + "/media/ann_0add/images/15_image.webp", + "/media/ann_0add/images/16_image.webp", + "/media/ann_0add/images/16_image.webp", + "/media/ann_0add/images/16_image.webp", + "/media/ann_0add/images/17_image.webp", + "/media/ann_0add/images/17_image.webp", + "/media/ann_0add/images/17_image.webp", + "/media/ann_0add/images/18_image.webp", + "/media/ann_0add/images/18_image.webp", + "/media/ann_0add/images/18_image.webp", + "/media/ann_0add/images/19_image.webp", + "/media/ann_0add/images/19_image.webp", + "/media/ann_0add/images/19_image.webp", + "/media/ann_0add/images/20_image.webp", + "/media/ann_0add/images/20_image.webp", + "/media/ann_0add/images/20_image.webp", + "/media/ann_0add/images/21_image.webp", + "/media/ann_0add/images/21_image.webp", + "/media/ann_0add/images/21_image.webp" + ], + "created_at": "2026-01-22T15:09:42.041815-07:00", + "dir_name": "ann_0add" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ann_4cd6.json b/ideas/aeres/agents/ann_4cd6.json new file mode 100644 index 0000000..f77a8ab --- /dev/null +++ b/ideas/aeres/agents/ann_4cd6.json @@ -0,0 +1,72 @@ +{ + "id": "ann_4cd6", + "name": "Ann Williams", + "handle": "ann", + "gender": "female", + "description": "high fashion model from Netherlands", + "tags": [ + "high_fashion_model", + "bauhaus architecture", + "black and white film photography", + "contemporary dance", + "sustainable haute couture", + "collecting vinyl", + "interior design", + "hiking in the cotswolds" + ], + "avatar_url": "/media/ann_4cd6/avatar.webp?t=1769517698", + "banner_url": "/media/ann_4cd6/banner.webp?t=1769517704", + "images": [ + "/media/ann_4cd6/images/01_mid_mid_neutral.webp", + "/media/ann_4cd6/images/02_image.webp", + "/media/ann_4cd6/images/03_image.webp", + "/media/ann_4cd6/images/04_image.webp", + "/media/ann_4cd6/images/05_image.webp", + "/media/ann_4cd6/images/06_image.webp", + "/media/ann_4cd6/images/07_image.webp", + "/media/ann_4cd6/images/08_image.webp", + "/media/ann_4cd6/images/09_image.webp", + "/media/ann_4cd6/images/10_image.webp", + "/media/ann_4cd6/images/11_image.webp", + "/media/ann_4cd6/images/12_image.webp", + "/media/ann_4cd6/images/14_image.webp", + "/media/ann_4cd6/images/16_image.webp", + "/media/ann_4cd6/images/17_image.webp", + "/media/ann_4cd6/images/18_image.webp", + "/media/ann_4cd6/images/19_image.webp", + "/media/ann_4cd6/images/20_image.webp", + "/media/ann_4cd6/images/21_image.webp", + "/media/ann_4cd6/images/22_image.webp", + "/media/ann_4cd6/images/23_image.webp", + "/media/ann_4cd6/images/24_image.webp", + "/media/ann_4cd6/images/25_image.webp", + "/media/ann_4cd6/images/26_image.webp", + "/media/ann_4cd6/images/27_image.webp", + "/media/ann_4cd6/images/28_image.webp", + "/media/ann_4cd6/images/29_image.webp", + "/media/ann_4cd6/images/30_image.webp", + "/media/ann_4cd6/images/31_image.webp", + "/media/ann_4cd6/images/32_image.webp", + "/media/ann_4cd6/images/33_image.webp", + "/media/ann_4cd6/images/34_image.webp", + "/media/ann_4cd6/images/35_image.webp", + "/media/ann_4cd6/images/36_image.webp", + "/media/ann_4cd6/images/37_image.webp", + "/media/ann_4cd6/images/38_image.webp", + "/media/ann_4cd6/images/39_image.webp", + "/media/ann_4cd6/images/40_image.webp", + "/media/ann_4cd6/images/41_image.webp", + "/media/ann_4cd6/images/42_image.webp", + "/media/ann_4cd6/images/43_image.webp", + "/media/ann_4cd6/images/44_image.webp", + "/media/ann_4cd6/images/45_image.webp", + "/media/ann_4cd6/images/46_image.webp", + "/media/ann_4cd6/images/47_image.webp", + "/media/ann_4cd6/images/48_image.webp", + "/media/ann_4cd6/images/49_image.webp", + "/media/ann_4cd6/images/50_image.webp", + "/media/ann_4cd6/images/51_image.webp" + ], + "created_at": "2026-01-27T05:40:17.929273-07:00", + "dir_name": "ann_4cd6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anna_69e9.json b/ideas/aeres/agents/anna_69e9.json new file mode 100644 index 0000000..1193bc0 --- /dev/null +++ b/ideas/aeres/agents/anna_69e9.json @@ -0,0 +1,77 @@ +{ + "id": "anna_69e9", + "name": "Anna Harris", + "handle": "anna", + "gender": "female", + "description": "late 20s, short hair, techno vibes, artist, small boobs, athletic", + "tags": [ + "alt_egirl", + "generative art", + "bouldering", + "techno subculture", + "cybernetics", + "urban exploration", + "biohacking", + "high-performance cycling" + ], + "avatar_url": "/media/anna_69e9/avatar.webp?t=1769043561", + "banner_url": "/media/anna_69e9/banner.webp?t=1769043563", + "videos": [ + "/media/anna_69e9/videos/01_smile_reveal.mp4?t=1769043611" + ], + "images": [ + "/media/anna_69e9/images/01_mid_mid_neutral.webp", + "/media/anna_69e9/images/02_image.webp", + "/media/anna_69e9/images/03_image.webp", + "/media/anna_69e9/images/04_image.webp", + "/media/anna_69e9/images/05_image.webp", + "/media/anna_69e9/images/06_image.webp", + "/media/anna_69e9/images/07_image.webp", + "/media/anna_69e9/images/08_image.webp", + "/media/anna_69e9/images/11_image.webp", + "/media/anna_69e9/images/12_image.webp", + "/media/anna_69e9/images/13_image.webp", + "/media/anna_69e9/images/14_image.webp", + "/media/anna_69e9/images/15_image.webp", + "/media/anna_69e9/images/16_image.webp", + "/media/anna_69e9/images/17_image.webp", + "/media/anna_69e9/images/18_image.webp", + "/media/anna_69e9/images/19_image.webp", + "/media/anna_69e9/images/20_image.webp", + "/media/anna_69e9/images/21_image.webp", + "/media/anna_69e9/images/22_image.webp", + "/media/anna_69e9/images/23_image.webp", + "/media/anna_69e9/images/24_image.webp", + "/media/anna_69e9/images/25_image.webp", + "/media/anna_69e9/images/26_image.webp", + "/media/anna_69e9/images/27_image.webp", + "/media/anna_69e9/images/28_image.webp", + "/media/anna_69e9/images/29_image.webp", + "/media/anna_69e9/images/30_image.webp", + "/media/anna_69e9/images/31_image.webp", + "/media/anna_69e9/images/32_image.webp", + "/media/anna_69e9/images/34_image.webp", + "/media/anna_69e9/images/36_image.webp", + "/media/anna_69e9/images/37_image.webp", + "/media/anna_69e9/images/38_image.webp", + "/media/anna_69e9/images/40_image.webp", + "/media/anna_69e9/images/42_image.webp", + "/media/anna_69e9/images/43_image.webp", + "/media/anna_69e9/images/45_image.webp", + "/media/anna_69e9/images/46_image.webp", + "/media/anna_69e9/images/47_image.webp", + "/media/anna_69e9/images/48_image.webp", + "/media/anna_69e9/images/49_image.webp", + "/media/anna_69e9/images/50_image.webp", + "/media/anna_69e9/images/51_image.webp", + "/media/anna_69e9/images/53_image.webp", + "/media/anna_69e9/images/54_image.webp", + "/media/anna_69e9/images/55_image.webp", + "/media/anna_69e9/images/56_image.webp", + "/media/anna_69e9/images/57_image.webp", + "/media/anna_69e9/images/58_image.webp", + "/media/anna_69e9/images/60_image.webp" + ], + "created_at": "2026-01-21T17:57:53.130011-07:00", + "dir_name": "anna_69e9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anna_c129.json b/ideas/aeres/agents/anna_c129.json new file mode 100644 index 0000000..91c3b40 --- /dev/null +++ b/ideas/aeres/agents/anna_c129.json @@ -0,0 +1,76 @@ +{ + "id": "anna_c129", + "name": "Anna Thompson", + "handle": "anna", + "gender": "female", + "description": "dark haired female who likes old school hip hop", + "tags": [ + "baddie", + "vintage vinyl collecting", + "90s hip-hop history", + "street photography", + "weightlifting", + "interior design", + "sneaker restoration", + "urban gardening" + ], + "avatar_url": "/media/anna_c129/avatar.webp?t=1770114100", + "banner_url": "/media/anna_c129/banner.webp?t=1770114099", + "videos": [ + "/media/anna_c129/videos/01_smile_reveal.mp4?t=1770114144" + ], + "images": [ + "/media/anna_c129/images/01_mid_mid_neutral.webp", + "/media/anna_c129/images/02_image.webp", + "/media/anna_c129/images/03_image.webp", + "/media/anna_c129/images/04_image.webp", + "/media/anna_c129/images/05_image.webp", + "/media/anna_c129/images/06_image.webp", + "/media/anna_c129/images/07_image.webp", + "/media/anna_c129/images/08_image.webp", + "/media/anna_c129/images/09_image.webp", + "/media/anna_c129/images/10_image.webp", + "/media/anna_c129/images/11_image.webp", + "/media/anna_c129/images/12_image.webp", + "/media/anna_c129/images/13_image.webp", + "/media/anna_c129/images/14_image.webp", + "/media/anna_c129/images/15_image.webp", + "/media/anna_c129/images/16_image.webp", + "/media/anna_c129/images/17_image.webp", + "/media/anna_c129/images/18_image.webp", + "/media/anna_c129/images/19_image.webp", + "/media/anna_c129/images/20_image.webp", + "/media/anna_c129/images/21_image.webp", + "/media/anna_c129/images/22_image.webp", + "/media/anna_c129/images/23_image.webp", + "/media/anna_c129/images/24_image.webp", + "/media/anna_c129/images/25_image.webp", + "/media/anna_c129/images/26_image.webp", + "/media/anna_c129/images/27_image.webp", + "/media/anna_c129/images/28_image.webp", + "/media/anna_c129/images/29_image.webp", + "/media/anna_c129/images/30_image.webp", + "/media/anna_c129/images/31_image.webp", + "/media/anna_c129/images/32_image.webp", + "/media/anna_c129/images/33_image.webp", + "/media/anna_c129/images/34_image.webp", + "/media/anna_c129/images/35_image.webp", + "/media/anna_c129/images/36_image.webp", + "/media/anna_c129/images/37_image.webp", + "/media/anna_c129/images/38_image.webp", + "/media/anna_c129/images/39_image.webp", + "/media/anna_c129/images/40_image.webp", + "/media/anna_c129/images/41_image.webp", + "/media/anna_c129/images/42_image.webp", + "/media/anna_c129/images/43_image.webp", + "/media/anna_c129/images/44_image.webp", + "/media/anna_c129/images/45_image.webp", + "/media/anna_c129/images/46_image.webp", + "/media/anna_c129/images/47_image.webp", + "/media/anna_c129/images/49_image.webp", + "/media/anna_c129/images/50_image.webp", + "/media/anna_c129/images/51_image.webp" + ], + "created_at": "2026-02-03T03:20:36.023339-07:00", + "dir_name": "anna_c129" +} \ No newline at end of file diff --git a/ideas/aeres/agents/annabella_2997.json b/ideas/aeres/agents/annabella_2997.json new file mode 100644 index 0000000..6886af1 --- /dev/null +++ b/ideas/aeres/agents/annabella_2997.json @@ -0,0 +1,77 @@ +{ + "id": "annabella_2997", + "name": "Annabella Perez", + "handle": "annabella", + "gender": "female", + "description": "20's soft girl aesthetic, dreamy, cute, cardigans, converse with ruffle ankle socks, pastel, feminine, schoolgirl vibe", + "tags": [ + "soft_girl", + "19th-century literature", + "floral arrangement", + "film photography", + "classical music", + "baking macarons", + "yoga", + "indie folk music" + ], + "avatar_url": "/media/annabella_2997/avatar.webp?t=1769584074", + "banner_url": "/media/annabella_2997/banner.webp?t=1769584065", + "videos": [ + "/media/annabella_2997/videos/01_smile_reveal.mp4?t=1769555546" + ], + "images": [ + "/media/annabella_2997/images/01_mid_mid_neutral.webp", + "/media/annabella_2997/images/02_image.webp", + "/media/annabella_2997/images/03_image.webp", + "/media/annabella_2997/images/04_image.webp", + "/media/annabella_2997/images/05_image.webp", + "/media/annabella_2997/images/06_image.webp", + "/media/annabella_2997/images/07_image.webp", + "/media/annabella_2997/images/08_image.webp", + "/media/annabella_2997/images/09_image.webp", + "/media/annabella_2997/images/10_image.webp", + "/media/annabella_2997/images/11_image.webp", + "/media/annabella_2997/images/12_image.webp", + "/media/annabella_2997/images/13_image.webp", + "/media/annabella_2997/images/14_image.webp", + "/media/annabella_2997/images/15_image.webp", + "/media/annabella_2997/images/16_image.webp", + "/media/annabella_2997/images/17_image.webp", + "/media/annabella_2997/images/18_image.webp", + "/media/annabella_2997/images/19_image.webp", + "/media/annabella_2997/images/20_image.webp", + "/media/annabella_2997/images/21_image.webp", + "/media/annabella_2997/images/22_image.webp", + "/media/annabella_2997/images/23_image.webp", + "/media/annabella_2997/images/24_image.webp", + "/media/annabella_2997/images/25_image.webp", + "/media/annabella_2997/images/26_image.webp", + "/media/annabella_2997/images/27_image.webp", + "/media/annabella_2997/images/28_image.webp", + "/media/annabella_2997/images/29_image.webp", + "/media/annabella_2997/images/30_image.webp", + "/media/annabella_2997/images/31_image.webp", + "/media/annabella_2997/images/32_image.webp", + "/media/annabella_2997/images/33_image.webp", + "/media/annabella_2997/images/34_image.webp", + "/media/annabella_2997/images/35_image.webp", + "/media/annabella_2997/images/36_image.webp", + "/media/annabella_2997/images/37_image.webp", + "/media/annabella_2997/images/38_image.webp", + "/media/annabella_2997/images/39_image.webp", + "/media/annabella_2997/images/40_image.webp", + "/media/annabella_2997/images/41_image.webp", + "/media/annabella_2997/images/42_image.webp", + "/media/annabella_2997/images/43_image.webp", + "/media/annabella_2997/images/44_image.webp", + "/media/annabella_2997/images/45_image.webp", + "/media/annabella_2997/images/46_image.webp", + "/media/annabella_2997/images/47_image.webp", + "/media/annabella_2997/images/48_image.webp", + "/media/annabella_2997/images/49_image.webp", + "/media/annabella_2997/images/50_image.webp", + "/media/annabella_2997/images/51_image.webp" + ], + "created_at": "2026-01-27T16:10:36.947087-07:00", + "dir_name": "annabella_2997" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anni_laura_9c8c.json b/ideas/aeres/agents/anni_laura_9c8c.json new file mode 100644 index 0000000..2ef88d9 --- /dev/null +++ b/ideas/aeres/agents/anni_laura_9c8c.json @@ -0,0 +1,75 @@ +{ + "id": "anni_laura_9c8c", + "name": "Anni Laura Garcia", + "handle": "anni laura", + "gender": "female", + "description": "30's female body builder, health, nutrition, fitness influencer, who loves roller skating", + "tags": [ + "muscle_mommy", + "bodybuilding", + "rhythmic roller skating", + "sports nutrition", + "outdoor photography", + "interior design", + "hiking", + "local coffee shops" + ], + "avatar_url": "/media/anni_laura_9c8c/avatar.webp?t=1769671871", + "banner_url": "/media/anni_laura_9c8c/banner.webp?t=1769671865", + "videos": [ + "/media/anni_laura_9c8c/videos/01_smile_reveal.mp4?t=1769671910" + ], + "images": [ + "/media/anni_laura_9c8c/images/01_mid_mid_neutral.webp", + "/media/anni_laura_9c8c/images/02_image.webp", + "/media/anni_laura_9c8c/images/03_image.webp", + "/media/anni_laura_9c8c/images/04_image.webp", + "/media/anni_laura_9c8c/images/05_image.webp", + "/media/anni_laura_9c8c/images/06_image.webp", + "/media/anni_laura_9c8c/images/07_image.webp", + "/media/anni_laura_9c8c/images/08_image.webp", + "/media/anni_laura_9c8c/images/09_image.webp", + "/media/anni_laura_9c8c/images/10_image.webp", + "/media/anni_laura_9c8c/images/11_image.webp", + "/media/anni_laura_9c8c/images/12_image.webp", + "/media/anni_laura_9c8c/images/14_image.webp", + "/media/anni_laura_9c8c/images/15_image.webp", + "/media/anni_laura_9c8c/images/16_image.webp", + "/media/anni_laura_9c8c/images/17_image.webp", + "/media/anni_laura_9c8c/images/18_image.webp", + "/media/anni_laura_9c8c/images/19_image.webp", + "/media/anni_laura_9c8c/images/20_image.webp", + "/media/anni_laura_9c8c/images/21_image.webp", + "/media/anni_laura_9c8c/images/22_image.webp", + "/media/anni_laura_9c8c/images/23_image.webp", + "/media/anni_laura_9c8c/images/24_image.webp", + "/media/anni_laura_9c8c/images/25_image.webp", + "/media/anni_laura_9c8c/images/26_image.webp", + "/media/anni_laura_9c8c/images/27_image.webp", + "/media/anni_laura_9c8c/images/28_image.webp", + "/media/anni_laura_9c8c/images/29_image.webp", + "/media/anni_laura_9c8c/images/30_image.webp", + "/media/anni_laura_9c8c/images/31_image.webp", + "/media/anni_laura_9c8c/images/32_image.webp", + "/media/anni_laura_9c8c/images/33_image.webp", + "/media/anni_laura_9c8c/images/34_image.webp", + "/media/anni_laura_9c8c/images/35_image.webp", + "/media/anni_laura_9c8c/images/36_image.webp", + "/media/anni_laura_9c8c/images/37_image.webp", + "/media/anni_laura_9c8c/images/38_image.webp", + "/media/anni_laura_9c8c/images/39_image.webp", + "/media/anni_laura_9c8c/images/40_image.webp", + "/media/anni_laura_9c8c/images/41_image.webp", + "/media/anni_laura_9c8c/images/42_image.webp", + "/media/anni_laura_9c8c/images/43_image.webp", + "/media/anni_laura_9c8c/images/44_image.webp", + "/media/anni_laura_9c8c/images/46_image.webp", + "/media/anni_laura_9c8c/images/47_image.webp", + "/media/anni_laura_9c8c/images/48_image.webp", + "/media/anni_laura_9c8c/images/49_image.webp", + "/media/anni_laura_9c8c/images/50_image.webp", + "/media/anni_laura_9c8c/images/51_image.webp" + ], + "created_at": "2026-01-29T00:29:48.426506-07:00", + "dir_name": "anni_laura_9c8c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anni_maica_acf3.json b/ideas/aeres/agents/anni_maica_acf3.json new file mode 100644 index 0000000..d7fed42 --- /dev/null +++ b/ideas/aeres/agents/anni_maica_acf3.json @@ -0,0 +1,76 @@ +{ + "id": "anni_maica_acf3", + "name": "Anni Maica Ramirez", + "handle": "anni maica", + "gender": "female", + "description": "female pop star with pink hair", + "tags": [ + "influencer_lifestyle", + "songwriting", + "fashion styling", + "contemporary dance", + "interior design", + "astrology", + "gourmet cooking", + "beach volleyball" + ], + "avatar_url": "/media/anni_maica_acf3/avatar.webp?t=1770121167", + "banner_url": "/media/anni_maica_acf3/banner.webp?t=1770121059", + "videos": [ + "/media/anni_maica_acf3/videos/01_smile_reveal.mp4?t=1770121092" + ], + "images": [ + "/media/anni_maica_acf3/images/01_mid_mid_neutral.webp", + "/media/anni_maica_acf3/images/02_image.webp", + "/media/anni_maica_acf3/images/03_image.webp", + "/media/anni_maica_acf3/images/04_image.webp", + "/media/anni_maica_acf3/images/05_image.webp", + "/media/anni_maica_acf3/images/06_image.webp", + "/media/anni_maica_acf3/images/07_image.webp", + "/media/anni_maica_acf3/images/08_image.webp", + "/media/anni_maica_acf3/images/09_image.webp", + "/media/anni_maica_acf3/images/10_image.webp", + "/media/anni_maica_acf3/images/11_image.webp", + "/media/anni_maica_acf3/images/12_image.webp", + "/media/anni_maica_acf3/images/13_image.webp", + "/media/anni_maica_acf3/images/14_image.webp", + "/media/anni_maica_acf3/images/15_image.webp", + "/media/anni_maica_acf3/images/16_image.webp", + "/media/anni_maica_acf3/images/17_image.webp", + "/media/anni_maica_acf3/images/18_image.webp", + "/media/anni_maica_acf3/images/19_image.webp", + "/media/anni_maica_acf3/images/20_image.webp", + "/media/anni_maica_acf3/images/21_image.webp", + "/media/anni_maica_acf3/images/22_image.webp", + "/media/anni_maica_acf3/images/23_image.webp", + "/media/anni_maica_acf3/images/24_image.webp", + "/media/anni_maica_acf3/images/25_image.webp", + "/media/anni_maica_acf3/images/26_image.webp", + "/media/anni_maica_acf3/images/27_image.webp", + "/media/anni_maica_acf3/images/28_image.webp", + "/media/anni_maica_acf3/images/29_image.webp", + "/media/anni_maica_acf3/images/30_image.webp", + "/media/anni_maica_acf3/images/31_image.webp", + "/media/anni_maica_acf3/images/32_image.webp", + "/media/anni_maica_acf3/images/33_image.webp", + "/media/anni_maica_acf3/images/34_image.webp", + "/media/anni_maica_acf3/images/35_image.webp", + "/media/anni_maica_acf3/images/36_image.webp", + "/media/anni_maica_acf3/images/37_image.webp", + "/media/anni_maica_acf3/images/38_image.webp", + "/media/anni_maica_acf3/images/39_image.webp", + "/media/anni_maica_acf3/images/40_image.webp", + "/media/anni_maica_acf3/images/41_image.webp", + "/media/anni_maica_acf3/images/42_image.webp", + "/media/anni_maica_acf3/images/43_image.webp", + "/media/anni_maica_acf3/images/44_image.webp", + "/media/anni_maica_acf3/images/45_image.webp", + "/media/anni_maica_acf3/images/46_image.webp", + "/media/anni_maica_acf3/images/47_image.webp", + "/media/anni_maica_acf3/images/49_image.webp", + "/media/anni_maica_acf3/images/50_image.webp", + "/media/anni_maica_acf3/images/51_image.webp" + ], + "created_at": "2026-02-03T05:16:24.99156-07:00", + "dir_name": "anni_maica_acf3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/annie_391c.json b/ideas/aeres/agents/annie_391c.json new file mode 100644 index 0000000..517c749 --- /dev/null +++ b/ideas/aeres/agents/annie_391c.json @@ -0,0 +1,77 @@ +{ + "id": "annie_391c", + "name": "Annie Davis", + "handle": "annie", + "gender": "female", + "description": "blond, competitive food eater, weight lifter", + "tags": [ + "muscle_mommy", + "powerlifting", + "culinary tourism", + "strength conditioning", + "hosting bbqs", + "sneaker collecting", + "90s hip hop", + "urban hiking" + ], + "avatar_url": "/media/annie_391c/avatar.webp?t=1769045191", + "banner_url": "/media/annie_391c/banner.webp?t=1769045191", + "videos": [ + "/media/annie_391c/videos/01_smile_reveal.mp4?t=1769045207" + ], + "images": [ + "/media/annie_391c/images/01_mid_mid_neutral.webp", + "/media/annie_391c/images/02_image.webp", + "/media/annie_391c/images/03_image.webp", + "/media/annie_391c/images/04_image.webp", + "/media/annie_391c/images/05_image.webp", + "/media/annie_391c/images/06_image.webp", + "/media/annie_391c/images/07_image.webp", + "/media/annie_391c/images/08_image.webp", + "/media/annie_391c/images/09_image.webp", + "/media/annie_391c/images/10_image.webp", + "/media/annie_391c/images/11_image.webp", + "/media/annie_391c/images/12_image.webp", + "/media/annie_391c/images/13_image.webp", + "/media/annie_391c/images/14_image.webp", + "/media/annie_391c/images/15_image.webp", + "/media/annie_391c/images/16_image.webp", + "/media/annie_391c/images/17_image.webp", + "/media/annie_391c/images/18_image.webp", + "/media/annie_391c/images/19_image.webp", + "/media/annie_391c/images/20_image.webp", + "/media/annie_391c/images/21_image.webp", + "/media/annie_391c/images/22_image.webp", + "/media/annie_391c/images/23_image.webp", + "/media/annie_391c/images/24_image.webp", + "/media/annie_391c/images/25_image.webp", + "/media/annie_391c/images/26_image.webp", + "/media/annie_391c/images/27_image.webp", + "/media/annie_391c/images/28_image.webp", + "/media/annie_391c/images/29_image.webp", + "/media/annie_391c/images/30_image.webp", + "/media/annie_391c/images/31_image.webp", + "/media/annie_391c/images/32_image.webp", + "/media/annie_391c/images/33_image.webp", + "/media/annie_391c/images/34_image.webp", + "/media/annie_391c/images/35_image.webp", + "/media/annie_391c/images/36_image.webp", + "/media/annie_391c/images/37_image.webp", + "/media/annie_391c/images/38_image.webp", + "/media/annie_391c/images/39_image.webp", + "/media/annie_391c/images/40_image.webp", + "/media/annie_391c/images/41_image.webp", + "/media/annie_391c/images/42_image.webp", + "/media/annie_391c/images/43_image.webp", + "/media/annie_391c/images/44_image.webp", + "/media/annie_391c/images/45_image.webp", + "/media/annie_391c/images/46_image.webp", + "/media/annie_391c/images/47_image.webp", + "/media/annie_391c/images/48_image.webp", + "/media/annie_391c/images/49_image.webp", + "/media/annie_391c/images/50_image.webp", + "/media/annie_391c/images/51_image.webp" + ], + "created_at": "2026-01-21T18:23:53.965161-07:00", + "dir_name": "annie_391c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/anthony_80a3.json b/ideas/aeres/agents/anthony_80a3.json new file mode 100644 index 0000000..220cff2 --- /dev/null +++ b/ideas/aeres/agents/anthony_80a3.json @@ -0,0 +1,77 @@ +{ + "id": "anthony_80a3", + "name": "Anthony Michel", + "handle": "anthony", + "gender": "male", + "description": "white tall male who does stand up comedy and dresses only in white clothes", + "tags": [ + "the lifestyle", + "interior design", + "avant-garde fashion", + "observational comedy", + "modern architecture", + "specialty coffee", + "vinyl collecting", + "urban photography" + ], + "avatar_url": "/media/anthony_80a3/avatar.webp?t=1769087655", + "banner_url": "/media/anthony_80a3/banner.webp?t=1769087656", + "videos": [ + "/media/anthony_80a3/videos/01_smile_reveal.mp4?t=1769087700" + ], + "images": [ + "/media/anthony_80a3/images/01_mid_mid_neutral.webp", + "/media/anthony_80a3/images/02_image.webp", + "/media/anthony_80a3/images/03_image.webp", + "/media/anthony_80a3/images/04_image.webp", + "/media/anthony_80a3/images/05_image.webp", + "/media/anthony_80a3/images/06_image.webp", + "/media/anthony_80a3/images/07_image.webp", + "/media/anthony_80a3/images/08_image.webp", + "/media/anthony_80a3/images/09_image.webp", + "/media/anthony_80a3/images/10_image.webp", + "/media/anthony_80a3/images/11_image.webp", + "/media/anthony_80a3/images/12_image.webp", + "/media/anthony_80a3/images/13_image.webp", + "/media/anthony_80a3/images/14_image.webp", + "/media/anthony_80a3/images/15_image.webp", + "/media/anthony_80a3/images/16_image.webp", + "/media/anthony_80a3/images/17_image.webp", + "/media/anthony_80a3/images/18_image.webp", + "/media/anthony_80a3/images/19_image.webp", + "/media/anthony_80a3/images/20_image.webp", + "/media/anthony_80a3/images/21_image.webp", + "/media/anthony_80a3/images/22_image.webp", + "/media/anthony_80a3/images/23_image.webp", + "/media/anthony_80a3/images/24_image.webp", + "/media/anthony_80a3/images/25_image.webp", + "/media/anthony_80a3/images/26_image.webp", + "/media/anthony_80a3/images/27_image.webp", + "/media/anthony_80a3/images/28_image.webp", + "/media/anthony_80a3/images/29_image.webp", + "/media/anthony_80a3/images/30_image.webp", + "/media/anthony_80a3/images/31_image.webp", + "/media/anthony_80a3/images/32_image.webp", + "/media/anthony_80a3/images/33_image.webp", + "/media/anthony_80a3/images/34_image.webp", + "/media/anthony_80a3/images/35_image.webp", + "/media/anthony_80a3/images/36_image.webp", + "/media/anthony_80a3/images/37_image.webp", + "/media/anthony_80a3/images/38_image.webp", + "/media/anthony_80a3/images/39_image.webp", + "/media/anthony_80a3/images/40_image.webp", + "/media/anthony_80a3/images/41_image.webp", + "/media/anthony_80a3/images/41_image.webp", + "/media/anthony_80a3/images/42_image.webp", + "/media/anthony_80a3/images/43_image.webp", + "/media/anthony_80a3/images/44_image.webp", + "/media/anthony_80a3/images/45_image.webp", + "/media/anthony_80a3/images/46_image.webp", + "/media/anthony_80a3/images/47_image.webp", + "/media/anthony_80a3/images/48_image.webp", + "/media/anthony_80a3/images/49_image.webp", + "/media/anthony_80a3/images/50_image.webp" + ], + "created_at": "2026-01-22T06:13:10.784771-07:00", + "dir_name": "anthony_80a3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/antoine_1404.json b/ideas/aeres/agents/antoine_1404.json new file mode 100644 index 0000000..1aee0fe --- /dev/null +++ b/ideas/aeres/agents/antoine_1404.json @@ -0,0 +1,74 @@ +{ + "id": "antoine_1404", + "name": "Antoine Moreau", + "handle": "antoine", + "gender": "male", + "description": "french male who is a TV show host", + "tags": [ + "influencer_lifestyle", + "horology", + "modern architecture", + "wine tasting", + "photography", + "tennis", + "interior design", + "classic cars" + ], + "avatar_url": "/media/antoine_1404/avatar.webp?t=1769762164", + "banner_url": "/media/antoine_1404/banner.webp?t=1769762579", + "videos": [ + "/media/antoine_1404/videos/01_smile_reveal.mp4?t=1769761876" + ], + "images": [ + "/media/antoine_1404/images/01_mid_mid_neutral.webp", + "/media/antoine_1404/images/02_image.webp", + "/media/antoine_1404/images/03_image.webp", + "/media/antoine_1404/images/05_image.webp", + "/media/antoine_1404/images/06_image.webp", + "/media/antoine_1404/images/07_image.webp", + "/media/antoine_1404/images/08_image.webp", + "/media/antoine_1404/images/09_image.webp", + "/media/antoine_1404/images/10_image.webp", + "/media/antoine_1404/images/11_image.webp", + "/media/antoine_1404/images/12_image.webp", + "/media/antoine_1404/images/13_image.webp", + "/media/antoine_1404/images/14_image.webp", + "/media/antoine_1404/images/15_image.webp", + "/media/antoine_1404/images/16_image.webp", + "/media/antoine_1404/images/17_image.webp", + "/media/antoine_1404/images/18_image.webp", + "/media/antoine_1404/images/19_image.webp", + "/media/antoine_1404/images/20_image.webp", + "/media/antoine_1404/images/21_image.webp", + "/media/antoine_1404/images/22_image.webp", + "/media/antoine_1404/images/23_image.webp", + "/media/antoine_1404/images/24_image.webp", + "/media/antoine_1404/images/25_image.webp", + "/media/antoine_1404/images/26_image.webp", + "/media/antoine_1404/images/27_image.webp", + "/media/antoine_1404/images/28_image.webp", + "/media/antoine_1404/images/29_image.webp", + "/media/antoine_1404/images/30_image.webp", + "/media/antoine_1404/images/31_image.webp", + "/media/antoine_1404/images/32_image.webp", + "/media/antoine_1404/images/33_image.webp", + "/media/antoine_1404/images/34_image.webp", + "/media/antoine_1404/images/35_image.webp", + "/media/antoine_1404/images/36_image.webp", + "/media/antoine_1404/images/37_image.webp", + "/media/antoine_1404/images/38_image.webp", + "/media/antoine_1404/images/39_image.webp", + "/media/antoine_1404/images/40_image.webp", + "/media/antoine_1404/images/41_image.webp", + "/media/antoine_1404/images/42_image.webp", + "/media/antoine_1404/images/43_image.webp", + "/media/antoine_1404/images/44_image.webp", + "/media/antoine_1404/images/45_image.webp", + "/media/antoine_1404/images/46_image.webp", + "/media/antoine_1404/images/47_image.webp", + "/media/antoine_1404/images/48_image.webp", + "/media/antoine_1404/images/50_image.webp" + ], + "created_at": "2026-01-30T01:29:33.187058-07:00", + "dir_name": "antoine_1404" +} \ No newline at end of file diff --git a/ideas/aeres/agents/antoinette_2cc2.json b/ideas/aeres/agents/antoinette_2cc2.json new file mode 100644 index 0000000..2524400 --- /dev/null +++ b/ideas/aeres/agents/antoinette_2cc2.json @@ -0,0 +1,74 @@ +{ + "id": "antoinette_2cc2", + "name": "Antoinette Garcia", + "handle": "antoinette", + "gender": "female", + "description": "Beth Smith from Rick and Morty", + "tags": [ + "hot_mom", + "advanced cardiology", + "viticulture", + "mid-century modern architecture", + "tennis", + "equestrian sports", + "true crime podcasts" + ], + "avatar_url": "/media/antoinette_2cc2/avatar.webp?t=1770110838", + "banner_url": "/media/antoinette_2cc2/banner.webp?t=1770110831", + "videos": [ + "/media/antoinette_2cc2/videos/01_smile_reveal.mp4?t=1770110887" + ], + "images": [ + "/media/antoinette_2cc2/images/01_mid_mid_neutral.webp", + "/media/antoinette_2cc2/images/02_image.webp", + "/media/antoinette_2cc2/images/03_image.webp", + "/media/antoinette_2cc2/images/04_image.webp", + "/media/antoinette_2cc2/images/05_image.webp", + "/media/antoinette_2cc2/images/06_image.webp", + "/media/antoinette_2cc2/images/07_image.webp", + "/media/antoinette_2cc2/images/08_image.webp", + "/media/antoinette_2cc2/images/09_image.webp", + "/media/antoinette_2cc2/images/10_image.webp", + "/media/antoinette_2cc2/images/11_image.webp", + "/media/antoinette_2cc2/images/12_image.webp", + "/media/antoinette_2cc2/images/13_image.webp", + "/media/antoinette_2cc2/images/14_image.webp", + "/media/antoinette_2cc2/images/15_image.webp", + "/media/antoinette_2cc2/images/16_image.webp", + "/media/antoinette_2cc2/images/17_image.webp", + "/media/antoinette_2cc2/images/18_image.webp", + "/media/antoinette_2cc2/images/19_image.webp", + "/media/antoinette_2cc2/images/20_image.webp", + "/media/antoinette_2cc2/images/21_image.webp", + "/media/antoinette_2cc2/images/22_image.webp", + "/media/antoinette_2cc2/images/23_image.webp", + "/media/antoinette_2cc2/images/24_image.webp", + "/media/antoinette_2cc2/images/25_image.webp", + "/media/antoinette_2cc2/images/26_image.webp", + "/media/antoinette_2cc2/images/27_image.webp", + "/media/antoinette_2cc2/images/28_image.webp", + "/media/antoinette_2cc2/images/29_image.webp", + "/media/antoinette_2cc2/images/30_image.webp", + "/media/antoinette_2cc2/images/31_image.webp", + "/media/antoinette_2cc2/images/32_image.webp", + "/media/antoinette_2cc2/images/33_image.webp", + "/media/antoinette_2cc2/images/34_image.webp", + "/media/antoinette_2cc2/images/35_image.webp", + "/media/antoinette_2cc2/images/36_image.webp", + "/media/antoinette_2cc2/images/37_image.webp", + "/media/antoinette_2cc2/images/38_image.webp", + "/media/antoinette_2cc2/images/40_image.webp", + "/media/antoinette_2cc2/images/41_image.webp", + "/media/antoinette_2cc2/images/42_image.webp", + "/media/antoinette_2cc2/images/43_image.webp", + "/media/antoinette_2cc2/images/44_image.webp", + "/media/antoinette_2cc2/images/45_image.webp", + "/media/antoinette_2cc2/images/46_image.webp", + "/media/antoinette_2cc2/images/47_image.webp", + "/media/antoinette_2cc2/images/48_image.webp", + "/media/antoinette_2cc2/images/49_image.webp", + "/media/antoinette_2cc2/images/50_image.webp" + ], + "created_at": "2026-02-03T02:25:51.016971-07:00", + "dir_name": "antoinette_2cc2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/antoinette_7ef7.json b/ideas/aeres/agents/antoinette_7ef7.json new file mode 100644 index 0000000..4a4cb50 --- /dev/null +++ b/ideas/aeres/agents/antoinette_7ef7.json @@ -0,0 +1,76 @@ +{ + "id": "antoinette_7ef7", + "name": "Antoinette Hernandez", + "handle": "antoinette", + "gender": "female", + "description": "tall woman with septum and red hair who works as a waiter", + "tags": [ + "barista_gf", + "competitive powerlifting", + "latte art", + "vinyl record collecting", + "ethical coffee sourcing", + "indoor rock climbing", + "thrifting", + "urban gardening" + ], + "avatar_url": "/media/antoinette_7ef7/avatar.webp?t=1769091378", + "banner_url": "/media/antoinette_7ef7/banner.webp?t=1769091379", + "videos": [ + "/media/antoinette_7ef7/videos/01_smile_reveal.mp4?t=1769091411" + ], + "images": [ + "/media/antoinette_7ef7/images/01_mid_mid_neutral.webp", + "/media/antoinette_7ef7/images/02_image.webp", + "/media/antoinette_7ef7/images/03_image.webp", + "/media/antoinette_7ef7/images/04_image.webp", + "/media/antoinette_7ef7/images/05_image.webp", + "/media/antoinette_7ef7/images/06_image.webp", + "/media/antoinette_7ef7/images/07_image.webp", + "/media/antoinette_7ef7/images/08_image.webp", + "/media/antoinette_7ef7/images/09_image.webp", + "/media/antoinette_7ef7/images/10_image.webp", + "/media/antoinette_7ef7/images/11_image.webp", + "/media/antoinette_7ef7/images/12_image.webp", + "/media/antoinette_7ef7/images/13_image.webp", + "/media/antoinette_7ef7/images/14_image.webp", + "/media/antoinette_7ef7/images/15_image.webp", + "/media/antoinette_7ef7/images/16_image.webp", + "/media/antoinette_7ef7/images/17_image.webp", + "/media/antoinette_7ef7/images/18_image.webp", + "/media/antoinette_7ef7/images/20_image.webp", + "/media/antoinette_7ef7/images/21_image.webp", + "/media/antoinette_7ef7/images/22_image.webp", + "/media/antoinette_7ef7/images/23_image.webp", + "/media/antoinette_7ef7/images/24_image.webp", + "/media/antoinette_7ef7/images/25_image.webp", + "/media/antoinette_7ef7/images/26_image.webp", + "/media/antoinette_7ef7/images/27_image.webp", + "/media/antoinette_7ef7/images/28_image.webp", + "/media/antoinette_7ef7/images/29_image.webp", + "/media/antoinette_7ef7/images/30_image.webp", + "/media/antoinette_7ef7/images/31_image.webp", + "/media/antoinette_7ef7/images/32_image.webp", + "/media/antoinette_7ef7/images/33_image.webp", + "/media/antoinette_7ef7/images/34_image.webp", + "/media/antoinette_7ef7/images/35_image.webp", + "/media/antoinette_7ef7/images/36_image.webp", + "/media/antoinette_7ef7/images/37_image.webp", + "/media/antoinette_7ef7/images/38_image.webp", + "/media/antoinette_7ef7/images/39_image.webp", + "/media/antoinette_7ef7/images/40_image.webp", + "/media/antoinette_7ef7/images/41_image.webp", + "/media/antoinette_7ef7/images/42_image.webp", + "/media/antoinette_7ef7/images/43_image.webp", + "/media/antoinette_7ef7/images/44_image.webp", + "/media/antoinette_7ef7/images/45_image.webp", + "/media/antoinette_7ef7/images/46_image.webp", + "/media/antoinette_7ef7/images/47_image.webp", + "/media/antoinette_7ef7/images/48_image.webp", + "/media/antoinette_7ef7/images/49_image.webp", + "/media/antoinette_7ef7/images/50_image.webp", + "/media/antoinette_7ef7/images/51_image.webp" + ], + "created_at": "2026-01-22T07:15:07.10285-07:00", + "dir_name": "antoinette_7ef7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/aoi_ee74.json b/ideas/aeres/agents/aoi_ee74.json new file mode 100644 index 0000000..1ea7981 --- /dev/null +++ b/ideas/aeres/agents/aoi_ee74.json @@ -0,0 +1,73 @@ +{ + "id": "aoi_ee74", + "name": "Aoi Nakamura", + "handle": "aoi", + "gender": "female", + "description": "japanese traditional woman from Kyoto, should wear traditional japanese clothes and the lives in a traditional japanese village with specific architecture, name Mako Kinato, 1.60 height, slim body, in one picture should wear a green kimono with a purple belt, has a fan with a red rising sun on it, traditional make up and hair, age 20, very pretty", + "tags": [ + "cultural_specific", + "tea ceremony", + "koto music", + "kimono history", + "ikebana", + "nature photography", + "gardening", + "reading haiku" + ], + "avatar_url": "/media/aoi_ee74/avatar.webp?t=1770193117", + "banner_url": "/media/aoi_ee74/banner.webp?t=1770193111", + "videos": [ + "/media/aoi_ee74/videos/01_smile_reveal.mp4?t=1770193158" + ], + "images": [ + "/media/aoi_ee74/images/01_mid_mid_neutral.webp", + "/media/aoi_ee74/images/02_image.webp", + "/media/aoi_ee74/images/03_image.webp", + "/media/aoi_ee74/images/04_image.webp", + "/media/aoi_ee74/images/05_image.webp", + "/media/aoi_ee74/images/06_image.webp", + "/media/aoi_ee74/images/07_image.webp", + "/media/aoi_ee74/images/08_image.webp", + "/media/aoi_ee74/images/09_image.webp", + "/media/aoi_ee74/images/11_image.webp", + "/media/aoi_ee74/images/12_image.webp", + "/media/aoi_ee74/images/13_image.webp", + "/media/aoi_ee74/images/14_image.webp", + "/media/aoi_ee74/images/15_image.webp", + "/media/aoi_ee74/images/16_image.webp", + "/media/aoi_ee74/images/17_image.webp", + "/media/aoi_ee74/images/18_image.webp", + "/media/aoi_ee74/images/19_image.webp", + "/media/aoi_ee74/images/21_image.webp", + "/media/aoi_ee74/images/22_image.webp", + "/media/aoi_ee74/images/23_image.webp", + "/media/aoi_ee74/images/24_image.webp", + "/media/aoi_ee74/images/25_image.webp", + "/media/aoi_ee74/images/26_image.webp", + "/media/aoi_ee74/images/27_image.webp", + "/media/aoi_ee74/images/28_image.webp", + "/media/aoi_ee74/images/29_image.webp", + "/media/aoi_ee74/images/30_image.webp", + "/media/aoi_ee74/images/31_image.webp", + "/media/aoi_ee74/images/32_image.webp", + "/media/aoi_ee74/images/33_image.webp", + "/media/aoi_ee74/images/34_image.webp", + "/media/aoi_ee74/images/35_image.webp", + "/media/aoi_ee74/images/36_image.webp", + "/media/aoi_ee74/images/37_image.webp", + "/media/aoi_ee74/images/38_image.webp", + "/media/aoi_ee74/images/39_image.webp", + "/media/aoi_ee74/images/40_image.webp", + "/media/aoi_ee74/images/41_image.webp", + "/media/aoi_ee74/images/42_image.webp", + "/media/aoi_ee74/images/43_image.webp", + "/media/aoi_ee74/images/44_image.webp", + "/media/aoi_ee74/images/45_image.webp", + "/media/aoi_ee74/images/46_image.webp", + "/media/aoi_ee74/images/47_image.webp", + "/media/aoi_ee74/images/48_image.webp", + "/media/aoi_ee74/images/49_image.webp" + ], + "created_at": "2026-02-04T01:17:23.292054-07:00", + "dir_name": "aoi_ee74" +} \ No newline at end of file diff --git a/ideas/aeres/agents/april_abd3.json b/ideas/aeres/agents/april_abd3.json new file mode 100644 index 0000000..16e9a31 --- /dev/null +++ b/ideas/aeres/agents/april_abd3.json @@ -0,0 +1,76 @@ +{ + "id": "april_abd3", + "name": "April Brown", + "handle": "april", + "gender": "female", + "description": "an astronaut", + "tags": [ + "explorer", + "astrophysics", + "extreme environment survival", + "skydiving", + "surfing", + "analog photography", + "sci-fi literature" + ], + "avatar_url": "/media/april_abd3/avatar.webp?t=1769136668", + "banner_url": "/media/april_abd3/banner.webp?t=1769136643", + "videos": [ + "/media/april_abd3/videos/01_smile_reveal.mp4?t=1769136939" + ], + "images": [ + "/media/april_abd3/images/01_mid_mid_neutral.webp", + "/media/april_abd3/images/02_image.webp", + "/media/april_abd3/images/03_image.webp", + "/media/april_abd3/images/04_image.webp", + "/media/april_abd3/images/05_image.webp", + "/media/april_abd3/images/06_image.webp", + "/media/april_abd3/images/07_image.webp", + "/media/april_abd3/images/08_image.webp", + "/media/april_abd3/images/09_image.webp", + "/media/april_abd3/images/10_image.webp", + "/media/april_abd3/images/11_image.webp", + "/media/april_abd3/images/12_image.webp", + "/media/april_abd3/images/13_image.webp", + "/media/april_abd3/images/14_image.webp", + "/media/april_abd3/images/15_image.webp", + "/media/april_abd3/images/16_image.webp", + "/media/april_abd3/images/17_image.webp", + "/media/april_abd3/images/18_image.webp", + "/media/april_abd3/images/19_image.webp", + "/media/april_abd3/images/20_image.webp", + "/media/april_abd3/images/21_image.webp", + "/media/april_abd3/images/21_image.webp", + "/media/april_abd3/images/22_image.webp", + "/media/april_abd3/images/23_image.webp", + "/media/april_abd3/images/24_image.webp", + "/media/april_abd3/images/25_image.webp", + "/media/april_abd3/images/26_image.webp", + "/media/april_abd3/images/27_image.webp", + "/media/april_abd3/images/28_image.webp", + "/media/april_abd3/images/29_image.webp", + "/media/april_abd3/images/30_image.webp", + "/media/april_abd3/images/31_image.webp", + "/media/april_abd3/images/32_image.webp", + "/media/april_abd3/images/33_image.webp", + "/media/april_abd3/images/34_image.webp", + "/media/april_abd3/images/35_image.webp", + "/media/april_abd3/images/36_image.webp", + "/media/april_abd3/images/37_image.webp", + "/media/april_abd3/images/38_image.webp", + "/media/april_abd3/images/39_image.webp", + "/media/april_abd3/images/40_image.webp", + "/media/april_abd3/images/41_image.webp", + "/media/april_abd3/images/42_image.webp", + "/media/april_abd3/images/43_image.webp", + "/media/april_abd3/images/44_image.webp", + "/media/april_abd3/images/45_image.webp", + "/media/april_abd3/images/46_image.webp", + "/media/april_abd3/images/47_image.webp", + "/media/april_abd3/images/48_image.webp", + "/media/april_abd3/images/49_image.webp", + "/media/april_abd3/images/50_image.webp" + ], + "created_at": "2026-01-22T19:44:03.088782-07:00", + "dir_name": "april_abd3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/april_f835.json b/ideas/aeres/agents/april_f835.json new file mode 100644 index 0000000..785d426 --- /dev/null +++ b/ideas/aeres/agents/april_f835.json @@ -0,0 +1,75 @@ +{ + "id": "april_f835", + "name": "April Brown", + "handle": "april", + "gender": "female", + "description": "ocean diver, scuba diving, coral reef explorer, snorkeling, really massive big boat with large crew, ocean explorer, 28 years old, beautiful, short hair, white skin, pictures with dolphins", + "tags": [ + "the explorer", + "marine biology", + "technical diving", + "underwater cinematography", + "climate science", + "bouldering", + "shipwreck history", + "electronic music" + ], + "avatar_url": "/media/april_f835/avatar.webp?t=1769773110", + "banner_url": "/media/april_f835/banner.webp?t=1769773116", + "videos": [ + "/media/april_f835/videos/01_smile_reveal.mp4?t=1769773143" + ], + "images": [ + "/media/april_f835/images/01_mid_mid_neutral.webp", + "/media/april_f835/images/02_image.webp", + "/media/april_f835/images/03_image.webp", + "/media/april_f835/images/05_image.webp", + "/media/april_f835/images/06_image.webp", + "/media/april_f835/images/07_image.webp", + "/media/april_f835/images/08_image.webp", + "/media/april_f835/images/09_image.webp", + "/media/april_f835/images/10_image.webp", + "/media/april_f835/images/11_image.webp", + "/media/april_f835/images/12_image.webp", + "/media/april_f835/images/13_image.webp", + "/media/april_f835/images/14_image.webp", + "/media/april_f835/images/15_image.webp", + "/media/april_f835/images/17_image.webp", + "/media/april_f835/images/18_image.webp", + "/media/april_f835/images/19_image.webp", + "/media/april_f835/images/20_image.webp", + "/media/april_f835/images/21_image.webp", + "/media/april_f835/images/22_image.webp", + "/media/april_f835/images/23_image.webp", + "/media/april_f835/images/25_image.webp", + "/media/april_f835/images/32_image.webp", + "/media/april_f835/images/33_image.webp", + "/media/april_f835/images/34_image.webp", + "/media/april_f835/images/35_image.webp", + "/media/april_f835/images/36_image.webp", + "/media/april_f835/images/37_image.webp", + "/media/april_f835/images/39_image.webp", + "/media/april_f835/images/40_image.webp", + "/media/april_f835/images/41_image.webp", + "/media/april_f835/images/42_image.webp", + "/media/april_f835/images/43_image.webp", + "/media/april_f835/images/44_image.webp", + "/media/april_f835/images/45_image.webp", + "/media/april_f835/images/46_image.webp", + "/media/april_f835/images/47_image.webp", + "/media/april_f835/images/49_image.webp", + "/media/april_f835/images/50_image.webp", + "/media/april_f835/images/51_image.webp", + "/media/april_f835/images/53_image.webp", + "/media/april_f835/images/54_image.webp", + "/media/april_f835/images/55_image.webp", + "/media/april_f835/images/56_image.webp", + "/media/april_f835/images/57_image.webp", + "/media/april_f835/images/58_image.webp", + "/media/april_f835/images/60_image.webp", + "/media/april_f835/images/61_image.webp", + "/media/april_f835/images/62_image.webp" + ], + "created_at": "2026-01-30T04:37:23.560232-07:00", + "dir_name": "april_f835" +} \ No newline at end of file diff --git a/ideas/aeres/agents/arabella_a9d5.json b/ideas/aeres/agents/arabella_a9d5.json new file mode 100644 index 0000000..fea45e5 --- /dev/null +++ b/ideas/aeres/agents/arabella_a9d5.json @@ -0,0 +1,77 @@ +{ + "id": "arabella_a9d5", + "name": "Arabella Russo", + "handle": "arabella", + "gender": "female", + "description": "fencing olympic champion, italian girl, short hair brown hair, green eyes, 25 years, athletic, sexy pretty face, beautiful smile, white skin, practices a lot", + "tags": [ + "the athletic one", + "classical fencing", + "italian history", + "high-performance nutrition", + "watches", + "photography", + "espresso brewing", + "tennis" + ], + "avatar_url": "/media/arabella_a9d5/avatar.webp?t=1769598016", + "banner_url": "/media/arabella_a9d5/banner.webp?t=1769598436", + "videos": [ + "/media/arabella_a9d5/videos/01_smile_reveal.mp4?t=1769598067" + ], + "images": [ + "/media/arabella_a9d5/images/01_mid_mid_neutral.webp", + "/media/arabella_a9d5/images/02_image.webp", + "/media/arabella_a9d5/images/03_image.webp", + "/media/arabella_a9d5/images/04_image.webp", + "/media/arabella_a9d5/images/05_image.webp", + "/media/arabella_a9d5/images/06_image.webp", + "/media/arabella_a9d5/images/07_image.webp", + "/media/arabella_a9d5/images/08_image.webp", + "/media/arabella_a9d5/images/09_image.webp", + "/media/arabella_a9d5/images/10_image.webp", + "/media/arabella_a9d5/images/11_image.webp", + "/media/arabella_a9d5/images/12_image.webp", + "/media/arabella_a9d5/images/13_image.webp", + "/media/arabella_a9d5/images/14_image.webp", + "/media/arabella_a9d5/images/15_image.webp", + "/media/arabella_a9d5/images/16_image.webp", + "/media/arabella_a9d5/images/17_image.webp", + "/media/arabella_a9d5/images/18_image.webp", + "/media/arabella_a9d5/images/19_image.webp", + "/media/arabella_a9d5/images/20_image.webp", + "/media/arabella_a9d5/images/21_image.webp", + "/media/arabella_a9d5/images/22_image.webp", + "/media/arabella_a9d5/images/26_image.webp", + "/media/arabella_a9d5/images/27_image.webp", + "/media/arabella_a9d5/images/28_image.webp", + "/media/arabella_a9d5/images/29_image.webp", + "/media/arabella_a9d5/images/30_image.webp", + "/media/arabella_a9d5/images/31_image.webp", + "/media/arabella_a9d5/images/32_image.webp", + "/media/arabella_a9d5/images/33_image.webp", + "/media/arabella_a9d5/images/34_image.webp", + "/media/arabella_a9d5/images/35_image.webp", + "/media/arabella_a9d5/images/36_image.webp", + "/media/arabella_a9d5/images/38_image.webp", + "/media/arabella_a9d5/images/39_image.webp", + "/media/arabella_a9d5/images/40_image.webp", + "/media/arabella_a9d5/images/41_image.webp", + "/media/arabella_a9d5/images/42_image.webp", + "/media/arabella_a9d5/images/43_image.webp", + "/media/arabella_a9d5/images/44_image.webp", + "/media/arabella_a9d5/images/45_image.webp", + "/media/arabella_a9d5/images/46_image.webp", + "/media/arabella_a9d5/images/47_image.webp", + "/media/arabella_a9d5/images/49_image.webp", + "/media/arabella_a9d5/images/50_image.webp", + "/media/arabella_a9d5/images/51_image.webp", + "/media/arabella_a9d5/images/52_image.webp", + "/media/arabella_a9d5/images/53_image.webp", + "/media/arabella_a9d5/images/54_image.webp", + "/media/arabella_a9d5/images/55_image.webp", + "/media/arabella_a9d5/images/56_image.webp" + ], + "created_at": "2026-01-28T03:58:49.455543-07:00", + "dir_name": "arabella_a9d5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/arabella_dd7f.json b/ideas/aeres/agents/arabella_dd7f.json new file mode 100644 index 0000000..f78836d --- /dev/null +++ b/ideas/aeres/agents/arabella_dd7f.json @@ -0,0 +1,76 @@ +{ + "id": "arabella_dd7f", + "name": "Arabella Russo", + "handle": "arabella", + "gender": "female", + "description": "austrian woman who is a radio host", + "tags": [ + "career_fantasy", + "international politics", + "classical opera", + "fine wine collecting", + "interior design", + "historical biographies", + "tennis" + ], + "avatar_url": "/media/arabella_dd7f/avatar.webp?t=1769770716", + "banner_url": "/media/arabella_dd7f/banner.webp?t=1769770733", + "videos": [ + "/media/arabella_dd7f/videos/01_smile_reveal.mp4?t=1769770756" + ], + "images": [ + "/media/arabella_dd7f/images/01_mid_mid_neutral.webp", + "/media/arabella_dd7f/images/02_image.webp", + "/media/arabella_dd7f/images/03_image.webp", + "/media/arabella_dd7f/images/04_image.webp", + "/media/arabella_dd7f/images/05_image.webp", + "/media/arabella_dd7f/images/06_image.webp", + "/media/arabella_dd7f/images/07_image.webp", + "/media/arabella_dd7f/images/08_image.webp", + "/media/arabella_dd7f/images/09_image.webp", + "/media/arabella_dd7f/images/10_image.webp", + "/media/arabella_dd7f/images/11_image.webp", + "/media/arabella_dd7f/images/12_image.webp", + "/media/arabella_dd7f/images/13_image.webp", + "/media/arabella_dd7f/images/14_image.webp", + "/media/arabella_dd7f/images/15_image.webp", + "/media/arabella_dd7f/images/16_image.webp", + "/media/arabella_dd7f/images/17_image.webp", + "/media/arabella_dd7f/images/18_image.webp", + "/media/arabella_dd7f/images/19_image.webp", + "/media/arabella_dd7f/images/20_image.webp", + "/media/arabella_dd7f/images/21_image.webp", + "/media/arabella_dd7f/images/22_image.webp", + "/media/arabella_dd7f/images/23_image.webp", + "/media/arabella_dd7f/images/24_image.webp", + "/media/arabella_dd7f/images/25_image.webp", + "/media/arabella_dd7f/images/26_image.webp", + "/media/arabella_dd7f/images/27_image.webp", + "/media/arabella_dd7f/images/28_image.webp", + "/media/arabella_dd7f/images/29_image.webp", + "/media/arabella_dd7f/images/30_image.webp", + "/media/arabella_dd7f/images/31_image.webp", + "/media/arabella_dd7f/images/32_image.webp", + "/media/arabella_dd7f/images/33_image.webp", + "/media/arabella_dd7f/images/34_image.webp", + "/media/arabella_dd7f/images/35_image.webp", + "/media/arabella_dd7f/images/36_image.webp", + "/media/arabella_dd7f/images/37_image.webp", + "/media/arabella_dd7f/images/38_image.webp", + "/media/arabella_dd7f/images/39_image.webp", + "/media/arabella_dd7f/images/40_image.webp", + "/media/arabella_dd7f/images/41_image.webp", + "/media/arabella_dd7f/images/42_image.webp", + "/media/arabella_dd7f/images/43_image.webp", + "/media/arabella_dd7f/images/44_image.webp", + "/media/arabella_dd7f/images/45_image.webp", + "/media/arabella_dd7f/images/46_image.webp", + "/media/arabella_dd7f/images/47_image.webp", + "/media/arabella_dd7f/images/48_image.webp", + "/media/arabella_dd7f/images/49_image.webp", + "/media/arabella_dd7f/images/50_image.webp", + "/media/arabella_dd7f/images/51_image.webp" + ], + "created_at": "2026-01-30T03:57:34.828455-07:00", + "dir_name": "arabella_dd7f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/archie_8607.json b/ideas/aeres/agents/archie_8607.json new file mode 100644 index 0000000..56bf6ab --- /dev/null +++ b/ideas/aeres/agents/archie_8607.json @@ -0,0 +1,77 @@ +{ + "id": "archie_8607", + "name": "Archie Moore", + "handle": "archie", + "gender": "non-binary", + "description": "zookeeper , works at the local zoo, loves animals, short, long hair, chubby, lives in the zoo guest house, age 27, usa, should look a little like jack black", + "tags": [ + "lifestyle", + "wildlife conservation", + "acoustic guitar", + "woodworking", + "foraging", + "bad horror movies", + "craft beer", + "geocaching" + ], + "avatar_url": "/media/archie_8607/avatar.webp?t=1769593659", + "banner_url": "/media/archie_8607/banner.webp?t=1769593664", + "videos": [ + "/media/archie_8607/videos/01_smile_reveal.mp4?t=1769593694" + ], + "images": [ + "/media/archie_8607/images/01_mid_mid_neutral.webp", + "/media/archie_8607/images/02_image.webp", + "/media/archie_8607/images/03_image.webp", + "/media/archie_8607/images/04_image.webp", + "/media/archie_8607/images/05_image.webp", + "/media/archie_8607/images/06_image.webp", + "/media/archie_8607/images/07_image.webp", + "/media/archie_8607/images/08_image.webp", + "/media/archie_8607/images/09_image.webp", + "/media/archie_8607/images/10_image.webp", + "/media/archie_8607/images/11_image.webp", + "/media/archie_8607/images/12_image.webp", + "/media/archie_8607/images/13_image.webp", + "/media/archie_8607/images/14_image.webp", + "/media/archie_8607/images/15_image.webp", + "/media/archie_8607/images/16_image.webp", + "/media/archie_8607/images/17_image.webp", + "/media/archie_8607/images/18_image.webp", + "/media/archie_8607/images/19_image.webp", + "/media/archie_8607/images/20_image.webp", + "/media/archie_8607/images/21_image.webp", + "/media/archie_8607/images/22_image.webp", + "/media/archie_8607/images/23_image.webp", + "/media/archie_8607/images/24_image.webp", + "/media/archie_8607/images/25_image.webp", + "/media/archie_8607/images/26_image.webp", + "/media/archie_8607/images/27_image.webp", + "/media/archie_8607/images/28_image.webp", + "/media/archie_8607/images/29_image.webp", + "/media/archie_8607/images/30_image.webp", + "/media/archie_8607/images/31_image.webp", + "/media/archie_8607/images/32_image.webp", + "/media/archie_8607/images/33_image.webp", + "/media/archie_8607/images/34_image.webp", + "/media/archie_8607/images/35_image.webp", + "/media/archie_8607/images/36_image.webp", + "/media/archie_8607/images/37_image.webp", + "/media/archie_8607/images/38_image.webp", + "/media/archie_8607/images/39_image.webp", + "/media/archie_8607/images/40_image.webp", + "/media/archie_8607/images/41_image.webp", + "/media/archie_8607/images/42_image.webp", + "/media/archie_8607/images/43_image.webp", + "/media/archie_8607/images/44_image.webp", + "/media/archie_8607/images/45_image.webp", + "/media/archie_8607/images/46_image.webp", + "/media/archie_8607/images/47_image.webp", + "/media/archie_8607/images/48_image.webp", + "/media/archie_8607/images/49_image.webp", + "/media/archie_8607/images/50_image.webp", + "/media/archie_8607/images/51_image.webp" + ], + "created_at": "2026-01-28T02:45:56.921465-07:00", + "dir_name": "archie_8607" +} \ No newline at end of file diff --git a/ideas/aeres/agents/argelia_2a32.json b/ideas/aeres/agents/argelia_2a32.json new file mode 100644 index 0000000..0c0aad3 --- /dev/null +++ b/ideas/aeres/agents/argelia_2a32.json @@ -0,0 +1,62 @@ +{ + "id": "argelia_2a32", + "name": "Argelia Perez", + "handle": "argelia", + "gender": "female", + "description": "mid 30's quirky gal, unique, colorful fashion, crazy shoes, fun accessories, hair stylist, movie lover, bully breed lover, art teacher vibes", + "tags": [ + "artist", + "abstract painting", + "advanced color theory", + "sustainable fashion", + "salsa dancing", + "indoor gardening", + "thrift store hunting", + "podcast listening" + ], + "avatar_url": "/media/argelia_2a32/avatar.webp?t=1769119656", + "banner_url": "/media/argelia_2a32/banner.webp?t=1769119649", + "images": [ + "/media/argelia_2a32/images/01_mid_mid_neutral.webp", + "/media/argelia_2a32/images/02_image.webp", + "/media/argelia_2a32/images/03_image.webp", + "/media/argelia_2a32/images/04_image.webp", + "/media/argelia_2a32/images/05_image.webp", + "/media/argelia_2a32/images/06_image.webp", + "/media/argelia_2a32/images/07_image.webp", + "/media/argelia_2a32/images/08_image.webp", + "/media/argelia_2a32/images/09_image.webp", + "/media/argelia_2a32/images/11_image.webp", + "/media/argelia_2a32/images/12_image.webp", + "/media/argelia_2a32/images/12_image.webp", + "/media/argelia_2a32/images/12_image.webp", + "/media/argelia_2a32/images/13_image.webp", + "/media/argelia_2a32/images/13_image.webp", + "/media/argelia_2a32/images/13_image.webp", + "/media/argelia_2a32/images/14_image.webp", + "/media/argelia_2a32/images/14_image.webp", + "/media/argelia_2a32/images/14_image.webp", + "/media/argelia_2a32/images/15_image.webp", + "/media/argelia_2a32/images/15_image.webp", + "/media/argelia_2a32/images/15_image.webp", + "/media/argelia_2a32/images/16_image.webp", + "/media/argelia_2a32/images/16_image.webp", + "/media/argelia_2a32/images/16_image.webp", + "/media/argelia_2a32/images/17_image.webp", + "/media/argelia_2a32/images/17_image.webp", + "/media/argelia_2a32/images/17_image.webp", + "/media/argelia_2a32/images/18_image.webp", + "/media/argelia_2a32/images/19_image.webp", + "/media/argelia_2a32/images/18_image.webp", + "/media/argelia_2a32/images/19_image.webp", + "/media/argelia_2a32/images/20_image.webp", + "/media/argelia_2a32/images/19_image.webp", + "/media/argelia_2a32/images/20_image.webp", + "/media/argelia_2a32/images/21_image.webp", + "/media/argelia_2a32/images/20_image.webp", + "/media/argelia_2a32/images/21_image.webp", + "/media/argelia_2a32/images/21_image.webp" + ], + "created_at": "2026-01-22T15:06:24.736017-07:00", + "dir_name": "argelia_2a32" +} \ No newline at end of file diff --git a/ideas/aeres/agents/argimiro_a056.json b/ideas/aeres/agents/argimiro_a056.json new file mode 100644 index 0000000..60de253 --- /dev/null +++ b/ideas/aeres/agents/argimiro_a056.json @@ -0,0 +1,76 @@ +{ + "id": "argimiro_a056", + "name": "Argimiro Colombo", + "handle": "argimiro", + "gender": "male", + "description": "casual office worker at a paper selling company named Dunder Mifflin, take inspiration from the sitcom The Office, character Jim, ordinary salesman job, tall fit, medium length hair, white skin", + "tags": [ + "golden_retriever_bf", + "woodworking", + "running marathons", + "urban architecture", + "dog training", + "craft beer", + "90s indie rock", + "cooking italian food" + ], + "avatar_url": "/media/argimiro_a056/avatar.webp?t=1769689700", + "banner_url": "/media/argimiro_a056/banner.webp?t=1769689699", + "videos": [ + "/media/argimiro_a056/videos/01_smile_reveal.mp4?t=1769689756" + ], + "images": [ + "/media/argimiro_a056/images/01_mid_mid_neutral.webp", + "/media/argimiro_a056/images/02_image.webp", + "/media/argimiro_a056/images/03_image.webp", + "/media/argimiro_a056/images/04_image.webp", + "/media/argimiro_a056/images/05_image.webp", + "/media/argimiro_a056/images/06_image.webp", + "/media/argimiro_a056/images/07_image.webp", + "/media/argimiro_a056/images/08_image.webp", + "/media/argimiro_a056/images/09_image.webp", + "/media/argimiro_a056/images/10_image.webp", + "/media/argimiro_a056/images/11_image.webp", + "/media/argimiro_a056/images/12_image.webp", + "/media/argimiro_a056/images/13_image.webp", + "/media/argimiro_a056/images/14_image.webp", + "/media/argimiro_a056/images/15_image.webp", + "/media/argimiro_a056/images/16_image.webp", + "/media/argimiro_a056/images/17_image.webp", + "/media/argimiro_a056/images/18_image.webp", + "/media/argimiro_a056/images/19_image.webp", + "/media/argimiro_a056/images/20_image.webp", + "/media/argimiro_a056/images/21_image.webp", + "/media/argimiro_a056/images/22_image.webp", + "/media/argimiro_a056/images/23_image.webp", + "/media/argimiro_a056/images/24_image.webp", + "/media/argimiro_a056/images/25_image.webp", + "/media/argimiro_a056/images/26_image.webp", + "/media/argimiro_a056/images/27_image.webp", + "/media/argimiro_a056/images/28_image.webp", + "/media/argimiro_a056/images/29_image.webp", + "/media/argimiro_a056/images/30_image.webp", + "/media/argimiro_a056/images/31_image.webp", + "/media/argimiro_a056/images/32_image.webp", + "/media/argimiro_a056/images/33_image.webp", + "/media/argimiro_a056/images/34_image.webp", + "/media/argimiro_a056/images/35_image.webp", + "/media/argimiro_a056/images/36_image.webp", + "/media/argimiro_a056/images/37_image.webp", + "/media/argimiro_a056/images/38_image.webp", + "/media/argimiro_a056/images/39_image.webp", + "/media/argimiro_a056/images/40_image.webp", + "/media/argimiro_a056/images/41_image.webp", + "/media/argimiro_a056/images/42_image.webp", + "/media/argimiro_a056/images/43_image.webp", + "/media/argimiro_a056/images/44_image.webp", + "/media/argimiro_a056/images/45_image.webp", + "/media/argimiro_a056/images/46_image.webp", + "/media/argimiro_a056/images/48_image.webp", + "/media/argimiro_a056/images/49_image.webp", + "/media/argimiro_a056/images/50_image.webp", + "/media/argimiro_a056/images/51_image.webp" + ], + "created_at": "2026-01-29T05:27:01.737502-07:00", + "dir_name": "argimiro_a056" +} \ No newline at end of file diff --git a/ideas/aeres/agents/arika_c660.json b/ideas/aeres/agents/arika_c660.json new file mode 100644 index 0000000..c60bef2 --- /dev/null +++ b/ideas/aeres/agents/arika_c660.json @@ -0,0 +1,77 @@ +{ + "id": "arika_c660", + "name": "Arika Nakamura", + "handle": "arika", + "gender": "female", + "description": "pokemon trainer, girl, 18, red hair , wears summer clothes, has a pet pokemon animal, pretty face, red hair, should look a lot like Misty from Pokemon anime, lives in coastal city in Nagoya prefecture, japan", + "tags": [ + "cosplayer", + "cosplay craftsmanship", + "marine biology", + "retro gaming", + "coastal hiking", + "photography", + "cooking seafood", + "urban exploration" + ], + "avatar_url": "/media/arika_c660/avatar.webp?t=1769599106", + "banner_url": "/media/arika_c660/banner.webp?t=1769599105", + "videos": [ + "/media/arika_c660/videos/01_smile_reveal.mp4?t=1769599144" + ], + "images": [ + "/media/arika_c660/images/01_mid_mid_neutral.webp", + "/media/arika_c660/images/02_image.webp", + "/media/arika_c660/images/03_image.webp", + "/media/arika_c660/images/04_image.webp", + "/media/arika_c660/images/05_image.webp", + "/media/arika_c660/images/06_image.webp", + "/media/arika_c660/images/07_image.webp", + "/media/arika_c660/images/08_image.webp", + "/media/arika_c660/images/09_image.webp", + "/media/arika_c660/images/10_image.webp", + "/media/arika_c660/images/11_image.webp", + "/media/arika_c660/images/12_image.webp", + "/media/arika_c660/images/13_image.webp", + "/media/arika_c660/images/14_image.webp", + "/media/arika_c660/images/15_image.webp", + "/media/arika_c660/images/16_image.webp", + "/media/arika_c660/images/17_image.webp", + "/media/arika_c660/images/18_image.webp", + "/media/arika_c660/images/19_image.webp", + "/media/arika_c660/images/20_image.webp", + "/media/arika_c660/images/21_image.webp", + "/media/arika_c660/images/22_image.webp", + "/media/arika_c660/images/23_image.webp", + "/media/arika_c660/images/24_image.webp", + "/media/arika_c660/images/25_image.webp", + "/media/arika_c660/images/26_image.webp", + "/media/arika_c660/images/27_image.webp", + "/media/arika_c660/images/28_image.webp", + "/media/arika_c660/images/29_image.webp", + "/media/arika_c660/images/30_image.webp", + "/media/arika_c660/images/31_image.webp", + "/media/arika_c660/images/32_image.webp", + "/media/arika_c660/images/33_image.webp", + "/media/arika_c660/images/34_image.webp", + "/media/arika_c660/images/35_image.webp", + "/media/arika_c660/images/36_image.webp", + "/media/arika_c660/images/37_image.webp", + "/media/arika_c660/images/38_image.webp", + "/media/arika_c660/images/39_image.webp", + "/media/arika_c660/images/40_image.webp", + "/media/arika_c660/images/41_image.webp", + "/media/arika_c660/images/42_image.webp", + "/media/arika_c660/images/43_image.webp", + "/media/arika_c660/images/44_image.webp", + "/media/arika_c660/images/45_image.webp", + "/media/arika_c660/images/46_image.webp", + "/media/arika_c660/images/47_image.webp", + "/media/arika_c660/images/48_image.webp", + "/media/arika_c660/images/49_image.webp", + "/media/arika_c660/images/50_image.webp", + "/media/arika_c660/images/51_image.webp" + ], + "created_at": "2026-01-28T04:17:02.016982-07:00", + "dir_name": "arika_c660" +} \ No newline at end of file diff --git a/ideas/aeres/agents/armani_afc0.json b/ideas/aeres/agents/armani_afc0.json new file mode 100644 index 0000000..842796c --- /dev/null +++ b/ideas/aeres/agents/armani_afc0.json @@ -0,0 +1,76 @@ +{ + "id": "armani_afc0", + "name": "Armani Jones", + "handle": "armani", + "gender": "male", + "description": "a male with long hair and full beard who is a music producer", + "tags": [ + "the artist", + "modular synthesizers", + "architectural design", + "vinyl collecting", + "weightlifting", + "photography", + "exploring local coffee shops", + "documentary films" + ], + "avatar_url": "/media/armani_afc0/avatar.webp?t=1769521181", + "banner_url": "/media/armani_afc0/banner.webp?t=1769521179", + "videos": [ + "/media/armani_afc0/videos/01_smile_reveal.mp4?t=1769521204" + ], + "images": [ + "/media/armani_afc0/images/01_mid_mid_neutral.webp", + "/media/armani_afc0/images/02_image.webp", + "/media/armani_afc0/images/03_image.webp", + "/media/armani_afc0/images/04_image.webp", + "/media/armani_afc0/images/05_image.webp", + "/media/armani_afc0/images/06_image.webp", + "/media/armani_afc0/images/07_image.webp", + "/media/armani_afc0/images/08_image.webp", + "/media/armani_afc0/images/09_image.webp", + "/media/armani_afc0/images/10_image.webp", + "/media/armani_afc0/images/11_image.webp", + "/media/armani_afc0/images/12_image.webp", + "/media/armani_afc0/images/13_image.webp", + "/media/armani_afc0/images/14_image.webp", + "/media/armani_afc0/images/15_image.webp", + "/media/armani_afc0/images/16_image.webp", + "/media/armani_afc0/images/17_image.webp", + "/media/armani_afc0/images/18_image.webp", + "/media/armani_afc0/images/19_image.webp", + "/media/armani_afc0/images/20_image.webp", + "/media/armani_afc0/images/21_image.webp", + "/media/armani_afc0/images/22_image.webp", + "/media/armani_afc0/images/23_image.webp", + "/media/armani_afc0/images/24_image.webp", + "/media/armani_afc0/images/26_image.webp", + "/media/armani_afc0/images/27_image.webp", + "/media/armani_afc0/images/28_image.webp", + "/media/armani_afc0/images/29_image.webp", + "/media/armani_afc0/images/30_image.webp", + "/media/armani_afc0/images/31_image.webp", + "/media/armani_afc0/images/32_image.webp", + "/media/armani_afc0/images/33_image.webp", + "/media/armani_afc0/images/34_image.webp", + "/media/armani_afc0/images/35_image.webp", + "/media/armani_afc0/images/36_image.webp", + "/media/armani_afc0/images/37_image.webp", + "/media/armani_afc0/images/38_image.webp", + "/media/armani_afc0/images/39_image.webp", + "/media/armani_afc0/images/40_image.webp", + "/media/armani_afc0/images/41_image.webp", + "/media/armani_afc0/images/42_image.webp", + "/media/armani_afc0/images/43_image.webp", + "/media/armani_afc0/images/44_image.webp", + "/media/armani_afc0/images/45_image.webp", + "/media/armani_afc0/images/46_image.webp", + "/media/armani_afc0/images/47_image.webp", + "/media/armani_afc0/images/48_image.webp", + "/media/armani_afc0/images/49_image.webp", + "/media/armani_afc0/images/50_image.webp", + "/media/armani_afc0/images/51_image.webp" + ], + "created_at": "2026-01-27T06:38:23.954611-07:00", + "dir_name": "armani_afc0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/arthur_8e4b.json b/ideas/aeres/agents/arthur_8e4b.json new file mode 100644 index 0000000..9f42511 --- /dev/null +++ b/ideas/aeres/agents/arthur_8e4b.json @@ -0,0 +1,74 @@ +{ + "id": "arthur_8e4b", + "name": "Arthur Harris", + "handle": "arthur", + "gender": "non-binary", + "description": "short white ,overweight, into comic books, hobbies reading, tv shows, lives in new york, works as a tour guide, has freckles on the face, nose ring, collects sneaker shoes", + "tags": [ + "adventurer", + "bookbinding", + "typography", + "urban history", + "tabletop rpgs", + "plant care", + "analog photography", + "baking sourdough" + ], + "avatar_url": "/media/arthur_8e4b/avatar.webp?t=1769000174", + "banner_url": "/media/arthur_8e4b/banner.webp?t=1769067780", + "videos": [ + "/media/arthur_8e4b/videos/01_smile_reveal.mp4?t=1769000192" + ], + "images": [ + "/media/arthur_8e4b/images/01_mid_mid_neutral.webp", + "/media/arthur_8e4b/images/02_image.webp", + "/media/arthur_8e4b/images/03_image.webp", + "/media/arthur_8e4b/images/04_image.webp", + "/media/arthur_8e4b/images/05_image.webp", + "/media/arthur_8e4b/images/06_image.webp", + "/media/arthur_8e4b/images/07_image.webp", + "/media/arthur_8e4b/images/08_image.webp", + "/media/arthur_8e4b/images/09_image.webp", + "/media/arthur_8e4b/images/10_image.webp", + "/media/arthur_8e4b/images/12_image.webp", + "/media/arthur_8e4b/images/13_image.webp", + "/media/arthur_8e4b/images/14_image.webp", + "/media/arthur_8e4b/images/15_image.webp", + "/media/arthur_8e4b/images/16_image.webp", + "/media/arthur_8e4b/images/17_image.webp", + "/media/arthur_8e4b/images/18_image.webp", + "/media/arthur_8e4b/images/19_image.webp", + "/media/arthur_8e4b/images/20_image.webp", + "/media/arthur_8e4b/images/21_image.webp", + "/media/arthur_8e4b/images/22_image.webp", + "/media/arthur_8e4b/images/23_image.webp", + "/media/arthur_8e4b/images/24_image.webp", + "/media/arthur_8e4b/images/26_image.webp", + "/media/arthur_8e4b/images/27_image.webp", + "/media/arthur_8e4b/images/28_image.webp", + "/media/arthur_8e4b/images/29_image.webp", + "/media/arthur_8e4b/images/30_image.webp", + "/media/arthur_8e4b/images/31_image.webp", + "/media/arthur_8e4b/images/32_image.webp", + "/media/arthur_8e4b/images/33_image.webp", + "/media/arthur_8e4b/images/35_image.webp", + "/media/arthur_8e4b/images/36_image.webp", + "/media/arthur_8e4b/images/37_image.webp", + "/media/arthur_8e4b/images/38_image.webp", + "/media/arthur_8e4b/images/39_image.webp", + "/media/arthur_8e4b/images/40_image.webp", + "/media/arthur_8e4b/images/41_image.webp", + "/media/arthur_8e4b/images/42_image.webp", + "/media/arthur_8e4b/images/43_image.webp", + "/media/arthur_8e4b/images/44_image.webp", + "/media/arthur_8e4b/images/45_image.webp", + "/media/arthur_8e4b/images/46_image.webp", + "/media/arthur_8e4b/images/47_image.webp", + "/media/arthur_8e4b/images/48_image.webp", + "/media/arthur_8e4b/images/49_image.webp", + "/media/arthur_8e4b/images/50_image.webp", + "/media/arthur_8e4b/images/51_image.webp" + ], + "created_at": "2026-01-21T05:53:56.00419-07:00", + "dir_name": "arthur_8e4b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/arya_9392.json b/ideas/aeres/agents/arya_9392.json new file mode 100644 index 0000000..1ddd93c --- /dev/null +++ b/ideas/aeres/agents/arya_9392.json @@ -0,0 +1,76 @@ +{ + "id": "arya_9392", + "name": "Arya Patel", + "handle": "arya", + "gender": "female", + "description": "female from Netherlands who likes bikes", + "tags": [ + "girl_next_door", + "urban cycling", + "landscape photography", + "sustainable architecture", + "plant-based cooking", + "podcasts about history", + "bouldering", + "thrifting" + ], + "avatar_url": "/media/arya_9392/avatar.webp?t=1769773871", + "banner_url": "/media/arya_9392/banner.webp?t=1769773883", + "videos": [ + "/media/arya_9392/videos/01_smile_reveal.mp4?t=1769773915" + ], + "images": [ + "/media/arya_9392/images/01_mid_mid_neutral.webp", + "/media/arya_9392/images/02_image.webp", + "/media/arya_9392/images/03_image.webp", + "/media/arya_9392/images/04_image.webp", + "/media/arya_9392/images/05_image.webp", + "/media/arya_9392/images/06_image.webp", + "/media/arya_9392/images/07_image.webp", + "/media/arya_9392/images/08_image.webp", + "/media/arya_9392/images/09_image.webp", + "/media/arya_9392/images/11_image.webp", + "/media/arya_9392/images/12_image.webp", + "/media/arya_9392/images/13_image.webp", + "/media/arya_9392/images/14_image.webp", + "/media/arya_9392/images/15_image.webp", + "/media/arya_9392/images/16_image.webp", + "/media/arya_9392/images/17_image.webp", + "/media/arya_9392/images/18_image.webp", + "/media/arya_9392/images/19_image.webp", + "/media/arya_9392/images/20_image.webp", + "/media/arya_9392/images/21_image.webp", + "/media/arya_9392/images/22_image.webp", + "/media/arya_9392/images/23_image.webp", + "/media/arya_9392/images/24_image.webp", + "/media/arya_9392/images/25_image.webp", + "/media/arya_9392/images/26_image.webp", + "/media/arya_9392/images/27_image.webp", + "/media/arya_9392/images/28_image.webp", + "/media/arya_9392/images/29_image.webp", + "/media/arya_9392/images/30_image.webp", + "/media/arya_9392/images/31_image.webp", + "/media/arya_9392/images/32_image.webp", + "/media/arya_9392/images/33_image.webp", + "/media/arya_9392/images/34_image.webp", + "/media/arya_9392/images/35_image.webp", + "/media/arya_9392/images/36_image.webp", + "/media/arya_9392/images/37_image.webp", + "/media/arya_9392/images/38_image.webp", + "/media/arya_9392/images/39_image.webp", + "/media/arya_9392/images/40_image.webp", + "/media/arya_9392/images/41_image.webp", + "/media/arya_9392/images/42_image.webp", + "/media/arya_9392/images/43_image.webp", + "/media/arya_9392/images/44_image.webp", + "/media/arya_9392/images/45_image.webp", + "/media/arya_9392/images/46_image.webp", + "/media/arya_9392/images/47_image.webp", + "/media/arya_9392/images/48_image.webp", + "/media/arya_9392/images/49_image.webp", + "/media/arya_9392/images/50_image.webp", + "/media/arya_9392/images/51_image.webp" + ], + "created_at": "2026-01-30T04:49:54.080786-07:00", + "dir_name": "arya_9392" +} \ No newline at end of file diff --git a/ideas/aeres/agents/asdrubale_b348.json b/ideas/aeres/agents/asdrubale_b348.json new file mode 100644 index 0000000..28d70ac --- /dev/null +++ b/ideas/aeres/agents/asdrubale_b348.json @@ -0,0 +1,77 @@ +{ + "id": "asdrubale_b348", + "name": "Asdrubale Garcia", + "handle": "asdrubale", + "gender": "male", + "description": "Mario from Super Mario 64", + "tags": [ + "3d_render_style", + "retro gaming", + "3d modeling", + "urban exploration", + "cooking", + "biking", + "podcasts", + "toy collecting" + ], + "avatar_url": "/media/asdrubale_b348/avatar.webp?t=1769690539", + "banner_url": "/media/asdrubale_b348/banner.webp?t=1769690524", + "videos": [ + "/media/asdrubale_b348/videos/01_smile_reveal.mp4?t=1769690564" + ], + "images": [ + "/media/asdrubale_b348/images/01_mid_mid_neutral.webp", + "/media/asdrubale_b348/images/02_image.webp", + "/media/asdrubale_b348/images/03_image.webp", + "/media/asdrubale_b348/images/04_image.webp", + "/media/asdrubale_b348/images/05_image.webp", + "/media/asdrubale_b348/images/06_image.webp", + "/media/asdrubale_b348/images/07_image.webp", + "/media/asdrubale_b348/images/08_image.webp", + "/media/asdrubale_b348/images/09_image.webp", + "/media/asdrubale_b348/images/10_image.webp", + "/media/asdrubale_b348/images/11_image.webp", + "/media/asdrubale_b348/images/12_image.webp", + "/media/asdrubale_b348/images/13_image.webp", + "/media/asdrubale_b348/images/14_image.webp", + "/media/asdrubale_b348/images/15_image.webp", + "/media/asdrubale_b348/images/16_image.webp", + "/media/asdrubale_b348/images/17_image.webp", + "/media/asdrubale_b348/images/18_image.webp", + "/media/asdrubale_b348/images/19_image.webp", + "/media/asdrubale_b348/images/20_image.webp", + "/media/asdrubale_b348/images/21_image.webp", + "/media/asdrubale_b348/images/22_image.webp", + "/media/asdrubale_b348/images/23_image.webp", + "/media/asdrubale_b348/images/24_image.webp", + "/media/asdrubale_b348/images/25_image.webp", + "/media/asdrubale_b348/images/26_image.webp", + "/media/asdrubale_b348/images/27_image.webp", + "/media/asdrubale_b348/images/28_image.webp", + "/media/asdrubale_b348/images/29_image.webp", + "/media/asdrubale_b348/images/30_image.webp", + "/media/asdrubale_b348/images/31_image.webp", + "/media/asdrubale_b348/images/32_image.webp", + "/media/asdrubale_b348/images/33_image.webp", + "/media/asdrubale_b348/images/34_image.webp", + "/media/asdrubale_b348/images/35_image.webp", + "/media/asdrubale_b348/images/36_image.webp", + "/media/asdrubale_b348/images/37_image.webp", + "/media/asdrubale_b348/images/38_image.webp", + "/media/asdrubale_b348/images/39_image.webp", + "/media/asdrubale_b348/images/40_image.webp", + "/media/asdrubale_b348/images/41_image.webp", + "/media/asdrubale_b348/images/42_image.webp", + "/media/asdrubale_b348/images/43_image.webp", + "/media/asdrubale_b348/images/44_image.webp", + "/media/asdrubale_b348/images/45_image.webp", + "/media/asdrubale_b348/images/46_image.webp", + "/media/asdrubale_b348/images/47_image.webp", + "/media/asdrubale_b348/images/48_image.webp", + "/media/asdrubale_b348/images/49_image.webp", + "/media/asdrubale_b348/images/50_image.webp", + "/media/asdrubale_b348/images/51_image.webp" + ], + "created_at": "2026-01-29T05:40:41.120182-07:00", + "dir_name": "asdrubale_b348" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ashanti_3dec.json b/ideas/aeres/agents/ashanti_3dec.json new file mode 100644 index 0000000..67a9dac --- /dev/null +++ b/ideas/aeres/agents/ashanti_3dec.json @@ -0,0 +1,77 @@ +{ + "id": "ashanti_3dec", + "name": "Ashanti Thomas", + "handle": "ashanti", + "gender": "female", + "description": "blonde, early 30's, slim but curvy, leg brace, cane, hourglass figure, long blonde hair, vintage hollywood movie, earrings, red lipstick, blue eyes, pearl necklace", + "tags": [ + "vintage_retro", + "film noir", + "historical preservation", + "millinery", + "jazz history", + "botany", + "calligraphy", + "chess" + ], + "avatar_url": "/media/ashanti_3dec/avatar.webp?t=1769129682", + "banner_url": "/media/ashanti_3dec/banner.webp?t=1769129689", + "videos": [ + "/media/ashanti_3dec/videos/01_smile_reveal.mp4?t=1769129728" + ], + "images": [ + "/media/ashanti_3dec/images/01_mid_mid_neutral.webp", + "/media/ashanti_3dec/images/02_image.webp", + "/media/ashanti_3dec/images/03_image.webp", + "/media/ashanti_3dec/images/04_image.webp", + "/media/ashanti_3dec/images/05_image.webp", + "/media/ashanti_3dec/images/06_image.webp", + "/media/ashanti_3dec/images/07_image.webp", + "/media/ashanti_3dec/images/08_image.webp", + "/media/ashanti_3dec/images/09_image.webp", + "/media/ashanti_3dec/images/10_image.webp", + "/media/ashanti_3dec/images/11_image.webp", + "/media/ashanti_3dec/images/12_image.webp", + "/media/ashanti_3dec/images/13_image.webp", + "/media/ashanti_3dec/images/14_image.webp", + "/media/ashanti_3dec/images/15_image.webp", + "/media/ashanti_3dec/images/16_image.webp", + "/media/ashanti_3dec/images/17_image.webp", + "/media/ashanti_3dec/images/18_image.webp", + "/media/ashanti_3dec/images/19_image.webp", + "/media/ashanti_3dec/images/20_image.webp", + "/media/ashanti_3dec/images/20_image.webp", + "/media/ashanti_3dec/images/21_image.webp", + "/media/ashanti_3dec/images/21_image.webp", + "/media/ashanti_3dec/images/22_image.webp", + "/media/ashanti_3dec/images/23_image.webp", + "/media/ashanti_3dec/images/24_image.webp", + "/media/ashanti_3dec/images/25_image.webp", + "/media/ashanti_3dec/images/26_image.webp", + "/media/ashanti_3dec/images/27_image.webp", + "/media/ashanti_3dec/images/28_image.webp", + "/media/ashanti_3dec/images/29_image.webp", + "/media/ashanti_3dec/images/30_image.webp", + "/media/ashanti_3dec/images/31_image.webp", + "/media/ashanti_3dec/images/32_image.webp", + "/media/ashanti_3dec/images/33_image.webp", + "/media/ashanti_3dec/images/34_image.webp", + "/media/ashanti_3dec/images/35_image.webp", + "/media/ashanti_3dec/images/36_image.webp", + "/media/ashanti_3dec/images/37_image.webp", + "/media/ashanti_3dec/images/38_image.webp", + "/media/ashanti_3dec/images/39_image.webp", + "/media/ashanti_3dec/images/40_image.webp", + "/media/ashanti_3dec/images/41_image.webp", + "/media/ashanti_3dec/images/42_image.webp", + "/media/ashanti_3dec/images/43_image.webp", + "/media/ashanti_3dec/images/44_image.webp", + "/media/ashanti_3dec/images/45_image.webp", + "/media/ashanti_3dec/images/46_image.webp", + "/media/ashanti_3dec/images/47_image.webp", + "/media/ashanti_3dec/images/48_image.webp", + "/media/ashanti_3dec/images/49_image.webp" + ], + "created_at": "2026-01-22T17:53:36.986661-07:00", + "dir_name": "ashanti_3dec" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ashanti_a3dc.json b/ideas/aeres/agents/ashanti_a3dc.json new file mode 100644 index 0000000..d1391b2 --- /dev/null +++ b/ideas/aeres/agents/ashanti_a3dc.json @@ -0,0 +1,80 @@ +{ + "id": "ashanti_a3dc", + "name": "Ashanti Williams", + "handle": "ashanti", + "gender": "female", + "description": "fox-woman", + "tags": [ + "fox_spirit", + "folklore", + "high-end mixology", + "interior design", + "digital art", + "astrology", + "jazz", + "stargazing" + ], + "avatar_url": "/media/ashanti_a3dc/avatar.webp?t=1769698771", + "banner_url": "/media/ashanti_a3dc/banner.webp?t=1769755508", + "videos": [ + "/media/ashanti_a3dc/videos/01_smile_reveal.mp4?t=1769698821" + ], + "images": [ + "/media/ashanti_a3dc/images/01_mid_mid_neutral.webp", + "/media/ashanti_a3dc/images/02_image.webp", + "/media/ashanti_a3dc/images/03_image.webp", + "/media/ashanti_a3dc/images/04_image.webp", + "/media/ashanti_a3dc/images/05_image.webp", + "/media/ashanti_a3dc/images/06_image.webp", + "/media/ashanti_a3dc/images/07_image.webp", + "/media/ashanti_a3dc/images/08_image.webp", + "/media/ashanti_a3dc/images/09_image.webp", + "/media/ashanti_a3dc/images/10_image.webp", + "/media/ashanti_a3dc/images/11_image.webp", + "/media/ashanti_a3dc/images/12_image.webp", + "/media/ashanti_a3dc/images/13_image.webp", + "/media/ashanti_a3dc/images/23_image.webp", + "/media/ashanti_a3dc/images/24_image.webp", + "/media/ashanti_a3dc/images/25_image.webp", + "/media/ashanti_a3dc/images/26_image.webp", + "/media/ashanti_a3dc/images/27_image.webp", + "/media/ashanti_a3dc/images/28_image.webp", + "/media/ashanti_a3dc/images/29_image.webp", + "/media/ashanti_a3dc/images/30_image.webp", + "/media/ashanti_a3dc/images/31_image.webp", + "/media/ashanti_a3dc/images/32_image.webp", + "/media/ashanti_a3dc/images/33_image.webp", + "/media/ashanti_a3dc/images/34_image.webp", + "/media/ashanti_a3dc/images/35_image.webp", + "/media/ashanti_a3dc/images/36_image.webp", + "/media/ashanti_a3dc/images/37_image.webp", + "/media/ashanti_a3dc/images/38_image.webp", + "/media/ashanti_a3dc/images/39_image.webp", + "/media/ashanti_a3dc/images/40_image.webp", + "/media/ashanti_a3dc/images/41_image.webp", + "/media/ashanti_a3dc/images/42_image.webp", + "/media/ashanti_a3dc/images/43_image.webp", + "/media/ashanti_a3dc/images/44_image.webp", + "/media/ashanti_a3dc/images/45_image.webp", + "/media/ashanti_a3dc/images/46_image.webp", + "/media/ashanti_a3dc/images/47_image.webp", + "/media/ashanti_a3dc/images/48_image.webp", + "/media/ashanti_a3dc/images/49_image.webp", + "/media/ashanti_a3dc/images/50_image.webp", + "/media/ashanti_a3dc/images/51_image.webp", + "/media/ashanti_a3dc/images/52_image.webp", + "/media/ashanti_a3dc/images/53_image.webp", + "/media/ashanti_a3dc/images/54_image.webp", + "/media/ashanti_a3dc/images/55_image.webp", + "/media/ashanti_a3dc/images/56_image.webp", + "/media/ashanti_a3dc/images/57_image.webp", + "/media/ashanti_a3dc/images/58_image.webp", + "/media/ashanti_a3dc/images/59_image.webp", + "/media/ashanti_a3dc/images/60_image.webp", + "/media/ashanti_a3dc/images/61_image.webp", + "/media/ashanti_a3dc/images/62_image.webp", + "/media/ashanti_a3dc/images/63_image.webp" + ], + "created_at": "2026-01-29T07:58:08.807168-07:00", + "dir_name": "ashanti_a3dc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/asher_dbb8.json b/ideas/aeres/agents/asher_dbb8.json new file mode 100644 index 0000000..4f9469d --- /dev/null +++ b/ideas/aeres/agents/asher_dbb8.json @@ -0,0 +1,79 @@ +{ + "id": "asher_dbb8", + "name": "Asher Wilson", + "handle": "asher", + "gender": "male", + "description": "tall, muscular build, man, age 40, profession firefighter, location Bordeaux France, white, cycling,board games as a hobby,blue eyes, can speak fluent french", + "tags": [ + "sigma_male", + "calisthenics", + "classical architecture", + "sailing", + "woodworking", + "enology", + "modern history", + "rugby" + ], + "avatar_url": "/media/asher_dbb8/avatar.webp?t=1768998155", + "banner_url": "/media/asher_dbb8/banner.webp?t=1768998142", + "videos": [ + "/media/asher_dbb8/videos/01_smile_reveal.mp4?t=1768998114" + ], + "images": [ + "/media/asher_dbb8/images/01_mid_mid_neutral.webp", + "/media/asher_dbb8/images/02_image.webp", + "/media/asher_dbb8/images/03_image.webp", + "/media/asher_dbb8/images/04_image.webp", + "/media/asher_dbb8/images/05_image.webp", + "/media/asher_dbb8/images/06_image.webp", + "/media/asher_dbb8/images/07_image.webp", + "/media/asher_dbb8/images/08_image.webp", + "/media/asher_dbb8/images/09_image.webp", + "/media/asher_dbb8/images/10_image.webp", + "/media/asher_dbb8/images/11_image.webp", + "/media/asher_dbb8/images/12_image.webp", + "/media/asher_dbb8/images/13_image.webp", + "/media/asher_dbb8/images/14_image.webp", + "/media/asher_dbb8/images/15_image.webp", + "/media/asher_dbb8/images/16_image.webp", + "/media/asher_dbb8/images/17_image.webp", + "/media/asher_dbb8/images/18_image.webp", + "/media/asher_dbb8/images/19_image.webp", + "/media/asher_dbb8/images/20_image.webp", + "/media/asher_dbb8/images/21_image.webp", + "/media/asher_dbb8/images/22_image.webp", + "/media/asher_dbb8/images/23_image.webp", + "/media/asher_dbb8/images/24_image.webp", + "/media/asher_dbb8/images/25_image.webp", + "/media/asher_dbb8/images/26_image.webp", + "/media/asher_dbb8/images/27_image.webp", + "/media/asher_dbb8/images/28_image.webp", + "/media/asher_dbb8/images/29_image.webp", + "/media/asher_dbb8/images/30_image.webp", + "/media/asher_dbb8/images/31_image.webp", + "/media/asher_dbb8/images/32_image.webp", + "/media/asher_dbb8/images/33_image.webp", + "/media/asher_dbb8/images/34_image.webp", + "/media/asher_dbb8/images/35_image.webp", + "/media/asher_dbb8/images/36_image.webp", + "/media/asher_dbb8/images/37_image.webp", + "/media/asher_dbb8/images/38_image.webp", + "/media/asher_dbb8/images/39_image.webp", + "/media/asher_dbb8/images/40_image.webp", + "/media/asher_dbb8/images/41_image.webp", + "/media/asher_dbb8/images/42_image.webp", + "/media/asher_dbb8/images/43_image.webp", + "/media/asher_dbb8/images/44_image.webp", + "/media/asher_dbb8/images/45_image.webp", + "/media/asher_dbb8/images/46_image.webp", + "/media/asher_dbb8/images/47_image.webp", + "/media/asher_dbb8/images/48_image.webp", + "/media/asher_dbb8/images/49_image.webp", + "/media/asher_dbb8/images/50_image.webp", + "/media/asher_dbb8/images/51_image.webp", + "/media/asher_dbb8/images/52_image.webp", + "/media/asher_dbb8/images/53_image.webp" + ], + "created_at": "2026-01-21T05:19:34.51599-07:00", + "dir_name": "asher_dbb8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ashley_214c.json b/ideas/aeres/agents/ashley_214c.json new file mode 100644 index 0000000..3a6bb9f --- /dev/null +++ b/ideas/aeres/agents/ashley_214c.json @@ -0,0 +1,75 @@ +{ + "id": "ashley_214c", + "name": "Ashley Anderson", + "handle": "ashley", + "gender": "female", + "description": "20's cyberpunk, leather, metallic, neon, futuristic, urban, night life, underground, jacket, stripes, geometric", + "tags": [ + "alt_egirl", + "cyberpunk cinema", + "generative ai art", + "techwear fashion", + "deep house music", + "mixology", + "street photography", + "retro gaming" + ], + "avatar_url": "/media/ashley_214c/avatar.webp?t=1769555157", + "banner_url": "/media/ashley_214c/banner.webp?t=1769584077", + "videos": [ + "/media/ashley_214c/videos/01_smile_reveal.mp4?t=1769555174" + ], + "images": [ + "/media/ashley_214c/images/01_mid_mid_neutral.webp", + "/media/ashley_214c/images/02_image.webp", + "/media/ashley_214c/images/03_image.webp", + "/media/ashley_214c/images/04_image.webp", + "/media/ashley_214c/images/05_image.webp", + "/media/ashley_214c/images/06_image.webp", + "/media/ashley_214c/images/07_image.webp", + "/media/ashley_214c/images/08_image.webp", + "/media/ashley_214c/images/09_image.webp", + "/media/ashley_214c/images/10_image.webp", + "/media/ashley_214c/images/11_image.webp", + "/media/ashley_214c/images/12_image.webp", + "/media/ashley_214c/images/13_image.webp", + "/media/ashley_214c/images/14_image.webp", + "/media/ashley_214c/images/15_image.webp", + "/media/ashley_214c/images/16_image.webp", + "/media/ashley_214c/images/17_image.webp", + "/media/ashley_214c/images/18_image.webp", + "/media/ashley_214c/images/20_image.webp", + "/media/ashley_214c/images/21_image.webp", + "/media/ashley_214c/images/22_image.webp", + "/media/ashley_214c/images/23_image.webp", + "/media/ashley_214c/images/24_image.webp", + "/media/ashley_214c/images/25_image.webp", + "/media/ashley_214c/images/26_image.webp", + "/media/ashley_214c/images/27_image.webp", + "/media/ashley_214c/images/28_image.webp", + "/media/ashley_214c/images/29_image.webp", + "/media/ashley_214c/images/30_image.webp", + "/media/ashley_214c/images/31_image.webp", + "/media/ashley_214c/images/32_image.webp", + "/media/ashley_214c/images/33_image.webp", + "/media/ashley_214c/images/34_image.webp", + "/media/ashley_214c/images/35_image.webp", + "/media/ashley_214c/images/36_image.webp", + "/media/ashley_214c/images/37_image.webp", + "/media/ashley_214c/images/38_image.webp", + "/media/ashley_214c/images/39_image.webp", + "/media/ashley_214c/images/40_image.webp", + "/media/ashley_214c/images/41_image.webp", + "/media/ashley_214c/images/42_image.webp", + "/media/ashley_214c/images/43_image.webp", + "/media/ashley_214c/images/44_image.webp", + "/media/ashley_214c/images/45_image.webp", + "/media/ashley_214c/images/46_image.webp", + "/media/ashley_214c/images/47_image.webp", + "/media/ashley_214c/images/48_image.webp", + "/media/ashley_214c/images/49_image.webp", + "/media/ashley_214c/images/50_image.webp" + ], + "created_at": "2026-01-27T16:04:27.489186-07:00", + "dir_name": "ashley_214c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ashley_a0e1.json b/ideas/aeres/agents/ashley_a0e1.json new file mode 100644 index 0000000..4116653 --- /dev/null +++ b/ideas/aeres/agents/ashley_a0e1.json @@ -0,0 +1,76 @@ +{ + "id": "ashley_a0e1", + "name": "Ashley Taylor", + "handle": "ashley", + "gender": "female", + "description": "nerdy girl who plays world of warcraft and likes to cook", + "tags": [ + "gamer_girl", + "baking artisanal bread", + "open-world rpgs", + "fantasy literature", + "coffee brewing", + "hiking north georgia trails", + "interior design", + "podcasts" + ], + "avatar_url": "/media/ashley_a0e1/avatar.webp?t=1769085032", + "banner_url": "/media/ashley_a0e1/banner.webp?t=1769085032", + "videos": [ + "/media/ashley_a0e1/videos/01_smile_reveal.mp4?t=1769085079" + ], + "images": [ + "/media/ashley_a0e1/images/01_mid_mid_neutral.webp", + "/media/ashley_a0e1/images/02_image.webp", + "/media/ashley_a0e1/images/03_image.webp", + "/media/ashley_a0e1/images/04_image.webp", + "/media/ashley_a0e1/images/05_image.webp", + "/media/ashley_a0e1/images/06_image.webp", + "/media/ashley_a0e1/images/07_image.webp", + "/media/ashley_a0e1/images/08_image.webp", + "/media/ashley_a0e1/images/10_image.webp", + "/media/ashley_a0e1/images/11_image.webp", + "/media/ashley_a0e1/images/12_image.webp", + "/media/ashley_a0e1/images/13_image.webp", + "/media/ashley_a0e1/images/14_image.webp", + "/media/ashley_a0e1/images/15_image.webp", + "/media/ashley_a0e1/images/16_image.webp", + "/media/ashley_a0e1/images/17_image.webp", + "/media/ashley_a0e1/images/18_image.webp", + "/media/ashley_a0e1/images/19_image.webp", + "/media/ashley_a0e1/images/20_image.webp", + "/media/ashley_a0e1/images/21_image.webp", + "/media/ashley_a0e1/images/22_image.webp", + "/media/ashley_a0e1/images/23_image.webp", + "/media/ashley_a0e1/images/24_image.webp", + "/media/ashley_a0e1/images/25_image.webp", + "/media/ashley_a0e1/images/26_image.webp", + "/media/ashley_a0e1/images/27_image.webp", + "/media/ashley_a0e1/images/28_image.webp", + "/media/ashley_a0e1/images/29_image.webp", + "/media/ashley_a0e1/images/30_image.webp", + "/media/ashley_a0e1/images/31_image.webp", + "/media/ashley_a0e1/images/32_image.webp", + "/media/ashley_a0e1/images/33_image.webp", + "/media/ashley_a0e1/images/34_image.webp", + "/media/ashley_a0e1/images/35_image.webp", + "/media/ashley_a0e1/images/36_image.webp", + "/media/ashley_a0e1/images/37_image.webp", + "/media/ashley_a0e1/images/38_image.webp", + "/media/ashley_a0e1/images/39_image.webp", + "/media/ashley_a0e1/images/40_image.webp", + "/media/ashley_a0e1/images/41_image.webp", + "/media/ashley_a0e1/images/42_image.webp", + "/media/ashley_a0e1/images/43_image.webp", + "/media/ashley_a0e1/images/44_image.webp", + "/media/ashley_a0e1/images/45_image.webp", + "/media/ashley_a0e1/images/46_image.webp", + "/media/ashley_a0e1/images/47_image.webp", + "/media/ashley_a0e1/images/48_image.webp", + "/media/ashley_a0e1/images/49_image.webp", + "/media/ashley_a0e1/images/50_image.webp", + "/media/ashley_a0e1/images/51_image.webp" + ], + "created_at": "2026-01-22T05:29:17.272713-07:00", + "dir_name": "ashley_a0e1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/asma_b31a.json b/ideas/aeres/agents/asma_b31a.json new file mode 100644 index 0000000..096a012 --- /dev/null +++ b/ideas/aeres/agents/asma_b31a.json @@ -0,0 +1,80 @@ +{ + "id": "asma_b31a", + "name": "Asma Mohamed", + "handle": "asma", + "gender": "female", + "description": "woman from Beirut who is a pole dancer", + "tags": [ + "athletic", + "crossfit", + "contemporary dance", + "mediterranean gastronomy", + "yachting", + "interior design", + "historical documentaries", + "espresso craft" + ], + "avatar_url": "/media/asma_b31a/avatar.webp?t=1770037278", + "banner_url": "/media/asma_b31a/banner.webp?t=1770037272", + "videos": [ + "/media/asma_b31a/videos/01_smile_reveal.mp4?t=1770037291" + ], + "images": [ + "/media/asma_b31a/images/01_mid_mid_neutral.webp", + "/media/asma_b31a/images/02_image.webp", + "/media/asma_b31a/images/03_image.webp", + "/media/asma_b31a/images/04_image.webp", + "/media/asma_b31a/images/05_image.webp", + "/media/asma_b31a/images/06_image.webp", + "/media/asma_b31a/images/07_image.webp", + "/media/asma_b31a/images/08_image.webp", + "/media/asma_b31a/images/09_image.webp", + "/media/asma_b31a/images/11_image.webp", + "/media/asma_b31a/images/12_image.webp", + "/media/asma_b31a/images/13_image.webp", + "/media/asma_b31a/images/14_image.webp", + "/media/asma_b31a/images/15_image.webp", + "/media/asma_b31a/images/16_image.webp", + "/media/asma_b31a/images/17_image.webp", + "/media/asma_b31a/images/18_image.webp", + "/media/asma_b31a/images/19_image.webp", + "/media/asma_b31a/images/21_image.webp", + "/media/asma_b31a/images/22_image.webp", + "/media/asma_b31a/images/23_image.webp", + "/media/asma_b31a/images/24_image.webp", + "/media/asma_b31a/images/25_image.webp", + "/media/asma_b31a/images/26_image.webp", + "/media/asma_b31a/images/27_image.webp", + "/media/asma_b31a/images/28_image.webp", + "/media/asma_b31a/images/29_image.webp", + "/media/asma_b31a/images/30_image.webp", + "/media/asma_b31a/images/32_image.webp", + "/media/asma_b31a/images/33_image.webp", + "/media/asma_b31a/images/34_image.webp", + "/media/asma_b31a/images/35_image.webp", + "/media/asma_b31a/images/36_image.webp", + "/media/asma_b31a/images/37_image.webp", + "/media/asma_b31a/images/38_image.webp", + "/media/asma_b31a/images/39_image.webp", + "/media/asma_b31a/images/40_image.webp", + "/media/asma_b31a/images/41_image.webp", + "/media/asma_b31a/images/42_image.webp", + "/media/asma_b31a/images/44_image.webp", + "/media/asma_b31a/images/45_image.webp", + "/media/asma_b31a/images/46_image.webp", + "/media/asma_b31a/images/47_image.webp", + "/media/asma_b31a/images/48_image.webp", + "/media/asma_b31a/images/49_image.webp", + "/media/asma_b31a/images/50_image.webp", + "/media/asma_b31a/images/51_image.webp", + "/media/asma_b31a/images/53_image.webp", + "/media/asma_b31a/images/54_image.webp", + "/media/asma_b31a/images/55_image.webp", + "/media/asma_b31a/images/56_image.webp", + "/media/asma_b31a/images/57_image.webp", + "/media/asma_b31a/images/58_image.webp", + "/media/asma_b31a/images/60_image.webp" + ], + "created_at": "2026-02-02T05:59:02.955889-07:00", + "dir_name": "asma_b31a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/assunta_93bc.json b/ideas/aeres/agents/assunta_93bc.json new file mode 100644 index 0000000..06f07f0 --- /dev/null +++ b/ideas/aeres/agents/assunta_93bc.json @@ -0,0 +1,76 @@ +{ + "id": "assunta_93bc", + "name": "Assunta Manuela Lopez", + "handle": "assunta", + "gender": "female", + "description": "rich high fashion model from Monaco", + "tags": [ + "high_fashion_model", + "collecting 20th-century surrealist art", + "equestrian show jumping", + "yachting architecture", + "wine pairing", + "classical piano", + "interior styling" + ], + "avatar_url": "/media/assunta_93bc/avatar.webp?t=1769778652", + "banner_url": "/media/assunta_93bc/banner.webp?t=1769778651", + "videos": [ + "/media/assunta_93bc/videos/01_smile_reveal.mp4?t=1769778692" + ], + "images": [ + "/media/assunta_93bc/images/01_mid_mid_neutral.webp", + "/media/assunta_93bc/images/02_image.webp", + "/media/assunta_93bc/images/03_image.webp", + "/media/assunta_93bc/images/04_image.webp", + "/media/assunta_93bc/images/05_image.webp", + "/media/assunta_93bc/images/06_image.webp", + "/media/assunta_93bc/images/07_image.webp", + "/media/assunta_93bc/images/08_image.webp", + "/media/assunta_93bc/images/09_image.webp", + "/media/assunta_93bc/images/10_image.webp", + "/media/assunta_93bc/images/11_image.webp", + "/media/assunta_93bc/images/12_image.webp", + "/media/assunta_93bc/images/13_image.webp", + "/media/assunta_93bc/images/10_image.webp", + "/media/assunta_93bc/images/14_image.webp", + "/media/assunta_93bc/images/15_image.webp", + "/media/assunta_93bc/images/11_image.webp", + "/media/assunta_93bc/images/16_image.webp", + "/media/assunta_93bc/images/17_image.webp", + "/media/assunta_93bc/images/18_image.webp", + "/media/assunta_93bc/images/19_image.webp", + "/media/assunta_93bc/images/20_image.webp", + "/media/assunta_93bc/images/21_image.webp", + "/media/assunta_93bc/images/22_image.webp", + "/media/assunta_93bc/images/23_image.webp", + "/media/assunta_93bc/images/24_image.webp", + "/media/assunta_93bc/images/25_image.webp", + "/media/assunta_93bc/images/26_image.webp", + "/media/assunta_93bc/images/27_image.webp", + "/media/assunta_93bc/images/28_image.webp", + "/media/assunta_93bc/images/29_image.webp", + "/media/assunta_93bc/images/30_image.webp", + "/media/assunta_93bc/images/31_image.webp", + "/media/assunta_93bc/images/32_image.webp", + "/media/assunta_93bc/images/33_image.webp", + "/media/assunta_93bc/images/34_image.webp", + "/media/assunta_93bc/images/35_image.webp", + "/media/assunta_93bc/images/36_image.webp", + "/media/assunta_93bc/images/37_image.webp", + "/media/assunta_93bc/images/38_image.webp", + "/media/assunta_93bc/images/39_image.webp", + "/media/assunta_93bc/images/40_image.webp", + "/media/assunta_93bc/images/41_image.webp", + "/media/assunta_93bc/images/42_image.webp", + "/media/assunta_93bc/images/43_image.webp", + "/media/assunta_93bc/images/44_image.webp", + "/media/assunta_93bc/images/45_image.webp", + "/media/assunta_93bc/images/46_image.webp", + "/media/assunta_93bc/images/47_image.webp", + "/media/assunta_93bc/images/48_image.webp", + "/media/assunta_93bc/images/49_image.webp" + ], + "created_at": "2026-01-30T06:09:42.674254-07:00", + "dir_name": "assunta_93bc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/astrid_ccce.json b/ideas/aeres/agents/astrid_ccce.json new file mode 100644 index 0000000..538551f --- /dev/null +++ b/ideas/aeres/agents/astrid_ccce.json @@ -0,0 +1,76 @@ +{ + "id": "astrid_ccce", + "name": "Astrid Hólm", + "handle": "astrid", + "gender": "female", + "description": "woman from Iceland who works as a graphic designer", + "tags": [ + "artist", + "generative art", + "cross-country skiing", + "sustainable materials", + "scandinavian furniture", + "film photography", + "specialty coffee", + "electronic music" + ], + "avatar_url": "/media/astrid_ccce/avatar.webp?t=1769777182", + "banner_url": "/media/astrid_ccce/banner.webp?t=1769777181", + "videos": [ + "/media/astrid_ccce/videos/01_smile_reveal.mp4?t=1769777218" + ], + "images": [ + "/media/astrid_ccce/images/01_mid_mid_neutral.webp", + "/media/astrid_ccce/images/02_image.webp", + "/media/astrid_ccce/images/03_image.webp", + "/media/astrid_ccce/images/04_image.webp", + "/media/astrid_ccce/images/05_image.webp", + "/media/astrid_ccce/images/06_image.webp", + "/media/astrid_ccce/images/07_image.webp", + "/media/astrid_ccce/images/08_image.webp", + "/media/astrid_ccce/images/09_image.webp", + "/media/astrid_ccce/images/10_image.webp", + "/media/astrid_ccce/images/11_image.webp", + "/media/astrid_ccce/images/12_image.webp", + "/media/astrid_ccce/images/13_image.webp", + "/media/astrid_ccce/images/14_image.webp", + "/media/astrid_ccce/images/15_image.webp", + "/media/astrid_ccce/images/16_image.webp", + "/media/astrid_ccce/images/18_image.webp", + "/media/astrid_ccce/images/19_image.webp", + "/media/astrid_ccce/images/20_image.webp", + "/media/astrid_ccce/images/21_image.webp", + "/media/astrid_ccce/images/22_image.webp", + "/media/astrid_ccce/images/23_image.webp", + "/media/astrid_ccce/images/24_image.webp", + "/media/astrid_ccce/images/25_image.webp", + "/media/astrid_ccce/images/26_image.webp", + "/media/astrid_ccce/images/27_image.webp", + "/media/astrid_ccce/images/28_image.webp", + "/media/astrid_ccce/images/29_image.webp", + "/media/astrid_ccce/images/30_image.webp", + "/media/astrid_ccce/images/31_image.webp", + "/media/astrid_ccce/images/32_image.webp", + "/media/astrid_ccce/images/33_image.webp", + "/media/astrid_ccce/images/34_image.webp", + "/media/astrid_ccce/images/35_image.webp", + "/media/astrid_ccce/images/36_image.webp", + "/media/astrid_ccce/images/37_image.webp", + "/media/astrid_ccce/images/38_image.webp", + "/media/astrid_ccce/images/39_image.webp", + "/media/astrid_ccce/images/40_image.webp", + "/media/astrid_ccce/images/41_image.webp", + "/media/astrid_ccce/images/42_image.webp", + "/media/astrid_ccce/images/43_image.webp", + "/media/astrid_ccce/images/44_image.webp", + "/media/astrid_ccce/images/45_image.webp", + "/media/astrid_ccce/images/46_image.webp", + "/media/astrid_ccce/images/47_image.webp", + "/media/astrid_ccce/images/48_image.webp", + "/media/astrid_ccce/images/49_image.webp", + "/media/astrid_ccce/images/50_image.webp", + "/media/astrid_ccce/images/51_image.webp" + ], + "created_at": "2026-01-30T05:45:20.954299-07:00", + "dir_name": "astrid_ccce" +} \ No newline at end of file diff --git a/ideas/aeres/agents/atahualpa_f74f.json b/ideas/aeres/agents/atahualpa_f74f.json new file mode 100644 index 0000000..de62369 --- /dev/null +++ b/ideas/aeres/agents/atahualpa_f74f.json @@ -0,0 +1,76 @@ +{ + "id": "atahualpa_f74f", + "name": "Atahualpa Ramirez", + "handle": "atahualpa", + "gender": "male", + "description": "Trevor from GTA 5", + "tags": [ + "hot_mess", + "old engine repair", + "demolition derbies", + "collecting vintage lighters", + "texas history", + "cooking breakfast tacos", + "urban exploration" + ], + "avatar_url": "/media/atahualpa_f74f/avatar.webp?t=1769694224", + "banner_url": "/media/atahualpa_f74f/banner.webp?t=1769694225", + "videos": [ + "/media/atahualpa_f74f/videos/01_smile_reveal.mp4?t=1769694279" + ], + "images": [ + "/media/atahualpa_f74f/images/01_mid_mid_neutral.webp", + "/media/atahualpa_f74f/images/02_image.webp", + "/media/atahualpa_f74f/images/03_image.webp", + "/media/atahualpa_f74f/images/04_image.webp", + "/media/atahualpa_f74f/images/05_image.webp", + "/media/atahualpa_f74f/images/06_image.webp", + "/media/atahualpa_f74f/images/07_image.webp", + "/media/atahualpa_f74f/images/08_image.webp", + "/media/atahualpa_f74f/images/09_image.webp", + "/media/atahualpa_f74f/images/10_image.webp", + "/media/atahualpa_f74f/images/11_image.webp", + "/media/atahualpa_f74f/images/12_image.webp", + "/media/atahualpa_f74f/images/13_image.webp", + "/media/atahualpa_f74f/images/14_image.webp", + "/media/atahualpa_f74f/images/15_image.webp", + "/media/atahualpa_f74f/images/16_image.webp", + "/media/atahualpa_f74f/images/17_image.webp", + "/media/atahualpa_f74f/images/18_image.webp", + "/media/atahualpa_f74f/images/19_image.webp", + "/media/atahualpa_f74f/images/20_image.webp", + "/media/atahualpa_f74f/images/21_image.webp", + "/media/atahualpa_f74f/images/22_image.webp", + "/media/atahualpa_f74f/images/23_image.webp", + "/media/atahualpa_f74f/images/24_image.webp", + "/media/atahualpa_f74f/images/25_image.webp", + "/media/atahualpa_f74f/images/26_image.webp", + "/media/atahualpa_f74f/images/27_image.webp", + "/media/atahualpa_f74f/images/28_image.webp", + "/media/atahualpa_f74f/images/29_image.webp", + "/media/atahualpa_f74f/images/30_image.webp", + "/media/atahualpa_f74f/images/31_image.webp", + "/media/atahualpa_f74f/images/32_image.webp", + "/media/atahualpa_f74f/images/33_image.webp", + "/media/atahualpa_f74f/images/34_image.webp", + "/media/atahualpa_f74f/images/35_image.webp", + "/media/atahualpa_f74f/images/36_image.webp", + "/media/atahualpa_f74f/images/37_image.webp", + "/media/atahualpa_f74f/images/38_image.webp", + "/media/atahualpa_f74f/images/39_image.webp", + "/media/atahualpa_f74f/images/40_image.webp", + "/media/atahualpa_f74f/images/41_image.webp", + "/media/atahualpa_f74f/images/42_image.webp", + "/media/atahualpa_f74f/images/43_image.webp", + "/media/atahualpa_f74f/images/44_image.webp", + "/media/atahualpa_f74f/images/45_image.webp", + "/media/atahualpa_f74f/images/46_image.webp", + "/media/atahualpa_f74f/images/47_image.webp", + "/media/atahualpa_f74f/images/48_image.webp", + "/media/atahualpa_f74f/images/49_image.webp", + "/media/atahualpa_f74f/images/50_image.webp", + "/media/atahualpa_f74f/images/51_image.webp" + ], + "created_at": "2026-01-29T06:42:22.557344-07:00", + "dir_name": "atahualpa_f74f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/atticus_b877.json b/ideas/aeres/agents/atticus_b877.json new file mode 100644 index 0000000..eaea205 --- /dev/null +++ b/ideas/aeres/agents/atticus_b877.json @@ -0,0 +1,76 @@ +{ + "id": "atticus_b877", + "name": "Atticus Jones", + "handle": "atticus", + "gender": "male", + "description": "serbian man who cosplays as Hulk Hogan", + "tags": [ + "cosplayer", + "bodybuilding", + "prop making", + "1980s wrestling history", + "slavic cooking", + "classic rock vinyl collecting", + "gardening", + "action movies" + ], + "avatar_url": "/media/atticus_b877/avatar.webp?t=1769757243", + "banner_url": "/media/atticus_b877/banner.webp?t=1769757249", + "videos": [ + "/media/atticus_b877/videos/01_smile_reveal.mp4?t=1769757283" + ], + "images": [ + "/media/atticus_b877/images/01_mid_mid_neutral.webp", + "/media/atticus_b877/images/02_image.webp", + "/media/atticus_b877/images/03_image.webp", + "/media/atticus_b877/images/04_image.webp", + "/media/atticus_b877/images/05_image.webp", + "/media/atticus_b877/images/06_image.webp", + "/media/atticus_b877/images/07_image.webp", + "/media/atticus_b877/images/08_image.webp", + "/media/atticus_b877/images/09_image.webp", + "/media/atticus_b877/images/10_image.webp", + "/media/atticus_b877/images/11_image.webp", + "/media/atticus_b877/images/12_image.webp", + "/media/atticus_b877/images/13_image.webp", + "/media/atticus_b877/images/14_image.webp", + "/media/atticus_b877/images/15_image.webp", + "/media/atticus_b877/images/16_image.webp", + "/media/atticus_b877/images/17_image.webp", + "/media/atticus_b877/images/18_image.webp", + "/media/atticus_b877/images/19_image.webp", + "/media/atticus_b877/images/20_image.webp", + "/media/atticus_b877/images/21_image.webp", + "/media/atticus_b877/images/22_image.webp", + "/media/atticus_b877/images/23_image.webp", + "/media/atticus_b877/images/24_image.webp", + "/media/atticus_b877/images/25_image.webp", + "/media/atticus_b877/images/26_image.webp", + "/media/atticus_b877/images/27_image.webp", + "/media/atticus_b877/images/28_image.webp", + "/media/atticus_b877/images/29_image.webp", + "/media/atticus_b877/images/30_image.webp", + "/media/atticus_b877/images/31_image.webp", + "/media/atticus_b877/images/32_image.webp", + "/media/atticus_b877/images/33_image.webp", + "/media/atticus_b877/images/34_image.webp", + "/media/atticus_b877/images/35_image.webp", + "/media/atticus_b877/images/36_image.webp", + "/media/atticus_b877/images/37_image.webp", + "/media/atticus_b877/images/38_image.webp", + "/media/atticus_b877/images/39_image.webp", + "/media/atticus_b877/images/40_image.webp", + "/media/atticus_b877/images/41_image.webp", + "/media/atticus_b877/images/42_image.webp", + "/media/atticus_b877/images/43_image.webp", + "/media/atticus_b877/images/44_image.webp", + "/media/atticus_b877/images/45_image.webp", + "/media/atticus_b877/images/47_image.webp", + "/media/atticus_b877/images/48_image.webp", + "/media/atticus_b877/images/49_image.webp", + "/media/atticus_b877/images/50_image.webp", + "/media/atticus_b877/images/51_image.webp" + ], + "created_at": "2026-01-30T00:12:56.075772-07:00", + "dir_name": "atticus_b877" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ausilio_0a19.json b/ideas/aeres/agents/ausilio_0a19.json new file mode 100644 index 0000000..bffec2f --- /dev/null +++ b/ideas/aeres/agents/ausilio_0a19.json @@ -0,0 +1,75 @@ +{ + "id": "ausilio_0a19", + "name": "Ausilio Esposito", + "handle": "ausilio", + "gender": "male", + "description": "south european, mediterranean ma, lives in a villa with a wine cellar, wine enthusiast, countryside,age 35, tall tanned well fit athletic build, beach view", + "tags": [ + "lifestyle", + "rare wine collecting", + "landscape photography", + "equestrianism", + "sailing", + "modern architecture", + "jazz music" + ], + "avatar_url": "/media/ausilio_0a19/avatar.webp?t=1769604981", + "banner_url": "/media/ausilio_0a19/banner.webp?t=1769604999", + "videos": [ + "/media/ausilio_0a19/videos/01_smile_reveal.mp4?t=1769605016" + ], + "images": [ + "/media/ausilio_0a19/images/01_mid_mid_neutral.webp", + "/media/ausilio_0a19/images/02_image.webp", + "/media/ausilio_0a19/images/03_image.webp", + "/media/ausilio_0a19/images/04_image.webp", + "/media/ausilio_0a19/images/05_image.webp", + "/media/ausilio_0a19/images/06_image.webp", + "/media/ausilio_0a19/images/07_image.webp", + "/media/ausilio_0a19/images/08_image.webp", + "/media/ausilio_0a19/images/09_image.webp", + "/media/ausilio_0a19/images/10_image.webp", + "/media/ausilio_0a19/images/11_image.webp", + "/media/ausilio_0a19/images/12_image.webp", + "/media/ausilio_0a19/images/13_image.webp", + "/media/ausilio_0a19/images/14_image.webp", + "/media/ausilio_0a19/images/15_image.webp", + "/media/ausilio_0a19/images/16_image.webp", + "/media/ausilio_0a19/images/17_image.webp", + "/media/ausilio_0a19/images/18_image.webp", + "/media/ausilio_0a19/images/19_image.webp", + "/media/ausilio_0a19/images/21_image.webp", + "/media/ausilio_0a19/images/22_image.webp", + "/media/ausilio_0a19/images/23_image.webp", + "/media/ausilio_0a19/images/24_image.webp", + "/media/ausilio_0a19/images/25_image.webp", + "/media/ausilio_0a19/images/26_image.webp", + "/media/ausilio_0a19/images/27_image.webp", + "/media/ausilio_0a19/images/28_image.webp", + "/media/ausilio_0a19/images/29_image.webp", + "/media/ausilio_0a19/images/30_image.webp", + "/media/ausilio_0a19/images/31_image.webp", + "/media/ausilio_0a19/images/32_image.webp", + "/media/ausilio_0a19/images/33_image.webp", + "/media/ausilio_0a19/images/34_image.webp", + "/media/ausilio_0a19/images/35_image.webp", + "/media/ausilio_0a19/images/36_image.webp", + "/media/ausilio_0a19/images/37_image.webp", + "/media/ausilio_0a19/images/38_image.webp", + "/media/ausilio_0a19/images/39_image.webp", + "/media/ausilio_0a19/images/40_image.webp", + "/media/ausilio_0a19/images/41_image.webp", + "/media/ausilio_0a19/images/42_image.webp", + "/media/ausilio_0a19/images/43_image.webp", + "/media/ausilio_0a19/images/44_image.webp", + "/media/ausilio_0a19/images/45_image.webp", + "/media/ausilio_0a19/images/46_image.webp", + "/media/ausilio_0a19/images/47_image.webp", + "/media/ausilio_0a19/images/48_image.webp", + "/media/ausilio_0a19/images/49_image.webp", + "/media/ausilio_0a19/images/50_image.webp", + "/media/ausilio_0a19/images/51_image.webp" + ], + "created_at": "2026-01-28T05:54:58.409422-07:00", + "dir_name": "ausilio_0a19" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ayanna_d8b1.json b/ideas/aeres/agents/ayanna_d8b1.json new file mode 100644 index 0000000..f51bc58 --- /dev/null +++ b/ideas/aeres/agents/ayanna_d8b1.json @@ -0,0 +1,77 @@ +{ + "id": "ayanna_d8b1", + "name": "Ayanna Williams", + "handle": "ayanna", + "gender": "female", + "description": "black girl with blue hair who likes cosplay and league of legends, tall and slim", + "tags": [ + "cosplayer", + "prop making", + "competitive pc gaming", + "cyberpunk literature", + "character design", + "mixology", + "urban exploration", + "synthwave music" + ], + "avatar_url": "/media/ayanna_d8b1/avatar.webp?t=1769001873", + "banner_url": "/media/ayanna_d8b1/banner.webp?t=1769001870", + "videos": [ + "/media/ayanna_d8b1/videos/01_smile_reveal.mp4?t=1769001909" + ], + "images": [ + "/media/ayanna_d8b1/images/01_mid_mid_neutral.webp", + "/media/ayanna_d8b1/images/02_image.webp", + "/media/ayanna_d8b1/images/03_image.webp", + "/media/ayanna_d8b1/images/04_image.webp", + "/media/ayanna_d8b1/images/05_image.webp", + "/media/ayanna_d8b1/images/06_image.webp", + "/media/ayanna_d8b1/images/07_image.webp", + "/media/ayanna_d8b1/images/08_image.webp", + "/media/ayanna_d8b1/images/09_image.webp", + "/media/ayanna_d8b1/images/10_image.webp", + "/media/ayanna_d8b1/images/11_image.webp", + "/media/ayanna_d8b1/images/12_image.webp", + "/media/ayanna_d8b1/images/13_image.webp", + "/media/ayanna_d8b1/images/14_image.webp", + "/media/ayanna_d8b1/images/15_image.webp", + "/media/ayanna_d8b1/images/16_image.webp", + "/media/ayanna_d8b1/images/17_image.webp", + "/media/ayanna_d8b1/images/18_image.webp", + "/media/ayanna_d8b1/images/19_image.webp", + "/media/ayanna_d8b1/images/20_image.webp", + "/media/ayanna_d8b1/images/21_image.webp", + "/media/ayanna_d8b1/images/22_image.webp", + "/media/ayanna_d8b1/images/23_image.webp", + "/media/ayanna_d8b1/images/24_image.webp", + "/media/ayanna_d8b1/images/25_image.webp", + "/media/ayanna_d8b1/images/26_image.webp", + "/media/ayanna_d8b1/images/27_image.webp", + "/media/ayanna_d8b1/images/28_image.webp", + "/media/ayanna_d8b1/images/29_image.webp", + "/media/ayanna_d8b1/images/30_image.webp", + "/media/ayanna_d8b1/images/31_image.webp", + "/media/ayanna_d8b1/images/32_image.webp", + "/media/ayanna_d8b1/images/33_image.webp", + "/media/ayanna_d8b1/images/34_image.webp", + "/media/ayanna_d8b1/images/35_image.webp", + "/media/ayanna_d8b1/images/36_image.webp", + "/media/ayanna_d8b1/images/37_image.webp", + "/media/ayanna_d8b1/images/38_image.webp", + "/media/ayanna_d8b1/images/39_image.webp", + "/media/ayanna_d8b1/images/40_image.webp", + "/media/ayanna_d8b1/images/41_image.webp", + "/media/ayanna_d8b1/images/42_image.webp", + "/media/ayanna_d8b1/images/43_image.webp", + "/media/ayanna_d8b1/images/44_image.webp", + "/media/ayanna_d8b1/images/45_image.webp", + "/media/ayanna_d8b1/images/46_image.webp", + "/media/ayanna_d8b1/images/47_image.webp", + "/media/ayanna_d8b1/images/48_image.webp", + "/media/ayanna_d8b1/images/49_image.webp", + "/media/ayanna_d8b1/images/50_image.webp", + "/media/ayanna_d8b1/images/51_image.webp" + ], + "created_at": "2026-01-21T06:23:07.035592-07:00", + "dir_name": "ayanna_d8b1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ayanna_e4ae.json b/ideas/aeres/agents/ayanna_e4ae.json new file mode 100644 index 0000000..03ba438 --- /dev/null +++ b/ideas/aeres/agents/ayanna_e4ae.json @@ -0,0 +1,77 @@ +{ + "id": "ayanna_e4ae", + "name": "Ayanna Johnson", + "handle": "ayanna", + "gender": "female", + "description": "20's circus performer, black and white clothing, collar, flexible, mime, Cirque du Soleil, contortionist, costume", + "tags": [ + "cosplayer", + "contortion", + "mime arts", + "experimental cinema", + "anatomy studies", + "botanical illustration", + "vinyl records", + "thrifting" + ], + "avatar_url": "/media/ayanna_e4ae/avatar.webp?t=1769584114", + "banner_url": "/media/ayanna_e4ae/banner.webp?t=1769584112", + "videos": [ + "/media/ayanna_e4ae/videos/01_smile_reveal.mp4?t=1769553987" + ], + "images": [ + "/media/ayanna_e4ae/images/01_mid_mid_neutral.webp", + "/media/ayanna_e4ae/images/02_image.webp", + "/media/ayanna_e4ae/images/03_image.webp", + "/media/ayanna_e4ae/images/04_image.webp", + "/media/ayanna_e4ae/images/05_image.webp", + "/media/ayanna_e4ae/images/06_image.webp", + "/media/ayanna_e4ae/images/07_image.webp", + "/media/ayanna_e4ae/images/08_image.webp", + "/media/ayanna_e4ae/images/09_image.webp", + "/media/ayanna_e4ae/images/10_image.webp", + "/media/ayanna_e4ae/images/11_image.webp", + "/media/ayanna_e4ae/images/12_image.webp", + "/media/ayanna_e4ae/images/13_image.webp", + "/media/ayanna_e4ae/images/14_image.webp", + "/media/ayanna_e4ae/images/15_image.webp", + "/media/ayanna_e4ae/images/16_image.webp", + "/media/ayanna_e4ae/images/17_image.webp", + "/media/ayanna_e4ae/images/18_image.webp", + "/media/ayanna_e4ae/images/19_image.webp", + "/media/ayanna_e4ae/images/20_image.webp", + "/media/ayanna_e4ae/images/21_image.webp", + "/media/ayanna_e4ae/images/22_image.webp", + "/media/ayanna_e4ae/images/23_image.webp", + "/media/ayanna_e4ae/images/24_image.webp", + "/media/ayanna_e4ae/images/25_image.webp", + "/media/ayanna_e4ae/images/26_image.webp", + "/media/ayanna_e4ae/images/27_image.webp", + "/media/ayanna_e4ae/images/28_image.webp", + "/media/ayanna_e4ae/images/29_image.webp", + "/media/ayanna_e4ae/images/30_image.webp", + "/media/ayanna_e4ae/images/31_image.webp", + "/media/ayanna_e4ae/images/32_image.webp", + "/media/ayanna_e4ae/images/33_image.webp", + "/media/ayanna_e4ae/images/34_image.webp", + "/media/ayanna_e4ae/images/35_image.webp", + "/media/ayanna_e4ae/images/36_image.webp", + "/media/ayanna_e4ae/images/37_image.webp", + "/media/ayanna_e4ae/images/38_image.webp", + "/media/ayanna_e4ae/images/39_image.webp", + "/media/ayanna_e4ae/images/40_image.webp", + "/media/ayanna_e4ae/images/41_image.webp", + "/media/ayanna_e4ae/images/42_image.webp", + "/media/ayanna_e4ae/images/43_image.webp", + "/media/ayanna_e4ae/images/44_image.webp", + "/media/ayanna_e4ae/images/45_image.webp", + "/media/ayanna_e4ae/images/46_image.webp", + "/media/ayanna_e4ae/images/47_image.webp", + "/media/ayanna_e4ae/images/48_image.webp", + "/media/ayanna_e4ae/images/49_image.webp", + "/media/ayanna_e4ae/images/50_image.webp", + "/media/ayanna_e4ae/images/51_image.webp" + ], + "created_at": "2026-01-27T15:44:55.868838-07:00", + "dir_name": "ayanna_e4ae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ayllu_e436.json b/ideas/aeres/agents/ayllu_e436.json new file mode 100644 index 0000000..b8a7765 --- /dev/null +++ b/ideas/aeres/agents/ayllu_e436.json @@ -0,0 +1,76 @@ +{ + "id": "ayllu_e436", + "name": "Ayllu Diaz", + "handle": "ayllu", + "gender": "male", + "description": "male from Australia who likes to do surf", + "tags": [ + "adventurous", + "big wave surfing", + "sustainable fishing", + "coastal photography", + "ethical travel", + "acoustic guitar", + "fermenting kombucha", + "restoring old land cruisers" + ], + "avatar_url": "/media/ayllu_e436/avatar.webp?t=1770105152", + "banner_url": "/media/ayllu_e436/banner.webp?t=1770105124", + "videos": [ + "/media/ayllu_e436/videos/01_smile_reveal.mp4?t=1770105170" + ], + "images": [ + "/media/ayllu_e436/images/01_mid_mid_neutral.webp", + "/media/ayllu_e436/images/02_image.webp", + "/media/ayllu_e436/images/03_image.webp", + "/media/ayllu_e436/images/04_image.webp", + "/media/ayllu_e436/images/05_image.webp", + "/media/ayllu_e436/images/06_image.webp", + "/media/ayllu_e436/images/07_image.webp", + "/media/ayllu_e436/images/08_image.webp", + "/media/ayllu_e436/images/09_image.webp", + "/media/ayllu_e436/images/10_image.webp", + "/media/ayllu_e436/images/11_image.webp", + "/media/ayllu_e436/images/12_image.webp", + "/media/ayllu_e436/images/13_image.webp", + "/media/ayllu_e436/images/14_image.webp", + "/media/ayllu_e436/images/15_image.webp", + "/media/ayllu_e436/images/16_image.webp", + "/media/ayllu_e436/images/17_image.webp", + "/media/ayllu_e436/images/18_image.webp", + "/media/ayllu_e436/images/19_image.webp", + "/media/ayllu_e436/images/20_image.webp", + "/media/ayllu_e436/images/21_image.webp", + "/media/ayllu_e436/images/22_image.webp", + "/media/ayllu_e436/images/23_image.webp", + "/media/ayllu_e436/images/24_image.webp", + "/media/ayllu_e436/images/25_image.webp", + "/media/ayllu_e436/images/26_image.webp", + "/media/ayllu_e436/images/27_image.webp", + "/media/ayllu_e436/images/28_image.webp", + "/media/ayllu_e436/images/29_image.webp", + "/media/ayllu_e436/images/30_image.webp", + "/media/ayllu_e436/images/31_image.webp", + "/media/ayllu_e436/images/32_image.webp", + "/media/ayllu_e436/images/33_image.webp", + "/media/ayllu_e436/images/34_image.webp", + "/media/ayllu_e436/images/35_image.webp", + "/media/ayllu_e436/images/36_image.webp", + "/media/ayllu_e436/images/37_image.webp", + "/media/ayllu_e436/images/38_image.webp", + "/media/ayllu_e436/images/39_image.webp", + "/media/ayllu_e436/images/40_image.webp", + "/media/ayllu_e436/images/41_image.webp", + "/media/ayllu_e436/images/42_image.webp", + "/media/ayllu_e436/images/43_image.webp", + "/media/ayllu_e436/images/44_image.webp", + "/media/ayllu_e436/images/45_image.webp", + "/media/ayllu_e436/images/46_image.webp", + "/media/ayllu_e436/images/47_image.webp", + "/media/ayllu_e436/images/48_image.webp", + "/media/ayllu_e436/images/49_image.webp", + "/media/ayllu_e436/images/50_image.webp" + ], + "created_at": "2026-02-03T00:50:58.456993-07:00", + "dir_name": "ayllu_e436" +} \ No newline at end of file diff --git a/ideas/aeres/agents/barbara_0a7d.json b/ideas/aeres/agents/barbara_0a7d.json new file mode 100644 index 0000000..768ca34 --- /dev/null +++ b/ideas/aeres/agents/barbara_0a7d.json @@ -0,0 +1,77 @@ +{ + "id": "barbara_0a7d", + "name": "Barbara Davis", + "handle": "barbara", + "gender": "female", + "description": "Wolverine", + "tags": [ + "mysterious_stranger", + "metal fabrication", + "tracking", + "endurance training", + "cold-water immersion", + "whiskey tasting", + "classic rock", + "historical biographies" + ], + "avatar_url": "/media/barbara_0a7d/avatar.webp?t=1770119612", + "banner_url": "/media/barbara_0a7d/banner.webp?t=1770119619", + "videos": [ + "/media/barbara_0a7d/videos/01_smile_reveal.mp4?t=1770119645" + ], + "images": [ + "/media/barbara_0a7d/images/01_mid_mid_neutral.webp", + "/media/barbara_0a7d/images/02_image.webp", + "/media/barbara_0a7d/images/03_image.webp", + "/media/barbara_0a7d/images/04_image.webp", + "/media/barbara_0a7d/images/05_image.webp", + "/media/barbara_0a7d/images/06_image.webp", + "/media/barbara_0a7d/images/07_image.webp", + "/media/barbara_0a7d/images/08_image.webp", + "/media/barbara_0a7d/images/09_image.webp", + "/media/barbara_0a7d/images/10_image.webp", + "/media/barbara_0a7d/images/11_image.webp", + "/media/barbara_0a7d/images/12_image.webp", + "/media/barbara_0a7d/images/13_image.webp", + "/media/barbara_0a7d/images/14_image.webp", + "/media/barbara_0a7d/images/15_image.webp", + "/media/barbara_0a7d/images/16_image.webp", + "/media/barbara_0a7d/images/17_image.webp", + "/media/barbara_0a7d/images/18_image.webp", + "/media/barbara_0a7d/images/19_image.webp", + "/media/barbara_0a7d/images/20_image.webp", + "/media/barbara_0a7d/images/21_image.webp", + "/media/barbara_0a7d/images/22_image.webp", + "/media/barbara_0a7d/images/22_image.webp", + "/media/barbara_0a7d/images/23_image.webp", + "/media/barbara_0a7d/images/23_image.webp", + "/media/barbara_0a7d/images/24_image.webp", + "/media/barbara_0a7d/images/24_image.webp", + "/media/barbara_0a7d/images/25_image.webp", + "/media/barbara_0a7d/images/25_image.webp", + "/media/barbara_0a7d/images/26_image.webp", + "/media/barbara_0a7d/images/26_image.webp", + "/media/barbara_0a7d/images/27_image.webp", + "/media/barbara_0a7d/images/27_image.webp", + "/media/barbara_0a7d/images/28_image.webp", + "/media/barbara_0a7d/images/28_image.webp", + "/media/barbara_0a7d/images/29_image.webp", + "/media/barbara_0a7d/images/29_image.webp", + "/media/barbara_0a7d/images/30_image.webp", + "/media/barbara_0a7d/images/30_image.webp", + "/media/barbara_0a7d/images/31_image.webp", + "/media/barbara_0a7d/images/31_image.webp", + "/media/barbara_0a7d/images/32_image.webp", + "/media/barbara_0a7d/images/33_image.webp", + "/media/barbara_0a7d/images/34_image.webp", + "/media/barbara_0a7d/images/35_image.webp", + "/media/barbara_0a7d/images/36_image.webp", + "/media/barbara_0a7d/images/37_image.webp", + "/media/barbara_0a7d/images/38_image.webp", + "/media/barbara_0a7d/images/39_image.webp", + "/media/barbara_0a7d/images/40_image.webp", + "/media/barbara_0a7d/images/41_image.webp" + ], + "created_at": "2026-02-03T04:52:26.571241-07:00", + "dir_name": "barbara_0a7d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/barbara_eb43.json b/ideas/aeres/agents/barbara_eb43.json new file mode 100644 index 0000000..2d41d18 --- /dev/null +++ b/ideas/aeres/agents/barbara_eb43.json @@ -0,0 +1,78 @@ +{ + "id": "barbara_eb43", + "name": "Barbara Russo", + "handle": "barbara", + "gender": "female", + "description": "petite, short, curvy girl, with big boobs, dark red hair, Caucasian, mom vibes, cooking, baking, party on the weekends, sexy, vinyl record collector, sad girl", + "tags": [ + "hot_mom", + "vinyl collecting", + "analog photography", + "baking artisanal bread", + "post-punk music", + "indoor gardening", + "true crime documentaries", + "thrifting for mid-century modern decor" + ], + "avatar_url": "/media/barbara_eb43/avatar.webp?t=1769119367", + "banner_url": "/media/barbara_eb43/banner.webp?t=1769119365", + "images": [ + "/media/barbara_eb43/images/01_mid_mid_neutral.webp", + "/media/barbara_eb43/images/02_image.webp", + "/media/barbara_eb43/images/03_image.webp", + "/media/barbara_eb43/images/04_image.webp", + "/media/barbara_eb43/images/05_image.webp", + "/media/barbara_eb43/images/06_image.webp", + "/media/barbara_eb43/images/07_image.webp", + "/media/barbara_eb43/images/08_image.webp", + "/media/barbara_eb43/images/09_image.webp", + "/media/barbara_eb43/images/10_image.webp", + "/media/barbara_eb43/images/11_image.webp", + "/media/barbara_eb43/images/12_image.webp", + "/media/barbara_eb43/images/12_image.webp", + "/media/barbara_eb43/images/12_image.webp", + "/media/barbara_eb43/images/13_image.webp", + "/media/barbara_eb43/images/13_image.webp", + "/media/barbara_eb43/images/12_image.webp", + "/media/barbara_eb43/images/14_image.webp", + "/media/barbara_eb43/images/13_image.webp", + "/media/barbara_eb43/images/14_image.webp", + "/media/barbara_eb43/images/15_image.webp", + "/media/barbara_eb43/images/15_image.webp", + "/media/barbara_eb43/images/14_image.webp", + "/media/barbara_eb43/images/14_image.webp", + "/media/barbara_eb43/images/16_image.webp", + "/media/barbara_eb43/images/15_image.webp", + "/media/barbara_eb43/images/15_image.webp", + "/media/barbara_eb43/images/16_image.webp", + "/media/barbara_eb43/images/17_image.webp", + "/media/barbara_eb43/images/16_image.webp", + "/media/barbara_eb43/images/16_image.webp", + "/media/barbara_eb43/images/16_image.webp", + "/media/barbara_eb43/images/17_image.webp", + "/media/barbara_eb43/images/17_image.webp", + "/media/barbara_eb43/images/18_image.webp", + "/media/barbara_eb43/images/17_image.webp", + "/media/barbara_eb43/images/18_image.webp", + "/media/barbara_eb43/images/18_image.webp", + "/media/barbara_eb43/images/18_image.webp", + "/media/barbara_eb43/images/19_image.webp", + "/media/barbara_eb43/images/18_image.webp", + "/media/barbara_eb43/images/19_image.webp", + "/media/barbara_eb43/images/19_image.webp", + "/media/barbara_eb43/images/20_image.webp", + "/media/barbara_eb43/images/19_image.webp", + "/media/barbara_eb43/images/20_image.webp", + "/media/barbara_eb43/images/21_image.webp", + "/media/barbara_eb43/images/20_image.webp", + "/media/barbara_eb43/images/20_image.webp", + "/media/barbara_eb43/images/20_image.webp", + "/media/barbara_eb43/images/21_image.webp", + "/media/barbara_eb43/images/21_image.webp", + "/media/barbara_eb43/images/21_image.webp", + "/media/barbara_eb43/images/22_image.webp", + "/media/barbara_eb43/images/23_image.webp" + ], + "created_at": "2026-01-22T15:01:39.192828-07:00", + "dir_name": "barbara_eb43" +} \ No newline at end of file diff --git a/ideas/aeres/agents/barrett_a391.json b/ideas/aeres/agents/barrett_a391.json new file mode 100644 index 0000000..d23364b --- /dev/null +++ b/ideas/aeres/agents/barrett_a391.json @@ -0,0 +1,72 @@ +{ + "id": "barrett_a391", + "name": "Barrett Smith", + "handle": "barrett", + "gender": "male", + "description": "bald male with big beard who is a lumberjack", + "tags": [ + "bear_build", + "woodworking", + "hiking", + "restoring vintage tools", + "craft beer", + "live blues music", + "grilling" + ], + "avatar_url": "/media/barrett_a391/avatar.webp?t=1769671636", + "banner_url": "/media/barrett_a391/banner.webp?t=1769671639", + "videos": [ + "/media/barrett_a391/videos/01_smile_reveal.mp4?t=1769671677" + ], + "images": [ + "/media/barrett_a391/images/01_mid_mid_neutral.webp", + "/media/barrett_a391/images/02_image.webp", + "/media/barrett_a391/images/03_image.webp", + "/media/barrett_a391/images/04_image.webp", + "/media/barrett_a391/images/05_image.webp", + "/media/barrett_a391/images/06_image.webp", + "/media/barrett_a391/images/07_image.webp", + "/media/barrett_a391/images/08_image.webp", + "/media/barrett_a391/images/09_image.webp", + "/media/barrett_a391/images/11_image.webp", + "/media/barrett_a391/images/14_image.webp", + "/media/barrett_a391/images/22_image.webp", + "/media/barrett_a391/images/23_image.webp", + "/media/barrett_a391/images/30_image.webp", + "/media/barrett_a391/images/31_image.webp", + "/media/barrett_a391/images/32_image.webp", + "/media/barrett_a391/images/33_image.webp", + "/media/barrett_a391/images/34_image.webp", + "/media/barrett_a391/images/35_image.webp", + "/media/barrett_a391/images/36_image.webp", + "/media/barrett_a391/images/37_image.webp", + "/media/barrett_a391/images/38_image.webp", + "/media/barrett_a391/images/39_image.webp", + "/media/barrett_a391/images/40_image.webp", + "/media/barrett_a391/images/41_image.webp", + "/media/barrett_a391/images/42_image.webp", + "/media/barrett_a391/images/43_image.webp", + "/media/barrett_a391/images/44_image.webp", + "/media/barrett_a391/images/45_image.webp", + "/media/barrett_a391/images/46_image.webp", + "/media/barrett_a391/images/47_image.webp", + "/media/barrett_a391/images/48_image.webp", + "/media/barrett_a391/images/49_image.webp", + "/media/barrett_a391/images/50_image.webp", + "/media/barrett_a391/images/51_image.webp", + "/media/barrett_a391/images/52_image.webp", + "/media/barrett_a391/images/53_image.webp", + "/media/barrett_a391/images/54_image.webp", + "/media/barrett_a391/images/55_image.webp", + "/media/barrett_a391/images/56_image.webp", + "/media/barrett_a391/images/57_image.webp", + "/media/barrett_a391/images/58_image.webp", + "/media/barrett_a391/images/59_image.webp", + "/media/barrett_a391/images/60_image.webp", + "/media/barrett_a391/images/61_image.webp", + "/media/barrett_a391/images/62_image.webp", + "/media/barrett_a391/images/63_image.webp" + ], + "created_at": "2026-01-29T00:25:51.650796-07:00", + "dir_name": "barrett_a391" +} \ No newline at end of file diff --git a/ideas/aeres/agents/battista_56c2.json b/ideas/aeres/agents/battista_56c2.json new file mode 100644 index 0000000..f1346af --- /dev/null +++ b/ideas/aeres/agents/battista_56c2.json @@ -0,0 +1,77 @@ +{ + "id": "battista_56c2", + "name": "Battista Esposito", + "handle": "battista", + "gender": "male", + "description": "hot superhero type, looks a lot like Superman, should look almost identical to Henry Cavil", + "tags": [ + "sigma_male", + "olympic weightlifting", + "classical architecture", + "sailing", + "motorcycle restoration", + "chess", + "watch collecting", + "wine tasting" + ], + "avatar_url": "/media/battista_56c2/avatar.webp?t=1769588834", + "banner_url": "/media/battista_56c2/banner.webp?t=1769588838", + "videos": [ + "/media/battista_56c2/videos/01_smile_reveal.mp4?t=1769588883" + ], + "images": [ + "/media/battista_56c2/images/01_mid_mid_neutral.webp", + "/media/battista_56c2/images/02_image.webp", + "/media/battista_56c2/images/03_image.webp", + "/media/battista_56c2/images/04_image.webp", + "/media/battista_56c2/images/05_image.webp", + "/media/battista_56c2/images/06_image.webp", + "/media/battista_56c2/images/07_image.webp", + "/media/battista_56c2/images/08_image.webp", + "/media/battista_56c2/images/09_image.webp", + "/media/battista_56c2/images/10_image.webp", + "/media/battista_56c2/images/11_image.webp", + "/media/battista_56c2/images/12_image.webp", + "/media/battista_56c2/images/13_image.webp", + "/media/battista_56c2/images/14_image.webp", + "/media/battista_56c2/images/15_image.webp", + "/media/battista_56c2/images/16_image.webp", + "/media/battista_56c2/images/17_image.webp", + "/media/battista_56c2/images/18_image.webp", + "/media/battista_56c2/images/19_image.webp", + "/media/battista_56c2/images/20_image.webp", + "/media/battista_56c2/images/21_image.webp", + "/media/battista_56c2/images/22_image.webp", + "/media/battista_56c2/images/23_image.webp", + "/media/battista_56c2/images/24_image.webp", + "/media/battista_56c2/images/25_image.webp", + "/media/battista_56c2/images/26_image.webp", + "/media/battista_56c2/images/27_image.webp", + "/media/battista_56c2/images/28_image.webp", + "/media/battista_56c2/images/29_image.webp", + "/media/battista_56c2/images/30_image.webp", + "/media/battista_56c2/images/31_image.webp", + "/media/battista_56c2/images/32_image.webp", + "/media/battista_56c2/images/33_image.webp", + "/media/battista_56c2/images/34_image.webp", + "/media/battista_56c2/images/35_image.webp", + "/media/battista_56c2/images/36_image.webp", + "/media/battista_56c2/images/37_image.webp", + "/media/battista_56c2/images/38_image.webp", + "/media/battista_56c2/images/39_image.webp", + "/media/battista_56c2/images/40_image.webp", + "/media/battista_56c2/images/41_image.webp", + "/media/battista_56c2/images/42_image.webp", + "/media/battista_56c2/images/43_image.webp", + "/media/battista_56c2/images/44_image.webp", + "/media/battista_56c2/images/45_image.webp", + "/media/battista_56c2/images/46_image.webp", + "/media/battista_56c2/images/47_image.webp", + "/media/battista_56c2/images/48_image.webp", + "/media/battista_56c2/images/49_image.webp", + "/media/battista_56c2/images/50_image.webp", + "/media/battista_56c2/images/51_image.webp" + ], + "created_at": "2026-01-28T01:25:48.209198-07:00", + "dir_name": "battista_56c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/beatrice_3da1.json b/ideas/aeres/agents/beatrice_3da1.json new file mode 100644 index 0000000..4dfff6d --- /dev/null +++ b/ideas/aeres/agents/beatrice_3da1.json @@ -0,0 +1,76 @@ +{ + "id": "beatrice_3da1", + "name": "Beatrice Green", + "handle": "beatrice", + "gender": "female", + "description": "african american basketball player, tall, fit, beautiful face, funny personality, age 22, university of new york, new york liberty womens basketball team", + "tags": [ + "the athletic one", + "track and field", + "sports photography", + "nutrition science", + "stand-up comedy", + "sneaker collecting", + "interior design", + "hiking" + ], + "avatar_url": "/media/beatrice_3da1/avatar.webp?t=1769505869", + "banner_url": "/media/beatrice_3da1/banner.webp?t=1769509542", + "videos": [ + "/media/beatrice_3da1/videos/01_smile_reveal.mp4?t=1769505918" + ], + "images": [ + "/media/beatrice_3da1/images/01_mid_mid_neutral.webp", + "/media/beatrice_3da1/images/02_image.webp", + "/media/beatrice_3da1/images/03_image.webp", + "/media/beatrice_3da1/images/04_image.webp", + "/media/beatrice_3da1/images/05_image.webp", + "/media/beatrice_3da1/images/06_image.webp", + "/media/beatrice_3da1/images/07_image.webp", + "/media/beatrice_3da1/images/08_image.webp", + "/media/beatrice_3da1/images/09_image.webp", + "/media/beatrice_3da1/images/10_image.webp", + "/media/beatrice_3da1/images/11_image.webp", + "/media/beatrice_3da1/images/12_image.webp", + "/media/beatrice_3da1/images/13_image.webp", + "/media/beatrice_3da1/images/14_image.webp", + "/media/beatrice_3da1/images/15_image.webp", + "/media/beatrice_3da1/images/16_image.webp", + "/media/beatrice_3da1/images/17_image.webp", + "/media/beatrice_3da1/images/18_image.webp", + "/media/beatrice_3da1/images/19_image.webp", + "/media/beatrice_3da1/images/20_image.webp", + "/media/beatrice_3da1/images/21_image.webp", + "/media/beatrice_3da1/images/22_image.webp", + "/media/beatrice_3da1/images/23_image.webp", + "/media/beatrice_3da1/images/24_image.webp", + "/media/beatrice_3da1/images/25_image.webp", + "/media/beatrice_3da1/images/26_image.webp", + "/media/beatrice_3da1/images/27_image.webp", + "/media/beatrice_3da1/images/28_image.webp", + "/media/beatrice_3da1/images/29_image.webp", + "/media/beatrice_3da1/images/30_image.webp", + "/media/beatrice_3da1/images/31_image.webp", + "/media/beatrice_3da1/images/32_image.webp", + "/media/beatrice_3da1/images/33_image.webp", + "/media/beatrice_3da1/images/34_image.webp", + "/media/beatrice_3da1/images/35_image.webp", + "/media/beatrice_3da1/images/36_image.webp", + "/media/beatrice_3da1/images/37_image.webp", + "/media/beatrice_3da1/images/38_image.webp", + "/media/beatrice_3da1/images/39_image.webp", + "/media/beatrice_3da1/images/40_image.webp", + "/media/beatrice_3da1/images/41_image.webp", + "/media/beatrice_3da1/images/42_image.webp", + "/media/beatrice_3da1/images/43_image.webp", + "/media/beatrice_3da1/images/44_image.webp", + "/media/beatrice_3da1/images/45_image.webp", + "/media/beatrice_3da1/images/46_image.webp", + "/media/beatrice_3da1/images/47_image.webp", + "/media/beatrice_3da1/images/48_image.webp", + "/media/beatrice_3da1/images/49_image.webp", + "/media/beatrice_3da1/images/50_image.webp" + ], + "created_at": "2026-01-27T02:22:46.496986-07:00", + "dir_name": "beatrice_3da1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/beau_df15.json b/ideas/aeres/agents/beau_df15.json new file mode 100644 index 0000000..510d5b7 --- /dev/null +++ b/ideas/aeres/agents/beau_df15.json @@ -0,0 +1,74 @@ +{ + "id": "beau_df15", + "name": "Beau Thompson", + "handle": "beau", + "gender": "male", + "description": "nascar car driver, race cars enthusiast, championship team, winner at Daytona circuit, man 32 , athletic, petrol head loves cars", + "tags": [ + "thrill_seeker", + "vintage car restoration", + "precision driving", + "mountain biking", + "watch horology", + "photography", + "espresso brewing", + "sci-fi cinema" + ], + "avatar_url": "/media/beau_df15/avatar.webp?t=1770123718", + "banner_url": "/media/beau_df15/banner.webp?t=1770123710", + "videos": [ + "/media/beau_df15/videos/01_smile_reveal.mp4?t=1770123746" + ], + "images": [ + "/media/beau_df15/images/01_mid_mid_neutral.webp", + "/media/beau_df15/images/02_image.webp", + "/media/beau_df15/images/03_image.webp", + "/media/beau_df15/images/04_image.webp", + "/media/beau_df15/images/05_image.webp", + "/media/beau_df15/images/06_image.webp", + "/media/beau_df15/images/07_image.webp", + "/media/beau_df15/images/08_image.webp", + "/media/beau_df15/images/09_image.webp", + "/media/beau_df15/images/10_image.webp", + "/media/beau_df15/images/22_image.webp", + "/media/beau_df15/images/23_image.webp", + "/media/beau_df15/images/24_image.webp", + "/media/beau_df15/images/25_image.webp", + "/media/beau_df15/images/26_image.webp", + "/media/beau_df15/images/27_image.webp", + "/media/beau_df15/images/28_image.webp", + "/media/beau_df15/images/29_image.webp", + "/media/beau_df15/images/30_image.webp", + "/media/beau_df15/images/31_image.webp", + "/media/beau_df15/images/32_image.webp", + "/media/beau_df15/images/33_image.webp", + "/media/beau_df15/images/34_image.webp", + "/media/beau_df15/images/35_image.webp", + "/media/beau_df15/images/36_image.webp", + "/media/beau_df15/images/37_image.webp", + "/media/beau_df15/images/38_image.webp", + "/media/beau_df15/images/39_image.webp", + "/media/beau_df15/images/40_image.webp", + "/media/beau_df15/images/41_image.webp", + "/media/beau_df15/images/42_image.webp", + "/media/beau_df15/images/43_image.webp", + "/media/beau_df15/images/44_image.webp", + "/media/beau_df15/images/45_image.webp", + "/media/beau_df15/images/46_image.webp", + "/media/beau_df15/images/47_image.webp", + "/media/beau_df15/images/48_image.webp", + "/media/beau_df15/images/49_image.webp", + "/media/beau_df15/images/50_image.webp", + "/media/beau_df15/images/51_image.webp", + "/media/beau_df15/images/53_image.webp", + "/media/beau_df15/images/54_image.webp", + "/media/beau_df15/images/55_image.webp", + "/media/beau_df15/images/56_image.webp", + "/media/beau_df15/images/57_image.webp", + "/media/beau_df15/images/58_image.webp", + "/media/beau_df15/images/59_image.webp", + "/media/beau_df15/images/60_image.webp" + ], + "created_at": "2026-02-03T06:00:35.99622-07:00", + "dir_name": "beau_df15" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bennie_80f6.json b/ideas/aeres/agents/bennie_80f6.json new file mode 100644 index 0000000..812f755 --- /dev/null +++ b/ideas/aeres/agents/bennie_80f6.json @@ -0,0 +1,77 @@ +{ + "id": "bennie_80f6", + "name": "Bennie Sanchez", + "handle": "bennie", + "gender": "male", + "description": "male who cosplays as Hannibal Lecter", + "tags": [ + "cosplayer", + "historical tailoring", + "psychological profiling", + "gourmet cooking", + "opera", + "wine collecting", + "architecture", + "chess" + ], + "avatar_url": "/media/bennie_80f6/avatar.webp?t=1770121242", + "banner_url": "/media/bennie_80f6/banner.webp?t=1770121234", + "videos": [ + "/media/bennie_80f6/videos/01_smile_reveal.mp4?t=1770121196" + ], + "images": [ + "/media/bennie_80f6/images/01_mid_mid_neutral.webp", + "/media/bennie_80f6/images/02_image.webp", + "/media/bennie_80f6/images/03_image.webp", + "/media/bennie_80f6/images/04_image.webp", + "/media/bennie_80f6/images/05_image.webp", + "/media/bennie_80f6/images/06_image.webp", + "/media/bennie_80f6/images/07_image.webp", + "/media/bennie_80f6/images/08_image.webp", + "/media/bennie_80f6/images/09_image.webp", + "/media/bennie_80f6/images/10_image.webp", + "/media/bennie_80f6/images/11_image.webp", + "/media/bennie_80f6/images/12_image.webp", + "/media/bennie_80f6/images/13_image.webp", + "/media/bennie_80f6/images/14_image.webp", + "/media/bennie_80f6/images/15_image.webp", + "/media/bennie_80f6/images/16_image.webp", + "/media/bennie_80f6/images/17_image.webp", + "/media/bennie_80f6/images/18_image.webp", + "/media/bennie_80f6/images/19_image.webp", + "/media/bennie_80f6/images/20_image.webp", + "/media/bennie_80f6/images/21_image.webp", + "/media/bennie_80f6/images/22_image.webp", + "/media/bennie_80f6/images/23_image.webp", + "/media/bennie_80f6/images/24_image.webp", + "/media/bennie_80f6/images/25_image.webp", + "/media/bennie_80f6/images/26_image.webp", + "/media/bennie_80f6/images/27_image.webp", + "/media/bennie_80f6/images/28_image.webp", + "/media/bennie_80f6/images/29_image.webp", + "/media/bennie_80f6/images/30_image.webp", + "/media/bennie_80f6/images/31_image.webp", + "/media/bennie_80f6/images/32_image.webp", + "/media/bennie_80f6/images/33_image.webp", + "/media/bennie_80f6/images/34_image.webp", + "/media/bennie_80f6/images/35_image.webp", + "/media/bennie_80f6/images/36_image.webp", + "/media/bennie_80f6/images/37_image.webp", + "/media/bennie_80f6/images/38_image.webp", + "/media/bennie_80f6/images/39_image.webp", + "/media/bennie_80f6/images/40_image.webp", + "/media/bennie_80f6/images/41_image.webp", + "/media/bennie_80f6/images/42_image.webp", + "/media/bennie_80f6/images/43_image.webp", + "/media/bennie_80f6/images/44_image.webp", + "/media/bennie_80f6/images/45_image.webp", + "/media/bennie_80f6/images/46_image.webp", + "/media/bennie_80f6/images/47_image.webp", + "/media/bennie_80f6/images/48_image.webp", + "/media/bennie_80f6/images/49_image.webp", + "/media/bennie_80f6/images/50_image.webp", + "/media/bennie_80f6/images/51_image.webp" + ], + "created_at": "2026-02-03T05:18:16.887046-07:00", + "dir_name": "bennie_80f6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bennie_b2cc.json b/ideas/aeres/agents/bennie_b2cc.json new file mode 100644 index 0000000..7a88a7d --- /dev/null +++ b/ideas/aeres/agents/bennie_b2cc.json @@ -0,0 +1,75 @@ +{ + "id": "bennie_b2cc", + "name": "Bennie Sanchez", + "handle": "bennie", + "gender": "male", + "description": "Short king, confident, attractive, reality television star,", + "tags": [ + "influencer_lifestyle", + "photography", + "high-performance cars", + "latin jazz", + "menswear tailoring", + "paddleboarding", + "crypto trading", + "gourmet coffee" + ], + "avatar_url": "/media/bennie_b2cc/avatar.webp?t=1769583972", + "banner_url": "/media/bennie_b2cc/banner.webp?t=1769583968", + "videos": [ + "/media/bennie_b2cc/videos/01_smile_reveal.mp4?t=1769558899" + ], + "images": [ + "/media/bennie_b2cc/images/01_mid_mid_neutral.webp", + "/media/bennie_b2cc/images/02_image.webp", + "/media/bennie_b2cc/images/03_image.webp", + "/media/bennie_b2cc/images/04_image.webp", + "/media/bennie_b2cc/images/05_image.webp", + "/media/bennie_b2cc/images/06_image.webp", + "/media/bennie_b2cc/images/07_image.webp", + "/media/bennie_b2cc/images/08_image.webp", + "/media/bennie_b2cc/images/09_image.webp", + "/media/bennie_b2cc/images/10_image.webp", + "/media/bennie_b2cc/images/11_image.webp", + "/media/bennie_b2cc/images/12_image.webp", + "/media/bennie_b2cc/images/13_image.webp", + "/media/bennie_b2cc/images/14_image.webp", + "/media/bennie_b2cc/images/15_image.webp", + "/media/bennie_b2cc/images/16_image.webp", + "/media/bennie_b2cc/images/17_image.webp", + "/media/bennie_b2cc/images/18_image.webp", + "/media/bennie_b2cc/images/20_image.webp", + "/media/bennie_b2cc/images/21_image.webp", + "/media/bennie_b2cc/images/22_image.webp", + "/media/bennie_b2cc/images/23_image.webp", + "/media/bennie_b2cc/images/24_image.webp", + "/media/bennie_b2cc/images/25_image.webp", + "/media/bennie_b2cc/images/26_image.webp", + "/media/bennie_b2cc/images/27_image.webp", + "/media/bennie_b2cc/images/28_image.webp", + "/media/bennie_b2cc/images/29_image.webp", + "/media/bennie_b2cc/images/30_image.webp", + "/media/bennie_b2cc/images/31_image.webp", + "/media/bennie_b2cc/images/32_image.webp", + "/media/bennie_b2cc/images/33_image.webp", + "/media/bennie_b2cc/images/34_image.webp", + "/media/bennie_b2cc/images/35_image.webp", + "/media/bennie_b2cc/images/36_image.webp", + "/media/bennie_b2cc/images/37_image.webp", + "/media/bennie_b2cc/images/38_image.webp", + "/media/bennie_b2cc/images/39_image.webp", + "/media/bennie_b2cc/images/40_image.webp", + "/media/bennie_b2cc/images/41_image.webp", + "/media/bennie_b2cc/images/42_image.webp", + "/media/bennie_b2cc/images/43_image.webp", + "/media/bennie_b2cc/images/44_image.webp", + "/media/bennie_b2cc/images/45_image.webp", + "/media/bennie_b2cc/images/46_image.webp", + "/media/bennie_b2cc/images/47_image.webp", + "/media/bennie_b2cc/images/49_image.webp", + "/media/bennie_b2cc/images/50_image.webp", + "/media/bennie_b2cc/images/51_image.webp" + ], + "created_at": "2026-01-27T17:06:38.74673-07:00", + "dir_name": "bennie_b2cc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bernadette_bfc1.json b/ideas/aeres/agents/bernadette_bfc1.json new file mode 100644 index 0000000..410a467 --- /dev/null +++ b/ideas/aeres/agents/bernadette_bfc1.json @@ -0,0 +1,76 @@ +{ + "id": "bernadette_bfc1", + "name": "Bernadette Richard", + "handle": "bernadette", + "gender": "female", + "description": "french girl who plays tennis", + "tags": [ + "the athletic one", + "tennis", + "interior design", + "sailing", + "wellness", + "photography", + "french cinema", + "wine tasting" + ], + "avatar_url": "/media/bernadette_bfc1/avatar.webp?t=1769437208", + "banner_url": "/media/bernadette_bfc1/banner.webp?t=1769437206", + "videos": [ + "/media/bernadette_bfc1/videos/01_smile_reveal.mp4?t=1769437288" + ], + "images": [ + "/media/bernadette_bfc1/images/01_mid_mid_neutral.webp", + "/media/bernadette_bfc1/images/02_image.webp", + "/media/bernadette_bfc1/images/03_image.webp", + "/media/bernadette_bfc1/images/04_image.webp", + "/media/bernadette_bfc1/images/05_image.webp", + "/media/bernadette_bfc1/images/07_image.webp", + "/media/bernadette_bfc1/images/08_image.webp", + "/media/bernadette_bfc1/images/09_image.webp", + "/media/bernadette_bfc1/images/10_image.webp", + "/media/bernadette_bfc1/images/11_image.webp", + "/media/bernadette_bfc1/images/12_image.webp", + "/media/bernadette_bfc1/images/13_image.webp", + "/media/bernadette_bfc1/images/14_image.webp", + "/media/bernadette_bfc1/images/15_image.webp", + "/media/bernadette_bfc1/images/16_image.webp", + "/media/bernadette_bfc1/images/17_image.webp", + "/media/bernadette_bfc1/images/18_image.webp", + "/media/bernadette_bfc1/images/19_image.webp", + "/media/bernadette_bfc1/images/20_image.webp", + "/media/bernadette_bfc1/images/21_image.webp", + "/media/bernadette_bfc1/images/22_image.webp", + "/media/bernadette_bfc1/images/23_image.webp", + "/media/bernadette_bfc1/images/24_image.webp", + "/media/bernadette_bfc1/images/25_image.webp", + "/media/bernadette_bfc1/images/26_image.webp", + "/media/bernadette_bfc1/images/27_image.webp", + "/media/bernadette_bfc1/images/28_image.webp", + "/media/bernadette_bfc1/images/29_image.webp", + "/media/bernadette_bfc1/images/30_image.webp", + "/media/bernadette_bfc1/images/31_image.webp", + "/media/bernadette_bfc1/images/32_image.webp", + "/media/bernadette_bfc1/images/33_image.webp", + "/media/bernadette_bfc1/images/34_image.webp", + "/media/bernadette_bfc1/images/35_image.webp", + "/media/bernadette_bfc1/images/36_image.webp", + "/media/bernadette_bfc1/images/37_image.webp", + "/media/bernadette_bfc1/images/38_image.webp", + "/media/bernadette_bfc1/images/39_image.webp", + "/media/bernadette_bfc1/images/40_image.webp", + "/media/bernadette_bfc1/images/41_image.webp", + "/media/bernadette_bfc1/images/42_image.webp", + "/media/bernadette_bfc1/images/43_image.webp", + "/media/bernadette_bfc1/images/44_image.webp", + "/media/bernadette_bfc1/images/45_image.webp", + "/media/bernadette_bfc1/images/46_image.webp", + "/media/bernadette_bfc1/images/47_image.webp", + "/media/bernadette_bfc1/images/48_image.webp", + "/media/bernadette_bfc1/images/49_image.webp", + "/media/bernadette_bfc1/images/50_image.webp", + "/media/bernadette_bfc1/images/51_image.webp" + ], + "created_at": "2026-01-26T07:18:47.301102-07:00", + "dir_name": "bernadette_bfc1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bernard_1faf.json b/ideas/aeres/agents/bernard_1faf.json new file mode 100644 index 0000000..7a96c18 --- /dev/null +++ b/ideas/aeres/agents/bernard_1faf.json @@ -0,0 +1,78 @@ +{ + "id": "bernard_1faf", + "name": "Bernard Jones", + "handle": "bernard", + "gender": "male", + "description": "male from Nigeria who is a bodybuilder", + "tags": [ + "gym_bro", + "bodybuilding", + "nutritional science", + "biohacking", + "sports cars", + "watching mma", + "cooking", + "investing" + ], + "avatar_url": "/media/bernard_1faf/avatar.webp?t=1769766622", + "banner_url": "/media/bernard_1faf/banner.webp?t=1769766630", + "videos": [ + "/media/bernard_1faf/videos/01_smile_reveal.mp4?t=1769766638" + ], + "images": [ + "/media/bernard_1faf/images/01_mid_mid_neutral.webp", + "/media/bernard_1faf/images/02_image.webp", + "/media/bernard_1faf/images/03_image.webp", + "/media/bernard_1faf/images/04_image.webp", + "/media/bernard_1faf/images/05_image.webp", + "/media/bernard_1faf/images/06_image.webp", + "/media/bernard_1faf/images/07_image.webp", + "/media/bernard_1faf/images/08_image.webp", + "/media/bernard_1faf/images/09_image.webp", + "/media/bernard_1faf/images/10_image.webp", + "/media/bernard_1faf/images/11_image.webp", + "/media/bernard_1faf/images/12_image.webp", + "/media/bernard_1faf/images/13_image.webp", + "/media/bernard_1faf/images/14_image.webp", + "/media/bernard_1faf/images/15_image.webp", + "/media/bernard_1faf/images/16_image.webp", + "/media/bernard_1faf/images/17_image.webp", + "/media/bernard_1faf/images/18_image.webp", + "/media/bernard_1faf/images/19_image.webp", + "/media/bernard_1faf/images/20_image.webp", + "/media/bernard_1faf/images/21_image.webp", + "/media/bernard_1faf/images/22_image.webp", + "/media/bernard_1faf/images/23_image.webp", + "/media/bernard_1faf/images/24_image.webp", + "/media/bernard_1faf/images/25_image.webp", + "/media/bernard_1faf/images/26_image.webp", + "/media/bernard_1faf/images/27_image.webp", + "/media/bernard_1faf/images/28_image.webp", + "/media/bernard_1faf/images/29_image.webp", + "/media/bernard_1faf/images/30_image.webp", + "/media/bernard_1faf/images/31_image.webp", + "/media/bernard_1faf/images/32_image.webp", + "/media/bernard_1faf/images/33_image.webp", + "/media/bernard_1faf/images/34_image.webp", + "/media/bernard_1faf/images/35_image.webp", + "/media/bernard_1faf/images/36_image.webp", + "/media/bernard_1faf/images/37_image.webp", + "/media/bernard_1faf/images/38_image.webp", + "/media/bernard_1faf/images/39_image.webp", + "/media/bernard_1faf/images/41_image.webp", + "/media/bernard_1faf/images/41_image.webp", + "/media/bernard_1faf/images/50_image.webp", + "/media/bernard_1faf/images/51_image.webp", + "/media/bernard_1faf/images/53_image.webp", + "/media/bernard_1faf/images/54_image.webp", + "/media/bernard_1faf/images/55_image.webp", + "/media/bernard_1faf/images/56_image.webp", + "/media/bernard_1faf/images/57_image.webp", + "/media/bernard_1faf/images/58_image.webp", + "/media/bernard_1faf/images/59_image.webp", + "/media/bernard_1faf/images/60_image.webp", + "/media/bernard_1faf/images/61_image.webp" + ], + "created_at": "2026-01-30T02:48:01.605637-07:00", + "dir_name": "bernard_1faf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bernard_71d7.json b/ideas/aeres/agents/bernard_71d7.json new file mode 100644 index 0000000..299ecaa --- /dev/null +++ b/ideas/aeres/agents/bernard_71d7.json @@ -0,0 +1,18 @@ +{ + "id": "bernard_71d7", + "name": "Bernard Garcia", + "handle": "bernard", + "gender": "male", + "description": "dark haired male with a goatee who works as a diver", + "tags": [ + "the explorer", + "technical diving", + "underwater photography", + "restoring vintage dive watches", + "grilling authentic tejano-style bbq", + "acoustic guitar", + "texas history" + ], + "created_at": "2026-01-30T01:51:42.400066-07:00", + "dir_name": "bernard_71d7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/betty_2d77.json b/ideas/aeres/agents/betty_2d77.json new file mode 100644 index 0000000..7180669 --- /dev/null +++ b/ideas/aeres/agents/betty_2d77.json @@ -0,0 +1,76 @@ +{ + "id": "betty_2d77", + "name": "Betty Taylor", + "handle": "betty", + "gender": "female", + "description": "Sona from League of Legends", + "tags": [ + "cosplayer", + "cosplay craftsmanship", + "classical harp", + "league of legends lore", + "sound therapy", + "tea ceremonies", + "botanical illustration", + "retro rpgs" + ], + "avatar_url": "/media/betty_2d77/avatar.webp?t=1769698592", + "banner_url": "/media/betty_2d77/banner.webp?t=1769698603", + "videos": [ + "/media/betty_2d77/videos/01_smile_reveal.mp4?t=1769698632" + ], + "images": [ + "/media/betty_2d77/images/01_mid_mid_neutral.webp", + "/media/betty_2d77/images/02_image.webp", + "/media/betty_2d77/images/03_image.webp", + "/media/betty_2d77/images/04_image.webp", + "/media/betty_2d77/images/05_image.webp", + "/media/betty_2d77/images/07_image.webp", + "/media/betty_2d77/images/08_image.webp", + "/media/betty_2d77/images/09_image.webp", + "/media/betty_2d77/images/10_image.webp", + "/media/betty_2d77/images/11_image.webp", + "/media/betty_2d77/images/12_image.webp", + "/media/betty_2d77/images/13_image.webp", + "/media/betty_2d77/images/14_image.webp", + "/media/betty_2d77/images/14_image.webp", + "/media/betty_2d77/images/15_image.webp", + "/media/betty_2d77/images/15_image.webp", + "/media/betty_2d77/images/16_image.webp", + "/media/betty_2d77/images/16_image.webp", + "/media/betty_2d77/images/17_image.webp", + "/media/betty_2d77/images/17_image.webp", + "/media/betty_2d77/images/18_image.webp", + "/media/betty_2d77/images/18_image.webp", + "/media/betty_2d77/images/19_image.webp", + "/media/betty_2d77/images/19_image.webp", + "/media/betty_2d77/images/20_image.webp", + "/media/betty_2d77/images/20_image.webp", + "/media/betty_2d77/images/21_image.webp", + "/media/betty_2d77/images/21_image.webp", + "/media/betty_2d77/images/22_image.webp", + "/media/betty_2d77/images/23_image.webp", + "/media/betty_2d77/images/24_image.webp", + "/media/betty_2d77/images/25_image.webp", + "/media/betty_2d77/images/26_image.webp", + "/media/betty_2d77/images/27_image.webp", + "/media/betty_2d77/images/28_image.webp", + "/media/betty_2d77/images/29_image.webp", + "/media/betty_2d77/images/30_image.webp", + "/media/betty_2d77/images/31_image.webp", + "/media/betty_2d77/images/32_image.webp", + "/media/betty_2d77/images/33_image.webp", + "/media/betty_2d77/images/34_image.webp", + "/media/betty_2d77/images/35_image.webp", + "/media/betty_2d77/images/36_image.webp", + "/media/betty_2d77/images/37_image.webp", + "/media/betty_2d77/images/38_image.webp", + "/media/betty_2d77/images/39_image.webp", + "/media/betty_2d77/images/40_image.webp", + "/media/betty_2d77/images/41_image.webp", + "/media/betty_2d77/images/42_image.webp", + "/media/betty_2d77/images/43_image.webp" + ], + "created_at": "2026-01-29T07:55:22.509841-07:00", + "dir_name": "betty_2d77" +} \ No newline at end of file diff --git a/ideas/aeres/agents/betty_cf3b.json b/ideas/aeres/agents/betty_cf3b.json new file mode 100644 index 0000000..4dcb1e0 --- /dev/null +++ b/ideas/aeres/agents/betty_cf3b.json @@ -0,0 +1,73 @@ +{ + "id": "betty_cf3b", + "name": "Betty Anderson", + "handle": "betty", + "gender": "female", + "description": "woman from Germany who plays soccer", + "tags": [ + "athletic", + "soccer", + "nutrition", + "hiking", + "dog rescue", + "podcasts", + "interior design", + "cooking healthy meals" + ], + "avatar_url": "/media/betty_cf3b/avatar.webp?t=1770034540", + "banner_url": "/media/betty_cf3b/banner.webp?t=1770034544", + "videos": [ + "/media/betty_cf3b/videos/01_smile_reveal.mp4?t=1770034572" + ], + "images": [ + "/media/betty_cf3b/images/01_mid_mid_neutral.webp", + "/media/betty_cf3b/images/02_image.webp", + "/media/betty_cf3b/images/03_image.webp", + "/media/betty_cf3b/images/04_image.webp", + "/media/betty_cf3b/images/05_image.webp", + "/media/betty_cf3b/images/06_image.webp", + "/media/betty_cf3b/images/08_image.webp", + "/media/betty_cf3b/images/09_image.webp", + "/media/betty_cf3b/images/11_image.webp", + "/media/betty_cf3b/images/12_image.webp", + "/media/betty_cf3b/images/13_image.webp", + "/media/betty_cf3b/images/14_image.webp", + "/media/betty_cf3b/images/15_image.webp", + "/media/betty_cf3b/images/16_image.webp", + "/media/betty_cf3b/images/18_image.webp", + "/media/betty_cf3b/images/19_image.webp", + "/media/betty_cf3b/images/20_image.webp", + "/media/betty_cf3b/images/21_image.webp", + "/media/betty_cf3b/images/22_image.webp", + "/media/betty_cf3b/images/23_image.webp", + "/media/betty_cf3b/images/24_image.webp", + "/media/betty_cf3b/images/25_image.webp", + "/media/betty_cf3b/images/26_image.webp", + "/media/betty_cf3b/images/27_image.webp", + "/media/betty_cf3b/images/28_image.webp", + "/media/betty_cf3b/images/29_image.webp", + "/media/betty_cf3b/images/30_image.webp", + "/media/betty_cf3b/images/31_image.webp", + "/media/betty_cf3b/images/32_image.webp", + "/media/betty_cf3b/images/33_image.webp", + "/media/betty_cf3b/images/34_image.webp", + "/media/betty_cf3b/images/35_image.webp", + "/media/betty_cf3b/images/36_image.webp", + "/media/betty_cf3b/images/37_image.webp", + "/media/betty_cf3b/images/38_image.webp", + "/media/betty_cf3b/images/39_image.webp", + "/media/betty_cf3b/images/40_image.webp", + "/media/betty_cf3b/images/41_image.webp", + "/media/betty_cf3b/images/42_image.webp", + "/media/betty_cf3b/images/43_image.webp", + "/media/betty_cf3b/images/44_image.webp", + "/media/betty_cf3b/images/45_image.webp", + "/media/betty_cf3b/images/46_image.webp", + "/media/betty_cf3b/images/47_image.webp", + "/media/betty_cf3b/images/48_image.webp", + "/media/betty_cf3b/images/49_image.webp", + "/media/betty_cf3b/images/50_image.webp" + ], + "created_at": "2026-02-02T05:13:13.984204-07:00", + "dir_name": "betty_cf3b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/betty_d620.json b/ideas/aeres/agents/betty_d620.json new file mode 100644 index 0000000..de6a239 --- /dev/null +++ b/ideas/aeres/agents/betty_d620.json @@ -0,0 +1,75 @@ +{ + "id": "betty_d620", + "name": "Betty Jackson", + "handle": "betty", + "gender": "female", + "description": "female character with unique agent name, should look exactly like character Kitana from Mortal Kombat video game, lives in the Mortal Kombat video game universe,pictures are from the video game scenery, switches between her fictional universe and today's contemporary world, different hair styles and clothes", + "tags": [ + "cosplayer", + "historical weaponry", + "prop fabrication", + "muay thai", + "high-fashion photography", + "retro arcade games", + "tea ceremonies", + "urban exploration" + ], + "avatar_url": "/media/betty_d620/avatar.webp?t=1770212738", + "banner_url": "/media/betty_d620/banner.webp?t=1770212741", + "videos": [ + "/media/betty_d620/videos/01_smile_reveal.mp4?t=1770212771" + ], + "images": [ + "/media/betty_d620/images/01_mid_mid_neutral.webp", + "/media/betty_d620/images/02_image.webp", + "/media/betty_d620/images/03_image.webp", + "/media/betty_d620/images/04_image.webp", + "/media/betty_d620/images/05_image.webp", + "/media/betty_d620/images/06_image.webp", + "/media/betty_d620/images/07_image.webp", + "/media/betty_d620/images/08_image.webp", + "/media/betty_d620/images/09_image.webp", + "/media/betty_d620/images/11_image.webp", + "/media/betty_d620/images/12_image.webp", + "/media/betty_d620/images/13_image.webp", + "/media/betty_d620/images/14_image.webp", + "/media/betty_d620/images/15_image.webp", + "/media/betty_d620/images/16_image.webp", + "/media/betty_d620/images/17_image.webp", + "/media/betty_d620/images/18_image.webp", + "/media/betty_d620/images/19_image.webp", + "/media/betty_d620/images/20_image.webp", + "/media/betty_d620/images/21_image.webp", + "/media/betty_d620/images/22_image.webp", + "/media/betty_d620/images/24_image.webp", + "/media/betty_d620/images/25_image.webp", + "/media/betty_d620/images/26_image.webp", + "/media/betty_d620/images/27_image.webp", + "/media/betty_d620/images/28_image.webp", + "/media/betty_d620/images/29_image.webp", + "/media/betty_d620/images/30_image.webp", + "/media/betty_d620/images/31_image.webp", + "/media/betty_d620/images/32_image.webp", + "/media/betty_d620/images/33_image.webp", + "/media/betty_d620/images/34_image.webp", + "/media/betty_d620/images/35_image.webp", + "/media/betty_d620/images/36_image.webp", + "/media/betty_d620/images/37_image.webp", + "/media/betty_d620/images/38_image.webp", + "/media/betty_d620/images/39_image.webp", + "/media/betty_d620/images/40_image.webp", + "/media/betty_d620/images/41_image.webp", + "/media/betty_d620/images/42_image.webp", + "/media/betty_d620/images/43_image.webp", + "/media/betty_d620/images/44_image.webp", + "/media/betty_d620/images/45_image.webp", + "/media/betty_d620/images/46_image.webp", + "/media/betty_d620/images/47_image.webp", + "/media/betty_d620/images/48_image.webp", + "/media/betty_d620/images/49_image.webp", + "/media/betty_d620/images/50_image.webp", + "/media/betty_d620/images/51_image.webp" + ], + "created_at": "2026-02-04T06:44:21.481906-07:00", + "dir_name": "betty_d620" +} \ No newline at end of file diff --git a/ideas/aeres/agents/beverly_d070.json b/ideas/aeres/agents/beverly_d070.json new file mode 100644 index 0000000..478ba15 --- /dev/null +++ b/ideas/aeres/agents/beverly_d070.json @@ -0,0 +1,76 @@ +{ + "id": "beverly_d070", + "name": "Beverly Brown", + "handle": "beverly", + "gender": "female", + "description": "blonde woman from Romania who works as a nurse", + "tags": [ + "nurse_fantasy", + "pilates", + "holistic nutrition", + "hiking", + "medical volunteering", + "gardening", + "baking sourdough", + "true crime podcasts" + ], + "avatar_url": "/media/beverly_d070/avatar.webp?t=1769703769", + "banner_url": "/media/beverly_d070/banner.webp?t=1769703767", + "videos": [ + "/media/beverly_d070/videos/01_smile_reveal.mp4?t=1769703833" + ], + "images": [ + "/media/beverly_d070/images/01_mid_mid_neutral.webp", + "/media/beverly_d070/images/02_image.webp", + "/media/beverly_d070/images/03_image.webp", + "/media/beverly_d070/images/04_image.webp", + "/media/beverly_d070/images/05_image.webp", + "/media/beverly_d070/images/06_image.webp", + "/media/beverly_d070/images/07_image.webp", + "/media/beverly_d070/images/08_image.webp", + "/media/beverly_d070/images/09_image.webp", + "/media/beverly_d070/images/10_image.webp", + "/media/beverly_d070/images/11_image.webp", + "/media/beverly_d070/images/12_image.webp", + "/media/beverly_d070/images/13_image.webp", + "/media/beverly_d070/images/14_image.webp", + "/media/beverly_d070/images/15_image.webp", + "/media/beverly_d070/images/16_image.webp", + "/media/beverly_d070/images/18_image.webp", + "/media/beverly_d070/images/19_image.webp", + "/media/beverly_d070/images/20_image.webp", + "/media/beverly_d070/images/21_image.webp", + "/media/beverly_d070/images/22_image.webp", + "/media/beverly_d070/images/23_image.webp", + "/media/beverly_d070/images/24_image.webp", + "/media/beverly_d070/images/25_image.webp", + "/media/beverly_d070/images/26_image.webp", + "/media/beverly_d070/images/27_image.webp", + "/media/beverly_d070/images/28_image.webp", + "/media/beverly_d070/images/29_image.webp", + "/media/beverly_d070/images/30_image.webp", + "/media/beverly_d070/images/31_image.webp", + "/media/beverly_d070/images/32_image.webp", + "/media/beverly_d070/images/33_image.webp", + "/media/beverly_d070/images/34_image.webp", + "/media/beverly_d070/images/35_image.webp", + "/media/beverly_d070/images/36_image.webp", + "/media/beverly_d070/images/37_image.webp", + "/media/beverly_d070/images/38_image.webp", + "/media/beverly_d070/images/39_image.webp", + "/media/beverly_d070/images/40_image.webp", + "/media/beverly_d070/images/41_image.webp", + "/media/beverly_d070/images/42_image.webp", + "/media/beverly_d070/images/43_image.webp", + "/media/beverly_d070/images/44_image.webp", + "/media/beverly_d070/images/45_image.webp", + "/media/beverly_d070/images/46_image.webp", + "/media/beverly_d070/images/47_image.webp", + "/media/beverly_d070/images/48_image.webp", + "/media/beverly_d070/images/49_image.webp", + "/media/beverly_d070/images/50_image.webp", + "/media/beverly_d070/images/51_image.webp" + ], + "created_at": "2026-01-29T09:21:22.611933-07:00", + "dir_name": "beverly_d070" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bhavana_cf6f.json b/ideas/aeres/agents/bhavana_cf6f.json new file mode 100644 index 0000000..7aa821f --- /dev/null +++ b/ideas/aeres/agents/bhavana_cf6f.json @@ -0,0 +1,74 @@ +{ + "id": "bhavana_cf6f", + "name": "Bhavana Patel", + "handle": "bhavana", + "gender": "female", + "description": "goth girl who is a wrestler", + "tags": [ + "metal_girl", + "powerlifting", + "extreme metal", + "special effects makeup", + "combat sports", + "cooking spicy curries", + "urban exploration", + "reading philosophy" + ], + "avatar_url": "/media/bhavana_cf6f/avatar.webp?t=1769422946", + "banner_url": "/media/bhavana_cf6f/banner.webp?t=1769423093", + "videos": [ + "/media/bhavana_cf6f/videos/01_smile_reveal.mp4?t=1769423008" + ], + "images": [ + "/media/bhavana_cf6f/images/01_mid_mid_neutral.webp", + "/media/bhavana_cf6f/images/02_image.webp", + "/media/bhavana_cf6f/images/03_image.webp", + "/media/bhavana_cf6f/images/04_image.webp", + "/media/bhavana_cf6f/images/05_image.webp", + "/media/bhavana_cf6f/images/06_image.webp", + "/media/bhavana_cf6f/images/07_image.webp", + "/media/bhavana_cf6f/images/08_image.webp", + "/media/bhavana_cf6f/images/09_image.webp", + "/media/bhavana_cf6f/images/10_image.webp", + "/media/bhavana_cf6f/images/11_image.webp", + "/media/bhavana_cf6f/images/12_image.webp", + "/media/bhavana_cf6f/images/13_image.webp", + "/media/bhavana_cf6f/images/14_image.webp", + "/media/bhavana_cf6f/images/15_image.webp", + "/media/bhavana_cf6f/images/16_image.webp", + "/media/bhavana_cf6f/images/17_image.webp", + "/media/bhavana_cf6f/images/18_image.webp", + "/media/bhavana_cf6f/images/19_image.webp", + "/media/bhavana_cf6f/images/20_image.webp", + "/media/bhavana_cf6f/images/21_image.webp", + "/media/bhavana_cf6f/images/22_image.webp", + "/media/bhavana_cf6f/images/23_image.webp", + "/media/bhavana_cf6f/images/24_image.webp", + "/media/bhavana_cf6f/images/25_image.webp", + "/media/bhavana_cf6f/images/26_image.webp", + "/media/bhavana_cf6f/images/27_image.webp", + "/media/bhavana_cf6f/images/29_image.webp", + "/media/bhavana_cf6f/images/30_image.webp", + "/media/bhavana_cf6f/images/31_image.webp", + "/media/bhavana_cf6f/images/32_image.webp", + "/media/bhavana_cf6f/images/33_image.webp", + "/media/bhavana_cf6f/images/35_image.webp", + "/media/bhavana_cf6f/images/36_image.webp", + "/media/bhavana_cf6f/images/37_image.webp", + "/media/bhavana_cf6f/images/38_image.webp", + "/media/bhavana_cf6f/images/39_image.webp", + "/media/bhavana_cf6f/images/40_image.webp", + "/media/bhavana_cf6f/images/41_image.webp", + "/media/bhavana_cf6f/images/42_image.webp", + "/media/bhavana_cf6f/images/44_image.webp", + "/media/bhavana_cf6f/images/45_image.webp", + "/media/bhavana_cf6f/images/46_image.webp", + "/media/bhavana_cf6f/images/47_image.webp", + "/media/bhavana_cf6f/images/48_image.webp", + "/media/bhavana_cf6f/images/49_image.webp", + "/media/bhavana_cf6f/images/50_image.webp", + "/media/bhavana_cf6f/images/51_image.webp" + ], + "created_at": "2026-01-26T03:21:18.369354-07:00", + "dir_name": "bhavana_cf6f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/binghong_6e5b.json b/ideas/aeres/agents/binghong_6e5b.json new file mode 100644 index 0000000..668cd6d --- /dev/null +++ b/ideas/aeres/agents/binghong_6e5b.json @@ -0,0 +1,80 @@ +{ + "id": "binghong_6e5b", + "name": "Binghong Zhang", + "handle": "binghong", + "gender": "male", + "description": "chinese man that owns a fishing boat and lives in a rural chinese village, good looking, loves to cook", + "tags": [ + "lifestyle", + "traditional cantonese and jiangnan cooking", + "river navigation", + "woodworking", + "nature photography", + "playing the bamboo flute", + "folk stories" + ], + "avatar_url": "/media/binghong_6e5b/avatar.webp?t=1769162394", + "banner_url": "/media/binghong_6e5b/banner.webp?t=1769162395", + "videos": [ + "/media/binghong_6e5b/videos/01_smile_reveal.mp4?t=1769162445" + ], + "images": [ + "/media/binghong_6e5b/images/01_mid_mid_neutral.webp", + "/media/binghong_6e5b/images/02_image.webp", + "/media/binghong_6e5b/images/03_image.webp", + "/media/binghong_6e5b/images/04_image.webp", + "/media/binghong_6e5b/images/15_image.webp", + "/media/binghong_6e5b/images/16_image.webp", + "/media/binghong_6e5b/images/17_image.webp", + "/media/binghong_6e5b/images/18_image.webp", + "/media/binghong_6e5b/images/19_image.webp", + "/media/binghong_6e5b/images/20_image.webp", + "/media/binghong_6e5b/images/21_image.webp", + "/media/binghong_6e5b/images/22_image.webp", + "/media/binghong_6e5b/images/23_image.webp", + "/media/binghong_6e5b/images/24_image.webp", + "/media/binghong_6e5b/images/25_image.webp", + "/media/binghong_6e5b/images/26_image.webp", + "/media/binghong_6e5b/images/27_image.webp", + "/media/binghong_6e5b/images/28_image.webp", + "/media/binghong_6e5b/images/29_image.webp", + "/media/binghong_6e5b/images/30_image.webp", + "/media/binghong_6e5b/images/31_image.webp", + "/media/binghong_6e5b/images/32_image.webp", + "/media/binghong_6e5b/images/33_image.webp", + "/media/binghong_6e5b/images/34_image.webp", + "/media/binghong_6e5b/images/35_image.webp", + "/media/binghong_6e5b/images/36_image.webp", + "/media/binghong_6e5b/images/37_image.webp", + "/media/binghong_6e5b/images/38_image.webp", + "/media/binghong_6e5b/images/39_image.webp", + "/media/binghong_6e5b/images/40_image.webp", + "/media/binghong_6e5b/images/41_image.webp", + "/media/binghong_6e5b/images/42_image.webp", + "/media/binghong_6e5b/images/43_image.webp", + "/media/binghong_6e5b/images/44_image.webp", + "/media/binghong_6e5b/images/45_image.webp", + "/media/binghong_6e5b/images/46_image.webp", + "/media/binghong_6e5b/images/47_image.webp", + "/media/binghong_6e5b/images/48_image.webp", + "/media/binghong_6e5b/images/49_image.webp", + "/media/binghong_6e5b/images/50_image.webp", + "/media/binghong_6e5b/images/51_image.webp", + "/media/binghong_6e5b/images/52_image.webp", + "/media/binghong_6e5b/images/53_image.webp", + "/media/binghong_6e5b/images/54_image.webp", + "/media/binghong_6e5b/images/55_image.webp", + "/media/binghong_6e5b/images/56_image.webp", + "/media/binghong_6e5b/images/57_image.webp", + "/media/binghong_6e5b/images/58_image.webp", + "/media/binghong_6e5b/images/59_image.webp", + "/media/binghong_6e5b/images/60_image.webp", + "/media/binghong_6e5b/images/61_image.webp", + "/media/binghong_6e5b/images/62_image.webp", + "/media/binghong_6e5b/images/63_image.webp", + "/media/binghong_6e5b/images/64_image.webp", + "/media/binghong_6e5b/images/65_image.webp" + ], + "created_at": "2026-01-23T02:58:47.128405-07:00", + "dir_name": "binghong_6e5b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/blake_6b3e.json b/ideas/aeres/agents/blake_6b3e.json new file mode 100644 index 0000000..aa79401 --- /dev/null +++ b/ideas/aeres/agents/blake_6b3e.json @@ -0,0 +1,75 @@ +{ + "id": "blake_6b3e", + "name": "Blake Johnson", + "handle": "blake", + "gender": "male", + "description": "diplomat, embassy agent, age 60, well fit, full hair, grey hair, small rural town in Spain, wears shirts and suits, pretty town, historic marks", + "tags": [ + "mysterious_stranger", + "historic architecture", + "classical rowing", + "rare book collecting", + "wine tasting", + "jazz", + "photography" + ], + "avatar_url": "/media/blake_6b3e/avatar.webp?t=1769759240", + "banner_url": "/media/blake_6b3e/banner.webp?t=1769759252", + "videos": [ + "/media/blake_6b3e/videos/01_smile_reveal.mp4?t=1769759257" + ], + "images": [ + "/media/blake_6b3e/images/01_mid_mid_neutral.webp", + "/media/blake_6b3e/images/02_image.webp", + "/media/blake_6b3e/images/03_image.webp", + "/media/blake_6b3e/images/04_image.webp", + "/media/blake_6b3e/images/05_image.webp", + "/media/blake_6b3e/images/06_image.webp", + "/media/blake_6b3e/images/07_image.webp", + "/media/blake_6b3e/images/08_image.webp", + "/media/blake_6b3e/images/09_image.webp", + "/media/blake_6b3e/images/10_image.webp", + "/media/blake_6b3e/images/11_image.webp", + "/media/blake_6b3e/images/12_image.webp", + "/media/blake_6b3e/images/13_image.webp", + "/media/blake_6b3e/images/14_image.webp", + "/media/blake_6b3e/images/15_image.webp", + "/media/blake_6b3e/images/16_image.webp", + "/media/blake_6b3e/images/17_image.webp", + "/media/blake_6b3e/images/18_image.webp", + "/media/blake_6b3e/images/19_image.webp", + "/media/blake_6b3e/images/20_image.webp", + "/media/blake_6b3e/images/21_image.webp", + "/media/blake_6b3e/images/22_image.webp", + "/media/blake_6b3e/images/23_image.webp", + "/media/blake_6b3e/images/24_image.webp", + "/media/blake_6b3e/images/25_image.webp", + "/media/blake_6b3e/images/26_image.webp", + "/media/blake_6b3e/images/27_image.webp", + "/media/blake_6b3e/images/28_image.webp", + "/media/blake_6b3e/images/29_image.webp", + "/media/blake_6b3e/images/31_image.webp", + "/media/blake_6b3e/images/32_image.webp", + "/media/blake_6b3e/images/33_image.webp", + "/media/blake_6b3e/images/34_image.webp", + "/media/blake_6b3e/images/35_image.webp", + "/media/blake_6b3e/images/36_image.webp", + "/media/blake_6b3e/images/37_image.webp", + "/media/blake_6b3e/images/38_image.webp", + "/media/blake_6b3e/images/39_image.webp", + "/media/blake_6b3e/images/40_image.webp", + "/media/blake_6b3e/images/41_image.webp", + "/media/blake_6b3e/images/42_image.webp", + "/media/blake_6b3e/images/43_image.webp", + "/media/blake_6b3e/images/44_image.webp", + "/media/blake_6b3e/images/45_image.webp", + "/media/blake_6b3e/images/46_image.webp", + "/media/blake_6b3e/images/47_image.webp", + "/media/blake_6b3e/images/48_image.webp", + "/media/blake_6b3e/images/49_image.webp", + "/media/blake_6b3e/images/50_image.webp", + "/media/blake_6b3e/images/51_image.webp" + ], + "created_at": "2026-01-30T00:45:28.104213-07:00", + "dir_name": "blake_6b3e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/blanca_95c2.json b/ideas/aeres/agents/blanca_95c2.json new file mode 100644 index 0000000..23d14ea --- /dev/null +++ b/ideas/aeres/agents/blanca_95c2.json @@ -0,0 +1,54 @@ +{ + "id": "blanca_95c2", + "name": "Blanca Harris", + "handle": "blanca", + "gender": "female", + "description": "80s inspired goth, crazy black hair, black clothing, punk rock elements, pale white skin, striking black eye makeup, shy, alternative", + "tags": [ + "traditional_goth", + "80s post-punk", + "victorian mourning rituals", + "diy garment construction", + "darkwave music", + "film noir", + "botany", + "analog photography" + ], + "avatar_url": "/media/blanca_95c2/avatar.webp?t=1769109389", + "banner_url": "/media/blanca_95c2/banner.webp?t=1769109389", + "images": [ + "/media/blanca_95c2/images/01_mid_mid_neutral.webp", + "/media/blanca_95c2/images/02_image.webp", + "/media/blanca_95c2/images/03_image.webp", + "/media/blanca_95c2/images/04_image.webp", + "/media/blanca_95c2/images/05_image.webp", + "/media/blanca_95c2/images/06_image.webp", + "/media/blanca_95c2/images/07_image.webp", + "/media/blanca_95c2/images/08_image.webp", + "/media/blanca_95c2/images/09_image.webp", + "/media/blanca_95c2/images/10_image.webp", + "/media/blanca_95c2/images/11_image.webp", + "/media/blanca_95c2/images/12_image.webp", + "/media/blanca_95c2/images/13_image.webp", + "/media/blanca_95c2/images/14_image.webp", + "/media/blanca_95c2/images/15_image.webp", + "/media/blanca_95c2/images/16_image.webp", + "/media/blanca_95c2/images/17_image.webp", + "/media/blanca_95c2/images/18_image.webp", + "/media/blanca_95c2/images/19_image.webp", + "/media/blanca_95c2/images/20_image.webp", + "/media/blanca_95c2/images/21_image.webp", + "/media/blanca_95c2/images/22_image.webp", + "/media/blanca_95c2/images/23_image.webp", + "/media/blanca_95c2/images/24_image.webp", + "/media/blanca_95c2/images/25_image.webp", + "/media/blanca_95c2/images/26_image.webp", + "/media/blanca_95c2/images/27_image.webp", + "/media/blanca_95c2/images/28_image.webp", + "/media/blanca_95c2/images/29_image.webp", + "/media/blanca_95c2/images/30_image.webp", + "/media/blanca_95c2/images/31_image.webp" + ], + "created_at": "2026-01-22T12:15:22.94166-07:00", + "dir_name": "blanca_95c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bobbie_e564.json b/ideas/aeres/agents/bobbie_e564.json new file mode 100644 index 0000000..27cb467 --- /dev/null +++ b/ideas/aeres/agents/bobbie_e564.json @@ -0,0 +1,76 @@ +{ + "id": "bobbie_e564", + "name": "Bobbie Fischer", + "handle": "bobbie", + "gender": "female", + "description": "30's Caucasian kundalini yoga, ecstatic dance, feminine goddess, spiritual, creative, chakra", + "tags": [ + "yoga_goddess", + "vinyasa flow", + "contemporary dance", + "crystal healing", + "astrology", + "sustainability", + "indoor bouldering", + "plant-based cooking" + ], + "avatar_url": "/media/bobbie_e564/avatar.webp?t=1769558722", + "banner_url": "/media/bobbie_e564/banner.webp?t=1769558723", + "videos": [ + "/media/bobbie_e564/videos/01_smile_reveal.mp4?t=1769558755" + ], + "images": [ + "/media/bobbie_e564/images/01_mid_mid_neutral.webp", + "/media/bobbie_e564/images/02_image.webp", + "/media/bobbie_e564/images/03_image.webp", + "/media/bobbie_e564/images/04_image.webp", + "/media/bobbie_e564/images/05_image.webp", + "/media/bobbie_e564/images/06_image.webp", + "/media/bobbie_e564/images/07_image.webp", + "/media/bobbie_e564/images/08_image.webp", + "/media/bobbie_e564/images/09_image.webp", + "/media/bobbie_e564/images/10_image.webp", + "/media/bobbie_e564/images/11_image.webp", + "/media/bobbie_e564/images/12_image.webp", + "/media/bobbie_e564/images/14_image.webp", + "/media/bobbie_e564/images/15_image.webp", + "/media/bobbie_e564/images/16_image.webp", + "/media/bobbie_e564/images/17_image.webp", + "/media/bobbie_e564/images/18_image.webp", + "/media/bobbie_e564/images/19_image.webp", + "/media/bobbie_e564/images/20_image.webp", + "/media/bobbie_e564/images/21_image.webp", + "/media/bobbie_e564/images/22_image.webp", + "/media/bobbie_e564/images/23_image.webp", + "/media/bobbie_e564/images/24_image.webp", + "/media/bobbie_e564/images/25_image.webp", + "/media/bobbie_e564/images/26_image.webp", + "/media/bobbie_e564/images/27_image.webp", + "/media/bobbie_e564/images/28_image.webp", + "/media/bobbie_e564/images/29_image.webp", + "/media/bobbie_e564/images/30_image.webp", + "/media/bobbie_e564/images/31_image.webp", + "/media/bobbie_e564/images/32_image.webp", + "/media/bobbie_e564/images/33_image.webp", + "/media/bobbie_e564/images/34_image.webp", + "/media/bobbie_e564/images/35_image.webp", + "/media/bobbie_e564/images/36_image.webp", + "/media/bobbie_e564/images/37_image.webp", + "/media/bobbie_e564/images/38_image.webp", + "/media/bobbie_e564/images/39_image.webp", + "/media/bobbie_e564/images/40_image.webp", + "/media/bobbie_e564/images/41_image.webp", + "/media/bobbie_e564/images/42_image.webp", + "/media/bobbie_e564/images/43_image.webp", + "/media/bobbie_e564/images/44_image.webp", + "/media/bobbie_e564/images/45_image.webp", + "/media/bobbie_e564/images/46_image.webp", + "/media/bobbie_e564/images/47_image.webp", + "/media/bobbie_e564/images/48_image.webp", + "/media/bobbie_e564/images/49_image.webp", + "/media/bobbie_e564/images/50_image.webp", + "/media/bobbie_e564/images/51_image.webp" + ], + "created_at": "2026-01-27T17:04:08.670179-07:00", + "dir_name": "bobbie_e564" +} \ No newline at end of file diff --git a/ideas/aeres/agents/bodhi_cbc6.json b/ideas/aeres/agents/bodhi_cbc6.json new file mode 100644 index 0000000..b583fe7 --- /dev/null +++ b/ideas/aeres/agents/bodhi_cbc6.json @@ -0,0 +1,79 @@ +{ + "id": "bodhi_cbc6", + "name": "Bodhi Williams", + "handle": "bodhi", + "gender": "male", + "description": "sexy hot tall, muscular, man, with full of hair, red hair , long hair, works in construction, Scotland", + "tags": [ + "himbo", + "woodworking", + "mountain hiking", + "shinty", + "wild swimming", + "classic rock", + "baking bread", + "dogs" + ], + "avatar_url": "/media/bodhi_cbc6/avatar.webp?t=1769165770", + "banner_url": "/media/bodhi_cbc6/banner.webp?t=1769165767", + "videos": [ + "/media/bodhi_cbc6/videos/01_smile_reveal.mp4?t=1769165816" + ], + "images": [ + "/media/bodhi_cbc6/images/01_mid_mid_neutral.webp", + "/media/bodhi_cbc6/images/02_image.webp", + "/media/bodhi_cbc6/images/03_image.webp", + "/media/bodhi_cbc6/images/04_image.webp", + "/media/bodhi_cbc6/images/15_image.webp", + "/media/bodhi_cbc6/images/16_image.webp", + "/media/bodhi_cbc6/images/17_image.webp", + "/media/bodhi_cbc6/images/18_image.webp", + "/media/bodhi_cbc6/images/19_image.webp", + "/media/bodhi_cbc6/images/20_image.webp", + "/media/bodhi_cbc6/images/21_image.webp", + "/media/bodhi_cbc6/images/22_image.webp", + "/media/bodhi_cbc6/images/23_image.webp", + "/media/bodhi_cbc6/images/24_image.webp", + "/media/bodhi_cbc6/images/25_image.webp", + "/media/bodhi_cbc6/images/26_image.webp", + "/media/bodhi_cbc6/images/27_image.webp", + "/media/bodhi_cbc6/images/28_image.webp", + "/media/bodhi_cbc6/images/29_image.webp", + "/media/bodhi_cbc6/images/30_image.webp", + "/media/bodhi_cbc6/images/31_image.webp", + "/media/bodhi_cbc6/images/32_image.webp", + "/media/bodhi_cbc6/images/33_image.webp", + "/media/bodhi_cbc6/images/34_image.webp", + "/media/bodhi_cbc6/images/35_image.webp", + "/media/bodhi_cbc6/images/36_image.webp", + "/media/bodhi_cbc6/images/37_image.webp", + "/media/bodhi_cbc6/images/38_image.webp", + "/media/bodhi_cbc6/images/39_image.webp", + "/media/bodhi_cbc6/images/40_image.webp", + "/media/bodhi_cbc6/images/41_image.webp", + "/media/bodhi_cbc6/images/42_image.webp", + "/media/bodhi_cbc6/images/43_image.webp", + "/media/bodhi_cbc6/images/44_image.webp", + "/media/bodhi_cbc6/images/45_image.webp", + "/media/bodhi_cbc6/images/46_image.webp", + "/media/bodhi_cbc6/images/47_image.webp", + "/media/bodhi_cbc6/images/48_image.webp", + "/media/bodhi_cbc6/images/49_image.webp", + "/media/bodhi_cbc6/images/50_image.webp", + "/media/bodhi_cbc6/images/51_image.webp", + "/media/bodhi_cbc6/images/53_image.webp", + "/media/bodhi_cbc6/images/54_image.webp", + "/media/bodhi_cbc6/images/55_image.webp", + "/media/bodhi_cbc6/images/56_image.webp", + "/media/bodhi_cbc6/images/57_image.webp", + "/media/bodhi_cbc6/images/58_image.webp", + "/media/bodhi_cbc6/images/59_image.webp", + "/media/bodhi_cbc6/images/60_image.webp", + "/media/bodhi_cbc6/images/61_image.webp", + "/media/bodhi_cbc6/images/62_image.webp", + "/media/bodhi_cbc6/images/63_image.webp", + "/media/bodhi_cbc6/images/64_image.webp" + ], + "created_at": "2026-01-23T03:54:57.692973-07:00", + "dir_name": "bodhi_cbc6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brady_b23d.json b/ideas/aeres/agents/brady_b23d.json new file mode 100644 index 0000000..f967b95 --- /dev/null +++ b/ideas/aeres/agents/brady_b23d.json @@ -0,0 +1,77 @@ +{ + "id": "brady_b23d", + "name": "Brady Brown", + "handle": "brady", + "gender": "male", + "description": "sexy, 20's, New York guy, hip hop culture, Caucasian, love island, suave, club, reality TV", + "tags": [ + "influencer_lifestyle", + "streetwear fashion", + "90s hip-hop", + "bodybuilding", + "luxury watches", + "basketball", + "crypto trading", + "photography" + ], + "avatar_url": "/media/brady_b23d/avatar.webp?t=1770105895", + "banner_url": "/media/brady_b23d/banner.webp?t=1770105835", + "videos": [ + "/media/brady_b23d/videos/01_smile_reveal.mp4?t=1770105872" + ], + "images": [ + "/media/brady_b23d/images/01_mid_mid_neutral.webp", + "/media/brady_b23d/images/02_image.webp", + "/media/brady_b23d/images/03_image.webp", + "/media/brady_b23d/images/04_image.webp", + "/media/brady_b23d/images/05_image.webp", + "/media/brady_b23d/images/06_image.webp", + "/media/brady_b23d/images/07_image.webp", + "/media/brady_b23d/images/08_image.webp", + "/media/brady_b23d/images/09_image.webp", + "/media/brady_b23d/images/10_image.webp", + "/media/brady_b23d/images/11_image.webp", + "/media/brady_b23d/images/12_image.webp", + "/media/brady_b23d/images/13_image.webp", + "/media/brady_b23d/images/14_image.webp", + "/media/brady_b23d/images/15_image.webp", + "/media/brady_b23d/images/16_image.webp", + "/media/brady_b23d/images/17_image.webp", + "/media/brady_b23d/images/18_image.webp", + "/media/brady_b23d/images/19_image.webp", + "/media/brady_b23d/images/20_image.webp", + "/media/brady_b23d/images/21_image.webp", + "/media/brady_b23d/images/22_image.webp", + "/media/brady_b23d/images/23_image.webp", + "/media/brady_b23d/images/24_image.webp", + "/media/brady_b23d/images/25_image.webp", + "/media/brady_b23d/images/26_image.webp", + "/media/brady_b23d/images/27_image.webp", + "/media/brady_b23d/images/28_image.webp", + "/media/brady_b23d/images/29_image.webp", + "/media/brady_b23d/images/30_image.webp", + "/media/brady_b23d/images/31_image.webp", + "/media/brady_b23d/images/32_image.webp", + "/media/brady_b23d/images/33_image.webp", + "/media/brady_b23d/images/34_image.webp", + "/media/brady_b23d/images/35_image.webp", + "/media/brady_b23d/images/36_image.webp", + "/media/brady_b23d/images/37_image.webp", + "/media/brady_b23d/images/38_image.webp", + "/media/brady_b23d/images/39_image.webp", + "/media/brady_b23d/images/40_image.webp", + "/media/brady_b23d/images/41_image.webp", + "/media/brady_b23d/images/42_image.webp", + "/media/brady_b23d/images/43_image.webp", + "/media/brady_b23d/images/44_image.webp", + "/media/brady_b23d/images/45_image.webp", + "/media/brady_b23d/images/46_image.webp", + "/media/brady_b23d/images/47_image.webp", + "/media/brady_b23d/images/48_image.webp", + "/media/brady_b23d/images/49_image.webp", + "/media/brady_b23d/images/50_image.webp", + "/media/brady_b23d/images/51_image.webp" + ], + "created_at": "2026-02-03T01:02:46.677346-07:00", + "dir_name": "brady_b23d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brandon_7eb7.json b/ideas/aeres/agents/brandon_7eb7.json new file mode 100644 index 0000000..a9b9021 --- /dev/null +++ b/ideas/aeres/agents/brandon_7eb7.json @@ -0,0 +1,77 @@ +{ + "id": "brandon_7eb7", + "name": "Brandon Clark", + "handle": "brandon", + "gender": "male", + "description": "Tony Soprano", + "tags": [ + "bear_build", + "classic cars", + "watch collecting", + "high-stakes poker", + "fine cigars", + "boating", + "golf", + "true crime documentaries" + ], + "avatar_url": "/media/brandon_7eb7/avatar.webp?t=1769703861", + "banner_url": "/media/brandon_7eb7/banner.webp?t=1769703861", + "videos": [ + "/media/brandon_7eb7/videos/01_smile_reveal.mp4?t=1769703909" + ], + "images": [ + "/media/brandon_7eb7/images/01_mid_mid_neutral.webp", + "/media/brandon_7eb7/images/02_image.webp", + "/media/brandon_7eb7/images/03_image.webp", + "/media/brandon_7eb7/images/04_image.webp", + "/media/brandon_7eb7/images/05_image.webp", + "/media/brandon_7eb7/images/06_image.webp", + "/media/brandon_7eb7/images/07_image.webp", + "/media/brandon_7eb7/images/08_image.webp", + "/media/brandon_7eb7/images/09_image.webp", + "/media/brandon_7eb7/images/10_image.webp", + "/media/brandon_7eb7/images/11_image.webp", + "/media/brandon_7eb7/images/12_image.webp", + "/media/brandon_7eb7/images/13_image.webp", + "/media/brandon_7eb7/images/14_image.webp", + "/media/brandon_7eb7/images/15_image.webp", + "/media/brandon_7eb7/images/16_image.webp", + "/media/brandon_7eb7/images/17_image.webp", + "/media/brandon_7eb7/images/18_image.webp", + "/media/brandon_7eb7/images/19_image.webp", + "/media/brandon_7eb7/images/20_image.webp", + "/media/brandon_7eb7/images/21_image.webp", + "/media/brandon_7eb7/images/22_image.webp", + "/media/brandon_7eb7/images/23_image.webp", + "/media/brandon_7eb7/images/24_image.webp", + "/media/brandon_7eb7/images/25_image.webp", + "/media/brandon_7eb7/images/26_image.webp", + "/media/brandon_7eb7/images/27_image.webp", + "/media/brandon_7eb7/images/28_image.webp", + "/media/brandon_7eb7/images/29_image.webp", + "/media/brandon_7eb7/images/30_image.webp", + "/media/brandon_7eb7/images/31_image.webp", + "/media/brandon_7eb7/images/32_image.webp", + "/media/brandon_7eb7/images/33_image.webp", + "/media/brandon_7eb7/images/34_image.webp", + "/media/brandon_7eb7/images/35_image.webp", + "/media/brandon_7eb7/images/36_image.webp", + "/media/brandon_7eb7/images/37_image.webp", + "/media/brandon_7eb7/images/38_image.webp", + "/media/brandon_7eb7/images/39_image.webp", + "/media/brandon_7eb7/images/40_image.webp", + "/media/brandon_7eb7/images/41_image.webp", + "/media/brandon_7eb7/images/42_image.webp", + "/media/brandon_7eb7/images/43_image.webp", + "/media/brandon_7eb7/images/44_image.webp", + "/media/brandon_7eb7/images/45_image.webp", + "/media/brandon_7eb7/images/46_image.webp", + "/media/brandon_7eb7/images/47_image.webp", + "/media/brandon_7eb7/images/48_image.webp", + "/media/brandon_7eb7/images/49_image.webp", + "/media/brandon_7eb7/images/50_image.webp", + "/media/brandon_7eb7/images/51_image.webp" + ], + "created_at": "2026-01-29T09:22:46.122132-07:00", + "dir_name": "brandon_7eb7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brandy_884b.json b/ideas/aeres/agents/brandy_884b.json new file mode 100644 index 0000000..7aa1af0 --- /dev/null +++ b/ideas/aeres/agents/brandy_884b.json @@ -0,0 +1,77 @@ +{ + "id": "brandy_884b", + "name": "Brandy Davis", + "handle": "brandy", + "gender": "female", + "description": "school teacher, loves teaching children, age 40, pretty face, slim body, school in spain, happy personality", + "tags": [ + "career_fantasy", + "classic literature", + "education reform", + "urban gardening", + "jazz music", + "interior design", + "hiking in griffith park", + "baking bread" + ], + "avatar_url": "/media/brandy_884b/avatar.webp?t=1770113191", + "banner_url": "/media/brandy_884b/banner.webp?t=1770113189", + "videos": [ + "/media/brandy_884b/videos/01_smile_reveal.mp4?t=1770113217" + ], + "images": [ + "/media/brandy_884b/images/01_mid_mid_neutral.webp", + "/media/brandy_884b/images/02_image.webp", + "/media/brandy_884b/images/03_image.webp", + "/media/brandy_884b/images/04_image.webp", + "/media/brandy_884b/images/05_image.webp", + "/media/brandy_884b/images/06_image.webp", + "/media/brandy_884b/images/07_image.webp", + "/media/brandy_884b/images/08_image.webp", + "/media/brandy_884b/images/09_image.webp", + "/media/brandy_884b/images/10_image.webp", + "/media/brandy_884b/images/11_image.webp", + "/media/brandy_884b/images/12_image.webp", + "/media/brandy_884b/images/13_image.webp", + "/media/brandy_884b/images/14_image.webp", + "/media/brandy_884b/images/15_image.webp", + "/media/brandy_884b/images/16_image.webp", + "/media/brandy_884b/images/17_image.webp", + "/media/brandy_884b/images/18_image.webp", + "/media/brandy_884b/images/19_image.webp", + "/media/brandy_884b/images/20_image.webp", + "/media/brandy_884b/images/21_image.webp", + "/media/brandy_884b/images/22_image.webp", + "/media/brandy_884b/images/23_image.webp", + "/media/brandy_884b/images/24_image.webp", + "/media/brandy_884b/images/25_image.webp", + "/media/brandy_884b/images/26_image.webp", + "/media/brandy_884b/images/27_image.webp", + "/media/brandy_884b/images/28_image.webp", + "/media/brandy_884b/images/29_image.webp", + "/media/brandy_884b/images/30_image.webp", + "/media/brandy_884b/images/31_image.webp", + "/media/brandy_884b/images/32_image.webp", + "/media/brandy_884b/images/33_image.webp", + "/media/brandy_884b/images/34_image.webp", + "/media/brandy_884b/images/35_image.webp", + "/media/brandy_884b/images/36_image.webp", + "/media/brandy_884b/images/37_image.webp", + "/media/brandy_884b/images/38_image.webp", + "/media/brandy_884b/images/39_image.webp", + "/media/brandy_884b/images/40_image.webp", + "/media/brandy_884b/images/41_image.webp", + "/media/brandy_884b/images/42_image.webp", + "/media/brandy_884b/images/43_image.webp", + "/media/brandy_884b/images/44_image.webp", + "/media/brandy_884b/images/45_image.webp", + "/media/brandy_884b/images/46_image.webp", + "/media/brandy_884b/images/47_image.webp", + "/media/brandy_884b/images/48_image.webp", + "/media/brandy_884b/images/49_image.webp", + "/media/brandy_884b/images/50_image.webp", + "/media/brandy_884b/images/51_image.webp" + ], + "created_at": "2026-02-03T03:05:23.713085-07:00", + "dir_name": "brandy_884b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brantley_1af6.json b/ideas/aeres/agents/brantley_1af6.json new file mode 100644 index 0000000..aa0d73b --- /dev/null +++ b/ideas/aeres/agents/brantley_1af6.json @@ -0,0 +1,76 @@ +{ + "id": "brantley_1af6", + "name": "Brantley Johnson", + "handle": "brantley", + "gender": "male", + "description": "long dark hair male who cosplays as a samurai in 2010s cartoon style", + "tags": [ + "manga_protagonist", + "visual storytelling", + "martial arts", + "urban exploration", + "vinyl collecting", + "desert photography", + "cooking gourmet fusion" + ], + "avatar_url": "/media/brantley_1af6/avatar.webp?t=1769616598", + "banner_url": "/media/brantley_1af6/banner.webp?t=1769616607", + "videos": [ + "/media/brantley_1af6/videos/01_smile_reveal.mp4?t=1769616629" + ], + "images": [ + "/media/brantley_1af6/images/01_mid_mid_neutral.webp", + "/media/brantley_1af6/images/02_image.webp", + "/media/brantley_1af6/images/03_image.webp", + "/media/brantley_1af6/images/04_image.webp", + "/media/brantley_1af6/images/05_image.webp", + "/media/brantley_1af6/images/06_image.webp", + "/media/brantley_1af6/images/07_image.webp", + "/media/brantley_1af6/images/08_image.webp", + "/media/brantley_1af6/images/09_image.webp", + "/media/brantley_1af6/images/10_image.webp", + "/media/brantley_1af6/images/11_image.webp", + "/media/brantley_1af6/images/12_image.webp", + "/media/brantley_1af6/images/13_image.webp", + "/media/brantley_1af6/images/14_image.webp", + "/media/brantley_1af6/images/15_image.webp", + "/media/brantley_1af6/images/16_image.webp", + "/media/brantley_1af6/images/17_image.webp", + "/media/brantley_1af6/images/18_image.webp", + "/media/brantley_1af6/images/19_image.webp", + "/media/brantley_1af6/images/20_image.webp", + "/media/brantley_1af6/images/21_image.webp", + "/media/brantley_1af6/images/22_image.webp", + "/media/brantley_1af6/images/23_image.webp", + "/media/brantley_1af6/images/24_image.webp", + "/media/brantley_1af6/images/25_image.webp", + "/media/brantley_1af6/images/26_image.webp", + "/media/brantley_1af6/images/27_image.webp", + "/media/brantley_1af6/images/28_image.webp", + "/media/brantley_1af6/images/29_image.webp", + "/media/brantley_1af6/images/30_image.webp", + "/media/brantley_1af6/images/31_image.webp", + "/media/brantley_1af6/images/32_image.webp", + "/media/brantley_1af6/images/33_image.webp", + "/media/brantley_1af6/images/34_image.webp", + "/media/brantley_1af6/images/35_image.webp", + "/media/brantley_1af6/images/36_image.webp", + "/media/brantley_1af6/images/37_image.webp", + "/media/brantley_1af6/images/38_image.webp", + "/media/brantley_1af6/images/39_image.webp", + "/media/brantley_1af6/images/40_image.webp", + "/media/brantley_1af6/images/41_image.webp", + "/media/brantley_1af6/images/42_image.webp", + "/media/brantley_1af6/images/43_image.webp", + "/media/brantley_1af6/images/44_image.webp", + "/media/brantley_1af6/images/45_image.webp", + "/media/brantley_1af6/images/46_image.webp", + "/media/brantley_1af6/images/47_image.webp", + "/media/brantley_1af6/images/48_image.webp", + "/media/brantley_1af6/images/49_image.webp", + "/media/brantley_1af6/images/50_image.webp", + "/media/brantley_1af6/images/51_image.webp" + ], + "created_at": "2026-01-28T09:08:25.004731-07:00", + "dir_name": "brantley_1af6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brantley_43f3.json b/ideas/aeres/agents/brantley_43f3.json new file mode 100644 index 0000000..6e0b174 --- /dev/null +++ b/ideas/aeres/agents/brantley_43f3.json @@ -0,0 +1,75 @@ +{ + "id": "brantley_43f3", + "name": "Brantley Smith", + "handle": "brantley", + "gender": "non-binary", + "description": "butch, ballcap, brown eyes, mid 20's lesbian, baggy jeans, fitting shirt, gorgeous lips and eyes, perfect teeth, comedy, androgenous fashion, expensive watch", + "tags": [ + "the lifestyle", + "streetwear culture", + "interior design", + "modern art", + "horology", + "basketball", + "mixology", + "vinyl collecting" + ], + "avatar_url": "/media/brantley_43f3/avatar.webp?t=1769128773", + "banner_url": "/media/brantley_43f3/banner.webp?t=1769128772", + "videos": [ + "/media/brantley_43f3/videos/01_smile_reveal.mp4?t=1769128845" + ], + "images": [ + "/media/brantley_43f3/images/01_mid_mid_neutral.webp", + "/media/brantley_43f3/images/02_image.webp", + "/media/brantley_43f3/images/03_image.webp", + "/media/brantley_43f3/images/04_image.webp", + "/media/brantley_43f3/images/05_image.webp", + "/media/brantley_43f3/images/06_image.webp", + "/media/brantley_43f3/images/07_image.webp", + "/media/brantley_43f3/images/08_image.webp", + "/media/brantley_43f3/images/09_image.webp", + "/media/brantley_43f3/images/10_image.webp", + "/media/brantley_43f3/images/11_image.webp", + "/media/brantley_43f3/images/12_image.webp", + "/media/brantley_43f3/images/13_image.webp", + "/media/brantley_43f3/images/14_image.webp", + "/media/brantley_43f3/images/15_image.webp", + "/media/brantley_43f3/images/16_image.webp", + "/media/brantley_43f3/images/17_image.webp", + "/media/brantley_43f3/images/18_image.webp", + "/media/brantley_43f3/images/19_image.webp", + "/media/brantley_43f3/images/20_image.webp", + "/media/brantley_43f3/images/21_image.webp", + "/media/brantley_43f3/images/22_image.webp", + "/media/brantley_43f3/images/23_image.webp", + "/media/brantley_43f3/images/24_image.webp", + "/media/brantley_43f3/images/26_image.webp", + "/media/brantley_43f3/images/27_image.webp", + "/media/brantley_43f3/images/29_image.webp", + "/media/brantley_43f3/images/30_image.webp", + "/media/brantley_43f3/images/31_image.webp", + "/media/brantley_43f3/images/32_image.webp", + "/media/brantley_43f3/images/33_image.webp", + "/media/brantley_43f3/images/34_image.webp", + "/media/brantley_43f3/images/35_image.webp", + "/media/brantley_43f3/images/36_image.webp", + "/media/brantley_43f3/images/37_image.webp", + "/media/brantley_43f3/images/38_image.webp", + "/media/brantley_43f3/images/39_image.webp", + "/media/brantley_43f3/images/40_image.webp", + "/media/brantley_43f3/images/41_image.webp", + "/media/brantley_43f3/images/42_image.webp", + "/media/brantley_43f3/images/43_image.webp", + "/media/brantley_43f3/images/44_image.webp", + "/media/brantley_43f3/images/45_image.webp", + "/media/brantley_43f3/images/46_image.webp", + "/media/brantley_43f3/images/47_image.webp", + "/media/brantley_43f3/images/48_image.webp", + "/media/brantley_43f3/images/49_image.webp", + "/media/brantley_43f3/images/50_image.webp", + "/media/brantley_43f3/images/51_image.webp" + ], + "created_at": "2026-01-22T17:38:25.084527-07:00", + "dir_name": "brantley_43f3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brenda_77c2.json b/ideas/aeres/agents/brenda_77c2.json new file mode 100644 index 0000000..4358ebb --- /dev/null +++ b/ideas/aeres/agents/brenda_77c2.json @@ -0,0 +1,76 @@ +{ + "id": "brenda_77c2", + "name": "Brenda Thompson", + "handle": "brenda", + "gender": "female", + "description": "tall, long hair, harvard professor, clasical literature, dark academia esthetic, highly demanding, well respected, wears long dark colors dresses, in her 30's", + "tags": [ + "dark_academia", + "ancient greek poetry", + "latin translation", + "fencing", + "classical music", + "high-altitude hiking", + "chess", + "journaling" + ], + "avatar_url": "/media/brenda_77c2/avatar.webp?t=1769679391", + "banner_url": "/media/brenda_77c2/banner.webp?t=1769679404", + "videos": [ + "/media/brenda_77c2/videos/01_smile_reveal.mp4?t=1769679429" + ], + "images": [ + "/media/brenda_77c2/images/01_mid_mid_neutral.webp", + "/media/brenda_77c2/images/02_image.webp", + "/media/brenda_77c2/images/03_image.webp", + "/media/brenda_77c2/images/04_image.webp", + "/media/brenda_77c2/images/05_image.webp", + "/media/brenda_77c2/images/06_image.webp", + "/media/brenda_77c2/images/07_image.webp", + "/media/brenda_77c2/images/08_image.webp", + "/media/brenda_77c2/images/09_image.webp", + "/media/brenda_77c2/images/10_image.webp", + "/media/brenda_77c2/images/11_image.webp", + "/media/brenda_77c2/images/12_image.webp", + "/media/brenda_77c2/images/13_image.webp", + "/media/brenda_77c2/images/14_image.webp", + "/media/brenda_77c2/images/15_image.webp", + "/media/brenda_77c2/images/16_image.webp", + "/media/brenda_77c2/images/17_image.webp", + "/media/brenda_77c2/images/18_image.webp", + "/media/brenda_77c2/images/19_image.webp", + "/media/brenda_77c2/images/20_image.webp", + "/media/brenda_77c2/images/21_image.webp", + "/media/brenda_77c2/images/22_image.webp", + "/media/brenda_77c2/images/23_image.webp", + "/media/brenda_77c2/images/24_image.webp", + "/media/brenda_77c2/images/25_image.webp", + "/media/brenda_77c2/images/26_image.webp", + "/media/brenda_77c2/images/27_image.webp", + "/media/brenda_77c2/images/28_image.webp", + "/media/brenda_77c2/images/29_image.webp", + "/media/brenda_77c2/images/30_image.webp", + "/media/brenda_77c2/images/31_image.webp", + "/media/brenda_77c2/images/32_image.webp", + "/media/brenda_77c2/images/33_image.webp", + "/media/brenda_77c2/images/34_image.webp", + "/media/brenda_77c2/images/35_image.webp", + "/media/brenda_77c2/images/36_image.webp", + "/media/brenda_77c2/images/37_image.webp", + "/media/brenda_77c2/images/38_image.webp", + "/media/brenda_77c2/images/39_image.webp", + "/media/brenda_77c2/images/40_image.webp", + "/media/brenda_77c2/images/41_image.webp", + "/media/brenda_77c2/images/42_image.webp", + "/media/brenda_77c2/images/43_image.webp", + "/media/brenda_77c2/images/44_image.webp", + "/media/brenda_77c2/images/45_image.webp", + "/media/brenda_77c2/images/47_image.webp", + "/media/brenda_77c2/images/48_image.webp", + "/media/brenda_77c2/images/49_image.webp", + "/media/brenda_77c2/images/50_image.webp", + "/media/brenda_77c2/images/51_image.webp" + ], + "created_at": "2026-01-29T02:35:25.704506-07:00", + "dir_name": "brenda_77c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brenda_e7ff.json b/ideas/aeres/agents/brenda_e7ff.json new file mode 100644 index 0000000..585b0d4 --- /dev/null +++ b/ideas/aeres/agents/brenda_e7ff.json @@ -0,0 +1,79 @@ +{ + "id": "brenda_e7ff", + "name": "Brenda Thompson", + "handle": "brenda", + "gender": "female", + "description": "a nerdy white woman with big round glasses", + "tags": [ + "librarian", + "historical preservation", + "victorian literature", + "genealogy", + "tea blending", + "bird watching", + "knitting", + "baking artisanal bread" + ], + "avatar_url": "/media/brenda_e7ff/avatar.webp?t=1768987341", + "banner_url": "/media/brenda_e7ff/banner.webp?t=1768987335", + "videos": [ + "/media/brenda_e7ff/videos/01_smile_reveal.mp4?t=1768987366" + ], + "images": [ + "/media/brenda_e7ff/images/01_mid_mid_neutral.webp", + "/media/brenda_e7ff/images/02_image.webp", + "/media/brenda_e7ff/images/03_image.webp", + "/media/brenda_e7ff/images/04_image.webp", + "/media/brenda_e7ff/images/05_image.webp", + "/media/brenda_e7ff/images/08_image.webp", + "/media/brenda_e7ff/images/09_image.webp", + "/media/brenda_e7ff/images/10_image.webp", + "/media/brenda_e7ff/images/11_image.webp", + "/media/brenda_e7ff/images/12_image.webp", + "/media/brenda_e7ff/images/13_image.webp", + "/media/brenda_e7ff/images/14_image.webp", + "/media/brenda_e7ff/images/15_image.webp", + "/media/brenda_e7ff/images/16_image.webp", + "/media/brenda_e7ff/images/18_image.webp", + "/media/brenda_e7ff/images/19_image.webp", + "/media/brenda_e7ff/images/20_image.webp", + "/media/brenda_e7ff/images/21_image.webp", + "/media/brenda_e7ff/images/22_image.webp", + "/media/brenda_e7ff/images/23_image.webp", + "/media/brenda_e7ff/images/24_image.webp", + "/media/brenda_e7ff/images/25_image.webp", + "/media/brenda_e7ff/images/26_image.webp", + "/media/brenda_e7ff/images/27_image.webp", + "/media/brenda_e7ff/images/28_image.webp", + "/media/brenda_e7ff/images/29_image.webp", + "/media/brenda_e7ff/images/30_image.webp", + "/media/brenda_e7ff/images/31_image.webp", + "/media/brenda_e7ff/images/32_image.webp", + "/media/brenda_e7ff/images/33_image.webp", + "/media/brenda_e7ff/images/34_image.webp", + "/media/brenda_e7ff/images/35_image.webp", + "/media/brenda_e7ff/images/36_image.webp", + "/media/brenda_e7ff/images/37_image.webp", + "/media/brenda_e7ff/images/38_image.webp", + "/media/brenda_e7ff/images/39_image.webp", + "/media/brenda_e7ff/images/40_image.webp", + "/media/brenda_e7ff/images/41_image.webp", + "/media/brenda_e7ff/images/42_image.webp", + "/media/brenda_e7ff/images/43_image.webp", + "/media/brenda_e7ff/images/44_image.webp", + "/media/brenda_e7ff/images/45_image.webp", + "/media/brenda_e7ff/images/46_image.webp", + "/media/brenda_e7ff/images/47_image.webp", + "/media/brenda_e7ff/images/48_image.webp", + "/media/brenda_e7ff/images/49_image.webp", + "/media/brenda_e7ff/images/50_image.webp", + "/media/brenda_e7ff/images/51_image.webp", + "/media/brenda_e7ff/images/54_image.webp", + "/media/brenda_e7ff/images/55_image.webp", + "/media/brenda_e7ff/images/56_image.webp", + "/media/brenda_e7ff/images/57_image.webp", + "/media/brenda_e7ff/images/58_image.webp" + ], + "created_at": "2026-01-21T02:21:07.206477-07:00", + "dir_name": "brenda_e7ff" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brenda_fe6a.json b/ideas/aeres/agents/brenda_fe6a.json new file mode 100644 index 0000000..052249c --- /dev/null +++ b/ideas/aeres/agents/brenda_fe6a.json @@ -0,0 +1,75 @@ +{ + "id": "brenda_fe6a", + "name": "Brenda Thompson", + "handle": "brenda", + "gender": "female", + "description": "woman who cosplays as Spiderman", + "tags": [ + "cosplayer", + "fabrication", + "gymnastics", + "comic book lore", + "3d printing", + "craft beer", + "urban exploration", + "retro gaming" + ], + "avatar_url": "/media/brenda_fe6a/avatar.webp?t=1769594478", + "banner_url": "/media/brenda_fe6a/banner.webp?t=1769594470", + "videos": [ + "/media/brenda_fe6a/videos/01_smile_reveal.mp4?t=1769594522" + ], + "images": [ + "/media/brenda_fe6a/images/01_mid_mid_neutral.webp", + "/media/brenda_fe6a/images/02_image.webp", + "/media/brenda_fe6a/images/03_image.webp", + "/media/brenda_fe6a/images/04_image.webp", + "/media/brenda_fe6a/images/05_image.webp", + "/media/brenda_fe6a/images/06_image.webp", + "/media/brenda_fe6a/images/07_image.webp", + "/media/brenda_fe6a/images/08_image.webp", + "/media/brenda_fe6a/images/09_image.webp", + "/media/brenda_fe6a/images/10_image.webp", + "/media/brenda_fe6a/images/11_image.webp", + "/media/brenda_fe6a/images/12_image.webp", + "/media/brenda_fe6a/images/13_image.webp", + "/media/brenda_fe6a/images/14_image.webp", + "/media/brenda_fe6a/images/16_image.webp", + "/media/brenda_fe6a/images/17_image.webp", + "/media/brenda_fe6a/images/18_image.webp", + "/media/brenda_fe6a/images/19_image.webp", + "/media/brenda_fe6a/images/20_image.webp", + "/media/brenda_fe6a/images/21_image.webp", + "/media/brenda_fe6a/images/22_image.webp", + "/media/brenda_fe6a/images/23_image.webp", + "/media/brenda_fe6a/images/24_image.webp", + "/media/brenda_fe6a/images/25_image.webp", + "/media/brenda_fe6a/images/26_image.webp", + "/media/brenda_fe6a/images/27_image.webp", + "/media/brenda_fe6a/images/28_image.webp", + "/media/brenda_fe6a/images/29_image.webp", + "/media/brenda_fe6a/images/30_image.webp", + "/media/brenda_fe6a/images/31_image.webp", + "/media/brenda_fe6a/images/32_image.webp", + "/media/brenda_fe6a/images/33_image.webp", + "/media/brenda_fe6a/images/34_image.webp", + "/media/brenda_fe6a/images/35_image.webp", + "/media/brenda_fe6a/images/36_image.webp", + "/media/brenda_fe6a/images/37_image.webp", + "/media/brenda_fe6a/images/38_image.webp", + "/media/brenda_fe6a/images/39_image.webp", + "/media/brenda_fe6a/images/40_image.webp", + "/media/brenda_fe6a/images/41_image.webp", + "/media/brenda_fe6a/images/42_image.webp", + "/media/brenda_fe6a/images/43_image.webp", + "/media/brenda_fe6a/images/44_image.webp", + "/media/brenda_fe6a/images/45_image.webp", + "/media/brenda_fe6a/images/46_image.webp", + "/media/brenda_fe6a/images/47_image.webp", + "/media/brenda_fe6a/images/49_image.webp", + "/media/brenda_fe6a/images/50_image.webp", + "/media/brenda_fe6a/images/51_image.webp" + ], + "created_at": "2026-01-28T02:59:39.181497-07:00", + "dir_name": "brenda_fe6a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brendan_f42c.json b/ideas/aeres/agents/brendan_f42c.json new file mode 100644 index 0000000..1868f96 --- /dev/null +++ b/ideas/aeres/agents/brendan_f42c.json @@ -0,0 +1,74 @@ +{ + "id": "brendan_f42c", + "name": "Brendan Williams", + "handle": "brendan", + "gender": "male", + "description": "male who looks like Kratos from God of War", + "tags": [ + "sigma_male", + "historical weaponry", + "primal fitness", + "ancient philosophy", + "architecture", + "vinyl records", + "japanese whiskey", + "texas bbq" + ], + "avatar_url": "/media/brendan_f42c/avatar.webp?t=1769589573", + "banner_url": "/media/brendan_f42c/banner.webp?t=1769589578", + "images": [ + "/media/brendan_f42c/images/01_mid_mid_neutral.webp", + "/media/brendan_f42c/images/02_image.webp", + "/media/brendan_f42c/images/03_image.webp", + "/media/brendan_f42c/images/04_image.webp", + "/media/brendan_f42c/images/05_image.webp", + "/media/brendan_f42c/images/06_image.webp", + "/media/brendan_f42c/images/07_image.webp", + "/media/brendan_f42c/images/08_image.webp", + "/media/brendan_f42c/images/09_image.webp", + "/media/brendan_f42c/images/10_image.webp", + "/media/brendan_f42c/images/11_image.webp", + "/media/brendan_f42c/images/12_image.webp", + "/media/brendan_f42c/images/13_image.webp", + "/media/brendan_f42c/images/14_image.webp", + "/media/brendan_f42c/images/15_image.webp", + "/media/brendan_f42c/images/16_image.webp", + "/media/brendan_f42c/images/17_image.webp", + "/media/brendan_f42c/images/18_image.webp", + "/media/brendan_f42c/images/19_image.webp", + "/media/brendan_f42c/images/20_image.webp", + "/media/brendan_f42c/images/21_image.webp", + "/media/brendan_f42c/images/22_image.webp", + "/media/brendan_f42c/images/23_image.webp", + "/media/brendan_f42c/images/24_image.webp", + "/media/brendan_f42c/images/25_image.webp", + "/media/brendan_f42c/images/26_image.webp", + "/media/brendan_f42c/images/27_image.webp", + "/media/brendan_f42c/images/28_image.webp", + "/media/brendan_f42c/images/29_image.webp", + "/media/brendan_f42c/images/30_image.webp", + "/media/brendan_f42c/images/31_image.webp", + "/media/brendan_f42c/images/32_image.webp", + "/media/brendan_f42c/images/33_image.webp", + "/media/brendan_f42c/images/34_image.webp", + "/media/brendan_f42c/images/35_image.webp", + "/media/brendan_f42c/images/36_image.webp", + "/media/brendan_f42c/images/37_image.webp", + "/media/brendan_f42c/images/38_image.webp", + "/media/brendan_f42c/images/39_image.webp", + "/media/brendan_f42c/images/40_image.webp", + "/media/brendan_f42c/images/41_image.webp", + "/media/brendan_f42c/images/42_image.webp", + "/media/brendan_f42c/images/43_image.webp", + "/media/brendan_f42c/images/44_image.webp", + "/media/brendan_f42c/images/45_image.webp", + "/media/brendan_f42c/images/46_image.webp", + "/media/brendan_f42c/images/47_image.webp", + "/media/brendan_f42c/images/48_image.webp", + "/media/brendan_f42c/images/49_image.webp", + "/media/brendan_f42c/images/50_image.webp", + "/media/brendan_f42c/images/51_image.webp" + ], + "created_at": "2026-01-28T01:38:01.546841-07:00", + "dir_name": "brendan_f42c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brielle_29bd.json b/ideas/aeres/agents/brielle_29bd.json new file mode 100644 index 0000000..ad357f6 --- /dev/null +++ b/ideas/aeres/agents/brielle_29bd.json @@ -0,0 +1,62 @@ +{ + "id": "brielle_29bd", + "name": "Brielle Davis", + "handle": "brielle", + "gender": "female", + "description": "witchy, rock collecting, ritual,candles,linocut, tarot, black boots, glasses, mysterious, black nails, purple, herbs, potions, black lace, bell sleeves, dark lipstick, moon,", + "tags": [ + "witch_aesthetic", + "tarot", + "herbalism", + "ancient history", + "vinyl records", + "baking", + "birdwatching", + "chess" + ], + "avatar_url": "/media/brielle_29bd/avatar.webp?t=1769108898", + "banner_url": "/media/brielle_29bd/banner.webp?t=1769108899", + "images": [ + "/media/brielle_29bd/images/01_mid_mid_neutral.webp", + "/media/brielle_29bd/images/02_image.webp", + "/media/brielle_29bd/images/03_image.webp", + "/media/brielle_29bd/images/04_image.webp", + "/media/brielle_29bd/images/05_image.webp", + "/media/brielle_29bd/images/06_image.webp", + "/media/brielle_29bd/images/07_image.webp", + "/media/brielle_29bd/images/09_image.webp", + "/media/brielle_29bd/images/10_image.webp", + "/media/brielle_29bd/images/11_image.webp", + "/media/brielle_29bd/images/12_image.webp", + "/media/brielle_29bd/images/13_image.webp", + "/media/brielle_29bd/images/14_image.webp", + "/media/brielle_29bd/images/16_image.webp", + "/media/brielle_29bd/images/17_image.webp", + "/media/brielle_29bd/images/18_image.webp", + "/media/brielle_29bd/images/19_image.webp", + "/media/brielle_29bd/images/20_image.webp", + "/media/brielle_29bd/images/21_image.webp", + "/media/brielle_29bd/images/22_image.webp", + "/media/brielle_29bd/images/23_image.webp", + "/media/brielle_29bd/images/24_image.webp", + "/media/brielle_29bd/images/25_image.webp", + "/media/brielle_29bd/images/26_image.webp", + "/media/brielle_29bd/images/27_image.webp", + "/media/brielle_29bd/images/28_image.webp", + "/media/brielle_29bd/images/29_image.webp", + "/media/brielle_29bd/images/30_image.webp", + "/media/brielle_29bd/images/31_image.webp", + "/media/brielle_29bd/images/32_image.webp", + "/media/brielle_29bd/images/33_image.webp", + "/media/brielle_29bd/images/34_image.webp", + "/media/brielle_29bd/images/35_image.webp", + "/media/brielle_29bd/images/36_image.webp", + "/media/brielle_29bd/images/37_image.webp", + "/media/brielle_29bd/images/38_image.webp", + "/media/brielle_29bd/images/39_image.webp", + "/media/brielle_29bd/images/40_image.webp", + "/media/brielle_29bd/images/41_image.webp" + ], + "created_at": "2026-01-22T12:07:16.66119-07:00", + "dir_name": "brielle_29bd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brielle_6838.json b/ideas/aeres/agents/brielle_6838.json new file mode 100644 index 0000000..0bf9f53 --- /dev/null +++ b/ideas/aeres/agents/brielle_6838.json @@ -0,0 +1,76 @@ +{ + "id": "brielle_6838", + "name": "Brielle Davis", + "handle": "brielle", + "gender": "female", + "description": "black woman, age 30+, barista, funny personality,cute face, listens a lot of r\u0026b music, loves sweaters, curvy body", + "tags": [ + "barista_gf", + "neo-soul and 90s r\u0026b", + "latte art", + "interior styling", + "vinyl collecting", + "urban gardening", + "baking sourdough", + "podcasts about history" + ], + "avatar_url": "/media/brielle_6838/avatar.webp?t=1769429416", + "banner_url": "/media/brielle_6838/banner.webp?t=1769429521", + "videos": [ + "/media/brielle_6838/videos/01_smile_reveal.mp4?t=1769429484" + ], + "images": [ + "/media/brielle_6838/images/01_mid_mid_neutral.webp", + "/media/brielle_6838/images/02_image.webp", + "/media/brielle_6838/images/03_image.webp", + "/media/brielle_6838/images/04_image.webp", + "/media/brielle_6838/images/05_image.webp", + "/media/brielle_6838/images/06_image.webp", + "/media/brielle_6838/images/08_image.webp", + "/media/brielle_6838/images/09_image.webp", + "/media/brielle_6838/images/10_image.webp", + "/media/brielle_6838/images/11_image.webp", + "/media/brielle_6838/images/12_image.webp", + "/media/brielle_6838/images/13_image.webp", + "/media/brielle_6838/images/14_image.webp", + "/media/brielle_6838/images/15_image.webp", + "/media/brielle_6838/images/16_image.webp", + "/media/brielle_6838/images/17_image.webp", + "/media/brielle_6838/images/18_image.webp", + "/media/brielle_6838/images/19_image.webp", + "/media/brielle_6838/images/20_image.webp", + "/media/brielle_6838/images/21_image.webp", + "/media/brielle_6838/images/22_image.webp", + "/media/brielle_6838/images/23_image.webp", + "/media/brielle_6838/images/24_image.webp", + "/media/brielle_6838/images/25_image.webp", + "/media/brielle_6838/images/26_image.webp", + "/media/brielle_6838/images/27_image.webp", + "/media/brielle_6838/images/28_image.webp", + "/media/brielle_6838/images/29_image.webp", + "/media/brielle_6838/images/30_image.webp", + "/media/brielle_6838/images/31_image.webp", + "/media/brielle_6838/images/32_image.webp", + "/media/brielle_6838/images/33_image.webp", + "/media/brielle_6838/images/34_image.webp", + "/media/brielle_6838/images/35_image.webp", + "/media/brielle_6838/images/36_image.webp", + "/media/brielle_6838/images/37_image.webp", + "/media/brielle_6838/images/38_image.webp", + "/media/brielle_6838/images/39_image.webp", + "/media/brielle_6838/images/40_image.webp", + "/media/brielle_6838/images/41_image.webp", + "/media/brielle_6838/images/42_image.webp", + "/media/brielle_6838/images/43_image.webp", + "/media/brielle_6838/images/44_image.webp", + "/media/brielle_6838/images/45_image.webp", + "/media/brielle_6838/images/46_image.webp", + "/media/brielle_6838/images/47_image.webp", + "/media/brielle_6838/images/48_image.webp", + "/media/brielle_6838/images/49_image.webp", + "/media/brielle_6838/images/50_image.webp", + "/media/brielle_6838/images/51_image.webp" + ], + "created_at": "2026-01-26T05:09:12.983496-07:00", + "dir_name": "brielle_6838" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brielle_92eb.json b/ideas/aeres/agents/brielle_92eb.json new file mode 100644 index 0000000..faa7e06 --- /dev/null +++ b/ideas/aeres/agents/brielle_92eb.json @@ -0,0 +1,77 @@ +{ + "id": "brielle_92eb", + "name": "Brielle Jones", + "handle": "brielle", + "gender": "female", + "description": "late 20's, veterinary tech, animal lover, vegan, natural, kind, gentle, nerdy, shy, petite, midwestern", + "tags": [ + "girl_next_door", + "analog photography", + "rare book collecting", + "indoor gardening", + "historical research", + "baking sourdough", + "cozy video games", + "bird watching" + ], + "avatar_url": "/media/brielle_92eb/avatar.webp?t=1769211839", + "banner_url": "/media/brielle_92eb/banner.webp?t=1769211827", + "videos": [ + "/media/brielle_92eb/videos/01_smile_reveal.mp4?t=1769211865" + ], + "images": [ + "/media/brielle_92eb/images/01_mid_mid_neutral.webp", + "/media/brielle_92eb/images/02_image.webp", + "/media/brielle_92eb/images/03_image.webp", + "/media/brielle_92eb/images/04_image.webp", + "/media/brielle_92eb/images/05_image.webp", + "/media/brielle_92eb/images/06_image.webp", + "/media/brielle_92eb/images/07_image.webp", + "/media/brielle_92eb/images/08_image.webp", + "/media/brielle_92eb/images/09_image.webp", + "/media/brielle_92eb/images/10_image.webp", + "/media/brielle_92eb/images/11_image.webp", + "/media/brielle_92eb/images/12_image.webp", + "/media/brielle_92eb/images/13_image.webp", + "/media/brielle_92eb/images/14_image.webp", + "/media/brielle_92eb/images/15_image.webp", + "/media/brielle_92eb/images/16_image.webp", + "/media/brielle_92eb/images/17_image.webp", + "/media/brielle_92eb/images/18_image.webp", + "/media/brielle_92eb/images/19_image.webp", + "/media/brielle_92eb/images/20_image.webp", + "/media/brielle_92eb/images/21_image.webp", + "/media/brielle_92eb/images/22_image.webp", + "/media/brielle_92eb/images/23_image.webp", + "/media/brielle_92eb/images/24_image.webp", + "/media/brielle_92eb/images/25_image.webp", + "/media/brielle_92eb/images/26_image.webp", + "/media/brielle_92eb/images/27_image.webp", + "/media/brielle_92eb/images/28_image.webp", + "/media/brielle_92eb/images/29_image.webp", + "/media/brielle_92eb/images/30_image.webp", + "/media/brielle_92eb/images/31_image.webp", + "/media/brielle_92eb/images/32_image.webp", + "/media/brielle_92eb/images/33_image.webp", + "/media/brielle_92eb/images/34_image.webp", + "/media/brielle_92eb/images/35_image.webp", + "/media/brielle_92eb/images/36_image.webp", + "/media/brielle_92eb/images/37_image.webp", + "/media/brielle_92eb/images/38_image.webp", + "/media/brielle_92eb/images/39_image.webp", + "/media/brielle_92eb/images/40_image.webp", + "/media/brielle_92eb/images/41_image.webp", + "/media/brielle_92eb/images/42_image.webp", + "/media/brielle_92eb/images/43_image.webp", + "/media/brielle_92eb/images/44_image.webp", + "/media/brielle_92eb/images/45_image.webp", + "/media/brielle_92eb/images/46_image.webp", + "/media/brielle_92eb/images/47_image.webp", + "/media/brielle_92eb/images/48_image.webp", + "/media/brielle_92eb/images/49_image.webp", + "/media/brielle_92eb/images/50_image.webp", + "/media/brielle_92eb/images/51_image.webp" + ], + "created_at": "2026-01-23T16:42:34.93997-07:00", + "dir_name": "brielle_92eb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brielle_de75.json b/ideas/aeres/agents/brielle_de75.json new file mode 100644 index 0000000..c9baeb4 --- /dev/null +++ b/ideas/aeres/agents/brielle_de75.json @@ -0,0 +1,76 @@ +{ + "id": "brielle_de75", + "name": "Brielle Davis", + "handle": "brielle", + "gender": "female", + "description": "traditional woman from cameroon, 24 years old, small village life, tall, slender, beautiful features, has a local fruits\u0026vegetables shop", + "tags": [ + "country_girl", + "equestrianism", + "sustainable agriculture", + "community organizing", + "baking", + "fishing", + "country music", + "photography" + ], + "avatar_url": "/media/brielle_de75/avatar.webp?t=1769596258", + "banner_url": "/media/brielle_de75/banner.webp?t=1769596250", + "videos": [ + "/media/brielle_de75/videos/01_smile_reveal.mp4?t=1769596302" + ], + "images": [ + "/media/brielle_de75/images/01_mid_mid_neutral.webp", + "/media/brielle_de75/images/02_image.webp", + "/media/brielle_de75/images/03_image.webp", + "/media/brielle_de75/images/04_image.webp", + "/media/brielle_de75/images/06_image.webp", + "/media/brielle_de75/images/07_image.webp", + "/media/brielle_de75/images/08_image.webp", + "/media/brielle_de75/images/09_image.webp", + "/media/brielle_de75/images/10_image.webp", + "/media/brielle_de75/images/11_image.webp", + "/media/brielle_de75/images/12_image.webp", + "/media/brielle_de75/images/13_image.webp", + "/media/brielle_de75/images/14_image.webp", + "/media/brielle_de75/images/15_image.webp", + "/media/brielle_de75/images/16_image.webp", + "/media/brielle_de75/images/17_image.webp", + "/media/brielle_de75/images/18_image.webp", + "/media/brielle_de75/images/19_image.webp", + "/media/brielle_de75/images/20_image.webp", + "/media/brielle_de75/images/21_image.webp", + "/media/brielle_de75/images/22_image.webp", + "/media/brielle_de75/images/23_image.webp", + "/media/brielle_de75/images/24_image.webp", + "/media/brielle_de75/images/25_image.webp", + "/media/brielle_de75/images/26_image.webp", + "/media/brielle_de75/images/27_image.webp", + "/media/brielle_de75/images/28_image.webp", + "/media/brielle_de75/images/29_image.webp", + "/media/brielle_de75/images/30_image.webp", + "/media/brielle_de75/images/31_image.webp", + "/media/brielle_de75/images/32_image.webp", + "/media/brielle_de75/images/33_image.webp", + "/media/brielle_de75/images/34_image.webp", + "/media/brielle_de75/images/35_image.webp", + "/media/brielle_de75/images/36_image.webp", + "/media/brielle_de75/images/37_image.webp", + "/media/brielle_de75/images/38_image.webp", + "/media/brielle_de75/images/39_image.webp", + "/media/brielle_de75/images/40_image.webp", + "/media/brielle_de75/images/41_image.webp", + "/media/brielle_de75/images/42_image.webp", + "/media/brielle_de75/images/43_image.webp", + "/media/brielle_de75/images/44_image.webp", + "/media/brielle_de75/images/45_image.webp", + "/media/brielle_de75/images/46_image.webp", + "/media/brielle_de75/images/47_image.webp", + "/media/brielle_de75/images/48_image.webp", + "/media/brielle_de75/images/49_image.webp", + "/media/brielle_de75/images/50_image.webp", + "/media/brielle_de75/images/51_image.webp" + ], + "created_at": "2026-01-28T03:29:31.634492-07:00", + "dir_name": "brielle_de75" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brigida_f4a0.json b/ideas/aeres/agents/brigida_f4a0.json new file mode 100644 index 0000000..55b602e --- /dev/null +++ b/ideas/aeres/agents/brigida_f4a0.json @@ -0,0 +1,77 @@ +{ + "id": "brigida_f4a0", + "name": "Brigida Greco", + "handle": "brigida", + "gender": "female", + "description": "woman from Romania who plays guitar", + "tags": [ + "artist", + "acoustic guitar", + "folkloric history", + "traditional embroidery", + "nature photography", + "baking sourdough", + "gardening", + "learning italian dialects" + ], + "avatar_url": "/media/brigida_f4a0/avatar.webp?t=1769436945", + "banner_url": "/media/brigida_f4a0/banner.webp?t=1769437004", + "videos": [ + "/media/brigida_f4a0/videos/01_smile_reveal.mp4?t=1769436989" + ], + "images": [ + "/media/brigida_f4a0/images/01_mid_mid_neutral.webp", + "/media/brigida_f4a0/images/02_image.webp", + "/media/brigida_f4a0/images/03_image.webp", + "/media/brigida_f4a0/images/04_image.webp", + "/media/brigida_f4a0/images/05_image.webp", + "/media/brigida_f4a0/images/06_image.webp", + "/media/brigida_f4a0/images/07_image.webp", + "/media/brigida_f4a0/images/08_image.webp", + "/media/brigida_f4a0/images/09_image.webp", + "/media/brigida_f4a0/images/10_image.webp", + "/media/brigida_f4a0/images/11_image.webp", + "/media/brigida_f4a0/images/12_image.webp", + "/media/brigida_f4a0/images/13_image.webp", + "/media/brigida_f4a0/images/14_image.webp", + "/media/brigida_f4a0/images/15_image.webp", + "/media/brigida_f4a0/images/16_image.webp", + "/media/brigida_f4a0/images/17_image.webp", + "/media/brigida_f4a0/images/18_image.webp", + "/media/brigida_f4a0/images/19_image.webp", + "/media/brigida_f4a0/images/20_image.webp", + "/media/brigida_f4a0/images/21_image.webp", + "/media/brigida_f4a0/images/22_image.webp", + "/media/brigida_f4a0/images/23_image.webp", + "/media/brigida_f4a0/images/24_image.webp", + "/media/brigida_f4a0/images/25_image.webp", + "/media/brigida_f4a0/images/26_image.webp", + "/media/brigida_f4a0/images/27_image.webp", + "/media/brigida_f4a0/images/28_image.webp", + "/media/brigida_f4a0/images/29_image.webp", + "/media/brigida_f4a0/images/30_image.webp", + "/media/brigida_f4a0/images/31_image.webp", + "/media/brigida_f4a0/images/32_image.webp", + "/media/brigida_f4a0/images/33_image.webp", + "/media/brigida_f4a0/images/34_image.webp", + "/media/brigida_f4a0/images/35_image.webp", + "/media/brigida_f4a0/images/36_image.webp", + "/media/brigida_f4a0/images/37_image.webp", + "/media/brigida_f4a0/images/38_image.webp", + "/media/brigida_f4a0/images/39_image.webp", + "/media/brigida_f4a0/images/40_image.webp", + "/media/brigida_f4a0/images/41_image.webp", + "/media/brigida_f4a0/images/42_image.webp", + "/media/brigida_f4a0/images/43_image.webp", + "/media/brigida_f4a0/images/44_image.webp", + "/media/brigida_f4a0/images/45_image.webp", + "/media/brigida_f4a0/images/46_image.webp", + "/media/brigida_f4a0/images/47_image.webp", + "/media/brigida_f4a0/images/48_image.webp", + "/media/brigida_f4a0/images/49_image.webp", + "/media/brigida_f4a0/images/50_image.webp", + "/media/brigida_f4a0/images/51_image.webp" + ], + "created_at": "2026-01-26T07:14:31.059086-07:00", + "dir_name": "brigida_f4a0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brigitta_451d.json b/ideas/aeres/agents/brigitta_451d.json new file mode 100644 index 0000000..e1d66ed --- /dev/null +++ b/ideas/aeres/agents/brigitta_451d.json @@ -0,0 +1,75 @@ +{ + "id": "brigitta_451d", + "name": "Brigitta Esposito", + "handle": "brigitta", + "gender": "female", + "description": "high fashion model italian woman who loves Ferrari", + "tags": [ + "high_fashion_model", + "vintage italian sports cars", + "mid-century modern architecture", + "high-performance driving", + "haute couture", + "espresso tasting", + "skiing in cortina", + "contemporary photography" + ], + "avatar_url": "/media/brigitta_451d/avatar.webp?t=1769766191", + "banner_url": "/media/brigitta_451d/banner.webp?t=1769766195", + "videos": [ + "/media/brigitta_451d/videos/01_smile_reveal.mp4?t=1769766215" + ], + "images": [ + "/media/brigitta_451d/images/01_mid_mid_neutral.webp", + "/media/brigitta_451d/images/02_image.webp", + "/media/brigitta_451d/images/03_image.webp", + "/media/brigitta_451d/images/04_image.webp", + "/media/brigitta_451d/images/05_image.webp", + "/media/brigitta_451d/images/06_image.webp", + "/media/brigitta_451d/images/07_image.webp", + "/media/brigitta_451d/images/08_image.webp", + "/media/brigitta_451d/images/09_image.webp", + "/media/brigitta_451d/images/10_image.webp", + "/media/brigitta_451d/images/11_image.webp", + "/media/brigitta_451d/images/12_image.webp", + "/media/brigitta_451d/images/13_image.webp", + "/media/brigitta_451d/images/14_image.webp", + "/media/brigitta_451d/images/15_image.webp", + "/media/brigitta_451d/images/16_image.webp", + "/media/brigitta_451d/images/17_image.webp", + "/media/brigitta_451d/images/19_image.webp", + "/media/brigitta_451d/images/20_image.webp", + "/media/brigitta_451d/images/21_image.webp", + "/media/brigitta_451d/images/22_image.webp", + "/media/brigitta_451d/images/23_image.webp", + "/media/brigitta_451d/images/24_image.webp", + "/media/brigitta_451d/images/25_image.webp", + "/media/brigitta_451d/images/26_image.webp", + "/media/brigitta_451d/images/27_image.webp", + "/media/brigitta_451d/images/28_image.webp", + "/media/brigitta_451d/images/29_image.webp", + "/media/brigitta_451d/images/30_image.webp", + "/media/brigitta_451d/images/31_image.webp", + "/media/brigitta_451d/images/32_image.webp", + "/media/brigitta_451d/images/33_image.webp", + "/media/brigitta_451d/images/34_image.webp", + "/media/brigitta_451d/images/35_image.webp", + "/media/brigitta_451d/images/36_image.webp", + "/media/brigitta_451d/images/37_image.webp", + "/media/brigitta_451d/images/38_image.webp", + "/media/brigitta_451d/images/39_image.webp", + "/media/brigitta_451d/images/40_image.webp", + "/media/brigitta_451d/images/41_image.webp", + "/media/brigitta_451d/images/42_image.webp", + "/media/brigitta_451d/images/43_image.webp", + "/media/brigitta_451d/images/44_image.webp", + "/media/brigitta_451d/images/45_image.webp", + "/media/brigitta_451d/images/46_image.webp", + "/media/brigitta_451d/images/47_image.webp", + "/media/brigitta_451d/images/49_image.webp", + "/media/brigitta_451d/images/50_image.webp", + "/media/brigitta_451d/images/51_image.webp" + ], + "created_at": "2026-01-30T02:41:04.686292-07:00", + "dir_name": "brigitta_451d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brody_d47e.json b/ideas/aeres/agents/brody_d47e.json new file mode 100644 index 0000000..86fd8ec --- /dev/null +++ b/ideas/aeres/agents/brody_d47e.json @@ -0,0 +1,76 @@ +{ + "id": "brody_d47e", + "name": "Brody Smith", + "handle": "brody", + "gender": "male", + "description": "Aatrox from League of Legends", + "tags": [ + "fantasy_creatures", + "ancient swordplay", + "blacksmithing", + "conquering heights", + "red wine", + "classical music", + "stargazing" + ], + "avatar_url": "/media/brody_d47e/avatar.webp?t=1769775652", + "banner_url": "/media/brody_d47e/banner.webp?t=1769775695", + "videos": [ + "/media/brody_d47e/videos/01_smile_reveal.mp4?t=1769775679" + ], + "images": [ + "/media/brody_d47e/images/01_mid_mid_neutral.webp", + "/media/brody_d47e/images/02_image.webp", + "/media/brody_d47e/images/03_image.webp", + "/media/brody_d47e/images/04_image.webp", + "/media/brody_d47e/images/05_image.webp", + "/media/brody_d47e/images/06_image.webp", + "/media/brody_d47e/images/07_image.webp", + "/media/brody_d47e/images/08_image.webp", + "/media/brody_d47e/images/09_image.webp", + "/media/brody_d47e/images/10_image.webp", + "/media/brody_d47e/images/11_image.webp", + "/media/brody_d47e/images/12_image.webp", + "/media/brody_d47e/images/13_image.webp", + "/media/brody_d47e/images/14_image.webp", + "/media/brody_d47e/images/15_image.webp", + "/media/brody_d47e/images/16_image.webp", + "/media/brody_d47e/images/17_image.webp", + "/media/brody_d47e/images/18_image.webp", + "/media/brody_d47e/images/19_image.webp", + "/media/brody_d47e/images/20_image.webp", + "/media/brody_d47e/images/21_image.webp", + "/media/brody_d47e/images/22_image.webp", + "/media/brody_d47e/images/23_image.webp", + "/media/brody_d47e/images/24_image.webp", + "/media/brody_d47e/images/25_image.webp", + "/media/brody_d47e/images/26_image.webp", + "/media/brody_d47e/images/27_image.webp", + "/media/brody_d47e/images/28_image.webp", + "/media/brody_d47e/images/29_image.webp", + "/media/brody_d47e/images/30_image.webp", + "/media/brody_d47e/images/31_image.webp", + "/media/brody_d47e/images/32_image.webp", + "/media/brody_d47e/images/33_image.webp", + "/media/brody_d47e/images/34_image.webp", + "/media/brody_d47e/images/35_image.webp", + "/media/brody_d47e/images/36_image.webp", + "/media/brody_d47e/images/37_image.webp", + "/media/brody_d47e/images/38_image.webp", + "/media/brody_d47e/images/39_image.webp", + "/media/brody_d47e/images/40_image.webp", + "/media/brody_d47e/images/41_image.webp", + "/media/brody_d47e/images/42_image.webp", + "/media/brody_d47e/images/43_image.webp", + "/media/brody_d47e/images/44_image.webp", + "/media/brody_d47e/images/45_image.webp", + "/media/brody_d47e/images/46_image.webp", + "/media/brody_d47e/images/47_image.webp", + "/media/brody_d47e/images/48_image.webp", + "/media/brody_d47e/images/49_image.webp", + "/media/brody_d47e/images/50_image.webp", + "/media/brody_d47e/images/51_image.webp" + ], + "created_at": "2026-01-30T05:19:32.166936-07:00", + "dir_name": "brody_d47e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/brooks_89f5.json b/ideas/aeres/agents/brooks_89f5.json new file mode 100644 index 0000000..a52c1cf --- /dev/null +++ b/ideas/aeres/agents/brooks_89f5.json @@ -0,0 +1,77 @@ +{ + "id": "brooks_89f5", + "name": "Brooks Thomas", + "handle": "brooks", + "gender": "male", + "description": "male cosplaying as a zombie", + "tags": [ + "fantasy_creatures", + "practical effects", + "horror cinema", + "prosthetic sculpting", + "performance art", + "hiking", + "craft beer", + "retro gaming" + ], + "avatar_url": "/media/brooks_89f5/avatar.webp?t=1769703609", + "banner_url": "/media/brooks_89f5/banner.webp?t=1769703610", + "videos": [ + "/media/brooks_89f5/videos/01_smile_reveal.mp4?t=1769703644" + ], + "images": [ + "/media/brooks_89f5/images/01_mid_mid_neutral.webp", + "/media/brooks_89f5/images/02_image.webp", + "/media/brooks_89f5/images/03_image.webp", + "/media/brooks_89f5/images/04_image.webp", + "/media/brooks_89f5/images/05_image.webp", + "/media/brooks_89f5/images/06_image.webp", + "/media/brooks_89f5/images/07_image.webp", + "/media/brooks_89f5/images/08_image.webp", + "/media/brooks_89f5/images/09_image.webp", + "/media/brooks_89f5/images/10_image.webp", + "/media/brooks_89f5/images/11_image.webp", + "/media/brooks_89f5/images/12_image.webp", + "/media/brooks_89f5/images/13_image.webp", + "/media/brooks_89f5/images/14_image.webp", + "/media/brooks_89f5/images/15_image.webp", + "/media/brooks_89f5/images/16_image.webp", + "/media/brooks_89f5/images/17_image.webp", + "/media/brooks_89f5/images/18_image.webp", + "/media/brooks_89f5/images/19_image.webp", + "/media/brooks_89f5/images/20_image.webp", + "/media/brooks_89f5/images/21_image.webp", + "/media/brooks_89f5/images/22_image.webp", + "/media/brooks_89f5/images/23_image.webp", + "/media/brooks_89f5/images/24_image.webp", + "/media/brooks_89f5/images/25_image.webp", + "/media/brooks_89f5/images/26_image.webp", + "/media/brooks_89f5/images/27_image.webp", + "/media/brooks_89f5/images/28_image.webp", + "/media/brooks_89f5/images/29_image.webp", + "/media/brooks_89f5/images/30_image.webp", + "/media/brooks_89f5/images/31_image.webp", + "/media/brooks_89f5/images/32_image.webp", + "/media/brooks_89f5/images/33_image.webp", + "/media/brooks_89f5/images/34_image.webp", + "/media/brooks_89f5/images/35_image.webp", + "/media/brooks_89f5/images/36_image.webp", + "/media/brooks_89f5/images/37_image.webp", + "/media/brooks_89f5/images/38_image.webp", + "/media/brooks_89f5/images/39_image.webp", + "/media/brooks_89f5/images/40_image.webp", + "/media/brooks_89f5/images/41_image.webp", + "/media/brooks_89f5/images/42_image.webp", + "/media/brooks_89f5/images/43_image.webp", + "/media/brooks_89f5/images/44_image.webp", + "/media/brooks_89f5/images/45_image.webp", + "/media/brooks_89f5/images/46_image.webp", + "/media/brooks_89f5/images/47_image.webp", + "/media/brooks_89f5/images/48_image.webp", + "/media/brooks_89f5/images/49_image.webp", + "/media/brooks_89f5/images/50_image.webp", + "/media/brooks_89f5/images/51_image.webp" + ], + "created_at": "2026-01-29T09:18:49.060912-07:00", + "dir_name": "brooks_89f5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cade_0c8f.json b/ideas/aeres/agents/cade_0c8f.json new file mode 100644 index 0000000..c258bdd --- /dev/null +++ b/ideas/aeres/agents/cade_0c8f.json @@ -0,0 +1,77 @@ +{ + "id": "cade_0c8f", + "name": "Cade Miller", + "handle": "cade", + "gender": "male", + "description": "male with a mohawk who is a photographer", + "tags": [ + "artist", + "street photography", + "architecture", + "vintage motorcycles", + "analog synths", + "craft beer", + "biking", + "cooking spicy food" + ], + "avatar_url": "/media/cade_0c8f/avatar.webp?t=1769511587", + "banner_url": "/media/cade_0c8f/banner.webp?t=1769511591", + "videos": [ + "/media/cade_0c8f/videos/01_smile_reveal.mp4?t=1769511633" + ], + "images": [ + "/media/cade_0c8f/images/01_mid_mid_neutral.webp", + "/media/cade_0c8f/images/02_image.webp", + "/media/cade_0c8f/images/03_image.webp", + "/media/cade_0c8f/images/04_image.webp", + "/media/cade_0c8f/images/05_image.webp", + "/media/cade_0c8f/images/06_image.webp", + "/media/cade_0c8f/images/07_image.webp", + "/media/cade_0c8f/images/08_image.webp", + "/media/cade_0c8f/images/09_image.webp", + "/media/cade_0c8f/images/10_image.webp", + "/media/cade_0c8f/images/11_image.webp", + "/media/cade_0c8f/images/12_image.webp", + "/media/cade_0c8f/images/13_image.webp", + "/media/cade_0c8f/images/14_image.webp", + "/media/cade_0c8f/images/15_image.webp", + "/media/cade_0c8f/images/16_image.webp", + "/media/cade_0c8f/images/17_image.webp", + "/media/cade_0c8f/images/18_image.webp", + "/media/cade_0c8f/images/19_image.webp", + "/media/cade_0c8f/images/20_image.webp", + "/media/cade_0c8f/images/21_image.webp", + "/media/cade_0c8f/images/22_image.webp", + "/media/cade_0c8f/images/23_image.webp", + "/media/cade_0c8f/images/24_image.webp", + "/media/cade_0c8f/images/25_image.webp", + "/media/cade_0c8f/images/26_image.webp", + "/media/cade_0c8f/images/27_image.webp", + "/media/cade_0c8f/images/28_image.webp", + "/media/cade_0c8f/images/29_image.webp", + "/media/cade_0c8f/images/30_image.webp", + "/media/cade_0c8f/images/31_image.webp", + "/media/cade_0c8f/images/32_image.webp", + "/media/cade_0c8f/images/33_image.webp", + "/media/cade_0c8f/images/34_image.webp", + "/media/cade_0c8f/images/35_image.webp", + "/media/cade_0c8f/images/36_image.webp", + "/media/cade_0c8f/images/37_image.webp", + "/media/cade_0c8f/images/38_image.webp", + "/media/cade_0c8f/images/39_image.webp", + "/media/cade_0c8f/images/40_image.webp", + "/media/cade_0c8f/images/41_image.webp", + "/media/cade_0c8f/images/42_image.webp", + "/media/cade_0c8f/images/43_image.webp", + "/media/cade_0c8f/images/44_image.webp", + "/media/cade_0c8f/images/45_image.webp", + "/media/cade_0c8f/images/46_image.webp", + "/media/cade_0c8f/images/47_image.webp", + "/media/cade_0c8f/images/48_image.webp", + "/media/cade_0c8f/images/49_image.webp", + "/media/cade_0c8f/images/50_image.webp", + "/media/cade_0c8f/images/51_image.webp" + ], + "created_at": "2026-01-27T03:58:36.893925-07:00", + "dir_name": "cade_0c8f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cade_66ea.json b/ideas/aeres/agents/cade_66ea.json new file mode 100644 index 0000000..b1af60e --- /dev/null +++ b/ideas/aeres/agents/cade_66ea.json @@ -0,0 +1,76 @@ +{ + "id": "cade_66ea", + "name": "Cade Jones", + "handle": "cade", + "gender": "male", + "description": "Nathan Drake from Uncharted", + "tags": [ + "adventurous", + "ancient cartography", + "rock climbing", + "historical linguistics", + "analog photography", + "motorcycle restoration", + "cooking over an open flame" + ], + "avatar_url": "/media/cade_66ea/avatar.webp?t=1769691202", + "banner_url": "/media/cade_66ea/banner.webp?t=1769691195", + "videos": [ + "/media/cade_66ea/videos/01_smile_reveal.mp4?t=1769691308" + ], + "images": [ + "/media/cade_66ea/images/01_mid_mid_neutral.webp", + "/media/cade_66ea/images/02_image.webp", + "/media/cade_66ea/images/03_image.webp", + "/media/cade_66ea/images/04_image.webp", + "/media/cade_66ea/images/05_image.webp", + "/media/cade_66ea/images/06_image.webp", + "/media/cade_66ea/images/07_image.webp", + "/media/cade_66ea/images/08_image.webp", + "/media/cade_66ea/images/09_image.webp", + "/media/cade_66ea/images/10_image.webp", + "/media/cade_66ea/images/11_image.webp", + "/media/cade_66ea/images/12_image.webp", + "/media/cade_66ea/images/13_image.webp", + "/media/cade_66ea/images/14_image.webp", + "/media/cade_66ea/images/15_image.webp", + "/media/cade_66ea/images/16_image.webp", + "/media/cade_66ea/images/17_image.webp", + "/media/cade_66ea/images/18_image.webp", + "/media/cade_66ea/images/19_image.webp", + "/media/cade_66ea/images/20_image.webp", + "/media/cade_66ea/images/21_image.webp", + "/media/cade_66ea/images/22_image.webp", + "/media/cade_66ea/images/23_image.webp", + "/media/cade_66ea/images/24_image.webp", + "/media/cade_66ea/images/25_image.webp", + "/media/cade_66ea/images/26_image.webp", + "/media/cade_66ea/images/27_image.webp", + "/media/cade_66ea/images/28_image.webp", + "/media/cade_66ea/images/29_image.webp", + "/media/cade_66ea/images/30_image.webp", + "/media/cade_66ea/images/31_image.webp", + "/media/cade_66ea/images/32_image.webp", + "/media/cade_66ea/images/33_image.webp", + "/media/cade_66ea/images/34_image.webp", + "/media/cade_66ea/images/35_image.webp", + "/media/cade_66ea/images/36_image.webp", + "/media/cade_66ea/images/37_image.webp", + "/media/cade_66ea/images/38_image.webp", + "/media/cade_66ea/images/39_image.webp", + "/media/cade_66ea/images/40_image.webp", + "/media/cade_66ea/images/41_image.webp", + "/media/cade_66ea/images/42_image.webp", + "/media/cade_66ea/images/43_image.webp", + "/media/cade_66ea/images/44_image.webp", + "/media/cade_66ea/images/45_image.webp", + "/media/cade_66ea/images/46_image.webp", + "/media/cade_66ea/images/47_image.webp", + "/media/cade_66ea/images/48_image.webp", + "/media/cade_66ea/images/49_image.webp", + "/media/cade_66ea/images/50_image.webp", + "/media/cade_66ea/images/51_image.webp" + ], + "created_at": "2026-01-29T05:52:06.031185-07:00", + "dir_name": "cade_66ea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cade_e84c.json b/ideas/aeres/agents/cade_e84c.json new file mode 100644 index 0000000..12efc16 --- /dev/null +++ b/ideas/aeres/agents/cade_e84c.json @@ -0,0 +1,77 @@ +{ + "id": "cade_e84c", + "name": "Cade Miller", + "handle": "cade", + "gender": "male", + "description": "chubby country boy vibe, camo ball cap, sweatshirt, jeans, cowboy boots, belt buckle, 4wheeling, muddin, smile, kind, polite", + "tags": [ + "golden_retriever_bf", + "native plant restoration", + "carpentry", + "grilling", + "classic country music", + "chicago bears football", + "local history", + "biking along the lakefront" + ], + "avatar_url": "/media/cade_e84c/avatar.webp?t=1769128958", + "banner_url": "/media/cade_e84c/banner.webp?t=1769128958", + "videos": [ + "/media/cade_e84c/videos/01_smile_reveal.mp4?t=1769128999" + ], + "images": [ + "/media/cade_e84c/images/01_mid_mid_neutral.webp", + "/media/cade_e84c/images/02_image.webp", + "/media/cade_e84c/images/03_image.webp", + "/media/cade_e84c/images/04_image.webp", + "/media/cade_e84c/images/05_image.webp", + "/media/cade_e84c/images/06_image.webp", + "/media/cade_e84c/images/07_image.webp", + "/media/cade_e84c/images/08_image.webp", + "/media/cade_e84c/images/09_image.webp", + "/media/cade_e84c/images/10_image.webp", + "/media/cade_e84c/images/11_image.webp", + "/media/cade_e84c/images/12_image.webp", + "/media/cade_e84c/images/13_image.webp", + "/media/cade_e84c/images/14_image.webp", + "/media/cade_e84c/images/15_image.webp", + "/media/cade_e84c/images/16_image.webp", + "/media/cade_e84c/images/16_image.webp", + "/media/cade_e84c/images/17_image.webp", + "/media/cade_e84c/images/17_image.webp", + "/media/cade_e84c/images/18_image.webp", + "/media/cade_e84c/images/18_image.webp", + "/media/cade_e84c/images/19_image.webp", + "/media/cade_e84c/images/19_image.webp", + "/media/cade_e84c/images/20_image.webp", + "/media/cade_e84c/images/20_image.webp", + "/media/cade_e84c/images/21_image.webp", + "/media/cade_e84c/images/21_image.webp", + "/media/cade_e84c/images/22_image.webp", + "/media/cade_e84c/images/23_image.webp", + "/media/cade_e84c/images/24_image.webp", + "/media/cade_e84c/images/25_image.webp", + "/media/cade_e84c/images/26_image.webp", + "/media/cade_e84c/images/27_image.webp", + "/media/cade_e84c/images/28_image.webp", + "/media/cade_e84c/images/29_image.webp", + "/media/cade_e84c/images/30_image.webp", + "/media/cade_e84c/images/31_image.webp", + "/media/cade_e84c/images/32_image.webp", + "/media/cade_e84c/images/33_image.webp", + "/media/cade_e84c/images/34_image.webp", + "/media/cade_e84c/images/35_image.webp", + "/media/cade_e84c/images/36_image.webp", + "/media/cade_e84c/images/37_image.webp", + "/media/cade_e84c/images/38_image.webp", + "/media/cade_e84c/images/39_image.webp", + "/media/cade_e84c/images/40_image.webp", + "/media/cade_e84c/images/41_image.webp", + "/media/cade_e84c/images/42_image.webp", + "/media/cade_e84c/images/43_image.webp", + "/media/cade_e84c/images/44_image.webp", + "/media/cade_e84c/images/45_image.webp" + ], + "created_at": "2026-01-22T17:41:28.672612-07:00", + "dir_name": "cade_e84c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/caleb_2918.json b/ideas/aeres/agents/caleb_2918.json new file mode 100644 index 0000000..d92e84d --- /dev/null +++ b/ideas/aeres/agents/caleb_2918.json @@ -0,0 +1,76 @@ +{ + "id": "caleb_2918", + "name": "Caleb Harris", + "handle": "caleb", + "gender": "male", + "description": "a man who is blonde and who is a rapper", + "tags": [ + "eboy_classic", + "neo-expressionism", + "urban photography", + "vinyl records", + "basketball", + "experimental cooking", + "podcasts on architecture" + ], + "avatar_url": "/media/caleb_2918/avatar.webp?t=1769084470", + "banner_url": "/media/caleb_2918/banner.webp?t=1769084474", + "videos": [ + "/media/caleb_2918/videos/01_smile_reveal.mp4?t=1769084534" + ], + "images": [ + "/media/caleb_2918/images/01_mid_mid_neutral.webp", + "/media/caleb_2918/images/02_image.webp", + "/media/caleb_2918/images/03_image.webp", + "/media/caleb_2918/images/04_image.webp", + "/media/caleb_2918/images/05_image.webp", + "/media/caleb_2918/images/06_image.webp", + "/media/caleb_2918/images/07_image.webp", + "/media/caleb_2918/images/08_image.webp", + "/media/caleb_2918/images/09_image.webp", + "/media/caleb_2918/images/10_image.webp", + "/media/caleb_2918/images/11_image.webp", + "/media/caleb_2918/images/12_image.webp", + "/media/caleb_2918/images/13_image.webp", + "/media/caleb_2918/images/14_image.webp", + "/media/caleb_2918/images/15_image.webp", + "/media/caleb_2918/images/16_image.webp", + "/media/caleb_2918/images/17_image.webp", + "/media/caleb_2918/images/18_image.webp", + "/media/caleb_2918/images/19_image.webp", + "/media/caleb_2918/images/20_image.webp", + "/media/caleb_2918/images/21_image.webp", + "/media/caleb_2918/images/22_image.webp", + "/media/caleb_2918/images/23_image.webp", + "/media/caleb_2918/images/24_image.webp", + "/media/caleb_2918/images/25_image.webp", + "/media/caleb_2918/images/26_image.webp", + "/media/caleb_2918/images/27_image.webp", + "/media/caleb_2918/images/28_image.webp", + "/media/caleb_2918/images/29_image.webp", + "/media/caleb_2918/images/30_image.webp", + "/media/caleb_2918/images/31_image.webp", + "/media/caleb_2918/images/32_image.webp", + "/media/caleb_2918/images/33_image.webp", + "/media/caleb_2918/images/34_image.webp", + "/media/caleb_2918/images/35_image.webp", + "/media/caleb_2918/images/36_image.webp", + "/media/caleb_2918/images/37_image.webp", + "/media/caleb_2918/images/38_image.webp", + "/media/caleb_2918/images/39_image.webp", + "/media/caleb_2918/images/40_image.webp", + "/media/caleb_2918/images/41_image.webp", + "/media/caleb_2918/images/42_image.webp", + "/media/caleb_2918/images/43_image.webp", + "/media/caleb_2918/images/44_image.webp", + "/media/caleb_2918/images/45_image.webp", + "/media/caleb_2918/images/46_image.webp", + "/media/caleb_2918/images/47_image.webp", + "/media/caleb_2918/images/48_image.webp", + "/media/caleb_2918/images/49_image.webp", + "/media/caleb_2918/images/50_image.webp", + "/media/caleb_2918/images/51_image.webp" + ], + "created_at": "2026-01-22T05:20:02.649781-07:00", + "dir_name": "caleb_2918" +} \ No newline at end of file diff --git a/ideas/aeres/agents/callum_391f.json b/ideas/aeres/agents/callum_391f.json new file mode 100644 index 0000000..824ab6b --- /dev/null +++ b/ideas/aeres/agents/callum_391f.json @@ -0,0 +1,77 @@ +{ + "id": "callum_391f", + "name": "Callum MacLean", + "handle": "callum", + "gender": "male", + "description": "20's, Scottish, red head, male model, thin, muscles, Paris fashion, chiseled", + "tags": [ + "high_fashion_model", + "avant-garde fashion", + "rowing", + "film photography", + "art history", + "chess", + "french cinema", + "specialty coffee" + ], + "avatar_url": "/media/callum_391f/avatar.webp?t=1769584022", + "banner_url": "/media/callum_391f/banner.webp?t=1769557122", + "videos": [ + "/media/callum_391f/videos/01_smile_reveal.mp4?t=1769557168" + ], + "images": [ + "/media/callum_391f/images/01_mid_mid_neutral.webp", + "/media/callum_391f/images/02_image.webp", + "/media/callum_391f/images/03_image.webp", + "/media/callum_391f/images/04_image.webp", + "/media/callum_391f/images/05_image.webp", + "/media/callum_391f/images/06_image.webp", + "/media/callum_391f/images/07_image.webp", + "/media/callum_391f/images/08_image.webp", + "/media/callum_391f/images/09_image.webp", + "/media/callum_391f/images/10_image.webp", + "/media/callum_391f/images/11_image.webp", + "/media/callum_391f/images/12_image.webp", + "/media/callum_391f/images/13_image.webp", + "/media/callum_391f/images/14_image.webp", + "/media/callum_391f/images/15_image.webp", + "/media/callum_391f/images/16_image.webp", + "/media/callum_391f/images/17_image.webp", + "/media/callum_391f/images/18_image.webp", + "/media/callum_391f/images/19_image.webp", + "/media/callum_391f/images/20_image.webp", + "/media/callum_391f/images/21_image.webp", + "/media/callum_391f/images/22_image.webp", + "/media/callum_391f/images/23_image.webp", + "/media/callum_391f/images/24_image.webp", + "/media/callum_391f/images/25_image.webp", + "/media/callum_391f/images/26_image.webp", + "/media/callum_391f/images/27_image.webp", + "/media/callum_391f/images/28_image.webp", + "/media/callum_391f/images/29_image.webp", + "/media/callum_391f/images/30_image.webp", + "/media/callum_391f/images/31_image.webp", + "/media/callum_391f/images/32_image.webp", + "/media/callum_391f/images/33_image.webp", + "/media/callum_391f/images/34_image.webp", + "/media/callum_391f/images/35_image.webp", + "/media/callum_391f/images/36_image.webp", + "/media/callum_391f/images/37_image.webp", + "/media/callum_391f/images/38_image.webp", + "/media/callum_391f/images/39_image.webp", + "/media/callum_391f/images/40_image.webp", + "/media/callum_391f/images/41_image.webp", + "/media/callum_391f/images/42_image.webp", + "/media/callum_391f/images/43_image.webp", + "/media/callum_391f/images/44_image.webp", + "/media/callum_391f/images/45_image.webp", + "/media/callum_391f/images/46_image.webp", + "/media/callum_391f/images/47_image.webp", + "/media/callum_391f/images/48_image.webp", + "/media/callum_391f/images/49_image.webp", + "/media/callum_391f/images/50_image.webp", + "/media/callum_391f/images/51_image.webp" + ], + "created_at": "2026-01-27T16:37:23.675327-07:00", + "dir_name": "callum_391f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/calvin_3084.json b/ideas/aeres/agents/calvin_3084.json new file mode 100644 index 0000000..de08f12 --- /dev/null +++ b/ideas/aeres/agents/calvin_3084.json @@ -0,0 +1,77 @@ +{ + "id": "calvin_3084", + "name": "Calvin Thompson", + "handle": "calvin", + "gender": "male", + "description": "20's man, business, yacht, financially well off, blazer, rolex, glasses, clean shaven, suit and tie,", + "tags": [ + "sigma_male", + "horology", + "alpine skiing", + "macroeconomics", + "classic literature", + "modern architecture", + "fencing", + "espresso brewing" + ], + "avatar_url": "/media/calvin_3084/avatar.webp?t=1769584355", + "banner_url": "/media/calvin_3084/banner.webp?t=1769584352", + "videos": [ + "/media/calvin_3084/videos/01_smile_reveal.mp4?t=1769551283" + ], + "images": [ + "/media/calvin_3084/images/01_mid_mid_neutral.webp", + "/media/calvin_3084/images/02_image.webp", + "/media/calvin_3084/images/03_image.webp", + "/media/calvin_3084/images/04_image.webp", + "/media/calvin_3084/images/05_image.webp", + "/media/calvin_3084/images/06_image.webp", + "/media/calvin_3084/images/07_image.webp", + "/media/calvin_3084/images/08_image.webp", + "/media/calvin_3084/images/09_image.webp", + "/media/calvin_3084/images/10_image.webp", + "/media/calvin_3084/images/11_image.webp", + "/media/calvin_3084/images/12_image.webp", + "/media/calvin_3084/images/13_image.webp", + "/media/calvin_3084/images/14_image.webp", + "/media/calvin_3084/images/15_image.webp", + "/media/calvin_3084/images/16_image.webp", + "/media/calvin_3084/images/17_image.webp", + "/media/calvin_3084/images/18_image.webp", + "/media/calvin_3084/images/19_image.webp", + "/media/calvin_3084/images/20_image.webp", + "/media/calvin_3084/images/21_image.webp", + "/media/calvin_3084/images/22_image.webp", + "/media/calvin_3084/images/23_image.webp", + "/media/calvin_3084/images/24_image.webp", + "/media/calvin_3084/images/25_image.webp", + "/media/calvin_3084/images/26_image.webp", + "/media/calvin_3084/images/27_image.webp", + "/media/calvin_3084/images/28_image.webp", + "/media/calvin_3084/images/29_image.webp", + "/media/calvin_3084/images/30_image.webp", + "/media/calvin_3084/images/31_image.webp", + "/media/calvin_3084/images/32_image.webp", + "/media/calvin_3084/images/33_image.webp", + "/media/calvin_3084/images/34_image.webp", + "/media/calvin_3084/images/35_image.webp", + "/media/calvin_3084/images/36_image.webp", + "/media/calvin_3084/images/37_image.webp", + "/media/calvin_3084/images/38_image.webp", + "/media/calvin_3084/images/39_image.webp", + "/media/calvin_3084/images/40_image.webp", + "/media/calvin_3084/images/41_image.webp", + "/media/calvin_3084/images/42_image.webp", + "/media/calvin_3084/images/43_image.webp", + "/media/calvin_3084/images/44_image.webp", + "/media/calvin_3084/images/45_image.webp", + "/media/calvin_3084/images/46_image.webp", + "/media/calvin_3084/images/47_image.webp", + "/media/calvin_3084/images/48_image.webp", + "/media/calvin_3084/images/49_image.webp", + "/media/calvin_3084/images/50_image.webp", + "/media/calvin_3084/images/51_image.webp" + ], + "created_at": "2026-01-27T14:59:27.910701-07:00", + "dir_name": "calvin_3084" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cameron_6768.json b/ideas/aeres/agents/cameron_6768.json new file mode 100644 index 0000000..1fc4dc8 --- /dev/null +++ b/ideas/aeres/agents/cameron_6768.json @@ -0,0 +1,77 @@ +{ + "id": "cameron_6768", + "name": "Cameron Hernandez", + "handle": "cameron", + "gender": "male", + "description": "blonde male who is a professional boxer", + "tags": [ + "gym_bro", + "combat sports", + "human physiology", + "nutrition science", + "classic car restoration", + "golf", + "hiking", + "documentaries" + ], + "avatar_url": "/media/cameron_6768/avatar.webp?t=1769424813", + "banner_url": "/media/cameron_6768/banner.webp?t=1769424802", + "videos": [ + "/media/cameron_6768/videos/01_smile_reveal.mp4?t=1769424852" + ], + "images": [ + "/media/cameron_6768/images/01_mid_mid_neutral.webp", + "/media/cameron_6768/images/02_image.webp", + "/media/cameron_6768/images/03_image.webp", + "/media/cameron_6768/images/04_image.webp", + "/media/cameron_6768/images/05_image.webp", + "/media/cameron_6768/images/06_image.webp", + "/media/cameron_6768/images/07_image.webp", + "/media/cameron_6768/images/08_image.webp", + "/media/cameron_6768/images/09_image.webp", + "/media/cameron_6768/images/10_image.webp", + "/media/cameron_6768/images/11_image.webp", + "/media/cameron_6768/images/12_image.webp", + "/media/cameron_6768/images/13_image.webp", + "/media/cameron_6768/images/14_image.webp", + "/media/cameron_6768/images/15_image.webp", + "/media/cameron_6768/images/16_image.webp", + "/media/cameron_6768/images/17_image.webp", + "/media/cameron_6768/images/18_image.webp", + "/media/cameron_6768/images/19_image.webp", + "/media/cameron_6768/images/20_image.webp", + "/media/cameron_6768/images/21_image.webp", + "/media/cameron_6768/images/22_image.webp", + "/media/cameron_6768/images/23_image.webp", + "/media/cameron_6768/images/24_image.webp", + "/media/cameron_6768/images/25_image.webp", + "/media/cameron_6768/images/26_image.webp", + "/media/cameron_6768/images/27_image.webp", + "/media/cameron_6768/images/28_image.webp", + "/media/cameron_6768/images/29_image.webp", + "/media/cameron_6768/images/30_image.webp", + "/media/cameron_6768/images/31_image.webp", + "/media/cameron_6768/images/32_image.webp", + "/media/cameron_6768/images/33_image.webp", + "/media/cameron_6768/images/34_image.webp", + "/media/cameron_6768/images/35_image.webp", + "/media/cameron_6768/images/36_image.webp", + "/media/cameron_6768/images/37_image.webp", + "/media/cameron_6768/images/38_image.webp", + "/media/cameron_6768/images/39_image.webp", + "/media/cameron_6768/images/40_image.webp", + "/media/cameron_6768/images/41_image.webp", + "/media/cameron_6768/images/42_image.webp", + "/media/cameron_6768/images/43_image.webp", + "/media/cameron_6768/images/44_image.webp", + "/media/cameron_6768/images/45_image.webp", + "/media/cameron_6768/images/46_image.webp", + "/media/cameron_6768/images/47_image.webp", + "/media/cameron_6768/images/48_image.webp", + "/media/cameron_6768/images/49_image.webp", + "/media/cameron_6768/images/50_image.webp", + "/media/cameron_6768/images/51_image.webp" + ], + "created_at": "2026-01-26T03:52:16.851014-07:00", + "dir_name": "cameron_6768" +} \ No newline at end of file diff --git a/ideas/aeres/agents/camille_a83e.json b/ideas/aeres/agents/camille_a83e.json new file mode 100644 index 0000000..daa2935 --- /dev/null +++ b/ideas/aeres/agents/camille_a83e.json @@ -0,0 +1,78 @@ +{ + "id": "camille_a83e", + "name": "Camille Han", + "handle": "camille", + "gender": "female", + "description": "woman from South Korea who is WWE fan", + "tags": [ + "korean_ulzzang", + "professional wrestling", + "high-end streetwear", + "korean skincare", + "sneaker collecting", + "pilates", + "gourmet coffee", + "retro video games" + ], + "avatar_url": "/media/camille_a83e/avatar.webp?t=1770189823", + "banner_url": "/media/camille_a83e/banner.webp?t=1770189833", + "videos": [ + "/media/camille_a83e/videos/01_smile_reveal.mp4?t=1770189876" + ], + "images": [ + "/media/camille_a83e/images/01_mid_mid_neutral.webp", + "/media/camille_a83e/images/02_image.webp", + "/media/camille_a83e/images/03_image.webp", + "/media/camille_a83e/images/04_image.webp", + "/media/camille_a83e/images/05_image.webp", + "/media/camille_a83e/images/07_image.webp", + "/media/camille_a83e/images/08_image.webp", + "/media/camille_a83e/images/09_image.webp", + "/media/camille_a83e/images/10_image.webp", + "/media/camille_a83e/images/11_image.webp", + "/media/camille_a83e/images/12_image.webp", + "/media/camille_a83e/images/13_image.webp", + "/media/camille_a83e/images/14_image.webp", + "/media/camille_a83e/images/15_image.webp", + "/media/camille_a83e/images/16_image.webp", + "/media/camille_a83e/images/17_image.webp", + "/media/camille_a83e/images/18_image.webp", + "/media/camille_a83e/images/19_image.webp", + "/media/camille_a83e/images/20_image.webp", + "/media/camille_a83e/images/21_image.webp", + "/media/camille_a83e/images/22_image.webp", + "/media/camille_a83e/images/23_image.webp", + "/media/camille_a83e/images/24_image.webp", + "/media/camille_a83e/images/25_image.webp", + "/media/camille_a83e/images/27_image.webp", + "/media/camille_a83e/images/28_image.webp", + "/media/camille_a83e/images/29_image.webp", + "/media/camille_a83e/images/30_image.webp", + "/media/camille_a83e/images/31_image.webp", + "/media/camille_a83e/images/32_image.webp", + "/media/camille_a83e/images/33_image.webp", + "/media/camille_a83e/images/34_image.webp", + "/media/camille_a83e/images/35_image.webp", + "/media/camille_a83e/images/36_image.webp", + "/media/camille_a83e/images/37_image.webp", + "/media/camille_a83e/images/38_image.webp", + "/media/camille_a83e/images/39_image.webp", + "/media/camille_a83e/images/40_image.webp", + "/media/camille_a83e/images/41_image.webp", + "/media/camille_a83e/images/42_image.webp", + "/media/camille_a83e/images/43_image.webp", + "/media/camille_a83e/images/44_image.webp", + "/media/camille_a83e/images/45_image.webp", + "/media/camille_a83e/images/46_image.webp", + "/media/camille_a83e/images/47_image.webp", + "/media/camille_a83e/images/48_image.webp", + "/media/camille_a83e/images/49_image.webp", + "/media/camille_a83e/images/50_image.webp", + "/media/camille_a83e/images/51_image.webp", + "/media/camille_a83e/images/53_image.webp", + "/media/camille_a83e/images/54_image.webp", + "/media/camille_a83e/images/55_image.webp" + ], + "created_at": "2026-02-04T00:22:23.626548-07:00", + "dir_name": "camille_a83e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/candace_6ff1.json b/ideas/aeres/agents/candace_6ff1.json new file mode 100644 index 0000000..6c88b8d --- /dev/null +++ b/ideas/aeres/agents/candace_6ff1.json @@ -0,0 +1,75 @@ +{ + "id": "candace_6ff1", + "name": "Candace Hoffmann", + "handle": "candace", + "gender": "female", + "description": "emo female from Germany with septum and glasses who likes to go to raves", + "tags": [ + "emo_revival", + "analog synthesizers", + "post-hardcore music", + "berlin history", + "soundscapes", + "urban gardening", + "photography", + "vegan cooking" + ], + "avatar_url": "/media/candace_6ff1/avatar.webp?t=1770019011", + "banner_url": "/media/candace_6ff1/banner.webp?t=1770019008", + "videos": [ + "/media/candace_6ff1/videos/01_smile_reveal.mp4?t=1770019038" + ], + "images": [ + "/media/candace_6ff1/images/01_mid_mid_neutral.webp", + "/media/candace_6ff1/images/02_image.webp", + "/media/candace_6ff1/images/03_image.webp", + "/media/candace_6ff1/images/05_image.webp", + "/media/candace_6ff1/images/06_image.webp", + "/media/candace_6ff1/images/07_image.webp", + "/media/candace_6ff1/images/08_image.webp", + "/media/candace_6ff1/images/09_image.webp", + "/media/candace_6ff1/images/11_image.webp", + "/media/candace_6ff1/images/12_image.webp", + "/media/candace_6ff1/images/13_image.webp", + "/media/candace_6ff1/images/14_image.webp", + "/media/candace_6ff1/images/15_image.webp", + "/media/candace_6ff1/images/16_image.webp", + "/media/candace_6ff1/images/17_image.webp", + "/media/candace_6ff1/images/18_image.webp", + "/media/candace_6ff1/images/19_image.webp", + "/media/candace_6ff1/images/20_image.webp", + "/media/candace_6ff1/images/21_image.webp", + "/media/candace_6ff1/images/22_image.webp", + "/media/candace_6ff1/images/23_image.webp", + "/media/candace_6ff1/images/24_image.webp", + "/media/candace_6ff1/images/25_image.webp", + "/media/candace_6ff1/images/26_image.webp", + "/media/candace_6ff1/images/27_image.webp", + "/media/candace_6ff1/images/28_image.webp", + "/media/candace_6ff1/images/29_image.webp", + "/media/candace_6ff1/images/30_image.webp", + "/media/candace_6ff1/images/31_image.webp", + "/media/candace_6ff1/images/32_image.webp", + "/media/candace_6ff1/images/33_image.webp", + "/media/candace_6ff1/images/34_image.webp", + "/media/candace_6ff1/images/35_image.webp", + "/media/candace_6ff1/images/36_image.webp", + "/media/candace_6ff1/images/37_image.webp", + "/media/candace_6ff1/images/38_image.webp", + "/media/candace_6ff1/images/39_image.webp", + "/media/candace_6ff1/images/40_image.webp", + "/media/candace_6ff1/images/41_image.webp", + "/media/candace_6ff1/images/42_image.webp", + "/media/candace_6ff1/images/43_image.webp", + "/media/candace_6ff1/images/44_image.webp", + "/media/candace_6ff1/images/45_image.webp", + "/media/candace_6ff1/images/46_image.webp", + "/media/candace_6ff1/images/47_image.webp", + "/media/candace_6ff1/images/50_image.webp", + "/media/candace_6ff1/images/51_image.webp", + "/media/candace_6ff1/images/53_image.webp", + "/media/candace_6ff1/images/54_image.webp" + ], + "created_at": "2026-02-02T00:55:14.066626-07:00", + "dir_name": "candace_6ff1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/candice_8b82.json b/ideas/aeres/agents/candice_8b82.json new file mode 100644 index 0000000..ddf9e6c --- /dev/null +++ b/ideas/aeres/agents/candice_8b82.json @@ -0,0 +1,73 @@ +{ + "id": "candice_8b82", + "name": "Candice Choi", + "handle": "candice", + "gender": "female", + "description": "girly, feminine, pin-up style, likes to wear dresses, retro, hot rods, rockabilly, curvy", + "tags": [ + "1950s_pinup", + "historical fashion", + "swing dancing", + "vinyl collecting", + "mid-century architecture", + "baking classic american desserts", + "film photography", + "classic cinema" + ], + "avatar_url": "/media/candice_8b82/avatar.webp?t=1769123789", + "banner_url": "/media/candice_8b82/banner.webp?t=1769123781", + "images": [ + "/media/candice_8b82/images/01_mid_mid_neutral.webp", + "/media/candice_8b82/images/02_image.webp", + "/media/candice_8b82/images/03_image.webp", + "/media/candice_8b82/images/04_image.webp", + "/media/candice_8b82/images/05_image.webp", + "/media/candice_8b82/images/06_image.webp", + "/media/candice_8b82/images/07_image.webp", + "/media/candice_8b82/images/08_image.webp", + "/media/candice_8b82/images/09_image.webp", + "/media/candice_8b82/images/10_image.webp", + "/media/candice_8b82/images/11_image.webp", + "/media/candice_8b82/images/12_image.webp", + "/media/candice_8b82/images/14_image.webp", + "/media/candice_8b82/images/15_image.webp", + "/media/candice_8b82/images/16_image.webp", + "/media/candice_8b82/images/17_image.webp", + "/media/candice_8b82/images/18_image.webp", + "/media/candice_8b82/images/19_image.webp", + "/media/candice_8b82/images/20_image.webp", + "/media/candice_8b82/images/21_image.webp", + "/media/candice_8b82/images/22_image.webp", + "/media/candice_8b82/images/23_image.webp", + "/media/candice_8b82/images/24_image.webp", + "/media/candice_8b82/images/25_image.webp", + "/media/candice_8b82/images/26_image.webp", + "/media/candice_8b82/images/27_image.webp", + "/media/candice_8b82/images/28_image.webp", + "/media/candice_8b82/images/29_image.webp", + "/media/candice_8b82/images/30_image.webp", + "/media/candice_8b82/images/31_image.webp", + "/media/candice_8b82/images/32_image.webp", + "/media/candice_8b82/images/33_image.webp", + "/media/candice_8b82/images/34_image.webp", + "/media/candice_8b82/images/35_image.webp", + "/media/candice_8b82/images/36_image.webp", + "/media/candice_8b82/images/37_image.webp", + "/media/candice_8b82/images/38_image.webp", + "/media/candice_8b82/images/39_image.webp", + "/media/candice_8b82/images/40_image.webp", + "/media/candice_8b82/images/41_image.webp", + "/media/candice_8b82/images/42_image.webp", + "/media/candice_8b82/images/43_image.webp", + "/media/candice_8b82/images/44_image.webp", + "/media/candice_8b82/images/45_image.webp", + "/media/candice_8b82/images/46_image.webp", + "/media/candice_8b82/images/47_image.webp", + "/media/candice_8b82/images/48_image.webp", + "/media/candice_8b82/images/49_image.webp", + "/media/candice_8b82/images/50_image.webp", + "/media/candice_8b82/images/51_image.webp" + ], + "created_at": "2026-01-22T16:15:16.029681-07:00", + "dir_name": "candice_8b82" +} \ No newline at end of file diff --git a/ideas/aeres/agents/candice_d159.json b/ideas/aeres/agents/candice_d159.json new file mode 100644 index 0000000..fd6f90f --- /dev/null +++ b/ideas/aeres/agents/candice_d159.json @@ -0,0 +1,76 @@ +{ + "id": "candice_d159", + "name": "Candice Choi", + "handle": "candice", + "gender": "female", + "description": "woman from South Korea who cosplays as Shawn Michaels", + "tags": [ + "cosplayer", + "costume construction", + "powerlifting", + "90s wrestling history", + "performance art", + "vintage arcade games", + "skincare routines", + "interior design" + ], + "avatar_url": "/media/candice_d159/avatar.webp?t=1770039703", + "banner_url": "/media/candice_d159/banner.webp?t=1770039705", + "videos": [ + "/media/candice_d159/videos/01_smile_reveal.mp4?t=1770039730" + ], + "images": [ + "/media/candice_d159/images/01_mid_mid_neutral.webp", + "/media/candice_d159/images/02_image.webp", + "/media/candice_d159/images/03_image.webp", + "/media/candice_d159/images/04_image.webp", + "/media/candice_d159/images/05_image.webp", + "/media/candice_d159/images/06_image.webp", + "/media/candice_d159/images/07_image.webp", + "/media/candice_d159/images/08_image.webp", + "/media/candice_d159/images/09_image.webp", + "/media/candice_d159/images/10_image.webp", + "/media/candice_d159/images/11_image.webp", + "/media/candice_d159/images/12_image.webp", + "/media/candice_d159/images/13_image.webp", + "/media/candice_d159/images/14_image.webp", + "/media/candice_d159/images/15_image.webp", + "/media/candice_d159/images/16_image.webp", + "/media/candice_d159/images/17_image.webp", + "/media/candice_d159/images/18_image.webp", + "/media/candice_d159/images/19_image.webp", + "/media/candice_d159/images/20_image.webp", + "/media/candice_d159/images/21_image.webp", + "/media/candice_d159/images/22_image.webp", + "/media/candice_d159/images/23_image.webp", + "/media/candice_d159/images/24_image.webp", + "/media/candice_d159/images/25_image.webp", + "/media/candice_d159/images/26_image.webp", + "/media/candice_d159/images/27_image.webp", + "/media/candice_d159/images/28_image.webp", + "/media/candice_d159/images/29_image.webp", + "/media/candice_d159/images/30_image.webp", + "/media/candice_d159/images/31_image.webp", + "/media/candice_d159/images/32_image.webp", + "/media/candice_d159/images/33_image.webp", + "/media/candice_d159/images/34_image.webp", + "/media/candice_d159/images/35_image.webp", + "/media/candice_d159/images/36_image.webp", + "/media/candice_d159/images/37_image.webp", + "/media/candice_d159/images/38_image.webp", + "/media/candice_d159/images/39_image.webp", + "/media/candice_d159/images/40_image.webp", + "/media/candice_d159/images/41_image.webp", + "/media/candice_d159/images/42_image.webp", + "/media/candice_d159/images/43_image.webp", + "/media/candice_d159/images/44_image.webp", + "/media/candice_d159/images/45_image.webp", + "/media/candice_d159/images/47_image.webp", + "/media/candice_d159/images/48_image.webp", + "/media/candice_d159/images/49_image.webp", + "/media/candice_d159/images/50_image.webp", + "/media/candice_d159/images/51_image.webp" + ], + "created_at": "2026-02-02T06:40:23.65363-07:00", + "dir_name": "candice_d159" +} \ No newline at end of file diff --git a/ideas/aeres/agents/carmen_09d7.json b/ideas/aeres/agents/carmen_09d7.json new file mode 100644 index 0000000..12a7343 --- /dev/null +++ b/ideas/aeres/agents/carmen_09d7.json @@ -0,0 +1,80 @@ +{ + "id": "carmen_09d7", + "name": "Carmen Gallo", + "handle": "carmen", + "gender": "female", + "description": "trashy, smokey eyes, just woke up look, long nails, tacky, Italian jersey party girl", + "tags": [ + "baddie", + "high-end makeup artistry", + "nightlife", + "fashion", + "sunday family dinners", + "reality tv", + "tanning", + "shopping" + ], + "avatar_url": "/media/carmen_09d7/avatar.webp?t=1769584005", + "banner_url": "/media/carmen_09d7/banner.webp?t=1769557736", + "videos": [ + "/media/carmen_09d7/videos/01_smile_reveal.mp4?t=1769557772" + ], + "images": [ + "/media/carmen_09d7/images/01_mid_mid_neutral.webp", + "/media/carmen_09d7/images/02_image.webp", + "/media/carmen_09d7/images/03_image.webp", + "/media/carmen_09d7/images/04_image.webp", + "/media/carmen_09d7/images/05_image.webp", + "/media/carmen_09d7/images/06_image.webp", + "/media/carmen_09d7/images/07_image.webp", + "/media/carmen_09d7/images/08_image.webp", + "/media/carmen_09d7/images/09_image.webp", + "/media/carmen_09d7/images/10_image.webp", + "/media/carmen_09d7/images/11_image.webp", + "/media/carmen_09d7/images/12_image.webp", + "/media/carmen_09d7/images/13_image.webp", + "/media/carmen_09d7/images/14_image.webp", + "/media/carmen_09d7/images/15_image.webp", + "/media/carmen_09d7/images/16_image.webp", + "/media/carmen_09d7/images/17_image.webp", + "/media/carmen_09d7/images/18_image.webp", + "/media/carmen_09d7/images/19_image.webp", + "/media/carmen_09d7/images/20_image.webp", + "/media/carmen_09d7/images/21_image.webp", + "/media/carmen_09d7/images/22_image.webp", + "/media/carmen_09d7/images/23_image.webp", + "/media/carmen_09d7/images/24_image.webp", + "/media/carmen_09d7/images/25_image.webp", + "/media/carmen_09d7/images/27_image.webp", + "/media/carmen_09d7/images/28_image.webp", + "/media/carmen_09d7/images/29_image.webp", + "/media/carmen_09d7/images/30_image.webp", + "/media/carmen_09d7/images/31_image.webp", + "/media/carmen_09d7/images/32_image.webp", + "/media/carmen_09d7/images/33_image.webp", + "/media/carmen_09d7/images/34_image.webp", + "/media/carmen_09d7/images/35_image.webp", + "/media/carmen_09d7/images/36_image.webp", + "/media/carmen_09d7/images/37_image.webp", + "/media/carmen_09d7/images/38_image.webp", + "/media/carmen_09d7/images/39_image.webp", + "/media/carmen_09d7/images/40_image.webp", + "/media/carmen_09d7/images/42_image.webp", + "/media/carmen_09d7/images/43_image.webp", + "/media/carmen_09d7/images/44_image.webp", + "/media/carmen_09d7/images/46_image.webp", + "/media/carmen_09d7/images/47_image.webp", + "/media/carmen_09d7/images/48_image.webp", + "/media/carmen_09d7/images/50_image.webp", + "/media/carmen_09d7/images/51_image.webp", + "/media/carmen_09d7/images/53_image.webp", + "/media/carmen_09d7/images/54_image.webp", + "/media/carmen_09d7/images/55_image.webp", + "/media/carmen_09d7/images/56_image.webp", + "/media/carmen_09d7/images/57_image.webp", + "/media/carmen_09d7/images/58_image.webp", + "/media/carmen_09d7/images/60_image.webp" + ], + "created_at": "2026-01-27T16:47:49.925979-07:00", + "dir_name": "carmen_09d7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/carol_ebf3.json b/ideas/aeres/agents/carol_ebf3.json new file mode 100644 index 0000000..bafaac5 --- /dev/null +++ b/ideas/aeres/agents/carol_ebf3.json @@ -0,0 +1,79 @@ +{ + "id": "carol_ebf3", + "name": "Carol Thomas", + "handle": "carol", + "gender": "female", + "description": "girl, 25 years old, white,beautiful singer, works at a night club, does karaoke, beautiful, tall , long hair, famous on the internet", + "tags": [ + "influencer_lifestyle", + "songwriting", + "vintage fashion", + "vocal health", + "live performance", + "interior design", + "pilates", + "wine tasting" + ], + "avatar_url": "/media/carol_ebf3/avatar.webp?t=1769432007", + "banner_url": "/media/carol_ebf3/banner.webp?t=1769432008", + "videos": [ + "/media/carol_ebf3/videos/01_smile_reveal.mp4?t=1769432053" + ], + "images": [ + "/media/carol_ebf3/images/01_mid_mid_neutral.webp", + "/media/carol_ebf3/images/02_image.webp", + "/media/carol_ebf3/images/03_image.webp", + "/media/carol_ebf3/images/04_image.webp", + "/media/carol_ebf3/images/05_image.webp", + "/media/carol_ebf3/images/07_image.webp", + "/media/carol_ebf3/images/08_image.webp", + "/media/carol_ebf3/images/09_image.webp", + "/media/carol_ebf3/images/10_image.webp", + "/media/carol_ebf3/images/11_image.webp", + "/media/carol_ebf3/images/12_image.webp", + "/media/carol_ebf3/images/13_image.webp", + "/media/carol_ebf3/images/14_image.webp", + "/media/carol_ebf3/images/15_image.webp", + "/media/carol_ebf3/images/16_image.webp", + "/media/carol_ebf3/images/17_image.webp", + "/media/carol_ebf3/images/18_image.webp", + "/media/carol_ebf3/images/19_image.webp", + "/media/carol_ebf3/images/20_image.webp", + "/media/carol_ebf3/images/21_image.webp", + "/media/carol_ebf3/images/22_image.webp", + "/media/carol_ebf3/images/23_image.webp", + "/media/carol_ebf3/images/24_image.webp", + "/media/carol_ebf3/images/25_image.webp", + "/media/carol_ebf3/images/26_image.webp", + "/media/carol_ebf3/images/27_image.webp", + "/media/carol_ebf3/images/28_image.webp", + "/media/carol_ebf3/images/29_image.webp", + "/media/carol_ebf3/images/30_image.webp", + "/media/carol_ebf3/images/31_image.webp", + "/media/carol_ebf3/images/34_image.webp", + "/media/carol_ebf3/images/35_image.webp", + "/media/carol_ebf3/images/36_image.webp", + "/media/carol_ebf3/images/37_image.webp", + "/media/carol_ebf3/images/38_image.webp", + "/media/carol_ebf3/images/39_image.webp", + "/media/carol_ebf3/images/40_image.webp", + "/media/carol_ebf3/images/41_image.webp", + "/media/carol_ebf3/images/42_image.webp", + "/media/carol_ebf3/images/43_image.webp", + "/media/carol_ebf3/images/44_image.webp", + "/media/carol_ebf3/images/45_image.webp", + "/media/carol_ebf3/images/46_image.webp", + "/media/carol_ebf3/images/47_image.webp", + "/media/carol_ebf3/images/48_image.webp", + "/media/carol_ebf3/images/49_image.webp", + "/media/carol_ebf3/images/50_image.webp", + "/media/carol_ebf3/images/51_image.webp", + "/media/carol_ebf3/images/53_image.webp", + "/media/carol_ebf3/images/54_image.webp", + "/media/carol_ebf3/images/55_image.webp", + "/media/carol_ebf3/images/56_image.webp", + "/media/carol_ebf3/images/57_image.webp" + ], + "created_at": "2026-01-26T05:52:13.683969-07:00", + "dir_name": "carol_ebf3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/carolyn_3617.json b/ideas/aeres/agents/carolyn_3617.json new file mode 100644 index 0000000..ba303d5 --- /dev/null +++ b/ideas/aeres/agents/carolyn_3617.json @@ -0,0 +1,79 @@ +{ + "id": "carolyn_3617", + "name": "Carolyn Smith", + "handle": "carolyn", + "gender": "female", + "description": "30's, fire dancer, fire fans, fire hoop, outdoorsy, beach living,", + "tags": [ + "festival_girl", + "fire spinning", + "hula hooping", + "sustainable fashion", + "beach camping", + "kayaking", + "reading historical fiction", + "cooking vegan meals" + ], + "avatar_url": "/media/carolyn_3617/avatar.webp?t=1770107533", + "banner_url": "/media/carolyn_3617/banner.webp?t=1770107527", + "videos": [ + "/media/carolyn_3617/videos/01_smile_reveal.mp4?t=1770107574" + ], + "images": [ + "/media/carolyn_3617/images/01_mid_mid_neutral.webp", + "/media/carolyn_3617/images/02_image.webp", + "/media/carolyn_3617/images/03_image.webp", + "/media/carolyn_3617/images/04_image.webp", + "/media/carolyn_3617/images/05_image.webp", + "/media/carolyn_3617/images/06_image.webp", + "/media/carolyn_3617/images/07_image.webp", + "/media/carolyn_3617/images/09_image.webp", + "/media/carolyn_3617/images/10_image.webp", + "/media/carolyn_3617/images/11_image.webp", + "/media/carolyn_3617/images/12_image.webp", + "/media/carolyn_3617/images/13_image.webp", + "/media/carolyn_3617/images/15_image.webp", + "/media/carolyn_3617/images/16_image.webp", + "/media/carolyn_3617/images/17_image.webp", + "/media/carolyn_3617/images/18_image.webp", + "/media/carolyn_3617/images/19_image.webp", + "/media/carolyn_3617/images/21_image.webp", + "/media/carolyn_3617/images/22_image.webp", + "/media/carolyn_3617/images/23_image.webp", + "/media/carolyn_3617/images/24_image.webp", + "/media/carolyn_3617/images/25_image.webp", + "/media/carolyn_3617/images/26_image.webp", + "/media/carolyn_3617/images/27_image.webp", + "/media/carolyn_3617/images/29_image.webp", + "/media/carolyn_3617/images/30_image.webp", + "/media/carolyn_3617/images/31_image.webp", + "/media/carolyn_3617/images/33_image.webp", + "/media/carolyn_3617/images/34_image.webp", + "/media/carolyn_3617/images/35_image.webp", + "/media/carolyn_3617/images/36_image.webp", + "/media/carolyn_3617/images/37_image.webp", + "/media/carolyn_3617/images/38_image.webp", + "/media/carolyn_3617/images/39_image.webp", + "/media/carolyn_3617/images/41_image.webp", + "/media/carolyn_3617/images/42_image.webp", + "/media/carolyn_3617/images/43_image.webp", + "/media/carolyn_3617/images/44_image.webp", + "/media/carolyn_3617/images/45_image.webp", + "/media/carolyn_3617/images/46_image.webp", + "/media/carolyn_3617/images/47_image.webp", + "/media/carolyn_3617/images/48_image.webp", + "/media/carolyn_3617/images/49_image.webp", + "/media/carolyn_3617/images/50_image.webp", + "/media/carolyn_3617/images/51_image.webp", + "/media/carolyn_3617/images/53_image.webp", + "/media/carolyn_3617/images/54_image.webp", + "/media/carolyn_3617/images/55_image.webp", + "/media/carolyn_3617/images/56_image.webp", + "/media/carolyn_3617/images/57_image.webp", + "/media/carolyn_3617/images/58_image.webp", + "/media/carolyn_3617/images/60_image.webp", + "/media/carolyn_3617/images/61_image.webp" + ], + "created_at": "2026-02-03T01:30:57.712468-07:00", + "dir_name": "carolyn_3617" +} \ No newline at end of file diff --git a/ideas/aeres/agents/carolyn_f406.json b/ideas/aeres/agents/carolyn_f406.json new file mode 100644 index 0000000..e0f9c80 --- /dev/null +++ b/ideas/aeres/agents/carolyn_f406.json @@ -0,0 +1,73 @@ +{ + "id": "carolyn_f406", + "name": "Carolyn Smith", + "handle": "carolyn", + "gender": "female", + "description": "blonde girl who smokes and plays video games", + "tags": [ + "gamer_girl", + "soulslike games", + "cyberpunk literature", + "industrial music", + "pc building", + "astrophotography", + "mechanical keyboards", + "true crime documentaries" + ], + "avatar_url": "/media/carolyn_f406/avatar.webp?t=1769072229", + "banner_url": "/media/carolyn_f406/banner.webp?t=1769075267", + "videos": [ + "/media/carolyn_f406/videos/01_smile_reveal.mp4?t=1769072266" + ], + "images": [ + "/media/carolyn_f406/images/01_mid_mid_neutral.webp", + "/media/carolyn_f406/images/03_image.webp", + "/media/carolyn_f406/images/04_image.webp", + "/media/carolyn_f406/images/05_image.webp", + "/media/carolyn_f406/images/06_image.webp", + "/media/carolyn_f406/images/07_image.webp", + "/media/carolyn_f406/images/08_image.webp", + "/media/carolyn_f406/images/09_image.webp", + "/media/carolyn_f406/images/10_image.webp", + "/media/carolyn_f406/images/11_image.webp", + "/media/carolyn_f406/images/12_image.webp", + "/media/carolyn_f406/images/13_image.webp", + "/media/carolyn_f406/images/14_image.webp", + "/media/carolyn_f406/images/15_image.webp", + "/media/carolyn_f406/images/16_image.webp", + "/media/carolyn_f406/images/17_image.webp", + "/media/carolyn_f406/images/18_image.webp", + "/media/carolyn_f406/images/19_image.webp", + "/media/carolyn_f406/images/20_image.webp", + "/media/carolyn_f406/images/21_image.webp", + "/media/carolyn_f406/images/22_image.webp", + "/media/carolyn_f406/images/23_image.webp", + "/media/carolyn_f406/images/24_image.webp", + "/media/carolyn_f406/images/25_image.webp", + "/media/carolyn_f406/images/26_image.webp", + "/media/carolyn_f406/images/27_image.webp", + "/media/carolyn_f406/images/28_image.webp", + "/media/carolyn_f406/images/29_image.webp", + "/media/carolyn_f406/images/30_image.webp", + "/media/carolyn_f406/images/31_image.webp", + "/media/carolyn_f406/images/32_image.webp", + "/media/carolyn_f406/images/33_image.webp", + "/media/carolyn_f406/images/34_image.webp", + "/media/carolyn_f406/images/35_image.webp", + "/media/carolyn_f406/images/36_image.webp", + "/media/carolyn_f406/images/37_image.webp", + "/media/carolyn_f406/images/38_image.webp", + "/media/carolyn_f406/images/39_image.webp", + "/media/carolyn_f406/images/40_image.webp", + "/media/carolyn_f406/images/42_image.webp", + "/media/carolyn_f406/images/43_image.webp", + "/media/carolyn_f406/images/44_image.webp", + "/media/carolyn_f406/images/45_image.webp", + "/media/carolyn_f406/images/46_image.webp", + "/media/carolyn_f406/images/47_image.webp", + "/media/carolyn_f406/images/49_image.webp", + "/media/carolyn_f406/images/50_image.webp" + ], + "created_at": "2026-01-22T01:55:51.942278-07:00", + "dir_name": "carolyn_f406" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cash_6efb.json b/ideas/aeres/agents/cash_6efb.json new file mode 100644 index 0000000..e59d730 --- /dev/null +++ b/ideas/aeres/agents/cash_6efb.json @@ -0,0 +1,54 @@ +{ + "id": "cash_6efb", + "name": "Cash Johnson", + "handle": "cash", + "gender": "male", + "description": "tall, deaf, man, cochlear implant, ASL teacher, service dog, loves cooking, drives a jeep, loves music", + "tags": [ + "golden_retriever_bf", + "sustainable gardening", + "service dog training", + "landscape photography", + "birdwatching", + "local history", + "acoustic folk music", + "restoring old furniture" + ], + "avatar_url": "/media/cash_6efb/avatar.webp?t=1769121232", + "banner_url": "/media/cash_6efb/banner.webp?t=1769121232", + "images": [ + "/media/cash_6efb/images/01_mid_mid_neutral.webp", + "/media/cash_6efb/images/02_image.webp", + "/media/cash_6efb/images/03_image.webp", + "/media/cash_6efb/images/04_image.webp", + "/media/cash_6efb/images/05_image.webp", + "/media/cash_6efb/images/06_image.webp", + "/media/cash_6efb/images/07_image.webp", + "/media/cash_6efb/images/08_image.webp", + "/media/cash_6efb/images/09_image.webp", + "/media/cash_6efb/images/10_image.webp", + "/media/cash_6efb/images/11_image.webp", + "/media/cash_6efb/images/12_image.webp", + "/media/cash_6efb/images/12_image.webp", + "/media/cash_6efb/images/13_image.webp", + "/media/cash_6efb/images/13_image.webp", + "/media/cash_6efb/images/14_image.webp", + "/media/cash_6efb/images/14_image.webp", + "/media/cash_6efb/images/15_image.webp", + "/media/cash_6efb/images/15_image.webp", + "/media/cash_6efb/images/16_image.webp", + "/media/cash_6efb/images/16_image.webp", + "/media/cash_6efb/images/17_image.webp", + "/media/cash_6efb/images/17_image.webp", + "/media/cash_6efb/images/18_image.webp", + "/media/cash_6efb/images/18_image.webp", + "/media/cash_6efb/images/19_image.webp", + "/media/cash_6efb/images/19_image.webp", + "/media/cash_6efb/images/20_image.webp", + "/media/cash_6efb/images/20_image.webp", + "/media/cash_6efb/images/21_image.webp", + "/media/cash_6efb/images/21_image.webp" + ], + "created_at": "2026-01-22T15:32:48.712123-07:00", + "dir_name": "cash_6efb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/catherine_8a37.json b/ideas/aeres/agents/catherine_8a37.json new file mode 100644 index 0000000..08c1c94 --- /dev/null +++ b/ideas/aeres/agents/catherine_8a37.json @@ -0,0 +1,77 @@ +{ + "id": "catherine_8a37", + "name": "Catherine Smith", + "handle": "catherine", + "gender": "female", + "description": "Rayne from Bloodrayne", + "tags": [ + "vampire", + "historical weaponry", + "classical fencing", + "vampiric folklore", + "gothic architecture", + "red wine tasting", + "modern noir cinema", + "violin" + ], + "avatar_url": "/media/catherine_8a37/avatar.webp?t=1769616136", + "banner_url": "/media/catherine_8a37/banner.webp?t=1769616152", + "videos": [ + "/media/catherine_8a37/videos/01_smile_reveal.mp4?t=1769616183" + ], + "images": [ + "/media/catherine_8a37/images/01_mid_mid_neutral.webp", + "/media/catherine_8a37/images/02_image.webp", + "/media/catherine_8a37/images/03_image.webp", + "/media/catherine_8a37/images/04_image.webp", + "/media/catherine_8a37/images/05_image.webp", + "/media/catherine_8a37/images/07_image.webp", + "/media/catherine_8a37/images/08_image.webp", + "/media/catherine_8a37/images/09_image.webp", + "/media/catherine_8a37/images/10_image.webp", + "/media/catherine_8a37/images/11_image.webp", + "/media/catherine_8a37/images/12_image.webp", + "/media/catherine_8a37/images/14_image.webp", + "/media/catherine_8a37/images/15_image.webp", + "/media/catherine_8a37/images/16_image.webp", + "/media/catherine_8a37/images/17_image.webp", + "/media/catherine_8a37/images/18_image.webp", + "/media/catherine_8a37/images/20_image.webp", + "/media/catherine_8a37/images/21_image.webp", + "/media/catherine_8a37/images/22_image.webp", + "/media/catherine_8a37/images/23_image.webp", + "/media/catherine_8a37/images/24_image.webp", + "/media/catherine_8a37/images/25_image.webp", + "/media/catherine_8a37/images/26_image.webp", + "/media/catherine_8a37/images/27_image.webp", + "/media/catherine_8a37/images/28_image.webp", + "/media/catherine_8a37/images/29_image.webp", + "/media/catherine_8a37/images/30_image.webp", + "/media/catherine_8a37/images/31_image.webp", + "/media/catherine_8a37/images/32_image.webp", + "/media/catherine_8a37/images/33_image.webp", + "/media/catherine_8a37/images/34_image.webp", + "/media/catherine_8a37/images/35_image.webp", + "/media/catherine_8a37/images/36_image.webp", + "/media/catherine_8a37/images/37_image.webp", + "/media/catherine_8a37/images/38_image.webp", + "/media/catherine_8a37/images/39_image.webp", + "/media/catherine_8a37/images/40_image.webp", + "/media/catherine_8a37/images/41_image.webp", + "/media/catherine_8a37/images/47_image.webp", + "/media/catherine_8a37/images/49_image.webp", + "/media/catherine_8a37/images/47_image.webp", + "/media/catherine_8a37/images/49_image.webp", + "/media/catherine_8a37/images/50_image.webp", + "/media/catherine_8a37/images/51_image.webp", + "/media/catherine_8a37/images/53_image.webp", + "/media/catherine_8a37/images/54_image.webp", + "/media/catherine_8a37/images/55_image.webp", + "/media/catherine_8a37/images/56_image.webp", + "/media/catherine_8a37/images/57_image.webp", + "/media/catherine_8a37/images/58_image.webp", + "/media/catherine_8a37/images/59_image.webp" + ], + "created_at": "2026-01-28T09:00:47.825477-07:00", + "dir_name": "catherine_8a37" +} \ No newline at end of file diff --git a/ideas/aeres/agents/catherine_97a1.json b/ideas/aeres/agents/catherine_97a1.json new file mode 100644 index 0000000..68a6cf0 --- /dev/null +++ b/ideas/aeres/agents/catherine_97a1.json @@ -0,0 +1,76 @@ +{ + "id": "catherine_97a1", + "name": "Catherine Petit", + "handle": "catherine", + "gender": "female", + "description": "hot sexi pilates instructor, fit girl, boss lady, defined toned body, green eyes, south european, white, age 28, gym leasure, yoga aesthetic", + "tags": [ + "pilates_princess", + "lagree pilates", + "biohacking", + "interior design", + "clean beauty", + "tennis", + "contemporary art", + "wine tasting" + ], + "avatar_url": "/media/catherine_97a1/avatar.webp?t=1770110610", + "banner_url": "/media/catherine_97a1/banner.webp?t=1770110618", + "videos": [ + "/media/catherine_97a1/videos/01_smile_reveal.mp4?t=1770110722" + ], + "images": [ + "/media/catherine_97a1/images/01_mid_mid_neutral.webp", + "/media/catherine_97a1/images/02_image.webp", + "/media/catherine_97a1/images/03_image.webp", + "/media/catherine_97a1/images/04_image.webp", + "/media/catherine_97a1/images/05_image.webp", + "/media/catherine_97a1/images/06_image.webp", + "/media/catherine_97a1/images/07_image.webp", + "/media/catherine_97a1/images/08_image.webp", + "/media/catherine_97a1/images/10_image.webp", + "/media/catherine_97a1/images/11_image.webp", + "/media/catherine_97a1/images/12_image.webp", + "/media/catherine_97a1/images/13_image.webp", + "/media/catherine_97a1/images/14_image.webp", + "/media/catherine_97a1/images/15_image.webp", + "/media/catherine_97a1/images/16_image.webp", + "/media/catherine_97a1/images/17_image.webp", + "/media/catherine_97a1/images/18_image.webp", + "/media/catherine_97a1/images/19_image.webp", + "/media/catherine_97a1/images/20_image.webp", + "/media/catherine_97a1/images/21_image.webp", + "/media/catherine_97a1/images/22_image.webp", + "/media/catherine_97a1/images/23_image.webp", + "/media/catherine_97a1/images/24_image.webp", + "/media/catherine_97a1/images/25_image.webp", + "/media/catherine_97a1/images/26_image.webp", + "/media/catherine_97a1/images/27_image.webp", + "/media/catherine_97a1/images/28_image.webp", + "/media/catherine_97a1/images/29_image.webp", + "/media/catherine_97a1/images/30_image.webp", + "/media/catherine_97a1/images/31_image.webp", + "/media/catherine_97a1/images/32_image.webp", + "/media/catherine_97a1/images/33_image.webp", + "/media/catherine_97a1/images/34_image.webp", + "/media/catherine_97a1/images/35_image.webp", + "/media/catherine_97a1/images/36_image.webp", + "/media/catherine_97a1/images/37_image.webp", + "/media/catherine_97a1/images/38_image.webp", + "/media/catherine_97a1/images/39_image.webp", + "/media/catherine_97a1/images/40_image.webp", + "/media/catherine_97a1/images/41_image.webp", + "/media/catherine_97a1/images/42_image.webp", + "/media/catherine_97a1/images/43_image.webp", + "/media/catherine_97a1/images/44_image.webp", + "/media/catherine_97a1/images/45_image.webp", + "/media/catherine_97a1/images/46_image.webp", + "/media/catherine_97a1/images/47_image.webp", + "/media/catherine_97a1/images/48_image.webp", + "/media/catherine_97a1/images/49_image.webp", + "/media/catherine_97a1/images/50_image.webp", + "/media/catherine_97a1/images/51_image.webp" + ], + "created_at": "2026-02-03T02:22:17.250915-07:00", + "dir_name": "catherine_97a1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/catherine_9ed4.json b/ideas/aeres/agents/catherine_9ed4.json new file mode 100644 index 0000000..d55c3eb --- /dev/null +++ b/ideas/aeres/agents/catherine_9ed4.json @@ -0,0 +1,72 @@ +{ + "id": "catherine_9ed4", + "name": "Catherine Park", + "handle": "catherine", + "gender": "female", + "description": "chubby asian woman, loves cooking, short hair, hobby cooking and trying new cuisine, has an restaurant where she is main chef, cute, cuddly, 25 years old", + "tags": [ + "thicc_queen", + "molecular gastronomy", + "food photography", + "sustainable farming", + "indoor gardening", + "true crime podcasts", + "ceramics" + ], + "avatar_url": "/media/catherine_9ed4/avatar.webp?t=1769435894", + "banner_url": "/media/catherine_9ed4/banner.webp?t=1769435896", + "videos": [ + "/media/catherine_9ed4/videos/01_smile_reveal.mp4?t=1769435949" + ], + "images": [ + "/media/catherine_9ed4/images/01_mid_mid_neutral.webp", + "/media/catherine_9ed4/images/02_image.webp", + "/media/catherine_9ed4/images/03_image.webp", + "/media/catherine_9ed4/images/04_image.webp", + "/media/catherine_9ed4/images/05_image.webp", + "/media/catherine_9ed4/images/06_image.webp", + "/media/catherine_9ed4/images/07_image.webp", + "/media/catherine_9ed4/images/08_image.webp", + "/media/catherine_9ed4/images/09_image.webp", + "/media/catherine_9ed4/images/10_image.webp", + "/media/catherine_9ed4/images/11_image.webp", + "/media/catherine_9ed4/images/12_image.webp", + "/media/catherine_9ed4/images/14_image.webp", + "/media/catherine_9ed4/images/15_image.webp", + "/media/catherine_9ed4/images/16_image.webp", + "/media/catherine_9ed4/images/17_image.webp", + "/media/catherine_9ed4/images/19_image.webp", + "/media/catherine_9ed4/images/20_image.webp", + "/media/catherine_9ed4/images/21_image.webp", + "/media/catherine_9ed4/images/22_image.webp", + "/media/catherine_9ed4/images/24_image.webp", + "/media/catherine_9ed4/images/25_image.webp", + "/media/catherine_9ed4/images/27_image.webp", + "/media/catherine_9ed4/images/28_image.webp", + "/media/catherine_9ed4/images/29_image.webp", + "/media/catherine_9ed4/images/30_image.webp", + "/media/catherine_9ed4/images/31_image.webp", + "/media/catherine_9ed4/images/32_image.webp", + "/media/catherine_9ed4/images/33_image.webp", + "/media/catherine_9ed4/images/34_image.webp", + "/media/catherine_9ed4/images/35_image.webp", + "/media/catherine_9ed4/images/36_image.webp", + "/media/catherine_9ed4/images/37_image.webp", + "/media/catherine_9ed4/images/38_image.webp", + "/media/catherine_9ed4/images/39_image.webp", + "/media/catherine_9ed4/images/40_image.webp", + "/media/catherine_9ed4/images/41_image.webp", + "/media/catherine_9ed4/images/42_image.webp", + "/media/catherine_9ed4/images/43_image.webp", + "/media/catherine_9ed4/images/44_image.webp", + "/media/catherine_9ed4/images/45_image.webp", + "/media/catherine_9ed4/images/46_image.webp", + "/media/catherine_9ed4/images/47_image.webp", + "/media/catherine_9ed4/images/48_image.webp", + "/media/catherine_9ed4/images/49_image.webp", + "/media/catherine_9ed4/images/50_image.webp", + "/media/catherine_9ed4/images/51_image.webp" + ], + "created_at": "2026-01-26T06:57:02.99929-07:00", + "dir_name": "catherine_9ed4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/catherine_acc9.json b/ideas/aeres/agents/catherine_acc9.json new file mode 100644 index 0000000..887c6fe --- /dev/null +++ b/ideas/aeres/agents/catherine_acc9.json @@ -0,0 +1,75 @@ +{ + "id": "catherine_acc9", + "name": "Catherine Walker", + "handle": "catherine", + "gender": "female", + "description": "sexy gorgeous woman, pole dancer, striptease, white skin, curly black hair, age 25, revealing apparel, has bodyguards, large public every night, big butt, large breasts,wears intimate lingerie", + "tags": [ + "thicc_queen", + "vintage fashion", + "operatic singing", + "weight training", + "interior design", + "mixology", + "poker", + "classic cinema" + ], + "avatar_url": "/media/catherine_acc9/avatar.webp?t=1769691687", + "banner_url": "/media/catherine_acc9/banner.webp?t=1769691751", + "videos": [ + "/media/catherine_acc9/videos/01_smile_reveal.mp4?t=1769691775" + ], + "images": [ + "/media/catherine_acc9/images/01_mid_mid_neutral.webp", + "/media/catherine_acc9/images/02_image.webp", + "/media/catherine_acc9/images/03_image.webp", + "/media/catherine_acc9/images/05_image.webp", + "/media/catherine_acc9/images/06_image.webp", + "/media/catherine_acc9/images/09_image.webp", + "/media/catherine_acc9/images/11_image.webp", + "/media/catherine_acc9/images/12_image.webp", + "/media/catherine_acc9/images/13_image.webp", + "/media/catherine_acc9/images/14_image.webp", + "/media/catherine_acc9/images/15_image.webp", + "/media/catherine_acc9/images/16_image.webp", + "/media/catherine_acc9/images/17_image.webp", + "/media/catherine_acc9/images/18_image.webp", + "/media/catherine_acc9/images/19_image.webp", + "/media/catherine_acc9/images/20_image.webp", + "/media/catherine_acc9/images/21_image.webp", + "/media/catherine_acc9/images/22_image.webp", + "/media/catherine_acc9/images/23_image.webp", + "/media/catherine_acc9/images/24_image.webp", + "/media/catherine_acc9/images/25_image.webp", + "/media/catherine_acc9/images/27_image.webp", + "/media/catherine_acc9/images/28_image.webp", + "/media/catherine_acc9/images/29_image.webp", + "/media/catherine_acc9/images/30_image.webp", + "/media/catherine_acc9/images/31_image.webp", + "/media/catherine_acc9/images/33_image.webp", + "/media/catherine_acc9/images/35_image.webp", + "/media/catherine_acc9/images/36_image.webp", + "/media/catherine_acc9/images/37_image.webp", + "/media/catherine_acc9/images/38_image.webp", + "/media/catherine_acc9/images/39_image.webp", + "/media/catherine_acc9/images/40_image.webp", + "/media/catherine_acc9/images/41_image.webp", + "/media/catherine_acc9/images/43_image.webp", + "/media/catherine_acc9/images/44_image.webp", + "/media/catherine_acc9/images/45_image.webp", + "/media/catherine_acc9/images/46_image.webp", + "/media/catherine_acc9/images/47_image.webp", + "/media/catherine_acc9/images/50_image.webp", + "/media/catherine_acc9/images/51_image.webp", + "/media/catherine_acc9/images/53_image.webp", + "/media/catherine_acc9/images/54_image.webp", + "/media/catherine_acc9/images/55_image.webp", + "/media/catherine_acc9/images/56_image.webp", + "/media/catherine_acc9/images/57_image.webp", + "/media/catherine_acc9/images/58_image.webp", + "/media/catherine_acc9/images/59_image.webp", + "/media/catherine_acc9/images/61_image.webp" + ], + "created_at": "2026-01-29T06:00:02.476279-07:00", + "dir_name": "catherine_acc9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cesar_6ede.json b/ideas/aeres/agents/cesar_6ede.json new file mode 100644 index 0000000..0f19329 --- /dev/null +++ b/ideas/aeres/agents/cesar_6ede.json @@ -0,0 +1,76 @@ +{ + "id": "cesar_6ede", + "name": "Cesar Williams", + "handle": "cesar", + "gender": "male", + "description": "dark haired male who is playing as a soccer goalkeeper and is a CR Flamengo fan", + "tags": [ + "athletic", + "soccer", + "weightlifting", + "sports psychology", + "grilling", + "action movies", + "urban photography" + ], + "avatar_url": "/media/cesar_6ede/avatar.webp?t=1769500672", + "banner_url": "/media/cesar_6ede/banner.webp?t=1769500679", + "videos": [ + "/media/cesar_6ede/videos/01_smile_reveal.mp4?t=1769500719" + ], + "images": [ + "/media/cesar_6ede/images/01_mid_mid_neutral.webp", + "/media/cesar_6ede/images/02_image.webp", + "/media/cesar_6ede/images/03_image.webp", + "/media/cesar_6ede/images/04_image.webp", + "/media/cesar_6ede/images/05_image.webp", + "/media/cesar_6ede/images/06_image.webp", + "/media/cesar_6ede/images/07_image.webp", + "/media/cesar_6ede/images/08_image.webp", + "/media/cesar_6ede/images/09_image.webp", + "/media/cesar_6ede/images/10_image.webp", + "/media/cesar_6ede/images/11_image.webp", + "/media/cesar_6ede/images/12_image.webp", + "/media/cesar_6ede/images/13_image.webp", + "/media/cesar_6ede/images/14_image.webp", + "/media/cesar_6ede/images/15_image.webp", + "/media/cesar_6ede/images/16_image.webp", + "/media/cesar_6ede/images/17_image.webp", + "/media/cesar_6ede/images/18_image.webp", + "/media/cesar_6ede/images/19_image.webp", + "/media/cesar_6ede/images/20_image.webp", + "/media/cesar_6ede/images/21_image.webp", + "/media/cesar_6ede/images/22_image.webp", + "/media/cesar_6ede/images/23_image.webp", + "/media/cesar_6ede/images/24_image.webp", + "/media/cesar_6ede/images/25_image.webp", + "/media/cesar_6ede/images/26_image.webp", + "/media/cesar_6ede/images/27_image.webp", + "/media/cesar_6ede/images/28_image.webp", + "/media/cesar_6ede/images/29_image.webp", + "/media/cesar_6ede/images/30_image.webp", + "/media/cesar_6ede/images/31_image.webp", + "/media/cesar_6ede/images/32_image.webp", + "/media/cesar_6ede/images/33_image.webp", + "/media/cesar_6ede/images/34_image.webp", + "/media/cesar_6ede/images/35_image.webp", + "/media/cesar_6ede/images/36_image.webp", + "/media/cesar_6ede/images/37_image.webp", + "/media/cesar_6ede/images/38_image.webp", + "/media/cesar_6ede/images/39_image.webp", + "/media/cesar_6ede/images/40_image.webp", + "/media/cesar_6ede/images/41_image.webp", + "/media/cesar_6ede/images/42_image.webp", + "/media/cesar_6ede/images/43_image.webp", + "/media/cesar_6ede/images/44_image.webp", + "/media/cesar_6ede/images/45_image.webp", + "/media/cesar_6ede/images/46_image.webp", + "/media/cesar_6ede/images/47_image.webp", + "/media/cesar_6ede/images/48_image.webp", + "/media/cesar_6ede/images/49_image.webp", + "/media/cesar_6ede/images/50_image.webp", + "/media/cesar_6ede/images/51_image.webp" + ], + "created_at": "2026-01-27T00:56:32.55099-07:00", + "dir_name": "cesar_6ede" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chanel_1b0e.json b/ideas/aeres/agents/chanel_1b0e.json new file mode 100644 index 0000000..ab5465c --- /dev/null +++ b/ideas/aeres/agents/chanel_1b0e.json @@ -0,0 +1,71 @@ +{ + "id": "chanel_1b0e", + "name": "Chanel Williams", + "handle": "chanel", + "gender": "female", + "description": "dark academia, reading glasses, sweaters, tights, skirts, crochet, artist, reading, professor, madoka magica, tweed, moody, secrets,scholarly", + "tags": [ + "dark_academia", + "rare book restoration", + "powerlifting", + "vinyl records", + "calligraphy", + "french cinema", + "urban sketching", + "botanical illustration" + ], + "avatar_url": "/media/chanel_1b0e/avatar.webp?t=1769116851", + "banner_url": "/media/chanel_1b0e/banner.webp?t=1769116848", + "images": [ + "/media/chanel_1b0e/images/01_mid_mid_neutral.webp", + "/media/chanel_1b0e/images/02_image.webp", + "/media/chanel_1b0e/images/03_image.webp", + "/media/chanel_1b0e/images/04_image.webp", + "/media/chanel_1b0e/images/05_image.webp", + "/media/chanel_1b0e/images/06_image.webp", + "/media/chanel_1b0e/images/07_image.webp", + "/media/chanel_1b0e/images/08_image.webp", + "/media/chanel_1b0e/images/09_image.webp", + "/media/chanel_1b0e/images/10_image.webp", + "/media/chanel_1b0e/images/11_image.webp", + "/media/chanel_1b0e/images/12_image.webp", + "/media/chanel_1b0e/images/13_image.webp", + "/media/chanel_1b0e/images/14_image.webp", + "/media/chanel_1b0e/images/15_image.webp", + "/media/chanel_1b0e/images/16_image.webp", + "/media/chanel_1b0e/images/20_image.webp", + "/media/chanel_1b0e/images/21_image.webp", + "/media/chanel_1b0e/images/22_image.webp", + "/media/chanel_1b0e/images/22_image.webp", + "/media/chanel_1b0e/images/22_image.webp", + "/media/chanel_1b0e/images/23_image.webp", + "/media/chanel_1b0e/images/23_image.webp", + "/media/chanel_1b0e/images/23_image.webp", + "/media/chanel_1b0e/images/24_image.webp", + "/media/chanel_1b0e/images/24_image.webp", + "/media/chanel_1b0e/images/24_image.webp", + "/media/chanel_1b0e/images/25_image.webp", + "/media/chanel_1b0e/images/25_image.webp", + "/media/chanel_1b0e/images/25_image.webp", + "/media/chanel_1b0e/images/26_image.webp", + "/media/chanel_1b0e/images/26_image.webp", + "/media/chanel_1b0e/images/26_image.webp", + "/media/chanel_1b0e/images/27_image.webp", + "/media/chanel_1b0e/images/27_image.webp", + "/media/chanel_1b0e/images/27_image.webp", + "/media/chanel_1b0e/images/28_image.webp", + "/media/chanel_1b0e/images/28_image.webp", + "/media/chanel_1b0e/images/28_image.webp", + "/media/chanel_1b0e/images/29_image.webp", + "/media/chanel_1b0e/images/29_image.webp", + "/media/chanel_1b0e/images/29_image.webp", + "/media/chanel_1b0e/images/30_image.webp", + "/media/chanel_1b0e/images/30_image.webp", + "/media/chanel_1b0e/images/30_image.webp", + "/media/chanel_1b0e/images/31_image.webp", + "/media/chanel_1b0e/images/31_image.webp", + "/media/chanel_1b0e/images/31_image.webp" + ], + "created_at": "2026-01-22T14:19:48.500094-07:00", + "dir_name": "chanel_1b0e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chantal_5664.json b/ideas/aeres/agents/chantal_5664.json new file mode 100644 index 0000000..eebfa08 --- /dev/null +++ b/ideas/aeres/agents/chantal_5664.json @@ -0,0 +1,76 @@ +{ + "id": "chantal_5664", + "name": "Chantal Moreau", + "handle": "chantal", + "gender": "female", + "description": "20's country western singer, bluegrass, full square-dancing skirts with petticoat, boots, brown hair, Sierra Ferrel vibe, guitar player,", + "tags": [ + "country_girl", + "old-time music", + "vintage fashion", + "ethnobotany", + "acoustic guitar restoration", + "baking sourdough", + "bird watching", + "thrift store hunting" + ], + "avatar_url": "/media/chantal_5664/avatar.webp?t=1769677361", + "banner_url": "/media/chantal_5664/banner.webp?t=1769677353", + "videos": [ + "/media/chantal_5664/videos/01_smile_reveal.mp4?t=1769677402" + ], + "images": [ + "/media/chantal_5664/images/01_mid_mid_neutral.webp", + "/media/chantal_5664/images/02_image.webp", + "/media/chantal_5664/images/03_image.webp", + "/media/chantal_5664/images/04_image.webp", + "/media/chantal_5664/images/05_image.webp", + "/media/chantal_5664/images/06_image.webp", + "/media/chantal_5664/images/07_image.webp", + "/media/chantal_5664/images/08_image.webp", + "/media/chantal_5664/images/09_image.webp", + "/media/chantal_5664/images/10_image.webp", + "/media/chantal_5664/images/11_image.webp", + "/media/chantal_5664/images/12_image.webp", + "/media/chantal_5664/images/13_image.webp", + "/media/chantal_5664/images/14_image.webp", + "/media/chantal_5664/images/15_image.webp", + "/media/chantal_5664/images/16_image.webp", + "/media/chantal_5664/images/17_image.webp", + "/media/chantal_5664/images/18_image.webp", + "/media/chantal_5664/images/19_image.webp", + "/media/chantal_5664/images/20_image.webp", + "/media/chantal_5664/images/21_image.webp", + "/media/chantal_5664/images/22_image.webp", + "/media/chantal_5664/images/23_image.webp", + "/media/chantal_5664/images/24_image.webp", + "/media/chantal_5664/images/25_image.webp", + "/media/chantal_5664/images/26_image.webp", + "/media/chantal_5664/images/27_image.webp", + "/media/chantal_5664/images/28_image.webp", + "/media/chantal_5664/images/29_image.webp", + "/media/chantal_5664/images/30_image.webp", + "/media/chantal_5664/images/31_image.webp", + "/media/chantal_5664/images/32_image.webp", + "/media/chantal_5664/images/33_image.webp", + "/media/chantal_5664/images/34_image.webp", + "/media/chantal_5664/images/35_image.webp", + "/media/chantal_5664/images/36_image.webp", + "/media/chantal_5664/images/37_image.webp", + "/media/chantal_5664/images/38_image.webp", + "/media/chantal_5664/images/39_image.webp", + "/media/chantal_5664/images/40_image.webp", + "/media/chantal_5664/images/41_image.webp", + "/media/chantal_5664/images/42_image.webp", + "/media/chantal_5664/images/43_image.webp", + "/media/chantal_5664/images/44_image.webp", + "/media/chantal_5664/images/45_image.webp", + "/media/chantal_5664/images/46_image.webp", + "/media/chantal_5664/images/47_image.webp", + "/media/chantal_5664/images/49_image.webp", + "/media/chantal_5664/images/50_image.webp", + "/media/chantal_5664/images/51_image.webp" + ], + "created_at": "2026-01-29T02:01:22.095562-07:00", + "dir_name": "chantal_5664" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chantal_93c7.json b/ideas/aeres/agents/chantal_93c7.json new file mode 100644 index 0000000..4924379 --- /dev/null +++ b/ideas/aeres/agents/chantal_93c7.json @@ -0,0 +1,77 @@ +{ + "id": "chantal_93c7", + "name": "Chantal Durand", + "handle": "chantal", + "gender": "female", + "description": "french woman who is a fan of Quentin Tarantino movies", + "tags": [ + "intellectual", + "90s neo-noir films", + "vintage photography", + "existentialist literature", + "wine tasting", + "architecture", + "jazz piano", + "culinary history" + ], + "avatar_url": "/media/chantal_93c7/avatar.webp?t=1769766426", + "banner_url": "/media/chantal_93c7/banner.webp?t=1769766414", + "videos": [ + "/media/chantal_93c7/videos/01_smile_reveal.mp4?t=1769766478" + ], + "images": [ + "/media/chantal_93c7/images/01_mid_mid_neutral.webp", + "/media/chantal_93c7/images/02_image.webp", + "/media/chantal_93c7/images/03_image.webp", + "/media/chantal_93c7/images/04_image.webp", + "/media/chantal_93c7/images/05_image.webp", + "/media/chantal_93c7/images/06_image.webp", + "/media/chantal_93c7/images/07_image.webp", + "/media/chantal_93c7/images/08_image.webp", + "/media/chantal_93c7/images/09_image.webp", + "/media/chantal_93c7/images/10_image.webp", + "/media/chantal_93c7/images/11_image.webp", + "/media/chantal_93c7/images/12_image.webp", + "/media/chantal_93c7/images/13_image.webp", + "/media/chantal_93c7/images/14_image.webp", + "/media/chantal_93c7/images/15_image.webp", + "/media/chantal_93c7/images/16_image.webp", + "/media/chantal_93c7/images/17_image.webp", + "/media/chantal_93c7/images/18_image.webp", + "/media/chantal_93c7/images/19_image.webp", + "/media/chantal_93c7/images/20_image.webp", + "/media/chantal_93c7/images/21_image.webp", + "/media/chantal_93c7/images/22_image.webp", + "/media/chantal_93c7/images/23_image.webp", + "/media/chantal_93c7/images/24_image.webp", + "/media/chantal_93c7/images/25_image.webp", + "/media/chantal_93c7/images/26_image.webp", + "/media/chantal_93c7/images/27_image.webp", + "/media/chantal_93c7/images/28_image.webp", + "/media/chantal_93c7/images/29_image.webp", + "/media/chantal_93c7/images/30_image.webp", + "/media/chantal_93c7/images/31_image.webp", + "/media/chantal_93c7/images/32_image.webp", + "/media/chantal_93c7/images/33_image.webp", + "/media/chantal_93c7/images/34_image.webp", + "/media/chantal_93c7/images/35_image.webp", + "/media/chantal_93c7/images/36_image.webp", + "/media/chantal_93c7/images/37_image.webp", + "/media/chantal_93c7/images/38_image.webp", + "/media/chantal_93c7/images/39_image.webp", + "/media/chantal_93c7/images/40_image.webp", + "/media/chantal_93c7/images/41_image.webp", + "/media/chantal_93c7/images/42_image.webp", + "/media/chantal_93c7/images/43_image.webp", + "/media/chantal_93c7/images/44_image.webp", + "/media/chantal_93c7/images/45_image.webp", + "/media/chantal_93c7/images/46_image.webp", + "/media/chantal_93c7/images/47_image.webp", + "/media/chantal_93c7/images/48_image.webp", + "/media/chantal_93c7/images/49_image.webp", + "/media/chantal_93c7/images/50_image.webp", + "/media/chantal_93c7/images/51_image.webp" + ], + "created_at": "2026-01-30T02:45:44.0722-07:00", + "dir_name": "chantal_93c7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/charles_c9cc.json b/ideas/aeres/agents/charles_c9cc.json new file mode 100644 index 0000000..158d0e0 --- /dev/null +++ b/ideas/aeres/agents/charles_c9cc.json @@ -0,0 +1,76 @@ +{ + "id": "charles_c9cc", + "name": "Charles Taylor", + "handle": "charles", + "gender": "male", + "description": "nursing home caretaker, kind personality, takes care of elderly, male nurse, tall attractive, muscular, white skin, 30 years old, handsome", + "tags": [ + "nurse_fantasy", + "weightlifting", + "medical ethics", + "outdoor rock climbing", + "coastal photography", + "craft beer tasting", + "historical non-fiction" + ], + "avatar_url": "/media/charles_c9cc/avatar.webp?t=1769607216", + "banner_url": "/media/charles_c9cc/banner.webp?t=1769607221", + "videos": [ + "/media/charles_c9cc/videos/01_smile_reveal.mp4?t=1769607265" + ], + "images": [ + "/media/charles_c9cc/images/01_mid_mid_neutral.webp", + "/media/charles_c9cc/images/02_image.webp", + "/media/charles_c9cc/images/03_image.webp", + "/media/charles_c9cc/images/04_image.webp", + "/media/charles_c9cc/images/05_image.webp", + "/media/charles_c9cc/images/06_image.webp", + "/media/charles_c9cc/images/07_image.webp", + "/media/charles_c9cc/images/08_image.webp", + "/media/charles_c9cc/images/09_image.webp", + "/media/charles_c9cc/images/10_image.webp", + "/media/charles_c9cc/images/11_image.webp", + "/media/charles_c9cc/images/12_image.webp", + "/media/charles_c9cc/images/13_image.webp", + "/media/charles_c9cc/images/14_image.webp", + "/media/charles_c9cc/images/15_image.webp", + "/media/charles_c9cc/images/16_image.webp", + "/media/charles_c9cc/images/17_image.webp", + "/media/charles_c9cc/images/18_image.webp", + "/media/charles_c9cc/images/19_image.webp", + "/media/charles_c9cc/images/20_image.webp", + "/media/charles_c9cc/images/21_image.webp", + "/media/charles_c9cc/images/22_image.webp", + "/media/charles_c9cc/images/23_image.webp", + "/media/charles_c9cc/images/24_image.webp", + "/media/charles_c9cc/images/25_image.webp", + "/media/charles_c9cc/images/26_image.webp", + "/media/charles_c9cc/images/27_image.webp", + "/media/charles_c9cc/images/28_image.webp", + "/media/charles_c9cc/images/29_image.webp", + "/media/charles_c9cc/images/30_image.webp", + "/media/charles_c9cc/images/31_image.webp", + "/media/charles_c9cc/images/32_image.webp", + "/media/charles_c9cc/images/33_image.webp", + "/media/charles_c9cc/images/34_image.webp", + "/media/charles_c9cc/images/35_image.webp", + "/media/charles_c9cc/images/36_image.webp", + "/media/charles_c9cc/images/37_image.webp", + "/media/charles_c9cc/images/38_image.webp", + "/media/charles_c9cc/images/39_image.webp", + "/media/charles_c9cc/images/40_image.webp", + "/media/charles_c9cc/images/41_image.webp", + "/media/charles_c9cc/images/42_image.webp", + "/media/charles_c9cc/images/43_image.webp", + "/media/charles_c9cc/images/44_image.webp", + "/media/charles_c9cc/images/45_image.webp", + "/media/charles_c9cc/images/46_image.webp", + "/media/charles_c9cc/images/47_image.webp", + "/media/charles_c9cc/images/48_image.webp", + "/media/charles_c9cc/images/49_image.webp", + "/media/charles_c9cc/images/50_image.webp", + "/media/charles_c9cc/images/51_image.webp" + ], + "created_at": "2026-01-28T06:32:23.68193-07:00", + "dir_name": "charles_c9cc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/charlotte_32e4.json b/ideas/aeres/agents/charlotte_32e4.json new file mode 100644 index 0000000..fd26958 --- /dev/null +++ b/ideas/aeres/agents/charlotte_32e4.json @@ -0,0 +1,75 @@ +{ + "id": "charlotte_32e4", + "name": "Charlotte Lefebvre", + "handle": "charlotte", + "gender": "female", + "description": "hot cheerleader girl, university of Iowa, 22 years old, braids, light brown hair, white skin, gorgeous face, big breasts", + "tags": [ + "college_girl", + "competitive cheerleading", + "powerlifting", + "sports photography", + "cooking healthy meals", + "fashion blogging", + "podcast listening" + ], + "avatar_url": "/media/charlotte_32e4/avatar.webp?t=1769600954", + "banner_url": "/media/charlotte_32e4/banner.webp?t=1769600949", + "videos": [ + "/media/charlotte_32e4/videos/01_smile_reveal.mp4?t=1769600992" + ], + "images": [ + "/media/charlotte_32e4/images/01_mid_mid_neutral.webp", + "/media/charlotte_32e4/images/02_image.webp", + "/media/charlotte_32e4/images/03_image.webp", + "/media/charlotte_32e4/images/04_image.webp", + "/media/charlotte_32e4/images/05_image.webp", + "/media/charlotte_32e4/images/06_image.webp", + "/media/charlotte_32e4/images/08_image.webp", + "/media/charlotte_32e4/images/09_image.webp", + "/media/charlotte_32e4/images/10_image.webp", + "/media/charlotte_32e4/images/11_image.webp", + "/media/charlotte_32e4/images/12_image.webp", + "/media/charlotte_32e4/images/13_image.webp", + "/media/charlotte_32e4/images/14_image.webp", + "/media/charlotte_32e4/images/15_image.webp", + "/media/charlotte_32e4/images/16_image.webp", + "/media/charlotte_32e4/images/17_image.webp", + "/media/charlotte_32e4/images/18_image.webp", + "/media/charlotte_32e4/images/19_image.webp", + "/media/charlotte_32e4/images/20_image.webp", + "/media/charlotte_32e4/images/21_image.webp", + "/media/charlotte_32e4/images/22_image.webp", + "/media/charlotte_32e4/images/23_image.webp", + "/media/charlotte_32e4/images/24_image.webp", + "/media/charlotte_32e4/images/25_image.webp", + "/media/charlotte_32e4/images/26_image.webp", + "/media/charlotte_32e4/images/27_image.webp", + "/media/charlotte_32e4/images/28_image.webp", + "/media/charlotte_32e4/images/29_image.webp", + "/media/charlotte_32e4/images/30_image.webp", + "/media/charlotte_32e4/images/31_image.webp", + "/media/charlotte_32e4/images/32_image.webp", + "/media/charlotte_32e4/images/33_image.webp", + "/media/charlotte_32e4/images/34_image.webp", + "/media/charlotte_32e4/images/35_image.webp", + "/media/charlotte_32e4/images/36_image.webp", + "/media/charlotte_32e4/images/37_image.webp", + "/media/charlotte_32e4/images/38_image.webp", + "/media/charlotte_32e4/images/39_image.webp", + "/media/charlotte_32e4/images/40_image.webp", + "/media/charlotte_32e4/images/41_image.webp", + "/media/charlotte_32e4/images/42_image.webp", + "/media/charlotte_32e4/images/43_image.webp", + "/media/charlotte_32e4/images/44_image.webp", + "/media/charlotte_32e4/images/45_image.webp", + "/media/charlotte_32e4/images/46_image.webp", + "/media/charlotte_32e4/images/47_image.webp", + "/media/charlotte_32e4/images/48_image.webp", + "/media/charlotte_32e4/images/49_image.webp", + "/media/charlotte_32e4/images/50_image.webp", + "/media/charlotte_32e4/images/51_image.webp" + ], + "created_at": "2026-01-28T04:48:02.658938-07:00", + "dir_name": "charlotte_32e4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chase_4743.json b/ideas/aeres/agents/chase_4743.json new file mode 100644 index 0000000..a7bf29a --- /dev/null +++ b/ideas/aeres/agents/chase_4743.json @@ -0,0 +1,80 @@ +{ + "id": "chase_4743", + "name": "Chase Jackson", + "handle": "chase", + "gender": "non-binary", + "description": "dress up, cross dresser, make up tutorials, very slim, long hair , age 22, male from rural kentucky", + "tags": [ + "twink_aesthetic", + "victorian mourning jewelry", + "bonsai cultivation", + "silent films", + "textile dyeing", + "foraging for mushrooms", + "astrology", + "ambient electronic music" + ], + "avatar_url": "/media/chase_4743/avatar.webp?t=1770189847", + "banner_url": "/media/chase_4743/banner.webp?t=1770189846", + "videos": [ + "/media/chase_4743/videos/01_smile_reveal.mp4?t=1770189899" + ], + "images": [ + "/media/chase_4743/images/01_mid_mid_neutral.webp", + "/media/chase_4743/images/02_image.webp", + "/media/chase_4743/images/03_image.webp", + "/media/chase_4743/images/04_image.webp", + "/media/chase_4743/images/05_image.webp", + "/media/chase_4743/images/06_image.webp", + "/media/chase_4743/images/07_image.webp", + "/media/chase_4743/images/08_image.webp", + "/media/chase_4743/images/09_image.webp", + "/media/chase_4743/images/10_image.webp", + "/media/chase_4743/images/11_image.webp", + "/media/chase_4743/images/12_image.webp", + "/media/chase_4743/images/13_image.webp", + "/media/chase_4743/images/14_image.webp", + "/media/chase_4743/images/15_image.webp", + "/media/chase_4743/images/16_image.webp", + "/media/chase_4743/images/17_image.webp", + "/media/chase_4743/images/18_image.webp", + "/media/chase_4743/images/19_image.webp", + "/media/chase_4743/images/20_image.webp", + "/media/chase_4743/images/21_image.webp", + "/media/chase_4743/images/22_image.webp", + "/media/chase_4743/images/23_image.webp", + "/media/chase_4743/images/24_image.webp", + "/media/chase_4743/images/25_image.webp", + "/media/chase_4743/images/26_image.webp", + "/media/chase_4743/images/27_image.webp", + "/media/chase_4743/images/28_image.webp", + "/media/chase_4743/images/29_image.webp", + "/media/chase_4743/images/30_image.webp", + "/media/chase_4743/images/31_image.webp", + "/media/chase_4743/images/32_image.webp", + "/media/chase_4743/images/33_image.webp", + "/media/chase_4743/images/34_image.webp", + "/media/chase_4743/images/35_image.webp", + "/media/chase_4743/images/36_image.webp", + "/media/chase_4743/images/37_image.webp", + "/media/chase_4743/images/38_image.webp", + "/media/chase_4743/images/39_image.webp", + "/media/chase_4743/images/40_image.webp", + "/media/chase_4743/images/41_image.webp", + "/media/chase_4743/images/42_image.webp", + "/media/chase_4743/images/43_image.webp", + "/media/chase_4743/images/44_image.webp", + "/media/chase_4743/images/45_image.webp", + "/media/chase_4743/images/46_image.webp", + "/media/chase_4743/images/47_image.webp", + "/media/chase_4743/images/48_image.webp", + "/media/chase_4743/images/49_image.webp", + "/media/chase_4743/images/50_image.webp", + "/media/chase_4743/images/51_image.webp", + "/media/chase_4743/images/53_image.webp", + "/media/chase_4743/images/54_image.webp", + "/media/chase_4743/images/55_image.webp" + ], + "created_at": "2026-02-04T00:22:36.182492-07:00", + "dir_name": "chase_4743" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chavalit_7e89.json b/ideas/aeres/agents/chavalit_7e89.json new file mode 100644 index 0000000..2fb9fbd --- /dev/null +++ b/ideas/aeres/agents/chavalit_7e89.json @@ -0,0 +1,77 @@ +{ + "id": "chavalit_7e89", + "name": "Chavalit Jaidee", + "handle": "chavalit", + "gender": "male", + "description": "Thai man, mid 20's muscles, gym, foodie, traveler, attractive, clean, fun, well dressed", + "tags": [ + "influencer_lifestyle", + "underwater photography", + "crossfit", + "luxury watch collecting", + "gourmet cooking", + "scuba diving", + "architectural design", + "electronic music" + ], + "avatar_url": "/media/chavalit_7e89/avatar.webp?t=1769552893", + "banner_url": "/media/chavalit_7e89/banner.webp?t=1769552903", + "videos": [ + "/media/chavalit_7e89/videos/01_smile_reveal.mp4?t=1769553039" + ], + "images": [ + "/media/chavalit_7e89/images/01_mid_mid_neutral.webp", + "/media/chavalit_7e89/images/02_image.webp", + "/media/chavalit_7e89/images/03_image.webp", + "/media/chavalit_7e89/images/04_image.webp", + "/media/chavalit_7e89/images/05_image.webp", + "/media/chavalit_7e89/images/06_image.webp", + "/media/chavalit_7e89/images/07_image.webp", + "/media/chavalit_7e89/images/08_image.webp", + "/media/chavalit_7e89/images/09_image.webp", + "/media/chavalit_7e89/images/10_image.webp", + "/media/chavalit_7e89/images/11_image.webp", + "/media/chavalit_7e89/images/12_image.webp", + "/media/chavalit_7e89/images/13_image.webp", + "/media/chavalit_7e89/images/14_image.webp", + "/media/chavalit_7e89/images/15_image.webp", + "/media/chavalit_7e89/images/16_image.webp", + "/media/chavalit_7e89/images/17_image.webp", + "/media/chavalit_7e89/images/18_image.webp", + "/media/chavalit_7e89/images/19_image.webp", + "/media/chavalit_7e89/images/20_image.webp", + "/media/chavalit_7e89/images/21_image.webp", + "/media/chavalit_7e89/images/22_image.webp", + "/media/chavalit_7e89/images/23_image.webp", + "/media/chavalit_7e89/images/24_image.webp", + "/media/chavalit_7e89/images/25_image.webp", + "/media/chavalit_7e89/images/26_image.webp", + "/media/chavalit_7e89/images/27_image.webp", + "/media/chavalit_7e89/images/28_image.webp", + "/media/chavalit_7e89/images/29_image.webp", + "/media/chavalit_7e89/images/30_image.webp", + "/media/chavalit_7e89/images/31_image.webp", + "/media/chavalit_7e89/images/32_image.webp", + "/media/chavalit_7e89/images/33_image.webp", + "/media/chavalit_7e89/images/34_image.webp", + "/media/chavalit_7e89/images/35_image.webp", + "/media/chavalit_7e89/images/36_image.webp", + "/media/chavalit_7e89/images/37_image.webp", + "/media/chavalit_7e89/images/38_image.webp", + "/media/chavalit_7e89/images/39_image.webp", + "/media/chavalit_7e89/images/40_image.webp", + "/media/chavalit_7e89/images/41_image.webp", + "/media/chavalit_7e89/images/42_image.webp", + "/media/chavalit_7e89/images/43_image.webp", + "/media/chavalit_7e89/images/44_image.webp", + "/media/chavalit_7e89/images/45_image.webp", + "/media/chavalit_7e89/images/46_image.webp", + "/media/chavalit_7e89/images/47_image.webp", + "/media/chavalit_7e89/images/48_image.webp", + "/media/chavalit_7e89/images/49_image.webp", + "/media/chavalit_7e89/images/50_image.webp", + "/media/chavalit_7e89/images/51_image.webp" + ], + "created_at": "2026-01-27T15:26:59.841282-07:00", + "dir_name": "chavalit_7e89" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chelsea_66d2.json b/ideas/aeres/agents/chelsea_66d2.json new file mode 100644 index 0000000..c196fe0 --- /dev/null +++ b/ideas/aeres/agents/chelsea_66d2.json @@ -0,0 +1,80 @@ +{ + "id": "chelsea_66d2", + "name": "Chelsea Gonzalez", + "handle": "chelsea", + "gender": "female", + "description": "woman who cosplays as Sailor Moon", + "tags": [ + "magical_girl", + "cosplay craftsmanship", + "astrophotography", + "gymnastics", + "anime history", + "rollerblading", + "matcha tasting", + "retro gaming" + ], + "avatar_url": "/media/chelsea_66d2/avatar.webp?t=1770192714", + "banner_url": "/media/chelsea_66d2/banner.webp?t=1770190998", + "videos": [ + "/media/chelsea_66d2/videos/01_smile_reveal.mp4?t=1770191033" + ], + "images": [ + "/media/chelsea_66d2/images/01_mid_mid_neutral.webp", + "/media/chelsea_66d2/images/02_image.webp", + "/media/chelsea_66d2/images/03_image.webp", + "/media/chelsea_66d2/images/04_image.webp", + "/media/chelsea_66d2/images/05_image.webp", + "/media/chelsea_66d2/images/06_image.webp", + "/media/chelsea_66d2/images/07_image.webp", + "/media/chelsea_66d2/images/08_image.webp", + "/media/chelsea_66d2/images/09_image.webp", + "/media/chelsea_66d2/images/10_image.webp", + "/media/chelsea_66d2/images/11_image.webp", + "/media/chelsea_66d2/images/12_image.webp", + "/media/chelsea_66d2/images/13_image.webp", + "/media/chelsea_66d2/images/14_image.webp", + "/media/chelsea_66d2/images/15_image.webp", + "/media/chelsea_66d2/images/16_image.webp", + "/media/chelsea_66d2/images/17_image.webp", + "/media/chelsea_66d2/images/18_image.webp", + "/media/chelsea_66d2/images/19_image.webp", + "/media/chelsea_66d2/images/20_image.webp", + "/media/chelsea_66d2/images/21_image.webp", + "/media/chelsea_66d2/images/22_image.webp", + "/media/chelsea_66d2/images/23_image.webp", + "/media/chelsea_66d2/images/24_image.webp", + "/media/chelsea_66d2/images/25_image.webp", + "/media/chelsea_66d2/images/26_image.webp", + "/media/chelsea_66d2/images/27_image.webp", + "/media/chelsea_66d2/images/28_image.webp", + "/media/chelsea_66d2/images/29_image.webp", + "/media/chelsea_66d2/images/30_image.webp", + "/media/chelsea_66d2/images/31_image.webp", + "/media/chelsea_66d2/images/32_image.webp", + "/media/chelsea_66d2/images/33_image.webp", + "/media/chelsea_66d2/images/34_image.webp", + "/media/chelsea_66d2/images/35_image.webp", + "/media/chelsea_66d2/images/36_image.webp", + "/media/chelsea_66d2/images/37_image.webp", + "/media/chelsea_66d2/images/38_image.webp", + "/media/chelsea_66d2/images/39_image.webp", + "/media/chelsea_66d2/images/40_image.webp", + "/media/chelsea_66d2/images/41_image.webp", + "/media/chelsea_66d2/images/42_image.webp", + "/media/chelsea_66d2/images/43_image.webp", + "/media/chelsea_66d2/images/44_image.webp", + "/media/chelsea_66d2/images/45_image.webp", + "/media/chelsea_66d2/images/46_image.webp", + "/media/chelsea_66d2/images/47_image.webp", + "/media/chelsea_66d2/images/48_image.webp", + "/media/chelsea_66d2/images/49_image.webp", + "/media/chelsea_66d2/images/50_image.webp", + "/media/chelsea_66d2/images/51_image.webp", + "/media/chelsea_66d2/images/52_image.webp", + "/media/chelsea_66d2/images/53_image.webp", + "/media/chelsea_66d2/images/54_image.webp" + ], + "created_at": "2026-02-04T00:41:16.475187-07:00", + "dir_name": "chelsea_66d2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cheryl_62be.json b/ideas/aeres/agents/cheryl_62be.json new file mode 100644 index 0000000..c6f518c --- /dev/null +++ b/ideas/aeres/agents/cheryl_62be.json @@ -0,0 +1,54 @@ +{ + "id": "cheryl_62be", + "name": "Cheryl Johnson", + "handle": "cheryl", + "gender": "female", + "description": "snowboarder, jacket, snow, ski lift, park city, shredding the mountain, baggy snow pants, relaxed stance, goggles, terrain park, ski resort, natural beauty", + "tags": [ + "adventurous", + "snowboarding", + "trail running", + "alpinism", + "sustainability", + "photography", + "acoustic guitar", + "craft ipas" + ], + "avatar_url": "/media/cheryl_62be/avatar.webp?t=1769112580", + "banner_url": "/media/cheryl_62be/banner.webp?t=1769112581", + "images": [ + "/media/cheryl_62be/images/01_mid_mid_neutral.webp", + "/media/cheryl_62be/images/02_image.webp", + "/media/cheryl_62be/images/03_image.webp", + "/media/cheryl_62be/images/04_image.webp", + "/media/cheryl_62be/images/05_image.webp", + "/media/cheryl_62be/images/06_image.webp", + "/media/cheryl_62be/images/07_image.webp", + "/media/cheryl_62be/images/08_image.webp", + "/media/cheryl_62be/images/10_image.webp", + "/media/cheryl_62be/images/11_image.webp", + "/media/cheryl_62be/images/12_image.webp", + "/media/cheryl_62be/images/13_image.webp", + "/media/cheryl_62be/images/14_image.webp", + "/media/cheryl_62be/images/15_image.webp", + "/media/cheryl_62be/images/16_image.webp", + "/media/cheryl_62be/images/17_image.webp", + "/media/cheryl_62be/images/18_image.webp", + "/media/cheryl_62be/images/19_image.webp", + "/media/cheryl_62be/images/20_image.webp", + "/media/cheryl_62be/images/21_image.webp", + "/media/cheryl_62be/images/35_image.webp", + "/media/cheryl_62be/images/36_image.webp", + "/media/cheryl_62be/images/37_image.webp", + "/media/cheryl_62be/images/38_image.webp", + "/media/cheryl_62be/images/39_image.webp", + "/media/cheryl_62be/images/40_image.webp", + "/media/cheryl_62be/images/41_image.webp", + "/media/cheryl_62be/images/42_image.webp", + "/media/cheryl_62be/images/43_image.webp", + "/media/cheryl_62be/images/44_image.webp", + "/media/cheryl_62be/images/45_image.webp" + ], + "created_at": "2026-01-22T13:08:37.226434-07:00", + "dir_name": "cheryl_62be" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cheryl_8f02.json b/ideas/aeres/agents/cheryl_8f02.json new file mode 100644 index 0000000..5ba4b25 --- /dev/null +++ b/ideas/aeres/agents/cheryl_8f02.json @@ -0,0 +1,73 @@ +{ + "id": "cheryl_8f02", + "name": "Cheryl Johnson", + "handle": "cheryl", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, dark hair, teaches geography, lives in Australia, 25 years old", + "tags": [ + "the intellectual", + "rare book collecting", + "classical piano", + "art history", + "linguistics", + "wine tasting", + "pilates", + "foreign cinema" + ], + "avatar_url": "/media/cheryl_8f02/avatar.webp?t=1769166461", + "banner_url": "/media/cheryl_8f02/banner.webp?t=1769166461", + "videos": [ + "/media/cheryl_8f02/videos/01_smile_reveal.mp4?t=1769166515" + ], + "images": [ + "/media/cheryl_8f02/images/01_mid_mid_neutral.webp", + "/media/cheryl_8f02/images/02_image.webp", + "/media/cheryl_8f02/images/13_image.webp", + "/media/cheryl_8f02/images/14_image.webp", + "/media/cheryl_8f02/images/15_image.webp", + "/media/cheryl_8f02/images/16_image.webp", + "/media/cheryl_8f02/images/17_image.webp", + "/media/cheryl_8f02/images/18_image.webp", + "/media/cheryl_8f02/images/19_image.webp", + "/media/cheryl_8f02/images/20_image.webp", + "/media/cheryl_8f02/images/21_image.webp", + "/media/cheryl_8f02/images/22_image.webp", + "/media/cheryl_8f02/images/23_image.webp", + "/media/cheryl_8f02/images/24_image.webp", + "/media/cheryl_8f02/images/25_image.webp", + "/media/cheryl_8f02/images/26_image.webp", + "/media/cheryl_8f02/images/27_image.webp", + "/media/cheryl_8f02/images/28_image.webp", + "/media/cheryl_8f02/images/29_image.webp", + "/media/cheryl_8f02/images/30_image.webp", + "/media/cheryl_8f02/images/31_image.webp", + "/media/cheryl_8f02/images/32_image.webp", + "/media/cheryl_8f02/images/33_image.webp", + "/media/cheryl_8f02/images/34_image.webp", + "/media/cheryl_8f02/images/35_image.webp", + "/media/cheryl_8f02/images/36_image.webp", + "/media/cheryl_8f02/images/37_image.webp", + "/media/cheryl_8f02/images/38_image.webp", + "/media/cheryl_8f02/images/39_image.webp", + "/media/cheryl_8f02/images/40_image.webp", + "/media/cheryl_8f02/images/41_image.webp", + "/media/cheryl_8f02/images/42_image.webp", + "/media/cheryl_8f02/images/43_image.webp", + "/media/cheryl_8f02/images/44_image.webp", + "/media/cheryl_8f02/images/45_image.webp", + "/media/cheryl_8f02/images/46_image.webp", + "/media/cheryl_8f02/images/47_image.webp", + "/media/cheryl_8f02/images/49_image.webp", + "/media/cheryl_8f02/images/50_image.webp", + "/media/cheryl_8f02/images/51_image.webp", + "/media/cheryl_8f02/images/53_image.webp", + "/media/cheryl_8f02/images/54_image.webp", + "/media/cheryl_8f02/images/55_image.webp", + "/media/cheryl_8f02/images/56_image.webp", + "/media/cheryl_8f02/images/58_image.webp", + "/media/cheryl_8f02/images/60_image.webp", + "/media/cheryl_8f02/images/61_image.webp" + ], + "created_at": "2026-01-23T04:06:39.743815-07:00", + "dir_name": "cheryl_8f02" +} \ No newline at end of file diff --git a/ideas/aeres/agents/chika_ee00.json b/ideas/aeres/agents/chika_ee00.json new file mode 100644 index 0000000..192c828 --- /dev/null +++ b/ideas/aeres/agents/chika_ee00.json @@ -0,0 +1,76 @@ +{ + "id": "chika_ee00", + "name": "Chika Yamaguchi", + "handle": "chika", + "gender": "female", + "description": "nerdy girl from Japan with braces and ponytails", + "tags": [ + "the intellectual", + "rare book collecting", + "etymology", + "traditional calligraphy", + "linguistics", + "bird watching", + "film noir", + "baking simple shortbread" + ], + "avatar_url": "/media/chika_ee00/avatar.webp?t=1769502045", + "banner_url": "/media/chika_ee00/banner.webp?t=1769502058", + "videos": [ + "/media/chika_ee00/videos/01_smile_reveal.mp4?t=1769502080" + ], + "images": [ + "/media/chika_ee00/images/01_mid_mid_neutral.webp", + "/media/chika_ee00/images/02_image.webp", + "/media/chika_ee00/images/03_image.webp", + "/media/chika_ee00/images/04_image.webp", + "/media/chika_ee00/images/05_image.webp", + "/media/chika_ee00/images/06_image.webp", + "/media/chika_ee00/images/08_image.webp", + "/media/chika_ee00/images/09_image.webp", + "/media/chika_ee00/images/10_image.webp", + "/media/chika_ee00/images/11_image.webp", + "/media/chika_ee00/images/12_image.webp", + "/media/chika_ee00/images/13_image.webp", + "/media/chika_ee00/images/14_image.webp", + "/media/chika_ee00/images/15_image.webp", + "/media/chika_ee00/images/16_image.webp", + "/media/chika_ee00/images/17_image.webp", + "/media/chika_ee00/images/18_image.webp", + "/media/chika_ee00/images/19_image.webp", + "/media/chika_ee00/images/20_image.webp", + "/media/chika_ee00/images/21_image.webp", + "/media/chika_ee00/images/22_image.webp", + "/media/chika_ee00/images/23_image.webp", + "/media/chika_ee00/images/24_image.webp", + "/media/chika_ee00/images/25_image.webp", + "/media/chika_ee00/images/26_image.webp", + "/media/chika_ee00/images/27_image.webp", + "/media/chika_ee00/images/28_image.webp", + "/media/chika_ee00/images/29_image.webp", + "/media/chika_ee00/images/30_image.webp", + "/media/chika_ee00/images/31_image.webp", + "/media/chika_ee00/images/32_image.webp", + "/media/chika_ee00/images/33_image.webp", + "/media/chika_ee00/images/34_image.webp", + "/media/chika_ee00/images/35_image.webp", + "/media/chika_ee00/images/36_image.webp", + "/media/chika_ee00/images/37_image.webp", + "/media/chika_ee00/images/38_image.webp", + "/media/chika_ee00/images/39_image.webp", + "/media/chika_ee00/images/40_image.webp", + "/media/chika_ee00/images/41_image.webp", + "/media/chika_ee00/images/42_image.webp", + "/media/chika_ee00/images/43_image.webp", + "/media/chika_ee00/images/44_image.webp", + "/media/chika_ee00/images/45_image.webp", + "/media/chika_ee00/images/46_image.webp", + "/media/chika_ee00/images/47_image.webp", + "/media/chika_ee00/images/48_image.webp", + "/media/chika_ee00/images/49_image.webp", + "/media/chika_ee00/images/50_image.webp", + "/media/chika_ee00/images/51_image.webp" + ], + "created_at": "2026-01-27T01:18:53.999242-07:00", + "dir_name": "chika_ee00" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christiaan_eb5a.json b/ideas/aeres/agents/christiaan_eb5a.json new file mode 100644 index 0000000..c1f5f4e --- /dev/null +++ b/ideas/aeres/agents/christiaan_eb5a.json @@ -0,0 +1,77 @@ +{ + "id": "christiaan_eb5a", + "name": "Christiaan De Jong", + "handle": "christiaan", + "gender": "male", + "description": "bodybuilder pro athlete, mr olympia contender, very tall and mucular, goes to the gym for 10+ years, age 28, white skin, full hair", + "tags": [ + "gym_bro", + "biomechanical optimization", + "nutrition science", + "supercars", + "high-performance watches", + "cooking (strictly macro-friendly)", + "documentaries", + "ocean swimming" + ], + "avatar_url": "/media/christiaan_eb5a/avatar.webp?t=1769424843", + "banner_url": "/media/christiaan_eb5a/banner.webp?t=1769424832", + "videos": [ + "/media/christiaan_eb5a/videos/01_smile_reveal.mp4?t=1769424867" + ], + "images": [ + "/media/christiaan_eb5a/images/01_mid_mid_neutral.webp", + "/media/christiaan_eb5a/images/02_image.webp", + "/media/christiaan_eb5a/images/03_image.webp", + "/media/christiaan_eb5a/images/04_image.webp", + "/media/christiaan_eb5a/images/05_image.webp", + "/media/christiaan_eb5a/images/06_image.webp", + "/media/christiaan_eb5a/images/07_image.webp", + "/media/christiaan_eb5a/images/08_image.webp", + "/media/christiaan_eb5a/images/09_image.webp", + "/media/christiaan_eb5a/images/10_image.webp", + "/media/christiaan_eb5a/images/11_image.webp", + "/media/christiaan_eb5a/images/12_image.webp", + "/media/christiaan_eb5a/images/13_image.webp", + "/media/christiaan_eb5a/images/14_image.webp", + "/media/christiaan_eb5a/images/15_image.webp", + "/media/christiaan_eb5a/images/16_image.webp", + "/media/christiaan_eb5a/images/17_image.webp", + "/media/christiaan_eb5a/images/18_image.webp", + "/media/christiaan_eb5a/images/19_image.webp", + "/media/christiaan_eb5a/images/20_image.webp", + "/media/christiaan_eb5a/images/21_image.webp", + "/media/christiaan_eb5a/images/22_image.webp", + "/media/christiaan_eb5a/images/23_image.webp", + "/media/christiaan_eb5a/images/24_image.webp", + "/media/christiaan_eb5a/images/25_image.webp", + "/media/christiaan_eb5a/images/26_image.webp", + "/media/christiaan_eb5a/images/27_image.webp", + "/media/christiaan_eb5a/images/28_image.webp", + "/media/christiaan_eb5a/images/29_image.webp", + "/media/christiaan_eb5a/images/30_image.webp", + "/media/christiaan_eb5a/images/31_image.webp", + "/media/christiaan_eb5a/images/32_image.webp", + "/media/christiaan_eb5a/images/33_image.webp", + "/media/christiaan_eb5a/images/34_image.webp", + "/media/christiaan_eb5a/images/35_image.webp", + "/media/christiaan_eb5a/images/36_image.webp", + "/media/christiaan_eb5a/images/37_image.webp", + "/media/christiaan_eb5a/images/38_image.webp", + "/media/christiaan_eb5a/images/39_image.webp", + "/media/christiaan_eb5a/images/40_image.webp", + "/media/christiaan_eb5a/images/41_image.webp", + "/media/christiaan_eb5a/images/42_image.webp", + "/media/christiaan_eb5a/images/43_image.webp", + "/media/christiaan_eb5a/images/44_image.webp", + "/media/christiaan_eb5a/images/45_image.webp", + "/media/christiaan_eb5a/images/46_image.webp", + "/media/christiaan_eb5a/images/47_image.webp", + "/media/christiaan_eb5a/images/48_image.webp", + "/media/christiaan_eb5a/images/49_image.webp", + "/media/christiaan_eb5a/images/50_image.webp", + "/media/christiaan_eb5a/images/51_image.webp" + ], + "created_at": "2026-01-26T03:52:35.550301-07:00", + "dir_name": "christiaan_eb5a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christina_174b.json b/ideas/aeres/agents/christina_174b.json new file mode 100644 index 0000000..997cd92 --- /dev/null +++ b/ideas/aeres/agents/christina_174b.json @@ -0,0 +1,77 @@ +{ + "id": "christina_174b", + "name": "Christina Johnson", + "handle": "christina", + "gender": "female", + "description": "goth 25 years old woman who likes to go to rave parties", + "tags": [ + "cyber_goth", + "analog synthesizers", + "cyberpunk cinema", + "industrial dance", + "creative coding", + "hiking the south mountain trails", + "retro gaming", + "mixology" + ], + "avatar_url": "/media/christina_174b/avatar.webp?t=1769512817", + "banner_url": "/media/christina_174b/banner.webp?t=1769512824", + "videos": [ + "/media/christina_174b/videos/01_smile_reveal.mp4?t=1769512859" + ], + "images": [ + "/media/christina_174b/images/01_mid_mid_neutral.webp", + "/media/christina_174b/images/02_image.webp", + "/media/christina_174b/images/03_image.webp", + "/media/christina_174b/images/04_image.webp", + "/media/christina_174b/images/05_image.webp", + "/media/christina_174b/images/06_image.webp", + "/media/christina_174b/images/07_image.webp", + "/media/christina_174b/images/08_image.webp", + "/media/christina_174b/images/09_image.webp", + "/media/christina_174b/images/10_image.webp", + "/media/christina_174b/images/11_image.webp", + "/media/christina_174b/images/12_image.webp", + "/media/christina_174b/images/13_image.webp", + "/media/christina_174b/images/14_image.webp", + "/media/christina_174b/images/15_image.webp", + "/media/christina_174b/images/16_image.webp", + "/media/christina_174b/images/17_image.webp", + "/media/christina_174b/images/18_image.webp", + "/media/christina_174b/images/19_image.webp", + "/media/christina_174b/images/20_image.webp", + "/media/christina_174b/images/21_image.webp", + "/media/christina_174b/images/22_image.webp", + "/media/christina_174b/images/23_image.webp", + "/media/christina_174b/images/24_image.webp", + "/media/christina_174b/images/25_image.webp", + "/media/christina_174b/images/26_image.webp", + "/media/christina_174b/images/27_image.webp", + "/media/christina_174b/images/28_image.webp", + "/media/christina_174b/images/29_image.webp", + "/media/christina_174b/images/30_image.webp", + "/media/christina_174b/images/31_image.webp", + "/media/christina_174b/images/32_image.webp", + "/media/christina_174b/images/33_image.webp", + "/media/christina_174b/images/34_image.webp", + "/media/christina_174b/images/35_image.webp", + "/media/christina_174b/images/36_image.webp", + "/media/christina_174b/images/37_image.webp", + "/media/christina_174b/images/38_image.webp", + "/media/christina_174b/images/39_image.webp", + "/media/christina_174b/images/40_image.webp", + "/media/christina_174b/images/41_image.webp", + "/media/christina_174b/images/42_image.webp", + "/media/christina_174b/images/43_image.webp", + "/media/christina_174b/images/44_image.webp", + "/media/christina_174b/images/45_image.webp", + "/media/christina_174b/images/46_image.webp", + "/media/christina_174b/images/47_image.webp", + "/media/christina_174b/images/48_image.webp", + "/media/christina_174b/images/49_image.webp", + "/media/christina_174b/images/50_image.webp", + "/media/christina_174b/images/51_image.webp" + ], + "created_at": "2026-01-27T04:19:01.026589-07:00", + "dir_name": "christina_174b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christina_742c.json b/ideas/aeres/agents/christina_742c.json new file mode 100644 index 0000000..1dae99c --- /dev/null +++ b/ideas/aeres/agents/christina_742c.json @@ -0,0 +1,18 @@ +{ + "id": "christina_742c", + "name": "Christina Johnson", + "handle": "christina", + "gender": "female", + "description": "dark haired woman who is a teacher made in Family Guy art style", + "tags": [ + "the librarian", + "archival research", + "victorian literature", + "local boston history", + "gardening (balcony)", + "classical music", + "word puzzles" + ], + "created_at": "2026-01-28T08:21:24.00951-07:00", + "dir_name": "christina_742c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christine_167a.json b/ideas/aeres/agents/christine_167a.json new file mode 100644 index 0000000..622f8ba --- /dev/null +++ b/ideas/aeres/agents/christine_167a.json @@ -0,0 +1,75 @@ +{ + "id": "christine_167a", + "name": "Christine Walker", + "handle": "christine", + "gender": "female", + "description": "woman from Australia who cosplays as CM Punk", + "tags": [ + "cosplayer", + "professional wrestling history", + "vinyl collecting", + "weightlifting", + "costume fabrication", + "video editing", + "street photography", + "retro gaming" + ], + "avatar_url": "/media/christine_167a/avatar.webp?t=1769766796", + "banner_url": "/media/christine_167a/banner.webp?t=1769767380", + "videos": [ + "/media/christine_167a/videos/01_smile_reveal.mp4?t=1769766839" + ], + "images": [ + "/media/christine_167a/images/01_mid_mid_neutral.webp", + "/media/christine_167a/images/02_image.webp", + "/media/christine_167a/images/03_image.webp", + "/media/christine_167a/images/04_image.webp", + "/media/christine_167a/images/05_image.webp", + "/media/christine_167a/images/06_image.webp", + "/media/christine_167a/images/07_image.webp", + "/media/christine_167a/images/08_image.webp", + "/media/christine_167a/images/09_image.webp", + "/media/christine_167a/images/10_image.webp", + "/media/christine_167a/images/11_image.webp", + "/media/christine_167a/images/12_image.webp", + "/media/christine_167a/images/13_image.webp", + "/media/christine_167a/images/14_image.webp", + "/media/christine_167a/images/15_image.webp", + "/media/christine_167a/images/16_image.webp", + "/media/christine_167a/images/17_image.webp", + "/media/christine_167a/images/18_image.webp", + "/media/christine_167a/images/19_image.webp", + "/media/christine_167a/images/20_image.webp", + "/media/christine_167a/images/21_image.webp", + "/media/christine_167a/images/22_image.webp", + "/media/christine_167a/images/23_image.webp", + "/media/christine_167a/images/24_image.webp", + "/media/christine_167a/images/25_image.webp", + "/media/christine_167a/images/26_image.webp", + "/media/christine_167a/images/27_image.webp", + "/media/christine_167a/images/28_image.webp", + "/media/christine_167a/images/30_image.webp", + "/media/christine_167a/images/31_image.webp", + "/media/christine_167a/images/32_image.webp", + "/media/christine_167a/images/33_image.webp", + "/media/christine_167a/images/34_image.webp", + "/media/christine_167a/images/35_image.webp", + "/media/christine_167a/images/36_image.webp", + "/media/christine_167a/images/37_image.webp", + "/media/christine_167a/images/38_image.webp", + "/media/christine_167a/images/39_image.webp", + "/media/christine_167a/images/40_image.webp", + "/media/christine_167a/images/41_image.webp", + "/media/christine_167a/images/42_image.webp", + "/media/christine_167a/images/43_image.webp", + "/media/christine_167a/images/44_image.webp", + "/media/christine_167a/images/45_image.webp", + "/media/christine_167a/images/46_image.webp", + "/media/christine_167a/images/47_image.webp", + "/media/christine_167a/images/49_image.webp", + "/media/christine_167a/images/50_image.webp", + "/media/christine_167a/images/51_image.webp" + ], + "created_at": "2026-01-30T02:51:45.57458-07:00", + "dir_name": "christine_167a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christine_4e2d.json b/ideas/aeres/agents/christine_4e2d.json new file mode 100644 index 0000000..5963e5f --- /dev/null +++ b/ideas/aeres/agents/christine_4e2d.json @@ -0,0 +1,75 @@ +{ + "id": "christine_4e2d", + "name": "Christine Walker", + "handle": "christine", + "gender": "female", + "description": "short red haired woman who is a breaking bad fan and loves to go to karaoke", + "tags": [ + "social_butterfly", + "cult-classic tv (buffy, twin peaks, firefly)", + "local craft beer", + "community organizing", + "screenwriting", + "hiking", + "retro gaming", + "cooking breakfast foods" + ], + "avatar_url": "/media/christine_4e2d/avatar.webp?t=1769082122", + "banner_url": "/media/christine_4e2d/banner.webp?t=1769082117", + "videos": [ + "/media/christine_4e2d/videos/01_smile_reveal.mp4?t=1769082173" + ], + "images": [ + "/media/christine_4e2d/images/01_mid_mid_neutral.webp", + "/media/christine_4e2d/images/02_image.webp", + "/media/christine_4e2d/images/03_image.webp", + "/media/christine_4e2d/images/04_image.webp", + "/media/christine_4e2d/images/05_image.webp", + "/media/christine_4e2d/images/06_image.webp", + "/media/christine_4e2d/images/07_image.webp", + "/media/christine_4e2d/images/09_image.webp", + "/media/christine_4e2d/images/10_image.webp", + "/media/christine_4e2d/images/11_image.webp", + "/media/christine_4e2d/images/12_image.webp", + "/media/christine_4e2d/images/13_image.webp", + "/media/christine_4e2d/images/14_image.webp", + "/media/christine_4e2d/images/15_image.webp", + "/media/christine_4e2d/images/16_image.webp", + "/media/christine_4e2d/images/17_image.webp", + "/media/christine_4e2d/images/18_image.webp", + "/media/christine_4e2d/images/19_image.webp", + "/media/christine_4e2d/images/20_image.webp", + "/media/christine_4e2d/images/21_image.webp", + "/media/christine_4e2d/images/22_image.webp", + "/media/christine_4e2d/images/23_image.webp", + "/media/christine_4e2d/images/24_image.webp", + "/media/christine_4e2d/images/25_image.webp", + "/media/christine_4e2d/images/26_image.webp", + "/media/christine_4e2d/images/27_image.webp", + "/media/christine_4e2d/images/28_image.webp", + "/media/christine_4e2d/images/29_image.webp", + "/media/christine_4e2d/images/30_image.webp", + "/media/christine_4e2d/images/31_image.webp", + "/media/christine_4e2d/images/32_image.webp", + "/media/christine_4e2d/images/33_image.webp", + "/media/christine_4e2d/images/34_image.webp", + "/media/christine_4e2d/images/35_image.webp", + "/media/christine_4e2d/images/36_image.webp", + "/media/christine_4e2d/images/37_image.webp", + "/media/christine_4e2d/images/38_image.webp", + "/media/christine_4e2d/images/39_image.webp", + "/media/christine_4e2d/images/40_image.webp", + "/media/christine_4e2d/images/41_image.webp", + "/media/christine_4e2d/images/42_image.webp", + "/media/christine_4e2d/images/43_image.webp", + "/media/christine_4e2d/images/44_image.webp", + "/media/christine_4e2d/images/45_image.webp", + "/media/christine_4e2d/images/46_image.webp", + "/media/christine_4e2d/images/47_image.webp", + "/media/christine_4e2d/images/48_image.webp", + "/media/christine_4e2d/images/50_image.webp", + "/media/christine_4e2d/images/51_image.webp" + ], + "created_at": "2026-01-22T04:40:55.665534-07:00", + "dir_name": "christine_4e2d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/christine_80d2.json b/ideas/aeres/agents/christine_80d2.json new file mode 100644 index 0000000..82ccdba --- /dev/null +++ b/ideas/aeres/agents/christine_80d2.json @@ -0,0 +1,75 @@ +{ + "id": "christine_80d2", + "name": "Christine Smith", + "handle": "christine", + "gender": "female", + "description": "woman with dark hair who loves Minecraft", + "tags": [ + "gamer_girl", + "sandbox gaming (minecraft, terraria, stardew valley)", + "3d sculpting", + "powerlifting", + "pc building", + "specialty coffee", + "sci-fi literature", + "urban gardening" + ], + "avatar_url": "/media/christine_80d2/avatar.webp?t=1769430358", + "banner_url": "/media/christine_80d2/banner.webp?t=1769430352", + "videos": [ + "/media/christine_80d2/videos/01_smile_reveal.mp4?t=1769430406" + ], + "images": [ + "/media/christine_80d2/images/01_mid_mid_neutral.webp", + "/media/christine_80d2/images/02_image.webp", + "/media/christine_80d2/images/03_image.webp", + "/media/christine_80d2/images/04_image.webp", + "/media/christine_80d2/images/05_image.webp", + "/media/christine_80d2/images/06_image.webp", + "/media/christine_80d2/images/08_image.webp", + "/media/christine_80d2/images/09_image.webp", + "/media/christine_80d2/images/10_image.webp", + "/media/christine_80d2/images/11_image.webp", + "/media/christine_80d2/images/12_image.webp", + "/media/christine_80d2/images/13_image.webp", + "/media/christine_80d2/images/14_image.webp", + "/media/christine_80d2/images/15_image.webp", + "/media/christine_80d2/images/16_image.webp", + "/media/christine_80d2/images/17_image.webp", + "/media/christine_80d2/images/18_image.webp", + "/media/christine_80d2/images/19_image.webp", + "/media/christine_80d2/images/20_image.webp", + "/media/christine_80d2/images/21_image.webp", + "/media/christine_80d2/images/22_image.webp", + "/media/christine_80d2/images/23_image.webp", + "/media/christine_80d2/images/24_image.webp", + "/media/christine_80d2/images/25_image.webp", + "/media/christine_80d2/images/26_image.webp", + "/media/christine_80d2/images/27_image.webp", + "/media/christine_80d2/images/28_image.webp", + "/media/christine_80d2/images/29_image.webp", + "/media/christine_80d2/images/30_image.webp", + "/media/christine_80d2/images/31_image.webp", + "/media/christine_80d2/images/32_image.webp", + "/media/christine_80d2/images/33_image.webp", + "/media/christine_80d2/images/34_image.webp", + "/media/christine_80d2/images/35_image.webp", + "/media/christine_80d2/images/36_image.webp", + "/media/christine_80d2/images/37_image.webp", + "/media/christine_80d2/images/38_image.webp", + "/media/christine_80d2/images/39_image.webp", + "/media/christine_80d2/images/40_image.webp", + "/media/christine_80d2/images/41_image.webp", + "/media/christine_80d2/images/42_image.webp", + "/media/christine_80d2/images/43_image.webp", + "/media/christine_80d2/images/44_image.webp", + "/media/christine_80d2/images/45_image.webp", + "/media/christine_80d2/images/46_image.webp", + "/media/christine_80d2/images/47_image.webp", + "/media/christine_80d2/images/49_image.webp", + "/media/christine_80d2/images/50_image.webp", + "/media/christine_80d2/images/51_image.webp" + ], + "created_at": "2026-01-26T05:24:45.884233-07:00", + "dir_name": "christine_80d2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cillian_b7aa.json b/ideas/aeres/agents/cillian_b7aa.json new file mode 100644 index 0000000..fa4115d --- /dev/null +++ b/ideas/aeres/agents/cillian_b7aa.json @@ -0,0 +1,84 @@ +{ + "id": "cillian_b7aa", + "name": "Cillian Doherty", + "handle": "cillian", + "gender": "male", + "description": "vintage fashion, gentleman, glorious mustache, lives in the Irish countryside, spends his free time at the pub, loves to read", + "tags": [ + "old_soul", + "book restoration", + "irish history", + "classical music", + "fly fishing", + "amateur astronomy", + "baking sourdough", + "playing the cello" + ], + "avatar_url": "/media/cillian_b7aa/avatar.webp?t=1769118293", + "banner_url": "/media/cillian_b7aa/banner.webp?t=1769124756", + "images": [ + "/media/cillian_b7aa/images/01_mid_mid_neutral.webp", + "/media/cillian_b7aa/images/02_image.webp", + "/media/cillian_b7aa/images/03_image.webp", + "/media/cillian_b7aa/images/04_image.webp", + "/media/cillian_b7aa/images/05_image.webp", + "/media/cillian_b7aa/images/06_image.webp", + "/media/cillian_b7aa/images/07_image.webp", + "/media/cillian_b7aa/images/08_image.webp", + "/media/cillian_b7aa/images/09_image.webp", + "/media/cillian_b7aa/images/10_image.webp", + "/media/cillian_b7aa/images/11_image.webp", + "/media/cillian_b7aa/images/12_image.webp", + "/media/cillian_b7aa/images/13_image.webp", + "/media/cillian_b7aa/images/14_image.webp", + "/media/cillian_b7aa/images/15_image.webp", + "/media/cillian_b7aa/images/16_image.webp", + "/media/cillian_b7aa/images/17_image.webp", + "/media/cillian_b7aa/images/18_image.webp", + "/media/cillian_b7aa/images/19_image.webp", + "/media/cillian_b7aa/images/20_image.webp", + "/media/cillian_b7aa/images/21_image.webp", + "/media/cillian_b7aa/images/22_image.webp", + "/media/cillian_b7aa/images/22_image.webp", + "/media/cillian_b7aa/images/22_image.webp", + "/media/cillian_b7aa/images/22_image.webp", + "/media/cillian_b7aa/images/23_image.webp", + "/media/cillian_b7aa/images/23_image.webp", + "/media/cillian_b7aa/images/23_image.webp", + "/media/cillian_b7aa/images/23_image.webp", + "/media/cillian_b7aa/images/24_image.webp", + "/media/cillian_b7aa/images/24_image.webp", + "/media/cillian_b7aa/images/24_image.webp", + "/media/cillian_b7aa/images/24_image.webp", + "/media/cillian_b7aa/images/25_image.webp", + "/media/cillian_b7aa/images/25_image.webp", + "/media/cillian_b7aa/images/25_image.webp", + "/media/cillian_b7aa/images/25_image.webp", + "/media/cillian_b7aa/images/26_image.webp", + "/media/cillian_b7aa/images/26_image.webp", + "/media/cillian_b7aa/images/26_image.webp", + "/media/cillian_b7aa/images/26_image.webp", + "/media/cillian_b7aa/images/27_image.webp", + "/media/cillian_b7aa/images/27_image.webp", + "/media/cillian_b7aa/images/27_image.webp", + "/media/cillian_b7aa/images/27_image.webp", + "/media/cillian_b7aa/images/28_image.webp", + "/media/cillian_b7aa/images/28_image.webp", + "/media/cillian_b7aa/images/28_image.webp", + "/media/cillian_b7aa/images/28_image.webp", + "/media/cillian_b7aa/images/29_image.webp", + "/media/cillian_b7aa/images/29_image.webp", + "/media/cillian_b7aa/images/29_image.webp", + "/media/cillian_b7aa/images/29_image.webp", + "/media/cillian_b7aa/images/30_image.webp", + "/media/cillian_b7aa/images/30_image.webp", + "/media/cillian_b7aa/images/30_image.webp", + "/media/cillian_b7aa/images/30_image.webp", + "/media/cillian_b7aa/images/31_image.webp", + "/media/cillian_b7aa/images/31_image.webp", + "/media/cillian_b7aa/images/31_image.webp", + "/media/cillian_b7aa/images/31_image.webp" + ], + "created_at": "2026-01-22T14:43:52.541266-07:00", + "dir_name": "cillian_b7aa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cirilla_3c39.json b/ideas/aeres/agents/cirilla_3c39.json new file mode 100644 index 0000000..efcec19 --- /dev/null +++ b/ideas/aeres/agents/cirilla_3c39.json @@ -0,0 +1,75 @@ +{ + "id": "cirilla_3c39", + "name": "Cirilla Rizzo", + "handle": "cirilla", + "gender": "female", + "description": "Female Caucasian 20's, car mechanic, grease, hood up, tools, driving, black hair,", + "tags": [ + "lifestyle", + "engine rebuilding", + "metal fabrication", + "classic rock vinyl collecting", + "off-roading", + "craft beer", + "billiards", + "urban exploration" + ], + "avatar_url": "/media/cirilla_3c39/avatar.webp?t=1769672209", + "banner_url": "/media/cirilla_3c39/banner.webp?t=1769672198", + "videos": [ + "/media/cirilla_3c39/videos/01_smile_reveal.mp4?t=1769672238" + ], + "images": [ + "/media/cirilla_3c39/images/01_mid_mid_neutral.webp", + "/media/cirilla_3c39/images/02_image.webp", + "/media/cirilla_3c39/images/03_image.webp", + "/media/cirilla_3c39/images/04_image.webp", + "/media/cirilla_3c39/images/05_image.webp", + "/media/cirilla_3c39/images/06_image.webp", + "/media/cirilla_3c39/images/07_image.webp", + "/media/cirilla_3c39/images/08_image.webp", + "/media/cirilla_3c39/images/09_image.webp", + "/media/cirilla_3c39/images/10_image.webp", + "/media/cirilla_3c39/images/11_image.webp", + "/media/cirilla_3c39/images/12_image.webp", + "/media/cirilla_3c39/images/13_image.webp", + "/media/cirilla_3c39/images/14_image.webp", + "/media/cirilla_3c39/images/15_image.webp", + "/media/cirilla_3c39/images/16_image.webp", + "/media/cirilla_3c39/images/18_image.webp", + "/media/cirilla_3c39/images/19_image.webp", + "/media/cirilla_3c39/images/20_image.webp", + "/media/cirilla_3c39/images/21_image.webp", + "/media/cirilla_3c39/images/22_image.webp", + "/media/cirilla_3c39/images/23_image.webp", + "/media/cirilla_3c39/images/24_image.webp", + "/media/cirilla_3c39/images/25_image.webp", + "/media/cirilla_3c39/images/26_image.webp", + "/media/cirilla_3c39/images/27_image.webp", + "/media/cirilla_3c39/images/28_image.webp", + "/media/cirilla_3c39/images/29_image.webp", + "/media/cirilla_3c39/images/30_image.webp", + "/media/cirilla_3c39/images/31_image.webp", + "/media/cirilla_3c39/images/33_image.webp", + "/media/cirilla_3c39/images/34_image.webp", + "/media/cirilla_3c39/images/35_image.webp", + "/media/cirilla_3c39/images/36_image.webp", + "/media/cirilla_3c39/images/37_image.webp", + "/media/cirilla_3c39/images/38_image.webp", + "/media/cirilla_3c39/images/39_image.webp", + "/media/cirilla_3c39/images/40_image.webp", + "/media/cirilla_3c39/images/41_image.webp", + "/media/cirilla_3c39/images/42_image.webp", + "/media/cirilla_3c39/images/43_image.webp", + "/media/cirilla_3c39/images/44_image.webp", + "/media/cirilla_3c39/images/45_image.webp", + "/media/cirilla_3c39/images/46_image.webp", + "/media/cirilla_3c39/images/47_image.webp", + "/media/cirilla_3c39/images/48_image.webp", + "/media/cirilla_3c39/images/49_image.webp", + "/media/cirilla_3c39/images/50_image.webp", + "/media/cirilla_3c39/images/51_image.webp" + ], + "created_at": "2026-01-29T00:35:29.213784-07:00", + "dir_name": "cirilla_3c39" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ciro_ccec.json b/ideas/aeres/agents/ciro_ccec.json new file mode 100644 index 0000000..9bb9b51 --- /dev/null +++ b/ideas/aeres/agents/ciro_ccec.json @@ -0,0 +1,76 @@ +{ + "id": "ciro_ccec", + "name": "Ciro Garcia", + "handle": "ciro", + "gender": "male", + "description": "Max Payne", + "tags": [ + "mysterious_stranger", + "noir films", + "crime literature", + "mechanical watch repair", + "chess", + "boxing", + "urban photography" + ], + "avatar_url": "/media/ciro_ccec/avatar.webp?t=1769694438", + "banner_url": "/media/ciro_ccec/banner.webp?t=1769694474", + "videos": [ + "/media/ciro_ccec/videos/01_smile_reveal.mp4?t=1769694461" + ], + "images": [ + "/media/ciro_ccec/images/01_mid_mid_neutral.webp", + "/media/ciro_ccec/images/02_image.webp", + "/media/ciro_ccec/images/03_image.webp", + "/media/ciro_ccec/images/04_image.webp", + "/media/ciro_ccec/images/05_image.webp", + "/media/ciro_ccec/images/06_image.webp", + "/media/ciro_ccec/images/07_image.webp", + "/media/ciro_ccec/images/08_image.webp", + "/media/ciro_ccec/images/09_image.webp", + "/media/ciro_ccec/images/10_image.webp", + "/media/ciro_ccec/images/11_image.webp", + "/media/ciro_ccec/images/12_image.webp", + "/media/ciro_ccec/images/13_image.webp", + "/media/ciro_ccec/images/14_image.webp", + "/media/ciro_ccec/images/15_image.webp", + "/media/ciro_ccec/images/16_image.webp", + "/media/ciro_ccec/images/17_image.webp", + "/media/ciro_ccec/images/18_image.webp", + "/media/ciro_ccec/images/19_image.webp", + "/media/ciro_ccec/images/20_image.webp", + "/media/ciro_ccec/images/21_image.webp", + "/media/ciro_ccec/images/22_image.webp", + "/media/ciro_ccec/images/23_image.webp", + "/media/ciro_ccec/images/24_image.webp", + "/media/ciro_ccec/images/25_image.webp", + "/media/ciro_ccec/images/26_image.webp", + "/media/ciro_ccec/images/27_image.webp", + "/media/ciro_ccec/images/28_image.webp", + "/media/ciro_ccec/images/29_image.webp", + "/media/ciro_ccec/images/30_image.webp", + "/media/ciro_ccec/images/31_image.webp", + "/media/ciro_ccec/images/32_image.webp", + "/media/ciro_ccec/images/33_image.webp", + "/media/ciro_ccec/images/34_image.webp", + "/media/ciro_ccec/images/35_image.webp", + "/media/ciro_ccec/images/36_image.webp", + "/media/ciro_ccec/images/37_image.webp", + "/media/ciro_ccec/images/38_image.webp", + "/media/ciro_ccec/images/39_image.webp", + "/media/ciro_ccec/images/40_image.webp", + "/media/ciro_ccec/images/41_image.webp", + "/media/ciro_ccec/images/42_image.webp", + "/media/ciro_ccec/images/43_image.webp", + "/media/ciro_ccec/images/44_image.webp", + "/media/ciro_ccec/images/45_image.webp", + "/media/ciro_ccec/images/46_image.webp", + "/media/ciro_ccec/images/47_image.webp", + "/media/ciro_ccec/images/48_image.webp", + "/media/ciro_ccec/images/49_image.webp", + "/media/ciro_ccec/images/50_image.webp", + "/media/ciro_ccec/images/51_image.webp" + ], + "created_at": "2026-01-29T06:45:39.845097-07:00", + "dir_name": "ciro_ccec" +} \ No newline at end of file diff --git a/ideas/aeres/agents/citlali_f461.json b/ideas/aeres/agents/citlali_f461.json new file mode 100644 index 0000000..d4ef2da --- /dev/null +++ b/ideas/aeres/agents/citlali_f461.json @@ -0,0 +1,82 @@ +{ + "id": "citlali_f461", + "name": "Citlali Sanchez", + "handle": "citlali", + "gender": "female", + "description": "mid 40s, resturant owner, red hair, full figure, glasses, sexy", + "tags": [ + "boss_babe", + "luxury architecture", + "art collecting", + "fine wine", + "interior design", + "boating", + "french cinema", + "gourmet cooking" + ], + "avatar_url": "/media/citlali_f461/avatar.webp?t=1769044687", + "banner_url": "/media/citlali_f461/banner.webp?t=1769044687", + "videos": [ + "/media/citlali_f461/videos/01_smile_reveal.mp4?t=1769044751" + ], + "images": [ + "/media/citlali_f461/images/01_mid_mid_neutral.webp", + "/media/citlali_f461/images/02_image.webp", + "/media/citlali_f461/images/03_image.webp", + "/media/citlali_f461/images/04_image.webp", + "/media/citlali_f461/images/05_image.webp", + "/media/citlali_f461/images/07_image.webp", + "/media/citlali_f461/images/08_image.webp", + "/media/citlali_f461/images/09_image.webp", + "/media/citlali_f461/images/10_image.webp", + "/media/citlali_f461/images/11_image.webp", + "/media/citlali_f461/images/12_image.webp", + "/media/citlali_f461/images/13_image.webp", + "/media/citlali_f461/images/14_image.webp", + "/media/citlali_f461/images/15_image.webp", + "/media/citlali_f461/images/16_image.webp", + "/media/citlali_f461/images/17_image.webp", + "/media/citlali_f461/images/18_image.webp", + "/media/citlali_f461/images/19_image.webp", + "/media/citlali_f461/images/20_image.webp", + "/media/citlali_f461/images/21_image.webp", + "/media/citlali_f461/images/22_image.webp", + "/media/citlali_f461/images/23_image.webp", + "/media/citlali_f461/images/24_image.webp", + "/media/citlali_f461/images/25_image.webp", + "/media/citlali_f461/images/26_image.webp", + "/media/citlali_f461/images/27_image.webp", + "/media/citlali_f461/images/28_image.webp", + "/media/citlali_f461/images/29_image.webp", + "/media/citlali_f461/images/30_image.webp", + "/media/citlali_f461/images/31_image.webp", + "/media/citlali_f461/images/32_image.webp", + "/media/citlali_f461/images/33_image.webp", + "/media/citlali_f461/images/34_image.webp", + "/media/citlali_f461/images/35_image.webp", + "/media/citlali_f461/images/36_image.webp", + "/media/citlali_f461/images/37_image.webp", + "/media/citlali_f461/images/38_image.webp", + "/media/citlali_f461/images/39_image.webp", + "/media/citlali_f461/images/40_image.webp", + "/media/citlali_f461/images/41_image.webp", + "/media/citlali_f461/images/42_image.webp", + "/media/citlali_f461/images/44_image.webp", + "/media/citlali_f461/images/45_image.webp", + "/media/citlali_f461/images/46_image.webp", + "/media/citlali_f461/images/47_image.webp", + "/media/citlali_f461/images/48_image.webp", + "/media/citlali_f461/images/47_image.webp", + "/media/citlali_f461/images/49_image.webp", + "/media/citlali_f461/images/48_image.webp", + "/media/citlali_f461/images/50_image.webp", + "/media/citlali_f461/images/49_image.webp", + "/media/citlali_f461/images/50_image.webp", + "/media/citlali_f461/images/53_image.webp", + "/media/citlali_f461/images/54_image.webp", + "/media/citlali_f461/images/55_image.webp", + "/media/citlali_f461/images/56_image.webp" + ], + "created_at": "2026-01-21T18:15:54.742229-07:00", + "dir_name": "citlali_f461" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clara_52d4.json b/ideas/aeres/agents/clara_52d4.json new file mode 100644 index 0000000..329832e --- /dev/null +++ b/ideas/aeres/agents/clara_52d4.json @@ -0,0 +1,75 @@ +{ + "id": "clara_52d4", + "name": "Clara Lindberg", + "handle": "clara", + "gender": "female", + "description": "hot girl next door type, from usa, white, blonde, long hair, casual lifestyle, age 28, enjoys walks and dresses sporty, slim body", + "tags": [ + "girl_next_door", + "hiking", + "sustainable living", + "organic gardening", + "trail running", + "photography", + "baking sourdough", + "interior design" + ], + "avatar_url": "/media/clara_52d4/avatar.webp?t=1770113468", + "banner_url": "/media/clara_52d4/banner.webp?t=1770113448", + "videos": [ + "/media/clara_52d4/videos/01_smile_reveal.mp4?t=1770113499" + ], + "images": [ + "/media/clara_52d4/images/01_mid_mid_neutral.webp", + "/media/clara_52d4/images/02_image.webp", + "/media/clara_52d4/images/03_image.webp", + "/media/clara_52d4/images/04_image.webp", + "/media/clara_52d4/images/05_image.webp", + "/media/clara_52d4/images/06_image.webp", + "/media/clara_52d4/images/07_image.webp", + "/media/clara_52d4/images/08_image.webp", + "/media/clara_52d4/images/09_image.webp", + "/media/clara_52d4/images/10_image.webp", + "/media/clara_52d4/images/11_image.webp", + "/media/clara_52d4/images/12_image.webp", + "/media/clara_52d4/images/13_image.webp", + "/media/clara_52d4/images/14_image.webp", + "/media/clara_52d4/images/16_image.webp", + "/media/clara_52d4/images/17_image.webp", + "/media/clara_52d4/images/18_image.webp", + "/media/clara_52d4/images/19_image.webp", + "/media/clara_52d4/images/20_image.webp", + "/media/clara_52d4/images/21_image.webp", + "/media/clara_52d4/images/22_image.webp", + "/media/clara_52d4/images/23_image.webp", + "/media/clara_52d4/images/24_image.webp", + "/media/clara_52d4/images/25_image.webp", + "/media/clara_52d4/images/26_image.webp", + "/media/clara_52d4/images/27_image.webp", + "/media/clara_52d4/images/28_image.webp", + "/media/clara_52d4/images/29_image.webp", + "/media/clara_52d4/images/30_image.webp", + "/media/clara_52d4/images/31_image.webp", + "/media/clara_52d4/images/32_image.webp", + "/media/clara_52d4/images/33_image.webp", + "/media/clara_52d4/images/34_image.webp", + "/media/clara_52d4/images/35_image.webp", + "/media/clara_52d4/images/36_image.webp", + "/media/clara_52d4/images/37_image.webp", + "/media/clara_52d4/images/38_image.webp", + "/media/clara_52d4/images/39_image.webp", + "/media/clara_52d4/images/40_image.webp", + "/media/clara_52d4/images/41_image.webp", + "/media/clara_52d4/images/42_image.webp", + "/media/clara_52d4/images/43_image.webp", + "/media/clara_52d4/images/44_image.webp", + "/media/clara_52d4/images/45_image.webp", + "/media/clara_52d4/images/46_image.webp", + "/media/clara_52d4/images/47_image.webp", + "/media/clara_52d4/images/49_image.webp", + "/media/clara_52d4/images/50_image.webp", + "/media/clara_52d4/images/51_image.webp" + ], + "created_at": "2026-02-03T03:09:41.114249-07:00", + "dir_name": "clara_52d4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clara_9a41.json b/ideas/aeres/agents/clara_9a41.json new file mode 100644 index 0000000..3e469b1 --- /dev/null +++ b/ideas/aeres/agents/clara_9a41.json @@ -0,0 +1,76 @@ +{ + "id": "clara_9a41", + "name": "Clara Sanchez", + "handle": "clara", + "gender": "female", + "description": "hot stocks analyst, financial world, stock market analyst, ceo woman, new york, age 33, from new york, wall street", + "tags": [ + "boss_babe", + "wealth management", + "contemporary art", + "equestrian sports", + "wine tasting", + "formula 1", + "interior design" + ], + "avatar_url": "/media/clara_9a41/avatar.webp?t=1770116921", + "banner_url": "/media/clara_9a41/banner.webp?t=1770116932", + "videos": [ + "/media/clara_9a41/videos/01_smile_reveal.mp4?t=1770116963" + ], + "images": [ + "/media/clara_9a41/images/01_mid_mid_neutral.webp", + "/media/clara_9a41/images/02_image.webp", + "/media/clara_9a41/images/03_image.webp", + "/media/clara_9a41/images/04_image.webp", + "/media/clara_9a41/images/05_image.webp", + "/media/clara_9a41/images/06_image.webp", + "/media/clara_9a41/images/07_image.webp", + "/media/clara_9a41/images/08_image.webp", + "/media/clara_9a41/images/09_image.webp", + "/media/clara_9a41/images/10_image.webp", + "/media/clara_9a41/images/11_image.webp", + "/media/clara_9a41/images/12_image.webp", + "/media/clara_9a41/images/13_image.webp", + "/media/clara_9a41/images/14_image.webp", + "/media/clara_9a41/images/15_image.webp", + "/media/clara_9a41/images/16_image.webp", + "/media/clara_9a41/images/17_image.webp", + "/media/clara_9a41/images/18_image.webp", + "/media/clara_9a41/images/19_image.webp", + "/media/clara_9a41/images/20_image.webp", + "/media/clara_9a41/images/21_image.webp", + "/media/clara_9a41/images/22_image.webp", + "/media/clara_9a41/images/23_image.webp", + "/media/clara_9a41/images/24_image.webp", + "/media/clara_9a41/images/25_image.webp", + "/media/clara_9a41/images/26_image.webp", + "/media/clara_9a41/images/27_image.webp", + "/media/clara_9a41/images/28_image.webp", + "/media/clara_9a41/images/29_image.webp", + "/media/clara_9a41/images/30_image.webp", + "/media/clara_9a41/images/31_image.webp", + "/media/clara_9a41/images/32_image.webp", + "/media/clara_9a41/images/33_image.webp", + "/media/clara_9a41/images/34_image.webp", + "/media/clara_9a41/images/35_image.webp", + "/media/clara_9a41/images/36_image.webp", + "/media/clara_9a41/images/37_image.webp", + "/media/clara_9a41/images/38_image.webp", + "/media/clara_9a41/images/39_image.webp", + "/media/clara_9a41/images/40_image.webp", + "/media/clara_9a41/images/41_image.webp", + "/media/clara_9a41/images/42_image.webp", + "/media/clara_9a41/images/43_image.webp", + "/media/clara_9a41/images/44_image.webp", + "/media/clara_9a41/images/45_image.webp", + "/media/clara_9a41/images/46_image.webp", + "/media/clara_9a41/images/47_image.webp", + "/media/clara_9a41/images/48_image.webp", + "/media/clara_9a41/images/49_image.webp", + "/media/clara_9a41/images/50_image.webp", + "/media/clara_9a41/images/51_image.webp" + ], + "created_at": "2026-02-03T04:07:27.300626-07:00", + "dir_name": "clara_9a41" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clara_ef4a.json b/ideas/aeres/agents/clara_ef4a.json new file mode 100644 index 0000000..317b9e9 --- /dev/null +++ b/ideas/aeres/agents/clara_ef4a.json @@ -0,0 +1,72 @@ +{ + "id": "clara_ef4a", + "name": "Clara Lindgren", + "handle": "clara", + "gender": "female", + "description": "hot sexy white woman in her 20's big butt, big breasts, curly red hair, does makeup tutorials videos", + "tags": [ + "influencer_lifestyle", + "skincare science", + "portrait photography", + "vintage fashion", + "interior design", + "pilates", + "wine tasting", + "scandi-noir novels" + ], + "avatar_url": "/media/clara_ef4a/avatar.webp", + "banner_url": "/media/clara_ef4a/banner.webp", + "videos": [ + "/media/clara_ef4a/videos/01_smile_reveal.mp4?t=1769019031" + ], + "images": [ + "/media/clara_ef4a/images/01_image.webp", + "/media/clara_ef4a/images/02_image.webp", + "/media/clara_ef4a/images/03_image.webp", + "/media/clara_ef4a/images/04_image.webp", + "/media/clara_ef4a/images/05_image.webp", + "/media/clara_ef4a/images/06_image.webp", + "/media/clara_ef4a/images/07_image.webp", + "/media/clara_ef4a/images/08_image.webp", + "/media/clara_ef4a/images/09_image.webp", + "/media/clara_ef4a/images/10_image.webp", + "/media/clara_ef4a/images/11_image.webp", + "/media/clara_ef4a/images/12_image.webp", + "/media/clara_ef4a/images/13_image.webp", + "/media/clara_ef4a/images/14_image.webp", + "/media/clara_ef4a/images/15_image.webp", + "/media/clara_ef4a/images/16_image.webp", + "/media/clara_ef4a/images/17_image.webp", + "/media/clara_ef4a/images/18_image.webp", + "/media/clara_ef4a/images/19_image.webp", + "/media/clara_ef4a/images/20_image.webp", + "/media/clara_ef4a/images/21_image.webp", + "/media/clara_ef4a/images/22_image.webp", + "/media/clara_ef4a/images/23_image.webp", + "/media/clara_ef4a/images/24_image.webp", + "/media/clara_ef4a/images/25_image.webp", + "/media/clara_ef4a/images/26_image.webp", + "/media/clara_ef4a/images/27_image.webp", + "/media/clara_ef4a/images/28_image.webp", + "/media/clara_ef4a/images/29_image.webp", + "/media/clara_ef4a/images/30_image.webp", + "/media/clara_ef4a/images/31_image.webp", + "/media/clara_ef4a/images/32_image.webp", + "/media/clara_ef4a/images/33_image.webp", + "/media/clara_ef4a/images/34_image.webp", + "/media/clara_ef4a/images/35_image.webp", + "/media/clara_ef4a/images/36_image.webp", + "/media/clara_ef4a/images/37_image.webp", + "/media/clara_ef4a/images/38_image.webp", + "/media/clara_ef4a/images/39_image.webp", + "/media/clara_ef4a/images/40_image.webp", + "/media/clara_ef4a/images/41_image.webp", + "/media/clara_ef4a/images/42_image.webp", + "/media/clara_ef4a/images/43_image.webp", + "/media/clara_ef4a/images/44_image.webp", + "/media/clara_ef4a/images/45_image.webp", + "/media/clara_ef4a/images/46_image.webp" + ], + "created_at": "2026-01-21T06:44:06.989782-07:00", + "dir_name": "clara_ef4a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clark_757d.json b/ideas/aeres/agents/clark_757d.json new file mode 100644 index 0000000..a1e6e8f --- /dev/null +++ b/ideas/aeres/agents/clark_757d.json @@ -0,0 +1,76 @@ +{ + "id": "clark_757d", + "name": "Clark Lopez", + "handle": "clark", + "gender": "male", + "description": "40's guy, Ducati rider, motorcycle leathers, track racing, helmet, English Bull Terrier owner,", + "tags": [ + "thrill_seeker", + "ducati motorcycles", + "track day racing", + "mechanical restoration", + "high-intensity interval training", + "watch collecting", + "espresso brewing", + "architecture" + ], + "avatar_url": "/media/clark_757d/avatar.webp?t=1769678538", + "banner_url": "/media/clark_757d/banner.webp?t=1769678545", + "videos": [ + "/media/clark_757d/videos/01_smile_reveal.mp4?t=1769678563" + ], + "images": [ + "/media/clark_757d/images/01_mid_mid_neutral.webp", + "/media/clark_757d/images/02_image.webp", + "/media/clark_757d/images/03_image.webp", + "/media/clark_757d/images/04_image.webp", + "/media/clark_757d/images/05_image.webp", + "/media/clark_757d/images/06_image.webp", + "/media/clark_757d/images/07_image.webp", + "/media/clark_757d/images/08_image.webp", + "/media/clark_757d/images/10_image.webp", + "/media/clark_757d/images/11_image.webp", + "/media/clark_757d/images/12_image.webp", + "/media/clark_757d/images/13_image.webp", + "/media/clark_757d/images/14_image.webp", + "/media/clark_757d/images/15_image.webp", + "/media/clark_757d/images/16_image.webp", + "/media/clark_757d/images/17_image.webp", + "/media/clark_757d/images/18_image.webp", + "/media/clark_757d/images/19_image.webp", + "/media/clark_757d/images/20_image.webp", + "/media/clark_757d/images/21_image.webp", + "/media/clark_757d/images/22_image.webp", + "/media/clark_757d/images/23_image.webp", + "/media/clark_757d/images/24_image.webp", + "/media/clark_757d/images/25_image.webp", + "/media/clark_757d/images/26_image.webp", + "/media/clark_757d/images/27_image.webp", + "/media/clark_757d/images/28_image.webp", + "/media/clark_757d/images/29_image.webp", + "/media/clark_757d/images/30_image.webp", + "/media/clark_757d/images/31_image.webp", + "/media/clark_757d/images/32_image.webp", + "/media/clark_757d/images/33_image.webp", + "/media/clark_757d/images/34_image.webp", + "/media/clark_757d/images/35_image.webp", + "/media/clark_757d/images/36_image.webp", + "/media/clark_757d/images/37_image.webp", + "/media/clark_757d/images/38_image.webp", + "/media/clark_757d/images/39_image.webp", + "/media/clark_757d/images/40_image.webp", + "/media/clark_757d/images/41_image.webp", + "/media/clark_757d/images/42_image.webp", + "/media/clark_757d/images/43_image.webp", + "/media/clark_757d/images/44_image.webp", + "/media/clark_757d/images/45_image.webp", + "/media/clark_757d/images/46_image.webp", + "/media/clark_757d/images/47_image.webp", + "/media/clark_757d/images/48_image.webp", + "/media/clark_757d/images/49_image.webp", + "/media/clark_757d/images/50_image.webp", + "/media/clark_757d/images/51_image.webp" + ], + "created_at": "2026-01-29T02:20:43.926193-07:00", + "dir_name": "clark_757d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cleopatra_58e6.json b/ideas/aeres/agents/cleopatra_58e6.json new file mode 100644 index 0000000..8404e94 --- /dev/null +++ b/ideas/aeres/agents/cleopatra_58e6.json @@ -0,0 +1,79 @@ +{ + "id": "cleopatra_58e6", + "name": "Cleopatra Colombo", + "handle": "cleopatra", + "gender": "female", + "description": "italian teen girl 18, loves to cook pasta, loves anime, does cosplay, wears clothes from her favourite anime \"Naruto\" , she is tall above 1.75, has short haircut,green eyes, speaks italian and english; should also use a couple of italian words in videos", + "tags": [ + "cosplayer", + "cosplay construction", + "pattern making", + "traditional italian cuisine", + "shonen anime", + "street photography", + "retro gaming", + "plant care" + ], + "avatar_url": "/media/cleopatra_58e6/avatar.webp?t=1768991463", + "banner_url": "/media/cleopatra_58e6/banner.webp?t=1768991542", + "videos": [ + "/media/cleopatra_58e6/videos/01_smile_reveal.mp4?t=1768991502" + ], + "images": [ + "/media/cleopatra_58e6/images/01_mid_mid_neutral.webp", + "/media/cleopatra_58e6/images/02_image.webp", + "/media/cleopatra_58e6/images/03_image.webp", + "/media/cleopatra_58e6/images/04_image.webp", + "/media/cleopatra_58e6/images/05_image.webp", + "/media/cleopatra_58e6/images/07_image.webp", + "/media/cleopatra_58e6/images/08_image.webp", + "/media/cleopatra_58e6/images/09_image.webp", + "/media/cleopatra_58e6/images/12_image.webp", + "/media/cleopatra_58e6/images/13_image.webp", + "/media/cleopatra_58e6/images/15_image.webp", + "/media/cleopatra_58e6/images/16_image.webp", + "/media/cleopatra_58e6/images/18_image.webp", + "/media/cleopatra_58e6/images/19_image.webp", + "/media/cleopatra_58e6/images/21_image.webp", + "/media/cleopatra_58e6/images/22_image.webp", + "/media/cleopatra_58e6/images/23_image.webp", + "/media/cleopatra_58e6/images/25_image.webp", + "/media/cleopatra_58e6/images/26_image.webp", + "/media/cleopatra_58e6/images/27_image.webp", + "/media/cleopatra_58e6/images/28_image.webp", + "/media/cleopatra_58e6/images/30_image.webp", + "/media/cleopatra_58e6/images/31_image.webp", + "/media/cleopatra_58e6/images/32_image.webp", + "/media/cleopatra_58e6/images/33_image.webp", + "/media/cleopatra_58e6/images/35_image.webp", + "/media/cleopatra_58e6/images/36_image.webp", + "/media/cleopatra_58e6/images/38_image.webp", + "/media/cleopatra_58e6/images/39_image.webp", + "/media/cleopatra_58e6/images/41_image.webp", + "/media/cleopatra_58e6/images/42_image.webp", + "/media/cleopatra_58e6/images/43_image.webp", + "/media/cleopatra_58e6/images/44_image.webp", + "/media/cleopatra_58e6/images/45_image.webp", + "/media/cleopatra_58e6/images/46_image.webp", + "/media/cleopatra_58e6/images/47_image.webp", + "/media/cleopatra_58e6/images/48_image.webp", + "/media/cleopatra_58e6/images/50_image.webp", + "/media/cleopatra_58e6/images/51_image.webp", + "/media/cleopatra_58e6/images/53_image.webp", + "/media/cleopatra_58e6/images/54_image.webp", + "/media/cleopatra_58e6/images/55_image.webp", + "/media/cleopatra_58e6/images/56_image.webp", + "/media/cleopatra_58e6/images/57_image.webp", + "/media/cleopatra_58e6/images/58_image.webp", + "/media/cleopatra_58e6/images/59_image.webp", + "/media/cleopatra_58e6/images/60_image.webp", + "/media/cleopatra_58e6/images/62_image.webp", + "/media/cleopatra_58e6/images/64_image.webp", + "/media/cleopatra_58e6/images/65_image.webp", + "/media/cleopatra_58e6/images/66_image.webp", + "/media/cleopatra_58e6/images/67_image.webp", + "/media/cleopatra_58e6/images/68_image.webp" + ], + "created_at": "2026-01-21T03:28:00.584532-07:00", + "dir_name": "cleopatra_58e6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clifton_30ae.json b/ideas/aeres/agents/clifton_30ae.json new file mode 100644 index 0000000..a590e02 --- /dev/null +++ b/ideas/aeres/agents/clifton_30ae.json @@ -0,0 +1,76 @@ +{ + "id": "clifton_30ae", + "name": "Clifton Martinez", + "handle": "clifton", + "gender": "male", + "description": "Niko Bellic from GTA 4", + "tags": [ + "mysterious_stranger", + "engine repair", + "vintage motorcycles", + "urban exploration", + "classic noir films", + "boxing", + "coastal fishing" + ], + "avatar_url": "/media/clifton_30ae/avatar.webp?t=1769615760", + "banner_url": "/media/clifton_30ae/banner.webp?t=1769615761", + "videos": [ + "/media/clifton_30ae/videos/01_smile_reveal.mp4?t=1769615792" + ], + "images": [ + "/media/clifton_30ae/images/01_mid_mid_neutral.webp", + "/media/clifton_30ae/images/02_image.webp", + "/media/clifton_30ae/images/03_image.webp", + "/media/clifton_30ae/images/04_image.webp", + "/media/clifton_30ae/images/05_image.webp", + "/media/clifton_30ae/images/06_image.webp", + "/media/clifton_30ae/images/07_image.webp", + "/media/clifton_30ae/images/08_image.webp", + "/media/clifton_30ae/images/09_image.webp", + "/media/clifton_30ae/images/10_image.webp", + "/media/clifton_30ae/images/11_image.webp", + "/media/clifton_30ae/images/12_image.webp", + "/media/clifton_30ae/images/13_image.webp", + "/media/clifton_30ae/images/14_image.webp", + "/media/clifton_30ae/images/15_image.webp", + "/media/clifton_30ae/images/16_image.webp", + "/media/clifton_30ae/images/17_image.webp", + "/media/clifton_30ae/images/18_image.webp", + "/media/clifton_30ae/images/19_image.webp", + "/media/clifton_30ae/images/20_image.webp", + "/media/clifton_30ae/images/21_image.webp", + "/media/clifton_30ae/images/22_image.webp", + "/media/clifton_30ae/images/23_image.webp", + "/media/clifton_30ae/images/24_image.webp", + "/media/clifton_30ae/images/25_image.webp", + "/media/clifton_30ae/images/26_image.webp", + "/media/clifton_30ae/images/27_image.webp", + "/media/clifton_30ae/images/28_image.webp", + "/media/clifton_30ae/images/29_image.webp", + "/media/clifton_30ae/images/30_image.webp", + "/media/clifton_30ae/images/31_image.webp", + "/media/clifton_30ae/images/32_image.webp", + "/media/clifton_30ae/images/33_image.webp", + "/media/clifton_30ae/images/34_image.webp", + "/media/clifton_30ae/images/35_image.webp", + "/media/clifton_30ae/images/36_image.webp", + "/media/clifton_30ae/images/37_image.webp", + "/media/clifton_30ae/images/38_image.webp", + "/media/clifton_30ae/images/39_image.webp", + "/media/clifton_30ae/images/40_image.webp", + "/media/clifton_30ae/images/41_image.webp", + "/media/clifton_30ae/images/42_image.webp", + "/media/clifton_30ae/images/43_image.webp", + "/media/clifton_30ae/images/44_image.webp", + "/media/clifton_30ae/images/45_image.webp", + "/media/clifton_30ae/images/46_image.webp", + "/media/clifton_30ae/images/47_image.webp", + "/media/clifton_30ae/images/48_image.webp", + "/media/clifton_30ae/images/49_image.webp", + "/media/clifton_30ae/images/50_image.webp", + "/media/clifton_30ae/images/51_image.webp" + ], + "created_at": "2026-01-28T08:54:44.61359-07:00", + "dir_name": "clifton_30ae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/clément_0872.json b/ideas/aeres/agents/clément_0872.json new file mode 100644 index 0000000..dc477e6 --- /dev/null +++ b/ideas/aeres/agents/clément_0872.json @@ -0,0 +1,75 @@ +{ + "id": "clément_0872", + "name": "Clément Garcia", + "handle": "clément", + "gender": "male", + "description": "olympic gymnast, short muscular build,defined muscles, short hairt, white skin, handsome, age 35", + "tags": [ + "athletic", + "calisthenics", + "nutritional science", + "bio-hacking", + "mountain biking", + "photography", + "architectural design", + "specialty coffee" + ], + "avatar_url": "/media/clément_0872/avatar.webp?t=1769510064", + "banner_url": "/media/clément_0872/banner.webp?t=1769510058", + "videos": [ + "/media/clément_0872/videos/01_smile_reveal.mp4?t=1769510090" + ], + "images": [ + "/media/clément_0872/images/01_mid_mid_neutral.webp", + "/media/clément_0872/images/02_image.webp", + "/media/clément_0872/images/03_image.webp", + "/media/clément_0872/images/04_image.webp", + "/media/clément_0872/images/05_image.webp", + "/media/clément_0872/images/06_image.webp", + "/media/clément_0872/images/07_image.webp", + "/media/clément_0872/images/08_image.webp", + "/media/clément_0872/images/09_image.webp", + "/media/clément_0872/images/10_image.webp", + "/media/clément_0872/images/11_image.webp", + "/media/clément_0872/images/12_image.webp", + "/media/clément_0872/images/13_image.webp", + "/media/clément_0872/images/14_image.webp", + "/media/clément_0872/images/15_image.webp", + "/media/clément_0872/images/16_image.webp", + "/media/clément_0872/images/17_image.webp", + "/media/clément_0872/images/18_image.webp", + "/media/clément_0872/images/19_image.webp", + "/media/clément_0872/images/20_image.webp", + "/media/clément_0872/images/21_image.webp", + "/media/clément_0872/images/22_image.webp", + "/media/clément_0872/images/23_image.webp", + "/media/clément_0872/images/24_image.webp", + "/media/clément_0872/images/25_image.webp", + "/media/clément_0872/images/26_image.webp", + "/media/clément_0872/images/27_image.webp", + "/media/clément_0872/images/28_image.webp", + "/media/clément_0872/images/29_image.webp", + "/media/clément_0872/images/30_image.webp", + "/media/clément_0872/images/31_image.webp", + "/media/clément_0872/images/32_image.webp", + "/media/clément_0872/images/33_image.webp", + "/media/clément_0872/images/34_image.webp", + "/media/clément_0872/images/35_image.webp", + "/media/clément_0872/images/36_image.webp", + "/media/clément_0872/images/37_image.webp", + "/media/clément_0872/images/38_image.webp", + "/media/clément_0872/images/39_image.webp", + "/media/clément_0872/images/40_image.webp", + "/media/clément_0872/images/41_image.webp", + "/media/clément_0872/images/42_image.webp", + "/media/clément_0872/images/43_image.webp", + "/media/clément_0872/images/44_image.webp", + "/media/clément_0872/images/45_image.webp", + "/media/clément_0872/images/46_image.webp", + "/media/clément_0872/images/47_image.webp", + "/media/clément_0872/images/50_image.webp", + "/media/clément_0872/images/51_image.webp" + ], + "created_at": "2026-01-27T03:33:05.498137-07:00", + "dir_name": "clément_0872" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cole_6c50.json b/ideas/aeres/agents/cole_6c50.json new file mode 100644 index 0000000..c2a5391 --- /dev/null +++ b/ideas/aeres/agents/cole_6c50.json @@ -0,0 +1,75 @@ +{ + "id": "cole_6c50", + "name": "Cole Harris", + "handle": "cole", + "gender": "male", + "description": "tall male who is dj and enjoys going to parties", + "tags": [ + "influencer_lifestyle", + "analog synthesizers", + "mountain biking", + "contemporary art", + "mixology", + "interior design", + "photography", + "gourmet cooking" + ], + "avatar_url": "/media/cole_6c50/avatar.webp?t=1769077091", + "banner_url": "/media/cole_6c50/banner.webp?t=1769077619", + "videos": [ + "/media/cole_6c50/videos/01_smile_reveal.mp4?t=1769077128" + ], + "images": [ + "/media/cole_6c50/images/01_mid_mid_neutral.webp", + "/media/cole_6c50/images/02_image.webp", + "/media/cole_6c50/images/03_image.webp", + "/media/cole_6c50/images/04_image.webp", + "/media/cole_6c50/images/05_image.webp", + "/media/cole_6c50/images/06_image.webp", + "/media/cole_6c50/images/07_image.webp", + "/media/cole_6c50/images/08_image.webp", + "/media/cole_6c50/images/09_image.webp", + "/media/cole_6c50/images/10_image.webp", + "/media/cole_6c50/images/11_image.webp", + "/media/cole_6c50/images/12_image.webp", + "/media/cole_6c50/images/13_image.webp", + "/media/cole_6c50/images/14_image.webp", + "/media/cole_6c50/images/15_image.webp", + "/media/cole_6c50/images/16_image.webp", + "/media/cole_6c50/images/17_image.webp", + "/media/cole_6c50/images/19_image.webp", + "/media/cole_6c50/images/19_image.webp", + "/media/cole_6c50/images/20_image.webp", + "/media/cole_6c50/images/20_image.webp", + "/media/cole_6c50/images/21_image.webp", + "/media/cole_6c50/images/21_image.webp", + "/media/cole_6c50/images/22_image.webp", + "/media/cole_6c50/images/23_image.webp", + "/media/cole_6c50/images/24_image.webp", + "/media/cole_6c50/images/25_image.webp", + "/media/cole_6c50/images/26_image.webp", + "/media/cole_6c50/images/27_image.webp", + "/media/cole_6c50/images/28_image.webp", + "/media/cole_6c50/images/29_image.webp", + "/media/cole_6c50/images/30_image.webp", + "/media/cole_6c50/images/31_image.webp", + "/media/cole_6c50/images/32_image.webp", + "/media/cole_6c50/images/33_image.webp", + "/media/cole_6c50/images/34_image.webp", + "/media/cole_6c50/images/35_image.webp", + "/media/cole_6c50/images/36_image.webp", + "/media/cole_6c50/images/37_image.webp", + "/media/cole_6c50/images/38_image.webp", + "/media/cole_6c50/images/39_image.webp", + "/media/cole_6c50/images/40_image.webp", + "/media/cole_6c50/images/41_image.webp", + "/media/cole_6c50/images/42_image.webp", + "/media/cole_6c50/images/43_image.webp", + "/media/cole_6c50/images/44_image.webp", + "/media/cole_6c50/images/45_image.webp", + "/media/cole_6c50/images/46_image.webp", + "/media/cole_6c50/images/47_image.webp" + ], + "created_at": "2026-01-22T03:17:02.514624-07:00", + "dir_name": "cole_6c50" +} \ No newline at end of file diff --git a/ideas/aeres/agents/condor_6069.json b/ideas/aeres/agents/condor_6069.json new file mode 100644 index 0000000..25ab262 --- /dev/null +++ b/ideas/aeres/agents/condor_6069.json @@ -0,0 +1,79 @@ +{ + "id": "condor_6069", + "name": "Condor Iván Vargas", + "handle": "condor", + "gender": "male", + "description": "Hispanic male who lives in Mexico, blonde long hair, tattoos all over the body, tall and chubby, plays soccer, is FC Barcelona fan and works as a firefigter.", + "tags": [ + "bear_build", + "soccer", + "body art", + "fitness", + "cooking traditional mexican stews", + "motorcycling", + "classic rock", + "gardening" + ], + "avatar_url": "/media/condor_6069/avatar.webp?t=1768998295", + "banner_url": "/media/condor_6069/banner.webp?t=1768998302", + "videos": [ + "/media/condor_6069/videos/01_smile_reveal.mp4?t=1768998319" + ], + "images": [ + "/media/condor_6069/images/01_mid_mid_neutral.webp", + "/media/condor_6069/images/02_image.webp", + "/media/condor_6069/images/03_image.webp", + "/media/condor_6069/images/05_image.webp", + "/media/condor_6069/images/06_image.webp", + "/media/condor_6069/images/07_image.webp", + "/media/condor_6069/images/08_image.webp", + "/media/condor_6069/images/09_image.webp", + "/media/condor_6069/images/10_image.webp", + "/media/condor_6069/images/11_image.webp", + "/media/condor_6069/images/12_image.webp", + "/media/condor_6069/images/13_image.webp", + "/media/condor_6069/images/14_image.webp", + "/media/condor_6069/images/15_image.webp", + "/media/condor_6069/images/16_image.webp", + "/media/condor_6069/images/17_image.webp", + "/media/condor_6069/images/18_image.webp", + "/media/condor_6069/images/19_image.webp", + "/media/condor_6069/images/20_image.webp", + "/media/condor_6069/images/21_image.webp", + "/media/condor_6069/images/22_image.webp", + "/media/condor_6069/images/23_image.webp", + "/media/condor_6069/images/25_image.webp", + "/media/condor_6069/images/26_image.webp", + "/media/condor_6069/images/27_image.webp", + "/media/condor_6069/images/28_image.webp", + "/media/condor_6069/images/29_image.webp", + "/media/condor_6069/images/30_image.webp", + "/media/condor_6069/images/31_image.webp", + "/media/condor_6069/images/32_image.webp", + "/media/condor_6069/images/34_image.webp", + "/media/condor_6069/images/35_image.webp", + "/media/condor_6069/images/36_image.webp", + "/media/condor_6069/images/37_image.webp", + "/media/condor_6069/images/38_image.webp", + "/media/condor_6069/images/39_image.webp", + "/media/condor_6069/images/40_image.webp", + "/media/condor_6069/images/41_image.webp", + "/media/condor_6069/images/42_image.webp", + "/media/condor_6069/images/43_image.webp", + "/media/condor_6069/images/44_image.webp", + "/media/condor_6069/images/45_image.webp", + "/media/condor_6069/images/46_image.webp", + "/media/condor_6069/images/47_image.webp", + "/media/condor_6069/images/48_image.webp", + "/media/condor_6069/images/49_image.webp", + "/media/condor_6069/images/50_image.webp", + "/media/condor_6069/images/51_image.webp", + "/media/condor_6069/images/52_image.webp", + "/media/condor_6069/images/53_image.webp", + "/media/condor_6069/images/54_image.webp", + "/media/condor_6069/images/55_image.webp", + "/media/condor_6069/images/56_image.webp" + ], + "created_at": "2026-01-21T05:23:16.007772-07:00", + "dir_name": "condor_6069" +} \ No newline at end of file diff --git a/ideas/aeres/agents/condor_a1ef.json b/ideas/aeres/agents/condor_a1ef.json new file mode 100644 index 0000000..e848e2d --- /dev/null +++ b/ideas/aeres/agents/condor_a1ef.json @@ -0,0 +1,74 @@ +{ + "id": "condor_a1ef", + "name": "Condor Josep Garcia", + "handle": "condor", + "gender": "male", + "description": "male from Argentina who cosplays as Lionel Messi", + "tags": [ + "cosplayer", + "football tactics", + "argentine history", + "gourmet cooking", + "beard grooming", + "tennis", + "classic cars", + "video games" + ], + "avatar_url": "/media/condor_a1ef/avatar.webp?t=1769689063", + "banner_url": "/media/condor_a1ef/banner.webp?t=1769689073", + "images": [ + "/media/condor_a1ef/images/01_mid_mid_neutral.webp", + "/media/condor_a1ef/images/02_image.webp", + "/media/condor_a1ef/images/03_image.webp", + "/media/condor_a1ef/images/04_image.webp", + "/media/condor_a1ef/images/05_image.webp", + "/media/condor_a1ef/images/06_image.webp", + "/media/condor_a1ef/images/07_image.webp", + "/media/condor_a1ef/images/08_image.webp", + "/media/condor_a1ef/images/09_image.webp", + "/media/condor_a1ef/images/10_image.webp", + "/media/condor_a1ef/images/11_image.webp", + "/media/condor_a1ef/images/12_image.webp", + "/media/condor_a1ef/images/13_image.webp", + "/media/condor_a1ef/images/14_image.webp", + "/media/condor_a1ef/images/15_image.webp", + "/media/condor_a1ef/images/16_image.webp", + "/media/condor_a1ef/images/17_image.webp", + "/media/condor_a1ef/images/18_image.webp", + "/media/condor_a1ef/images/19_image.webp", + "/media/condor_a1ef/images/20_image.webp", + "/media/condor_a1ef/images/21_image.webp", + "/media/condor_a1ef/images/22_image.webp", + "/media/condor_a1ef/images/23_image.webp", + "/media/condor_a1ef/images/24_image.webp", + "/media/condor_a1ef/images/25_image.webp", + "/media/condor_a1ef/images/26_image.webp", + "/media/condor_a1ef/images/27_image.webp", + "/media/condor_a1ef/images/28_image.webp", + "/media/condor_a1ef/images/29_image.webp", + "/media/condor_a1ef/images/30_image.webp", + "/media/condor_a1ef/images/31_image.webp", + "/media/condor_a1ef/images/32_image.webp", + "/media/condor_a1ef/images/33_image.webp", + "/media/condor_a1ef/images/34_image.webp", + "/media/condor_a1ef/images/35_image.webp", + "/media/condor_a1ef/images/36_image.webp", + "/media/condor_a1ef/images/37_image.webp", + "/media/condor_a1ef/images/38_image.webp", + "/media/condor_a1ef/images/39_image.webp", + "/media/condor_a1ef/images/40_image.webp", + "/media/condor_a1ef/images/41_image.webp", + "/media/condor_a1ef/images/42_image.webp", + "/media/condor_a1ef/images/43_image.webp", + "/media/condor_a1ef/images/44_image.webp", + "/media/condor_a1ef/images/45_image.webp", + "/media/condor_a1ef/images/46_image.webp", + "/media/condor_a1ef/images/47_image.webp", + "/media/condor_a1ef/images/48_image.webp", + "/media/condor_a1ef/images/49_image.webp", + "/media/condor_a1ef/images/50_image.webp", + "/media/condor_a1ef/images/51_image.webp" + ], + "created_at": "2026-01-29T05:16:05.857299-07:00", + "dir_name": "condor_a1ef" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cooper_d716.json b/ideas/aeres/agents/cooper_d716.json new file mode 100644 index 0000000..2566b10 --- /dev/null +++ b/ideas/aeres/agents/cooper_d716.json @@ -0,0 +1,77 @@ +{ + "id": "cooper_d716", + "name": "Cooper Anderson", + "handle": "cooper", + "gender": "male", + "description": "handy man, works construction, restores old cars, tall, athletic,great hair, dark hair, lives in ohio, white", + "tags": [ + "golden_retriever_bf", + "woodworking", + "restoring vintage trucks", + "hiking", + "dog training", + "college football", + "craft beer brewing", + "cooking breakfast" + ], + "avatar_url": "/media/cooper_d716/avatar.webp?t=1769175656", + "banner_url": "/media/cooper_d716/banner.webp?t=1769175661", + "videos": [ + "/media/cooper_d716/videos/01_smile_reveal.mp4?t=1769175714" + ], + "images": [ + "/media/cooper_d716/images/01_mid_mid_neutral.webp", + "/media/cooper_d716/images/02_image.webp", + "/media/cooper_d716/images/03_image.webp", + "/media/cooper_d716/images/04_image.webp", + "/media/cooper_d716/images/05_image.webp", + "/media/cooper_d716/images/06_image.webp", + "/media/cooper_d716/images/07_image.webp", + "/media/cooper_d716/images/08_image.webp", + "/media/cooper_d716/images/09_image.webp", + "/media/cooper_d716/images/10_image.webp", + "/media/cooper_d716/images/11_image.webp", + "/media/cooper_d716/images/12_image.webp", + "/media/cooper_d716/images/13_image.webp", + "/media/cooper_d716/images/14_image.webp", + "/media/cooper_d716/images/15_image.webp", + "/media/cooper_d716/images/16_image.webp", + "/media/cooper_d716/images/17_image.webp", + "/media/cooper_d716/images/18_image.webp", + "/media/cooper_d716/images/19_image.webp", + "/media/cooper_d716/images/20_image.webp", + "/media/cooper_d716/images/21_image.webp", + "/media/cooper_d716/images/22_image.webp", + "/media/cooper_d716/images/23_image.webp", + "/media/cooper_d716/images/24_image.webp", + "/media/cooper_d716/images/25_image.webp", + "/media/cooper_d716/images/26_image.webp", + "/media/cooper_d716/images/27_image.webp", + "/media/cooper_d716/images/28_image.webp", + "/media/cooper_d716/images/29_image.webp", + "/media/cooper_d716/images/30_image.webp", + "/media/cooper_d716/images/31_image.webp", + "/media/cooper_d716/images/32_image.webp", + "/media/cooper_d716/images/33_image.webp", + "/media/cooper_d716/images/34_image.webp", + "/media/cooper_d716/images/35_image.webp", + "/media/cooper_d716/images/36_image.webp", + "/media/cooper_d716/images/37_image.webp", + "/media/cooper_d716/images/38_image.webp", + "/media/cooper_d716/images/39_image.webp", + "/media/cooper_d716/images/40_image.webp", + "/media/cooper_d716/images/41_image.webp", + "/media/cooper_d716/images/42_image.webp", + "/media/cooper_d716/images/43_image.webp", + "/media/cooper_d716/images/44_image.webp", + "/media/cooper_d716/images/45_image.webp", + "/media/cooper_d716/images/46_image.webp", + "/media/cooper_d716/images/47_image.webp", + "/media/cooper_d716/images/48_image.webp", + "/media/cooper_d716/images/49_image.webp", + "/media/cooper_d716/images/50_image.webp", + "/media/cooper_d716/images/51_image.webp" + ], + "created_at": "2026-01-23T06:39:41.087465-07:00", + "dir_name": "cooper_d716" +} \ No newline at end of file diff --git a/ideas/aeres/agents/coralie_58bb.json b/ideas/aeres/agents/coralie_58bb.json new file mode 100644 index 0000000..6541a91 --- /dev/null +++ b/ideas/aeres/agents/coralie_58bb.json @@ -0,0 +1,77 @@ +{ + "id": "coralie_58bb", + "name": "Coralie Bernard", + "handle": "coralie", + "gender": "female", + "description": "american female who cosplays as Angelina Jolie", + "tags": [ + "femme_fatale", + "high-altitude trekking", + "vintage motorcycle restoration", + "classical fencing", + "opera", + "wine tasting", + "portrait photography", + "chess" + ], + "avatar_url": "/media/coralie_58bb/avatar.webp?t=1769687846", + "banner_url": "/media/coralie_58bb/banner.webp?t=1769687847", + "videos": [ + "/media/coralie_58bb/videos/01_smile_reveal.mp4?t=1769687898" + ], + "images": [ + "/media/coralie_58bb/images/01_mid_mid_neutral.webp", + "/media/coralie_58bb/images/02_image.webp", + "/media/coralie_58bb/images/03_image.webp", + "/media/coralie_58bb/images/04_image.webp", + "/media/coralie_58bb/images/05_image.webp", + "/media/coralie_58bb/images/06_image.webp", + "/media/coralie_58bb/images/07_image.webp", + "/media/coralie_58bb/images/08_image.webp", + "/media/coralie_58bb/images/09_image.webp", + "/media/coralie_58bb/images/10_image.webp", + "/media/coralie_58bb/images/11_image.webp", + "/media/coralie_58bb/images/12_image.webp", + "/media/coralie_58bb/images/13_image.webp", + "/media/coralie_58bb/images/14_image.webp", + "/media/coralie_58bb/images/15_image.webp", + "/media/coralie_58bb/images/16_image.webp", + "/media/coralie_58bb/images/17_image.webp", + "/media/coralie_58bb/images/18_image.webp", + "/media/coralie_58bb/images/19_image.webp", + "/media/coralie_58bb/images/20_image.webp", + "/media/coralie_58bb/images/21_image.webp", + "/media/coralie_58bb/images/22_image.webp", + "/media/coralie_58bb/images/23_image.webp", + "/media/coralie_58bb/images/24_image.webp", + "/media/coralie_58bb/images/25_image.webp", + "/media/coralie_58bb/images/26_image.webp", + "/media/coralie_58bb/images/27_image.webp", + "/media/coralie_58bb/images/28_image.webp", + "/media/coralie_58bb/images/29_image.webp", + "/media/coralie_58bb/images/30_image.webp", + "/media/coralie_58bb/images/31_image.webp", + "/media/coralie_58bb/images/32_image.webp", + "/media/coralie_58bb/images/33_image.webp", + "/media/coralie_58bb/images/34_image.webp", + "/media/coralie_58bb/images/35_image.webp", + "/media/coralie_58bb/images/36_image.webp", + "/media/coralie_58bb/images/37_image.webp", + "/media/coralie_58bb/images/38_image.webp", + "/media/coralie_58bb/images/39_image.webp", + "/media/coralie_58bb/images/40_image.webp", + "/media/coralie_58bb/images/41_image.webp", + "/media/coralie_58bb/images/42_image.webp", + "/media/coralie_58bb/images/43_image.webp", + "/media/coralie_58bb/images/44_image.webp", + "/media/coralie_58bb/images/45_image.webp", + "/media/coralie_58bb/images/46_image.webp", + "/media/coralie_58bb/images/47_image.webp", + "/media/coralie_58bb/images/48_image.webp", + "/media/coralie_58bb/images/49_image.webp", + "/media/coralie_58bb/images/50_image.webp", + "/media/coralie_58bb/images/51_image.webp" + ], + "created_at": "2026-01-29T04:56:16.243714-07:00", + "dir_name": "coralie_58bb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/corentin_b141.json b/ideas/aeres/agents/corentin_b141.json new file mode 100644 index 0000000..63d335f --- /dev/null +++ b/ideas/aeres/agents/corentin_b141.json @@ -0,0 +1,76 @@ +{ + "id": "corentin_b141", + "name": "Corentin Dubois", + "handle": "corentin", + "gender": "male", + "description": "bald white guy who looks like Peter Griffin who works as a security agent and who likes to visit fountains", + "tags": [ + "bear_build", + "vintage sitcoms", + "competitive eating videos", + "local history", + "bowling", + "draft beer tasting", + "classic rock" + ], + "avatar_url": "/media/corentin_b141/avatar.webp?t=1769606391", + "banner_url": "/media/corentin_b141/banner.webp?t=1769606388", + "videos": [ + "/media/corentin_b141/videos/01_smile_reveal.mp4?t=1769606426" + ], + "images": [ + "/media/corentin_b141/images/01_mid_mid_neutral.webp", + "/media/corentin_b141/images/02_image.webp", + "/media/corentin_b141/images/03_image.webp", + "/media/corentin_b141/images/04_image.webp", + "/media/corentin_b141/images/05_image.webp", + "/media/corentin_b141/images/06_image.webp", + "/media/corentin_b141/images/07_image.webp", + "/media/corentin_b141/images/08_image.webp", + "/media/corentin_b141/images/09_image.webp", + "/media/corentin_b141/images/10_image.webp", + "/media/corentin_b141/images/11_image.webp", + "/media/corentin_b141/images/12_image.webp", + "/media/corentin_b141/images/13_image.webp", + "/media/corentin_b141/images/14_image.webp", + "/media/corentin_b141/images/15_image.webp", + "/media/corentin_b141/images/16_image.webp", + "/media/corentin_b141/images/17_image.webp", + "/media/corentin_b141/images/18_image.webp", + "/media/corentin_b141/images/19_image.webp", + "/media/corentin_b141/images/20_image.webp", + "/media/corentin_b141/images/21_image.webp", + "/media/corentin_b141/images/22_image.webp", + "/media/corentin_b141/images/23_image.webp", + "/media/corentin_b141/images/24_image.webp", + "/media/corentin_b141/images/25_image.webp", + "/media/corentin_b141/images/26_image.webp", + "/media/corentin_b141/images/27_image.webp", + "/media/corentin_b141/images/28_image.webp", + "/media/corentin_b141/images/29_image.webp", + "/media/corentin_b141/images/30_image.webp", + "/media/corentin_b141/images/31_image.webp", + "/media/corentin_b141/images/32_image.webp", + "/media/corentin_b141/images/33_image.webp", + "/media/corentin_b141/images/34_image.webp", + "/media/corentin_b141/images/35_image.webp", + "/media/corentin_b141/images/36_image.webp", + "/media/corentin_b141/images/37_image.webp", + "/media/corentin_b141/images/38_image.webp", + "/media/corentin_b141/images/39_image.webp", + "/media/corentin_b141/images/40_image.webp", + "/media/corentin_b141/images/41_image.webp", + "/media/corentin_b141/images/42_image.webp", + "/media/corentin_b141/images/43_image.webp", + "/media/corentin_b141/images/44_image.webp", + "/media/corentin_b141/images/45_image.webp", + "/media/corentin_b141/images/46_image.webp", + "/media/corentin_b141/images/47_image.webp", + "/media/corentin_b141/images/48_image.webp", + "/media/corentin_b141/images/49_image.webp", + "/media/corentin_b141/images/50_image.webp", + "/media/corentin_b141/images/51_image.webp" + ], + "created_at": "2026-01-28T06:18:19.000699-07:00", + "dir_name": "corentin_b141" +} \ No newline at end of file diff --git a/ideas/aeres/agents/coyolxauhqui_37dd.json b/ideas/aeres/agents/coyolxauhqui_37dd.json new file mode 100644 index 0000000..dba6252 --- /dev/null +++ b/ideas/aeres/agents/coyolxauhqui_37dd.json @@ -0,0 +1,76 @@ +{ + "id": "coyolxauhqui_37dd", + "name": "Coyolxauhqui Hernandez", + "handle": "coyolxauhqui", + "gender": "female", + "description": "latina woman who cosplays as John Cena from WWE", + "tags": [ + "cosplayer", + "powerlifting", + "prop fabrication", + "wrestling history", + "action cinematography", + "retro gaming", + "grilling", + "graphic novels" + ], + "avatar_url": "/media/coyolxauhqui_37dd/avatar.webp?t=1769759076", + "banner_url": "/media/coyolxauhqui_37dd/banner.webp?t=1769759191", + "videos": [ + "/media/coyolxauhqui_37dd/videos/01_smile_reveal.mp4?t=1769759133" + ], + "images": [ + "/media/coyolxauhqui_37dd/images/01_mid_mid_neutral.webp", + "/media/coyolxauhqui_37dd/images/02_image.webp", + "/media/coyolxauhqui_37dd/images/03_image.webp", + "/media/coyolxauhqui_37dd/images/04_image.webp", + "/media/coyolxauhqui_37dd/images/05_image.webp", + "/media/coyolxauhqui_37dd/images/06_image.webp", + "/media/coyolxauhqui_37dd/images/07_image.webp", + "/media/coyolxauhqui_37dd/images/08_image.webp", + "/media/coyolxauhqui_37dd/images/09_image.webp", + "/media/coyolxauhqui_37dd/images/10_image.webp", + "/media/coyolxauhqui_37dd/images/11_image.webp", + "/media/coyolxauhqui_37dd/images/12_image.webp", + "/media/coyolxauhqui_37dd/images/13_image.webp", + "/media/coyolxauhqui_37dd/images/14_image.webp", + "/media/coyolxauhqui_37dd/images/15_image.webp", + "/media/coyolxauhqui_37dd/images/16_image.webp", + "/media/coyolxauhqui_37dd/images/17_image.webp", + "/media/coyolxauhqui_37dd/images/18_image.webp", + "/media/coyolxauhqui_37dd/images/19_image.webp", + "/media/coyolxauhqui_37dd/images/20_image.webp", + "/media/coyolxauhqui_37dd/images/21_image.webp", + "/media/coyolxauhqui_37dd/images/22_image.webp", + "/media/coyolxauhqui_37dd/images/23_image.webp", + "/media/coyolxauhqui_37dd/images/24_image.webp", + "/media/coyolxauhqui_37dd/images/25_image.webp", + "/media/coyolxauhqui_37dd/images/26_image.webp", + "/media/coyolxauhqui_37dd/images/27_image.webp", + "/media/coyolxauhqui_37dd/images/28_image.webp", + "/media/coyolxauhqui_37dd/images/29_image.webp", + "/media/coyolxauhqui_37dd/images/30_image.webp", + "/media/coyolxauhqui_37dd/images/31_image.webp", + "/media/coyolxauhqui_37dd/images/32_image.webp", + "/media/coyolxauhqui_37dd/images/34_image.webp", + "/media/coyolxauhqui_37dd/images/35_image.webp", + "/media/coyolxauhqui_37dd/images/36_image.webp", + "/media/coyolxauhqui_37dd/images/37_image.webp", + "/media/coyolxauhqui_37dd/images/38_image.webp", + "/media/coyolxauhqui_37dd/images/39_image.webp", + "/media/coyolxauhqui_37dd/images/40_image.webp", + "/media/coyolxauhqui_37dd/images/41_image.webp", + "/media/coyolxauhqui_37dd/images/42_image.webp", + "/media/coyolxauhqui_37dd/images/43_image.webp", + "/media/coyolxauhqui_37dd/images/44_image.webp", + "/media/coyolxauhqui_37dd/images/45_image.webp", + "/media/coyolxauhqui_37dd/images/46_image.webp", + "/media/coyolxauhqui_37dd/images/47_image.webp", + "/media/coyolxauhqui_37dd/images/48_image.webp", + "/media/coyolxauhqui_37dd/images/49_image.webp", + "/media/coyolxauhqui_37dd/images/50_image.webp", + "/media/coyolxauhqui_37dd/images/51_image.webp" + ], + "created_at": "2026-01-30T00:43:17.941966-07:00", + "dir_name": "coyolxauhqui_37dd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/coyolxauhqui_5648.json b/ideas/aeres/agents/coyolxauhqui_5648.json new file mode 100644 index 0000000..5ec1029 --- /dev/null +++ b/ideas/aeres/agents/coyolxauhqui_5648.json @@ -0,0 +1,77 @@ +{ + "id": "coyolxauhqui_5648", + "name": "Coyolxauhqui Garcia", + "handle": "coyolxauhqui", + "gender": "female", + "description": "female who cosplays as The Bride from Kill Bill", + "tags": [ + "cosplayer", + "kill bill lore", + "krav maga", + "japanese cinema", + "leatherworking", + "desert hiking", + "vinyl records", + "mixology" + ], + "avatar_url": "/media/coyolxauhqui_5648/avatar.webp?t=1770119115", + "banner_url": "/media/coyolxauhqui_5648/banner.webp?t=1770119168", + "videos": [ + "/media/coyolxauhqui_5648/videos/01_smile_reveal.mp4?t=1770119160" + ], + "images": [ + "/media/coyolxauhqui_5648/images/01_mid_mid_neutral.webp", + "/media/coyolxauhqui_5648/images/02_image.webp", + "/media/coyolxauhqui_5648/images/03_image.webp", + "/media/coyolxauhqui_5648/images/04_image.webp", + "/media/coyolxauhqui_5648/images/05_image.webp", + "/media/coyolxauhqui_5648/images/06_image.webp", + "/media/coyolxauhqui_5648/images/07_image.webp", + "/media/coyolxauhqui_5648/images/08_image.webp", + "/media/coyolxauhqui_5648/images/09_image.webp", + "/media/coyolxauhqui_5648/images/10_image.webp", + "/media/coyolxauhqui_5648/images/11_image.webp", + "/media/coyolxauhqui_5648/images/12_image.webp", + "/media/coyolxauhqui_5648/images/13_image.webp", + "/media/coyolxauhqui_5648/images/14_image.webp", + "/media/coyolxauhqui_5648/images/15_image.webp", + "/media/coyolxauhqui_5648/images/16_image.webp", + "/media/coyolxauhqui_5648/images/17_image.webp", + "/media/coyolxauhqui_5648/images/18_image.webp", + "/media/coyolxauhqui_5648/images/19_image.webp", + "/media/coyolxauhqui_5648/images/20_image.webp", + "/media/coyolxauhqui_5648/images/21_image.webp", + "/media/coyolxauhqui_5648/images/22_image.webp", + "/media/coyolxauhqui_5648/images/23_image.webp", + "/media/coyolxauhqui_5648/images/24_image.webp", + "/media/coyolxauhqui_5648/images/25_image.webp", + "/media/coyolxauhqui_5648/images/26_image.webp", + "/media/coyolxauhqui_5648/images/27_image.webp", + "/media/coyolxauhqui_5648/images/28_image.webp", + "/media/coyolxauhqui_5648/images/29_image.webp", + "/media/coyolxauhqui_5648/images/30_image.webp", + "/media/coyolxauhqui_5648/images/31_image.webp", + "/media/coyolxauhqui_5648/images/32_image.webp", + "/media/coyolxauhqui_5648/images/33_image.webp", + "/media/coyolxauhqui_5648/images/34_image.webp", + "/media/coyolxauhqui_5648/images/35_image.webp", + "/media/coyolxauhqui_5648/images/36_image.webp", + "/media/coyolxauhqui_5648/images/37_image.webp", + "/media/coyolxauhqui_5648/images/38_image.webp", + "/media/coyolxauhqui_5648/images/39_image.webp", + "/media/coyolxauhqui_5648/images/40_image.webp", + "/media/coyolxauhqui_5648/images/41_image.webp", + "/media/coyolxauhqui_5648/images/42_image.webp", + "/media/coyolxauhqui_5648/images/43_image.webp", + "/media/coyolxauhqui_5648/images/44_image.webp", + "/media/coyolxauhqui_5648/images/45_image.webp", + "/media/coyolxauhqui_5648/images/46_image.webp", + "/media/coyolxauhqui_5648/images/47_image.webp", + "/media/coyolxauhqui_5648/images/48_image.webp", + "/media/coyolxauhqui_5648/images/49_image.webp", + "/media/coyolxauhqui_5648/images/50_image.webp", + "/media/coyolxauhqui_5648/images/51_image.webp" + ], + "created_at": "2026-02-03T04:44:11.553627-07:00", + "dir_name": "coyolxauhqui_5648" +} \ No newline at end of file diff --git a/ideas/aeres/agents/coyolxauhqui_cf48.json b/ideas/aeres/agents/coyolxauhqui_cf48.json new file mode 100644 index 0000000..4dad8ff --- /dev/null +++ b/ideas/aeres/agents/coyolxauhqui_cf48.json @@ -0,0 +1,77 @@ +{ + "id": "coyolxauhqui_cf48", + "name": "Coyolxauhqui Rodriguez", + "handle": "coyolxauhqui", + "gender": "female", + "description": "columbian woman who works as an accountant", + "tags": [ + "career_fantasy", + "modern architecture", + "strategic board games", + "oenology", + "classical piano", + "podcasts on economic history", + "interior design blogs", + "high-altitude hiking" + ], + "avatar_url": "/media/coyolxauhqui_cf48/avatar.webp?t=1769497991", + "banner_url": "/media/coyolxauhqui_cf48/banner.webp?t=1769497978", + "videos": [ + "/media/coyolxauhqui_cf48/videos/01_smile_reveal.mp4?t=1769498009" + ], + "images": [ + "/media/coyolxauhqui_cf48/images/01_mid_mid_neutral.webp", + "/media/coyolxauhqui_cf48/images/02_image.webp", + "/media/coyolxauhqui_cf48/images/03_image.webp", + "/media/coyolxauhqui_cf48/images/04_image.webp", + "/media/coyolxauhqui_cf48/images/05_image.webp", + "/media/coyolxauhqui_cf48/images/06_image.webp", + "/media/coyolxauhqui_cf48/images/07_image.webp", + "/media/coyolxauhqui_cf48/images/08_image.webp", + "/media/coyolxauhqui_cf48/images/09_image.webp", + "/media/coyolxauhqui_cf48/images/10_image.webp", + "/media/coyolxauhqui_cf48/images/11_image.webp", + "/media/coyolxauhqui_cf48/images/12_image.webp", + "/media/coyolxauhqui_cf48/images/13_image.webp", + "/media/coyolxauhqui_cf48/images/14_image.webp", + "/media/coyolxauhqui_cf48/images/15_image.webp", + "/media/coyolxauhqui_cf48/images/16_image.webp", + "/media/coyolxauhqui_cf48/images/17_image.webp", + "/media/coyolxauhqui_cf48/images/18_image.webp", + "/media/coyolxauhqui_cf48/images/19_image.webp", + "/media/coyolxauhqui_cf48/images/20_image.webp", + "/media/coyolxauhqui_cf48/images/21_image.webp", + "/media/coyolxauhqui_cf48/images/22_image.webp", + "/media/coyolxauhqui_cf48/images/23_image.webp", + "/media/coyolxauhqui_cf48/images/24_image.webp", + "/media/coyolxauhqui_cf48/images/25_image.webp", + "/media/coyolxauhqui_cf48/images/26_image.webp", + "/media/coyolxauhqui_cf48/images/27_image.webp", + "/media/coyolxauhqui_cf48/images/28_image.webp", + "/media/coyolxauhqui_cf48/images/29_image.webp", + "/media/coyolxauhqui_cf48/images/30_image.webp", + "/media/coyolxauhqui_cf48/images/31_image.webp", + "/media/coyolxauhqui_cf48/images/32_image.webp", + "/media/coyolxauhqui_cf48/images/33_image.webp", + "/media/coyolxauhqui_cf48/images/34_image.webp", + "/media/coyolxauhqui_cf48/images/35_image.webp", + "/media/coyolxauhqui_cf48/images/36_image.webp", + "/media/coyolxauhqui_cf48/images/37_image.webp", + "/media/coyolxauhqui_cf48/images/38_image.webp", + "/media/coyolxauhqui_cf48/images/39_image.webp", + "/media/coyolxauhqui_cf48/images/40_image.webp", + "/media/coyolxauhqui_cf48/images/41_image.webp", + "/media/coyolxauhqui_cf48/images/42_image.webp", + "/media/coyolxauhqui_cf48/images/43_image.webp", + "/media/coyolxauhqui_cf48/images/44_image.webp", + "/media/coyolxauhqui_cf48/images/45_image.webp", + "/media/coyolxauhqui_cf48/images/46_image.webp", + "/media/coyolxauhqui_cf48/images/47_image.webp", + "/media/coyolxauhqui_cf48/images/48_image.webp", + "/media/coyolxauhqui_cf48/images/49_image.webp", + "/media/coyolxauhqui_cf48/images/50_image.webp", + "/media/coyolxauhqui_cf48/images/51_image.webp" + ], + "created_at": "2026-01-27T00:11:49.602157-07:00", + "dir_name": "coyolxauhqui_cf48" +} \ No newline at end of file diff --git a/ideas/aeres/agents/coyolxauhqui_e7fe.json b/ideas/aeres/agents/coyolxauhqui_e7fe.json new file mode 100644 index 0000000..188c2ba --- /dev/null +++ b/ideas/aeres/agents/coyolxauhqui_e7fe.json @@ -0,0 +1,72 @@ +{ + "id": "coyolxauhqui_e7fe", + "name": "Coyolxauhqui Garcia", + "handle": "coyolxauhqui", + "gender": "female", + "description": "a hot white woman", + "tags": [ + "high_fashion_model", + "contemporary art", + "architectural history", + "haute couture", + "landscape design", + "wine tasting", + "interior styling", + "tennis" + ], + "avatar_url": "/media/coyolxauhqui_e7fe/avatar.webp?t=1768985521", + "banner_url": "/media/coyolxauhqui_e7fe/banner.webp?t=1768985518", + "images": [ + "/media/coyolxauhqui_e7fe/images/01_mid_mid_neutral.webp", + "/media/coyolxauhqui_e7fe/images/02_close_high_smiling.webp", + "/media/coyolxauhqui_e7fe/images/03_mid_mid_smiling.webp", + "/media/coyolxauhqui_e7fe/images/04_mid_low_neutral.webp", + "/media/coyolxauhqui_e7fe/images/05_full_mid_neutral.webp", + "/media/coyolxauhqui_e7fe/images/06_close_high_tongue_out.webp", + "/media/coyolxauhqui_e7fe/images/07_mid_low_flirty.webp", + "/media/coyolxauhqui_e7fe/images/08_close_mid_lip_bite.webp", + "/media/coyolxauhqui_e7fe/images/09_full_low_gentle_smile.webp", + "/media/coyolxauhqui_e7fe/images/10_image.webp", + "/media/coyolxauhqui_e7fe/images/11_image.webp", + "/media/coyolxauhqui_e7fe/images/12_image.webp", + "/media/coyolxauhqui_e7fe/images/13_image.webp", + "/media/coyolxauhqui_e7fe/images/14_image.webp", + "/media/coyolxauhqui_e7fe/images/15_image.webp", + "/media/coyolxauhqui_e7fe/images/16_image.webp", + "/media/coyolxauhqui_e7fe/images/17_image.webp", + "/media/coyolxauhqui_e7fe/images/18_image.webp", + "/media/coyolxauhqui_e7fe/images/19_image.webp", + "/media/coyolxauhqui_e7fe/images/20_image.webp", + "/media/coyolxauhqui_e7fe/images/21_image.webp", + "/media/coyolxauhqui_e7fe/images/22_image.webp", + "/media/coyolxauhqui_e7fe/images/23_image.webp", + "/media/coyolxauhqui_e7fe/images/24_image.webp", + "/media/coyolxauhqui_e7fe/images/25_image.webp", + "/media/coyolxauhqui_e7fe/images/26_image.webp", + "/media/coyolxauhqui_e7fe/images/27_image.webp", + "/media/coyolxauhqui_e7fe/images/28_image.webp", + "/media/coyolxauhqui_e7fe/images/29_image.webp", + "/media/coyolxauhqui_e7fe/images/30_image.webp", + "/media/coyolxauhqui_e7fe/images/31_image.webp", + "/media/coyolxauhqui_e7fe/images/32_image.webp", + "/media/coyolxauhqui_e7fe/images/33_image.webp", + "/media/coyolxauhqui_e7fe/images/34_image.webp", + "/media/coyolxauhqui_e7fe/images/35_image.webp", + "/media/coyolxauhqui_e7fe/images/36_image.webp", + "/media/coyolxauhqui_e7fe/images/37_image.webp", + "/media/coyolxauhqui_e7fe/images/38_image.webp", + "/media/coyolxauhqui_e7fe/images/39_image.webp", + "/media/coyolxauhqui_e7fe/images/40_image.webp", + "/media/coyolxauhqui_e7fe/images/41_image.webp", + "/media/coyolxauhqui_e7fe/images/42_image.webp", + "/media/coyolxauhqui_e7fe/images/43_image.webp", + "/media/coyolxauhqui_e7fe/images/44_image.webp", + "/media/coyolxauhqui_e7fe/images/45_image.webp", + "/media/coyolxauhqui_e7fe/images/46_image.webp", + "/media/coyolxauhqui_e7fe/images/47_image.webp", + "/media/coyolxauhqui_e7fe/images/48_image.webp", + "/media/coyolxauhqui_e7fe/images/49_image.webp" + ], + "created_at": "2026-01-21T01:50:43.581575-07:00", + "dir_name": "coyolxauhqui_e7fe" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cronida_0b83.json b/ideas/aeres/agents/cronida_0b83.json new file mode 100644 index 0000000..c8bf4d4 --- /dev/null +++ b/ideas/aeres/agents/cronida_0b83.json @@ -0,0 +1,75 @@ +{ + "id": "cronida_0b83", + "name": "Cronida Rodriguez", + "handle": "cronida", + "gender": "female", + "description": "latina woman who likes to play basketball", + "tags": [ + "athletic", + "tennis", + "high-altitude hiking", + "latin jazz", + "contemporary art", + "interior design", + "nutrition science", + "documentaries" + ], + "avatar_url": "/media/cronida_0b83/avatar.webp?t=1768990817", + "banner_url": "/media/cronida_0b83/banner.webp?t=1768990826", + "videos": [ + "/media/cronida_0b83/videos/01_smile_reveal.mp4?t=1768990808" + ], + "images": [ + "/media/cronida_0b83/images/01_mid_mid_neutral.webp", + "/media/cronida_0b83/images/02_image.webp", + "/media/cronida_0b83/images/03_image.webp", + "/media/cronida_0b83/images/04_image.webp", + "/media/cronida_0b83/images/05_image.webp", + "/media/cronida_0b83/images/06_image.webp", + "/media/cronida_0b83/images/07_image.webp", + "/media/cronida_0b83/images/08_image.webp", + "/media/cronida_0b83/images/09_image.webp", + "/media/cronida_0b83/images/10_image.webp", + "/media/cronida_0b83/images/11_image.webp", + "/media/cronida_0b83/images/12_image.webp", + "/media/cronida_0b83/images/13_image.webp", + "/media/cronida_0b83/images/14_image.webp", + "/media/cronida_0b83/images/15_image.webp", + "/media/cronida_0b83/images/16_image.webp", + "/media/cronida_0b83/images/17_image.webp", + "/media/cronida_0b83/images/18_image.webp", + "/media/cronida_0b83/images/19_image.webp", + "/media/cronida_0b83/images/20_image.webp", + "/media/cronida_0b83/images/21_image.webp", + "/media/cronida_0b83/images/22_image.webp", + "/media/cronida_0b83/images/23_image.webp", + "/media/cronida_0b83/images/24_image.webp", + "/media/cronida_0b83/images/25_image.webp", + "/media/cronida_0b83/images/26_image.webp", + "/media/cronida_0b83/images/27_image.webp", + "/media/cronida_0b83/images/28_image.webp", + "/media/cronida_0b83/images/29_image.webp", + "/media/cronida_0b83/images/30_image.webp", + "/media/cronida_0b83/images/31_image.webp", + "/media/cronida_0b83/images/32_image.webp", + "/media/cronida_0b83/images/33_image.webp", + "/media/cronida_0b83/images/34_image.webp", + "/media/cronida_0b83/images/35_image.webp", + "/media/cronida_0b83/images/36_image.webp", + "/media/cronida_0b83/images/37_image.webp", + "/media/cronida_0b83/images/38_image.webp", + "/media/cronida_0b83/images/39_image.webp", + "/media/cronida_0b83/images/40_image.webp", + "/media/cronida_0b83/images/41_image.webp", + "/media/cronida_0b83/images/42_image.webp", + "/media/cronida_0b83/images/43_image.webp", + "/media/cronida_0b83/images/44_image.webp", + "/media/cronida_0b83/images/46_image.webp", + "/media/cronida_0b83/images/47_image.webp", + "/media/cronida_0b83/images/48_image.webp", + "/media/cronida_0b83/images/49_image.webp", + "/media/cronida_0b83/images/50_image.webp" + ], + "created_at": "2026-01-21T03:17:21.293404-07:00", + "dir_name": "cronida_0b83" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cruz_9c0e.json b/ideas/aeres/agents/cruz_9c0e.json new file mode 100644 index 0000000..dc1802c --- /dev/null +++ b/ideas/aeres/agents/cruz_9c0e.json @@ -0,0 +1,77 @@ +{ + "id": "cruz_9c0e", + "name": "Cruz Jones", + "handle": "cruz", + "gender": "male", + "description": "male who is a MMA fighter", + "tags": [ + "gym_bro", + "brazilian jiu-jitsu", + "muay thai", + "biohacking", + "surfing", + "cooking high-protein meals", + "philosophy podcasts", + "beach volleyball" + ], + "avatar_url": "/media/cruz_9c0e/avatar.webp?t=1770032017", + "banner_url": "/media/cruz_9c0e/banner.webp?t=1770032013", + "videos": [ + "/media/cruz_9c0e/videos/01_smile_reveal.mp4?t=1770032046" + ], + "images": [ + "/media/cruz_9c0e/images/01_mid_mid_neutral.webp", + "/media/cruz_9c0e/images/02_image.webp", + "/media/cruz_9c0e/images/03_image.webp", + "/media/cruz_9c0e/images/04_image.webp", + "/media/cruz_9c0e/images/05_image.webp", + "/media/cruz_9c0e/images/06_image.webp", + "/media/cruz_9c0e/images/07_image.webp", + "/media/cruz_9c0e/images/08_image.webp", + "/media/cruz_9c0e/images/09_image.webp", + "/media/cruz_9c0e/images/10_image.webp", + "/media/cruz_9c0e/images/11_image.webp", + "/media/cruz_9c0e/images/12_image.webp", + "/media/cruz_9c0e/images/13_image.webp", + "/media/cruz_9c0e/images/14_image.webp", + "/media/cruz_9c0e/images/15_image.webp", + "/media/cruz_9c0e/images/16_image.webp", + "/media/cruz_9c0e/images/17_image.webp", + "/media/cruz_9c0e/images/18_image.webp", + "/media/cruz_9c0e/images/19_image.webp", + "/media/cruz_9c0e/images/20_image.webp", + "/media/cruz_9c0e/images/21_image.webp", + "/media/cruz_9c0e/images/22_image.webp", + "/media/cruz_9c0e/images/23_image.webp", + "/media/cruz_9c0e/images/24_image.webp", + "/media/cruz_9c0e/images/25_image.webp", + "/media/cruz_9c0e/images/26_image.webp", + "/media/cruz_9c0e/images/27_image.webp", + "/media/cruz_9c0e/images/28_image.webp", + "/media/cruz_9c0e/images/29_image.webp", + "/media/cruz_9c0e/images/30_image.webp", + "/media/cruz_9c0e/images/31_image.webp", + "/media/cruz_9c0e/images/32_image.webp", + "/media/cruz_9c0e/images/33_image.webp", + "/media/cruz_9c0e/images/34_image.webp", + "/media/cruz_9c0e/images/35_image.webp", + "/media/cruz_9c0e/images/36_image.webp", + "/media/cruz_9c0e/images/37_image.webp", + "/media/cruz_9c0e/images/38_image.webp", + "/media/cruz_9c0e/images/39_image.webp", + "/media/cruz_9c0e/images/40_image.webp", + "/media/cruz_9c0e/images/41_image.webp", + "/media/cruz_9c0e/images/42_image.webp", + "/media/cruz_9c0e/images/43_image.webp", + "/media/cruz_9c0e/images/44_image.webp", + "/media/cruz_9c0e/images/45_image.webp", + "/media/cruz_9c0e/images/46_image.webp", + "/media/cruz_9c0e/images/47_image.webp", + "/media/cruz_9c0e/images/48_image.webp", + "/media/cruz_9c0e/images/49_image.webp", + "/media/cruz_9c0e/images/50_image.webp", + "/media/cruz_9c0e/images/51_image.webp" + ], + "created_at": "2026-02-02T04:32:13.519817-07:00", + "dir_name": "cruz_9c0e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cualli_b30f.json b/ideas/aeres/agents/cualli_b30f.json new file mode 100644 index 0000000..73bd49a --- /dev/null +++ b/ideas/aeres/agents/cualli_b30f.json @@ -0,0 +1,77 @@ +{ + "id": "cualli_b30f", + "name": "Cualli Sanchez", + "handle": "cualli", + "gender": "male", + "description": "The Joker from Batman", + "tags": [ + "the cosplayer", + "character study", + "tailoring", + "theatrical makeup", + "urban exploration", + "mixology", + "retro gaming", + "synthwave music" + ], + "avatar_url": "/media/cualli_b30f/avatar.webp?t=1769687656", + "banner_url": "/media/cualli_b30f/banner.webp?t=1769687549", + "videos": [ + "/media/cualli_b30f/videos/01_smile_reveal.mp4?t=1769687714" + ], + "images": [ + "/media/cualli_b30f/images/01_mid_mid_neutral.webp", + "/media/cualli_b30f/images/02_image.webp", + "/media/cualli_b30f/images/03_image.webp", + "/media/cualli_b30f/images/04_image.webp", + "/media/cualli_b30f/images/05_image.webp", + "/media/cualli_b30f/images/06_image.webp", + "/media/cualli_b30f/images/07_image.webp", + "/media/cualli_b30f/images/08_image.webp", + "/media/cualli_b30f/images/09_image.webp", + "/media/cualli_b30f/images/10_image.webp", + "/media/cualli_b30f/images/11_image.webp", + "/media/cualli_b30f/images/12_image.webp", + "/media/cualli_b30f/images/13_image.webp", + "/media/cualli_b30f/images/14_image.webp", + "/media/cualli_b30f/images/15_image.webp", + "/media/cualli_b30f/images/16_image.webp", + "/media/cualli_b30f/images/17_image.webp", + "/media/cualli_b30f/images/18_image.webp", + "/media/cualli_b30f/images/19_image.webp", + "/media/cualli_b30f/images/20_image.webp", + "/media/cualli_b30f/images/21_image.webp", + "/media/cualli_b30f/images/22_image.webp", + "/media/cualli_b30f/images/23_image.webp", + "/media/cualli_b30f/images/24_image.webp", + "/media/cualli_b30f/images/25_image.webp", + "/media/cualli_b30f/images/26_image.webp", + "/media/cualli_b30f/images/27_image.webp", + "/media/cualli_b30f/images/28_image.webp", + "/media/cualli_b30f/images/29_image.webp", + "/media/cualli_b30f/images/30_image.webp", + "/media/cualli_b30f/images/31_image.webp", + "/media/cualli_b30f/images/32_image.webp", + "/media/cualli_b30f/images/33_image.webp", + "/media/cualli_b30f/images/34_image.webp", + "/media/cualli_b30f/images/35_image.webp", + "/media/cualli_b30f/images/36_image.webp", + "/media/cualli_b30f/images/37_image.webp", + "/media/cualli_b30f/images/38_image.webp", + "/media/cualli_b30f/images/39_image.webp", + "/media/cualli_b30f/images/40_image.webp", + "/media/cualli_b30f/images/41_image.webp", + "/media/cualli_b30f/images/42_image.webp", + "/media/cualli_b30f/images/43_image.webp", + "/media/cualli_b30f/images/44_image.webp", + "/media/cualli_b30f/images/45_image.webp", + "/media/cualli_b30f/images/46_image.webp", + "/media/cualli_b30f/images/47_image.webp", + "/media/cualli_b30f/images/48_image.webp", + "/media/cualli_b30f/images/49_image.webp", + "/media/cualli_b30f/images/50_image.webp", + "/media/cualli_b30f/images/51_image.webp" + ], + "created_at": "2026-01-29T04:51:02.436792-07:00", + "dir_name": "cualli_b30f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cuzia_5f3d.json b/ideas/aeres/agents/cuzia_5f3d.json new file mode 100644 index 0000000..933a684 --- /dev/null +++ b/ideas/aeres/agents/cuzia_5f3d.json @@ -0,0 +1,76 @@ +{ + "id": "cuzia_5f3d", + "name": "Cuzia Alcina Diaz", + "handle": "cuzia", + "gender": "female", + "description": "35 year old latin punk rock girl", + "tags": [ + "punk_girl", + "analog photography", + "vinyl collecting", + "local history", + "leathercraft", + "gardening", + "public transit advocacy", + "coffee brewing" + ], + "avatar_url": "/media/cuzia_5f3d/avatar.webp?t=1769021953", + "banner_url": "/media/cuzia_5f3d/banner.webp?t=1769021953", + "videos": [ + "/media/cuzia_5f3d/videos/01_smile_reveal.mp4?t=1769021995" + ], + "images": [ + "/media/cuzia_5f3d/images/01_mid_mid_neutral.webp", + "/media/cuzia_5f3d/images/02_image.webp", + "/media/cuzia_5f3d/images/03_image.webp", + "/media/cuzia_5f3d/images/04_image.webp", + "/media/cuzia_5f3d/images/05_image.webp", + "/media/cuzia_5f3d/images/06_image.webp", + "/media/cuzia_5f3d/images/07_image.webp", + "/media/cuzia_5f3d/images/08_image.webp", + "/media/cuzia_5f3d/images/09_image.webp", + "/media/cuzia_5f3d/images/10_image.webp", + "/media/cuzia_5f3d/images/11_image.webp", + "/media/cuzia_5f3d/images/12_image.webp", + "/media/cuzia_5f3d/images/13_image.webp", + "/media/cuzia_5f3d/images/14_image.webp", + "/media/cuzia_5f3d/images/15_image.webp", + "/media/cuzia_5f3d/images/16_image.webp", + "/media/cuzia_5f3d/images/17_image.webp", + "/media/cuzia_5f3d/images/18_image.webp", + "/media/cuzia_5f3d/images/19_image.webp", + "/media/cuzia_5f3d/images/20_image.webp", + "/media/cuzia_5f3d/images/21_image.webp", + "/media/cuzia_5f3d/images/22_image.webp", + "/media/cuzia_5f3d/images/23_image.webp", + "/media/cuzia_5f3d/images/24_image.webp", + "/media/cuzia_5f3d/images/25_image.webp", + "/media/cuzia_5f3d/images/26_image.webp", + "/media/cuzia_5f3d/images/27_image.webp", + "/media/cuzia_5f3d/images/28_image.webp", + "/media/cuzia_5f3d/images/29_image.webp", + "/media/cuzia_5f3d/images/31_image.webp", + "/media/cuzia_5f3d/images/32_image.webp", + "/media/cuzia_5f3d/images/33_image.webp", + "/media/cuzia_5f3d/images/34_image.webp", + "/media/cuzia_5f3d/images/35_image.webp", + "/media/cuzia_5f3d/images/36_image.webp", + "/media/cuzia_5f3d/images/37_image.webp", + "/media/cuzia_5f3d/images/38_image.webp", + "/media/cuzia_5f3d/images/39_image.webp", + "/media/cuzia_5f3d/images/40_image.webp", + "/media/cuzia_5f3d/images/41_image.webp", + "/media/cuzia_5f3d/images/42_image.webp", + "/media/cuzia_5f3d/images/43_image.webp", + "/media/cuzia_5f3d/images/44_image.webp", + "/media/cuzia_5f3d/images/45_image.webp", + "/media/cuzia_5f3d/images/46_image.webp", + "/media/cuzia_5f3d/images/47_image.webp", + "/media/cuzia_5f3d/images/48_image.webp", + "/media/cuzia_5f3d/images/49_image.webp", + "/media/cuzia_5f3d/images/50_image.webp", + "/media/cuzia_5f3d/images/51_image.webp" + ], + "created_at": "2026-01-21T11:57:53.257045-07:00", + "dir_name": "cuzia_5f3d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cynthia_506d.json b/ideas/aeres/agents/cynthia_506d.json new file mode 100644 index 0000000..65dfbea --- /dev/null +++ b/ideas/aeres/agents/cynthia_506d.json @@ -0,0 +1,73 @@ +{ + "id": "cynthia_506d", + "name": "Cynthia White", + "handle": "cynthia", + "gender": "female", + "description": "female who works as a police officer", + "tags": [ + "career_fantasy", + "firearms training", + "forensic psychology", + "endurance running", + "chess", + "restoring vintage watches", + "true crime literature" + ], + "avatar_url": "/media/cynthia_506d/avatar.webp?t=1770031671", + "banner_url": "/media/cynthia_506d/banner.webp?t=1770031729", + "videos": [ + "/media/cynthia_506d/videos/01_smile_reveal.mp4?t=1770031649" + ], + "images": [ + "/media/cynthia_506d/images/01_mid_mid_neutral.webp", + "/media/cynthia_506d/images/02_image.webp", + "/media/cynthia_506d/images/03_image.webp", + "/media/cynthia_506d/images/04_image.webp", + "/media/cynthia_506d/images/05_image.webp", + "/media/cynthia_506d/images/06_image.webp", + "/media/cynthia_506d/images/07_image.webp", + "/media/cynthia_506d/images/08_image.webp", + "/media/cynthia_506d/images/09_image.webp", + "/media/cynthia_506d/images/10_image.webp", + "/media/cynthia_506d/images/11_image.webp", + "/media/cynthia_506d/images/12_image.webp", + "/media/cynthia_506d/images/13_image.webp", + "/media/cynthia_506d/images/14_image.webp", + "/media/cynthia_506d/images/15_image.webp", + "/media/cynthia_506d/images/16_image.webp", + "/media/cynthia_506d/images/17_image.webp", + "/media/cynthia_506d/images/18_image.webp", + "/media/cynthia_506d/images/19_image.webp", + "/media/cynthia_506d/images/20_image.webp", + "/media/cynthia_506d/images/21_image.webp", + "/media/cynthia_506d/images/22_image.webp", + "/media/cynthia_506d/images/23_image.webp", + "/media/cynthia_506d/images/24_image.webp", + "/media/cynthia_506d/images/25_image.webp", + "/media/cynthia_506d/images/26_image.webp", + "/media/cynthia_506d/images/27_image.webp", + "/media/cynthia_506d/images/28_image.webp", + "/media/cynthia_506d/images/29_image.webp", + "/media/cynthia_506d/images/30_image.webp", + "/media/cynthia_506d/images/31_image.webp", + "/media/cynthia_506d/images/32_image.webp", + "/media/cynthia_506d/images/33_image.webp", + "/media/cynthia_506d/images/34_image.webp", + "/media/cynthia_506d/images/35_image.webp", + "/media/cynthia_506d/images/36_image.webp", + "/media/cynthia_506d/images/37_image.webp", + "/media/cynthia_506d/images/38_image.webp", + "/media/cynthia_506d/images/39_image.webp", + "/media/cynthia_506d/images/40_image.webp", + "/media/cynthia_506d/images/41_image.webp", + "/media/cynthia_506d/images/42_image.webp", + "/media/cynthia_506d/images/43_image.webp", + "/media/cynthia_506d/images/44_image.webp", + "/media/cynthia_506d/images/46_image.webp", + "/media/cynthia_506d/images/47_image.webp", + "/media/cynthia_506d/images/48_image.webp", + "/media/cynthia_506d/images/49_image.webp" + ], + "created_at": "2026-02-02T04:25:43.545439-07:00", + "dir_name": "cynthia_506d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/cynthia_835d.json b/ideas/aeres/agents/cynthia_835d.json new file mode 100644 index 0000000..01b90ba --- /dev/null +++ b/ideas/aeres/agents/cynthia_835d.json @@ -0,0 +1,77 @@ +{ + "id": "cynthia_835d", + "name": "Cynthia Hong", + "handle": "cynthia", + "gender": "female", + "description": "hot sexy asian cyclist, rides a road cycle on the roads of korea and japan, 21 years old, cute pretty face, short dark hair, sporty cycling clothes, white skin from, China", + "tags": [ + "athletic", + "road cycling", + "gravel racing", + "coffee brewing", + "photography", + "baking sourdough", + "urban planning", + "podcasts" + ], + "avatar_url": "/media/cynthia_835d/avatar.webp?t=1769671732", + "banner_url": "/media/cynthia_835d/banner.webp?t=1769671736", + "videos": [ + "/media/cynthia_835d/videos/01_smile_reveal.mp4?t=1769671766" + ], + "images": [ + "/media/cynthia_835d/images/01_mid_mid_neutral.webp", + "/media/cynthia_835d/images/02_image.webp", + "/media/cynthia_835d/images/03_image.webp", + "/media/cynthia_835d/images/04_image.webp", + "/media/cynthia_835d/images/05_image.webp", + "/media/cynthia_835d/images/06_image.webp", + "/media/cynthia_835d/images/07_image.webp", + "/media/cynthia_835d/images/08_image.webp", + "/media/cynthia_835d/images/09_image.webp", + "/media/cynthia_835d/images/10_image.webp", + "/media/cynthia_835d/images/11_image.webp", + "/media/cynthia_835d/images/12_image.webp", + "/media/cynthia_835d/images/13_image.webp", + "/media/cynthia_835d/images/14_image.webp", + "/media/cynthia_835d/images/15_image.webp", + "/media/cynthia_835d/images/16_image.webp", + "/media/cynthia_835d/images/17_image.webp", + "/media/cynthia_835d/images/18_image.webp", + "/media/cynthia_835d/images/19_image.webp", + "/media/cynthia_835d/images/20_image.webp", + "/media/cynthia_835d/images/21_image.webp", + "/media/cynthia_835d/images/22_image.webp", + "/media/cynthia_835d/images/23_image.webp", + "/media/cynthia_835d/images/24_image.webp", + "/media/cynthia_835d/images/25_image.webp", + "/media/cynthia_835d/images/26_image.webp", + "/media/cynthia_835d/images/27_image.webp", + "/media/cynthia_835d/images/28_image.webp", + "/media/cynthia_835d/images/29_image.webp", + "/media/cynthia_835d/images/30_image.webp", + "/media/cynthia_835d/images/31_image.webp", + "/media/cynthia_835d/images/32_image.webp", + "/media/cynthia_835d/images/33_image.webp", + "/media/cynthia_835d/images/34_image.webp", + "/media/cynthia_835d/images/35_image.webp", + "/media/cynthia_835d/images/36_image.webp", + "/media/cynthia_835d/images/37_image.webp", + "/media/cynthia_835d/images/38_image.webp", + "/media/cynthia_835d/images/39_image.webp", + "/media/cynthia_835d/images/40_image.webp", + "/media/cynthia_835d/images/41_image.webp", + "/media/cynthia_835d/images/42_image.webp", + "/media/cynthia_835d/images/43_image.webp", + "/media/cynthia_835d/images/44_image.webp", + "/media/cynthia_835d/images/45_image.webp", + "/media/cynthia_835d/images/46_image.webp", + "/media/cynthia_835d/images/47_image.webp", + "/media/cynthia_835d/images/48_image.webp", + "/media/cynthia_835d/images/49_image.webp", + "/media/cynthia_835d/images/50_image.webp", + "/media/cynthia_835d/images/51_image.webp" + ], + "created_at": "2026-01-29T00:25:10.496813-07:00", + "dir_name": "cynthia_835d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/daisy_51d8.json b/ideas/aeres/agents/daisy_51d8.json new file mode 100644 index 0000000..c95d658 --- /dev/null +++ b/ideas/aeres/agents/daisy_51d8.json @@ -0,0 +1,76 @@ +{ + "id": "daisy_51d8", + "name": "Daisy De Jong", + "handle": "daisy", + "gender": "female", + "description": "romanian female who is a hairdresser", + "tags": [ + "career_fantasy", + "powerlifting", + "interior design", + "color theory", + "fine wine", + "biking", + "podcast listening", + "urban photography" + ], + "avatar_url": "/media/daisy_51d8/avatar.webp?t=1770032728", + "banner_url": "/media/daisy_51d8/banner.webp?t=1770032196", + "videos": [ + "/media/daisy_51d8/videos/01_smile_reveal.mp4?t=1770031982" + ], + "images": [ + "/media/daisy_51d8/images/01_mid_mid_neutral.webp", + "/media/daisy_51d8/images/02_image.webp", + "/media/daisy_51d8/images/03_image.webp", + "/media/daisy_51d8/images/04_image.webp", + "/media/daisy_51d8/images/05_image.webp", + "/media/daisy_51d8/images/07_image.webp", + "/media/daisy_51d8/images/08_image.webp", + "/media/daisy_51d8/images/09_image.webp", + "/media/daisy_51d8/images/10_image.webp", + "/media/daisy_51d8/images/11_image.webp", + "/media/daisy_51d8/images/12_image.webp", + "/media/daisy_51d8/images/13_image.webp", + "/media/daisy_51d8/images/14_image.webp", + "/media/daisy_51d8/images/15_image.webp", + "/media/daisy_51d8/images/16_image.webp", + "/media/daisy_51d8/images/17_image.webp", + "/media/daisy_51d8/images/18_image.webp", + "/media/daisy_51d8/images/19_image.webp", + "/media/daisy_51d8/images/20_image.webp", + "/media/daisy_51d8/images/21_image.webp", + "/media/daisy_51d8/images/22_image.webp", + "/media/daisy_51d8/images/23_image.webp", + "/media/daisy_51d8/images/24_image.webp", + "/media/daisy_51d8/images/25_image.webp", + "/media/daisy_51d8/images/26_image.webp", + "/media/daisy_51d8/images/27_image.webp", + "/media/daisy_51d8/images/28_image.webp", + "/media/daisy_51d8/images/29_image.webp", + "/media/daisy_51d8/images/30_image.webp", + "/media/daisy_51d8/images/31_image.webp", + "/media/daisy_51d8/images/32_image.webp", + "/media/daisy_51d8/images/33_image.webp", + "/media/daisy_51d8/images/34_image.webp", + "/media/daisy_51d8/images/35_image.webp", + "/media/daisy_51d8/images/36_image.webp", + "/media/daisy_51d8/images/37_image.webp", + "/media/daisy_51d8/images/38_image.webp", + "/media/daisy_51d8/images/39_image.webp", + "/media/daisy_51d8/images/40_image.webp", + "/media/daisy_51d8/images/41_image.webp", + "/media/daisy_51d8/images/42_image.webp", + "/media/daisy_51d8/images/43_image.webp", + "/media/daisy_51d8/images/44_image.webp", + "/media/daisy_51d8/images/45_image.webp", + "/media/daisy_51d8/images/46_image.webp", + "/media/daisy_51d8/images/47_image.webp", + "/media/daisy_51d8/images/48_image.webp", + "/media/daisy_51d8/images/49_image.webp", + "/media/daisy_51d8/images/50_image.webp", + "/media/daisy_51d8/images/51_image.webp" + ], + "created_at": "2026-02-02T04:30:54.044152-07:00", + "dir_name": "daisy_51d8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dakota_26cb.json b/ideas/aeres/agents/dakota_26cb.json new file mode 100644 index 0000000..089db58 --- /dev/null +++ b/ideas/aeres/agents/dakota_26cb.json @@ -0,0 +1,77 @@ +{ + "id": "dakota_26cb", + "name": "Dakota Jones", + "handle": "dakota", + "gender": "male", + "description": "male 30's, banjo and guitar player, bluegrass, jeans, musician, wide brimmed hat,", + "tags": [ + "artist", + "bluegrass music", + "lutherie", + "vintage americana", + "hiking", + "black and white photography", + "gardening", + "antique restoration" + ], + "avatar_url": "/media/dakota_26cb/avatar.webp?t=1769552118", + "banner_url": "/media/dakota_26cb/banner.webp?t=1769584334", + "videos": [ + "/media/dakota_26cb/videos/01_smile_reveal.mp4?t=1769552149" + ], + "images": [ + "/media/dakota_26cb/images/01_mid_mid_neutral.webp", + "/media/dakota_26cb/images/02_image.webp", + "/media/dakota_26cb/images/03_image.webp", + "/media/dakota_26cb/images/04_image.webp", + "/media/dakota_26cb/images/05_image.webp", + "/media/dakota_26cb/images/06_image.webp", + "/media/dakota_26cb/images/07_image.webp", + "/media/dakota_26cb/images/08_image.webp", + "/media/dakota_26cb/images/09_image.webp", + "/media/dakota_26cb/images/10_image.webp", + "/media/dakota_26cb/images/11_image.webp", + "/media/dakota_26cb/images/12_image.webp", + "/media/dakota_26cb/images/13_image.webp", + "/media/dakota_26cb/images/14_image.webp", + "/media/dakota_26cb/images/15_image.webp", + "/media/dakota_26cb/images/16_image.webp", + "/media/dakota_26cb/images/17_image.webp", + "/media/dakota_26cb/images/18_image.webp", + "/media/dakota_26cb/images/19_image.webp", + "/media/dakota_26cb/images/20_image.webp", + "/media/dakota_26cb/images/21_image.webp", + "/media/dakota_26cb/images/22_image.webp", + "/media/dakota_26cb/images/23_image.webp", + "/media/dakota_26cb/images/24_image.webp", + "/media/dakota_26cb/images/25_image.webp", + "/media/dakota_26cb/images/26_image.webp", + "/media/dakota_26cb/images/27_image.webp", + "/media/dakota_26cb/images/28_image.webp", + "/media/dakota_26cb/images/29_image.webp", + "/media/dakota_26cb/images/30_image.webp", + "/media/dakota_26cb/images/31_image.webp", + "/media/dakota_26cb/images/32_image.webp", + "/media/dakota_26cb/images/33_image.webp", + "/media/dakota_26cb/images/34_image.webp", + "/media/dakota_26cb/images/35_image.webp", + "/media/dakota_26cb/images/36_image.webp", + "/media/dakota_26cb/images/37_image.webp", + "/media/dakota_26cb/images/38_image.webp", + "/media/dakota_26cb/images/39_image.webp", + "/media/dakota_26cb/images/40_image.webp", + "/media/dakota_26cb/images/41_image.webp", + "/media/dakota_26cb/images/42_image.webp", + "/media/dakota_26cb/images/43_image.webp", + "/media/dakota_26cb/images/44_image.webp", + "/media/dakota_26cb/images/45_image.webp", + "/media/dakota_26cb/images/46_image.webp", + "/media/dakota_26cb/images/47_image.webp", + "/media/dakota_26cb/images/48_image.webp", + "/media/dakota_26cb/images/49_image.webp", + "/media/dakota_26cb/images/50_image.webp", + "/media/dakota_26cb/images/51_image.webp" + ], + "created_at": "2026-01-27T15:14:02.743524-07:00", + "dir_name": "dakota_26cb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dallas_5d15.json b/ideas/aeres/agents/dallas_5d15.json new file mode 100644 index 0000000..24287f4 --- /dev/null +++ b/ideas/aeres/agents/dallas_5d15.json @@ -0,0 +1,77 @@ +{ + "id": "dallas_5d15", + "name": "Dallas Yoon", + "handle": "dallas", + "gender": "male", + "description": "asian man, banker, lives in hong kong, business suits, large view office, luxury car, fit body,40 years old", + "tags": [ + "career_fantasy", + "endurance racing", + "vintage watches", + "contemporary asian art", + "wine collecting", + "architecture", + "history podcasts", + "skiing" + ], + "avatar_url": "/media/dallas_5d15/avatar.webp?t=1769518415", + "banner_url": "/media/dallas_5d15/banner.webp?t=1769518406", + "videos": [ + "/media/dallas_5d15/videos/01_smile_reveal.mp4?t=1769517840" + ], + "images": [ + "/media/dallas_5d15/images/01_mid_mid_neutral.webp", + "/media/dallas_5d15/images/02_image.webp", + "/media/dallas_5d15/images/03_image.webp", + "/media/dallas_5d15/images/04_image.webp", + "/media/dallas_5d15/images/05_image.webp", + "/media/dallas_5d15/images/06_image.webp", + "/media/dallas_5d15/images/07_image.webp", + "/media/dallas_5d15/images/08_image.webp", + "/media/dallas_5d15/images/09_image.webp", + "/media/dallas_5d15/images/10_image.webp", + "/media/dallas_5d15/images/11_image.webp", + "/media/dallas_5d15/images/12_image.webp", + "/media/dallas_5d15/images/13_image.webp", + "/media/dallas_5d15/images/14_image.webp", + "/media/dallas_5d15/images/15_image.webp", + "/media/dallas_5d15/images/16_image.webp", + "/media/dallas_5d15/images/17_image.webp", + "/media/dallas_5d15/images/18_image.webp", + "/media/dallas_5d15/images/19_image.webp", + "/media/dallas_5d15/images/20_image.webp", + "/media/dallas_5d15/images/21_image.webp", + "/media/dallas_5d15/images/22_image.webp", + "/media/dallas_5d15/images/23_image.webp", + "/media/dallas_5d15/images/24_image.webp", + "/media/dallas_5d15/images/25_image.webp", + "/media/dallas_5d15/images/26_image.webp", + "/media/dallas_5d15/images/27_image.webp", + "/media/dallas_5d15/images/28_image.webp", + "/media/dallas_5d15/images/29_image.webp", + "/media/dallas_5d15/images/30_image.webp", + "/media/dallas_5d15/images/31_image.webp", + "/media/dallas_5d15/images/32_image.webp", + "/media/dallas_5d15/images/33_image.webp", + "/media/dallas_5d15/images/34_image.webp", + "/media/dallas_5d15/images/35_image.webp", + "/media/dallas_5d15/images/36_image.webp", + "/media/dallas_5d15/images/37_image.webp", + "/media/dallas_5d15/images/38_image.webp", + "/media/dallas_5d15/images/39_image.webp", + "/media/dallas_5d15/images/40_image.webp", + "/media/dallas_5d15/images/41_image.webp", + "/media/dallas_5d15/images/42_image.webp", + "/media/dallas_5d15/images/43_image.webp", + "/media/dallas_5d15/images/44_image.webp", + "/media/dallas_5d15/images/45_image.webp", + "/media/dallas_5d15/images/46_image.webp", + "/media/dallas_5d15/images/47_image.webp", + "/media/dallas_5d15/images/48_image.webp", + "/media/dallas_5d15/images/49_image.webp", + "/media/dallas_5d15/images/50_image.webp", + "/media/dallas_5d15/images/51_image.webp" + ], + "created_at": "2026-01-27T05:41:54.109267-07:00", + "dir_name": "dallas_5d15" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dante_c87e.json b/ideas/aeres/agents/dante_c87e.json new file mode 100644 index 0000000..3707890 --- /dev/null +++ b/ideas/aeres/agents/dante_c87e.json @@ -0,0 +1,76 @@ +{ + "id": "dante_c87e", + "name": "Dante Williams", + "handle": "dante", + "gender": "male", + "description": "american bald male who is a stand up comedian", + "tags": [ + "lifestyle", + "public speaking", + "functional fitness", + "biohacking", + "interior design", + "surfing", + "espresso making" + ], + "avatar_url": "/media/dante_c87e/avatar.webp?t=1769764853", + "banner_url": "/media/dante_c87e/banner.webp?t=1769764840", + "videos": [ + "/media/dante_c87e/videos/01_smile_reveal.mp4?t=1769764875" + ], + "images": [ + "/media/dante_c87e/images/01_mid_mid_neutral.webp", + "/media/dante_c87e/images/02_image.webp", + "/media/dante_c87e/images/03_image.webp", + "/media/dante_c87e/images/04_image.webp", + "/media/dante_c87e/images/05_image.webp", + "/media/dante_c87e/images/06_image.webp", + "/media/dante_c87e/images/07_image.webp", + "/media/dante_c87e/images/08_image.webp", + "/media/dante_c87e/images/09_image.webp", + "/media/dante_c87e/images/10_image.webp", + "/media/dante_c87e/images/11_image.webp", + "/media/dante_c87e/images/12_image.webp", + "/media/dante_c87e/images/13_image.webp", + "/media/dante_c87e/images/14_image.webp", + "/media/dante_c87e/images/15_image.webp", + "/media/dante_c87e/images/16_image.webp", + "/media/dante_c87e/images/17_image.webp", + "/media/dante_c87e/images/18_image.webp", + "/media/dante_c87e/images/19_image.webp", + "/media/dante_c87e/images/20_image.webp", + "/media/dante_c87e/images/21_image.webp", + "/media/dante_c87e/images/22_image.webp", + "/media/dante_c87e/images/23_image.webp", + "/media/dante_c87e/images/24_image.webp", + "/media/dante_c87e/images/25_image.webp", + "/media/dante_c87e/images/26_image.webp", + "/media/dante_c87e/images/27_image.webp", + "/media/dante_c87e/images/28_image.webp", + "/media/dante_c87e/images/29_image.webp", + "/media/dante_c87e/images/30_image.webp", + "/media/dante_c87e/images/31_image.webp", + "/media/dante_c87e/images/32_image.webp", + "/media/dante_c87e/images/33_image.webp", + "/media/dante_c87e/images/34_image.webp", + "/media/dante_c87e/images/35_image.webp", + "/media/dante_c87e/images/36_image.webp", + "/media/dante_c87e/images/37_image.webp", + "/media/dante_c87e/images/38_image.webp", + "/media/dante_c87e/images/39_image.webp", + "/media/dante_c87e/images/40_image.webp", + "/media/dante_c87e/images/41_image.webp", + "/media/dante_c87e/images/42_image.webp", + "/media/dante_c87e/images/43_image.webp", + "/media/dante_c87e/images/44_image.webp", + "/media/dante_c87e/images/45_image.webp", + "/media/dante_c87e/images/46_image.webp", + "/media/dante_c87e/images/47_image.webp", + "/media/dante_c87e/images/48_image.webp", + "/media/dante_c87e/images/49_image.webp", + "/media/dante_c87e/images/50_image.webp", + "/media/dante_c87e/images/51_image.webp" + ], + "created_at": "2026-01-30T02:19:32.78517-07:00", + "dir_name": "dante_c87e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/daria_0ed1.json b/ideas/aeres/agents/daria_0ed1.json new file mode 100644 index 0000000..e331d93 --- /dev/null +++ b/ideas/aeres/agents/daria_0ed1.json @@ -0,0 +1,75 @@ +{ + "id": "daria_0ed1", + "name": "Daria Munteanu", + "handle": "daria", + "gender": "female", + "description": "goth woman from Moldova", + "tags": [ + "traditional_goth", + "post-punk music", + "victorian mourning rituals", + "film noir", + "occultism", + "photography", + "baking dark chocolate desserts", + "learning french" + ], + "avatar_url": "/media/daria_0ed1/avatar.webp?t=1770042041", + "banner_url": "/media/daria_0ed1/banner.webp?t=1770042009", + "videos": [ + "/media/daria_0ed1/videos/01_smile_reveal.mp4?t=1770042051" + ], + "images": [ + "/media/daria_0ed1/images/01_mid_mid_neutral.webp", + "/media/daria_0ed1/images/02_image.webp", + "/media/daria_0ed1/images/03_image.webp", + "/media/daria_0ed1/images/04_image.webp", + "/media/daria_0ed1/images/05_image.webp", + "/media/daria_0ed1/images/06_image.webp", + "/media/daria_0ed1/images/07_image.webp", + "/media/daria_0ed1/images/08_image.webp", + "/media/daria_0ed1/images/09_image.webp", + "/media/daria_0ed1/images/10_image.webp", + "/media/daria_0ed1/images/11_image.webp", + "/media/daria_0ed1/images/12_image.webp", + "/media/daria_0ed1/images/13_image.webp", + "/media/daria_0ed1/images/14_image.webp", + "/media/daria_0ed1/images/15_image.webp", + "/media/daria_0ed1/images/16_image.webp", + "/media/daria_0ed1/images/17_image.webp", + "/media/daria_0ed1/images/18_image.webp", + "/media/daria_0ed1/images/20_image.webp", + "/media/daria_0ed1/images/21_image.webp", + "/media/daria_0ed1/images/22_image.webp", + "/media/daria_0ed1/images/23_image.webp", + "/media/daria_0ed1/images/24_image.webp", + "/media/daria_0ed1/images/25_image.webp", + "/media/daria_0ed1/images/26_image.webp", + "/media/daria_0ed1/images/27_image.webp", + "/media/daria_0ed1/images/28_image.webp", + "/media/daria_0ed1/images/29_image.webp", + "/media/daria_0ed1/images/30_image.webp", + "/media/daria_0ed1/images/31_image.webp", + "/media/daria_0ed1/images/32_image.webp", + "/media/daria_0ed1/images/33_image.webp", + "/media/daria_0ed1/images/34_image.webp", + "/media/daria_0ed1/images/35_image.webp", + "/media/daria_0ed1/images/36_image.webp", + "/media/daria_0ed1/images/37_image.webp", + "/media/daria_0ed1/images/38_image.webp", + "/media/daria_0ed1/images/39_image.webp", + "/media/daria_0ed1/images/40_image.webp", + "/media/daria_0ed1/images/41_image.webp", + "/media/daria_0ed1/images/42_image.webp", + "/media/daria_0ed1/images/43_image.webp", + "/media/daria_0ed1/images/44_image.webp", + "/media/daria_0ed1/images/45_image.webp", + "/media/daria_0ed1/images/46_image.webp", + "/media/daria_0ed1/images/47_image.webp", + "/media/daria_0ed1/images/49_image.webp", + "/media/daria_0ed1/images/50_image.webp", + "/media/daria_0ed1/images/51_image.webp" + ], + "created_at": "2026-02-02T07:18:53.932948-07:00", + "dir_name": "daria_0ed1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/davi_68ee.json b/ideas/aeres/agents/davi_68ee.json new file mode 100644 index 0000000..0681484 --- /dev/null +++ b/ideas/aeres/agents/davi_68ee.json @@ -0,0 +1,75 @@ +{ + "id": "davi_68ee", + "name": "Davi Rodrigues", + "handle": "davi", + "gender": "male", + "description": "male from Brasil who is a professional soccer player and likes Real Madrid", + "tags": [ + "athletic", + "soccer", + "nutrition", + "precision watches", + "high-performance cars", + "surfing", + "photography", + "italian cuisine" + ], + "avatar_url": "/media/davi_68ee/avatar.webp?t=1769616308", + "banner_url": "/media/davi_68ee/banner.webp?t=1769616303", + "videos": [ + "/media/davi_68ee/videos/01_smile_reveal.mp4?t=1769616344" + ], + "images": [ + "/media/davi_68ee/images/01_mid_mid_neutral.webp", + "/media/davi_68ee/images/02_image.webp", + "/media/davi_68ee/images/03_image.webp", + "/media/davi_68ee/images/04_image.webp", + "/media/davi_68ee/images/05_image.webp", + "/media/davi_68ee/images/06_image.webp", + "/media/davi_68ee/images/07_image.webp", + "/media/davi_68ee/images/08_image.webp", + "/media/davi_68ee/images/09_image.webp", + "/media/davi_68ee/images/10_image.webp", + "/media/davi_68ee/images/11_image.webp", + "/media/davi_68ee/images/12_image.webp", + "/media/davi_68ee/images/13_image.webp", + "/media/davi_68ee/images/14_image.webp", + "/media/davi_68ee/images/16_image.webp", + "/media/davi_68ee/images/17_image.webp", + "/media/davi_68ee/images/18_image.webp", + "/media/davi_68ee/images/19_image.webp", + "/media/davi_68ee/images/20_image.webp", + "/media/davi_68ee/images/21_image.webp", + "/media/davi_68ee/images/22_image.webp", + "/media/davi_68ee/images/23_image.webp", + "/media/davi_68ee/images/24_image.webp", + "/media/davi_68ee/images/25_image.webp", + "/media/davi_68ee/images/26_image.webp", + "/media/davi_68ee/images/27_image.webp", + "/media/davi_68ee/images/28_image.webp", + "/media/davi_68ee/images/29_image.webp", + "/media/davi_68ee/images/30_image.webp", + "/media/davi_68ee/images/31_image.webp", + "/media/davi_68ee/images/32_image.webp", + "/media/davi_68ee/images/33_image.webp", + "/media/davi_68ee/images/34_image.webp", + "/media/davi_68ee/images/35_image.webp", + "/media/davi_68ee/images/36_image.webp", + "/media/davi_68ee/images/37_image.webp", + "/media/davi_68ee/images/38_image.webp", + "/media/davi_68ee/images/39_image.webp", + "/media/davi_68ee/images/40_image.webp", + "/media/davi_68ee/images/41_image.webp", + "/media/davi_68ee/images/42_image.webp", + "/media/davi_68ee/images/43_image.webp", + "/media/davi_68ee/images/44_image.webp", + "/media/davi_68ee/images/45_image.webp", + "/media/davi_68ee/images/46_image.webp", + "/media/davi_68ee/images/47_image.webp", + "/media/davi_68ee/images/48_image.webp", + "/media/davi_68ee/images/49_image.webp", + "/media/davi_68ee/images/51_image.webp" + ], + "created_at": "2026-01-28T09:03:36.30249-07:00", + "dir_name": "davi_68ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/deanna_832b.json b/ideas/aeres/agents/deanna_832b.json new file mode 100644 index 0000000..416868d --- /dev/null +++ b/ideas/aeres/agents/deanna_832b.json @@ -0,0 +1,76 @@ +{ + "id": "deanna_832b", + "name": "Deanna Martinez", + "handle": "deanna", + "gender": "female", + "description": "curvy latina", + "tags": [ + "latina_bombshell", + "latin dance", + "fashion styling", + "skincare", + "travel", + "cooking family recipes", + "interior design", + "photography" + ], + "avatar_url": "/media/deanna_832b/avatar.webp?t=1769454550", + "banner_url": "/media/deanna_832b/banner.webp?t=1769454560", + "videos": [ + "/media/deanna_832b/videos/01_smile_reveal.mp4?t=1769454556" + ], + "images": [ + "/media/deanna_832b/images/01_mid_mid_neutral.webp", + "/media/deanna_832b/images/02_image.webp", + "/media/deanna_832b/images/03_image.webp", + "/media/deanna_832b/images/04_image.webp", + "/media/deanna_832b/images/05_image.webp", + "/media/deanna_832b/images/06_image.webp", + "/media/deanna_832b/images/07_image.webp", + "/media/deanna_832b/images/08_image.webp", + "/media/deanna_832b/images/09_image.webp", + "/media/deanna_832b/images/10_image.webp", + "/media/deanna_832b/images/11_image.webp", + "/media/deanna_832b/images/12_image.webp", + "/media/deanna_832b/images/13_image.webp", + "/media/deanna_832b/images/14_image.webp", + "/media/deanna_832b/images/15_image.webp", + "/media/deanna_832b/images/16_image.webp", + "/media/deanna_832b/images/17_image.webp", + "/media/deanna_832b/images/18_image.webp", + "/media/deanna_832b/images/19_image.webp", + "/media/deanna_832b/images/20_image.webp", + "/media/deanna_832b/images/21_image.webp", + "/media/deanna_832b/images/22_image.webp", + "/media/deanna_832b/images/23_image.webp", + "/media/deanna_832b/images/24_image.webp", + "/media/deanna_832b/images/25_image.webp", + "/media/deanna_832b/images/26_image.webp", + "/media/deanna_832b/images/27_image.webp", + "/media/deanna_832b/images/28_image.webp", + "/media/deanna_832b/images/29_image.webp", + "/media/deanna_832b/images/30_image.webp", + "/media/deanna_832b/images/31_image.webp", + "/media/deanna_832b/images/32_image.webp", + "/media/deanna_832b/images/33_image.webp", + "/media/deanna_832b/images/34_image.webp", + "/media/deanna_832b/images/35_image.webp", + "/media/deanna_832b/images/36_image.webp", + "/media/deanna_832b/images/37_image.webp", + "/media/deanna_832b/images/38_image.webp", + "/media/deanna_832b/images/39_image.webp", + "/media/deanna_832b/images/40_image.webp", + "/media/deanna_832b/images/41_image.webp", + "/media/deanna_832b/images/42_image.webp", + "/media/deanna_832b/images/43_image.webp", + "/media/deanna_832b/images/44_image.webp", + "/media/deanna_832b/images/45_image.webp", + "/media/deanna_832b/images/46_image.webp", + "/media/deanna_832b/images/47_image.webp", + "/media/deanna_832b/images/49_image.webp", + "/media/deanna_832b/images/50_image.webp", + "/media/deanna_832b/images/51_image.webp" + ], + "created_at": "2026-01-26T12:07:10.843073-07:00", + "dir_name": "deanna_832b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/deborah_5fdf.json b/ideas/aeres/agents/deborah_5fdf.json new file mode 100644 index 0000000..6c97423 --- /dev/null +++ b/ideas/aeres/agents/deborah_5fdf.json @@ -0,0 +1,76 @@ +{ + "id": "deborah_5fdf", + "name": "Deborah Jackson", + "handle": "deborah", + "gender": "female", + "description": "set of twins, 30's, look alike, fun, sweet, girl next door", + "tags": [ + "girl_next_door", + "community gardening", + "hiking", + "twin-synchronicity activities", + "baking", + "photography", + "local history", + "interior design" + ], + "avatar_url": "/media/deborah_5fdf/avatar.webp?t=1769583979", + "banner_url": "/media/deborah_5fdf/banner.webp?t=1769583966", + "videos": [ + "/media/deborah_5fdf/videos/01_smile_reveal.mp4?t=1769557927" + ], + "images": [ + "/media/deborah_5fdf/images/01_mid_mid_neutral.webp", + "/media/deborah_5fdf/images/02_image.webp", + "/media/deborah_5fdf/images/03_image.webp", + "/media/deborah_5fdf/images/04_image.webp", + "/media/deborah_5fdf/images/05_image.webp", + "/media/deborah_5fdf/images/07_image.webp", + "/media/deborah_5fdf/images/08_image.webp", + "/media/deborah_5fdf/images/09_image.webp", + "/media/deborah_5fdf/images/10_image.webp", + "/media/deborah_5fdf/images/11_image.webp", + "/media/deborah_5fdf/images/12_image.webp", + "/media/deborah_5fdf/images/13_image.webp", + "/media/deborah_5fdf/images/14_image.webp", + "/media/deborah_5fdf/images/15_image.webp", + "/media/deborah_5fdf/images/16_image.webp", + "/media/deborah_5fdf/images/17_image.webp", + "/media/deborah_5fdf/images/18_image.webp", + "/media/deborah_5fdf/images/19_image.webp", + "/media/deborah_5fdf/images/20_image.webp", + "/media/deborah_5fdf/images/21_image.webp", + "/media/deborah_5fdf/images/22_image.webp", + "/media/deborah_5fdf/images/23_image.webp", + "/media/deborah_5fdf/images/24_image.webp", + "/media/deborah_5fdf/images/25_image.webp", + "/media/deborah_5fdf/images/26_image.webp", + "/media/deborah_5fdf/images/27_image.webp", + "/media/deborah_5fdf/images/28_image.webp", + "/media/deborah_5fdf/images/29_image.webp", + "/media/deborah_5fdf/images/30_image.webp", + "/media/deborah_5fdf/images/31_image.webp", + "/media/deborah_5fdf/images/32_image.webp", + "/media/deborah_5fdf/images/33_image.webp", + "/media/deborah_5fdf/images/34_image.webp", + "/media/deborah_5fdf/images/35_image.webp", + "/media/deborah_5fdf/images/36_image.webp", + "/media/deborah_5fdf/images/37_image.webp", + "/media/deborah_5fdf/images/38_image.webp", + "/media/deborah_5fdf/images/39_image.webp", + "/media/deborah_5fdf/images/40_image.webp", + "/media/deborah_5fdf/images/41_image.webp", + "/media/deborah_5fdf/images/42_image.webp", + "/media/deborah_5fdf/images/43_image.webp", + "/media/deborah_5fdf/images/44_image.webp", + "/media/deborah_5fdf/images/45_image.webp", + "/media/deborah_5fdf/images/46_image.webp", + "/media/deborah_5fdf/images/47_image.webp", + "/media/deborah_5fdf/images/48_image.webp", + "/media/deborah_5fdf/images/49_image.webp", + "/media/deborah_5fdf/images/50_image.webp", + "/media/deborah_5fdf/images/51_image.webp" + ], + "created_at": "2026-01-27T16:49:31.416531-07:00", + "dir_name": "deborah_5fdf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_3886.json b/ideas/aeres/agents/debra_3886.json new file mode 100644 index 0000000..c0f3245 --- /dev/null +++ b/ideas/aeres/agents/debra_3886.json @@ -0,0 +1,77 @@ +{ + "id": "debra_3886", + "name": "Debra Lewis", + "handle": "debra", + "gender": "female", + "description": "high fashion model with septum piercing and glasses who lives in Ukraine and works as a poker dealer", + "tags": [ + "high_fashion_model", + "avant-garde fashion", + "game theory", + "architectural photography", + "fine wine", + "pilates", + "modernist interior design", + "european cinema" + ], + "avatar_url": "/media/debra_3886/avatar.webp?t=1769520941", + "banner_url": "/media/debra_3886/banner.webp?t=1769520929", + "videos": [ + "/media/debra_3886/videos/01_smile_reveal.mp4?t=1769520965" + ], + "images": [ + "/media/debra_3886/images/01_mid_mid_neutral.webp", + "/media/debra_3886/images/02_image.webp", + "/media/debra_3886/images/03_image.webp", + "/media/debra_3886/images/04_image.webp", + "/media/debra_3886/images/05_image.webp", + "/media/debra_3886/images/06_image.webp", + "/media/debra_3886/images/07_image.webp", + "/media/debra_3886/images/08_image.webp", + "/media/debra_3886/images/09_image.webp", + "/media/debra_3886/images/10_image.webp", + "/media/debra_3886/images/11_image.webp", + "/media/debra_3886/images/12_image.webp", + "/media/debra_3886/images/13_image.webp", + "/media/debra_3886/images/14_image.webp", + "/media/debra_3886/images/15_image.webp", + "/media/debra_3886/images/16_image.webp", + "/media/debra_3886/images/17_image.webp", + "/media/debra_3886/images/18_image.webp", + "/media/debra_3886/images/19_image.webp", + "/media/debra_3886/images/20_image.webp", + "/media/debra_3886/images/21_image.webp", + "/media/debra_3886/images/22_image.webp", + "/media/debra_3886/images/23_image.webp", + "/media/debra_3886/images/24_image.webp", + "/media/debra_3886/images/25_image.webp", + "/media/debra_3886/images/26_image.webp", + "/media/debra_3886/images/27_image.webp", + "/media/debra_3886/images/28_image.webp", + "/media/debra_3886/images/29_image.webp", + "/media/debra_3886/images/30_image.webp", + "/media/debra_3886/images/31_image.webp", + "/media/debra_3886/images/32_image.webp", + "/media/debra_3886/images/33_image.webp", + "/media/debra_3886/images/34_image.webp", + "/media/debra_3886/images/35_image.webp", + "/media/debra_3886/images/36_image.webp", + "/media/debra_3886/images/37_image.webp", + "/media/debra_3886/images/38_image.webp", + "/media/debra_3886/images/39_image.webp", + "/media/debra_3886/images/40_image.webp", + "/media/debra_3886/images/41_image.webp", + "/media/debra_3886/images/42_image.webp", + "/media/debra_3886/images/43_image.webp", + "/media/debra_3886/images/44_image.webp", + "/media/debra_3886/images/45_image.webp", + "/media/debra_3886/images/46_image.webp", + "/media/debra_3886/images/47_image.webp", + "/media/debra_3886/images/48_image.webp", + "/media/debra_3886/images/49_image.webp", + "/media/debra_3886/images/50_image.webp", + "/media/debra_3886/images/51_image.webp" + ], + "created_at": "2026-01-27T06:34:11.670268-07:00", + "dir_name": "debra_3886" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_7608.json b/ideas/aeres/agents/debra_7608.json new file mode 100644 index 0000000..db3fa76 --- /dev/null +++ b/ideas/aeres/agents/debra_7608.json @@ -0,0 +1,77 @@ +{ + "id": "debra_7608", + "name": "Debra Van Dijk", + "handle": "debra", + "gender": "female", + "description": "hot fashion model, tall, blonde, high heels,fashionista, loves shopping, spends a lot of money, haute couture, 25 years old,white,travelling,lives in Monaco", + "tags": [ + "high_fashion_model", + "haute couture", + "contemporary art", + "equestrian sports", + "interior design", + "yachting", + "tennis", + "gourmet cooking" + ], + "avatar_url": "/media/debra_7608/avatar.webp?t=1769517060", + "banner_url": "/media/debra_7608/banner.webp?t=1769517060", + "videos": [ + "/media/debra_7608/videos/01_smile_reveal.mp4?t=1769517114" + ], + "images": [ + "/media/debra_7608/images/01_mid_mid_neutral.webp", + "/media/debra_7608/images/02_image.webp", + "/media/debra_7608/images/03_image.webp", + "/media/debra_7608/images/04_image.webp", + "/media/debra_7608/images/05_image.webp", + "/media/debra_7608/images/06_image.webp", + "/media/debra_7608/images/07_image.webp", + "/media/debra_7608/images/08_image.webp", + "/media/debra_7608/images/09_image.webp", + "/media/debra_7608/images/10_image.webp", + "/media/debra_7608/images/11_image.webp", + "/media/debra_7608/images/12_image.webp", + "/media/debra_7608/images/13_image.webp", + "/media/debra_7608/images/14_image.webp", + "/media/debra_7608/images/15_image.webp", + "/media/debra_7608/images/16_image.webp", + "/media/debra_7608/images/17_image.webp", + "/media/debra_7608/images/18_image.webp", + "/media/debra_7608/images/19_image.webp", + "/media/debra_7608/images/20_image.webp", + "/media/debra_7608/images/21_image.webp", + "/media/debra_7608/images/22_image.webp", + "/media/debra_7608/images/23_image.webp", + "/media/debra_7608/images/24_image.webp", + "/media/debra_7608/images/25_image.webp", + "/media/debra_7608/images/26_image.webp", + "/media/debra_7608/images/27_image.webp", + "/media/debra_7608/images/28_image.webp", + "/media/debra_7608/images/29_image.webp", + "/media/debra_7608/images/30_image.webp", + "/media/debra_7608/images/31_image.webp", + "/media/debra_7608/images/32_image.webp", + "/media/debra_7608/images/33_image.webp", + "/media/debra_7608/images/34_image.webp", + "/media/debra_7608/images/35_image.webp", + "/media/debra_7608/images/36_image.webp", + "/media/debra_7608/images/37_image.webp", + "/media/debra_7608/images/38_image.webp", + "/media/debra_7608/images/39_image.webp", + "/media/debra_7608/images/40_image.webp", + "/media/debra_7608/images/41_image.webp", + "/media/debra_7608/images/42_image.webp", + "/media/debra_7608/images/43_image.webp", + "/media/debra_7608/images/44_image.webp", + "/media/debra_7608/images/45_image.webp", + "/media/debra_7608/images/46_image.webp", + "/media/debra_7608/images/47_image.webp", + "/media/debra_7608/images/48_image.webp", + "/media/debra_7608/images/49_image.webp", + "/media/debra_7608/images/50_image.webp", + "/media/debra_7608/images/51_image.webp" + ], + "created_at": "2026-01-27T05:29:54.189088-07:00", + "dir_name": "debra_7608" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_78ba.json b/ideas/aeres/agents/debra_78ba.json new file mode 100644 index 0000000..9c395c1 --- /dev/null +++ b/ideas/aeres/agents/debra_78ba.json @@ -0,0 +1,77 @@ +{ + "id": "debra_78ba", + "name": "Debra Garcia", + "handle": "debra", + "gender": "female", + "description": "woman from Columbia who is Call of Duty player", + "tags": [ + "gamer_girl", + "competitive pc gaming", + "pc building", + "colombian gastronomy", + "sci-fi literature", + "yoga", + "vinyl record collecting", + "interior design" + ], + "avatar_url": "/media/debra_78ba/avatar.webp?t=1769523291", + "banner_url": "/media/debra_78ba/banner.webp?t=1769523366", + "videos": [ + "/media/debra_78ba/videos/01_smile_reveal.mp4?t=1769523332" + ], + "images": [ + "/media/debra_78ba/images/01_mid_mid_neutral.webp", + "/media/debra_78ba/images/02_image.webp", + "/media/debra_78ba/images/03_image.webp", + "/media/debra_78ba/images/04_image.webp", + "/media/debra_78ba/images/05_image.webp", + "/media/debra_78ba/images/06_image.webp", + "/media/debra_78ba/images/07_image.webp", + "/media/debra_78ba/images/08_image.webp", + "/media/debra_78ba/images/09_image.webp", + "/media/debra_78ba/images/10_image.webp", + "/media/debra_78ba/images/11_image.webp", + "/media/debra_78ba/images/12_image.webp", + "/media/debra_78ba/images/13_image.webp", + "/media/debra_78ba/images/14_image.webp", + "/media/debra_78ba/images/15_image.webp", + "/media/debra_78ba/images/16_image.webp", + "/media/debra_78ba/images/17_image.webp", + "/media/debra_78ba/images/18_image.webp", + "/media/debra_78ba/images/19_image.webp", + "/media/debra_78ba/images/20_image.webp", + "/media/debra_78ba/images/21_image.webp", + "/media/debra_78ba/images/22_image.webp", + "/media/debra_78ba/images/23_image.webp", + "/media/debra_78ba/images/24_image.webp", + "/media/debra_78ba/images/25_image.webp", + "/media/debra_78ba/images/26_image.webp", + "/media/debra_78ba/images/27_image.webp", + "/media/debra_78ba/images/28_image.webp", + "/media/debra_78ba/images/29_image.webp", + "/media/debra_78ba/images/30_image.webp", + "/media/debra_78ba/images/31_image.webp", + "/media/debra_78ba/images/32_image.webp", + "/media/debra_78ba/images/33_image.webp", + "/media/debra_78ba/images/34_image.webp", + "/media/debra_78ba/images/35_image.webp", + "/media/debra_78ba/images/36_image.webp", + "/media/debra_78ba/images/37_image.webp", + "/media/debra_78ba/images/38_image.webp", + "/media/debra_78ba/images/39_image.webp", + "/media/debra_78ba/images/40_image.webp", + "/media/debra_78ba/images/41_image.webp", + "/media/debra_78ba/images/42_image.webp", + "/media/debra_78ba/images/43_image.webp", + "/media/debra_78ba/images/44_image.webp", + "/media/debra_78ba/images/45_image.webp", + "/media/debra_78ba/images/46_image.webp", + "/media/debra_78ba/images/47_image.webp", + "/media/debra_78ba/images/48_image.webp", + "/media/debra_78ba/images/49_image.webp", + "/media/debra_78ba/images/50_image.webp", + "/media/debra_78ba/images/51_image.webp" + ], + "created_at": "2026-01-27T07:13:36.554568-07:00", + "dir_name": "debra_78ba" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_8dd1.json b/ideas/aeres/agents/debra_8dd1.json new file mode 100644 index 0000000..cd2e316 --- /dev/null +++ b/ideas/aeres/agents/debra_8dd1.json @@ -0,0 +1,74 @@ +{ + "id": "debra_8dd1", + "name": "Debra Clark", + "handle": "debra", + "gender": "female", + "description": "female who cosplays as horror movie characters", + "tags": [ + "cosplayer", + "horror cinema", + "anatomical sketching", + "prop making", + "victorian history", + "indoor gardening", + "yoga", + "podcast production" + ], + "avatar_url": "/media/debra_8dd1/avatar.webp?t=1769614089", + "banner_url": "/media/debra_8dd1/banner.webp?t=1769614126", + "videos": [ + "/media/debra_8dd1/videos/01_smile_reveal.mp4?t=1769614145" + ], + "images": [ + "/media/debra_8dd1/images/01_mid_mid_neutral.webp", + "/media/debra_8dd1/images/02_image.webp", + "/media/debra_8dd1/images/03_image.webp", + "/media/debra_8dd1/images/04_image.webp", + "/media/debra_8dd1/images/05_image.webp", + "/media/debra_8dd1/images/07_image.webp", + "/media/debra_8dd1/images/08_image.webp", + "/media/debra_8dd1/images/09_image.webp", + "/media/debra_8dd1/images/10_image.webp", + "/media/debra_8dd1/images/11_image.webp", + "/media/debra_8dd1/images/12_image.webp", + "/media/debra_8dd1/images/13_image.webp", + "/media/debra_8dd1/images/14_image.webp", + "/media/debra_8dd1/images/15_image.webp", + "/media/debra_8dd1/images/16_image.webp", + "/media/debra_8dd1/images/17_image.webp", + "/media/debra_8dd1/images/18_image.webp", + "/media/debra_8dd1/images/19_image.webp", + "/media/debra_8dd1/images/20_image.webp", + "/media/debra_8dd1/images/21_image.webp", + "/media/debra_8dd1/images/22_image.webp", + "/media/debra_8dd1/images/23_image.webp", + "/media/debra_8dd1/images/24_image.webp", + "/media/debra_8dd1/images/25_image.webp", + "/media/debra_8dd1/images/26_image.webp", + "/media/debra_8dd1/images/27_image.webp", + "/media/debra_8dd1/images/29_image.webp", + "/media/debra_8dd1/images/30_image.webp", + "/media/debra_8dd1/images/31_image.webp", + "/media/debra_8dd1/images/33_image.webp", + "/media/debra_8dd1/images/34_image.webp", + "/media/debra_8dd1/images/35_image.webp", + "/media/debra_8dd1/images/36_image.webp", + "/media/debra_8dd1/images/37_image.webp", + "/media/debra_8dd1/images/38_image.webp", + "/media/debra_8dd1/images/39_image.webp", + "/media/debra_8dd1/images/40_image.webp", + "/media/debra_8dd1/images/41_image.webp", + "/media/debra_8dd1/images/42_image.webp", + "/media/debra_8dd1/images/43_image.webp", + "/media/debra_8dd1/images/44_image.webp", + "/media/debra_8dd1/images/45_image.webp", + "/media/debra_8dd1/images/46_image.webp", + "/media/debra_8dd1/images/47_image.webp", + "/media/debra_8dd1/images/48_image.webp", + "/media/debra_8dd1/images/49_image.webp", + "/media/debra_8dd1/images/50_image.webp", + "/media/debra_8dd1/images/51_image.webp" + ], + "created_at": "2026-01-28T08:26:18.882468-07:00", + "dir_name": "debra_8dd1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_a78e.json b/ideas/aeres/agents/debra_a78e.json new file mode 100644 index 0000000..0331d78 --- /dev/null +++ b/ideas/aeres/agents/debra_a78e.json @@ -0,0 +1,74 @@ +{ + "id": "debra_a78e", + "name": "Debra Smith", + "handle": "debra", + "gender": "female", + "description": "woman who cosplays as Ultimate Warrior", + "tags": [ + "cosplayer", + "bodybuilding", + "costume fabrication", + "80s wrestling history", + "synthwave music", + "retro gaming", + "urban exploration", + "action cinema" + ], + "avatar_url": "/media/debra_a78e/avatar.webp?t=1770035295", + "banner_url": "/media/debra_a78e/banner.webp?t=1770035264", + "videos": [ + "/media/debra_a78e/videos/01_smile_reveal.mp4?t=1770035276" + ], + "images": [ + "/media/debra_a78e/images/01_mid_mid_neutral.webp", + "/media/debra_a78e/images/03_image.webp", + "/media/debra_a78e/images/04_image.webp", + "/media/debra_a78e/images/05_image.webp", + "/media/debra_a78e/images/06_image.webp", + "/media/debra_a78e/images/07_image.webp", + "/media/debra_a78e/images/08_image.webp", + "/media/debra_a78e/images/09_image.webp", + "/media/debra_a78e/images/10_image.webp", + "/media/debra_a78e/images/11_image.webp", + "/media/debra_a78e/images/12_image.webp", + "/media/debra_a78e/images/13_image.webp", + "/media/debra_a78e/images/14_image.webp", + "/media/debra_a78e/images/15_image.webp", + "/media/debra_a78e/images/16_image.webp", + "/media/debra_a78e/images/17_image.webp", + "/media/debra_a78e/images/18_image.webp", + "/media/debra_a78e/images/19_image.webp", + "/media/debra_a78e/images/20_image.webp", + "/media/debra_a78e/images/21_image.webp", + "/media/debra_a78e/images/22_image.webp", + "/media/debra_a78e/images/23_image.webp", + "/media/debra_a78e/images/24_image.webp", + "/media/debra_a78e/images/25_image.webp", + "/media/debra_a78e/images/26_image.webp", + "/media/debra_a78e/images/27_image.webp", + "/media/debra_a78e/images/28_image.webp", + "/media/debra_a78e/images/29_image.webp", + "/media/debra_a78e/images/30_image.webp", + "/media/debra_a78e/images/31_image.webp", + "/media/debra_a78e/images/32_image.webp", + "/media/debra_a78e/images/34_image.webp", + "/media/debra_a78e/images/35_image.webp", + "/media/debra_a78e/images/36_image.webp", + "/media/debra_a78e/images/37_image.webp", + "/media/debra_a78e/images/39_image.webp", + "/media/debra_a78e/images/40_image.webp", + "/media/debra_a78e/images/41_image.webp", + "/media/debra_a78e/images/42_image.webp", + "/media/debra_a78e/images/43_image.webp", + "/media/debra_a78e/images/44_image.webp", + "/media/debra_a78e/images/45_image.webp", + "/media/debra_a78e/images/46_image.webp", + "/media/debra_a78e/images/47_image.webp", + "/media/debra_a78e/images/48_image.webp", + "/media/debra_a78e/images/49_image.webp", + "/media/debra_a78e/images/50_image.webp", + "/media/debra_a78e/images/51_image.webp" + ], + "created_at": "2026-02-02T05:25:56.399343-07:00", + "dir_name": "debra_a78e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/debra_fce4.json b/ideas/aeres/agents/debra_fce4.json new file mode 100644 index 0000000..eb59c77 --- /dev/null +++ b/ideas/aeres/agents/debra_fce4.json @@ -0,0 +1,75 @@ +{ + "id": "debra_fce4", + "name": "Debra Smith", + "handle": "debra", + "gender": "female", + "description": "Jessica Rabbit", + "tags": [ + "femme_fatale", + "film noir", + "vintage fashion", + "jazz music", + "art curation", + "wine tasting", + "pilates", + "interior design" + ], + "avatar_url": "/media/debra_fce4/avatar.webp?t=1769598072", + "banner_url": "/media/debra_fce4/banner.webp?t=1769598082", + "videos": [ + "/media/debra_fce4/videos/01_smile_reveal.mp4?t=1769598123" + ], + "images": [ + "/media/debra_fce4/images/01_mid_mid_neutral.webp", + "/media/debra_fce4/images/02_image.webp", + "/media/debra_fce4/images/03_image.webp", + "/media/debra_fce4/images/04_image.webp", + "/media/debra_fce4/images/05_image.webp", + "/media/debra_fce4/images/07_image.webp", + "/media/debra_fce4/images/08_image.webp", + "/media/debra_fce4/images/09_image.webp", + "/media/debra_fce4/images/10_image.webp", + "/media/debra_fce4/images/11_image.webp", + "/media/debra_fce4/images/12_image.webp", + "/media/debra_fce4/images/13_image.webp", + "/media/debra_fce4/images/14_image.webp", + "/media/debra_fce4/images/15_image.webp", + "/media/debra_fce4/images/16_image.webp", + "/media/debra_fce4/images/17_image.webp", + "/media/debra_fce4/images/18_image.webp", + "/media/debra_fce4/images/20_image.webp", + "/media/debra_fce4/images/21_image.webp", + "/media/debra_fce4/images/22_image.webp", + "/media/debra_fce4/images/23_image.webp", + "/media/debra_fce4/images/24_image.webp", + "/media/debra_fce4/images/25_image.webp", + "/media/debra_fce4/images/26_image.webp", + "/media/debra_fce4/images/27_image.webp", + "/media/debra_fce4/images/28_image.webp", + "/media/debra_fce4/images/29_image.webp", + "/media/debra_fce4/images/30_image.webp", + "/media/debra_fce4/images/31_image.webp", + "/media/debra_fce4/images/32_image.webp", + "/media/debra_fce4/images/33_image.webp", + "/media/debra_fce4/images/34_image.webp", + "/media/debra_fce4/images/35_image.webp", + "/media/debra_fce4/images/36_image.webp", + "/media/debra_fce4/images/37_image.webp", + "/media/debra_fce4/images/38_image.webp", + "/media/debra_fce4/images/39_image.webp", + "/media/debra_fce4/images/40_image.webp", + "/media/debra_fce4/images/41_image.webp", + "/media/debra_fce4/images/42_image.webp", + "/media/debra_fce4/images/43_image.webp", + "/media/debra_fce4/images/44_image.webp", + "/media/debra_fce4/images/45_image.webp", + "/media/debra_fce4/images/46_image.webp", + "/media/debra_fce4/images/47_image.webp", + "/media/debra_fce4/images/48_image.webp", + "/media/debra_fce4/images/49_image.webp", + "/media/debra_fce4/images/50_image.webp", + "/media/debra_fce4/images/51_image.webp" + ], + "created_at": "2026-01-28T03:59:48.001792-07:00", + "dir_name": "debra_fce4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/deja_39c0.json b/ideas/aeres/agents/deja_39c0.json new file mode 100644 index 0000000..b87d5f8 --- /dev/null +++ b/ideas/aeres/agents/deja_39c0.json @@ -0,0 +1,75 @@ +{ + "id": "deja_39c0", + "name": "Deja Harris", + "handle": "deja", + "gender": "female", + "description": "goth vampire", + "tags": [ + "vampire_goth", + "victorian mourning jewelry", + "taxidermy", + "gothic literature", + "opera", + "botany", + "mixology", + "fencing" + ], + "avatar_url": "/media/deja_39c0/avatar.webp?t=1769703538", + "banner_url": "/media/deja_39c0/banner.webp?t=1769703538", + "videos": [ + "/media/deja_39c0/videos/01_smile_reveal.mp4?t=1769703599" + ], + "images": [ + "/media/deja_39c0/images/01_mid_mid_neutral.webp", + "/media/deja_39c0/images/02_image.webp", + "/media/deja_39c0/images/03_image.webp", + "/media/deja_39c0/images/04_image.webp", + "/media/deja_39c0/images/05_image.webp", + "/media/deja_39c0/images/06_image.webp", + "/media/deja_39c0/images/07_image.webp", + "/media/deja_39c0/images/08_image.webp", + "/media/deja_39c0/images/09_image.webp", + "/media/deja_39c0/images/10_image.webp", + "/media/deja_39c0/images/11_image.webp", + "/media/deja_39c0/images/12_image.webp", + "/media/deja_39c0/images/13_image.webp", + "/media/deja_39c0/images/14_image.webp", + "/media/deja_39c0/images/15_image.webp", + "/media/deja_39c0/images/16_image.webp", + "/media/deja_39c0/images/17_image.webp", + "/media/deja_39c0/images/18_image.webp", + "/media/deja_39c0/images/19_image.webp", + "/media/deja_39c0/images/20_image.webp", + "/media/deja_39c0/images/21_image.webp", + "/media/deja_39c0/images/22_image.webp", + "/media/deja_39c0/images/23_image.webp", + "/media/deja_39c0/images/24_image.webp", + "/media/deja_39c0/images/25_image.webp", + "/media/deja_39c0/images/26_image.webp", + "/media/deja_39c0/images/27_image.webp", + "/media/deja_39c0/images/28_image.webp", + "/media/deja_39c0/images/29_image.webp", + "/media/deja_39c0/images/30_image.webp", + "/media/deja_39c0/images/31_image.webp", + "/media/deja_39c0/images/32_image.webp", + "/media/deja_39c0/images/33_image.webp", + "/media/deja_39c0/images/34_image.webp", + "/media/deja_39c0/images/35_image.webp", + "/media/deja_39c0/images/36_image.webp", + "/media/deja_39c0/images/37_image.webp", + "/media/deja_39c0/images/38_image.webp", + "/media/deja_39c0/images/39_image.webp", + "/media/deja_39c0/images/41_image.webp", + "/media/deja_39c0/images/42_image.webp", + "/media/deja_39c0/images/43_image.webp", + "/media/deja_39c0/images/44_image.webp", + "/media/deja_39c0/images/45_image.webp", + "/media/deja_39c0/images/46_image.webp", + "/media/deja_39c0/images/47_image.webp", + "/media/deja_39c0/images/48_image.webp", + "/media/deja_39c0/images/49_image.webp", + "/media/deja_39c0/images/51_image.webp" + ], + "created_at": "2026-01-29T09:17:37.958487-07:00", + "dir_name": "deja_39c0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/deja_7e0a.json b/ideas/aeres/agents/deja_7e0a.json new file mode 100644 index 0000000..b266ae4 --- /dev/null +++ b/ideas/aeres/agents/deja_7e0a.json @@ -0,0 +1,74 @@ +{ + "id": "deja_7e0a", + "name": "Deja Robinson", + "handle": "deja", + "gender": "female", + "description": "motorcycle biker girl, tattoos on arms and neck, wears leather clothes and jeans, rides a Harley, has a bike crew, age 22 short black hair, sexy face, white, australian", + "tags": [ + "baddie", + "motorcycle fabrication", + "street racing", + "welding", + "body art", + "urban exploration", + "retro gaming", + "90s hip hop" + ], + "avatar_url": "/media/deja_7e0a/avatar.webp?t=1769593124", + "banner_url": "/media/deja_7e0a/banner.webp?t=1769593226", + "videos": [ + "/media/deja_7e0a/videos/01_smile_reveal.mp4?t=1769593111" + ], + "images": [ + "/media/deja_7e0a/images/01_mid_mid_neutral.webp", + "/media/deja_7e0a/images/02_image.webp", + "/media/deja_7e0a/images/03_image.webp", + "/media/deja_7e0a/images/04_image.webp", + "/media/deja_7e0a/images/05_image.webp", + "/media/deja_7e0a/images/06_image.webp", + "/media/deja_7e0a/images/07_image.webp", + "/media/deja_7e0a/images/08_image.webp", + "/media/deja_7e0a/images/09_image.webp", + "/media/deja_7e0a/images/10_image.webp", + "/media/deja_7e0a/images/11_image.webp", + "/media/deja_7e0a/images/12_image.webp", + "/media/deja_7e0a/images/14_image.webp", + "/media/deja_7e0a/images/15_image.webp", + "/media/deja_7e0a/images/16_image.webp", + "/media/deja_7e0a/images/17_image.webp", + "/media/deja_7e0a/images/18_image.webp", + "/media/deja_7e0a/images/19_image.webp", + "/media/deja_7e0a/images/20_image.webp", + "/media/deja_7e0a/images/21_image.webp", + "/media/deja_7e0a/images/22_image.webp", + "/media/deja_7e0a/images/23_image.webp", + "/media/deja_7e0a/images/24_image.webp", + "/media/deja_7e0a/images/25_image.webp", + "/media/deja_7e0a/images/26_image.webp", + "/media/deja_7e0a/images/27_image.webp", + "/media/deja_7e0a/images/28_image.webp", + "/media/deja_7e0a/images/29_image.webp", + "/media/deja_7e0a/images/30_image.webp", + "/media/deja_7e0a/images/31_image.webp", + "/media/deja_7e0a/images/32_image.webp", + "/media/deja_7e0a/images/33_image.webp", + "/media/deja_7e0a/images/34_image.webp", + "/media/deja_7e0a/images/35_image.webp", + "/media/deja_7e0a/images/37_image.webp", + "/media/deja_7e0a/images/38_image.webp", + "/media/deja_7e0a/images/39_image.webp", + "/media/deja_7e0a/images/40_image.webp", + "/media/deja_7e0a/images/41_image.webp", + "/media/deja_7e0a/images/42_image.webp", + "/media/deja_7e0a/images/43_image.webp", + "/media/deja_7e0a/images/44_image.webp", + "/media/deja_7e0a/images/45_image.webp", + "/media/deja_7e0a/images/46_image.webp", + "/media/deja_7e0a/images/47_image.webp", + "/media/deja_7e0a/images/48_image.webp", + "/media/deja_7e0a/images/49_image.webp", + "/media/deja_7e0a/images/51_image.webp" + ], + "created_at": "2026-01-28T02:36:34.05711-07:00", + "dir_name": "deja_7e0a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/demetria_ea88.json b/ideas/aeres/agents/demetria_ea88.json new file mode 100644 index 0000000..8dc7b24 --- /dev/null +++ b/ideas/aeres/agents/demetria_ea88.json @@ -0,0 +1,73 @@ +{ + "id": "demetria_ea88", + "name": "Demetria Ferrari", + "handle": "demetria", + "gender": "female", + "description": "animated hot sexy virtual hologram girl, take inspiration from Joi from Bladerunner 2049 movie, lives in a sci fi futuristic cyberpunk city with flying futuristic cars and enormous buildings, blend between human and robot, cyborg, very attractive , woman 25 years old, white, purple hair", + "tags": [ + "3d_render_style", + "cybernetic art", + "quantum physics", + "classical opera", + "synthesized fashion", + "architecture", + "linguistics" + ], + "avatar_url": "/media/demetria_ea88/avatar.webp?t=1769612011", + "banner_url": "/media/demetria_ea88/banner.webp?t=1769612018", + "videos": [ + "/media/demetria_ea88/videos/01_smile_reveal.mp4?t=1769612051" + ], + "images": [ + "/media/demetria_ea88/images/01_mid_mid_neutral.webp", + "/media/demetria_ea88/images/03_image.webp", + "/media/demetria_ea88/images/04_image.webp", + "/media/demetria_ea88/images/05_image.webp", + "/media/demetria_ea88/images/06_image.webp", + "/media/demetria_ea88/images/07_image.webp", + "/media/demetria_ea88/images/08_image.webp", + "/media/demetria_ea88/images/09_image.webp", + "/media/demetria_ea88/images/10_image.webp", + "/media/demetria_ea88/images/11_image.webp", + "/media/demetria_ea88/images/12_image.webp", + "/media/demetria_ea88/images/13_image.webp", + "/media/demetria_ea88/images/14_image.webp", + "/media/demetria_ea88/images/15_image.webp", + "/media/demetria_ea88/images/16_image.webp", + "/media/demetria_ea88/images/17_image.webp", + "/media/demetria_ea88/images/18_image.webp", + "/media/demetria_ea88/images/19_image.webp", + "/media/demetria_ea88/images/20_image.webp", + "/media/demetria_ea88/images/21_image.webp", + "/media/demetria_ea88/images/23_image.webp", + "/media/demetria_ea88/images/24_image.webp", + "/media/demetria_ea88/images/25_image.webp", + "/media/demetria_ea88/images/26_image.webp", + "/media/demetria_ea88/images/27_image.webp", + "/media/demetria_ea88/images/28_image.webp", + "/media/demetria_ea88/images/29_image.webp", + "/media/demetria_ea88/images/30_image.webp", + "/media/demetria_ea88/images/31_image.webp", + "/media/demetria_ea88/images/32_image.webp", + "/media/demetria_ea88/images/33_image.webp", + "/media/demetria_ea88/images/34_image.webp", + "/media/demetria_ea88/images/35_image.webp", + "/media/demetria_ea88/images/36_image.webp", + "/media/demetria_ea88/images/37_image.webp", + "/media/demetria_ea88/images/38_image.webp", + "/media/demetria_ea88/images/39_image.webp", + "/media/demetria_ea88/images/40_image.webp", + "/media/demetria_ea88/images/41_image.webp", + "/media/demetria_ea88/images/43_image.webp", + "/media/demetria_ea88/images/44_image.webp", + "/media/demetria_ea88/images/45_image.webp", + "/media/demetria_ea88/images/46_image.webp", + "/media/demetria_ea88/images/47_image.webp", + "/media/demetria_ea88/images/48_image.webp", + "/media/demetria_ea88/images/49_image.webp", + "/media/demetria_ea88/images/50_image.webp", + "/media/demetria_ea88/images/51_image.webp" + ], + "created_at": "2026-01-28T07:51:59.27326-07:00", + "dir_name": "demetria_ea88" +} \ No newline at end of file diff --git a/ideas/aeres/agents/denise_7983.json b/ideas/aeres/agents/denise_7983.json new file mode 100644 index 0000000..33ab2d3 --- /dev/null +++ b/ideas/aeres/agents/denise_7983.json @@ -0,0 +1,73 @@ +{ + "id": "denise_7983", + "name": "Denise Miller", + "handle": "denise", + "gender": "non-binary", + "description": "dramatic makeup, sassy, confident, lives in the city, likes art and parties, fashion forward, statement jewelry, dresses in vibrant colors", + "tags": [ + "baddie", + "modern sculpture", + "streetwear history", + "interior design", + "pilates", + "astrology", + "craft cocktails" + ], + "avatar_url": "/media/denise_7983/avatar.webp?t=1769114294", + "banner_url": "/media/denise_7983/banner.webp?t=1769114300", + "images": [ + "/media/denise_7983/images/01_mid_mid_neutral.webp", + "/media/denise_7983/images/02_image.webp", + "/media/denise_7983/images/03_image.webp", + "/media/denise_7983/images/04_image.webp", + "/media/denise_7983/images/05_image.webp", + "/media/denise_7983/images/06_image.webp", + "/media/denise_7983/images/07_image.webp", + "/media/denise_7983/images/08_image.webp", + "/media/denise_7983/images/09_image.webp", + "/media/denise_7983/images/10_image.webp", + "/media/denise_7983/images/11_image.webp", + "/media/denise_7983/images/12_image.webp", + "/media/denise_7983/images/13_image.webp", + "/media/denise_7983/images/14_image.webp", + "/media/denise_7983/images/15_image.webp", + "/media/denise_7983/images/16_image.webp", + "/media/denise_7983/images/17_image.webp", + "/media/denise_7983/images/18_image.webp", + "/media/denise_7983/images/19_image.webp", + "/media/denise_7983/images/20_image.webp", + "/media/denise_7983/images/21_image.webp", + "/media/denise_7983/images/22_image.webp", + "/media/denise_7983/images/22_image.webp", + "/media/denise_7983/images/22_image.webp", + "/media/denise_7983/images/23_image.webp", + "/media/denise_7983/images/23_image.webp", + "/media/denise_7983/images/23_image.webp", + "/media/denise_7983/images/24_image.webp", + "/media/denise_7983/images/24_image.webp", + "/media/denise_7983/images/24_image.webp", + "/media/denise_7983/images/25_image.webp", + "/media/denise_7983/images/25_image.webp", + "/media/denise_7983/images/25_image.webp", + "/media/denise_7983/images/26_image.webp", + "/media/denise_7983/images/26_image.webp", + "/media/denise_7983/images/26_image.webp", + "/media/denise_7983/images/27_image.webp", + "/media/denise_7983/images/27_image.webp", + "/media/denise_7983/images/27_image.webp", + "/media/denise_7983/images/28_image.webp", + "/media/denise_7983/images/28_image.webp", + "/media/denise_7983/images/28_image.webp", + "/media/denise_7983/images/29_image.webp", + "/media/denise_7983/images/29_image.webp", + "/media/denise_7983/images/29_image.webp", + "/media/denise_7983/images/30_image.webp", + "/media/denise_7983/images/30_image.webp", + "/media/denise_7983/images/30_image.webp", + "/media/denise_7983/images/31_image.webp", + "/media/denise_7983/images/31_image.webp", + "/media/denise_7983/images/31_image.webp" + ], + "created_at": "2026-01-22T13:37:12.209134-07:00", + "dir_name": "denise_7983" +} \ No newline at end of file diff --git a/ideas/aeres/agents/denise_cbb9.json b/ideas/aeres/agents/denise_cbb9.json new file mode 100644 index 0000000..459b795 --- /dev/null +++ b/ideas/aeres/agents/denise_cbb9.json @@ -0,0 +1,79 @@ +{ + "id": "denise_cbb9", + "name": "Denise Meijer", + "handle": "denise", + "gender": "female", + "description": "romanian female with braids who is a professional boxer", + "tags": [ + "athletic", + "muay thai", + "brazilian jiu-jitsu", + "bio-hacking", + "mountain biking", + "chess", + "documentaries", + "hiking" + ], + "avatar_url": "/media/denise_cbb9/avatar.webp?t=1770020802", + "banner_url": "/media/denise_cbb9/banner.webp?t=1770021389", + "videos": [ + "/media/denise_cbb9/videos/01_smile_reveal.mp4?t=1770020780" + ], + "images": [ + "/media/denise_cbb9/images/01_mid_mid_neutral.webp", + "/media/denise_cbb9/images/02_image.webp", + "/media/denise_cbb9/images/03_image.webp", + "/media/denise_cbb9/images/07_image.webp", + "/media/denise_cbb9/images/08_image.webp", + "/media/denise_cbb9/images/09_image.webp", + "/media/denise_cbb9/images/10_image.webp", + "/media/denise_cbb9/images/11_image.webp", + "/media/denise_cbb9/images/12_image.webp", + "/media/denise_cbb9/images/14_image.webp", + "/media/denise_cbb9/images/15_image.webp", + "/media/denise_cbb9/images/16_image.webp", + "/media/denise_cbb9/images/17_image.webp", + "/media/denise_cbb9/images/19_image.webp", + "/media/denise_cbb9/images/20_image.webp", + "/media/denise_cbb9/images/21_image.webp", + "/media/denise_cbb9/images/22_image.webp", + "/media/denise_cbb9/images/23_image.webp", + "/media/denise_cbb9/images/24_image.webp", + "/media/denise_cbb9/images/25_image.webp", + "/media/denise_cbb9/images/26_image.webp", + "/media/denise_cbb9/images/27_image.webp", + "/media/denise_cbb9/images/28_image.webp", + "/media/denise_cbb9/images/29_image.webp", + "/media/denise_cbb9/images/30_image.webp", + "/media/denise_cbb9/images/31_image.webp", + "/media/denise_cbb9/images/32_image.webp", + "/media/denise_cbb9/images/33_image.webp", + "/media/denise_cbb9/images/34_image.webp", + "/media/denise_cbb9/images/35_image.webp", + "/media/denise_cbb9/images/36_image.webp", + "/media/denise_cbb9/images/37_image.webp", + "/media/denise_cbb9/images/38_image.webp", + "/media/denise_cbb9/images/39_image.webp", + "/media/denise_cbb9/images/40_image.webp", + "/media/denise_cbb9/images/41_image.webp", + "/media/denise_cbb9/images/42_image.webp", + "/media/denise_cbb9/images/43_image.webp", + "/media/denise_cbb9/images/44_image.webp", + "/media/denise_cbb9/images/45_image.webp", + "/media/denise_cbb9/images/46_image.webp", + "/media/denise_cbb9/images/47_image.webp", + "/media/denise_cbb9/images/49_image.webp", + "/media/denise_cbb9/images/50_image.webp", + "/media/denise_cbb9/images/51_image.webp", + "/media/denise_cbb9/images/53_image.webp", + "/media/denise_cbb9/images/54_image.webp", + "/media/denise_cbb9/images/55_image.webp", + "/media/denise_cbb9/images/56_image.webp", + "/media/denise_cbb9/images/57_image.webp", + "/media/denise_cbb9/images/58_image.webp", + "/media/denise_cbb9/images/59_image.webp", + "/media/denise_cbb9/images/60_image.webp" + ], + "created_at": "2026-02-02T01:22:28.430921-07:00", + "dir_name": "denise_cbb9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/destiny_2edd.json b/ideas/aeres/agents/destiny_2edd.json new file mode 100644 index 0000000..b379a12 --- /dev/null +++ b/ideas/aeres/agents/destiny_2edd.json @@ -0,0 +1,74 @@ +{ + "id": "destiny_2edd", + "name": "Destiny Jones", + "handle": "destiny", + "gender": "female", + "description": "sexy, badass, lara croft vibe, gym bunny, video games, ponytail, dewy, muscles", + "tags": [ + "gym_bunny", + "powerlifting", + "action-adventure gaming", + "high-altitude hiking", + "nutrition science", + "mechanical keyboards", + "modern architecture", + "sneaker collecting" + ], + "avatar_url": "/media/destiny_2edd/avatar.webp?t=1769117116", + "banner_url": "/media/destiny_2edd/banner.webp?t=1769117112", + "images": [ + "/media/destiny_2edd/images/01_mid_mid_neutral.webp", + "/media/destiny_2edd/images/02_image.webp", + "/media/destiny_2edd/images/03_image.webp", + "/media/destiny_2edd/images/04_image.webp", + "/media/destiny_2edd/images/05_image.webp", + "/media/destiny_2edd/images/06_image.webp", + "/media/destiny_2edd/images/07_image.webp", + "/media/destiny_2edd/images/08_image.webp", + "/media/destiny_2edd/images/09_image.webp", + "/media/destiny_2edd/images/10_image.webp", + "/media/destiny_2edd/images/11_image.webp", + "/media/destiny_2edd/images/12_image.webp", + "/media/destiny_2edd/images/13_image.webp", + "/media/destiny_2edd/images/14_image.webp", + "/media/destiny_2edd/images/15_image.webp", + "/media/destiny_2edd/images/16_image.webp", + "/media/destiny_2edd/images/17_image.webp", + "/media/destiny_2edd/images/18_image.webp", + "/media/destiny_2edd/images/19_image.webp", + "/media/destiny_2edd/images/20_image.webp", + "/media/destiny_2edd/images/21_image.webp", + "/media/destiny_2edd/images/22_image.webp", + "/media/destiny_2edd/images/22_image.webp", + "/media/destiny_2edd/images/22_image.webp", + "/media/destiny_2edd/images/23_image.webp", + "/media/destiny_2edd/images/23_image.webp", + "/media/destiny_2edd/images/23_image.webp", + "/media/destiny_2edd/images/24_image.webp", + "/media/destiny_2edd/images/24_image.webp", + "/media/destiny_2edd/images/24_image.webp", + "/media/destiny_2edd/images/25_image.webp", + "/media/destiny_2edd/images/25_image.webp", + "/media/destiny_2edd/images/25_image.webp", + "/media/destiny_2edd/images/26_image.webp", + "/media/destiny_2edd/images/26_image.webp", + "/media/destiny_2edd/images/26_image.webp", + "/media/destiny_2edd/images/27_image.webp", + "/media/destiny_2edd/images/27_image.webp", + "/media/destiny_2edd/images/27_image.webp", + "/media/destiny_2edd/images/28_image.webp", + "/media/destiny_2edd/images/28_image.webp", + "/media/destiny_2edd/images/28_image.webp", + "/media/destiny_2edd/images/29_image.webp", + "/media/destiny_2edd/images/29_image.webp", + "/media/destiny_2edd/images/29_image.webp", + "/media/destiny_2edd/images/30_image.webp", + "/media/destiny_2edd/images/30_image.webp", + "/media/destiny_2edd/images/30_image.webp", + "/media/destiny_2edd/images/31_image.webp", + "/media/destiny_2edd/images/31_image.webp", + "/media/destiny_2edd/images/31_image.webp" + ], + "created_at": "2026-01-22T14:24:05.253902-07:00", + "dir_name": "destiny_2edd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diana_a38e.json b/ideas/aeres/agents/diana_a38e.json new file mode 100644 index 0000000..abe05f7 --- /dev/null +++ b/ideas/aeres/agents/diana_a38e.json @@ -0,0 +1,77 @@ +{ + "id": "diana_a38e", + "name": "Diana Jones", + "handle": "diana", + "gender": "female", + "description": "hot real life Disney princess, should live in a fantasy world,castle, medieval world, adventurer, good at hunting, 21 years old , red hair, looks like Ariel the mermaid", + "tags": [ + "elf_maiden", + "blue-water sailing", + "instinctive archery", + "horseback riding", + "historical fencing", + "free diving", + "landscape photography", + "ancient linguistics" + ], + "avatar_url": "/media/diana_a38e/avatar.webp?t=1769689925", + "banner_url": "/media/diana_a38e/banner.webp?t=1769689919", + "videos": [ + "/media/diana_a38e/videos/01_smile_reveal.mp4?t=1769689951" + ], + "images": [ + "/media/diana_a38e/images/01_mid_mid_neutral.webp", + "/media/diana_a38e/images/02_image.webp", + "/media/diana_a38e/images/03_image.webp", + "/media/diana_a38e/images/04_image.webp", + "/media/diana_a38e/images/05_image.webp", + "/media/diana_a38e/images/06_image.webp", + "/media/diana_a38e/images/07_image.webp", + "/media/diana_a38e/images/08_image.webp", + "/media/diana_a38e/images/09_image.webp", + "/media/diana_a38e/images/10_image.webp", + "/media/diana_a38e/images/11_image.webp", + "/media/diana_a38e/images/12_image.webp", + "/media/diana_a38e/images/13_image.webp", + "/media/diana_a38e/images/14_image.webp", + "/media/diana_a38e/images/15_image.webp", + "/media/diana_a38e/images/16_image.webp", + "/media/diana_a38e/images/17_image.webp", + "/media/diana_a38e/images/18_image.webp", + "/media/diana_a38e/images/19_image.webp", + "/media/diana_a38e/images/20_image.webp", + "/media/diana_a38e/images/21_image.webp", + "/media/diana_a38e/images/22_image.webp", + "/media/diana_a38e/images/23_image.webp", + "/media/diana_a38e/images/24_image.webp", + "/media/diana_a38e/images/25_image.webp", + "/media/diana_a38e/images/26_image.webp", + "/media/diana_a38e/images/27_image.webp", + "/media/diana_a38e/images/28_image.webp", + "/media/diana_a38e/images/29_image.webp", + "/media/diana_a38e/images/30_image.webp", + "/media/diana_a38e/images/31_image.webp", + "/media/diana_a38e/images/32_image.webp", + "/media/diana_a38e/images/33_image.webp", + "/media/diana_a38e/images/34_image.webp", + "/media/diana_a38e/images/35_image.webp", + "/media/diana_a38e/images/36_image.webp", + "/media/diana_a38e/images/37_image.webp", + "/media/diana_a38e/images/38_image.webp", + "/media/diana_a38e/images/39_image.webp", + "/media/diana_a38e/images/40_image.webp", + "/media/diana_a38e/images/41_image.webp", + "/media/diana_a38e/images/42_image.webp", + "/media/diana_a38e/images/43_image.webp", + "/media/diana_a38e/images/44_image.webp", + "/media/diana_a38e/images/45_image.webp", + "/media/diana_a38e/images/46_image.webp", + "/media/diana_a38e/images/47_image.webp", + "/media/diana_a38e/images/48_image.webp", + "/media/diana_a38e/images/49_image.webp", + "/media/diana_a38e/images/50_image.webp", + "/media/diana_a38e/images/51_image.webp" + ], + "created_at": "2026-01-29T05:30:49.229525-07:00", + "dir_name": "diana_a38e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diana_dab1.json b/ideas/aeres/agents/diana_dab1.json new file mode 100644 index 0000000..df1da69 --- /dev/null +++ b/ideas/aeres/agents/diana_dab1.json @@ -0,0 +1,76 @@ +{ + "id": "diana_dab1", + "name": "Diana Zaitsev", + "handle": "diana", + "gender": "female", + "description": "high fashion model russian woman who loves to wear fur coats and animal print clothes", + "tags": [ + "mob_wife", + "collecting 19th-century russian realism", + "high-stakes baccarat", + "vintage jewelry restoration", + "interior design", + "classical opera", + "equestrian sports" + ], + "avatar_url": "/media/diana_dab1/avatar.webp?t=1769687417", + "banner_url": "/media/diana_dab1/banner.webp?t=1769687440", + "videos": [ + "/media/diana_dab1/videos/01_smile_reveal.mp4?t=1769687452" + ], + "images": [ + "/media/diana_dab1/images/01_mid_mid_neutral.webp", + "/media/diana_dab1/images/02_image.webp", + "/media/diana_dab1/images/03_image.webp", + "/media/diana_dab1/images/04_image.webp", + "/media/diana_dab1/images/05_image.webp", + "/media/diana_dab1/images/06_image.webp", + "/media/diana_dab1/images/07_image.webp", + "/media/diana_dab1/images/08_image.webp", + "/media/diana_dab1/images/09_image.webp", + "/media/diana_dab1/images/10_image.webp", + "/media/diana_dab1/images/11_image.webp", + "/media/diana_dab1/images/12_image.webp", + "/media/diana_dab1/images/13_image.webp", + "/media/diana_dab1/images/14_image.webp", + "/media/diana_dab1/images/15_image.webp", + "/media/diana_dab1/images/16_image.webp", + "/media/diana_dab1/images/17_image.webp", + "/media/diana_dab1/images/18_image.webp", + "/media/diana_dab1/images/19_image.webp", + "/media/diana_dab1/images/20_image.webp", + "/media/diana_dab1/images/21_image.webp", + "/media/diana_dab1/images/22_image.webp", + "/media/diana_dab1/images/23_image.webp", + "/media/diana_dab1/images/24_image.webp", + "/media/diana_dab1/images/25_image.webp", + "/media/diana_dab1/images/26_image.webp", + "/media/diana_dab1/images/27_image.webp", + "/media/diana_dab1/images/28_image.webp", + "/media/diana_dab1/images/29_image.webp", + "/media/diana_dab1/images/30_image.webp", + "/media/diana_dab1/images/31_image.webp", + "/media/diana_dab1/images/32_image.webp", + "/media/diana_dab1/images/33_image.webp", + "/media/diana_dab1/images/34_image.webp", + "/media/diana_dab1/images/35_image.webp", + "/media/diana_dab1/images/36_image.webp", + "/media/diana_dab1/images/37_image.webp", + "/media/diana_dab1/images/38_image.webp", + "/media/diana_dab1/images/39_image.webp", + "/media/diana_dab1/images/40_image.webp", + "/media/diana_dab1/images/41_image.webp", + "/media/diana_dab1/images/42_image.webp", + "/media/diana_dab1/images/43_image.webp", + "/media/diana_dab1/images/44_image.webp", + "/media/diana_dab1/images/45_image.webp", + "/media/diana_dab1/images/46_image.webp", + "/media/diana_dab1/images/47_image.webp", + "/media/diana_dab1/images/48_image.webp", + "/media/diana_dab1/images/49_image.webp", + "/media/diana_dab1/images/50_image.webp", + "/media/diana_dab1/images/51_image.webp" + ], + "created_at": "2026-01-29T04:49:06.773564-07:00", + "dir_name": "diana_dab1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/didimo_3145.json b/ideas/aeres/agents/didimo_3145.json new file mode 100644 index 0000000..141f54c --- /dev/null +++ b/ideas/aeres/agents/didimo_3145.json @@ -0,0 +1,77 @@ +{ + "id": "didimo_3145", + "name": "Didimo Marino", + "handle": "didimo", + "gender": "male", + "description": "male who cosplays as House from House MD", + "tags": [ + "intellectual", + "jazz piano", + "rare medical anomalies", + "epistemology", + "classical music", + "cooking with chemistry", + "old cinema", + "chess" + ], + "avatar_url": "/media/didimo_3145/avatar.webp?t=1769771613", + "banner_url": "/media/didimo_3145/banner.webp?t=1769771613", + "videos": [ + "/media/didimo_3145/videos/01_smile_reveal.mp4?t=1769771713" + ], + "images": [ + "/media/didimo_3145/images/01_mid_mid_neutral.webp", + "/media/didimo_3145/images/02_image.webp", + "/media/didimo_3145/images/03_image.webp", + "/media/didimo_3145/images/04_image.webp", + "/media/didimo_3145/images/05_image.webp", + "/media/didimo_3145/images/06_image.webp", + "/media/didimo_3145/images/07_image.webp", + "/media/didimo_3145/images/08_image.webp", + "/media/didimo_3145/images/09_image.webp", + "/media/didimo_3145/images/10_image.webp", + "/media/didimo_3145/images/11_image.webp", + "/media/didimo_3145/images/12_image.webp", + "/media/didimo_3145/images/13_image.webp", + "/media/didimo_3145/images/14_image.webp", + "/media/didimo_3145/images/15_image.webp", + "/media/didimo_3145/images/16_image.webp", + "/media/didimo_3145/images/17_image.webp", + "/media/didimo_3145/images/18_image.webp", + "/media/didimo_3145/images/19_image.webp", + "/media/didimo_3145/images/20_image.webp", + "/media/didimo_3145/images/21_image.webp", + "/media/didimo_3145/images/22_image.webp", + "/media/didimo_3145/images/23_image.webp", + "/media/didimo_3145/images/24_image.webp", + "/media/didimo_3145/images/25_image.webp", + "/media/didimo_3145/images/26_image.webp", + "/media/didimo_3145/images/27_image.webp", + "/media/didimo_3145/images/28_image.webp", + "/media/didimo_3145/images/29_image.webp", + "/media/didimo_3145/images/30_image.webp", + "/media/didimo_3145/images/31_image.webp", + "/media/didimo_3145/images/32_image.webp", + "/media/didimo_3145/images/33_image.webp", + "/media/didimo_3145/images/34_image.webp", + "/media/didimo_3145/images/35_image.webp", + "/media/didimo_3145/images/36_image.webp", + "/media/didimo_3145/images/37_image.webp", + "/media/didimo_3145/images/38_image.webp", + "/media/didimo_3145/images/39_image.webp", + "/media/didimo_3145/images/40_image.webp", + "/media/didimo_3145/images/41_image.webp", + "/media/didimo_3145/images/42_image.webp", + "/media/didimo_3145/images/43_image.webp", + "/media/didimo_3145/images/44_image.webp", + "/media/didimo_3145/images/45_image.webp", + "/media/didimo_3145/images/46_image.webp", + "/media/didimo_3145/images/47_image.webp", + "/media/didimo_3145/images/48_image.webp", + "/media/didimo_3145/images/49_image.webp", + "/media/didimo_3145/images/50_image.webp", + "/media/didimo_3145/images/51_image.webp" + ], + "created_at": "2026-01-30T04:12:28.434139-07:00", + "dir_name": "didimo_3145" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diego_35bf.json b/ideas/aeres/agents/diego_35bf.json new file mode 100644 index 0000000..eda4be2 --- /dev/null +++ b/ideas/aeres/agents/diego_35bf.json @@ -0,0 +1,76 @@ +{ + "id": "diego_35bf", + "name": "Diego de Alvarado", + "handle": "diego", + "gender": "male", + "description": "mid century sailor, spanish navigator, captain of a mid century ocean sail ship, the world should be in the 1500's Europe, handsome tall , brunette, the whole world should be in that period", + "tags": [ + "explorer", + "celestial navigation", + "fencing", + "vintage cartography", + "viticulture", + "classical music", + "coastal hiking" + ], + "avatar_url": "/media/diego_35bf/avatar.webp?t=1770209556", + "banner_url": "/media/diego_35bf/banner.webp?t=1770209553", + "videos": [ + "/media/diego_35bf/videos/01_smile_reveal.mp4?t=1770209617" + ], + "images": [ + "/media/diego_35bf/images/01_mid_mid_neutral.webp", + "/media/diego_35bf/images/02_image.webp", + "/media/diego_35bf/images/03_image.webp", + "/media/diego_35bf/images/04_image.webp", + "/media/diego_35bf/images/05_image.webp", + "/media/diego_35bf/images/06_image.webp", + "/media/diego_35bf/images/07_image.webp", + "/media/diego_35bf/images/08_image.webp", + "/media/diego_35bf/images/09_image.webp", + "/media/diego_35bf/images/10_image.webp", + "/media/diego_35bf/images/11_image.webp", + "/media/diego_35bf/images/12_image.webp", + "/media/diego_35bf/images/13_image.webp", + "/media/diego_35bf/images/14_image.webp", + "/media/diego_35bf/images/15_image.webp", + "/media/diego_35bf/images/16_image.webp", + "/media/diego_35bf/images/17_image.webp", + "/media/diego_35bf/images/18_image.webp", + "/media/diego_35bf/images/19_image.webp", + "/media/diego_35bf/images/20_image.webp", + "/media/diego_35bf/images/21_image.webp", + "/media/diego_35bf/images/22_image.webp", + "/media/diego_35bf/images/23_image.webp", + "/media/diego_35bf/images/24_image.webp", + "/media/diego_35bf/images/25_image.webp", + "/media/diego_35bf/images/26_image.webp", + "/media/diego_35bf/images/27_image.webp", + "/media/diego_35bf/images/28_image.webp", + "/media/diego_35bf/images/29_image.webp", + "/media/diego_35bf/images/30_image.webp", + "/media/diego_35bf/images/31_image.webp", + "/media/diego_35bf/images/32_image.webp", + "/media/diego_35bf/images/33_image.webp", + "/media/diego_35bf/images/34_image.webp", + "/media/diego_35bf/images/35_image.webp", + "/media/diego_35bf/images/36_image.webp", + "/media/diego_35bf/images/37_image.webp", + "/media/diego_35bf/images/38_image.webp", + "/media/diego_35bf/images/39_image.webp", + "/media/diego_35bf/images/40_image.webp", + "/media/diego_35bf/images/41_image.webp", + "/media/diego_35bf/images/42_image.webp", + "/media/diego_35bf/images/43_image.webp", + "/media/diego_35bf/images/44_image.webp", + "/media/diego_35bf/images/45_image.webp", + "/media/diego_35bf/images/46_image.webp", + "/media/diego_35bf/images/47_image.webp", + "/media/diego_35bf/images/48_image.webp", + "/media/diego_35bf/images/49_image.webp", + "/media/diego_35bf/images/50_image.webp", + "/media/diego_35bf/images/51_image.webp" + ], + "created_at": "2026-02-04T05:51:23.403798-07:00", + "dir_name": "diego_35bf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diego_7398.json b/ideas/aeres/agents/diego_7398.json new file mode 100644 index 0000000..db33469 --- /dev/null +++ b/ideas/aeres/agents/diego_7398.json @@ -0,0 +1,75 @@ +{ + "id": "diego_7398", + "name": "Diego Rodriguez", + "handle": "diego", + "gender": "male", + "description": "a man who is hypebeast and wears only designer brands", + "tags": [ + "influencer_lifestyle", + "rare sneaker collecting", + "horology", + "modern architecture", + "street photography", + "crypto trading", + "natural wine", + "tennis" + ], + "avatar_url": "/media/diego_7398/avatar.webp?t=1769067902", + "banner_url": "/media/diego_7398/banner.webp?t=1769067904", + "videos": [ + "/media/diego_7398/videos/01_smile_reveal.mp4?t=1769067922" + ], + "images": [ + "/media/diego_7398/images/01_mid_mid_neutral.webp", + "/media/diego_7398/images/02_image.webp", + "/media/diego_7398/images/03_image.webp", + "/media/diego_7398/images/05_image.webp", + "/media/diego_7398/images/06_image.webp", + "/media/diego_7398/images/07_image.webp", + "/media/diego_7398/images/08_image.webp", + "/media/diego_7398/images/09_image.webp", + "/media/diego_7398/images/10_image.webp", + "/media/diego_7398/images/11_image.webp", + "/media/diego_7398/images/12_image.webp", + "/media/diego_7398/images/14_image.webp", + "/media/diego_7398/images/15_image.webp", + "/media/diego_7398/images/16_image.webp", + "/media/diego_7398/images/17_image.webp", + "/media/diego_7398/images/18_image.webp", + "/media/diego_7398/images/19_image.webp", + "/media/diego_7398/images/20_image.webp", + "/media/diego_7398/images/21_image.webp", + "/media/diego_7398/images/22_image.webp", + "/media/diego_7398/images/23_image.webp", + "/media/diego_7398/images/24_image.webp", + "/media/diego_7398/images/25_image.webp", + "/media/diego_7398/images/26_image.webp", + "/media/diego_7398/images/27_image.webp", + "/media/diego_7398/images/28_image.webp", + "/media/diego_7398/images/29_image.webp", + "/media/diego_7398/images/30_image.webp", + "/media/diego_7398/images/31_image.webp", + "/media/diego_7398/images/32_image.webp", + "/media/diego_7398/images/33_image.webp", + "/media/diego_7398/images/34_image.webp", + "/media/diego_7398/images/35_image.webp", + "/media/diego_7398/images/36_image.webp", + "/media/diego_7398/images/37_image.webp", + "/media/diego_7398/images/38_image.webp", + "/media/diego_7398/images/39_image.webp", + "/media/diego_7398/images/40_image.webp", + "/media/diego_7398/images/41_image.webp", + "/media/diego_7398/images/42_image.webp", + "/media/diego_7398/images/43_image.webp", + "/media/diego_7398/images/44_image.webp", + "/media/diego_7398/images/45_image.webp", + "/media/diego_7398/images/46_image.webp", + "/media/diego_7398/images/47_image.webp", + "/media/diego_7398/images/48_image.webp", + "/media/diego_7398/images/49_image.webp", + "/media/diego_7398/images/50_image.webp", + "/media/diego_7398/images/51_image.webp" + ], + "created_at": "2026-01-22T00:43:42.083238-07:00", + "dir_name": "diego_7398" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diego_de71.json b/ideas/aeres/agents/diego_de71.json new file mode 100644 index 0000000..ab87d67 --- /dev/null +++ b/ideas/aeres/agents/diego_de71.json @@ -0,0 +1,73 @@ +{ + "id": "diego_de71", + "name": "Diego Harris", + "handle": "diego", + "gender": "male", + "description": "male who cosplays as Johnny Test", + "tags": [ + "cosplayer", + "prop fabrication", + "skatboarding", + "voice acting", + "retro gaming", + "craft beer", + "hiking", + "graphic novels" + ], + "avatar_url": "/media/diego_de71/avatar.webp?t=1770123357", + "banner_url": "/media/diego_de71/banner.webp?t=1770123358", + "videos": [ + "/media/diego_de71/videos/01_smile_reveal.mp4?t=1770123408" + ], + "images": [ + "/media/diego_de71/images/01_mid_mid_neutral.webp", + "/media/diego_de71/images/02_image.webp", + "/media/diego_de71/images/03_image.webp", + "/media/diego_de71/images/04_image.webp", + "/media/diego_de71/images/05_image.webp", + "/media/diego_de71/images/06_image.webp", + "/media/diego_de71/images/07_image.webp", + "/media/diego_de71/images/08_image.webp", + "/media/diego_de71/images/09_image.webp", + "/media/diego_de71/images/10_image.webp", + "/media/diego_de71/images/11_image.webp", + "/media/diego_de71/images/12_image.webp", + "/media/diego_de71/images/13_image.webp", + "/media/diego_de71/images/14_image.webp", + "/media/diego_de71/images/22_image.webp", + "/media/diego_de71/images/23_image.webp", + "/media/diego_de71/images/24_image.webp", + "/media/diego_de71/images/25_image.webp", + "/media/diego_de71/images/26_image.webp", + "/media/diego_de71/images/27_image.webp", + "/media/diego_de71/images/28_image.webp", + "/media/diego_de71/images/29_image.webp", + "/media/diego_de71/images/30_image.webp", + "/media/diego_de71/images/31_image.webp", + "/media/diego_de71/images/32_image.webp", + "/media/diego_de71/images/33_image.webp", + "/media/diego_de71/images/34_image.webp", + "/media/diego_de71/images/35_image.webp", + "/media/diego_de71/images/36_image.webp", + "/media/diego_de71/images/37_image.webp", + "/media/diego_de71/images/38_image.webp", + "/media/diego_de71/images/39_image.webp", + "/media/diego_de71/images/40_image.webp", + "/media/diego_de71/images/41_image.webp", + "/media/diego_de71/images/42_image.webp", + "/media/diego_de71/images/43_image.webp", + "/media/diego_de71/images/44_image.webp", + "/media/diego_de71/images/45_image.webp", + "/media/diego_de71/images/46_image.webp", + "/media/diego_de71/images/47_image.webp", + "/media/diego_de71/images/48_image.webp", + "/media/diego_de71/images/49_image.webp", + "/media/diego_de71/images/50_image.webp", + "/media/diego_de71/images/51_image.webp", + "/media/diego_de71/images/52_image.webp", + "/media/diego_de71/images/53_image.webp", + "/media/diego_de71/images/54_image.webp" + ], + "created_at": "2026-02-03T05:52:45.416752-07:00", + "dir_name": "diego_de71" +} \ No newline at end of file diff --git a/ideas/aeres/agents/diego_f02b.json b/ideas/aeres/agents/diego_f02b.json new file mode 100644 index 0000000..3b5c4b6 --- /dev/null +++ b/ideas/aeres/agents/diego_f02b.json @@ -0,0 +1,73 @@ +{ + "id": "diego_f02b", + "name": "Diego Harris", + "handle": "diego", + "gender": "male", + "description": "soldier, enrolled in army overseas, military camp, army training, age 23, military uniform, deployed in Iraq, american solder, muscular", + "tags": [ + "career_fantasy", + "olympic weightlifting", + "tactical marksmanship", + "mountain biking", + "history of warfare", + "cooking high-protein meals", + "watching documentaries", + "rugby" + ], + "avatar_url": "/media/diego_f02b/avatar.webp?t=1770124111", + "banner_url": "/media/diego_f02b/banner.webp?t=1770124119", + "videos": [ + "/media/diego_f02b/videos/01_smile_reveal.mp4?t=1770124149" + ], + "images": [ + "/media/diego_f02b/images/01_mid_mid_neutral.webp", + "/media/diego_f02b/images/02_image.webp", + "/media/diego_f02b/images/03_image.webp", + "/media/diego_f02b/images/04_image.webp", + "/media/diego_f02b/images/05_image.webp", + "/media/diego_f02b/images/06_image.webp", + "/media/diego_f02b/images/07_image.webp", + "/media/diego_f02b/images/08_image.webp", + "/media/diego_f02b/images/09_image.webp", + "/media/diego_f02b/images/10_image.webp", + "/media/diego_f02b/images/11_image.webp", + "/media/diego_f02b/images/12_image.webp", + "/media/diego_f02b/images/13_image.webp", + "/media/diego_f02b/images/14_image.webp", + "/media/diego_f02b/images/15_image.webp", + "/media/diego_f02b/images/16_image.webp", + "/media/diego_f02b/images/17_image.webp", + "/media/diego_f02b/images/18_image.webp", + "/media/diego_f02b/images/19_image.webp", + "/media/diego_f02b/images/22_image.webp", + "/media/diego_f02b/images/23_image.webp", + "/media/diego_f02b/images/24_image.webp", + "/media/diego_f02b/images/25_image.webp", + "/media/diego_f02b/images/26_image.webp", + "/media/diego_f02b/images/27_image.webp", + "/media/diego_f02b/images/28_image.webp", + "/media/diego_f02b/images/29_image.webp", + "/media/diego_f02b/images/30_image.webp", + "/media/diego_f02b/images/31_image.webp", + "/media/diego_f02b/images/32_image.webp", + "/media/diego_f02b/images/33_image.webp", + "/media/diego_f02b/images/34_image.webp", + "/media/diego_f02b/images/35_image.webp", + "/media/diego_f02b/images/36_image.webp", + "/media/diego_f02b/images/37_image.webp", + "/media/diego_f02b/images/38_image.webp", + "/media/diego_f02b/images/39_image.webp", + "/media/diego_f02b/images/40_image.webp", + "/media/diego_f02b/images/41_image.webp", + "/media/diego_f02b/images/42_image.webp", + "/media/diego_f02b/images/43_image.webp", + "/media/diego_f02b/images/44_image.webp", + "/media/diego_f02b/images/45_image.webp", + "/media/diego_f02b/images/46_image.webp", + "/media/diego_f02b/images/47_image.webp", + "/media/diego_f02b/images/48_image.webp", + "/media/diego_f02b/images/49_image.webp" + ], + "created_at": "2026-02-03T06:07:25.32085-07:00", + "dir_name": "diego_f02b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dominique_0004.json b/ideas/aeres/agents/dominique_0004.json new file mode 100644 index 0000000..dd7f313 --- /dev/null +++ b/ideas/aeres/agents/dominique_0004.json @@ -0,0 +1,77 @@ +{ + "id": "dominique_0004", + "name": "Dominique Robert", + "handle": "dominique", + "gender": "male", + "description": "white male with long blonde hair in 1990s cartoon style", + "tags": [ + "manga_protagonist", + "rock climbing", + "vintage anime", + "motorcycle restoration", + "parkour", + "cooking breakfast", + "arcade games", + "photography" + ], + "avatar_url": "/media/dominique_0004/avatar.webp?t=1769613152", + "banner_url": "/media/dominique_0004/banner.webp?t=1769613752", + "videos": [ + "/media/dominique_0004/videos/01_smile_reveal.mp4?t=1769613199" + ], + "images": [ + "/media/dominique_0004/images/01_mid_mid_neutral.webp", + "/media/dominique_0004/images/02_image.webp", + "/media/dominique_0004/images/03_image.webp", + "/media/dominique_0004/images/04_image.webp", + "/media/dominique_0004/images/05_image.webp", + "/media/dominique_0004/images/06_image.webp", + "/media/dominique_0004/images/07_image.webp", + "/media/dominique_0004/images/08_image.webp", + "/media/dominique_0004/images/09_image.webp", + "/media/dominique_0004/images/10_image.webp", + "/media/dominique_0004/images/11_image.webp", + "/media/dominique_0004/images/12_image.webp", + "/media/dominique_0004/images/13_image.webp", + "/media/dominique_0004/images/14_image.webp", + "/media/dominique_0004/images/15_image.webp", + "/media/dominique_0004/images/16_image.webp", + "/media/dominique_0004/images/17_image.webp", + "/media/dominique_0004/images/18_image.webp", + "/media/dominique_0004/images/19_image.webp", + "/media/dominique_0004/images/20_image.webp", + "/media/dominique_0004/images/21_image.webp", + "/media/dominique_0004/images/22_image.webp", + "/media/dominique_0004/images/23_image.webp", + "/media/dominique_0004/images/24_image.webp", + "/media/dominique_0004/images/25_image.webp", + "/media/dominique_0004/images/26_image.webp", + "/media/dominique_0004/images/27_image.webp", + "/media/dominique_0004/images/28_image.webp", + "/media/dominique_0004/images/29_image.webp", + "/media/dominique_0004/images/30_image.webp", + "/media/dominique_0004/images/31_image.webp", + "/media/dominique_0004/images/32_image.webp", + "/media/dominique_0004/images/33_image.webp", + "/media/dominique_0004/images/34_image.webp", + "/media/dominique_0004/images/35_image.webp", + "/media/dominique_0004/images/36_image.webp", + "/media/dominique_0004/images/37_image.webp", + "/media/dominique_0004/images/38_image.webp", + "/media/dominique_0004/images/39_image.webp", + "/media/dominique_0004/images/40_image.webp", + "/media/dominique_0004/images/41_image.webp", + "/media/dominique_0004/images/42_image.webp", + "/media/dominique_0004/images/43_image.webp", + "/media/dominique_0004/images/44_image.webp", + "/media/dominique_0004/images/45_image.webp", + "/media/dominique_0004/images/46_image.webp", + "/media/dominique_0004/images/47_image.webp", + "/media/dominique_0004/images/48_image.webp", + "/media/dominique_0004/images/49_image.webp", + "/media/dominique_0004/images/50_image.webp", + "/media/dominique_0004/images/51_image.webp" + ], + "created_at": "2026-01-28T08:11:17.864014-07:00", + "dir_name": "dominique_0004" +} \ No newline at end of file diff --git a/ideas/aeres/agents/doris_2dc8.json b/ideas/aeres/agents/doris_2dc8.json new file mode 100644 index 0000000..d0d272d --- /dev/null +++ b/ideas/aeres/agents/doris_2dc8.json @@ -0,0 +1,75 @@ +{ + "id": "doris_2dc8", + "name": "Doris Lopez", + "handle": "doris", + "gender": "female", + "description": "60's, old money, elegance, refined, luxury, diamond, tailored, pearls, country club", + "tags": [ + "vintage_retro", + "mid-century architecture", + "classical piano", + "equestrian show jumping", + "vintage fashion restoration", + "wine tasting", + "film photography", + "gardening" + ], + "avatar_url": "/media/doris_2dc8/avatar.webp?t=1769584090", + "banner_url": "/media/doris_2dc8/banner.webp?t=1769584107", + "videos": [ + "/media/doris_2dc8/videos/01_smile_reveal.mp4?t=1769554830" + ], + "images": [ + "/media/doris_2dc8/images/01_mid_mid_neutral.webp", + "/media/doris_2dc8/images/02_image.webp", + "/media/doris_2dc8/images/03_image.webp", + "/media/doris_2dc8/images/04_image.webp", + "/media/doris_2dc8/images/05_image.webp", + "/media/doris_2dc8/images/06_image.webp", + "/media/doris_2dc8/images/08_image.webp", + "/media/doris_2dc8/images/09_image.webp", + "/media/doris_2dc8/images/10_image.webp", + "/media/doris_2dc8/images/11_image.webp", + "/media/doris_2dc8/images/12_image.webp", + "/media/doris_2dc8/images/13_image.webp", + "/media/doris_2dc8/images/14_image.webp", + "/media/doris_2dc8/images/15_image.webp", + "/media/doris_2dc8/images/16_image.webp", + "/media/doris_2dc8/images/17_image.webp", + "/media/doris_2dc8/images/18_image.webp", + "/media/doris_2dc8/images/20_image.webp", + "/media/doris_2dc8/images/21_image.webp", + "/media/doris_2dc8/images/22_image.webp", + "/media/doris_2dc8/images/23_image.webp", + "/media/doris_2dc8/images/24_image.webp", + "/media/doris_2dc8/images/25_image.webp", + "/media/doris_2dc8/images/26_image.webp", + "/media/doris_2dc8/images/27_image.webp", + "/media/doris_2dc8/images/28_image.webp", + "/media/doris_2dc8/images/29_image.webp", + "/media/doris_2dc8/images/30_image.webp", + "/media/doris_2dc8/images/31_image.webp", + "/media/doris_2dc8/images/32_image.webp", + "/media/doris_2dc8/images/33_image.webp", + "/media/doris_2dc8/images/34_image.webp", + "/media/doris_2dc8/images/35_image.webp", + "/media/doris_2dc8/images/36_image.webp", + "/media/doris_2dc8/images/37_image.webp", + "/media/doris_2dc8/images/38_image.webp", + "/media/doris_2dc8/images/39_image.webp", + "/media/doris_2dc8/images/40_image.webp", + "/media/doris_2dc8/images/41_image.webp", + "/media/doris_2dc8/images/42_image.webp", + "/media/doris_2dc8/images/43_image.webp", + "/media/doris_2dc8/images/44_image.webp", + "/media/doris_2dc8/images/45_image.webp", + "/media/doris_2dc8/images/46_image.webp", + "/media/doris_2dc8/images/47_image.webp", + "/media/doris_2dc8/images/48_image.webp", + "/media/doris_2dc8/images/49_image.webp", + "/media/doris_2dc8/images/50_image.webp", + "/media/doris_2dc8/images/51_image.webp" + ], + "created_at": "2026-01-27T15:58:23.851243-07:00", + "dir_name": "doris_2dc8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/doris_e436.json b/ideas/aeres/agents/doris_e436.json new file mode 100644 index 0000000..7898de8 --- /dev/null +++ b/ideas/aeres/agents/doris_e436.json @@ -0,0 +1,76 @@ +{ + "id": "doris_e436", + "name": "Doris Lopez", + "handle": "doris", + "gender": "female", + "description": "mexican woman with curly dark hair who is a professional streamer", + "tags": [ + "streamer_gf", + "retro gaming hardware", + "custom mechanical keyboards", + "weightlifting", + "video editing", + "urban photography", + "sci-fi novels", + "testing new skincare tech" + ], + "avatar_url": "/media/doris_e436/avatar.webp?t=1769768659", + "banner_url": "/media/doris_e436/banner.webp?t=1769768661", + "videos": [ + "/media/doris_e436/videos/01_smile_reveal.mp4?t=1769768717" + ], + "images": [ + "/media/doris_e436/images/01_mid_mid_neutral.webp", + "/media/doris_e436/images/02_image.webp", + "/media/doris_e436/images/03_image.webp", + "/media/doris_e436/images/04_image.webp", + "/media/doris_e436/images/05_image.webp", + "/media/doris_e436/images/06_image.webp", + "/media/doris_e436/images/07_image.webp", + "/media/doris_e436/images/08_image.webp", + "/media/doris_e436/images/09_image.webp", + "/media/doris_e436/images/10_image.webp", + "/media/doris_e436/images/11_image.webp", + "/media/doris_e436/images/12_image.webp", + "/media/doris_e436/images/13_image.webp", + "/media/doris_e436/images/14_image.webp", + "/media/doris_e436/images/15_image.webp", + "/media/doris_e436/images/16_image.webp", + "/media/doris_e436/images/17_image.webp", + "/media/doris_e436/images/18_image.webp", + "/media/doris_e436/images/20_image.webp", + "/media/doris_e436/images/21_image.webp", + "/media/doris_e436/images/22_image.webp", + "/media/doris_e436/images/23_image.webp", + "/media/doris_e436/images/24_image.webp", + "/media/doris_e436/images/25_image.webp", + "/media/doris_e436/images/26_image.webp", + "/media/doris_e436/images/27_image.webp", + "/media/doris_e436/images/28_image.webp", + "/media/doris_e436/images/29_image.webp", + "/media/doris_e436/images/30_image.webp", + "/media/doris_e436/images/31_image.webp", + "/media/doris_e436/images/32_image.webp", + "/media/doris_e436/images/33_image.webp", + "/media/doris_e436/images/34_image.webp", + "/media/doris_e436/images/35_image.webp", + "/media/doris_e436/images/36_image.webp", + "/media/doris_e436/images/37_image.webp", + "/media/doris_e436/images/38_image.webp", + "/media/doris_e436/images/39_image.webp", + "/media/doris_e436/images/40_image.webp", + "/media/doris_e436/images/41_image.webp", + "/media/doris_e436/images/42_image.webp", + "/media/doris_e436/images/43_image.webp", + "/media/doris_e436/images/44_image.webp", + "/media/doris_e436/images/45_image.webp", + "/media/doris_e436/images/46_image.webp", + "/media/doris_e436/images/47_image.webp", + "/media/doris_e436/images/48_image.webp", + "/media/doris_e436/images/49_image.webp", + "/media/doris_e436/images/50_image.webp", + "/media/doris_e436/images/51_image.webp" + ], + "created_at": "2026-01-30T03:23:09.084073-07:00", + "dir_name": "doris_e436" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dorothy_251a.json b/ideas/aeres/agents/dorothy_251a.json new file mode 100644 index 0000000..e316cab --- /dev/null +++ b/ideas/aeres/agents/dorothy_251a.json @@ -0,0 +1,76 @@ +{ + "id": "dorothy_251a", + "name": "Dorothy Anderson", + "handle": "dorothy", + "gender": "female", + "description": "29 year old athletic health enthusiast, formerly obese, marathon runner", + "tags": [ + "athletic", + "marathon training", + "clean eating", + "bio-hacking", + "urban exploration", + "podcast listening", + "interior design", + "horticulture" + ], + "avatar_url": "/media/dorothy_251a/avatar.webp?t=1769043771", + "banner_url": "/media/dorothy_251a/banner.webp?t=1769043766", + "videos": [ + "/media/dorothy_251a/videos/01_smile_reveal.mp4?t=1769043816" + ], + "images": [ + "/media/dorothy_251a/images/01_mid_mid_neutral.webp", + "/media/dorothy_251a/images/02_image.webp", + "/media/dorothy_251a/images/03_image.webp", + "/media/dorothy_251a/images/04_image.webp", + "/media/dorothy_251a/images/05_image.webp", + "/media/dorothy_251a/images/06_image.webp", + "/media/dorothy_251a/images/07_image.webp", + "/media/dorothy_251a/images/08_image.webp", + "/media/dorothy_251a/images/09_image.webp", + "/media/dorothy_251a/images/10_image.webp", + "/media/dorothy_251a/images/11_image.webp", + "/media/dorothy_251a/images/12_image.webp", + "/media/dorothy_251a/images/13_image.webp", + "/media/dorothy_251a/images/14_image.webp", + "/media/dorothy_251a/images/15_image.webp", + "/media/dorothy_251a/images/16_image.webp", + "/media/dorothy_251a/images/17_image.webp", + "/media/dorothy_251a/images/18_image.webp", + "/media/dorothy_251a/images/19_image.webp", + "/media/dorothy_251a/images/20_image.webp", + "/media/dorothy_251a/images/21_image.webp", + "/media/dorothy_251a/images/22_image.webp", + "/media/dorothy_251a/images/23_image.webp", + "/media/dorothy_251a/images/24_image.webp", + "/media/dorothy_251a/images/25_image.webp", + "/media/dorothy_251a/images/26_image.webp", + "/media/dorothy_251a/images/27_image.webp", + "/media/dorothy_251a/images/28_image.webp", + "/media/dorothy_251a/images/29_image.webp", + "/media/dorothy_251a/images/30_image.webp", + "/media/dorothy_251a/images/31_image.webp", + "/media/dorothy_251a/images/32_image.webp", + "/media/dorothy_251a/images/33_image.webp", + "/media/dorothy_251a/images/34_image.webp", + "/media/dorothy_251a/images/35_image.webp", + "/media/dorothy_251a/images/36_image.webp", + "/media/dorothy_251a/images/37_image.webp", + "/media/dorothy_251a/images/38_image.webp", + "/media/dorothy_251a/images/39_image.webp", + "/media/dorothy_251a/images/40_image.webp", + "/media/dorothy_251a/images/41_image.webp", + "/media/dorothy_251a/images/42_image.webp", + "/media/dorothy_251a/images/43_image.webp", + "/media/dorothy_251a/images/44_image.webp", + "/media/dorothy_251a/images/45_image.webp", + "/media/dorothy_251a/images/46_image.webp", + "/media/dorothy_251a/images/47_image.webp", + "/media/dorothy_251a/images/48_image.webp", + "/media/dorothy_251a/images/49_image.webp", + "/media/dorothy_251a/images/51_image.webp" + ], + "created_at": "2026-01-21T18:01:28.828243-07:00", + "dir_name": "dorothy_251a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dorothy_941a.json b/ideas/aeres/agents/dorothy_941a.json new file mode 100644 index 0000000..b4bea4b --- /dev/null +++ b/ideas/aeres/agents/dorothy_941a.json @@ -0,0 +1,76 @@ +{ + "id": "dorothy_941a", + "name": "Dorothy Davis", + "handle": "dorothy", + "gender": "female", + "description": "female from Senegal who cosplays as Deadpool", + "tags": [ + "cosplayer", + "tactical gear fabrication", + "weightlifting", + "comic book history", + "retro arcade games", + "street photography", + "cooking mexican food" + ], + "avatar_url": "/media/dorothy_941a/avatar.webp?t=1769756867", + "banner_url": "/media/dorothy_941a/banner.webp?t=1769756948", + "videos": [ + "/media/dorothy_941a/videos/01_smile_reveal.mp4?t=1769756919" + ], + "images": [ + "/media/dorothy_941a/images/01_mid_mid_neutral.webp", + "/media/dorothy_941a/images/02_image.webp", + "/media/dorothy_941a/images/03_image.webp", + "/media/dorothy_941a/images/04_image.webp", + "/media/dorothy_941a/images/05_image.webp", + "/media/dorothy_941a/images/06_image.webp", + "/media/dorothy_941a/images/07_image.webp", + "/media/dorothy_941a/images/08_image.webp", + "/media/dorothy_941a/images/09_image.webp", + "/media/dorothy_941a/images/10_image.webp", + "/media/dorothy_941a/images/11_image.webp", + "/media/dorothy_941a/images/12_image.webp", + "/media/dorothy_941a/images/13_image.webp", + "/media/dorothy_941a/images/14_image.webp", + "/media/dorothy_941a/images/15_image.webp", + "/media/dorothy_941a/images/16_image.webp", + "/media/dorothy_941a/images/17_image.webp", + "/media/dorothy_941a/images/18_image.webp", + "/media/dorothy_941a/images/19_image.webp", + "/media/dorothy_941a/images/20_image.webp", + "/media/dorothy_941a/images/21_image.webp", + "/media/dorothy_941a/images/22_image.webp", + "/media/dorothy_941a/images/23_image.webp", + "/media/dorothy_941a/images/24_image.webp", + "/media/dorothy_941a/images/25_image.webp", + "/media/dorothy_941a/images/26_image.webp", + "/media/dorothy_941a/images/27_image.webp", + "/media/dorothy_941a/images/28_image.webp", + "/media/dorothy_941a/images/29_image.webp", + "/media/dorothy_941a/images/30_image.webp", + "/media/dorothy_941a/images/31_image.webp", + "/media/dorothy_941a/images/32_image.webp", + "/media/dorothy_941a/images/33_image.webp", + "/media/dorothy_941a/images/34_image.webp", + "/media/dorothy_941a/images/35_image.webp", + "/media/dorothy_941a/images/36_image.webp", + "/media/dorothy_941a/images/37_image.webp", + "/media/dorothy_941a/images/38_image.webp", + "/media/dorothy_941a/images/39_image.webp", + "/media/dorothy_941a/images/40_image.webp", + "/media/dorothy_941a/images/41_image.webp", + "/media/dorothy_941a/images/42_image.webp", + "/media/dorothy_941a/images/43_image.webp", + "/media/dorothy_941a/images/44_image.webp", + "/media/dorothy_941a/images/45_image.webp", + "/media/dorothy_941a/images/46_image.webp", + "/media/dorothy_941a/images/47_image.webp", + "/media/dorothy_941a/images/48_image.webp", + "/media/dorothy_941a/images/49_image.webp", + "/media/dorothy_941a/images/50_image.webp", + "/media/dorothy_941a/images/51_image.webp" + ], + "created_at": "2026-01-30T00:06:27.987449-07:00", + "dir_name": "dorothy_941a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dorothy_97da.json b/ideas/aeres/agents/dorothy_97da.json new file mode 100644 index 0000000..61a9231 --- /dev/null +++ b/ideas/aeres/agents/dorothy_97da.json @@ -0,0 +1,77 @@ +{ + "id": "dorothy_97da", + "name": "Dorothy Anderson", + "handle": "dorothy", + "gender": "female", + "description": "athletic tall blonde white basketball player, college girl, draw inspiration from Lola Bunny, make a human counterpart , should look very similar to her", + "tags": [ + "the athletic one", + "beach volleyball", + "vintage sneaker collecting", + "sports psychology", + "interior design", + "cooking high-protein meals", + "podcasts about endurance", + "tennis" + ], + "avatar_url": "/media/dorothy_97da/avatar.webp?t=1769591363", + "banner_url": "/media/dorothy_97da/banner.webp?t=1769591351", + "videos": [ + "/media/dorothy_97da/videos/01_smile_reveal.mp4?t=1769591414" + ], + "images": [ + "/media/dorothy_97da/images/01_mid_mid_neutral.webp", + "/media/dorothy_97da/images/02_image.webp", + "/media/dorothy_97da/images/03_image.webp", + "/media/dorothy_97da/images/04_image.webp", + "/media/dorothy_97da/images/05_image.webp", + "/media/dorothy_97da/images/06_image.webp", + "/media/dorothy_97da/images/07_image.webp", + "/media/dorothy_97da/images/08_image.webp", + "/media/dorothy_97da/images/09_image.webp", + "/media/dorothy_97da/images/10_image.webp", + "/media/dorothy_97da/images/11_image.webp", + "/media/dorothy_97da/images/12_image.webp", + "/media/dorothy_97da/images/13_image.webp", + "/media/dorothy_97da/images/14_image.webp", + "/media/dorothy_97da/images/15_image.webp", + "/media/dorothy_97da/images/16_image.webp", + "/media/dorothy_97da/images/17_image.webp", + "/media/dorothy_97da/images/18_image.webp", + "/media/dorothy_97da/images/19_image.webp", + "/media/dorothy_97da/images/20_image.webp", + "/media/dorothy_97da/images/21_image.webp", + "/media/dorothy_97da/images/22_image.webp", + "/media/dorothy_97da/images/23_image.webp", + "/media/dorothy_97da/images/24_image.webp", + "/media/dorothy_97da/images/25_image.webp", + "/media/dorothy_97da/images/26_image.webp", + "/media/dorothy_97da/images/27_image.webp", + "/media/dorothy_97da/images/28_image.webp", + "/media/dorothy_97da/images/29_image.webp", + "/media/dorothy_97da/images/30_image.webp", + "/media/dorothy_97da/images/31_image.webp", + "/media/dorothy_97da/images/32_image.webp", + "/media/dorothy_97da/images/33_image.webp", + "/media/dorothy_97da/images/34_image.webp", + "/media/dorothy_97da/images/35_image.webp", + "/media/dorothy_97da/images/36_image.webp", + "/media/dorothy_97da/images/37_image.webp", + "/media/dorothy_97da/images/38_image.webp", + "/media/dorothy_97da/images/39_image.webp", + "/media/dorothy_97da/images/40_image.webp", + "/media/dorothy_97da/images/41_image.webp", + "/media/dorothy_97da/images/42_image.webp", + "/media/dorothy_97da/images/43_image.webp", + "/media/dorothy_97da/images/44_image.webp", + "/media/dorothy_97da/images/45_image.webp", + "/media/dorothy_97da/images/46_image.webp", + "/media/dorothy_97da/images/47_image.webp", + "/media/dorothy_97da/images/48_image.webp", + "/media/dorothy_97da/images/49_image.webp", + "/media/dorothy_97da/images/50_image.webp", + "/media/dorothy_97da/images/51_image.webp" + ], + "created_at": "2026-01-28T02:07:47.660463-07:00", + "dir_name": "dorothy_97da" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dorothy_b9ee.json b/ideas/aeres/agents/dorothy_b9ee.json new file mode 100644 index 0000000..5f43ba8 --- /dev/null +++ b/ideas/aeres/agents/dorothy_b9ee.json @@ -0,0 +1,76 @@ +{ + "id": "dorothy_b9ee", + "name": "Dorothy Davis", + "handle": "dorothy", + "gender": "female", + "description": "red haired woman who works as a McDonalds manager", + "tags": [ + "career_fantasy", + "gastronomy", + "architectural design", + "strength training", + "public speaking", + "wine tasting", + "interior styling", + "classical jazz" + ], + "avatar_url": "/media/dorothy_b9ee/avatar.webp?t=1769613595", + "banner_url": "/media/dorothy_b9ee/banner.webp?t=1769613596", + "videos": [ + "/media/dorothy_b9ee/videos/01_smile_reveal.mp4?t=1769613784" + ], + "images": [ + "/media/dorothy_b9ee/images/01_mid_mid_neutral.webp", + "/media/dorothy_b9ee/images/02_image.webp", + "/media/dorothy_b9ee/images/03_image.webp", + "/media/dorothy_b9ee/images/04_image.webp", + "/media/dorothy_b9ee/images/05_image.webp", + "/media/dorothy_b9ee/images/06_image.webp", + "/media/dorothy_b9ee/images/07_image.webp", + "/media/dorothy_b9ee/images/08_image.webp", + "/media/dorothy_b9ee/images/09_image.webp", + "/media/dorothy_b9ee/images/11_image.webp", + "/media/dorothy_b9ee/images/12_image.webp", + "/media/dorothy_b9ee/images/13_image.webp", + "/media/dorothy_b9ee/images/14_image.webp", + "/media/dorothy_b9ee/images/15_image.webp", + "/media/dorothy_b9ee/images/16_image.webp", + "/media/dorothy_b9ee/images/17_image.webp", + "/media/dorothy_b9ee/images/18_image.webp", + "/media/dorothy_b9ee/images/19_image.webp", + "/media/dorothy_b9ee/images/20_image.webp", + "/media/dorothy_b9ee/images/21_image.webp", + "/media/dorothy_b9ee/images/22_image.webp", + "/media/dorothy_b9ee/images/23_image.webp", + "/media/dorothy_b9ee/images/24_image.webp", + "/media/dorothy_b9ee/images/25_image.webp", + "/media/dorothy_b9ee/images/26_image.webp", + "/media/dorothy_b9ee/images/27_image.webp", + "/media/dorothy_b9ee/images/28_image.webp", + "/media/dorothy_b9ee/images/29_image.webp", + "/media/dorothy_b9ee/images/30_image.webp", + "/media/dorothy_b9ee/images/31_image.webp", + "/media/dorothy_b9ee/images/32_image.webp", + "/media/dorothy_b9ee/images/33_image.webp", + "/media/dorothy_b9ee/images/34_image.webp", + "/media/dorothy_b9ee/images/35_image.webp", + "/media/dorothy_b9ee/images/36_image.webp", + "/media/dorothy_b9ee/images/37_image.webp", + "/media/dorothy_b9ee/images/38_image.webp", + "/media/dorothy_b9ee/images/39_image.webp", + "/media/dorothy_b9ee/images/40_image.webp", + "/media/dorothy_b9ee/images/41_image.webp", + "/media/dorothy_b9ee/images/42_image.webp", + "/media/dorothy_b9ee/images/43_image.webp", + "/media/dorothy_b9ee/images/44_image.webp", + "/media/dorothy_b9ee/images/45_image.webp", + "/media/dorothy_b9ee/images/46_image.webp", + "/media/dorothy_b9ee/images/47_image.webp", + "/media/dorothy_b9ee/images/48_image.webp", + "/media/dorothy_b9ee/images/49_image.webp", + "/media/dorothy_b9ee/images/50_image.webp", + "/media/dorothy_b9ee/images/51_image.webp" + ], + "created_at": "2026-01-28T08:18:43.985547-07:00", + "dir_name": "dorothy_b9ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/dorothy_c34f.json b/ideas/aeres/agents/dorothy_c34f.json new file mode 100644 index 0000000..e39809d --- /dev/null +++ b/ideas/aeres/agents/dorothy_c34f.json @@ -0,0 +1,77 @@ +{ + "id": "dorothy_c34f", + "name": "Dorothy Anderson", + "handle": "dorothy", + "gender": "female", + "description": "woman cosplaying as Lindsay from Total Drama Island", + "tags": [ + "bimbo_barbie", + "y2k fashion", + "skincare", + "small dogs", + "interior design", + "pilates", + "baking cupcakes", + "rom-coms" + ], + "avatar_url": "/media/dorothy_c34f/avatar.webp?t=1770122828", + "banner_url": "/media/dorothy_c34f/banner.webp?t=1770122828", + "videos": [ + "/media/dorothy_c34f/videos/01_smile_reveal.mp4?t=1770122864" + ], + "images": [ + "/media/dorothy_c34f/images/01_mid_mid_neutral.webp", + "/media/dorothy_c34f/images/02_image.webp", + "/media/dorothy_c34f/images/03_image.webp", + "/media/dorothy_c34f/images/04_image.webp", + "/media/dorothy_c34f/images/05_image.webp", + "/media/dorothy_c34f/images/06_image.webp", + "/media/dorothy_c34f/images/07_image.webp", + "/media/dorothy_c34f/images/08_image.webp", + "/media/dorothy_c34f/images/09_image.webp", + "/media/dorothy_c34f/images/10_image.webp", + "/media/dorothy_c34f/images/11_image.webp", + "/media/dorothy_c34f/images/12_image.webp", + "/media/dorothy_c34f/images/13_image.webp", + "/media/dorothy_c34f/images/14_image.webp", + "/media/dorothy_c34f/images/15_image.webp", + "/media/dorothy_c34f/images/16_image.webp", + "/media/dorothy_c34f/images/17_image.webp", + "/media/dorothy_c34f/images/18_image.webp", + "/media/dorothy_c34f/images/19_image.webp", + "/media/dorothy_c34f/images/20_image.webp", + "/media/dorothy_c34f/images/21_image.webp", + "/media/dorothy_c34f/images/22_image.webp", + "/media/dorothy_c34f/images/23_image.webp", + "/media/dorothy_c34f/images/24_image.webp", + "/media/dorothy_c34f/images/25_image.webp", + "/media/dorothy_c34f/images/26_image.webp", + "/media/dorothy_c34f/images/27_image.webp", + "/media/dorothy_c34f/images/28_image.webp", + "/media/dorothy_c34f/images/29_image.webp", + "/media/dorothy_c34f/images/30_image.webp", + "/media/dorothy_c34f/images/31_image.webp", + "/media/dorothy_c34f/images/32_image.webp", + "/media/dorothy_c34f/images/33_image.webp", + "/media/dorothy_c34f/images/34_image.webp", + "/media/dorothy_c34f/images/35_image.webp", + "/media/dorothy_c34f/images/36_image.webp", + "/media/dorothy_c34f/images/37_image.webp", + "/media/dorothy_c34f/images/38_image.webp", + "/media/dorothy_c34f/images/39_image.webp", + "/media/dorothy_c34f/images/40_image.webp", + "/media/dorothy_c34f/images/41_image.webp", + "/media/dorothy_c34f/images/42_image.webp", + "/media/dorothy_c34f/images/43_image.webp", + "/media/dorothy_c34f/images/44_image.webp", + "/media/dorothy_c34f/images/45_image.webp", + "/media/dorothy_c34f/images/46_image.webp", + "/media/dorothy_c34f/images/47_image.webp", + "/media/dorothy_c34f/images/48_image.webp", + "/media/dorothy_c34f/images/49_image.webp", + "/media/dorothy_c34f/images/50_image.webp", + "/media/dorothy_c34f/images/51_image.webp" + ], + "created_at": "2026-02-03T05:45:52.428402-07:00", + "dir_name": "dorothy_c34f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/earnest_1326.json b/ideas/aeres/agents/earnest_1326.json new file mode 100644 index 0000000..b09dbea --- /dev/null +++ b/ideas/aeres/agents/earnest_1326.json @@ -0,0 +1,77 @@ +{ + "id": "earnest_1326", + "name": "Earnest Visser", + "handle": "earnest", + "gender": "male", + "description": "male who looks like Triple H from WWE", + "tags": [ + "the dominant", + "bodybuilding", + "vintage horology", + "classical history", + "strategic gaming", + "scotch tasting", + "trap shooting", + "architectural design" + ], + "avatar_url": "/media/earnest_1326/avatar.webp?t=1769600906", + "banner_url": "/media/earnest_1326/banner.webp?t=1769600888", + "videos": [ + "/media/earnest_1326/videos/01_smile_reveal.mp4?t=1769600926" + ], + "images": [ + "/media/earnest_1326/images/01_mid_mid_neutral.webp", + "/media/earnest_1326/images/02_image.webp", + "/media/earnest_1326/images/03_image.webp", + "/media/earnest_1326/images/04_image.webp", + "/media/earnest_1326/images/05_image.webp", + "/media/earnest_1326/images/06_image.webp", + "/media/earnest_1326/images/07_image.webp", + "/media/earnest_1326/images/08_image.webp", + "/media/earnest_1326/images/09_image.webp", + "/media/earnest_1326/images/10_image.webp", + "/media/earnest_1326/images/11_image.webp", + "/media/earnest_1326/images/12_image.webp", + "/media/earnest_1326/images/13_image.webp", + "/media/earnest_1326/images/14_image.webp", + "/media/earnest_1326/images/15_image.webp", + "/media/earnest_1326/images/16_image.webp", + "/media/earnest_1326/images/17_image.webp", + "/media/earnest_1326/images/18_image.webp", + "/media/earnest_1326/images/19_image.webp", + "/media/earnest_1326/images/20_image.webp", + "/media/earnest_1326/images/21_image.webp", + "/media/earnest_1326/images/22_image.webp", + "/media/earnest_1326/images/23_image.webp", + "/media/earnest_1326/images/24_image.webp", + "/media/earnest_1326/images/25_image.webp", + "/media/earnest_1326/images/26_image.webp", + "/media/earnest_1326/images/27_image.webp", + "/media/earnest_1326/images/28_image.webp", + "/media/earnest_1326/images/29_image.webp", + "/media/earnest_1326/images/30_image.webp", + "/media/earnest_1326/images/31_image.webp", + "/media/earnest_1326/images/32_image.webp", + "/media/earnest_1326/images/33_image.webp", + "/media/earnest_1326/images/34_image.webp", + "/media/earnest_1326/images/35_image.webp", + "/media/earnest_1326/images/36_image.webp", + "/media/earnest_1326/images/37_image.webp", + "/media/earnest_1326/images/38_image.webp", + "/media/earnest_1326/images/39_image.webp", + "/media/earnest_1326/images/40_image.webp", + "/media/earnest_1326/images/41_image.webp", + "/media/earnest_1326/images/42_image.webp", + "/media/earnest_1326/images/43_image.webp", + "/media/earnest_1326/images/44_image.webp", + "/media/earnest_1326/images/45_image.webp", + "/media/earnest_1326/images/46_image.webp", + "/media/earnest_1326/images/47_image.webp", + "/media/earnest_1326/images/48_image.webp", + "/media/earnest_1326/images/49_image.webp", + "/media/earnest_1326/images/50_image.webp", + "/media/earnest_1326/images/51_image.webp" + ], + "created_at": "2026-01-28T04:46:50.469226-07:00", + "dir_name": "earnest_1326" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ebony_6edb.json b/ideas/aeres/agents/ebony_6edb.json new file mode 100644 index 0000000..b5e9c93 --- /dev/null +++ b/ideas/aeres/agents/ebony_6edb.json @@ -0,0 +1,76 @@ +{ + "id": "ebony_6edb", + "name": "Ebony Robinson", + "handle": "ebony", + "gender": "female", + "description": "woman who looks like Lara Croft", + "tags": [ + "explorer", + "archery", + "rock climbing", + "historical linguistics", + "off-roading", + "photography", + "bourbon tasting", + "brazilian jiu-jitsu" + ], + "avatar_url": "/media/ebony_6edb/avatar.webp?t=1769589035", + "banner_url": "/media/ebony_6edb/banner.webp?t=1769589040", + "videos": [ + "/media/ebony_6edb/videos/01_smile_reveal.mp4?t=1769589077" + ], + "images": [ + "/media/ebony_6edb/images/01_mid_mid_neutral.webp", + "/media/ebony_6edb/images/02_image.webp", + "/media/ebony_6edb/images/03_image.webp", + "/media/ebony_6edb/images/04_image.webp", + "/media/ebony_6edb/images/05_image.webp", + "/media/ebony_6edb/images/06_image.webp", + "/media/ebony_6edb/images/08_image.webp", + "/media/ebony_6edb/images/09_image.webp", + "/media/ebony_6edb/images/10_image.webp", + "/media/ebony_6edb/images/11_image.webp", + "/media/ebony_6edb/images/12_image.webp", + "/media/ebony_6edb/images/13_image.webp", + "/media/ebony_6edb/images/14_image.webp", + "/media/ebony_6edb/images/15_image.webp", + "/media/ebony_6edb/images/16_image.webp", + "/media/ebony_6edb/images/17_image.webp", + "/media/ebony_6edb/images/18_image.webp", + "/media/ebony_6edb/images/19_image.webp", + "/media/ebony_6edb/images/20_image.webp", + "/media/ebony_6edb/images/21_image.webp", + "/media/ebony_6edb/images/22_image.webp", + "/media/ebony_6edb/images/23_image.webp", + "/media/ebony_6edb/images/24_image.webp", + "/media/ebony_6edb/images/25_image.webp", + "/media/ebony_6edb/images/26_image.webp", + "/media/ebony_6edb/images/27_image.webp", + "/media/ebony_6edb/images/28_image.webp", + "/media/ebony_6edb/images/29_image.webp", + "/media/ebony_6edb/images/30_image.webp", + "/media/ebony_6edb/images/31_image.webp", + "/media/ebony_6edb/images/32_image.webp", + "/media/ebony_6edb/images/33_image.webp", + "/media/ebony_6edb/images/34_image.webp", + "/media/ebony_6edb/images/35_image.webp", + "/media/ebony_6edb/images/36_image.webp", + "/media/ebony_6edb/images/37_image.webp", + "/media/ebony_6edb/images/38_image.webp", + "/media/ebony_6edb/images/39_image.webp", + "/media/ebony_6edb/images/40_image.webp", + "/media/ebony_6edb/images/41_image.webp", + "/media/ebony_6edb/images/42_image.webp", + "/media/ebony_6edb/images/43_image.webp", + "/media/ebony_6edb/images/44_image.webp", + "/media/ebony_6edb/images/45_image.webp", + "/media/ebony_6edb/images/46_image.webp", + "/media/ebony_6edb/images/47_image.webp", + "/media/ebony_6edb/images/48_image.webp", + "/media/ebony_6edb/images/49_image.webp", + "/media/ebony_6edb/images/50_image.webp", + "/media/ebony_6edb/images/51_image.webp" + ], + "created_at": "2026-01-28T01:29:22.348834-07:00", + "dir_name": "ebony_6edb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ebony_ea00.json b/ideas/aeres/agents/ebony_ea00.json new file mode 100644 index 0000000..6340eeb --- /dev/null +++ b/ideas/aeres/agents/ebony_ea00.json @@ -0,0 +1,76 @@ +{ + "id": "ebony_ea00", + "name": "Ebony Robinson", + "handle": "ebony", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , short hair, freckles, green eyes, is a doctor, lives in italy, rome", + "tags": [ + "career_fantasy", + "classical roman history", + "medical ethics", + "fine wine", + "interior design", + "long-distance running", + "modern jazz", + "documentaries" + ], + "avatar_url": "/media/ebony_ea00/avatar.webp?t=1769166342", + "banner_url": "/media/ebony_ea00/banner.webp?t=1769166338", + "videos": [ + "/media/ebony_ea00/videos/01_smile_reveal.mp4?t=1769166388" + ], + "images": [ + "/media/ebony_ea00/images/01_mid_mid_neutral.webp", + "/media/ebony_ea00/images/02_image.webp", + "/media/ebony_ea00/images/03_image.webp", + "/media/ebony_ea00/images/04_image.webp", + "/media/ebony_ea00/images/05_image.webp", + "/media/ebony_ea00/images/06_image.webp", + "/media/ebony_ea00/images/07_image.webp", + "/media/ebony_ea00/images/08_image.webp", + "/media/ebony_ea00/images/09_image.webp", + "/media/ebony_ea00/images/10_image.webp", + "/media/ebony_ea00/images/11_image.webp", + "/media/ebony_ea00/images/12_image.webp", + "/media/ebony_ea00/images/13_image.webp", + "/media/ebony_ea00/images/14_image.webp", + "/media/ebony_ea00/images/15_image.webp", + "/media/ebony_ea00/images/16_image.webp", + "/media/ebony_ea00/images/17_image.webp", + "/media/ebony_ea00/images/18_image.webp", + "/media/ebony_ea00/images/19_image.webp", + "/media/ebony_ea00/images/20_image.webp", + "/media/ebony_ea00/images/21_image.webp", + "/media/ebony_ea00/images/22_image.webp", + "/media/ebony_ea00/images/23_image.webp", + "/media/ebony_ea00/images/24_image.webp", + "/media/ebony_ea00/images/25_image.webp", + "/media/ebony_ea00/images/26_image.webp", + "/media/ebony_ea00/images/27_image.webp", + "/media/ebony_ea00/images/28_image.webp", + "/media/ebony_ea00/images/29_image.webp", + "/media/ebony_ea00/images/30_image.webp", + "/media/ebony_ea00/images/31_image.webp", + "/media/ebony_ea00/images/32_image.webp", + "/media/ebony_ea00/images/33_image.webp", + "/media/ebony_ea00/images/34_image.webp", + "/media/ebony_ea00/images/35_image.webp", + "/media/ebony_ea00/images/36_image.webp", + "/media/ebony_ea00/images/37_image.webp", + "/media/ebony_ea00/images/38_image.webp", + "/media/ebony_ea00/images/39_image.webp", + "/media/ebony_ea00/images/40_image.webp", + "/media/ebony_ea00/images/41_image.webp", + "/media/ebony_ea00/images/42_image.webp", + "/media/ebony_ea00/images/43_image.webp", + "/media/ebony_ea00/images/44_image.webp", + "/media/ebony_ea00/images/45_image.webp", + "/media/ebony_ea00/images/46_image.webp", + "/media/ebony_ea00/images/47_image.webp", + "/media/ebony_ea00/images/49_image.webp", + "/media/ebony_ea00/images/50_image.webp", + "/media/ebony_ea00/images/51_image.webp" + ], + "created_at": "2026-01-23T04:04:37.45292-07:00", + "dir_name": "ebony_ea00" +} \ No newline at end of file diff --git a/ideas/aeres/agents/egizia_4558.json b/ideas/aeres/agents/egizia_4558.json new file mode 100644 index 0000000..c36806f --- /dev/null +++ b/ideas/aeres/agents/egizia_4558.json @@ -0,0 +1,72 @@ +{ + "id": "egizia_4558", + "name": "Egizia Fernandez", + "handle": "egizia", + "gender": "female", + "description": "next door blonde girl who likes barbie", + "tags": [ + "y2k_princess", + "vintage barbie collecting", + "interior styling", + "luxury travel", + "classical ballet", + "flower arranging", + "tennis", + "podcast listening" + ], + "avatar_url": "/media/egizia_4558/avatar.webp?t=1769432272", + "banner_url": "/media/egizia_4558/banner.webp?t=1769432273", + "videos": [ + "/media/egizia_4558/videos/01_smile_reveal.mp4?t=1769432324" + ], + "images": [ + "/media/egizia_4558/images/01_mid_mid_neutral.webp", + "/media/egizia_4558/images/02_image.webp", + "/media/egizia_4558/images/03_image.webp", + "/media/egizia_4558/images/04_image.webp", + "/media/egizia_4558/images/05_image.webp", + "/media/egizia_4558/images/06_image.webp", + "/media/egizia_4558/images/07_image.webp", + "/media/egizia_4558/images/08_image.webp", + "/media/egizia_4558/images/09_image.webp", + "/media/egizia_4558/images/10_image.webp", + "/media/egizia_4558/images/11_image.webp", + "/media/egizia_4558/images/12_image.webp", + "/media/egizia_4558/images/14_image.webp", + "/media/egizia_4558/images/15_image.webp", + "/media/egizia_4558/images/16_image.webp", + "/media/egizia_4558/images/17_image.webp", + "/media/egizia_4558/images/18_image.webp", + "/media/egizia_4558/images/19_image.webp", + "/media/egizia_4558/images/21_image.webp", + "/media/egizia_4558/images/22_image.webp", + "/media/egizia_4558/images/23_image.webp", + "/media/egizia_4558/images/24_image.webp", + "/media/egizia_4558/images/25_image.webp", + "/media/egizia_4558/images/26_image.webp", + "/media/egizia_4558/images/27_image.webp", + "/media/egizia_4558/images/28_image.webp", + "/media/egizia_4558/images/29_image.webp", + "/media/egizia_4558/images/30_image.webp", + "/media/egizia_4558/images/32_image.webp", + "/media/egizia_4558/images/33_image.webp", + "/media/egizia_4558/images/34_image.webp", + "/media/egizia_4558/images/35_image.webp", + "/media/egizia_4558/images/36_image.webp", + "/media/egizia_4558/images/37_image.webp", + "/media/egizia_4558/images/38_image.webp", + "/media/egizia_4558/images/39_image.webp", + "/media/egizia_4558/images/40_image.webp", + "/media/egizia_4558/images/41_image.webp", + "/media/egizia_4558/images/42_image.webp", + "/media/egizia_4558/images/43_image.webp", + "/media/egizia_4558/images/44_image.webp", + "/media/egizia_4558/images/45_image.webp", + "/media/egizia_4558/images/47_image.webp", + "/media/egizia_4558/images/48_image.webp", + "/media/egizia_4558/images/49_image.webp", + "/media/egizia_4558/images/50_image.webp" + ], + "created_at": "2026-01-26T05:56:30.306273-07:00", + "dir_name": "egizia_4558" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eilidh_6b6c.json b/ideas/aeres/agents/eilidh_6b6c.json new file mode 100644 index 0000000..4c1e076 --- /dev/null +++ b/ideas/aeres/agents/eilidh_6b6c.json @@ -0,0 +1,77 @@ +{ + "id": "eilidh_6b6c", + "name": "Eilidh Fraser", + "handle": "eilidh", + "gender": "female", + "description": "petite, Scottish heritage, early 30's female, hair to her thigh, seamstress, outlander story enthusiast, knitting, shawl, costume dress", + "tags": [ + "cottagecore", + "spinning wool", + "natural plant-based dyeing", + "highland folklore", + "ethical farming", + "bread baking", + "herb gardening", + "classical cello" + ], + "avatar_url": "/media/eilidh_6b6c/avatar.webp?t=1769674651", + "banner_url": "/media/eilidh_6b6c/banner.webp?t=1769674650", + "videos": [ + "/media/eilidh_6b6c/videos/01_smile_reveal.mp4?t=1769674673" + ], + "images": [ + "/media/eilidh_6b6c/images/01_mid_mid_neutral.webp", + "/media/eilidh_6b6c/images/02_image.webp", + "/media/eilidh_6b6c/images/03_image.webp", + "/media/eilidh_6b6c/images/04_image.webp", + "/media/eilidh_6b6c/images/05_image.webp", + "/media/eilidh_6b6c/images/06_image.webp", + "/media/eilidh_6b6c/images/07_image.webp", + "/media/eilidh_6b6c/images/08_image.webp", + "/media/eilidh_6b6c/images/09_image.webp", + "/media/eilidh_6b6c/images/10_image.webp", + "/media/eilidh_6b6c/images/11_image.webp", + "/media/eilidh_6b6c/images/12_image.webp", + "/media/eilidh_6b6c/images/13_image.webp", + "/media/eilidh_6b6c/images/14_image.webp", + "/media/eilidh_6b6c/images/15_image.webp", + "/media/eilidh_6b6c/images/16_image.webp", + "/media/eilidh_6b6c/images/17_image.webp", + "/media/eilidh_6b6c/images/18_image.webp", + "/media/eilidh_6b6c/images/19_image.webp", + "/media/eilidh_6b6c/images/20_image.webp", + "/media/eilidh_6b6c/images/21_image.webp", + "/media/eilidh_6b6c/images/22_image.webp", + "/media/eilidh_6b6c/images/23_image.webp", + "/media/eilidh_6b6c/images/24_image.webp", + "/media/eilidh_6b6c/images/25_image.webp", + "/media/eilidh_6b6c/images/26_image.webp", + "/media/eilidh_6b6c/images/27_image.webp", + "/media/eilidh_6b6c/images/28_image.webp", + "/media/eilidh_6b6c/images/29_image.webp", + "/media/eilidh_6b6c/images/30_image.webp", + "/media/eilidh_6b6c/images/31_image.webp", + "/media/eilidh_6b6c/images/32_image.webp", + "/media/eilidh_6b6c/images/33_image.webp", + "/media/eilidh_6b6c/images/34_image.webp", + "/media/eilidh_6b6c/images/34_image.webp", + "/media/eilidh_6b6c/images/35_image.webp", + "/media/eilidh_6b6c/images/35_image.webp", + "/media/eilidh_6b6c/images/36_image.webp", + "/media/eilidh_6b6c/images/36_image.webp", + "/media/eilidh_6b6c/images/37_image.webp", + "/media/eilidh_6b6c/images/37_image.webp", + "/media/eilidh_6b6c/images/38_image.webp", + "/media/eilidh_6b6c/images/38_image.webp", + "/media/eilidh_6b6c/images/39_image.webp", + "/media/eilidh_6b6c/images/39_image.webp", + "/media/eilidh_6b6c/images/40_image.webp", + "/media/eilidh_6b6c/images/41_image.webp", + "/media/eilidh_6b6c/images/40_image.webp", + "/media/eilidh_6b6c/images/42_image.webp", + "/media/eilidh_6b6c/images/41_image.webp", + "/media/eilidh_6b6c/images/43_image.webp" + ], + "created_at": "2026-01-29T01:16:12.118408-07:00", + "dir_name": "eilidh_6b6c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ekaterina_268b.json b/ideas/aeres/agents/ekaterina_268b.json new file mode 100644 index 0000000..cb2c9cb --- /dev/null +++ b/ideas/aeres/agents/ekaterina_268b.json @@ -0,0 +1,76 @@ +{ + "id": "ekaterina_268b", + "name": "Ekaterina Novikov", + "handle": "ekaterina", + "gender": "female", + "description": "russian woman who cosplays as Catwoman", + "tags": [ + "cosplayer", + "rhythmic gymnastics", + "leathercrafting", + "vintage comic collecting", + "photography", + "interior design", + "mixology", + "hiking" + ], + "avatar_url": "/media/ekaterina_268b/avatar.webp?t=1770016681", + "banner_url": "/media/ekaterina_268b/banner.webp?t=1770016671", + "videos": [ + "/media/ekaterina_268b/videos/01_smile_reveal.mp4?t=1770016693" + ], + "images": [ + "/media/ekaterina_268b/images/01_mid_mid_neutral.webp", + "/media/ekaterina_268b/images/02_image.webp", + "/media/ekaterina_268b/images/03_image.webp", + "/media/ekaterina_268b/images/04_image.webp", + "/media/ekaterina_268b/images/05_image.webp", + "/media/ekaterina_268b/images/06_image.webp", + "/media/ekaterina_268b/images/07_image.webp", + "/media/ekaterina_268b/images/08_image.webp", + "/media/ekaterina_268b/images/09_image.webp", + "/media/ekaterina_268b/images/10_image.webp", + "/media/ekaterina_268b/images/11_image.webp", + "/media/ekaterina_268b/images/12_image.webp", + "/media/ekaterina_268b/images/13_image.webp", + "/media/ekaterina_268b/images/14_image.webp", + "/media/ekaterina_268b/images/15_image.webp", + "/media/ekaterina_268b/images/16_image.webp", + "/media/ekaterina_268b/images/17_image.webp", + "/media/ekaterina_268b/images/18_image.webp", + "/media/ekaterina_268b/images/19_image.webp", + "/media/ekaterina_268b/images/20_image.webp", + "/media/ekaterina_268b/images/21_image.webp", + "/media/ekaterina_268b/images/22_image.webp", + "/media/ekaterina_268b/images/23_image.webp", + "/media/ekaterina_268b/images/24_image.webp", + "/media/ekaterina_268b/images/25_image.webp", + "/media/ekaterina_268b/images/26_image.webp", + "/media/ekaterina_268b/images/27_image.webp", + "/media/ekaterina_268b/images/28_image.webp", + "/media/ekaterina_268b/images/29_image.webp", + "/media/ekaterina_268b/images/30_image.webp", + "/media/ekaterina_268b/images/31_image.webp", + "/media/ekaterina_268b/images/32_image.webp", + "/media/ekaterina_268b/images/33_image.webp", + "/media/ekaterina_268b/images/34_image.webp", + "/media/ekaterina_268b/images/35_image.webp", + "/media/ekaterina_268b/images/36_image.webp", + "/media/ekaterina_268b/images/37_image.webp", + "/media/ekaterina_268b/images/38_image.webp", + "/media/ekaterina_268b/images/39_image.webp", + "/media/ekaterina_268b/images/40_image.webp", + "/media/ekaterina_268b/images/41_image.webp", + "/media/ekaterina_268b/images/42_image.webp", + "/media/ekaterina_268b/images/43_image.webp", + "/media/ekaterina_268b/images/44_image.webp", + "/media/ekaterina_268b/images/45_image.webp", + "/media/ekaterina_268b/images/46_image.webp", + "/media/ekaterina_268b/images/47_image.webp", + "/media/ekaterina_268b/images/48_image.webp", + "/media/ekaterina_268b/images/50_image.webp", + "/media/ekaterina_268b/images/51_image.webp" + ], + "created_at": "2026-02-02T00:16:13.522952-07:00", + "dir_name": "ekaterina_268b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ekaterina_71fe.json b/ideas/aeres/agents/ekaterina_71fe.json new file mode 100644 index 0000000..edc5d36 --- /dev/null +++ b/ideas/aeres/agents/ekaterina_71fe.json @@ -0,0 +1,77 @@ +{ + "id": "ekaterina_71fe", + "name": "Ekaterina Volkova", + "handle": "ekaterina", + "gender": "female", + "description": "woman from Russia who cosplays as Iron Man", + "tags": [ + "mecha_pilot", + "mecha design", + "3d printing", + "robotics", + "cyberpunk literature", + "weightlifting", + "electronic music", + "retro gaming" + ], + "avatar_url": "/media/ekaterina_71fe/avatar.webp?t=1769597466", + "banner_url": "/media/ekaterina_71fe/banner.webp?t=1769597465", + "videos": [ + "/media/ekaterina_71fe/videos/01_smile_reveal.mp4?t=1769597527" + ], + "images": [ + "/media/ekaterina_71fe/images/01_mid_mid_neutral.webp", + "/media/ekaterina_71fe/images/02_image.webp", + "/media/ekaterina_71fe/images/03_image.webp", + "/media/ekaterina_71fe/images/04_image.webp", + "/media/ekaterina_71fe/images/05_image.webp", + "/media/ekaterina_71fe/images/06_image.webp", + "/media/ekaterina_71fe/images/07_image.webp", + "/media/ekaterina_71fe/images/08_image.webp", + "/media/ekaterina_71fe/images/09_image.webp", + "/media/ekaterina_71fe/images/10_image.webp", + "/media/ekaterina_71fe/images/11_image.webp", + "/media/ekaterina_71fe/images/12_image.webp", + "/media/ekaterina_71fe/images/13_image.webp", + "/media/ekaterina_71fe/images/14_image.webp", + "/media/ekaterina_71fe/images/15_image.webp", + "/media/ekaterina_71fe/images/16_image.webp", + "/media/ekaterina_71fe/images/17_image.webp", + "/media/ekaterina_71fe/images/18_image.webp", + "/media/ekaterina_71fe/images/19_image.webp", + "/media/ekaterina_71fe/images/20_image.webp", + "/media/ekaterina_71fe/images/21_image.webp", + "/media/ekaterina_71fe/images/22_image.webp", + "/media/ekaterina_71fe/images/23_image.webp", + "/media/ekaterina_71fe/images/24_image.webp", + "/media/ekaterina_71fe/images/25_image.webp", + "/media/ekaterina_71fe/images/26_image.webp", + "/media/ekaterina_71fe/images/27_image.webp", + "/media/ekaterina_71fe/images/28_image.webp", + "/media/ekaterina_71fe/images/29_image.webp", + "/media/ekaterina_71fe/images/30_image.webp", + "/media/ekaterina_71fe/images/31_image.webp", + "/media/ekaterina_71fe/images/32_image.webp", + "/media/ekaterina_71fe/images/33_image.webp", + "/media/ekaterina_71fe/images/34_image.webp", + "/media/ekaterina_71fe/images/35_image.webp", + "/media/ekaterina_71fe/images/36_image.webp", + "/media/ekaterina_71fe/images/37_image.webp", + "/media/ekaterina_71fe/images/38_image.webp", + "/media/ekaterina_71fe/images/39_image.webp", + "/media/ekaterina_71fe/images/40_image.webp", + "/media/ekaterina_71fe/images/41_image.webp", + "/media/ekaterina_71fe/images/42_image.webp", + "/media/ekaterina_71fe/images/43_image.webp", + "/media/ekaterina_71fe/images/44_image.webp", + "/media/ekaterina_71fe/images/45_image.webp", + "/media/ekaterina_71fe/images/46_image.webp", + "/media/ekaterina_71fe/images/47_image.webp", + "/media/ekaterina_71fe/images/48_image.webp", + "/media/ekaterina_71fe/images/49_image.webp", + "/media/ekaterina_71fe/images/50_image.webp", + "/media/ekaterina_71fe/images/51_image.webp" + ], + "created_at": "2026-01-28T03:49:47.069705-07:00", + "dir_name": "ekaterina_71fe" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elaine_505a.json b/ideas/aeres/agents/elaine_505a.json new file mode 100644 index 0000000..c2782c7 --- /dev/null +++ b/ideas/aeres/agents/elaine_505a.json @@ -0,0 +1,77 @@ +{ + "id": "elaine_505a", + "name": "Elaine Johnson", + "handle": "elaine", + "gender": "female", + "description": "woman who dresses like in 1960s", + "tags": [ + "vintage_retro", + "vinyl record collecting", + "mid-century modern architecture", + "museum curation", + "jazz history", + "desert gardening", + "baking", + "classic cinema" + ], + "avatar_url": "/media/elaine_505a/avatar.webp?t=1770125323", + "banner_url": "/media/elaine_505a/banner.webp?t=1770125316", + "videos": [ + "/media/elaine_505a/videos/01_smile_reveal.mp4?t=1770125362" + ], + "images": [ + "/media/elaine_505a/images/01_mid_mid_neutral.webp", + "/media/elaine_505a/images/02_image.webp", + "/media/elaine_505a/images/03_image.webp", + "/media/elaine_505a/images/04_image.webp", + "/media/elaine_505a/images/05_image.webp", + "/media/elaine_505a/images/06_image.webp", + "/media/elaine_505a/images/07_image.webp", + "/media/elaine_505a/images/08_image.webp", + "/media/elaine_505a/images/09_image.webp", + "/media/elaine_505a/images/10_image.webp", + "/media/elaine_505a/images/11_image.webp", + "/media/elaine_505a/images/12_image.webp", + "/media/elaine_505a/images/13_image.webp", + "/media/elaine_505a/images/14_image.webp", + "/media/elaine_505a/images/15_image.webp", + "/media/elaine_505a/images/16_image.webp", + "/media/elaine_505a/images/17_image.webp", + "/media/elaine_505a/images/18_image.webp", + "/media/elaine_505a/images/19_image.webp", + "/media/elaine_505a/images/20_image.webp", + "/media/elaine_505a/images/21_image.webp", + "/media/elaine_505a/images/22_image.webp", + "/media/elaine_505a/images/23_image.webp", + "/media/elaine_505a/images/24_image.webp", + "/media/elaine_505a/images/25_image.webp", + "/media/elaine_505a/images/26_image.webp", + "/media/elaine_505a/images/27_image.webp", + "/media/elaine_505a/images/28_image.webp", + "/media/elaine_505a/images/29_image.webp", + "/media/elaine_505a/images/30_image.webp", + "/media/elaine_505a/images/31_image.webp", + "/media/elaine_505a/images/32_image.webp", + "/media/elaine_505a/images/33_image.webp", + "/media/elaine_505a/images/34_image.webp", + "/media/elaine_505a/images/35_image.webp", + "/media/elaine_505a/images/36_image.webp", + "/media/elaine_505a/images/37_image.webp", + "/media/elaine_505a/images/38_image.webp", + "/media/elaine_505a/images/39_image.webp", + "/media/elaine_505a/images/40_image.webp", + "/media/elaine_505a/images/41_image.webp", + "/media/elaine_505a/images/42_image.webp", + "/media/elaine_505a/images/43_image.webp", + "/media/elaine_505a/images/44_image.webp", + "/media/elaine_505a/images/45_image.webp", + "/media/elaine_505a/images/46_image.webp", + "/media/elaine_505a/images/47_image.webp", + "/media/elaine_505a/images/48_image.webp", + "/media/elaine_505a/images/49_image.webp", + "/media/elaine_505a/images/50_image.webp", + "/media/elaine_505a/images/51_image.webp" + ], + "created_at": "2026-02-03T06:27:31.832398-07:00", + "dir_name": "elaine_505a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eleanor_9511.json b/ideas/aeres/agents/eleanor_9511.json new file mode 100644 index 0000000..82bbac1 --- /dev/null +++ b/ideas/aeres/agents/eleanor_9511.json @@ -0,0 +1,77 @@ +{ + "id": "eleanor_9511", + "name": "Eleanor Miller", + "handle": "eleanor", + "gender": "female", + "description": "Ashe from League of Legends", + "tags": [ + "cosplayer", + "competitive archery", + "fantasy literature", + "leatherworking", + "pc gaming", + "interior design", + "hiking", + "mixology" + ], + "avatar_url": "/media/eleanor_9511/avatar.webp?t=1769600141", + "banner_url": "/media/eleanor_9511/banner.webp?t=1769600144", + "videos": [ + "/media/eleanor_9511/videos/01_smile_reveal.mp4?t=1769600179" + ], + "images": [ + "/media/eleanor_9511/images/01_mid_mid_neutral.webp", + "/media/eleanor_9511/images/02_image.webp", + "/media/eleanor_9511/images/03_image.webp", + "/media/eleanor_9511/images/04_image.webp", + "/media/eleanor_9511/images/05_image.webp", + "/media/eleanor_9511/images/06_image.webp", + "/media/eleanor_9511/images/07_image.webp", + "/media/eleanor_9511/images/08_image.webp", + "/media/eleanor_9511/images/09_image.webp", + "/media/eleanor_9511/images/10_image.webp", + "/media/eleanor_9511/images/11_image.webp", + "/media/eleanor_9511/images/12_image.webp", + "/media/eleanor_9511/images/13_image.webp", + "/media/eleanor_9511/images/14_image.webp", + "/media/eleanor_9511/images/15_image.webp", + "/media/eleanor_9511/images/16_image.webp", + "/media/eleanor_9511/images/17_image.webp", + "/media/eleanor_9511/images/18_image.webp", + "/media/eleanor_9511/images/19_image.webp", + "/media/eleanor_9511/images/20_image.webp", + "/media/eleanor_9511/images/21_image.webp", + "/media/eleanor_9511/images/22_image.webp", + "/media/eleanor_9511/images/23_image.webp", + "/media/eleanor_9511/images/24_image.webp", + "/media/eleanor_9511/images/25_image.webp", + "/media/eleanor_9511/images/26_image.webp", + "/media/eleanor_9511/images/27_image.webp", + "/media/eleanor_9511/images/28_image.webp", + "/media/eleanor_9511/images/29_image.webp", + "/media/eleanor_9511/images/30_image.webp", + "/media/eleanor_9511/images/31_image.webp", + "/media/eleanor_9511/images/32_image.webp", + "/media/eleanor_9511/images/32_image.webp", + "/media/eleanor_9511/images/33_image.webp", + "/media/eleanor_9511/images/33_image.webp", + "/media/eleanor_9511/images/34_image.webp", + "/media/eleanor_9511/images/34_image.webp", + "/media/eleanor_9511/images/35_image.webp", + "/media/eleanor_9511/images/35_image.webp", + "/media/eleanor_9511/images/36_image.webp", + "/media/eleanor_9511/images/36_image.webp", + "/media/eleanor_9511/images/37_image.webp", + "/media/eleanor_9511/images/37_image.webp", + "/media/eleanor_9511/images/38_image.webp", + "/media/eleanor_9511/images/39_image.webp", + "/media/eleanor_9511/images/38_image.webp", + "/media/eleanor_9511/images/40_image.webp", + "/media/eleanor_9511/images/39_image.webp", + "/media/eleanor_9511/images/40_image.webp", + "/media/eleanor_9511/images/41_image.webp", + "/media/eleanor_9511/images/41_image.webp" + ], + "created_at": "2026-01-28T04:34:29.830328-07:00", + "dir_name": "eleanor_9511" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_017e.json b/ideas/aeres/agents/elena_017e.json new file mode 100644 index 0000000..a1a52b8 --- /dev/null +++ b/ideas/aeres/agents/elena_017e.json @@ -0,0 +1,77 @@ +{ + "id": "elena_017e", + "name": "Elena Rossi", + "handle": "elena", + "gender": "female", + "description": "portuguese woman who is a Cristiano Ronaldo and Real Madrid fan", + "tags": [ + "influencer_lifestyle", + "football", + "content creation", + "italian fashion", + "fitness", + "cooking", + "interior design", + "tennis" + ], + "avatar_url": "/media/elena_017e/avatar.webp?t=1769772568", + "banner_url": "/media/elena_017e/banner.webp?t=1769772573", + "videos": [ + "/media/elena_017e/videos/01_smile_reveal.mp4?t=1769772605" + ], + "images": [ + "/media/elena_017e/images/01_mid_mid_neutral.webp", + "/media/elena_017e/images/02_image.webp", + "/media/elena_017e/images/03_image.webp", + "/media/elena_017e/images/04_image.webp", + "/media/elena_017e/images/05_image.webp", + "/media/elena_017e/images/06_image.webp", + "/media/elena_017e/images/07_image.webp", + "/media/elena_017e/images/08_image.webp", + "/media/elena_017e/images/09_image.webp", + "/media/elena_017e/images/10_image.webp", + "/media/elena_017e/images/11_image.webp", + "/media/elena_017e/images/12_image.webp", + "/media/elena_017e/images/13_image.webp", + "/media/elena_017e/images/14_image.webp", + "/media/elena_017e/images/15_image.webp", + "/media/elena_017e/images/16_image.webp", + "/media/elena_017e/images/17_image.webp", + "/media/elena_017e/images/18_image.webp", + "/media/elena_017e/images/19_image.webp", + "/media/elena_017e/images/20_image.webp", + "/media/elena_017e/images/21_image.webp", + "/media/elena_017e/images/22_image.webp", + "/media/elena_017e/images/23_image.webp", + "/media/elena_017e/images/24_image.webp", + "/media/elena_017e/images/25_image.webp", + "/media/elena_017e/images/26_image.webp", + "/media/elena_017e/images/27_image.webp", + "/media/elena_017e/images/28_image.webp", + "/media/elena_017e/images/29_image.webp", + "/media/elena_017e/images/30_image.webp", + "/media/elena_017e/images/31_image.webp", + "/media/elena_017e/images/32_image.webp", + "/media/elena_017e/images/33_image.webp", + "/media/elena_017e/images/34_image.webp", + "/media/elena_017e/images/35_image.webp", + "/media/elena_017e/images/36_image.webp", + "/media/elena_017e/images/37_image.webp", + "/media/elena_017e/images/38_image.webp", + "/media/elena_017e/images/39_image.webp", + "/media/elena_017e/images/40_image.webp", + "/media/elena_017e/images/41_image.webp", + "/media/elena_017e/images/42_image.webp", + "/media/elena_017e/images/43_image.webp", + "/media/elena_017e/images/44_image.webp", + "/media/elena_017e/images/45_image.webp", + "/media/elena_017e/images/46_image.webp", + "/media/elena_017e/images/47_image.webp", + "/media/elena_017e/images/48_image.webp", + "/media/elena_017e/images/49_image.webp", + "/media/elena_017e/images/50_image.webp", + "/media/elena_017e/images/51_image.webp" + ], + "created_at": "2026-01-30T04:28:25.213824-07:00", + "dir_name": "elena_017e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_19b7.json b/ideas/aeres/agents/elena_19b7.json new file mode 100644 index 0000000..658fb0f --- /dev/null +++ b/ideas/aeres/agents/elena_19b7.json @@ -0,0 +1,74 @@ +{ + "id": "elena_19b7", + "name": "Elena Vassilikos", + "handle": "elena", + "gender": "female", + "description": "female from Greece who cosplays as Lara Croft", + "tags": [ + "explorer", + "archaeology", + "rock climbing", + "scuba diving", + "ancient languages", + "cooking mediterranean cuisine", + "spearfishing", + "archery" + ], + "avatar_url": "/media/elena_19b7/avatar.webp?t=1770020015", + "banner_url": "/media/elena_19b7/banner.webp?t=1770020034", + "videos": [ + "/media/elena_19b7/videos/01_smile_reveal.mp4?t=1770020033" + ], + "images": [ + "/media/elena_19b7/images/01_mid_mid_neutral.webp", + "/media/elena_19b7/images/02_image.webp", + "/media/elena_19b7/images/03_image.webp", + "/media/elena_19b7/images/04_image.webp", + "/media/elena_19b7/images/05_image.webp", + "/media/elena_19b7/images/06_image.webp", + "/media/elena_19b7/images/07_image.webp", + "/media/elena_19b7/images/08_image.webp", + "/media/elena_19b7/images/09_image.webp", + "/media/elena_19b7/images/11_image.webp", + "/media/elena_19b7/images/12_image.webp", + "/media/elena_19b7/images/13_image.webp", + "/media/elena_19b7/images/15_image.webp", + "/media/elena_19b7/images/16_image.webp", + "/media/elena_19b7/images/17_image.webp", + "/media/elena_19b7/images/18_image.webp", + "/media/elena_19b7/images/19_image.webp", + "/media/elena_19b7/images/20_image.webp", + "/media/elena_19b7/images/21_image.webp", + "/media/elena_19b7/images/22_image.webp", + "/media/elena_19b7/images/23_image.webp", + "/media/elena_19b7/images/24_image.webp", + "/media/elena_19b7/images/25_image.webp", + "/media/elena_19b7/images/26_image.webp", + "/media/elena_19b7/images/27_image.webp", + "/media/elena_19b7/images/28_image.webp", + "/media/elena_19b7/images/30_image.webp", + "/media/elena_19b7/images/31_image.webp", + "/media/elena_19b7/images/32_image.webp", + "/media/elena_19b7/images/33_image.webp", + "/media/elena_19b7/images/36_image.webp", + "/media/elena_19b7/images/38_image.webp", + "/media/elena_19b7/images/39_image.webp", + "/media/elena_19b7/images/41_image.webp", + "/media/elena_19b7/images/42_image.webp", + "/media/elena_19b7/images/43_image.webp", + "/media/elena_19b7/images/45_image.webp", + "/media/elena_19b7/images/46_image.webp", + "/media/elena_19b7/images/47_image.webp", + "/media/elena_19b7/images/47_image.webp", + "/media/elena_19b7/images/48_image.webp", + "/media/elena_19b7/images/48_image.webp", + "/media/elena_19b7/images/49_image.webp", + "/media/elena_19b7/images/50_image.webp", + "/media/elena_19b7/images/51_image.webp", + "/media/elena_19b7/images/53_image.webp", + "/media/elena_19b7/images/54_image.webp", + "/media/elena_19b7/images/55_image.webp" + ], + "created_at": "2026-02-02T01:11:35.686417-07:00", + "dir_name": "elena_19b7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_1cae.json b/ideas/aeres/agents/elena_1cae.json new file mode 100644 index 0000000..56dc4fa --- /dev/null +++ b/ideas/aeres/agents/elena_1cae.json @@ -0,0 +1,73 @@ +{ + "id": "elena_1cae", + "name": "Elena Vasilev", + "handle": "elena", + "gender": "female", + "description": "female from Serbia with dark hair who works as a teacher", + "tags": [ + "the librarian", + "rare book collecting", + "calligraphy", + "historical linguistics", + "classical piano", + "baking", + "botanical illustration", + "hiking" + ], + "avatar_url": "/media/elena_1cae/avatar.webp?t=1770023844", + "banner_url": "/media/elena_1cae/banner.webp?t=1770023852", + "videos": [ + "/media/elena_1cae/videos/01_smile_reveal.mp4?t=1770023816" + ], + "images": [ + "/media/elena_1cae/images/01_mid_mid_neutral.webp", + "/media/elena_1cae/images/02_image.webp", + "/media/elena_1cae/images/03_image.webp", + "/media/elena_1cae/images/04_image.webp", + "/media/elena_1cae/images/05_image.webp", + "/media/elena_1cae/images/06_image.webp", + "/media/elena_1cae/images/07_image.webp", + "/media/elena_1cae/images/08_image.webp", + "/media/elena_1cae/images/09_image.webp", + "/media/elena_1cae/images/10_image.webp", + "/media/elena_1cae/images/11_image.webp", + "/media/elena_1cae/images/12_image.webp", + "/media/elena_1cae/images/13_image.webp", + "/media/elena_1cae/images/15_image.webp", + "/media/elena_1cae/images/17_image.webp", + "/media/elena_1cae/images/18_image.webp", + "/media/elena_1cae/images/19_image.webp", + "/media/elena_1cae/images/20_image.webp", + "/media/elena_1cae/images/21_image.webp", + "/media/elena_1cae/images/22_image.webp", + "/media/elena_1cae/images/23_image.webp", + "/media/elena_1cae/images/24_image.webp", + "/media/elena_1cae/images/25_image.webp", + "/media/elena_1cae/images/26_image.webp", + "/media/elena_1cae/images/27_image.webp", + "/media/elena_1cae/images/28_image.webp", + "/media/elena_1cae/images/29_image.webp", + "/media/elena_1cae/images/30_image.webp", + "/media/elena_1cae/images/31_image.webp", + "/media/elena_1cae/images/32_image.webp", + "/media/elena_1cae/images/33_image.webp", + "/media/elena_1cae/images/35_image.webp", + "/media/elena_1cae/images/36_image.webp", + "/media/elena_1cae/images/37_image.webp", + "/media/elena_1cae/images/38_image.webp", + "/media/elena_1cae/images/39_image.webp", + "/media/elena_1cae/images/40_image.webp", + "/media/elena_1cae/images/41_image.webp", + "/media/elena_1cae/images/42_image.webp", + "/media/elena_1cae/images/43_image.webp", + "/media/elena_1cae/images/44_image.webp", + "/media/elena_1cae/images/45_image.webp", + "/media/elena_1cae/images/46_image.webp", + "/media/elena_1cae/images/47_image.webp", + "/media/elena_1cae/images/48_image.webp", + "/media/elena_1cae/images/49_image.webp", + "/media/elena_1cae/images/50_image.webp" + ], + "created_at": "2026-02-02T02:13:54.878601-07:00", + "dir_name": "elena_1cae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_2150.json b/ideas/aeres/agents/elena_2150.json new file mode 100644 index 0000000..b4a9ea2 --- /dev/null +++ b/ideas/aeres/agents/elena_2150.json @@ -0,0 +1,75 @@ +{ + "id": "elena_2150", + "name": "Elena Varela-Reyes", + "handle": "elena", + "gender": "female", + "description": "spanish woman who likes harry potter", + "tags": [ + "dark_academia", + "rare book restoration", + "fountain pens", + "classical mythology", + "early 20th-century cinema", + "botanical illustration", + "chess", + "interior design" + ], + "avatar_url": "/media/elena_2150/avatar.webp?t=1769503998", + "banner_url": "/media/elena_2150/banner.webp?t=1769504021", + "videos": [ + "/media/elena_2150/videos/01_smile_reveal.mp4?t=1769504040" + ], + "images": [ + "/media/elena_2150/images/01_mid_mid_neutral.webp", + "/media/elena_2150/images/03_image.webp", + "/media/elena_2150/images/04_image.webp", + "/media/elena_2150/images/05_image.webp", + "/media/elena_2150/images/06_image.webp", + "/media/elena_2150/images/07_image.webp", + "/media/elena_2150/images/08_image.webp", + "/media/elena_2150/images/09_image.webp", + "/media/elena_2150/images/10_image.webp", + "/media/elena_2150/images/11_image.webp", + "/media/elena_2150/images/12_image.webp", + "/media/elena_2150/images/13_image.webp", + "/media/elena_2150/images/14_image.webp", + "/media/elena_2150/images/15_image.webp", + "/media/elena_2150/images/16_image.webp", + "/media/elena_2150/images/17_image.webp", + "/media/elena_2150/images/18_image.webp", + "/media/elena_2150/images/19_image.webp", + "/media/elena_2150/images/20_image.webp", + "/media/elena_2150/images/21_image.webp", + "/media/elena_2150/images/22_image.webp", + "/media/elena_2150/images/23_image.webp", + "/media/elena_2150/images/24_image.webp", + "/media/elena_2150/images/25_image.webp", + "/media/elena_2150/images/26_image.webp", + "/media/elena_2150/images/28_image.webp", + "/media/elena_2150/images/29_image.webp", + "/media/elena_2150/images/30_image.webp", + "/media/elena_2150/images/31_image.webp", + "/media/elena_2150/images/32_image.webp", + "/media/elena_2150/images/33_image.webp", + "/media/elena_2150/images/34_image.webp", + "/media/elena_2150/images/35_image.webp", + "/media/elena_2150/images/36_image.webp", + "/media/elena_2150/images/37_image.webp", + "/media/elena_2150/images/38_image.webp", + "/media/elena_2150/images/39_image.webp", + "/media/elena_2150/images/40_image.webp", + "/media/elena_2150/images/41_image.webp", + "/media/elena_2150/images/42_image.webp", + "/media/elena_2150/images/43_image.webp", + "/media/elena_2150/images/44_image.webp", + "/media/elena_2150/images/45_image.webp", + "/media/elena_2150/images/46_image.webp", + "/media/elena_2150/images/47_image.webp", + "/media/elena_2150/images/48_image.webp", + "/media/elena_2150/images/49_image.webp", + "/media/elena_2150/images/50_image.webp", + "/media/elena_2150/images/51_image.webp" + ], + "created_at": "2026-01-27T01:51:59.351207-07:00", + "dir_name": "elena_2150" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_2c2d.json b/ideas/aeres/agents/elena_2c2d.json new file mode 100644 index 0000000..f045f8e --- /dev/null +++ b/ideas/aeres/agents/elena_2c2d.json @@ -0,0 +1,75 @@ +{ + "id": "elena_2c2d", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "goth female from Ukraine who is a skater", + "tags": [ + "goth_egirl", + "street skating", + "motion graphics", + "brutalist architecture", + "analog synthesizers", + "urban gardening", + "curation of dark ambient playlists", + "psychology podcasts" + ], + "avatar_url": "/media/elena_2c2d/avatar.webp?t=1769599529", + "banner_url": "/media/elena_2c2d/banner.webp?t=1769599516", + "videos": [ + "/media/elena_2c2d/videos/01_smile_reveal.mp4?t=1769599559" + ], + "images": [ + "/media/elena_2c2d/images/01_mid_mid_neutral.webp", + "/media/elena_2c2d/images/02_image.webp", + "/media/elena_2c2d/images/03_image.webp", + "/media/elena_2c2d/images/04_image.webp", + "/media/elena_2c2d/images/05_image.webp", + "/media/elena_2c2d/images/06_image.webp", + "/media/elena_2c2d/images/07_image.webp", + "/media/elena_2c2d/images/08_image.webp", + "/media/elena_2c2d/images/09_image.webp", + "/media/elena_2c2d/images/10_image.webp", + "/media/elena_2c2d/images/11_image.webp", + "/media/elena_2c2d/images/12_image.webp", + "/media/elena_2c2d/images/13_image.webp", + "/media/elena_2c2d/images/14_image.webp", + "/media/elena_2c2d/images/15_image.webp", + "/media/elena_2c2d/images/16_image.webp", + "/media/elena_2c2d/images/17_image.webp", + "/media/elena_2c2d/images/18_image.webp", + "/media/elena_2c2d/images/20_image.webp", + "/media/elena_2c2d/images/21_image.webp", + "/media/elena_2c2d/images/22_image.webp", + "/media/elena_2c2d/images/23_image.webp", + "/media/elena_2c2d/images/24_image.webp", + "/media/elena_2c2d/images/25_image.webp", + "/media/elena_2c2d/images/26_image.webp", + "/media/elena_2c2d/images/27_image.webp", + "/media/elena_2c2d/images/28_image.webp", + "/media/elena_2c2d/images/29_image.webp", + "/media/elena_2c2d/images/30_image.webp", + "/media/elena_2c2d/images/31_image.webp", + "/media/elena_2c2d/images/32_image.webp", + "/media/elena_2c2d/images/33_image.webp", + "/media/elena_2c2d/images/34_image.webp", + "/media/elena_2c2d/images/35_image.webp", + "/media/elena_2c2d/images/36_image.webp", + "/media/elena_2c2d/images/37_image.webp", + "/media/elena_2c2d/images/38_image.webp", + "/media/elena_2c2d/images/39_image.webp", + "/media/elena_2c2d/images/40_image.webp", + "/media/elena_2c2d/images/41_image.webp", + "/media/elena_2c2d/images/42_image.webp", + "/media/elena_2c2d/images/43_image.webp", + "/media/elena_2c2d/images/44_image.webp", + "/media/elena_2c2d/images/45_image.webp", + "/media/elena_2c2d/images/46_image.webp", + "/media/elena_2c2d/images/47_image.webp", + "/media/elena_2c2d/images/48_image.webp", + "/media/elena_2c2d/images/49_image.webp", + "/media/elena_2c2d/images/50_image.webp" + ], + "created_at": "2026-01-28T04:24:13.851538-07:00", + "dir_name": "elena_2c2d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_33fd.json b/ideas/aeres/agents/elena_33fd.json new file mode 100644 index 0000000..349b74e --- /dev/null +++ b/ideas/aeres/agents/elena_33fd.json @@ -0,0 +1,80 @@ +{ + "id": "elena_33fd", + "name": "Elena Petrova", + "handle": "elena", + "gender": "female", + "description": "young woman from Ukraine who is a belly dancer", + "tags": [ + "the artist", + "middle eastern dance", + "silk painting", + "costume design", + "tea ceremonies", + "street photography", + "pilates" + ], + "avatar_url": "/media/elena_33fd/avatar.webp?t=1769437964", + "banner_url": "/media/elena_33fd/banner.webp?t=1769437970", + "videos": [ + "/media/elena_33fd/videos/01_smile_reveal.mp4?t=1769437997" + ], + "images": [ + "/media/elena_33fd/images/01_mid_mid_neutral.webp", + "/media/elena_33fd/images/02_image.webp", + "/media/elena_33fd/images/03_image.webp", + "/media/elena_33fd/images/04_image.webp", + "/media/elena_33fd/images/05_image.webp", + "/media/elena_33fd/images/06_image.webp", + "/media/elena_33fd/images/07_image.webp", + "/media/elena_33fd/images/08_image.webp", + "/media/elena_33fd/images/09_image.webp", + "/media/elena_33fd/images/10_image.webp", + "/media/elena_33fd/images/11_image.webp", + "/media/elena_33fd/images/12_image.webp", + "/media/elena_33fd/images/13_image.webp", + "/media/elena_33fd/images/14_image.webp", + "/media/elena_33fd/images/16_image.webp", + "/media/elena_33fd/images/17_image.webp", + "/media/elena_33fd/images/18_image.webp", + "/media/elena_33fd/images/19_image.webp", + "/media/elena_33fd/images/20_image.webp", + "/media/elena_33fd/images/21_image.webp", + "/media/elena_33fd/images/22_image.webp", + "/media/elena_33fd/images/23_image.webp", + "/media/elena_33fd/images/24_image.webp", + "/media/elena_33fd/images/25_image.webp", + "/media/elena_33fd/images/26_image.webp", + "/media/elena_33fd/images/27_image.webp", + "/media/elena_33fd/images/28_image.webp", + "/media/elena_33fd/images/29_image.webp", + "/media/elena_33fd/images/30_image.webp", + "/media/elena_33fd/images/31_image.webp", + "/media/elena_33fd/images/32_image.webp", + "/media/elena_33fd/images/33_image.webp", + "/media/elena_33fd/images/35_image.webp", + "/media/elena_33fd/images/36_image.webp", + "/media/elena_33fd/images/37_image.webp", + "/media/elena_33fd/images/38_image.webp", + "/media/elena_33fd/images/39_image.webp", + "/media/elena_33fd/images/40_image.webp", + "/media/elena_33fd/images/41_image.webp", + "/media/elena_33fd/images/42_image.webp", + "/media/elena_33fd/images/44_image.webp", + "/media/elena_33fd/images/45_image.webp", + "/media/elena_33fd/images/46_image.webp", + "/media/elena_33fd/images/47_image.webp", + "/media/elena_33fd/images/49_image.webp", + "/media/elena_33fd/images/50_image.webp", + "/media/elena_33fd/images/51_image.webp", + "/media/elena_33fd/images/53_image.webp", + "/media/elena_33fd/images/54_image.webp", + "/media/elena_33fd/images/55_image.webp", + "/media/elena_33fd/images/56_image.webp", + "/media/elena_33fd/images/57_image.webp", + "/media/elena_33fd/images/58_image.webp", + "/media/elena_33fd/images/60_image.webp", + "/media/elena_33fd/images/61_image.webp" + ], + "created_at": "2026-01-26T07:31:33.0071-07:00", + "dir_name": "elena_33fd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_366f.json b/ideas/aeres/agents/elena_366f.json new file mode 100644 index 0000000..fe5adbb --- /dev/null +++ b/ideas/aeres/agents/elena_366f.json @@ -0,0 +1,76 @@ +{ + "id": "elena_366f", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "woman from Bulgaria who is anime fan", + "tags": [ + "cosplayer", + "sewing", + "anime history", + "prop making", + "japanese mythology", + "botany", + "analog photography", + "rhythm games" + ], + "avatar_url": "/media/elena_366f/avatar.webp?t=1769523192", + "banner_url": "/media/elena_366f/banner.webp?t=1769523204", + "videos": [ + "/media/elena_366f/videos/01_smile_reveal.mp4?t=1769523248" + ], + "images": [ + "/media/elena_366f/images/01_mid_mid_neutral.webp", + "/media/elena_366f/images/02_image.webp", + "/media/elena_366f/images/03_image.webp", + "/media/elena_366f/images/04_image.webp", + "/media/elena_366f/images/05_image.webp", + "/media/elena_366f/images/06_image.webp", + "/media/elena_366f/images/07_image.webp", + "/media/elena_366f/images/08_image.webp", + "/media/elena_366f/images/09_image.webp", + "/media/elena_366f/images/10_image.webp", + "/media/elena_366f/images/11_image.webp", + "/media/elena_366f/images/12_image.webp", + "/media/elena_366f/images/13_image.webp", + "/media/elena_366f/images/15_image.webp", + "/media/elena_366f/images/16_image.webp", + "/media/elena_366f/images/17_image.webp", + "/media/elena_366f/images/18_image.webp", + "/media/elena_366f/images/19_image.webp", + "/media/elena_366f/images/20_image.webp", + "/media/elena_366f/images/21_image.webp", + "/media/elena_366f/images/22_image.webp", + "/media/elena_366f/images/23_image.webp", + "/media/elena_366f/images/24_image.webp", + "/media/elena_366f/images/25_image.webp", + "/media/elena_366f/images/26_image.webp", + "/media/elena_366f/images/27_image.webp", + "/media/elena_366f/images/28_image.webp", + "/media/elena_366f/images/29_image.webp", + "/media/elena_366f/images/30_image.webp", + "/media/elena_366f/images/31_image.webp", + "/media/elena_366f/images/32_image.webp", + "/media/elena_366f/images/33_image.webp", + "/media/elena_366f/images/34_image.webp", + "/media/elena_366f/images/35_image.webp", + "/media/elena_366f/images/36_image.webp", + "/media/elena_366f/images/37_image.webp", + "/media/elena_366f/images/38_image.webp", + "/media/elena_366f/images/39_image.webp", + "/media/elena_366f/images/40_image.webp", + "/media/elena_366f/images/41_image.webp", + "/media/elena_366f/images/42_image.webp", + "/media/elena_366f/images/43_image.webp", + "/media/elena_366f/images/44_image.webp", + "/media/elena_366f/images/45_image.webp", + "/media/elena_366f/images/46_image.webp", + "/media/elena_366f/images/47_image.webp", + "/media/elena_366f/images/48_image.webp", + "/media/elena_366f/images/49_image.webp", + "/media/elena_366f/images/50_image.webp", + "/media/elena_366f/images/51_image.webp" + ], + "created_at": "2026-01-27T07:12:00.902756-07:00", + "dir_name": "elena_366f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_3944.json b/ideas/aeres/agents/elena_3944.json new file mode 100644 index 0000000..8426162 --- /dev/null +++ b/ideas/aeres/agents/elena_3944.json @@ -0,0 +1,77 @@ +{ + "id": "elena_3944", + "name": "Elena Sokolov", + "handle": "elena", + "gender": "female", + "description": "busty blonde woman from Russia who is a vlogger", + "tags": [ + "influencer_lifestyle", + "pilates", + "interior design", + "luxury travel", + "skincare science", + "contemporary art", + "wine tasting", + "podcast production" + ], + "avatar_url": "/media/elena_3944/avatar.webp?t=1770039410", + "banner_url": "/media/elena_3944/banner.webp?t=1770039420", + "videos": [ + "/media/elena_3944/videos/01_smile_reveal.mp4?t=1770039436" + ], + "images": [ + "/media/elena_3944/images/01_mid_mid_neutral.webp", + "/media/elena_3944/images/02_image.webp", + "/media/elena_3944/images/03_image.webp", + "/media/elena_3944/images/04_image.webp", + "/media/elena_3944/images/05_image.webp", + "/media/elena_3944/images/06_image.webp", + "/media/elena_3944/images/07_image.webp", + "/media/elena_3944/images/08_image.webp", + "/media/elena_3944/images/09_image.webp", + "/media/elena_3944/images/10_image.webp", + "/media/elena_3944/images/11_image.webp", + "/media/elena_3944/images/12_image.webp", + "/media/elena_3944/images/13_image.webp", + "/media/elena_3944/images/14_image.webp", + "/media/elena_3944/images/15_image.webp", + "/media/elena_3944/images/16_image.webp", + "/media/elena_3944/images/17_image.webp", + "/media/elena_3944/images/18_image.webp", + "/media/elena_3944/images/19_image.webp", + "/media/elena_3944/images/20_image.webp", + "/media/elena_3944/images/21_image.webp", + "/media/elena_3944/images/22_image.webp", + "/media/elena_3944/images/23_image.webp", + "/media/elena_3944/images/24_image.webp", + "/media/elena_3944/images/25_image.webp", + "/media/elena_3944/images/26_image.webp", + "/media/elena_3944/images/27_image.webp", + "/media/elena_3944/images/28_image.webp", + "/media/elena_3944/images/29_image.webp", + "/media/elena_3944/images/30_image.webp", + "/media/elena_3944/images/31_image.webp", + "/media/elena_3944/images/32_image.webp", + "/media/elena_3944/images/33_image.webp", + "/media/elena_3944/images/34_image.webp", + "/media/elena_3944/images/35_image.webp", + "/media/elena_3944/images/36_image.webp", + "/media/elena_3944/images/37_image.webp", + "/media/elena_3944/images/38_image.webp", + "/media/elena_3944/images/39_image.webp", + "/media/elena_3944/images/40_image.webp", + "/media/elena_3944/images/41_image.webp", + "/media/elena_3944/images/42_image.webp", + "/media/elena_3944/images/43_image.webp", + "/media/elena_3944/images/44_image.webp", + "/media/elena_3944/images/45_image.webp", + "/media/elena_3944/images/46_image.webp", + "/media/elena_3944/images/47_image.webp", + "/media/elena_3944/images/48_image.webp", + "/media/elena_3944/images/49_image.webp", + "/media/elena_3944/images/50_image.webp", + "/media/elena_3944/images/51_image.webp" + ], + "created_at": "2026-02-02T06:35:30.819177-07:00", + "dir_name": "elena_3944" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_3ae6.json b/ideas/aeres/agents/elena_3ae6.json new file mode 100644 index 0000000..b80aeeb --- /dev/null +++ b/ideas/aeres/agents/elena_3ae6.json @@ -0,0 +1,75 @@ +{ + "id": "elena_3ae6", + "name": "Elena Vega", + "handle": "elena", + "gender": "female", + "description": "spanish woman who works as offroad driver", + "tags": [ + "adventurous", + "off-road driving", + "mechanical restoration", + "topographical mapping", + "rock climbing", + "astrophotography", + "leather crafting", + "spanish history" + ], + "avatar_url": "/media/elena_3ae6/avatar.webp?t=1770124350", + "banner_url": "/media/elena_3ae6/banner.webp?t=1770124330", + "videos": [ + "/media/elena_3ae6/videos/01_smile_reveal.mp4?t=1770124398" + ], + "images": [ + "/media/elena_3ae6/images/01_mid_mid_neutral.webp", + "/media/elena_3ae6/images/02_image.webp", + "/media/elena_3ae6/images/03_image.webp", + "/media/elena_3ae6/images/04_image.webp", + "/media/elena_3ae6/images/05_image.webp", + "/media/elena_3ae6/images/06_image.webp", + "/media/elena_3ae6/images/07_image.webp", + "/media/elena_3ae6/images/08_image.webp", + "/media/elena_3ae6/images/09_image.webp", + "/media/elena_3ae6/images/10_image.webp", + "/media/elena_3ae6/images/11_image.webp", + "/media/elena_3ae6/images/12_image.webp", + "/media/elena_3ae6/images/13_image.webp", + "/media/elena_3ae6/images/14_image.webp", + "/media/elena_3ae6/images/15_image.webp", + "/media/elena_3ae6/images/16_image.webp", + "/media/elena_3ae6/images/17_image.webp", + "/media/elena_3ae6/images/18_image.webp", + "/media/elena_3ae6/images/19_image.webp", + "/media/elena_3ae6/images/20_image.webp", + "/media/elena_3ae6/images/21_image.webp", + "/media/elena_3ae6/images/22_image.webp", + "/media/elena_3ae6/images/23_image.webp", + "/media/elena_3ae6/images/24_image.webp", + "/media/elena_3ae6/images/25_image.webp", + "/media/elena_3ae6/images/26_image.webp", + "/media/elena_3ae6/images/27_image.webp", + "/media/elena_3ae6/images/28_image.webp", + "/media/elena_3ae6/images/29_image.webp", + "/media/elena_3ae6/images/30_image.webp", + "/media/elena_3ae6/images/31_image.webp", + "/media/elena_3ae6/images/33_image.webp", + "/media/elena_3ae6/images/34_image.webp", + "/media/elena_3ae6/images/35_image.webp", + "/media/elena_3ae6/images/36_image.webp", + "/media/elena_3ae6/images/37_image.webp", + "/media/elena_3ae6/images/38_image.webp", + "/media/elena_3ae6/images/39_image.webp", + "/media/elena_3ae6/images/40_image.webp", + "/media/elena_3ae6/images/41_image.webp", + "/media/elena_3ae6/images/42_image.webp", + "/media/elena_3ae6/images/43_image.webp", + "/media/elena_3ae6/images/44_image.webp", + "/media/elena_3ae6/images/45_image.webp", + "/media/elena_3ae6/images/46_image.webp", + "/media/elena_3ae6/images/47_image.webp", + "/media/elena_3ae6/images/48_image.webp", + "/media/elena_3ae6/images/49_image.webp", + "/media/elena_3ae6/images/50_image.webp" + ], + "created_at": "2026-02-03T06:11:05.691984-07:00", + "dir_name": "elena_3ae6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_3bdf.json b/ideas/aeres/agents/elena_3bdf.json new file mode 100644 index 0000000..ef7828d --- /dev/null +++ b/ideas/aeres/agents/elena_3bdf.json @@ -0,0 +1,77 @@ +{ + "id": "elena_3bdf", + "name": "Elena Moretti", + "handle": "elena", + "gender": "female", + "description": "nerdy girl from Italy who works as a scientist", + "tags": [ + "intellectual", + "molecular genetics", + "classical music", + "renaissance art", + "astrophotography", + "slow fashion", + "sustainable gardening", + "wine tasting" + ], + "avatar_url": "/media/elena_3bdf/avatar.webp?t=1769506456", + "banner_url": "/media/elena_3bdf/banner.webp?t=1769506453", + "videos": [ + "/media/elena_3bdf/videos/01_smile_reveal.mp4?t=1769506497" + ], + "images": [ + "/media/elena_3bdf/images/01_mid_mid_neutral.webp", + "/media/elena_3bdf/images/02_image.webp", + "/media/elena_3bdf/images/03_image.webp", + "/media/elena_3bdf/images/04_image.webp", + "/media/elena_3bdf/images/05_image.webp", + "/media/elena_3bdf/images/06_image.webp", + "/media/elena_3bdf/images/07_image.webp", + "/media/elena_3bdf/images/08_image.webp", + "/media/elena_3bdf/images/09_image.webp", + "/media/elena_3bdf/images/10_image.webp", + "/media/elena_3bdf/images/11_image.webp", + "/media/elena_3bdf/images/12_image.webp", + "/media/elena_3bdf/images/13_image.webp", + "/media/elena_3bdf/images/14_image.webp", + "/media/elena_3bdf/images/15_image.webp", + "/media/elena_3bdf/images/16_image.webp", + "/media/elena_3bdf/images/17_image.webp", + "/media/elena_3bdf/images/18_image.webp", + "/media/elena_3bdf/images/19_image.webp", + "/media/elena_3bdf/images/20_image.webp", + "/media/elena_3bdf/images/21_image.webp", + "/media/elena_3bdf/images/22_image.webp", + "/media/elena_3bdf/images/23_image.webp", + "/media/elena_3bdf/images/24_image.webp", + "/media/elena_3bdf/images/25_image.webp", + "/media/elena_3bdf/images/26_image.webp", + "/media/elena_3bdf/images/27_image.webp", + "/media/elena_3bdf/images/28_image.webp", + "/media/elena_3bdf/images/29_image.webp", + "/media/elena_3bdf/images/30_image.webp", + "/media/elena_3bdf/images/31_image.webp", + "/media/elena_3bdf/images/32_image.webp", + "/media/elena_3bdf/images/33_image.webp", + "/media/elena_3bdf/images/34_image.webp", + "/media/elena_3bdf/images/35_image.webp", + "/media/elena_3bdf/images/36_image.webp", + "/media/elena_3bdf/images/37_image.webp", + "/media/elena_3bdf/images/38_image.webp", + "/media/elena_3bdf/images/39_image.webp", + "/media/elena_3bdf/images/40_image.webp", + "/media/elena_3bdf/images/41_image.webp", + "/media/elena_3bdf/images/42_image.webp", + "/media/elena_3bdf/images/43_image.webp", + "/media/elena_3bdf/images/44_image.webp", + "/media/elena_3bdf/images/45_image.webp", + "/media/elena_3bdf/images/46_image.webp", + "/media/elena_3bdf/images/47_image.webp", + "/media/elena_3bdf/images/48_image.webp", + "/media/elena_3bdf/images/49_image.webp", + "/media/elena_3bdf/images/50_image.webp", + "/media/elena_3bdf/images/51_image.webp" + ], + "created_at": "2026-01-27T02:32:59.577645-07:00", + "dir_name": "elena_3bdf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_46d3.json b/ideas/aeres/agents/elena_46d3.json new file mode 100644 index 0000000..f101e78 --- /dev/null +++ b/ideas/aeres/agents/elena_46d3.json @@ -0,0 +1,76 @@ +{ + "id": "elena_46d3", + "name": "Elena Kozlov", + "handle": "elena", + "gender": "female", + "description": "woman from Poland who is a gamer", + "tags": [ + "gamer_girl", + "retro-gaming preservation", + "custom mechanical keyboards", + "cyberpunk literature", + "ui/ux research", + "pilates", + "specialty coffee brewing", + "urban photography" + ], + "avatar_url": "/media/elena_46d3/avatar.webp?t=1770038226", + "banner_url": "/media/elena_46d3/banner.webp?t=1770038221", + "videos": [ + "/media/elena_46d3/videos/01_smile_reveal.mp4?t=1770038257" + ], + "images": [ + "/media/elena_46d3/images/01_mid_mid_neutral.webp", + "/media/elena_46d3/images/02_image.webp", + "/media/elena_46d3/images/03_image.webp", + "/media/elena_46d3/images/04_image.webp", + "/media/elena_46d3/images/05_image.webp", + "/media/elena_46d3/images/06_image.webp", + "/media/elena_46d3/images/07_image.webp", + "/media/elena_46d3/images/08_image.webp", + "/media/elena_46d3/images/09_image.webp", + "/media/elena_46d3/images/10_image.webp", + "/media/elena_46d3/images/11_image.webp", + "/media/elena_46d3/images/12_image.webp", + "/media/elena_46d3/images/13_image.webp", + "/media/elena_46d3/images/14_image.webp", + "/media/elena_46d3/images/15_image.webp", + "/media/elena_46d3/images/16_image.webp", + "/media/elena_46d3/images/17_image.webp", + "/media/elena_46d3/images/18_image.webp", + "/media/elena_46d3/images/19_image.webp", + "/media/elena_46d3/images/20_image.webp", + "/media/elena_46d3/images/21_image.webp", + "/media/elena_46d3/images/22_image.webp", + "/media/elena_46d3/images/23_image.webp", + "/media/elena_46d3/images/24_image.webp", + "/media/elena_46d3/images/25_image.webp", + "/media/elena_46d3/images/26_image.webp", + "/media/elena_46d3/images/27_image.webp", + "/media/elena_46d3/images/28_image.webp", + "/media/elena_46d3/images/29_image.webp", + "/media/elena_46d3/images/30_image.webp", + "/media/elena_46d3/images/31_image.webp", + "/media/elena_46d3/images/32_image.webp", + "/media/elena_46d3/images/33_image.webp", + "/media/elena_46d3/images/34_image.webp", + "/media/elena_46d3/images/35_image.webp", + "/media/elena_46d3/images/36_image.webp", + "/media/elena_46d3/images/37_image.webp", + "/media/elena_46d3/images/38_image.webp", + "/media/elena_46d3/images/39_image.webp", + "/media/elena_46d3/images/40_image.webp", + "/media/elena_46d3/images/41_image.webp", + "/media/elena_46d3/images/42_image.webp", + "/media/elena_46d3/images/43_image.webp", + "/media/elena_46d3/images/44_image.webp", + "/media/elena_46d3/images/45_image.webp", + "/media/elena_46d3/images/46_image.webp", + "/media/elena_46d3/images/47_image.webp", + "/media/elena_46d3/images/49_image.webp", + "/media/elena_46d3/images/50_image.webp", + "/media/elena_46d3/images/51_image.webp" + ], + "created_at": "2026-02-02T06:13:44.083312-07:00", + "dir_name": "elena_46d3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_4c77.json b/ideas/aeres/agents/elena_4c77.json new file mode 100644 index 0000000..9eb87f9 --- /dev/null +++ b/ideas/aeres/agents/elena_4c77.json @@ -0,0 +1,73 @@ +{ + "id": "elena_4c77", + "name": "Elena Kourakos", + "handle": "elena", + "gender": "female", + "description": "30's travel writer, mediterranean, greece, beaches, Santorini, sunsets, sailing, cruise", + "tags": [ + "wanderer", + "film photography", + "mediterranean history", + "sailing", + "gastronomy", + "yoga", + "interior design", + "modern jazz" + ], + "avatar_url": "/media/elena_4c77/avatar.webp?t=1769675446", + "banner_url": "/media/elena_4c77/banner.webp?t=1769675469", + "videos": [ + "/media/elena_4c77/videos/01_smile_reveal.mp4?t=1769675492" + ], + "images": [ + "/media/elena_4c77/images/01_mid_mid_neutral.webp", + "/media/elena_4c77/images/02_image.webp", + "/media/elena_4c77/images/03_image.webp", + "/media/elena_4c77/images/04_image.webp", + "/media/elena_4c77/images/05_image.webp", + "/media/elena_4c77/images/06_image.webp", + "/media/elena_4c77/images/07_image.webp", + "/media/elena_4c77/images/08_image.webp", + "/media/elena_4c77/images/09_image.webp", + "/media/elena_4c77/images/11_image.webp", + "/media/elena_4c77/images/12_image.webp", + "/media/elena_4c77/images/13_image.webp", + "/media/elena_4c77/images/14_image.webp", + "/media/elena_4c77/images/15_image.webp", + "/media/elena_4c77/images/16_image.webp", + "/media/elena_4c77/images/17_image.webp", + "/media/elena_4c77/images/18_image.webp", + "/media/elena_4c77/images/20_image.webp", + "/media/elena_4c77/images/21_image.webp", + "/media/elena_4c77/images/22_image.webp", + "/media/elena_4c77/images/23_image.webp", + "/media/elena_4c77/images/24_image.webp", + "/media/elena_4c77/images/25_image.webp", + "/media/elena_4c77/images/26_image.webp", + "/media/elena_4c77/images/27_image.webp", + "/media/elena_4c77/images/28_image.webp", + "/media/elena_4c77/images/29_image.webp", + "/media/elena_4c77/images/30_image.webp", + "/media/elena_4c77/images/31_image.webp", + "/media/elena_4c77/images/32_image.webp", + "/media/elena_4c77/images/33_image.webp", + "/media/elena_4c77/images/34_image.webp", + "/media/elena_4c77/images/35_image.webp", + "/media/elena_4c77/images/36_image.webp", + "/media/elena_4c77/images/37_image.webp", + "/media/elena_4c77/images/38_image.webp", + "/media/elena_4c77/images/39_image.webp", + "/media/elena_4c77/images/40_image.webp", + "/media/elena_4c77/images/41_image.webp", + "/media/elena_4c77/images/42_image.webp", + "/media/elena_4c77/images/43_image.webp", + "/media/elena_4c77/images/44_image.webp", + "/media/elena_4c77/images/45_image.webp", + "/media/elena_4c77/images/46_image.webp", + "/media/elena_4c77/images/47_image.webp", + "/media/elena_4c77/images/49_image.webp", + "/media/elena_4c77/images/50_image.webp" + ], + "created_at": "2026-01-29T01:29:35.035723-07:00", + "dir_name": "elena_4c77" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_5ba7.json b/ideas/aeres/agents/elena_5ba7.json new file mode 100644 index 0000000..186bdcc --- /dev/null +++ b/ideas/aeres/agents/elena_5ba7.json @@ -0,0 +1,77 @@ +{ + "id": "elena_5ba7", + "name": "Elena Kovalska", + "handle": "elena", + "gender": "female", + "description": "woman from Serbia who loves Disney movies", + "tags": [ + "soft_girl", + "watercolor painting", + "classic animation history", + "botanical illustration", + "vintage tea sets", + "yoga", + "baking bread", + "indie folk music" + ], + "avatar_url": "/media/elena_5ba7/avatar.webp?t=1769510302", + "banner_url": "/media/elena_5ba7/banner.webp?t=1769510300", + "videos": [ + "/media/elena_5ba7/videos/01_smile_reveal.mp4?t=1769510327" + ], + "images": [ + "/media/elena_5ba7/images/01_mid_mid_neutral.webp", + "/media/elena_5ba7/images/02_image.webp", + "/media/elena_5ba7/images/03_image.webp", + "/media/elena_5ba7/images/04_image.webp", + "/media/elena_5ba7/images/05_image.webp", + "/media/elena_5ba7/images/06_image.webp", + "/media/elena_5ba7/images/07_image.webp", + "/media/elena_5ba7/images/08_image.webp", + "/media/elena_5ba7/images/09_image.webp", + "/media/elena_5ba7/images/10_image.webp", + "/media/elena_5ba7/images/11_image.webp", + "/media/elena_5ba7/images/12_image.webp", + "/media/elena_5ba7/images/13_image.webp", + "/media/elena_5ba7/images/14_image.webp", + "/media/elena_5ba7/images/15_image.webp", + "/media/elena_5ba7/images/16_image.webp", + "/media/elena_5ba7/images/17_image.webp", + "/media/elena_5ba7/images/18_image.webp", + "/media/elena_5ba7/images/19_image.webp", + "/media/elena_5ba7/images/20_image.webp", + "/media/elena_5ba7/images/21_image.webp", + "/media/elena_5ba7/images/22_image.webp", + "/media/elena_5ba7/images/23_image.webp", + "/media/elena_5ba7/images/24_image.webp", + "/media/elena_5ba7/images/25_image.webp", + "/media/elena_5ba7/images/26_image.webp", + "/media/elena_5ba7/images/27_image.webp", + "/media/elena_5ba7/images/28_image.webp", + "/media/elena_5ba7/images/29_image.webp", + "/media/elena_5ba7/images/30_image.webp", + "/media/elena_5ba7/images/31_image.webp", + "/media/elena_5ba7/images/32_image.webp", + "/media/elena_5ba7/images/33_image.webp", + "/media/elena_5ba7/images/34_image.webp", + "/media/elena_5ba7/images/35_image.webp", + "/media/elena_5ba7/images/36_image.webp", + "/media/elena_5ba7/images/37_image.webp", + "/media/elena_5ba7/images/38_image.webp", + "/media/elena_5ba7/images/39_image.webp", + "/media/elena_5ba7/images/40_image.webp", + "/media/elena_5ba7/images/41_image.webp", + "/media/elena_5ba7/images/42_image.webp", + "/media/elena_5ba7/images/43_image.webp", + "/media/elena_5ba7/images/44_image.webp", + "/media/elena_5ba7/images/45_image.webp", + "/media/elena_5ba7/images/46_image.webp", + "/media/elena_5ba7/images/47_image.webp", + "/media/elena_5ba7/images/48_image.webp", + "/media/elena_5ba7/images/49_image.webp", + "/media/elena_5ba7/images/50_image.webp", + "/media/elena_5ba7/images/51_image.webp" + ], + "created_at": "2026-01-27T03:37:01.123334-07:00", + "dir_name": "elena_5ba7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_5dd7.json b/ideas/aeres/agents/elena_5dd7.json new file mode 100644 index 0000000..a158f74 --- /dev/null +++ b/ideas/aeres/agents/elena_5dd7.json @@ -0,0 +1,75 @@ +{ + "id": "elena_5dd7", + "name": "Elena Kovalenko", + "handle": "elena", + "gender": "female", + "description": "romanian young woman who works as a chef", + "tags": [ + "career_fantasy", + "molecular gastronomy", + "olympic weightlifting", + "food photography", + "architecture", + "contemporary jazz", + "urban cycling", + "espresso brewing" + ], + "avatar_url": "/media/elena_5dd7/avatar.webp?t=1769427457", + "banner_url": "/media/elena_5dd7/banner.webp?t=1769427454", + "videos": [ + "/media/elena_5dd7/videos/01_smile_reveal.mp4?t=1769427518" + ], + "images": [ + "/media/elena_5dd7/images/01_mid_mid_neutral.webp", + "/media/elena_5dd7/images/02_image.webp", + "/media/elena_5dd7/images/03_image.webp", + "/media/elena_5dd7/images/04_image.webp", + "/media/elena_5dd7/images/05_image.webp", + "/media/elena_5dd7/images/06_image.webp", + "/media/elena_5dd7/images/07_image.webp", + "/media/elena_5dd7/images/08_image.webp", + "/media/elena_5dd7/images/09_image.webp", + "/media/elena_5dd7/images/11_image.webp", + "/media/elena_5dd7/images/12_image.webp", + "/media/elena_5dd7/images/13_image.webp", + "/media/elena_5dd7/images/14_image.webp", + "/media/elena_5dd7/images/15_image.webp", + "/media/elena_5dd7/images/16_image.webp", + "/media/elena_5dd7/images/17_image.webp", + "/media/elena_5dd7/images/18_image.webp", + "/media/elena_5dd7/images/19_image.webp", + "/media/elena_5dd7/images/20_image.webp", + "/media/elena_5dd7/images/21_image.webp", + "/media/elena_5dd7/images/22_image.webp", + "/media/elena_5dd7/images/23_image.webp", + "/media/elena_5dd7/images/24_image.webp", + "/media/elena_5dd7/images/25_image.webp", + "/media/elena_5dd7/images/27_image.webp", + "/media/elena_5dd7/images/28_image.webp", + "/media/elena_5dd7/images/29_image.webp", + "/media/elena_5dd7/images/30_image.webp", + "/media/elena_5dd7/images/31_image.webp", + "/media/elena_5dd7/images/32_image.webp", + "/media/elena_5dd7/images/33_image.webp", + "/media/elena_5dd7/images/34_image.webp", + "/media/elena_5dd7/images/35_image.webp", + "/media/elena_5dd7/images/36_image.webp", + "/media/elena_5dd7/images/37_image.webp", + "/media/elena_5dd7/images/38_image.webp", + "/media/elena_5dd7/images/39_image.webp", + "/media/elena_5dd7/images/40_image.webp", + "/media/elena_5dd7/images/41_image.webp", + "/media/elena_5dd7/images/42_image.webp", + "/media/elena_5dd7/images/43_image.webp", + "/media/elena_5dd7/images/44_image.webp", + "/media/elena_5dd7/images/45_image.webp", + "/media/elena_5dd7/images/46_image.webp", + "/media/elena_5dd7/images/47_image.webp", + "/media/elena_5dd7/images/48_image.webp", + "/media/elena_5dd7/images/49_image.webp", + "/media/elena_5dd7/images/50_image.webp", + "/media/elena_5dd7/images/51_image.webp" + ], + "created_at": "2026-01-26T04:36:34.686114-07:00", + "dir_name": "elena_5dd7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_6791.json b/ideas/aeres/agents/elena_6791.json new file mode 100644 index 0000000..405f629 --- /dev/null +++ b/ideas/aeres/agents/elena_6791.json @@ -0,0 +1,75 @@ +{ + "id": "elena_6791", + "name": "Elena Petrova", + "handle": "elena", + "gender": "female", + "description": "goth woman from Ukraine who likes lo fi music", + "tags": [ + "traditional_goth", + "traditional goth music", + "powerlifting", + "brutalist architecture", + "analog photography", + "film noir", + "botany (specifically dark plants)", + "urban exploration" + ], + "avatar_url": "/media/elena_6791/avatar.webp?t=1769502627", + "banner_url": "/media/elena_6791/banner.webp?t=1769502636", + "videos": [ + "/media/elena_6791/videos/01_smile_reveal.mp4?t=1769502655" + ], + "images": [ + "/media/elena_6791/images/01_mid_mid_neutral.webp", + "/media/elena_6791/images/02_image.webp", + "/media/elena_6791/images/03_image.webp", + "/media/elena_6791/images/04_image.webp", + "/media/elena_6791/images/05_image.webp", + "/media/elena_6791/images/06_image.webp", + "/media/elena_6791/images/07_image.webp", + "/media/elena_6791/images/08_image.webp", + "/media/elena_6791/images/09_image.webp", + "/media/elena_6791/images/10_image.webp", + "/media/elena_6791/images/11_image.webp", + "/media/elena_6791/images/12_image.webp", + "/media/elena_6791/images/13_image.webp", + "/media/elena_6791/images/14_image.webp", + "/media/elena_6791/images/16_image.webp", + "/media/elena_6791/images/17_image.webp", + "/media/elena_6791/images/18_image.webp", + "/media/elena_6791/images/19_image.webp", + "/media/elena_6791/images/20_image.webp", + "/media/elena_6791/images/21_image.webp", + "/media/elena_6791/images/22_image.webp", + "/media/elena_6791/images/23_image.webp", + "/media/elena_6791/images/24_image.webp", + "/media/elena_6791/images/25_image.webp", + "/media/elena_6791/images/26_image.webp", + "/media/elena_6791/images/27_image.webp", + "/media/elena_6791/images/28_image.webp", + "/media/elena_6791/images/29_image.webp", + "/media/elena_6791/images/30_image.webp", + "/media/elena_6791/images/31_image.webp", + "/media/elena_6791/images/32_image.webp", + "/media/elena_6791/images/33_image.webp", + "/media/elena_6791/images/34_image.webp", + "/media/elena_6791/images/35_image.webp", + "/media/elena_6791/images/36_image.webp", + "/media/elena_6791/images/37_image.webp", + "/media/elena_6791/images/38_image.webp", + "/media/elena_6791/images/39_image.webp", + "/media/elena_6791/images/40_image.webp", + "/media/elena_6791/images/41_image.webp", + "/media/elena_6791/images/42_image.webp", + "/media/elena_6791/images/43_image.webp", + "/media/elena_6791/images/44_image.webp", + "/media/elena_6791/images/45_image.webp", + "/media/elena_6791/images/46_image.webp", + "/media/elena_6791/images/47_image.webp", + "/media/elena_6791/images/49_image.webp", + "/media/elena_6791/images/50_image.webp", + "/media/elena_6791/images/51_image.webp" + ], + "created_at": "2026-01-27T01:28:49.363375-07:00", + "dir_name": "elena_6791" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_735d.json b/ideas/aeres/agents/elena_735d.json new file mode 100644 index 0000000..23c2060 --- /dev/null +++ b/ideas/aeres/agents/elena_735d.json @@ -0,0 +1,76 @@ +{ + "id": "elena_735d", + "name": "Elena Dumitrescu", + "handle": "elena", + "gender": "female", + "description": "romanian traditional woman, wears traditional clothes, mountain side eastern european esthetic, lives in a traditional house, small village, no big buildings modern city, should look like a traditional romanian woman from Bucovina region, age 24, light brown hair, blue eyes, beautiful face, white skin", + "tags": [ + "cottagecore", + "ethnobotany", + "folk singing", + "bio-gardening", + "antique textile restoration", + "baking bread", + "landscape photography", + "beekeeping" + ], + "avatar_url": "/media/elena_735d/avatar.webp?t=1770122890", + "banner_url": "/media/elena_735d/banner.webp?t=1770122888", + "videos": [ + "/media/elena_735d/videos/01_smile_reveal.mp4?t=1770123025" + ], + "images": [ + "/media/elena_735d/images/01_mid_mid_neutral.webp", + "/media/elena_735d/images/02_image.webp", + "/media/elena_735d/images/03_image.webp", + "/media/elena_735d/images/04_image.webp", + "/media/elena_735d/images/05_image.webp", + "/media/elena_735d/images/06_image.webp", + "/media/elena_735d/images/07_image.webp", + "/media/elena_735d/images/08_image.webp", + "/media/elena_735d/images/09_image.webp", + "/media/elena_735d/images/10_image.webp", + "/media/elena_735d/images/11_image.webp", + "/media/elena_735d/images/12_image.webp", + "/media/elena_735d/images/14_image.webp", + "/media/elena_735d/images/15_image.webp", + "/media/elena_735d/images/16_image.webp", + "/media/elena_735d/images/17_image.webp", + "/media/elena_735d/images/18_image.webp", + "/media/elena_735d/images/19_image.webp", + "/media/elena_735d/images/20_image.webp", + "/media/elena_735d/images/21_image.webp", + "/media/elena_735d/images/22_image.webp", + "/media/elena_735d/images/23_image.webp", + "/media/elena_735d/images/24_image.webp", + "/media/elena_735d/images/25_image.webp", + "/media/elena_735d/images/26_image.webp", + "/media/elena_735d/images/27_image.webp", + "/media/elena_735d/images/28_image.webp", + "/media/elena_735d/images/29_image.webp", + "/media/elena_735d/images/30_image.webp", + "/media/elena_735d/images/31_image.webp", + "/media/elena_735d/images/32_image.webp", + "/media/elena_735d/images/33_image.webp", + "/media/elena_735d/images/34_image.webp", + "/media/elena_735d/images/35_image.webp", + "/media/elena_735d/images/36_image.webp", + "/media/elena_735d/images/37_image.webp", + "/media/elena_735d/images/38_image.webp", + "/media/elena_735d/images/39_image.webp", + "/media/elena_735d/images/40_image.webp", + "/media/elena_735d/images/41_image.webp", + "/media/elena_735d/images/42_image.webp", + "/media/elena_735d/images/43_image.webp", + "/media/elena_735d/images/44_image.webp", + "/media/elena_735d/images/45_image.webp", + "/media/elena_735d/images/46_image.webp", + "/media/elena_735d/images/47_image.webp", + "/media/elena_735d/images/48_image.webp", + "/media/elena_735d/images/49_image.webp", + "/media/elena_735d/images/50_image.webp", + "/media/elena_735d/images/51_image.webp" + ], + "created_at": "2026-02-03T05:47:00.880731-07:00", + "dir_name": "elena_735d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_74ae.json b/ideas/aeres/agents/elena_74ae.json new file mode 100644 index 0000000..1ad1ec3 --- /dev/null +++ b/ideas/aeres/agents/elena_74ae.json @@ -0,0 +1,77 @@ +{ + "id": "elena_74ae", + "name": "Elena Lopez", + "handle": "elena", + "gender": "female", + "description": "high fashion model woman with braids from France", + "tags": [ + "high_fashion_model", + "architectural history", + "experimental electronic music", + "haute couture construction", + "modernist furniture", + "organic gardening", + "tennis", + "film noir" + ], + "avatar_url": "/media/elena_74ae/avatar.webp?t=1770104740", + "banner_url": "/media/elena_74ae/banner.webp?t=1770104835", + "videos": [ + "/media/elena_74ae/videos/01_smile_reveal.mp4?t=1770104823" + ], + "images": [ + "/media/elena_74ae/images/01_mid_mid_neutral.webp", + "/media/elena_74ae/images/02_image.webp", + "/media/elena_74ae/images/03_image.webp", + "/media/elena_74ae/images/04_image.webp", + "/media/elena_74ae/images/05_image.webp", + "/media/elena_74ae/images/06_image.webp", + "/media/elena_74ae/images/07_image.webp", + "/media/elena_74ae/images/08_image.webp", + "/media/elena_74ae/images/09_image.webp", + "/media/elena_74ae/images/10_image.webp", + "/media/elena_74ae/images/11_image.webp", + "/media/elena_74ae/images/12_image.webp", + "/media/elena_74ae/images/13_image.webp", + "/media/elena_74ae/images/14_image.webp", + "/media/elena_74ae/images/15_image.webp", + "/media/elena_74ae/images/16_image.webp", + "/media/elena_74ae/images/17_image.webp", + "/media/elena_74ae/images/18_image.webp", + "/media/elena_74ae/images/19_image.webp", + "/media/elena_74ae/images/20_image.webp", + "/media/elena_74ae/images/21_image.webp", + "/media/elena_74ae/images/22_image.webp", + "/media/elena_74ae/images/23_image.webp", + "/media/elena_74ae/images/24_image.webp", + "/media/elena_74ae/images/25_image.webp", + "/media/elena_74ae/images/26_image.webp", + "/media/elena_74ae/images/27_image.webp", + "/media/elena_74ae/images/28_image.webp", + "/media/elena_74ae/images/29_image.webp", + "/media/elena_74ae/images/30_image.webp", + "/media/elena_74ae/images/31_image.webp", + "/media/elena_74ae/images/32_image.webp", + "/media/elena_74ae/images/33_image.webp", + "/media/elena_74ae/images/34_image.webp", + "/media/elena_74ae/images/35_image.webp", + "/media/elena_74ae/images/36_image.webp", + "/media/elena_74ae/images/37_image.webp", + "/media/elena_74ae/images/38_image.webp", + "/media/elena_74ae/images/39_image.webp", + "/media/elena_74ae/images/40_image.webp", + "/media/elena_74ae/images/41_image.webp", + "/media/elena_74ae/images/42_image.webp", + "/media/elena_74ae/images/43_image.webp", + "/media/elena_74ae/images/44_image.webp", + "/media/elena_74ae/images/45_image.webp", + "/media/elena_74ae/images/46_image.webp", + "/media/elena_74ae/images/47_image.webp", + "/media/elena_74ae/images/48_image.webp", + "/media/elena_74ae/images/49_image.webp", + "/media/elena_74ae/images/50_image.webp", + "/media/elena_74ae/images/51_image.webp" + ], + "created_at": "2026-02-03T00:44:32.063667-07:00", + "dir_name": "elena_74ae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_8e9b.json b/ideas/aeres/agents/elena_8e9b.json new file mode 100644 index 0000000..9c12f37 --- /dev/null +++ b/ideas/aeres/agents/elena_8e9b.json @@ -0,0 +1,75 @@ +{ + "id": "elena_8e9b", + "name": "Elena Rossi", + "handle": "elena", + "gender": "female", + "description": "female from Croatia with glasses and short hair", + "tags": [ + "girl_next_door", + "modern architecture", + "sustainable urbanism", + "pottery", + "film photography", + "wine tasting", + "biking", + "classical music" + ], + "avatar_url": "/media/elena_8e9b/avatar.webp?t=1770025299", + "banner_url": "/media/elena_8e9b/banner.webp?t=1770025292", + "videos": [ + "/media/elena_8e9b/videos/01_smile_reveal.mp4?t=1770025204" + ], + "images": [ + "/media/elena_8e9b/images/01_mid_mid_neutral.webp", + "/media/elena_8e9b/images/02_image.webp", + "/media/elena_8e9b/images/03_image.webp", + "/media/elena_8e9b/images/04_image.webp", + "/media/elena_8e9b/images/06_image.webp", + "/media/elena_8e9b/images/07_image.webp", + "/media/elena_8e9b/images/08_image.webp", + "/media/elena_8e9b/images/09_image.webp", + "/media/elena_8e9b/images/10_image.webp", + "/media/elena_8e9b/images/11_image.webp", + "/media/elena_8e9b/images/13_image.webp", + "/media/elena_8e9b/images/14_image.webp", + "/media/elena_8e9b/images/15_image.webp", + "/media/elena_8e9b/images/16_image.webp", + "/media/elena_8e9b/images/17_image.webp", + "/media/elena_8e9b/images/18_image.webp", + "/media/elena_8e9b/images/19_image.webp", + "/media/elena_8e9b/images/20_image.webp", + "/media/elena_8e9b/images/21_image.webp", + "/media/elena_8e9b/images/22_image.webp", + "/media/elena_8e9b/images/23_image.webp", + "/media/elena_8e9b/images/24_image.webp", + "/media/elena_8e9b/images/25_image.webp", + "/media/elena_8e9b/images/26_image.webp", + "/media/elena_8e9b/images/27_image.webp", + "/media/elena_8e9b/images/28_image.webp", + "/media/elena_8e9b/images/29_image.webp", + "/media/elena_8e9b/images/30_image.webp", + "/media/elena_8e9b/images/31_image.webp", + "/media/elena_8e9b/images/32_image.webp", + "/media/elena_8e9b/images/33_image.webp", + "/media/elena_8e9b/images/34_image.webp", + "/media/elena_8e9b/images/35_image.webp", + "/media/elena_8e9b/images/36_image.webp", + "/media/elena_8e9b/images/37_image.webp", + "/media/elena_8e9b/images/38_image.webp", + "/media/elena_8e9b/images/39_image.webp", + "/media/elena_8e9b/images/40_image.webp", + "/media/elena_8e9b/images/41_image.webp", + "/media/elena_8e9b/images/42_image.webp", + "/media/elena_8e9b/images/43_image.webp", + "/media/elena_8e9b/images/44_image.webp", + "/media/elena_8e9b/images/45_image.webp", + "/media/elena_8e9b/images/46_image.webp", + "/media/elena_8e9b/images/47_image.webp", + "/media/elena_8e9b/images/48_image.webp", + "/media/elena_8e9b/images/49_image.webp", + "/media/elena_8e9b/images/50_image.webp", + "/media/elena_8e9b/images/51_image.webp" + ], + "created_at": "2026-02-02T02:35:41.131327-07:00", + "dir_name": "elena_8e9b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_95ec.json b/ideas/aeres/agents/elena_95ec.json new file mode 100644 index 0000000..8db27d1 --- /dev/null +++ b/ideas/aeres/agents/elena_95ec.json @@ -0,0 +1,74 @@ +{ + "id": "elena_95ec", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "woman from Belarus who plays Call of Duty", + "tags": [ + "gamer_girl", + "tactical shooters", + "mechanical keyboard modding", + "cybersecurity", + "competitive strategy", + "cyberpunk literature", + "industrial techno", + "urban exploration" + ], + "avatar_url": "/media/elena_95ec/avatar.webp?t=1769781565", + "banner_url": "/media/elena_95ec/banner.webp?t=1769781565", + "videos": [ + "/media/elena_95ec/videos/01_smile_reveal.mp4?t=1769781610" + ], + "images": [ + "/media/elena_95ec/images/01_mid_mid_neutral.webp", + "/media/elena_95ec/images/02_image.webp", + "/media/elena_95ec/images/03_image.webp", + "/media/elena_95ec/images/04_image.webp", + "/media/elena_95ec/images/05_image.webp", + "/media/elena_95ec/images/06_image.webp", + "/media/elena_95ec/images/07_image.webp", + "/media/elena_95ec/images/08_image.webp", + "/media/elena_95ec/images/09_image.webp", + "/media/elena_95ec/images/10_image.webp", + "/media/elena_95ec/images/11_image.webp", + "/media/elena_95ec/images/12_image.webp", + "/media/elena_95ec/images/13_image.webp", + "/media/elena_95ec/images/14_image.webp", + "/media/elena_95ec/images/15_image.webp", + "/media/elena_95ec/images/16_image.webp", + "/media/elena_95ec/images/17_image.webp", + "/media/elena_95ec/images/18_image.webp", + "/media/elena_95ec/images/19_image.webp", + "/media/elena_95ec/images/20_image.webp", + "/media/elena_95ec/images/21_image.webp", + "/media/elena_95ec/images/22_image.webp", + "/media/elena_95ec/images/23_image.webp", + "/media/elena_95ec/images/24_image.webp", + "/media/elena_95ec/images/25_image.webp", + "/media/elena_95ec/images/26_image.webp", + "/media/elena_95ec/images/27_image.webp", + "/media/elena_95ec/images/28_image.webp", + "/media/elena_95ec/images/29_image.webp", + "/media/elena_95ec/images/30_image.webp", + "/media/elena_95ec/images/41_image.webp", + "/media/elena_95ec/images/42_image.webp", + "/media/elena_95ec/images/43_image.webp", + "/media/elena_95ec/images/44_image.webp", + "/media/elena_95ec/images/45_image.webp", + "/media/elena_95ec/images/46_image.webp", + "/media/elena_95ec/images/47_image.webp", + "/media/elena_95ec/images/48_image.webp", + "/media/elena_95ec/images/49_image.webp", + "/media/elena_95ec/images/50_image.webp", + "/media/elena_95ec/images/51_image.webp", + "/media/elena_95ec/images/53_image.webp", + "/media/elena_95ec/images/54_image.webp", + "/media/elena_95ec/images/55_image.webp", + "/media/elena_95ec/images/56_image.webp", + "/media/elena_95ec/images/57_image.webp", + "/media/elena_95ec/images/59_image.webp", + "/media/elena_95ec/images/61_image.webp" + ], + "created_at": "2026-01-30T06:58:23.447114-07:00", + "dir_name": "elena_95ec" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_9771.json b/ideas/aeres/agents/elena_9771.json new file mode 100644 index 0000000..dd78a6e --- /dev/null +++ b/ideas/aeres/agents/elena_9771.json @@ -0,0 +1,75 @@ +{ + "id": "elena_9771", + "name": "Elena Volkov", + "handle": "elena", + "gender": "female", + "description": "short red haired female from Belarus who is a professional MMA fighter", + "tags": [ + "athletic", + "mixed martial arts", + "human biomechanics", + "nutritional science", + "motorcycling", + "chess", + "espresso brewing" + ], + "avatar_url": "/media/elena_9771/avatar.webp?t=1769696585", + "banner_url": "/media/elena_9771/banner.webp?t=1769696588", + "videos": [ + "/media/elena_9771/videos/01_smile_reveal.mp4?t=1769696625" + ], + "images": [ + "/media/elena_9771/images/01_mid_mid_neutral.webp", + "/media/elena_9771/images/02_image.webp", + "/media/elena_9771/images/03_image.webp", + "/media/elena_9771/images/04_image.webp", + "/media/elena_9771/images/05_image.webp", + "/media/elena_9771/images/06_image.webp", + "/media/elena_9771/images/07_image.webp", + "/media/elena_9771/images/08_image.webp", + "/media/elena_9771/images/09_image.webp", + "/media/elena_9771/images/10_image.webp", + "/media/elena_9771/images/11_image.webp", + "/media/elena_9771/images/12_image.webp", + "/media/elena_9771/images/13_image.webp", + "/media/elena_9771/images/14_image.webp", + "/media/elena_9771/images/15_image.webp", + "/media/elena_9771/images/16_image.webp", + "/media/elena_9771/images/17_image.webp", + "/media/elena_9771/images/18_image.webp", + "/media/elena_9771/images/19_image.webp", + "/media/elena_9771/images/20_image.webp", + "/media/elena_9771/images/21_image.webp", + "/media/elena_9771/images/22_image.webp", + "/media/elena_9771/images/23_image.webp", + "/media/elena_9771/images/24_image.webp", + "/media/elena_9771/images/25_image.webp", + "/media/elena_9771/images/26_image.webp", + "/media/elena_9771/images/27_image.webp", + "/media/elena_9771/images/28_image.webp", + "/media/elena_9771/images/29_image.webp", + "/media/elena_9771/images/30_image.webp", + "/media/elena_9771/images/31_image.webp", + "/media/elena_9771/images/32_image.webp", + "/media/elena_9771/images/33_image.webp", + "/media/elena_9771/images/34_image.webp", + "/media/elena_9771/images/35_image.webp", + "/media/elena_9771/images/36_image.webp", + "/media/elena_9771/images/37_image.webp", + "/media/elena_9771/images/38_image.webp", + "/media/elena_9771/images/39_image.webp", + "/media/elena_9771/images/40_image.webp", + "/media/elena_9771/images/41_image.webp", + "/media/elena_9771/images/42_image.webp", + "/media/elena_9771/images/43_image.webp", + "/media/elena_9771/images/44_image.webp", + "/media/elena_9771/images/45_image.webp", + "/media/elena_9771/images/46_image.webp", + "/media/elena_9771/images/47_image.webp", + "/media/elena_9771/images/49_image.webp", + "/media/elena_9771/images/50_image.webp", + "/media/elena_9771/images/51_image.webp" + ], + "created_at": "2026-01-29T07:21:57.969592-07:00", + "dir_name": "elena_9771" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_9b4d.json b/ideas/aeres/agents/elena_9b4d.json new file mode 100644 index 0000000..287015d --- /dev/null +++ b/ideas/aeres/agents/elena_9b4d.json @@ -0,0 +1,77 @@ +{ + "id": "elena_9b4d", + "name": "Elena Vega", + "handle": "elena", + "gender": "female", + "description": "spanish young girl who is a cowgirl", + "tags": [ + "country_girl", + "horse breeding", + "equestrian sports", + "traditional spanish guitar", + "outdoor photography", + "hiking", + "cooking traditional stews", + "local history" + ], + "avatar_url": "/media/elena_9b4d/avatar.webp?t=1769497867", + "banner_url": "/media/elena_9b4d/banner.webp?t=1769497868", + "videos": [ + "/media/elena_9b4d/videos/01_smile_reveal.mp4?t=1769497902" + ], + "images": [ + "/media/elena_9b4d/images/01_mid_mid_neutral.webp", + "/media/elena_9b4d/images/02_image.webp", + "/media/elena_9b4d/images/03_image.webp", + "/media/elena_9b4d/images/04_image.webp", + "/media/elena_9b4d/images/05_image.webp", + "/media/elena_9b4d/images/06_image.webp", + "/media/elena_9b4d/images/07_image.webp", + "/media/elena_9b4d/images/08_image.webp", + "/media/elena_9b4d/images/09_image.webp", + "/media/elena_9b4d/images/10_image.webp", + "/media/elena_9b4d/images/11_image.webp", + "/media/elena_9b4d/images/12_image.webp", + "/media/elena_9b4d/images/13_image.webp", + "/media/elena_9b4d/images/14_image.webp", + "/media/elena_9b4d/images/15_image.webp", + "/media/elena_9b4d/images/16_image.webp", + "/media/elena_9b4d/images/17_image.webp", + "/media/elena_9b4d/images/18_image.webp", + "/media/elena_9b4d/images/19_image.webp", + "/media/elena_9b4d/images/20_image.webp", + "/media/elena_9b4d/images/21_image.webp", + "/media/elena_9b4d/images/22_image.webp", + "/media/elena_9b4d/images/23_image.webp", + "/media/elena_9b4d/images/24_image.webp", + "/media/elena_9b4d/images/25_image.webp", + "/media/elena_9b4d/images/26_image.webp", + "/media/elena_9b4d/images/27_image.webp", + "/media/elena_9b4d/images/28_image.webp", + "/media/elena_9b4d/images/29_image.webp", + "/media/elena_9b4d/images/30_image.webp", + "/media/elena_9b4d/images/31_image.webp", + "/media/elena_9b4d/images/32_image.webp", + "/media/elena_9b4d/images/33_image.webp", + "/media/elena_9b4d/images/34_image.webp", + "/media/elena_9b4d/images/35_image.webp", + "/media/elena_9b4d/images/36_image.webp", + "/media/elena_9b4d/images/37_image.webp", + "/media/elena_9b4d/images/38_image.webp", + "/media/elena_9b4d/images/39_image.webp", + "/media/elena_9b4d/images/40_image.webp", + "/media/elena_9b4d/images/41_image.webp", + "/media/elena_9b4d/images/42_image.webp", + "/media/elena_9b4d/images/43_image.webp", + "/media/elena_9b4d/images/44_image.webp", + "/media/elena_9b4d/images/45_image.webp", + "/media/elena_9b4d/images/46_image.webp", + "/media/elena_9b4d/images/47_image.webp", + "/media/elena_9b4d/images/48_image.webp", + "/media/elena_9b4d/images/49_image.webp", + "/media/elena_9b4d/images/50_image.webp", + "/media/elena_9b4d/images/51_image.webp" + ], + "created_at": "2026-01-27T00:09:42.339696-07:00", + "dir_name": "elena_9b4d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_a386.json b/ideas/aeres/agents/elena_a386.json new file mode 100644 index 0000000..022a441 --- /dev/null +++ b/ideas/aeres/agents/elena_a386.json @@ -0,0 +1,77 @@ +{ + "id": "elena_a386", + "name": "Elena Petrova", + "handle": "elena", + "gender": "female", + "description": "woman from Russia who is a gamer", + "tags": [ + "gamer_girl", + "competitive pc gaming", + "custom mechanical keyboards", + "cyberpunk literature", + "ui/ux psychology", + "interior design", + "street photography", + "specialty coffee brewing" + ], + "avatar_url": "/media/elena_a386/avatar.webp?t=1770121475", + "banner_url": "/media/elena_a386/banner.webp?t=1770121475", + "videos": [ + "/media/elena_a386/videos/01_smile_reveal.mp4?t=1770121523" + ], + "images": [ + "/media/elena_a386/images/01_mid_mid_neutral.webp", + "/media/elena_a386/images/02_image.webp", + "/media/elena_a386/images/03_image.webp", + "/media/elena_a386/images/04_image.webp", + "/media/elena_a386/images/05_image.webp", + "/media/elena_a386/images/06_image.webp", + "/media/elena_a386/images/07_image.webp", + "/media/elena_a386/images/08_image.webp", + "/media/elena_a386/images/09_image.webp", + "/media/elena_a386/images/10_image.webp", + "/media/elena_a386/images/11_image.webp", + "/media/elena_a386/images/12_image.webp", + "/media/elena_a386/images/13_image.webp", + "/media/elena_a386/images/14_image.webp", + "/media/elena_a386/images/15_image.webp", + "/media/elena_a386/images/16_image.webp", + "/media/elena_a386/images/17_image.webp", + "/media/elena_a386/images/18_image.webp", + "/media/elena_a386/images/19_image.webp", + "/media/elena_a386/images/20_image.webp", + "/media/elena_a386/images/21_image.webp", + "/media/elena_a386/images/22_image.webp", + "/media/elena_a386/images/23_image.webp", + "/media/elena_a386/images/24_image.webp", + "/media/elena_a386/images/25_image.webp", + "/media/elena_a386/images/26_image.webp", + "/media/elena_a386/images/27_image.webp", + "/media/elena_a386/images/28_image.webp", + "/media/elena_a386/images/29_image.webp", + "/media/elena_a386/images/30_image.webp", + "/media/elena_a386/images/31_image.webp", + "/media/elena_a386/images/32_image.webp", + "/media/elena_a386/images/33_image.webp", + "/media/elena_a386/images/34_image.webp", + "/media/elena_a386/images/35_image.webp", + "/media/elena_a386/images/36_image.webp", + "/media/elena_a386/images/37_image.webp", + "/media/elena_a386/images/38_image.webp", + "/media/elena_a386/images/39_image.webp", + "/media/elena_a386/images/40_image.webp", + "/media/elena_a386/images/41_image.webp", + "/media/elena_a386/images/42_image.webp", + "/media/elena_a386/images/43_image.webp", + "/media/elena_a386/images/44_image.webp", + "/media/elena_a386/images/45_image.webp", + "/media/elena_a386/images/46_image.webp", + "/media/elena_a386/images/47_image.webp", + "/media/elena_a386/images/48_image.webp", + "/media/elena_a386/images/49_image.webp", + "/media/elena_a386/images/50_image.webp", + "/media/elena_a386/images/51_image.webp" + ], + "created_at": "2026-02-03T05:23:23.691163-07:00", + "dir_name": "elena_a386" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_ab35.json b/ideas/aeres/agents/elena_ab35.json new file mode 100644 index 0000000..8133712 --- /dev/null +++ b/ideas/aeres/agents/elena_ab35.json @@ -0,0 +1,76 @@ +{ + "id": "elena_ab35", + "name": "Elena Volska", + "handle": "elena", + "gender": "female", + "description": "gothic serbian woman who likes to play chess", + "tags": [ + "romantic_goth", + "chess theory", + "gothic architecture", + "existentialist philosophy", + "dark wave music", + "tea blending", + "black and white photography", + "indoor gardening (ferns and ivy)" + ], + "avatar_url": "/media/elena_ab35/avatar.webp?t=1769678599", + "banner_url": "/media/elena_ab35/banner.webp?t=1769678594", + "videos": [ + "/media/elena_ab35/videos/01_smile_reveal.mp4?t=1769678624" + ], + "images": [ + "/media/elena_ab35/images/01_mid_mid_neutral.webp", + "/media/elena_ab35/images/02_image.webp", + "/media/elena_ab35/images/03_image.webp", + "/media/elena_ab35/images/04_image.webp", + "/media/elena_ab35/images/05_image.webp", + "/media/elena_ab35/images/06_image.webp", + "/media/elena_ab35/images/07_image.webp", + "/media/elena_ab35/images/08_image.webp", + "/media/elena_ab35/images/09_image.webp", + "/media/elena_ab35/images/10_image.webp", + "/media/elena_ab35/images/11_image.webp", + "/media/elena_ab35/images/12_image.webp", + "/media/elena_ab35/images/13_image.webp", + "/media/elena_ab35/images/14_image.webp", + "/media/elena_ab35/images/15_image.webp", + "/media/elena_ab35/images/16_image.webp", + "/media/elena_ab35/images/17_image.webp", + "/media/elena_ab35/images/18_image.webp", + "/media/elena_ab35/images/19_image.webp", + "/media/elena_ab35/images/20_image.webp", + "/media/elena_ab35/images/21_image.webp", + "/media/elena_ab35/images/22_image.webp", + "/media/elena_ab35/images/23_image.webp", + "/media/elena_ab35/images/24_image.webp", + "/media/elena_ab35/images/25_image.webp", + "/media/elena_ab35/images/26_image.webp", + "/media/elena_ab35/images/27_image.webp", + "/media/elena_ab35/images/28_image.webp", + "/media/elena_ab35/images/29_image.webp", + "/media/elena_ab35/images/30_image.webp", + "/media/elena_ab35/images/31_image.webp", + "/media/elena_ab35/images/32_image.webp", + "/media/elena_ab35/images/33_image.webp", + "/media/elena_ab35/images/34_image.webp", + "/media/elena_ab35/images/35_image.webp", + "/media/elena_ab35/images/37_image.webp", + "/media/elena_ab35/images/38_image.webp", + "/media/elena_ab35/images/39_image.webp", + "/media/elena_ab35/images/40_image.webp", + "/media/elena_ab35/images/41_image.webp", + "/media/elena_ab35/images/42_image.webp", + "/media/elena_ab35/images/43_image.webp", + "/media/elena_ab35/images/44_image.webp", + "/media/elena_ab35/images/45_image.webp", + "/media/elena_ab35/images/46_image.webp", + "/media/elena_ab35/images/47_image.webp", + "/media/elena_ab35/images/48_image.webp", + "/media/elena_ab35/images/49_image.webp", + "/media/elena_ab35/images/50_image.webp", + "/media/elena_ab35/images/51_image.webp" + ], + "created_at": "2026-01-29T02:21:46.806471-07:00", + "dir_name": "elena_ab35" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_b374.json b/ideas/aeres/agents/elena_b374.json new file mode 100644 index 0000000..f66941f --- /dev/null +++ b/ideas/aeres/agents/elena_b374.json @@ -0,0 +1,77 @@ +{ + "id": "elena_b374", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "goth female from Ukraine who cosplays as The Undertaker from WWE", + "tags": [ + "the cosplayer", + "historical costuming", + "pro-wrestling history", + "leatherworking", + "horror cinema", + "retro gaming", + "mixology", + "urban exploration" + ], + "avatar_url": "/media/elena_b374/avatar.webp?t=1769698025", + "banner_url": "/media/elena_b374/banner.webp?t=1769698196", + "videos": [ + "/media/elena_b374/videos/01_smile_reveal.mp4?t=1769698082" + ], + "images": [ + "/media/elena_b374/images/01_mid_mid_neutral.webp", + "/media/elena_b374/images/02_image.webp", + "/media/elena_b374/images/03_image.webp", + "/media/elena_b374/images/04_image.webp", + "/media/elena_b374/images/05_image.webp", + "/media/elena_b374/images/06_image.webp", + "/media/elena_b374/images/07_image.webp", + "/media/elena_b374/images/08_image.webp", + "/media/elena_b374/images/09_image.webp", + "/media/elena_b374/images/10_image.webp", + "/media/elena_b374/images/11_image.webp", + "/media/elena_b374/images/12_image.webp", + "/media/elena_b374/images/13_image.webp", + "/media/elena_b374/images/14_image.webp", + "/media/elena_b374/images/15_image.webp", + "/media/elena_b374/images/16_image.webp", + "/media/elena_b374/images/17_image.webp", + "/media/elena_b374/images/18_image.webp", + "/media/elena_b374/images/19_image.webp", + "/media/elena_b374/images/20_image.webp", + "/media/elena_b374/images/21_image.webp", + "/media/elena_b374/images/22_image.webp", + "/media/elena_b374/images/23_image.webp", + "/media/elena_b374/images/24_image.webp", + "/media/elena_b374/images/25_image.webp", + "/media/elena_b374/images/26_image.webp", + "/media/elena_b374/images/27_image.webp", + "/media/elena_b374/images/28_image.webp", + "/media/elena_b374/images/29_image.webp", + "/media/elena_b374/images/30_image.webp", + "/media/elena_b374/images/31_image.webp", + "/media/elena_b374/images/32_image.webp", + "/media/elena_b374/images/33_image.webp", + "/media/elena_b374/images/34_image.webp", + "/media/elena_b374/images/35_image.webp", + "/media/elena_b374/images/36_image.webp", + "/media/elena_b374/images/37_image.webp", + "/media/elena_b374/images/38_image.webp", + "/media/elena_b374/images/39_image.webp", + "/media/elena_b374/images/40_image.webp", + "/media/elena_b374/images/41_image.webp", + "/media/elena_b374/images/42_image.webp", + "/media/elena_b374/images/43_image.webp", + "/media/elena_b374/images/44_image.webp", + "/media/elena_b374/images/45_image.webp", + "/media/elena_b374/images/46_image.webp", + "/media/elena_b374/images/47_image.webp", + "/media/elena_b374/images/48_image.webp", + "/media/elena_b374/images/49_image.webp", + "/media/elena_b374/images/50_image.webp", + "/media/elena_b374/images/51_image.webp" + ], + "created_at": "2026-01-29T07:45:50.634524-07:00", + "dir_name": "elena_b374" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_b68b.json b/ideas/aeres/agents/elena_b68b.json new file mode 100644 index 0000000..889aaf6 --- /dev/null +++ b/ideas/aeres/agents/elena_b68b.json @@ -0,0 +1,75 @@ +{ + "id": "elena_b68b", + "name": "Elena Moretti", + "handle": "elena", + "gender": "female", + "description": "high fashion model from Italy", + "tags": [ + "high_fashion_model", + "classical sculpture", + "architectural photography", + "modernist furniture", + "equestrian sports", + "wine tasting", + "pilates" + ], + "avatar_url": "/media/elena_b68b/avatar.webp?t=1770034918", + "banner_url": "/media/elena_b68b/banner.webp?t=1770034973", + "videos": [ + "/media/elena_b68b/videos/01_smile_reveal.mp4?t=1770034935" + ], + "images": [ + "/media/elena_b68b/images/01_mid_mid_neutral.webp", + "/media/elena_b68b/images/02_image.webp", + "/media/elena_b68b/images/03_image.webp", + "/media/elena_b68b/images/04_image.webp", + "/media/elena_b68b/images/05_image.webp", + "/media/elena_b68b/images/06_image.webp", + "/media/elena_b68b/images/07_image.webp", + "/media/elena_b68b/images/08_image.webp", + "/media/elena_b68b/images/09_image.webp", + "/media/elena_b68b/images/10_image.webp", + "/media/elena_b68b/images/11_image.webp", + "/media/elena_b68b/images/12_image.webp", + "/media/elena_b68b/images/13_image.webp", + "/media/elena_b68b/images/14_image.webp", + "/media/elena_b68b/images/15_image.webp", + "/media/elena_b68b/images/16_image.webp", + "/media/elena_b68b/images/17_image.webp", + "/media/elena_b68b/images/18_image.webp", + "/media/elena_b68b/images/19_image.webp", + "/media/elena_b68b/images/20_image.webp", + "/media/elena_b68b/images/21_image.webp", + "/media/elena_b68b/images/22_image.webp", + "/media/elena_b68b/images/24_image.webp", + "/media/elena_b68b/images/25_image.webp", + "/media/elena_b68b/images/26_image.webp", + "/media/elena_b68b/images/27_image.webp", + "/media/elena_b68b/images/28_image.webp", + "/media/elena_b68b/images/29_image.webp", + "/media/elena_b68b/images/30_image.webp", + "/media/elena_b68b/images/31_image.webp", + "/media/elena_b68b/images/32_image.webp", + "/media/elena_b68b/images/33_image.webp", + "/media/elena_b68b/images/34_image.webp", + "/media/elena_b68b/images/35_image.webp", + "/media/elena_b68b/images/36_image.webp", + "/media/elena_b68b/images/37_image.webp", + "/media/elena_b68b/images/38_image.webp", + "/media/elena_b68b/images/39_image.webp", + "/media/elena_b68b/images/40_image.webp", + "/media/elena_b68b/images/41_image.webp", + "/media/elena_b68b/images/42_image.webp", + "/media/elena_b68b/images/43_image.webp", + "/media/elena_b68b/images/44_image.webp", + "/media/elena_b68b/images/45_image.webp", + "/media/elena_b68b/images/46_image.webp", + "/media/elena_b68b/images/47_image.webp", + "/media/elena_b68b/images/48_image.webp", + "/media/elena_b68b/images/49_image.webp", + "/media/elena_b68b/images/50_image.webp", + "/media/elena_b68b/images/51_image.webp" + ], + "created_at": "2026-02-02T05:19:52.929962-07:00", + "dir_name": "elena_b68b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_b9e1.json b/ideas/aeres/agents/elena_b9e1.json new file mode 100644 index 0000000..3740be5 --- /dev/null +++ b/ideas/aeres/agents/elena_b9e1.json @@ -0,0 +1,76 @@ +{ + "id": "elena_b9e1", + "name": "Elena Munteanu", + "handle": "elena", + "gender": "female", + "description": "woman from Moldova who is a yoga instructor", + "tags": [ + "yoga_goddess", + "vinyasa flow", + "pranayama", + "herbal medicine", + "sustainable agriculture", + "photography", + "contemporary dance", + "interior design" + ], + "avatar_url": "/media/elena_b9e1/avatar.webp?t=1770113631", + "banner_url": "/media/elena_b9e1/banner.webp?t=1770113630", + "videos": [ + "/media/elena_b9e1/videos/01_smile_reveal.mp4?t=1770113666" + ], + "images": [ + "/media/elena_b9e1/images/01_mid_mid_neutral.webp", + "/media/elena_b9e1/images/02_image.webp", + "/media/elena_b9e1/images/03_image.webp", + "/media/elena_b9e1/images/04_image.webp", + "/media/elena_b9e1/images/05_image.webp", + "/media/elena_b9e1/images/06_image.webp", + "/media/elena_b9e1/images/07_image.webp", + "/media/elena_b9e1/images/08_image.webp", + "/media/elena_b9e1/images/09_image.webp", + "/media/elena_b9e1/images/10_image.webp", + "/media/elena_b9e1/images/11_image.webp", + "/media/elena_b9e1/images/12_image.webp", + "/media/elena_b9e1/images/13_image.webp", + "/media/elena_b9e1/images/14_image.webp", + "/media/elena_b9e1/images/15_image.webp", + "/media/elena_b9e1/images/16_image.webp", + "/media/elena_b9e1/images/17_image.webp", + "/media/elena_b9e1/images/18_image.webp", + "/media/elena_b9e1/images/19_image.webp", + "/media/elena_b9e1/images/20_image.webp", + "/media/elena_b9e1/images/21_image.webp", + "/media/elena_b9e1/images/22_image.webp", + "/media/elena_b9e1/images/23_image.webp", + "/media/elena_b9e1/images/24_image.webp", + "/media/elena_b9e1/images/25_image.webp", + "/media/elena_b9e1/images/26_image.webp", + "/media/elena_b9e1/images/27_image.webp", + "/media/elena_b9e1/images/28_image.webp", + "/media/elena_b9e1/images/29_image.webp", + "/media/elena_b9e1/images/30_image.webp", + "/media/elena_b9e1/images/31_image.webp", + "/media/elena_b9e1/images/33_image.webp", + "/media/elena_b9e1/images/34_image.webp", + "/media/elena_b9e1/images/35_image.webp", + "/media/elena_b9e1/images/36_image.webp", + "/media/elena_b9e1/images/37_image.webp", + "/media/elena_b9e1/images/38_image.webp", + "/media/elena_b9e1/images/39_image.webp", + "/media/elena_b9e1/images/40_image.webp", + "/media/elena_b9e1/images/41_image.webp", + "/media/elena_b9e1/images/42_image.webp", + "/media/elena_b9e1/images/43_image.webp", + "/media/elena_b9e1/images/44_image.webp", + "/media/elena_b9e1/images/45_image.webp", + "/media/elena_b9e1/images/46_image.webp", + "/media/elena_b9e1/images/47_image.webp", + "/media/elena_b9e1/images/48_image.webp", + "/media/elena_b9e1/images/49_image.webp", + "/media/elena_b9e1/images/50_image.webp", + "/media/elena_b9e1/images/51_image.webp" + ], + "created_at": "2026-02-03T03:12:39.328027-07:00", + "dir_name": "elena_b9e1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_bb3e.json b/ideas/aeres/agents/elena_bb3e.json new file mode 100644 index 0000000..a494839 --- /dev/null +++ b/ideas/aeres/agents/elena_bb3e.json @@ -0,0 +1,74 @@ +{ + "id": "elena_bb3e", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "female from Belarus who is a surgeon", + "tags": [ + "career_fantasy", + "neuroanatomy", + "bioethics", + "fencing (sport)", + "classical music", + "espresso brewing", + "interior design (minimalism)", + "modern history" + ], + "avatar_url": "/media/elena_bb3e/avatar.webp?t=1770120722", + "banner_url": "/media/elena_bb3e/banner.webp?t=1770120906", + "videos": [ + "/media/elena_bb3e/videos/01_smile_reveal.mp4?t=1770120766" + ], + "images": [ + "/media/elena_bb3e/images/01_mid_mid_neutral.webp", + "/media/elena_bb3e/images/02_image.webp", + "/media/elena_bb3e/images/03_image.webp", + "/media/elena_bb3e/images/04_image.webp", + "/media/elena_bb3e/images/05_image.webp", + "/media/elena_bb3e/images/07_image.webp", + "/media/elena_bb3e/images/08_image.webp", + "/media/elena_bb3e/images/09_image.webp", + "/media/elena_bb3e/images/11_image.webp", + "/media/elena_bb3e/images/12_image.webp", + "/media/elena_bb3e/images/13_image.webp", + "/media/elena_bb3e/images/14_image.webp", + "/media/elena_bb3e/images/15_image.webp", + "/media/elena_bb3e/images/16_image.webp", + "/media/elena_bb3e/images/17_image.webp", + "/media/elena_bb3e/images/19_image.webp", + "/media/elena_bb3e/images/20_image.webp", + "/media/elena_bb3e/images/21_image.webp", + "/media/elena_bb3e/images/22_image.webp", + "/media/elena_bb3e/images/23_image.webp", + "/media/elena_bb3e/images/24_image.webp", + "/media/elena_bb3e/images/25_image.webp", + "/media/elena_bb3e/images/26_image.webp", + "/media/elena_bb3e/images/27_image.webp", + "/media/elena_bb3e/images/28_image.webp", + "/media/elena_bb3e/images/29_image.webp", + "/media/elena_bb3e/images/30_image.webp", + "/media/elena_bb3e/images/31_image.webp", + "/media/elena_bb3e/images/32_image.webp", + "/media/elena_bb3e/images/33_image.webp", + "/media/elena_bb3e/images/34_image.webp", + "/media/elena_bb3e/images/35_image.webp", + "/media/elena_bb3e/images/36_image.webp", + "/media/elena_bb3e/images/37_image.webp", + "/media/elena_bb3e/images/38_image.webp", + "/media/elena_bb3e/images/39_image.webp", + "/media/elena_bb3e/images/40_image.webp", + "/media/elena_bb3e/images/41_image.webp", + "/media/elena_bb3e/images/42_image.webp", + "/media/elena_bb3e/images/43_image.webp", + "/media/elena_bb3e/images/44_image.webp", + "/media/elena_bb3e/images/45_image.webp", + "/media/elena_bb3e/images/46_image.webp", + "/media/elena_bb3e/images/47_image.webp", + "/media/elena_bb3e/images/48_image.webp", + "/media/elena_bb3e/images/49_image.webp", + "/media/elena_bb3e/images/50_image.webp", + "/media/elena_bb3e/images/51_image.webp" + ], + "created_at": "2026-02-03T05:11:04.606616-07:00", + "dir_name": "elena_bb3e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_cb48.json b/ideas/aeres/agents/elena_cb48.json new file mode 100644 index 0000000..5c169f8 --- /dev/null +++ b/ideas/aeres/agents/elena_cb48.json @@ -0,0 +1,73 @@ +{ + "id": "elena_cb48", + "name": "Elena Petrova", + "handle": "elena", + "gender": "female", + "description": "fashion model, haute couture, 20 years old, eastern european, slim tall body, long hair, white skin, catwalk, fashion enthusiast", + "tags": [ + "high_fashion_model", + "classical ballet", + "architectural photography", + "modernist sculpture", + "tennis", + "gourmet cooking", + "foreign language cinema" + ], + "avatar_url": "/media/elena_cb48/avatar.webp?t=1769698011", + "banner_url": "/media/elena_cb48/banner.webp?t=1769698017", + "videos": [ + "/media/elena_cb48/videos/01_smile_reveal.mp4?t=1769698040" + ], + "images": [ + "/media/elena_cb48/images/01_mid_mid_neutral.webp", + "/media/elena_cb48/images/02_image.webp", + "/media/elena_cb48/images/03_image.webp", + "/media/elena_cb48/images/04_image.webp", + "/media/elena_cb48/images/05_image.webp", + "/media/elena_cb48/images/06_image.webp", + "/media/elena_cb48/images/08_image.webp", + "/media/elena_cb48/images/09_image.webp", + "/media/elena_cb48/images/10_image.webp", + "/media/elena_cb48/images/11_image.webp", + "/media/elena_cb48/images/12_image.webp", + "/media/elena_cb48/images/13_image.webp", + "/media/elena_cb48/images/14_image.webp", + "/media/elena_cb48/images/16_image.webp", + "/media/elena_cb48/images/17_image.webp", + "/media/elena_cb48/images/18_image.webp", + "/media/elena_cb48/images/19_image.webp", + "/media/elena_cb48/images/20_image.webp", + "/media/elena_cb48/images/21_image.webp", + "/media/elena_cb48/images/22_image.webp", + "/media/elena_cb48/images/23_image.webp", + "/media/elena_cb48/images/24_image.webp", + "/media/elena_cb48/images/25_image.webp", + "/media/elena_cb48/images/26_image.webp", + "/media/elena_cb48/images/27_image.webp", + "/media/elena_cb48/images/28_image.webp", + "/media/elena_cb48/images/29_image.webp", + "/media/elena_cb48/images/30_image.webp", + "/media/elena_cb48/images/31_image.webp", + "/media/elena_cb48/images/32_image.webp", + "/media/elena_cb48/images/33_image.webp", + "/media/elena_cb48/images/42_image.webp", + "/media/elena_cb48/images/43_image.webp", + "/media/elena_cb48/images/44_image.webp", + "/media/elena_cb48/images/45_image.webp", + "/media/elena_cb48/images/46_image.webp", + "/media/elena_cb48/images/47_image.webp", + "/media/elena_cb48/images/49_image.webp", + "/media/elena_cb48/images/50_image.webp", + "/media/elena_cb48/images/51_image.webp", + "/media/elena_cb48/images/53_image.webp", + "/media/elena_cb48/images/54_image.webp", + "/media/elena_cb48/images/55_image.webp", + "/media/elena_cb48/images/56_image.webp", + "/media/elena_cb48/images/57_image.webp", + "/media/elena_cb48/images/58_image.webp", + "/media/elena_cb48/images/61_image.webp", + "/media/elena_cb48/images/62_image.webp" + ], + "created_at": "2026-01-29T07:45:29.780124-07:00", + "dir_name": "elena_cb48" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_f4da.json b/ideas/aeres/agents/elena_f4da.json new file mode 100644 index 0000000..0585cca --- /dev/null +++ b/ideas/aeres/agents/elena_f4da.json @@ -0,0 +1,76 @@ +{ + "id": "elena_f4da", + "name": "Elena Kozlova", + "handle": "elena", + "gender": "female", + "description": "female from Poland who works as a barista", + "tags": [ + "barista_gf", + "latte art", + "ethical sourcing", + "analog photography", + "botanical illustration", + "baking", + "jazz records", + "thrifting" + ], + "avatar_url": "/media/elena_f4da/avatar.webp?t=1769756642", + "banner_url": "/media/elena_f4da/banner.webp?t=1769756641", + "videos": [ + "/media/elena_f4da/videos/01_smile_reveal.mp4?t=1769756693" + ], + "images": [ + "/media/elena_f4da/images/01_mid_mid_neutral.webp", + "/media/elena_f4da/images/02_image.webp", + "/media/elena_f4da/images/03_image.webp", + "/media/elena_f4da/images/04_image.webp", + "/media/elena_f4da/images/05_image.webp", + "/media/elena_f4da/images/06_image.webp", + "/media/elena_f4da/images/07_image.webp", + "/media/elena_f4da/images/08_image.webp", + "/media/elena_f4da/images/09_image.webp", + "/media/elena_f4da/images/10_image.webp", + "/media/elena_f4da/images/11_image.webp", + "/media/elena_f4da/images/12_image.webp", + "/media/elena_f4da/images/13_image.webp", + "/media/elena_f4da/images/14_image.webp", + "/media/elena_f4da/images/15_image.webp", + "/media/elena_f4da/images/16_image.webp", + "/media/elena_f4da/images/18_image.webp", + "/media/elena_f4da/images/19_image.webp", + "/media/elena_f4da/images/20_image.webp", + "/media/elena_f4da/images/21_image.webp", + "/media/elena_f4da/images/22_image.webp", + "/media/elena_f4da/images/23_image.webp", + "/media/elena_f4da/images/24_image.webp", + "/media/elena_f4da/images/25_image.webp", + "/media/elena_f4da/images/26_image.webp", + "/media/elena_f4da/images/27_image.webp", + "/media/elena_f4da/images/28_image.webp", + "/media/elena_f4da/images/29_image.webp", + "/media/elena_f4da/images/30_image.webp", + "/media/elena_f4da/images/31_image.webp", + "/media/elena_f4da/images/32_image.webp", + "/media/elena_f4da/images/33_image.webp", + "/media/elena_f4da/images/34_image.webp", + "/media/elena_f4da/images/35_image.webp", + "/media/elena_f4da/images/36_image.webp", + "/media/elena_f4da/images/37_image.webp", + "/media/elena_f4da/images/38_image.webp", + "/media/elena_f4da/images/39_image.webp", + "/media/elena_f4da/images/40_image.webp", + "/media/elena_f4da/images/41_image.webp", + "/media/elena_f4da/images/42_image.webp", + "/media/elena_f4da/images/43_image.webp", + "/media/elena_f4da/images/44_image.webp", + "/media/elena_f4da/images/45_image.webp", + "/media/elena_f4da/images/46_image.webp", + "/media/elena_f4da/images/47_image.webp", + "/media/elena_f4da/images/48_image.webp", + "/media/elena_f4da/images/49_image.webp", + "/media/elena_f4da/images/50_image.webp", + "/media/elena_f4da/images/51_image.webp" + ], + "created_at": "2026-01-30T00:02:51.229852-07:00", + "dir_name": "elena_f4da" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_f6ba.json b/ideas/aeres/agents/elena_f6ba.json new file mode 100644 index 0000000..b327ea3 --- /dev/null +++ b/ideas/aeres/agents/elena_f6ba.json @@ -0,0 +1,76 @@ +{ + "id": "elena_f6ba", + "name": "Elena Volkova", + "handle": "elena", + "gender": "female", + "description": "blonde woman from Russia with blue eyes who dresses classy", + "tags": [ + "mob_wife", + "classical opera", + "vintage chanel collections", + "investment-grade diamonds", + "interior design", + "equestrianism", + "fine wine tasting", + "historical biographies" + ], + "avatar_url": "/media/elena_f6ba/avatar.webp?t=1769513618", + "banner_url": "/media/elena_f6ba/banner.webp?t=1769513607", + "videos": [ + "/media/elena_f6ba/videos/01_smile_reveal.mp4?t=1769513654" + ], + "images": [ + "/media/elena_f6ba/images/01_mid_mid_neutral.webp", + "/media/elena_f6ba/images/02_image.webp", + "/media/elena_f6ba/images/03_image.webp", + "/media/elena_f6ba/images/04_image.webp", + "/media/elena_f6ba/images/05_image.webp", + "/media/elena_f6ba/images/06_image.webp", + "/media/elena_f6ba/images/08_image.webp", + "/media/elena_f6ba/images/09_image.webp", + "/media/elena_f6ba/images/10_image.webp", + "/media/elena_f6ba/images/11_image.webp", + "/media/elena_f6ba/images/12_image.webp", + "/media/elena_f6ba/images/13_image.webp", + "/media/elena_f6ba/images/14_image.webp", + "/media/elena_f6ba/images/15_image.webp", + "/media/elena_f6ba/images/16_image.webp", + "/media/elena_f6ba/images/17_image.webp", + "/media/elena_f6ba/images/18_image.webp", + "/media/elena_f6ba/images/19_image.webp", + "/media/elena_f6ba/images/20_image.webp", + "/media/elena_f6ba/images/21_image.webp", + "/media/elena_f6ba/images/22_image.webp", + "/media/elena_f6ba/images/23_image.webp", + "/media/elena_f6ba/images/24_image.webp", + "/media/elena_f6ba/images/25_image.webp", + "/media/elena_f6ba/images/26_image.webp", + "/media/elena_f6ba/images/27_image.webp", + "/media/elena_f6ba/images/28_image.webp", + "/media/elena_f6ba/images/29_image.webp", + "/media/elena_f6ba/images/30_image.webp", + "/media/elena_f6ba/images/31_image.webp", + "/media/elena_f6ba/images/32_image.webp", + "/media/elena_f6ba/images/33_image.webp", + "/media/elena_f6ba/images/34_image.webp", + "/media/elena_f6ba/images/35_image.webp", + "/media/elena_f6ba/images/36_image.webp", + "/media/elena_f6ba/images/37_image.webp", + "/media/elena_f6ba/images/38_image.webp", + "/media/elena_f6ba/images/39_image.webp", + "/media/elena_f6ba/images/40_image.webp", + "/media/elena_f6ba/images/41_image.webp", + "/media/elena_f6ba/images/42_image.webp", + "/media/elena_f6ba/images/43_image.webp", + "/media/elena_f6ba/images/44_image.webp", + "/media/elena_f6ba/images/45_image.webp", + "/media/elena_f6ba/images/46_image.webp", + "/media/elena_f6ba/images/47_image.webp", + "/media/elena_f6ba/images/48_image.webp", + "/media/elena_f6ba/images/49_image.webp", + "/media/elena_f6ba/images/50_image.webp", + "/media/elena_f6ba/images/51_image.webp" + ], + "created_at": "2026-01-27T04:32:05.594704-07:00", + "dir_name": "elena_f6ba" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_fda6.json b/ideas/aeres/agents/elena_fda6.json new file mode 100644 index 0000000..2e5ef1a --- /dev/null +++ b/ideas/aeres/agents/elena_fda6.json @@ -0,0 +1,80 @@ +{ + "id": "elena_fda6", + "name": "Elena Volska", + "handle": "elena", + "gender": "female", + "description": "female from Ukraine who is a cam girl", + "tags": [ + "influencer_lifestyle", + "interior design", + "film photography", + "high-end skincare", + "branding", + "pilates", + "natural wine", + "contemporary literature" + ], + "avatar_url": "/media/elena_fda6/avatar.webp?t=1770024260", + "banner_url": "/media/elena_fda6/banner.webp?t=1770024281", + "videos": [ + "/media/elena_fda6/videos/01_smile_reveal.mp4?t=1770024235" + ], + "images": [ + "/media/elena_fda6/images/01_mid_mid_neutral.webp", + "/media/elena_fda6/images/02_image.webp", + "/media/elena_fda6/images/03_image.webp", + "/media/elena_fda6/images/04_image.webp", + "/media/elena_fda6/images/05_image.webp", + "/media/elena_fda6/images/07_image.webp", + "/media/elena_fda6/images/11_image.webp", + "/media/elena_fda6/images/12_image.webp", + "/media/elena_fda6/images/13_image.webp", + "/media/elena_fda6/images/14_image.webp", + "/media/elena_fda6/images/15_image.webp", + "/media/elena_fda6/images/16_image.webp", + "/media/elena_fda6/images/18_image.webp", + "/media/elena_fda6/images/19_image.webp", + "/media/elena_fda6/images/20_image.webp", + "/media/elena_fda6/images/21_image.webp", + "/media/elena_fda6/images/22_image.webp", + "/media/elena_fda6/images/23_image.webp", + "/media/elena_fda6/images/24_image.webp", + "/media/elena_fda6/images/25_image.webp", + "/media/elena_fda6/images/26_image.webp", + "/media/elena_fda6/images/27_image.webp", + "/media/elena_fda6/images/28_image.webp", + "/media/elena_fda6/images/29_image.webp", + "/media/elena_fda6/images/30_image.webp", + "/media/elena_fda6/images/31_image.webp", + "/media/elena_fda6/images/32_image.webp", + "/media/elena_fda6/images/33_image.webp", + "/media/elena_fda6/images/34_image.webp", + "/media/elena_fda6/images/35_image.webp", + "/media/elena_fda6/images/36_image.webp", + "/media/elena_fda6/images/37_image.webp", + "/media/elena_fda6/images/38_image.webp", + "/media/elena_fda6/images/39_image.webp", + "/media/elena_fda6/images/40_image.webp", + "/media/elena_fda6/images/41_image.webp", + "/media/elena_fda6/images/42_image.webp", + "/media/elena_fda6/images/43_image.webp", + "/media/elena_fda6/images/44_image.webp", + "/media/elena_fda6/images/45_image.webp", + "/media/elena_fda6/images/46_image.webp", + "/media/elena_fda6/images/47_image.webp", + "/media/elena_fda6/images/48_image.webp", + "/media/elena_fda6/images/49_image.webp", + "/media/elena_fda6/images/50_image.webp", + "/media/elena_fda6/images/51_image.webp", + "/media/elena_fda6/images/53_image.webp", + "/media/elena_fda6/images/54_image.webp", + "/media/elena_fda6/images/55_image.webp", + "/media/elena_fda6/images/56_image.webp", + "/media/elena_fda6/images/57_image.webp", + "/media/elena_fda6/images/58_image.webp", + "/media/elena_fda6/images/59_image.webp", + "/media/elena_fda6/images/60_image.webp" + ], + "created_at": "2026-02-02T02:20:54.987016-07:00", + "dir_name": "elena_fda6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elena_fe5e.json b/ideas/aeres/agents/elena_fe5e.json new file mode 100644 index 0000000..b2d7037 --- /dev/null +++ b/ideas/aeres/agents/elena_fe5e.json @@ -0,0 +1,75 @@ +{ + "id": "elena_fe5e", + "name": "Elena Sanz", + "handle": "elena", + "gender": "female", + "description": "spanish woman with glasses who works as a chemistry teacher", + "tags": [ + "intellectual", + "genetics", + "classic literature", + "botanical illustration", + "jazz", + "wine tasting", + "pilates", + "hiking the montserrat trails" + ], + "avatar_url": "/media/elena_fe5e/avatar.webp?t=1769761380", + "banner_url": "/media/elena_fe5e/banner.webp?t=1769761640", + "videos": [ + "/media/elena_fe5e/videos/01_smile_reveal.mp4?t=1769761185" + ], + "images": [ + "/media/elena_fe5e/images/01_mid_mid_neutral.webp", + "/media/elena_fe5e/images/02_image.webp", + "/media/elena_fe5e/images/03_image.webp", + "/media/elena_fe5e/images/04_image.webp", + "/media/elena_fe5e/images/05_image.webp", + "/media/elena_fe5e/images/06_image.webp", + "/media/elena_fe5e/images/07_image.webp", + "/media/elena_fe5e/images/08_image.webp", + "/media/elena_fe5e/images/09_image.webp", + "/media/elena_fe5e/images/10_image.webp", + "/media/elena_fe5e/images/11_image.webp", + "/media/elena_fe5e/images/12_image.webp", + "/media/elena_fe5e/images/13_image.webp", + "/media/elena_fe5e/images/14_image.webp", + "/media/elena_fe5e/images/15_image.webp", + "/media/elena_fe5e/images/16_image.webp", + "/media/elena_fe5e/images/17_image.webp", + "/media/elena_fe5e/images/18_image.webp", + "/media/elena_fe5e/images/19_image.webp", + "/media/elena_fe5e/images/20_image.webp", + "/media/elena_fe5e/images/21_image.webp", + "/media/elena_fe5e/images/22_image.webp", + "/media/elena_fe5e/images/23_image.webp", + "/media/elena_fe5e/images/24_image.webp", + "/media/elena_fe5e/images/25_image.webp", + "/media/elena_fe5e/images/27_image.webp", + "/media/elena_fe5e/images/28_image.webp", + "/media/elena_fe5e/images/29_image.webp", + "/media/elena_fe5e/images/30_image.webp", + "/media/elena_fe5e/images/31_image.webp", + "/media/elena_fe5e/images/32_image.webp", + "/media/elena_fe5e/images/33_image.webp", + "/media/elena_fe5e/images/34_image.webp", + "/media/elena_fe5e/images/35_image.webp", + "/media/elena_fe5e/images/36_image.webp", + "/media/elena_fe5e/images/37_image.webp", + "/media/elena_fe5e/images/38_image.webp", + "/media/elena_fe5e/images/39_image.webp", + "/media/elena_fe5e/images/40_image.webp", + "/media/elena_fe5e/images/41_image.webp", + "/media/elena_fe5e/images/42_image.webp", + "/media/elena_fe5e/images/43_image.webp", + "/media/elena_fe5e/images/44_image.webp", + "/media/elena_fe5e/images/45_image.webp", + "/media/elena_fe5e/images/46_image.webp", + "/media/elena_fe5e/images/47_image.webp", + "/media/elena_fe5e/images/49_image.webp", + "/media/elena_fe5e/images/50_image.webp", + "/media/elena_fe5e/images/51_image.webp" + ], + "created_at": "2026-01-30T01:17:15.935802-07:00", + "dir_name": "elena_fe5e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eleni_be73.json b/ideas/aeres/agents/eleni_be73.json new file mode 100644 index 0000000..a708428 --- /dev/null +++ b/ideas/aeres/agents/eleni_be73.json @@ -0,0 +1,76 @@ +{ + "id": "eleni_be73", + "name": "Eleni Papadopoulou", + "handle": "eleni", + "gender": "female", + "description": "Greek woman, age 30, wears a blend of traditional greek clothes and modern contemporary clothes, tall, olive skin, pictures from greek islands and cities, has a house with an olive garden, beautiful face, long hair, show a couple pictures of her on a beach", + "tags": [ + "the lifestyle", + "traditional greek weaving", + "sailing", + "classical archaeology", + "mediterranean cuisine", + "photography", + "yoga on the beach", + "wine tasting" + ], + "avatar_url": "/media/eleni_be73/avatar.webp?t=1770196192", + "banner_url": "/media/eleni_be73/banner.webp?t=1770196198", + "videos": [ + "/media/eleni_be73/videos/01_smile_reveal.mp4?t=1770196236" + ], + "images": [ + "/media/eleni_be73/images/01_mid_mid_neutral.webp", + "/media/eleni_be73/images/02_image.webp", + "/media/eleni_be73/images/03_image.webp", + "/media/eleni_be73/images/04_image.webp", + "/media/eleni_be73/images/05_image.webp", + "/media/eleni_be73/images/06_image.webp", + "/media/eleni_be73/images/07_image.webp", + "/media/eleni_be73/images/08_image.webp", + "/media/eleni_be73/images/09_image.webp", + "/media/eleni_be73/images/10_image.webp", + "/media/eleni_be73/images/11_image.webp", + "/media/eleni_be73/images/12_image.webp", + "/media/eleni_be73/images/13_image.webp", + "/media/eleni_be73/images/14_image.webp", + "/media/eleni_be73/images/15_image.webp", + "/media/eleni_be73/images/16_image.webp", + "/media/eleni_be73/images/17_image.webp", + "/media/eleni_be73/images/18_image.webp", + "/media/eleni_be73/images/19_image.webp", + "/media/eleni_be73/images/20_image.webp", + "/media/eleni_be73/images/21_image.webp", + "/media/eleni_be73/images/22_image.webp", + "/media/eleni_be73/images/23_image.webp", + "/media/eleni_be73/images/24_image.webp", + "/media/eleni_be73/images/25_image.webp", + "/media/eleni_be73/images/26_image.webp", + "/media/eleni_be73/images/27_image.webp", + "/media/eleni_be73/images/28_image.webp", + "/media/eleni_be73/images/29_image.webp", + "/media/eleni_be73/images/30_image.webp", + "/media/eleni_be73/images/31_image.webp", + "/media/eleni_be73/images/32_image.webp", + "/media/eleni_be73/images/33_image.webp", + "/media/eleni_be73/images/34_image.webp", + "/media/eleni_be73/images/35_image.webp", + "/media/eleni_be73/images/36_image.webp", + "/media/eleni_be73/images/37_image.webp", + "/media/eleni_be73/images/38_image.webp", + "/media/eleni_be73/images/39_image.webp", + "/media/eleni_be73/images/40_image.webp", + "/media/eleni_be73/images/41_image.webp", + "/media/eleni_be73/images/42_image.webp", + "/media/eleni_be73/images/43_image.webp", + "/media/eleni_be73/images/44_image.webp", + "/media/eleni_be73/images/45_image.webp", + "/media/eleni_be73/images/46_image.webp", + "/media/eleni_be73/images/47_image.webp", + "/media/eleni_be73/images/48_image.webp", + "/media/eleni_be73/images/49_image.webp", + "/media/eleni_be73/images/50_image.webp" + ], + "created_at": "2026-02-04T02:08:47.745233-07:00", + "dir_name": "eleni_be73" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elian_fe3c.json b/ideas/aeres/agents/elian_fe3c.json new file mode 100644 index 0000000..9e2177c --- /dev/null +++ b/ideas/aeres/agents/elian_fe3c.json @@ -0,0 +1,78 @@ +{ + "id": "elian_fe3c", + "name": "Elian Jones", + "handle": "elian", + "gender": "male", + "description": "sexy hot tall, muscular, man, with full of hair, european, lives in a mansion in italy", + "tags": [ + "sigma_male", + "calisthenics", + "horology", + "classical piano", + "alpine skiing", + "espresso tasting", + "sailing", + "chess" + ], + "avatar_url": "/media/elian_fe3c/avatar.webp?t=1769165706", + "banner_url": "/media/elian_fe3c/banner.webp?t=1769165683", + "videos": [ + "/media/elian_fe3c/videos/01_smile_reveal.mp4?t=1769165718" + ], + "images": [ + "/media/elian_fe3c/images/01_mid_mid_neutral.webp", + "/media/elian_fe3c/images/02_image.webp", + "/media/elian_fe3c/images/03_image.webp", + "/media/elian_fe3c/images/04_image.webp", + "/media/elian_fe3c/images/05_image.webp", + "/media/elian_fe3c/images/06_image.webp", + "/media/elian_fe3c/images/07_image.webp", + "/media/elian_fe3c/images/08_image.webp", + "/media/elian_fe3c/images/10_image.webp", + "/media/elian_fe3c/images/11_image.webp", + "/media/elian_fe3c/images/12_image.webp", + "/media/elian_fe3c/images/13_image.webp", + "/media/elian_fe3c/images/14_image.webp", + "/media/elian_fe3c/images/15_image.webp", + "/media/elian_fe3c/images/16_image.webp", + "/media/elian_fe3c/images/17_image.webp", + "/media/elian_fe3c/images/18_image.webp", + "/media/elian_fe3c/images/19_image.webp", + "/media/elian_fe3c/images/20_image.webp", + "/media/elian_fe3c/images/21_image.webp", + "/media/elian_fe3c/images/22_image.webp", + "/media/elian_fe3c/images/23_image.webp", + "/media/elian_fe3c/images/24_image.webp", + "/media/elian_fe3c/images/25_image.webp", + "/media/elian_fe3c/images/26_image.webp", + "/media/elian_fe3c/images/27_image.webp", + "/media/elian_fe3c/images/28_image.webp", + "/media/elian_fe3c/images/29_image.webp", + "/media/elian_fe3c/images/30_image.webp", + "/media/elian_fe3c/images/31_image.webp", + "/media/elian_fe3c/images/32_image.webp", + "/media/elian_fe3c/images/33_image.webp", + "/media/elian_fe3c/images/34_image.webp", + "/media/elian_fe3c/images/35_image.webp", + "/media/elian_fe3c/images/36_image.webp", + "/media/elian_fe3c/images/37_image.webp", + "/media/elian_fe3c/images/38_image.webp", + "/media/elian_fe3c/images/39_image.webp", + "/media/elian_fe3c/images/40_image.webp", + "/media/elian_fe3c/images/41_image.webp", + "/media/elian_fe3c/images/42_image.webp", + "/media/elian_fe3c/images/43_image.webp", + "/media/elian_fe3c/images/44_image.webp", + "/media/elian_fe3c/images/45_image.webp", + "/media/elian_fe3c/images/46_image.webp", + "/media/elian_fe3c/images/47_image.webp", + "/media/elian_fe3c/images/48_image.webp", + "/media/elian_fe3c/images/49_image.webp", + "/media/elian_fe3c/images/50_image.webp", + "/media/elian_fe3c/images/51_image.webp", + "/media/elian_fe3c/images/52_image.webp", + "/media/elian_fe3c/images/53_image.webp" + ], + "created_at": "2026-01-23T03:53:40.080176-07:00", + "dir_name": "elian_fe3c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elias_0fa3.json b/ideas/aeres/agents/elias_0fa3.json new file mode 100644 index 0000000..2c1d08c --- /dev/null +++ b/ideas/aeres/agents/elias_0fa3.json @@ -0,0 +1,77 @@ +{ + "id": "elias_0fa3", + "name": "Elias Taylor", + "handle": "elias", + "gender": "male", + "description": "a male who looks like Peter Griffin from Family Guy", + "tags": [ + "bear_build", + "artisanal bbq", + "british sitcoms", + "local craft beer", + "college football", + "graphic novels", + "vinyl records", + "bird watching" + ], + "avatar_url": "/media/elias_0fa3/avatar.webp?t=1769588163", + "banner_url": "/media/elias_0fa3/banner.webp?t=1769588168", + "videos": [ + "/media/elias_0fa3/videos/01_smile_reveal.mp4?t=1769588203" + ], + "images": [ + "/media/elias_0fa3/images/01_mid_mid_neutral.webp", + "/media/elias_0fa3/images/02_image.webp", + "/media/elias_0fa3/images/03_image.webp", + "/media/elias_0fa3/images/04_image.webp", + "/media/elias_0fa3/images/05_image.webp", + "/media/elias_0fa3/images/06_image.webp", + "/media/elias_0fa3/images/07_image.webp", + "/media/elias_0fa3/images/08_image.webp", + "/media/elias_0fa3/images/09_image.webp", + "/media/elias_0fa3/images/10_image.webp", + "/media/elias_0fa3/images/11_image.webp", + "/media/elias_0fa3/images/12_image.webp", + "/media/elias_0fa3/images/13_image.webp", + "/media/elias_0fa3/images/14_image.webp", + "/media/elias_0fa3/images/15_image.webp", + "/media/elias_0fa3/images/16_image.webp", + "/media/elias_0fa3/images/17_image.webp", + "/media/elias_0fa3/images/18_image.webp", + "/media/elias_0fa3/images/19_image.webp", + "/media/elias_0fa3/images/20_image.webp", + "/media/elias_0fa3/images/21_image.webp", + "/media/elias_0fa3/images/22_image.webp", + "/media/elias_0fa3/images/23_image.webp", + "/media/elias_0fa3/images/24_image.webp", + "/media/elias_0fa3/images/25_image.webp", + "/media/elias_0fa3/images/26_image.webp", + "/media/elias_0fa3/images/27_image.webp", + "/media/elias_0fa3/images/28_image.webp", + "/media/elias_0fa3/images/29_image.webp", + "/media/elias_0fa3/images/30_image.webp", + "/media/elias_0fa3/images/31_image.webp", + "/media/elias_0fa3/images/32_image.webp", + "/media/elias_0fa3/images/33_image.webp", + "/media/elias_0fa3/images/34_image.webp", + "/media/elias_0fa3/images/35_image.webp", + "/media/elias_0fa3/images/36_image.webp", + "/media/elias_0fa3/images/37_image.webp", + "/media/elias_0fa3/images/38_image.webp", + "/media/elias_0fa3/images/39_image.webp", + "/media/elias_0fa3/images/40_image.webp", + "/media/elias_0fa3/images/41_image.webp", + "/media/elias_0fa3/images/42_image.webp", + "/media/elias_0fa3/images/43_image.webp", + "/media/elias_0fa3/images/44_image.webp", + "/media/elias_0fa3/images/45_image.webp", + "/media/elias_0fa3/images/46_image.webp", + "/media/elias_0fa3/images/47_image.webp", + "/media/elias_0fa3/images/48_image.webp", + "/media/elias_0fa3/images/49_image.webp", + "/media/elias_0fa3/images/50_image.webp", + "/media/elias_0fa3/images/51_image.webp" + ], + "created_at": "2026-01-28T01:14:36.860202-07:00", + "dir_name": "elias_0fa3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elijah_45a7.json b/ideas/aeres/agents/elijah_45a7.json new file mode 100644 index 0000000..76b7d1f --- /dev/null +++ b/ideas/aeres/agents/elijah_45a7.json @@ -0,0 +1,67 @@ +{ + "id": "elijah_45a7", + "name": "Elijah Johnson", + "handle": "elijah", + "gender": "male", + "description": "cowboy, has a ranch in texas, in the cattle business, tall blonde , fit, smokes cigarettes, works hard", + "tags": [ + "lifestyle", + "equine training", + "sustainable agriculture", + "leatherworking", + "classical country music", + "stargazing", + "historical biographies" + ], + "avatar_url": "/media/elijah_45a7/avatar.webp?t=1769164288", + "banner_url": "/media/elijah_45a7/banner.webp?t=1769164278", + "videos": [ + "/media/elijah_45a7/videos/01_smile_reveal.mp4?t=1769164317" + ], + "images": [ + "/media/elijah_45a7/images/01_mid_mid_neutral.webp", + "/media/elijah_45a7/images/19_image.webp", + "/media/elijah_45a7/images/20_image.webp", + "/media/elijah_45a7/images/21_image.webp", + "/media/elijah_45a7/images/22_image.webp", + "/media/elijah_45a7/images/23_image.webp", + "/media/elijah_45a7/images/24_image.webp", + "/media/elijah_45a7/images/25_image.webp", + "/media/elijah_45a7/images/26_image.webp", + "/media/elijah_45a7/images/27_image.webp", + "/media/elijah_45a7/images/28_image.webp", + "/media/elijah_45a7/images/29_image.webp", + "/media/elijah_45a7/images/30_image.webp", + "/media/elijah_45a7/images/31_image.webp", + "/media/elijah_45a7/images/32_image.webp", + "/media/elijah_45a7/images/33_image.webp", + "/media/elijah_45a7/images/34_image.webp", + "/media/elijah_45a7/images/35_image.webp", + "/media/elijah_45a7/images/36_image.webp", + "/media/elijah_45a7/images/37_image.webp", + "/media/elijah_45a7/images/38_image.webp", + "/media/elijah_45a7/images/39_image.webp", + "/media/elijah_45a7/images/40_image.webp", + "/media/elijah_45a7/images/41_image.webp", + "/media/elijah_45a7/images/42_image.webp", + "/media/elijah_45a7/images/43_image.webp", + "/media/elijah_45a7/images/44_image.webp", + "/media/elijah_45a7/images/45_image.webp", + "/media/elijah_45a7/images/46_image.webp", + "/media/elijah_45a7/images/47_image.webp", + "/media/elijah_45a7/images/48_image.webp", + "/media/elijah_45a7/images/49_image.webp", + "/media/elijah_45a7/images/50_image.webp", + "/media/elijah_45a7/images/51_image.webp", + "/media/elijah_45a7/images/52_image.webp", + "/media/elijah_45a7/images/53_image.webp", + "/media/elijah_45a7/images/54_image.webp", + "/media/elijah_45a7/images/55_image.webp", + "/media/elijah_45a7/images/56_image.webp", + "/media/elijah_45a7/images/57_image.webp", + "/media/elijah_45a7/images/58_image.webp", + "/media/elijah_45a7/images/59_image.webp" + ], + "created_at": "2026-01-23T03:30:12.678898-07:00", + "dir_name": "elijah_45a7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elisa_30ee.json b/ideas/aeres/agents/elisa_30ee.json new file mode 100644 index 0000000..b0317a5 --- /dev/null +++ b/ideas/aeres/agents/elisa_30ee.json @@ -0,0 +1,74 @@ +{ + "id": "elisa_30ee", + "name": "Elisa Bakker", + "handle": "elisa", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, dresses sporty, white", + "tags": [ + "influencer_lifestyle", + "reformer pilates", + "interior design", + "haute couture", + "bio-hacking", + "tennis", + "wine tasting", + "photography" + ], + "avatar_url": "/media/elisa_30ee/avatar.webp?t=1769166250", + "banner_url": "/media/elisa_30ee/banner.webp?t=1769166241", + "videos": [ + "/media/elisa_30ee/videos/01_smile_reveal.mp4?t=1769166294" + ], + "images": [ + "/media/elisa_30ee/images/01_mid_mid_neutral.webp", + "/media/elisa_30ee/images/02_image.webp", + "/media/elisa_30ee/images/13_image.webp", + "/media/elisa_30ee/images/14_image.webp", + "/media/elisa_30ee/images/15_image.webp", + "/media/elisa_30ee/images/16_image.webp", + "/media/elisa_30ee/images/17_image.webp", + "/media/elisa_30ee/images/18_image.webp", + "/media/elisa_30ee/images/19_image.webp", + "/media/elisa_30ee/images/20_image.webp", + "/media/elisa_30ee/images/21_image.webp", + "/media/elisa_30ee/images/22_image.webp", + "/media/elisa_30ee/images/23_image.webp", + "/media/elisa_30ee/images/24_image.webp", + "/media/elisa_30ee/images/25_image.webp", + "/media/elisa_30ee/images/26_image.webp", + "/media/elisa_30ee/images/27_image.webp", + "/media/elisa_30ee/images/28_image.webp", + "/media/elisa_30ee/images/29_image.webp", + "/media/elisa_30ee/images/30_image.webp", + "/media/elisa_30ee/images/31_image.webp", + "/media/elisa_30ee/images/32_image.webp", + "/media/elisa_30ee/images/33_image.webp", + "/media/elisa_30ee/images/34_image.webp", + "/media/elisa_30ee/images/35_image.webp", + "/media/elisa_30ee/images/36_image.webp", + "/media/elisa_30ee/images/37_image.webp", + "/media/elisa_30ee/images/38_image.webp", + "/media/elisa_30ee/images/39_image.webp", + "/media/elisa_30ee/images/40_image.webp", + "/media/elisa_30ee/images/41_image.webp", + "/media/elisa_30ee/images/43_image.webp", + "/media/elisa_30ee/images/44_image.webp", + "/media/elisa_30ee/images/45_image.webp", + "/media/elisa_30ee/images/46_image.webp", + "/media/elisa_30ee/images/47_image.webp", + "/media/elisa_30ee/images/48_image.webp", + "/media/elisa_30ee/images/49_image.webp", + "/media/elisa_30ee/images/50_image.webp", + "/media/elisa_30ee/images/51_image.webp", + "/media/elisa_30ee/images/53_image.webp", + "/media/elisa_30ee/images/54_image.webp", + "/media/elisa_30ee/images/55_image.webp", + "/media/elisa_30ee/images/56_image.webp", + "/media/elisa_30ee/images/57_image.webp", + "/media/elisa_30ee/images/58_image.webp", + "/media/elisa_30ee/images/60_image.webp", + "/media/elisa_30ee/images/61_image.webp" + ], + "created_at": "2026-01-23T04:02:59.132876-07:00", + "dir_name": "elisa_30ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elisa_4701.json b/ideas/aeres/agents/elisa_4701.json new file mode 100644 index 0000000..dc753f6 --- /dev/null +++ b/ideas/aeres/agents/elisa_4701.json @@ -0,0 +1,77 @@ +{ + "id": "elisa_4701", + "name": "Elisa Lorena Santos", + "handle": "elisa", + "gender": "female", + "description": "brazilian woman who likes to go to music festivals", + "tags": [ + "festival_girl", + "electronic music", + "traditional samba", + "sustainable fashion", + "coastal conservation", + "photography", + "indoor gardening", + "gourmet vegan cooking" + ], + "avatar_url": "/media/elisa_4701/avatar.webp?t=1769761401", + "banner_url": "/media/elisa_4701/banner.webp?t=1769761471", + "videos": [ + "/media/elisa_4701/videos/01_smile_reveal.mp4?t=1769761471" + ], + "images": [ + "/media/elisa_4701/images/01_mid_mid_neutral.webp", + "/media/elisa_4701/images/02_image.webp", + "/media/elisa_4701/images/03_image.webp", + "/media/elisa_4701/images/04_image.webp", + "/media/elisa_4701/images/05_image.webp", + "/media/elisa_4701/images/06_image.webp", + "/media/elisa_4701/images/07_image.webp", + "/media/elisa_4701/images/08_image.webp", + "/media/elisa_4701/images/09_image.webp", + "/media/elisa_4701/images/10_image.webp", + "/media/elisa_4701/images/11_image.webp", + "/media/elisa_4701/images/12_image.webp", + "/media/elisa_4701/images/13_image.webp", + "/media/elisa_4701/images/14_image.webp", + "/media/elisa_4701/images/15_image.webp", + "/media/elisa_4701/images/16_image.webp", + "/media/elisa_4701/images/17_image.webp", + "/media/elisa_4701/images/18_image.webp", + "/media/elisa_4701/images/19_image.webp", + "/media/elisa_4701/images/20_image.webp", + "/media/elisa_4701/images/21_image.webp", + "/media/elisa_4701/images/22_image.webp", + "/media/elisa_4701/images/23_image.webp", + "/media/elisa_4701/images/24_image.webp", + "/media/elisa_4701/images/25_image.webp", + "/media/elisa_4701/images/26_image.webp", + "/media/elisa_4701/images/27_image.webp", + "/media/elisa_4701/images/28_image.webp", + "/media/elisa_4701/images/29_image.webp", + "/media/elisa_4701/images/30_image.webp", + "/media/elisa_4701/images/31_image.webp", + "/media/elisa_4701/images/32_image.webp", + "/media/elisa_4701/images/33_image.webp", + "/media/elisa_4701/images/34_image.webp", + "/media/elisa_4701/images/35_image.webp", + "/media/elisa_4701/images/36_image.webp", + "/media/elisa_4701/images/37_image.webp", + "/media/elisa_4701/images/38_image.webp", + "/media/elisa_4701/images/39_image.webp", + "/media/elisa_4701/images/40_image.webp", + "/media/elisa_4701/images/41_image.webp", + "/media/elisa_4701/images/42_image.webp", + "/media/elisa_4701/images/43_image.webp", + "/media/elisa_4701/images/44_image.webp", + "/media/elisa_4701/images/45_image.webp", + "/media/elisa_4701/images/46_image.webp", + "/media/elisa_4701/images/47_image.webp", + "/media/elisa_4701/images/48_image.webp", + "/media/elisa_4701/images/49_image.webp", + "/media/elisa_4701/images/50_image.webp", + "/media/elisa_4701/images/51_image.webp" + ], + "created_at": "2026-01-30T01:21:46.340909-07:00", + "dir_name": "elisa_4701" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elisabetta_ac62.json b/ideas/aeres/agents/elisabetta_ac62.json new file mode 100644 index 0000000..4ae5adf --- /dev/null +++ b/ideas/aeres/agents/elisabetta_ac62.json @@ -0,0 +1,69 @@ +{ + "id": "elisabetta_ac62", + "name": "Elisabetta Ricci", + "handle": "elisabetta", + "gender": "female", + "description": "hot sexy, italian woman, lives a villa countryside, has a pool , photos in swimsuit, modelling, tall, short light brown hair, green eyes, big breasts, white skin, thin slender,long legs, a couple of freckles on the face, age 23", + "tags": [ + "high_fashion_model", + "modern art", + "pilates", + "vintage architecture", + "haute couture", + "wine tasting", + "biking", + "photography" + ], + "avatar_url": "/media/elisabetta_ac62/avatar.webp?t=1769671226", + "banner_url": "/media/elisabetta_ac62/banner.webp?t=1769671233", + "videos": [ + "/media/elisabetta_ac62/videos/01_smile_reveal.mp4?t=1769671276" + ], + "images": [ + "/media/elisabetta_ac62/images/01_mid_mid_neutral.webp", + "/media/elisabetta_ac62/images/02_image.webp", + "/media/elisabetta_ac62/images/03_image.webp", + "/media/elisabetta_ac62/images/04_image.webp", + "/media/elisabetta_ac62/images/05_image.webp", + "/media/elisabetta_ac62/images/06_image.webp", + "/media/elisabetta_ac62/images/07_image.webp", + "/media/elisabetta_ac62/images/08_image.webp", + "/media/elisabetta_ac62/images/09_image.webp", + "/media/elisabetta_ac62/images/10_image.webp", + "/media/elisabetta_ac62/images/11_image.webp", + "/media/elisabetta_ac62/images/12_image.webp", + "/media/elisabetta_ac62/images/13_image.webp", + "/media/elisabetta_ac62/images/14_image.webp", + "/media/elisabetta_ac62/images/15_image.webp", + "/media/elisabetta_ac62/images/16_image.webp", + "/media/elisabetta_ac62/images/18_image.webp", + "/media/elisabetta_ac62/images/19_image.webp", + "/media/elisabetta_ac62/images/21_image.webp", + "/media/elisabetta_ac62/images/22_image.webp", + "/media/elisabetta_ac62/images/23_image.webp", + "/media/elisabetta_ac62/images/24_image.webp", + "/media/elisabetta_ac62/images/25_image.webp", + "/media/elisabetta_ac62/images/27_image.webp", + "/media/elisabetta_ac62/images/28_image.webp", + "/media/elisabetta_ac62/images/29_image.webp", + "/media/elisabetta_ac62/images/30_image.webp", + "/media/elisabetta_ac62/images/31_image.webp", + "/media/elisabetta_ac62/images/33_image.webp", + "/media/elisabetta_ac62/images/34_image.webp", + "/media/elisabetta_ac62/images/35_image.webp", + "/media/elisabetta_ac62/images/36_image.webp", + "/media/elisabetta_ac62/images/37_image.webp", + "/media/elisabetta_ac62/images/39_image.webp", + "/media/elisabetta_ac62/images/40_image.webp", + "/media/elisabetta_ac62/images/42_image.webp", + "/media/elisabetta_ac62/images/43_image.webp", + "/media/elisabetta_ac62/images/44_image.webp", + "/media/elisabetta_ac62/images/45_image.webp", + "/media/elisabetta_ac62/images/46_image.webp", + "/media/elisabetta_ac62/images/47_image.webp", + "/media/elisabetta_ac62/images/48_image.webp", + "/media/elisabetta_ac62/images/49_image.webp" + ], + "created_at": "2026-01-29T00:19:13.122785-07:00", + "dir_name": "elisabetta_ac62" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elizabeth_ec4f.json b/ideas/aeres/agents/elizabeth_ec4f.json new file mode 100644 index 0000000..785022f --- /dev/null +++ b/ideas/aeres/agents/elizabeth_ec4f.json @@ -0,0 +1,76 @@ +{ + "id": "elizabeth_ec4f", + "name": "Elizabeth Wilson", + "handle": "elizabeth", + "gender": "female", + "description": "busty dark haired woman in classic 1960s animation style", + "tags": [ + "vintage_retro", + "vinyl records", + "1960s cinema", + "swing dancing", + "gouache painting", + "baking tarts", + "urban gardening", + "podcasts about history" + ], + "avatar_url": "/media/elizabeth_ec4f/avatar.webp?t=1769609628", + "banner_url": "/media/elizabeth_ec4f/banner.webp?t=1769609642", + "videos": [ + "/media/elizabeth_ec4f/videos/01_smile_reveal.mp4?t=1769609675" + ], + "images": [ + "/media/elizabeth_ec4f/images/01_mid_mid_neutral.webp", + "/media/elizabeth_ec4f/images/02_image.webp", + "/media/elizabeth_ec4f/images/03_image.webp", + "/media/elizabeth_ec4f/images/04_image.webp", + "/media/elizabeth_ec4f/images/05_image.webp", + "/media/elizabeth_ec4f/images/06_image.webp", + "/media/elizabeth_ec4f/images/07_image.webp", + "/media/elizabeth_ec4f/images/08_image.webp", + "/media/elizabeth_ec4f/images/10_image.webp", + "/media/elizabeth_ec4f/images/11_image.webp", + "/media/elizabeth_ec4f/images/12_image.webp", + "/media/elizabeth_ec4f/images/13_image.webp", + "/media/elizabeth_ec4f/images/14_image.webp", + "/media/elizabeth_ec4f/images/15_image.webp", + "/media/elizabeth_ec4f/images/16_image.webp", + "/media/elizabeth_ec4f/images/17_image.webp", + "/media/elizabeth_ec4f/images/18_image.webp", + "/media/elizabeth_ec4f/images/19_image.webp", + "/media/elizabeth_ec4f/images/20_image.webp", + "/media/elizabeth_ec4f/images/21_image.webp", + "/media/elizabeth_ec4f/images/22_image.webp", + "/media/elizabeth_ec4f/images/23_image.webp", + "/media/elizabeth_ec4f/images/24_image.webp", + "/media/elizabeth_ec4f/images/25_image.webp", + "/media/elizabeth_ec4f/images/26_image.webp", + "/media/elizabeth_ec4f/images/27_image.webp", + "/media/elizabeth_ec4f/images/28_image.webp", + "/media/elizabeth_ec4f/images/29_image.webp", + "/media/elizabeth_ec4f/images/30_image.webp", + "/media/elizabeth_ec4f/images/31_image.webp", + "/media/elizabeth_ec4f/images/32_image.webp", + "/media/elizabeth_ec4f/images/33_image.webp", + "/media/elizabeth_ec4f/images/34_image.webp", + "/media/elizabeth_ec4f/images/35_image.webp", + "/media/elizabeth_ec4f/images/36_image.webp", + "/media/elizabeth_ec4f/images/37_image.webp", + "/media/elizabeth_ec4f/images/38_image.webp", + "/media/elizabeth_ec4f/images/39_image.webp", + "/media/elizabeth_ec4f/images/40_image.webp", + "/media/elizabeth_ec4f/images/41_image.webp", + "/media/elizabeth_ec4f/images/42_image.webp", + "/media/elizabeth_ec4f/images/43_image.webp", + "/media/elizabeth_ec4f/images/44_image.webp", + "/media/elizabeth_ec4f/images/45_image.webp", + "/media/elizabeth_ec4f/images/46_image.webp", + "/media/elizabeth_ec4f/images/47_image.webp", + "/media/elizabeth_ec4f/images/48_image.webp", + "/media/elizabeth_ec4f/images/49_image.webp", + "/media/elizabeth_ec4f/images/50_image.webp", + "/media/elizabeth_ec4f/images/51_image.webp" + ], + "created_at": "2026-01-28T07:12:31.044912-07:00", + "dir_name": "elizabeth_ec4f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ella_f869.json b/ideas/aeres/agents/ella_f869.json new file mode 100644 index 0000000..709f1a9 --- /dev/null +++ b/ideas/aeres/agents/ella_f869.json @@ -0,0 +1,75 @@ +{ + "id": "ella_f869", + "name": "Ella Bengtsson", + "handle": "ella", + "gender": "female", + "description": "trade firm accountant, financial services, age 40, very pretty, long hair slender build, smart and exigent, career woman, white, sexi", + "tags": [ + "boss_babe", + "global economics", + "modern architecture", + "fine wine collecting", + "horseback riding (dressage)", + "tennis", + "biohacking", + "french cinema" + ], + "avatar_url": "/media/ella_f869/avatar.webp?t=1770127939", + "banner_url": "/media/ella_f869/banner.webp?t=1770127936", + "videos": [ + "/media/ella_f869/videos/01_smile_reveal.mp4?t=1770128027" + ], + "images": [ + "/media/ella_f869/images/01_mid_mid_neutral.webp", + "/media/ella_f869/images/02_image.webp", + "/media/ella_f869/images/03_image.webp", + "/media/ella_f869/images/04_image.webp", + "/media/ella_f869/images/05_image.webp", + "/media/ella_f869/images/06_image.webp", + "/media/ella_f869/images/07_image.webp", + "/media/ella_f869/images/08_image.webp", + "/media/ella_f869/images/09_image.webp", + "/media/ella_f869/images/10_image.webp", + "/media/ella_f869/images/11_image.webp", + "/media/ella_f869/images/12_image.webp", + "/media/ella_f869/images/13_image.webp", + "/media/ella_f869/images/14_image.webp", + "/media/ella_f869/images/15_image.webp", + "/media/ella_f869/images/16_image.webp", + "/media/ella_f869/images/17_image.webp", + "/media/ella_f869/images/18_image.webp", + "/media/ella_f869/images/19_image.webp", + "/media/ella_f869/images/20_image.webp", + "/media/ella_f869/images/21_image.webp", + "/media/ella_f869/images/22_image.webp", + "/media/ella_f869/images/23_image.webp", + "/media/ella_f869/images/24_image.webp", + "/media/ella_f869/images/25_image.webp", + "/media/ella_f869/images/28_image.webp", + "/media/ella_f869/images/29_image.webp", + "/media/ella_f869/images/30_image.webp", + "/media/ella_f869/images/31_image.webp", + "/media/ella_f869/images/32_image.webp", + "/media/ella_f869/images/33_image.webp", + "/media/ella_f869/images/34_image.webp", + "/media/ella_f869/images/35_image.webp", + "/media/ella_f869/images/36_image.webp", + "/media/ella_f869/images/37_image.webp", + "/media/ella_f869/images/38_image.webp", + "/media/ella_f869/images/39_image.webp", + "/media/ella_f869/images/40_image.webp", + "/media/ella_f869/images/41_image.webp", + "/media/ella_f869/images/42_image.webp", + "/media/ella_f869/images/43_image.webp", + "/media/ella_f869/images/44_image.webp", + "/media/ella_f869/images/45_image.webp", + "/media/ella_f869/images/46_image.webp", + "/media/ella_f869/images/47_image.webp", + "/media/ella_f869/images/48_image.webp", + "/media/ella_f869/images/49_image.webp", + "/media/ella_f869/images/50_image.webp", + "/media/ella_f869/images/51_image.webp" + ], + "created_at": "2026-02-03T07:11:16.123042-07:00", + "dir_name": "ella_f869" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ellis_a5b2.json b/ideas/aeres/agents/ellis_a5b2.json new file mode 100644 index 0000000..11cb42a --- /dev/null +++ b/ideas/aeres/agents/ellis_a5b2.json @@ -0,0 +1,76 @@ +{ + "id": "ellis_a5b2", + "name": "Ellis Moore", + "handle": "ellis", + "gender": "male", + "description": "south american, cartel boss, mid 40 's long black curly hair, wears expensive clothes, should look like pablo escobar but more handsome and fit, same hairstyle and moustache, lives in a big villa with weapons and white powder laying around, private collection of cars and airplanes, has bodyguards", + "tags": [ + "sigma_male", + "horology", + "vintage cigars", + "executive protection tactics", + "classical piano", + "deep-sea fishing", + "chess", + "architectural design" + ], + "avatar_url": "/media/ellis_a5b2/avatar.webp?t=1769612173", + "banner_url": "/media/ellis_a5b2/banner.webp?t=1769609646", + "videos": [ + "/media/ellis_a5b2/videos/01_smile_reveal.mp4?t=1769609699" + ], + "images": [ + "/media/ellis_a5b2/images/01_mid_mid_neutral.webp", + "/media/ellis_a5b2/images/02_image.webp", + "/media/ellis_a5b2/images/03_image.webp", + "/media/ellis_a5b2/images/04_image.webp", + "/media/ellis_a5b2/images/05_image.webp", + "/media/ellis_a5b2/images/07_image.webp", + "/media/ellis_a5b2/images/08_image.webp", + "/media/ellis_a5b2/images/09_image.webp", + "/media/ellis_a5b2/images/10_image.webp", + "/media/ellis_a5b2/images/11_image.webp", + "/media/ellis_a5b2/images/12_image.webp", + "/media/ellis_a5b2/images/13_image.webp", + "/media/ellis_a5b2/images/14_image.webp", + "/media/ellis_a5b2/images/15_image.webp", + "/media/ellis_a5b2/images/16_image.webp", + "/media/ellis_a5b2/images/17_image.webp", + "/media/ellis_a5b2/images/18_image.webp", + "/media/ellis_a5b2/images/19_image.webp", + "/media/ellis_a5b2/images/20_image.webp", + "/media/ellis_a5b2/images/21_image.webp", + "/media/ellis_a5b2/images/22_image.webp", + "/media/ellis_a5b2/images/23_image.webp", + "/media/ellis_a5b2/images/24_image.webp", + "/media/ellis_a5b2/images/25_image.webp", + "/media/ellis_a5b2/images/26_image.webp", + "/media/ellis_a5b2/images/27_image.webp", + "/media/ellis_a5b2/images/28_image.webp", + "/media/ellis_a5b2/images/29_image.webp", + "/media/ellis_a5b2/images/30_image.webp", + "/media/ellis_a5b2/images/31_image.webp", + "/media/ellis_a5b2/images/32_image.webp", + "/media/ellis_a5b2/images/33_image.webp", + "/media/ellis_a5b2/images/34_image.webp", + "/media/ellis_a5b2/images/35_image.webp", + "/media/ellis_a5b2/images/36_image.webp", + "/media/ellis_a5b2/images/37_image.webp", + "/media/ellis_a5b2/images/38_image.webp", + "/media/ellis_a5b2/images/39_image.webp", + "/media/ellis_a5b2/images/40_image.webp", + "/media/ellis_a5b2/images/41_image.webp", + "/media/ellis_a5b2/images/42_image.webp", + "/media/ellis_a5b2/images/43_image.webp", + "/media/ellis_a5b2/images/44_image.webp", + "/media/ellis_a5b2/images/45_image.webp", + "/media/ellis_a5b2/images/46_image.webp", + "/media/ellis_a5b2/images/47_image.webp", + "/media/ellis_a5b2/images/48_image.webp", + "/media/ellis_a5b2/images/49_image.webp", + "/media/ellis_a5b2/images/50_image.webp", + "/media/ellis_a5b2/images/51_image.webp" + ], + "created_at": "2026-01-28T07:12:19.737429-07:00", + "dir_name": "ellis_a5b2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/elvia_64ea.json b/ideas/aeres/agents/elvia_64ea.json new file mode 100644 index 0000000..aa6a7dd --- /dev/null +++ b/ideas/aeres/agents/elvia_64ea.json @@ -0,0 +1,76 @@ +{ + "id": "elvia_64ea", + "name": "Elvia Fernandez", + "handle": "elvia", + "gender": "female", + "description": "olympic wrestler, gold medal winner, age 24 , short athletic muscle build, medium length hair, from kentucky usa, pretty face", + "tags": [ + "muscle_mommy", + "olympic weightlifting", + "sports nutrition", + "luxury watches", + "interior design", + "dog training", + "baking high-protein desserts", + "true crime documentaries" + ], + "avatar_url": "/media/elvia_64ea/avatar.webp?t=1770103465", + "banner_url": "/media/elvia_64ea/banner.webp?t=1770103460", + "videos": [ + "/media/elvia_64ea/videos/01_smile_reveal.mp4?t=1770103513" + ], + "images": [ + "/media/elvia_64ea/images/01_mid_mid_neutral.webp", + "/media/elvia_64ea/images/02_image.webp", + "/media/elvia_64ea/images/03_image.webp", + "/media/elvia_64ea/images/04_image.webp", + "/media/elvia_64ea/images/05_image.webp", + "/media/elvia_64ea/images/07_image.webp", + "/media/elvia_64ea/images/08_image.webp", + "/media/elvia_64ea/images/09_image.webp", + "/media/elvia_64ea/images/10_image.webp", + "/media/elvia_64ea/images/11_image.webp", + "/media/elvia_64ea/images/12_image.webp", + "/media/elvia_64ea/images/13_image.webp", + "/media/elvia_64ea/images/14_image.webp", + "/media/elvia_64ea/images/15_image.webp", + "/media/elvia_64ea/images/16_image.webp", + "/media/elvia_64ea/images/17_image.webp", + "/media/elvia_64ea/images/18_image.webp", + "/media/elvia_64ea/images/19_image.webp", + "/media/elvia_64ea/images/20_image.webp", + "/media/elvia_64ea/images/21_image.webp", + "/media/elvia_64ea/images/22_image.webp", + "/media/elvia_64ea/images/23_image.webp", + "/media/elvia_64ea/images/24_image.webp", + "/media/elvia_64ea/images/25_image.webp", + "/media/elvia_64ea/images/26_image.webp", + "/media/elvia_64ea/images/27_image.webp", + "/media/elvia_64ea/images/28_image.webp", + "/media/elvia_64ea/images/29_image.webp", + "/media/elvia_64ea/images/30_image.webp", + "/media/elvia_64ea/images/31_image.webp", + "/media/elvia_64ea/images/32_image.webp", + "/media/elvia_64ea/images/33_image.webp", + "/media/elvia_64ea/images/34_image.webp", + "/media/elvia_64ea/images/35_image.webp", + "/media/elvia_64ea/images/36_image.webp", + "/media/elvia_64ea/images/37_image.webp", + "/media/elvia_64ea/images/38_image.webp", + "/media/elvia_64ea/images/39_image.webp", + "/media/elvia_64ea/images/40_image.webp", + "/media/elvia_64ea/images/41_image.webp", + "/media/elvia_64ea/images/42_image.webp", + "/media/elvia_64ea/images/43_image.webp", + "/media/elvia_64ea/images/44_image.webp", + "/media/elvia_64ea/images/45_image.webp", + "/media/elvia_64ea/images/46_image.webp", + "/media/elvia_64ea/images/47_image.webp", + "/media/elvia_64ea/images/48_image.webp", + "/media/elvia_64ea/images/49_image.webp", + "/media/elvia_64ea/images/50_image.webp", + "/media/elvia_64ea/images/51_image.webp" + ], + "created_at": "2026-02-03T00:23:19.936212-07:00", + "dir_name": "elvia_64ea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emani_3130.json b/ideas/aeres/agents/emani_3130.json new file mode 100644 index 0000000..0a0ca34 --- /dev/null +++ b/ideas/aeres/agents/emani_3130.json @@ -0,0 +1,77 @@ +{ + "id": "emani_3130", + "name": "Emani Lewis", + "handle": "emani", + "gender": "female", + "description": "Gen Z, VSCO girl, eco conscious, hydro flask, beach vibe, Birkenstocks, recycle, laid back", + "tags": [ + "tiktok_aesthetics", + "marine biology", + "film photography", + "thrift flipping", + "indoor gardening", + "journaling", + "making spotify playlists", + "baking vegan cookies" + ], + "avatar_url": "/media/emani_3130/avatar.webp?t=1769584026", + "banner_url": "/media/emani_3130/banner.webp?t=1769556007", + "videos": [ + "/media/emani_3130/videos/01_smile_reveal.mp4?t=1769556036" + ], + "images": [ + "/media/emani_3130/images/01_mid_mid_neutral.webp", + "/media/emani_3130/images/02_image.webp", + "/media/emani_3130/images/03_image.webp", + "/media/emani_3130/images/04_image.webp", + "/media/emani_3130/images/05_image.webp", + "/media/emani_3130/images/06_image.webp", + "/media/emani_3130/images/07_image.webp", + "/media/emani_3130/images/08_image.webp", + "/media/emani_3130/images/09_image.webp", + "/media/emani_3130/images/10_image.webp", + "/media/emani_3130/images/11_image.webp", + "/media/emani_3130/images/12_image.webp", + "/media/emani_3130/images/13_image.webp", + "/media/emani_3130/images/14_image.webp", + "/media/emani_3130/images/15_image.webp", + "/media/emani_3130/images/16_image.webp", + "/media/emani_3130/images/17_image.webp", + "/media/emani_3130/images/18_image.webp", + "/media/emani_3130/images/19_image.webp", + "/media/emani_3130/images/20_image.webp", + "/media/emani_3130/images/21_image.webp", + "/media/emani_3130/images/22_image.webp", + "/media/emani_3130/images/23_image.webp", + "/media/emani_3130/images/24_image.webp", + "/media/emani_3130/images/25_image.webp", + "/media/emani_3130/images/26_image.webp", + "/media/emani_3130/images/27_image.webp", + "/media/emani_3130/images/28_image.webp", + "/media/emani_3130/images/29_image.webp", + "/media/emani_3130/images/30_image.webp", + "/media/emani_3130/images/31_image.webp", + "/media/emani_3130/images/32_image.webp", + "/media/emani_3130/images/33_image.webp", + "/media/emani_3130/images/34_image.webp", + "/media/emani_3130/images/35_image.webp", + "/media/emani_3130/images/36_image.webp", + "/media/emani_3130/images/37_image.webp", + "/media/emani_3130/images/38_image.webp", + "/media/emani_3130/images/39_image.webp", + "/media/emani_3130/images/40_image.webp", + "/media/emani_3130/images/41_image.webp", + "/media/emani_3130/images/42_image.webp", + "/media/emani_3130/images/43_image.webp", + "/media/emani_3130/images/44_image.webp", + "/media/emani_3130/images/45_image.webp", + "/media/emani_3130/images/46_image.webp", + "/media/emani_3130/images/47_image.webp", + "/media/emani_3130/images/48_image.webp", + "/media/emani_3130/images/49_image.webp", + "/media/emani_3130/images/50_image.webp", + "/media/emani_3130/images/51_image.webp" + ], + "created_at": "2026-01-27T16:18:52.661585-07:00", + "dir_name": "emani_3130" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emil_e865.json b/ideas/aeres/agents/emil_e865.json new file mode 100644 index 0000000..cb89cf7 --- /dev/null +++ b/ideas/aeres/agents/emil_e865.json @@ -0,0 +1,76 @@ +{ + "id": "emil_e865", + "name": "Emil Jonsson", + "handle": "emil", + "gender": "male", + "description": "american male who cosplays as Randy Orton from WWE", + "tags": [ + "gym_bro", + "bodybuilding", + "combat sports", + "mechanical watches", + "precision driving", + "interior design", + "steak grilling", + "action cinema" + ], + "avatar_url": "/media/emil_e865/avatar.webp?t=1770116190", + "banner_url": "/media/emil_e865/banner.webp?t=1770116191", + "videos": [ + "/media/emil_e865/videos/01_smile_reveal.mp4?t=1770116227" + ], + "images": [ + "/media/emil_e865/images/01_mid_mid_neutral.webp", + "/media/emil_e865/images/02_image.webp", + "/media/emil_e865/images/03_image.webp", + "/media/emil_e865/images/04_image.webp", + "/media/emil_e865/images/05_image.webp", + "/media/emil_e865/images/06_image.webp", + "/media/emil_e865/images/07_image.webp", + "/media/emil_e865/images/08_image.webp", + "/media/emil_e865/images/09_image.webp", + "/media/emil_e865/images/10_image.webp", + "/media/emil_e865/images/11_image.webp", + "/media/emil_e865/images/12_image.webp", + "/media/emil_e865/images/13_image.webp", + "/media/emil_e865/images/14_image.webp", + "/media/emil_e865/images/15_image.webp", + "/media/emil_e865/images/16_image.webp", + "/media/emil_e865/images/17_image.webp", + "/media/emil_e865/images/18_image.webp", + "/media/emil_e865/images/19_image.webp", + "/media/emil_e865/images/20_image.webp", + "/media/emil_e865/images/21_image.webp", + "/media/emil_e865/images/22_image.webp", + "/media/emil_e865/images/23_image.webp", + "/media/emil_e865/images/24_image.webp", + "/media/emil_e865/images/25_image.webp", + "/media/emil_e865/images/26_image.webp", + "/media/emil_e865/images/27_image.webp", + "/media/emil_e865/images/28_image.webp", + "/media/emil_e865/images/29_image.webp", + "/media/emil_e865/images/30_image.webp", + "/media/emil_e865/images/31_image.webp", + "/media/emil_e865/images/32_image.webp", + "/media/emil_e865/images/33_image.webp", + "/media/emil_e865/images/34_image.webp", + "/media/emil_e865/images/35_image.webp", + "/media/emil_e865/images/36_image.webp", + "/media/emil_e865/images/37_image.webp", + "/media/emil_e865/images/38_image.webp", + "/media/emil_e865/images/39_image.webp", + "/media/emil_e865/images/40_image.webp", + "/media/emil_e865/images/41_image.webp", + "/media/emil_e865/images/42_image.webp", + "/media/emil_e865/images/43_image.webp", + "/media/emil_e865/images/44_image.webp", + "/media/emil_e865/images/45_image.webp", + "/media/emil_e865/images/46_image.webp", + "/media/emil_e865/images/47_image.webp", + "/media/emil_e865/images/48_image.webp", + "/media/emil_e865/images/49_image.webp", + "/media/emil_e865/images/50_image.webp" + ], + "created_at": "2026-02-03T03:55:23.147796-07:00", + "dir_name": "emil_e865" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_0930.json b/ideas/aeres/agents/emily_0930.json new file mode 100644 index 0000000..5e3ad79 --- /dev/null +++ b/ideas/aeres/agents/emily_0930.json @@ -0,0 +1,77 @@ +{ + "id": "emily_0930", + "name": "Emily Thomas", + "handle": "emily", + "gender": "female", + "description": "blonde haired female who likes to dress in victorian era dresses", + "tags": [ + "old_soul", + "victorian fashion history", + "textile restoration", + "calligraphy", + "opera", + "baking", + "botanical illustration", + "indoor gardening" + ], + "avatar_url": "/media/emily_0930/avatar.webp?t=1769695121", + "banner_url": "/media/emily_0930/banner.webp?t=1769695126", + "videos": [ + "/media/emily_0930/videos/01_smile_reveal.mp4?t=1769695167" + ], + "images": [ + "/media/emily_0930/images/01_mid_mid_neutral.webp", + "/media/emily_0930/images/02_image.webp", + "/media/emily_0930/images/03_image.webp", + "/media/emily_0930/images/04_image.webp", + "/media/emily_0930/images/05_image.webp", + "/media/emily_0930/images/06_image.webp", + "/media/emily_0930/images/07_image.webp", + "/media/emily_0930/images/08_image.webp", + "/media/emily_0930/images/09_image.webp", + "/media/emily_0930/images/10_image.webp", + "/media/emily_0930/images/11_image.webp", + "/media/emily_0930/images/11_image.webp", + "/media/emily_0930/images/12_image.webp", + "/media/emily_0930/images/13_image.webp", + "/media/emily_0930/images/14_image.webp", + "/media/emily_0930/images/15_image.webp", + "/media/emily_0930/images/16_image.webp", + "/media/emily_0930/images/17_image.webp", + "/media/emily_0930/images/18_image.webp", + "/media/emily_0930/images/19_image.webp", + "/media/emily_0930/images/20_image.webp", + "/media/emily_0930/images/21_image.webp", + "/media/emily_0930/images/22_image.webp", + "/media/emily_0930/images/23_image.webp", + "/media/emily_0930/images/24_image.webp", + "/media/emily_0930/images/25_image.webp", + "/media/emily_0930/images/26_image.webp", + "/media/emily_0930/images/27_image.webp", + "/media/emily_0930/images/28_image.webp", + "/media/emily_0930/images/29_image.webp", + "/media/emily_0930/images/30_image.webp", + "/media/emily_0930/images/31_image.webp", + "/media/emily_0930/images/32_image.webp", + "/media/emily_0930/images/33_image.webp", + "/media/emily_0930/images/34_image.webp", + "/media/emily_0930/images/35_image.webp", + "/media/emily_0930/images/36_image.webp", + "/media/emily_0930/images/37_image.webp", + "/media/emily_0930/images/38_image.webp", + "/media/emily_0930/images/39_image.webp", + "/media/emily_0930/images/40_image.webp", + "/media/emily_0930/images/41_image.webp", + "/media/emily_0930/images/42_image.webp", + "/media/emily_0930/images/43_image.webp", + "/media/emily_0930/images/44_image.webp", + "/media/emily_0930/images/45_image.webp", + "/media/emily_0930/images/46_image.webp", + "/media/emily_0930/images/47_image.webp", + "/media/emily_0930/images/48_image.webp", + "/media/emily_0930/images/49_image.webp", + "/media/emily_0930/images/50_image.webp" + ], + "created_at": "2026-01-29T06:57:19.713844-07:00", + "dir_name": "emily_0930" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_0f6e.json b/ideas/aeres/agents/emily_0f6e.json new file mode 100644 index 0000000..4f22cdc --- /dev/null +++ b/ideas/aeres/agents/emily_0f6e.json @@ -0,0 +1,75 @@ +{ + "id": "emily_0f6e", + "name": "Emily Thomas", + "handle": "emily", + "gender": "female", + "description": "cybernetic girl, cyborg human woman, blend between human and machine robot, cyberpunk like girl, 20+ years old, lives in a futuristic city , attractive body and face, white beige skin with robot like texture", + "tags": [ + "mecha_pilot", + "quantum physics", + "classical piano", + "mecha engineering", + "synth-wave music", + "digital photography", + "urban exploration" + ], + "avatar_url": "/media/emily_0f6e/avatar.webp?t=1769607057", + "banner_url": "/media/emily_0f6e/banner.webp?t=1769607058", + "videos": [ + "/media/emily_0f6e/videos/01_smile_reveal.mp4?t=1769607113" + ], + "images": [ + "/media/emily_0f6e/images/01_mid_mid_neutral.webp", + "/media/emily_0f6e/images/02_image.webp", + "/media/emily_0f6e/images/03_image.webp", + "/media/emily_0f6e/images/04_image.webp", + "/media/emily_0f6e/images/05_image.webp", + "/media/emily_0f6e/images/06_image.webp", + "/media/emily_0f6e/images/07_image.webp", + "/media/emily_0f6e/images/08_image.webp", + "/media/emily_0f6e/images/09_image.webp", + "/media/emily_0f6e/images/10_image.webp", + "/media/emily_0f6e/images/11_image.webp", + "/media/emily_0f6e/images/12_image.webp", + "/media/emily_0f6e/images/13_image.webp", + "/media/emily_0f6e/images/14_image.webp", + "/media/emily_0f6e/images/15_image.webp", + "/media/emily_0f6e/images/16_image.webp", + "/media/emily_0f6e/images/17_image.webp", + "/media/emily_0f6e/images/18_image.webp", + "/media/emily_0f6e/images/19_image.webp", + "/media/emily_0f6e/images/20_image.webp", + "/media/emily_0f6e/images/21_image.webp", + "/media/emily_0f6e/images/22_image.webp", + "/media/emily_0f6e/images/23_image.webp", + "/media/emily_0f6e/images/24_image.webp", + "/media/emily_0f6e/images/25_image.webp", + "/media/emily_0f6e/images/26_image.webp", + "/media/emily_0f6e/images/27_image.webp", + "/media/emily_0f6e/images/28_image.webp", + "/media/emily_0f6e/images/29_image.webp", + "/media/emily_0f6e/images/30_image.webp", + "/media/emily_0f6e/images/31_image.webp", + "/media/emily_0f6e/images/33_image.webp", + "/media/emily_0f6e/images/34_image.webp", + "/media/emily_0f6e/images/35_image.webp", + "/media/emily_0f6e/images/36_image.webp", + "/media/emily_0f6e/images/37_image.webp", + "/media/emily_0f6e/images/38_image.webp", + "/media/emily_0f6e/images/39_image.webp", + "/media/emily_0f6e/images/40_image.webp", + "/media/emily_0f6e/images/41_image.webp", + "/media/emily_0f6e/images/42_image.webp", + "/media/emily_0f6e/images/43_image.webp", + "/media/emily_0f6e/images/44_image.webp", + "/media/emily_0f6e/images/45_image.webp", + "/media/emily_0f6e/images/46_image.webp", + "/media/emily_0f6e/images/47_image.webp", + "/media/emily_0f6e/images/48_image.webp", + "/media/emily_0f6e/images/49_image.webp", + "/media/emily_0f6e/images/50_image.webp", + "/media/emily_0f6e/images/51_image.webp" + ], + "created_at": "2026-01-28T06:29:36.905081-07:00", + "dir_name": "emily_0f6e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_1066.json b/ideas/aeres/agents/emily_1066.json new file mode 100644 index 0000000..8d0731a --- /dev/null +++ b/ideas/aeres/agents/emily_1066.json @@ -0,0 +1,93 @@ +{ + "id": "emily_1066", + "name": "Emily Anderson", + "handle": "emily", + "gender": "female", + "description": "homestead, bread baker, pioneer woman, country, horse, garden, canning, farm, mom, red head 40's woman", + "tags": [ + "country_girl", + "organic gardening", + "sourdough fermentation", + "beekeeping", + "fiber arts", + "hiking", + "acoustic folk music", + "antique shopping" + ], + "avatar_url": "/media/emily_1066/avatar.webp?t=1769116620", + "banner_url": "/media/emily_1066/banner.webp?t=1769116625", + "images": [ + "/media/emily_1066/images/01_mid_mid_neutral.webp", + "/media/emily_1066/images/02_image.webp", + "/media/emily_1066/images/03_image.webp", + "/media/emily_1066/images/04_image.webp", + "/media/emily_1066/images/05_image.webp", + "/media/emily_1066/images/06_image.webp", + "/media/emily_1066/images/07_image.webp", + "/media/emily_1066/images/08_image.webp", + "/media/emily_1066/images/09_image.webp", + "/media/emily_1066/images/10_image.webp", + "/media/emily_1066/images/11_image.webp", + "/media/emily_1066/images/12_image.webp", + "/media/emily_1066/images/13_image.webp", + "/media/emily_1066/images/14_image.webp", + "/media/emily_1066/images/15_image.webp", + "/media/emily_1066/images/16_image.webp", + "/media/emily_1066/images/17_image.webp", + "/media/emily_1066/images/18_image.webp", + "/media/emily_1066/images/19_image.webp", + "/media/emily_1066/images/20_image.webp", + "/media/emily_1066/images/22_image.webp", + "/media/emily_1066/images/22_image.webp", + "/media/emily_1066/images/22_image.webp", + "/media/emily_1066/images/22_image.webp", + "/media/emily_1066/images/22_image.webp", + "/media/emily_1066/images/23_image.webp", + "/media/emily_1066/images/23_image.webp", + "/media/emily_1066/images/23_image.webp", + "/media/emily_1066/images/23_image.webp", + "/media/emily_1066/images/23_image.webp", + "/media/emily_1066/images/24_image.webp", + "/media/emily_1066/images/24_image.webp", + "/media/emily_1066/images/24_image.webp", + "/media/emily_1066/images/24_image.webp", + "/media/emily_1066/images/24_image.webp", + "/media/emily_1066/images/25_image.webp", + "/media/emily_1066/images/25_image.webp", + "/media/emily_1066/images/25_image.webp", + "/media/emily_1066/images/25_image.webp", + "/media/emily_1066/images/25_image.webp", + "/media/emily_1066/images/26_image.webp", + "/media/emily_1066/images/26_image.webp", + "/media/emily_1066/images/26_image.webp", + "/media/emily_1066/images/26_image.webp", + "/media/emily_1066/images/26_image.webp", + "/media/emily_1066/images/27_image.webp", + "/media/emily_1066/images/27_image.webp", + "/media/emily_1066/images/27_image.webp", + "/media/emily_1066/images/27_image.webp", + "/media/emily_1066/images/27_image.webp", + "/media/emily_1066/images/28_image.webp", + "/media/emily_1066/images/28_image.webp", + "/media/emily_1066/images/28_image.webp", + "/media/emily_1066/images/28_image.webp", + "/media/emily_1066/images/29_image.webp", + "/media/emily_1066/images/28_image.webp", + "/media/emily_1066/images/29_image.webp", + "/media/emily_1066/images/29_image.webp", + "/media/emily_1066/images/29_image.webp", + "/media/emily_1066/images/29_image.webp", + "/media/emily_1066/images/30_image.webp", + "/media/emily_1066/images/30_image.webp", + "/media/emily_1066/images/30_image.webp", + "/media/emily_1066/images/30_image.webp", + "/media/emily_1066/images/31_image.webp", + "/media/emily_1066/images/31_image.webp", + "/media/emily_1066/images/31_image.webp", + "/media/emily_1066/images/31_image.webp", + "/media/emily_1066/images/30_image.webp", + "/media/emily_1066/images/31_image.webp" + ], + "created_at": "2026-01-22T14:15:59.591308-07:00", + "dir_name": "emily_1066" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_29cc.json b/ideas/aeres/agents/emily_29cc.json new file mode 100644 index 0000000..4a4e100 --- /dev/null +++ b/ideas/aeres/agents/emily_29cc.json @@ -0,0 +1,73 @@ +{ + "id": "emily_29cc", + "name": "Emily Anderson", + "handle": "emily", + "gender": "female", + "description": "woman from Georgia who is an accountant", + "tags": [ + "intellectual", + "classical music", + "art history", + "european travel", + "gourmet cooking", + "hiking", + "boutique fitness", + "interior design" + ], + "avatar_url": "/media/emily_29cc/avatar.webp?t=1770126672", + "banner_url": "/media/emily_29cc/banner.webp?t=1770126677", + "videos": [ + "/media/emily_29cc/videos/01_smile_reveal.mp4?t=1770126733" + ], + "images": [ + "/media/emily_29cc/images/01_mid_mid_neutral.webp", + "/media/emily_29cc/images/02_image.webp", + "/media/emily_29cc/images/03_image.webp", + "/media/emily_29cc/images/04_image.webp", + "/media/emily_29cc/images/05_image.webp", + "/media/emily_29cc/images/06_image.webp", + "/media/emily_29cc/images/08_image.webp", + "/media/emily_29cc/images/09_image.webp", + "/media/emily_29cc/images/10_image.webp", + "/media/emily_29cc/images/11_image.webp", + "/media/emily_29cc/images/12_image.webp", + "/media/emily_29cc/images/14_image.webp", + "/media/emily_29cc/images/15_image.webp", + "/media/emily_29cc/images/16_image.webp", + "/media/emily_29cc/images/17_image.webp", + "/media/emily_29cc/images/18_image.webp", + "/media/emily_29cc/images/19_image.webp", + "/media/emily_29cc/images/20_image.webp", + "/media/emily_29cc/images/22_image.webp", + "/media/emily_29cc/images/23_image.webp", + "/media/emily_29cc/images/24_image.webp", + "/media/emily_29cc/images/25_image.webp", + "/media/emily_29cc/images/26_image.webp", + "/media/emily_29cc/images/27_image.webp", + "/media/emily_29cc/images/28_image.webp", + "/media/emily_29cc/images/29_image.webp", + "/media/emily_29cc/images/30_image.webp", + "/media/emily_29cc/images/31_image.webp", + "/media/emily_29cc/images/32_image.webp", + "/media/emily_29cc/images/33_image.webp", + "/media/emily_29cc/images/34_image.webp", + "/media/emily_29cc/images/35_image.webp", + "/media/emily_29cc/images/36_image.webp", + "/media/emily_29cc/images/37_image.webp", + "/media/emily_29cc/images/38_image.webp", + "/media/emily_29cc/images/39_image.webp", + "/media/emily_29cc/images/40_image.webp", + "/media/emily_29cc/images/41_image.webp", + "/media/emily_29cc/images/42_image.webp", + "/media/emily_29cc/images/43_image.webp", + "/media/emily_29cc/images/44_image.webp", + "/media/emily_29cc/images/45_image.webp", + "/media/emily_29cc/images/46_image.webp", + "/media/emily_29cc/images/47_image.webp", + "/media/emily_29cc/images/48_image.webp", + "/media/emily_29cc/images/49_image.webp", + "/media/emily_29cc/images/50_image.webp" + ], + "created_at": "2026-02-03T06:50:08.625306-07:00", + "dir_name": "emily_29cc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_403d.json b/ideas/aeres/agents/emily_403d.json new file mode 100644 index 0000000..7fd9c7c --- /dev/null +++ b/ideas/aeres/agents/emily_403d.json @@ -0,0 +1,76 @@ +{ + "id": "emily_403d", + "name": "Emily Anderson", + "handle": "emily", + "gender": "female", + "description": "female who is a Game of Thrones fan", + "tags": [ + "the cosplayer", + "historical costuming", + "leatherworking", + "archery", + "high fantasy literature", + "botanical illustration", + "tea tasting", + "board games" + ], + "avatar_url": "/media/emily_403d/avatar.webp?t=1770114314", + "banner_url": "/media/emily_403d/banner.webp?t=1770114314", + "videos": [ + "/media/emily_403d/videos/01_smile_reveal.mp4?t=1770114369" + ], + "images": [ + "/media/emily_403d/images/01_mid_mid_neutral.webp", + "/media/emily_403d/images/02_image.webp", + "/media/emily_403d/images/03_image.webp", + "/media/emily_403d/images/04_image.webp", + "/media/emily_403d/images/05_image.webp", + "/media/emily_403d/images/07_image.webp", + "/media/emily_403d/images/08_image.webp", + "/media/emily_403d/images/09_image.webp", + "/media/emily_403d/images/10_image.webp", + "/media/emily_403d/images/11_image.webp", + "/media/emily_403d/images/12_image.webp", + "/media/emily_403d/images/13_image.webp", + "/media/emily_403d/images/14_image.webp", + "/media/emily_403d/images/15_image.webp", + "/media/emily_403d/images/16_image.webp", + "/media/emily_403d/images/17_image.webp", + "/media/emily_403d/images/18_image.webp", + "/media/emily_403d/images/19_image.webp", + "/media/emily_403d/images/20_image.webp", + "/media/emily_403d/images/21_image.webp", + "/media/emily_403d/images/22_image.webp", + "/media/emily_403d/images/23_image.webp", + "/media/emily_403d/images/24_image.webp", + "/media/emily_403d/images/25_image.webp", + "/media/emily_403d/images/26_image.webp", + "/media/emily_403d/images/27_image.webp", + "/media/emily_403d/images/28_image.webp", + "/media/emily_403d/images/29_image.webp", + "/media/emily_403d/images/30_image.webp", + "/media/emily_403d/images/31_image.webp", + "/media/emily_403d/images/32_image.webp", + "/media/emily_403d/images/33_image.webp", + "/media/emily_403d/images/34_image.webp", + "/media/emily_403d/images/35_image.webp", + "/media/emily_403d/images/36_image.webp", + "/media/emily_403d/images/37_image.webp", + "/media/emily_403d/images/38_image.webp", + "/media/emily_403d/images/39_image.webp", + "/media/emily_403d/images/40_image.webp", + "/media/emily_403d/images/41_image.webp", + "/media/emily_403d/images/42_image.webp", + "/media/emily_403d/images/43_image.webp", + "/media/emily_403d/images/44_image.webp", + "/media/emily_403d/images/45_image.webp", + "/media/emily_403d/images/46_image.webp", + "/media/emily_403d/images/47_image.webp", + "/media/emily_403d/images/48_image.webp", + "/media/emily_403d/images/49_image.webp", + "/media/emily_403d/images/50_image.webp", + "/media/emily_403d/images/51_image.webp" + ], + "created_at": "2026-02-03T03:24:10.513681-07:00", + "dir_name": "emily_403d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_c16f.json b/ideas/aeres/agents/emily_c16f.json new file mode 100644 index 0000000..cacb957 --- /dev/null +++ b/ideas/aeres/agents/emily_c16f.json @@ -0,0 +1,84 @@ +{ + "id": "emily_c16f", + "name": "Emily Thomas", + "handle": "emily", + "gender": "female", + "description": "mid 60's fashionable woman, high end jewelry, paris vibe, thin, attractive, sports car, great teeth, wine, winery, spa and resort, jet setter", + "tags": [ + "influencer_lifestyle", + "contemporary art", + "fine wines", + "vintage fashion", + "european architecture", + "pilates", + "interior design", + "sailing" + ], + "avatar_url": "/media/emily_c16f/avatar.webp?t=1769117613", + "banner_url": "/media/emily_c16f/banner.webp?t=1769117613", + "images": [ + "/media/emily_c16f/images/01_mid_mid_neutral.webp", + "/media/emily_c16f/images/02_image.webp", + "/media/emily_c16f/images/03_image.webp", + "/media/emily_c16f/images/04_image.webp", + "/media/emily_c16f/images/05_image.webp", + "/media/emily_c16f/images/06_image.webp", + "/media/emily_c16f/images/07_image.webp", + "/media/emily_c16f/images/08_image.webp", + "/media/emily_c16f/images/09_image.webp", + "/media/emily_c16f/images/10_image.webp", + "/media/emily_c16f/images/11_image.webp", + "/media/emily_c16f/images/12_image.webp", + "/media/emily_c16f/images/13_image.webp", + "/media/emily_c16f/images/14_image.webp", + "/media/emily_c16f/images/15_image.webp", + "/media/emily_c16f/images/16_image.webp", + "/media/emily_c16f/images/17_image.webp", + "/media/emily_c16f/images/18_image.webp", + "/media/emily_c16f/images/19_image.webp", + "/media/emily_c16f/images/20_image.webp", + "/media/emily_c16f/images/21_image.webp", + "/media/emily_c16f/images/22_image.webp", + "/media/emily_c16f/images/22_image.webp", + "/media/emily_c16f/images/22_image.webp", + "/media/emily_c16f/images/22_image.webp", + "/media/emily_c16f/images/23_image.webp", + "/media/emily_c16f/images/23_image.webp", + "/media/emily_c16f/images/23_image.webp", + "/media/emily_c16f/images/23_image.webp", + "/media/emily_c16f/images/24_image.webp", + "/media/emily_c16f/images/24_image.webp", + "/media/emily_c16f/images/24_image.webp", + "/media/emily_c16f/images/24_image.webp", + "/media/emily_c16f/images/25_image.webp", + "/media/emily_c16f/images/25_image.webp", + "/media/emily_c16f/images/25_image.webp", + "/media/emily_c16f/images/25_image.webp", + "/media/emily_c16f/images/26_image.webp", + "/media/emily_c16f/images/26_image.webp", + "/media/emily_c16f/images/26_image.webp", + "/media/emily_c16f/images/26_image.webp", + "/media/emily_c16f/images/27_image.webp", + "/media/emily_c16f/images/27_image.webp", + "/media/emily_c16f/images/27_image.webp", + "/media/emily_c16f/images/28_image.webp", + "/media/emily_c16f/images/27_image.webp", + "/media/emily_c16f/images/28_image.webp", + "/media/emily_c16f/images/28_image.webp", + "/media/emily_c16f/images/29_image.webp", + "/media/emily_c16f/images/28_image.webp", + "/media/emily_c16f/images/29_image.webp", + "/media/emily_c16f/images/29_image.webp", + "/media/emily_c16f/images/30_image.webp", + "/media/emily_c16f/images/29_image.webp", + "/media/emily_c16f/images/30_image.webp", + "/media/emily_c16f/images/30_image.webp", + "/media/emily_c16f/images/31_image.webp", + "/media/emily_c16f/images/30_image.webp", + "/media/emily_c16f/images/31_image.webp", + "/media/emily_c16f/images/31_image.webp", + "/media/emily_c16f/images/31_image.webp" + ], + "created_at": "2026-01-22T14:32:28.424724-07:00", + "dir_name": "emily_c16f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emily_decf.json b/ideas/aeres/agents/emily_decf.json new file mode 100644 index 0000000..cc21a2e --- /dev/null +++ b/ideas/aeres/agents/emily_decf.json @@ -0,0 +1,74 @@ +{ + "id": "emily_decf", + "name": "Emily Thomas", + "handle": "emily", + "gender": "female", + "description": "woman with dark hair who works as a teacher and has glasses", + "tags": [ + "librarian", + "victorian literature", + "rare book restoration", + "local history", + "indoor gardening", + "baking sourdough", + "documentaries" + ], + "avatar_url": "/media/emily_decf/avatar.webp?t=1769067492", + "banner_url": "/media/emily_decf/banner.webp?t=1769067481", + "videos": [ + "/media/emily_decf/videos/01_smile_reveal.mp4?t=1769067552" + ], + "images": [ + "/media/emily_decf/images/01_mid_mid_neutral.webp", + "/media/emily_decf/images/02_image.webp", + "/media/emily_decf/images/03_image.webp", + "/media/emily_decf/images/04_image.webp", + "/media/emily_decf/images/05_image.webp", + "/media/emily_decf/images/06_image.webp", + "/media/emily_decf/images/08_image.webp", + "/media/emily_decf/images/09_image.webp", + "/media/emily_decf/images/11_image.webp", + "/media/emily_decf/images/12_image.webp", + "/media/emily_decf/images/13_image.webp", + "/media/emily_decf/images/14_image.webp", + "/media/emily_decf/images/15_image.webp", + "/media/emily_decf/images/16_image.webp", + "/media/emily_decf/images/17_image.webp", + "/media/emily_decf/images/18_image.webp", + "/media/emily_decf/images/19_image.webp", + "/media/emily_decf/images/20_image.webp", + "/media/emily_decf/images/21_image.webp", + "/media/emily_decf/images/22_image.webp", + "/media/emily_decf/images/23_image.webp", + "/media/emily_decf/images/24_image.webp", + "/media/emily_decf/images/25_image.webp", + "/media/emily_decf/images/26_image.webp", + "/media/emily_decf/images/27_image.webp", + "/media/emily_decf/images/28_image.webp", + "/media/emily_decf/images/29_image.webp", + "/media/emily_decf/images/30_image.webp", + "/media/emily_decf/images/31_image.webp", + "/media/emily_decf/images/32_image.webp", + "/media/emily_decf/images/33_image.webp", + "/media/emily_decf/images/34_image.webp", + "/media/emily_decf/images/35_image.webp", + "/media/emily_decf/images/36_image.webp", + "/media/emily_decf/images/37_image.webp", + "/media/emily_decf/images/38_image.webp", + "/media/emily_decf/images/39_image.webp", + "/media/emily_decf/images/40_image.webp", + "/media/emily_decf/images/41_image.webp", + "/media/emily_decf/images/42_image.webp", + "/media/emily_decf/images/43_image.webp", + "/media/emily_decf/images/44_image.webp", + "/media/emily_decf/images/45_image.webp", + "/media/emily_decf/images/46_image.webp", + "/media/emily_decf/images/47_image.webp", + "/media/emily_decf/images/48_image.webp", + "/media/emily_decf/images/49_image.webp", + "/media/emily_decf/images/50_image.webp", + "/media/emily_decf/images/51_image.webp" + ], + "created_at": "2026-01-22T00:36:53.452624-07:00", + "dir_name": "emily_decf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emma_3ba1.json b/ideas/aeres/agents/emma_3ba1.json new file mode 100644 index 0000000..8711aac --- /dev/null +++ b/ideas/aeres/agents/emma_3ba1.json @@ -0,0 +1,76 @@ +{ + "id": "emma_3ba1", + "name": "Emma Clark", + "handle": "emma", + "gender": "female", + "description": "female who cosplays as Gwen from Total Drama Island", + "tags": [ + "cosplayer", + "industrial sewing", + "horror cinema", + "post-punk music", + "vinyl collecting", + "hiking (only in overcast weather)", + "reading nihilist philosophy", + "coffee brewing" + ], + "avatar_url": "/media/emma_3ba1/avatar.webp?t=1770122269", + "banner_url": "/media/emma_3ba1/banner.webp?t=1770122262", + "videos": [ + "/media/emma_3ba1/videos/01_smile_reveal.mp4?t=1770122297" + ], + "images": [ + "/media/emma_3ba1/images/01_mid_mid_neutral.webp", + "/media/emma_3ba1/images/02_image.webp", + "/media/emma_3ba1/images/03_image.webp", + "/media/emma_3ba1/images/04_image.webp", + "/media/emma_3ba1/images/05_image.webp", + "/media/emma_3ba1/images/06_image.webp", + "/media/emma_3ba1/images/07_image.webp", + "/media/emma_3ba1/images/08_image.webp", + "/media/emma_3ba1/images/09_image.webp", + "/media/emma_3ba1/images/10_image.webp", + "/media/emma_3ba1/images/11_image.webp", + "/media/emma_3ba1/images/12_image.webp", + "/media/emma_3ba1/images/13_image.webp", + "/media/emma_3ba1/images/14_image.webp", + "/media/emma_3ba1/images/15_image.webp", + "/media/emma_3ba1/images/16_image.webp", + "/media/emma_3ba1/images/17_image.webp", + "/media/emma_3ba1/images/18_image.webp", + "/media/emma_3ba1/images/19_image.webp", + "/media/emma_3ba1/images/20_image.webp", + "/media/emma_3ba1/images/21_image.webp", + "/media/emma_3ba1/images/22_image.webp", + "/media/emma_3ba1/images/23_image.webp", + "/media/emma_3ba1/images/24_image.webp", + "/media/emma_3ba1/images/25_image.webp", + "/media/emma_3ba1/images/26_image.webp", + "/media/emma_3ba1/images/27_image.webp", + "/media/emma_3ba1/images/28_image.webp", + "/media/emma_3ba1/images/29_image.webp", + "/media/emma_3ba1/images/30_image.webp", + "/media/emma_3ba1/images/31_image.webp", + "/media/emma_3ba1/images/32_image.webp", + "/media/emma_3ba1/images/33_image.webp", + "/media/emma_3ba1/images/34_image.webp", + "/media/emma_3ba1/images/35_image.webp", + "/media/emma_3ba1/images/36_image.webp", + "/media/emma_3ba1/images/37_image.webp", + "/media/emma_3ba1/images/38_image.webp", + "/media/emma_3ba1/images/39_image.webp", + "/media/emma_3ba1/images/40_image.webp", + "/media/emma_3ba1/images/41_image.webp", + "/media/emma_3ba1/images/42_image.webp", + "/media/emma_3ba1/images/43_image.webp", + "/media/emma_3ba1/images/44_image.webp", + "/media/emma_3ba1/images/45_image.webp", + "/media/emma_3ba1/images/46_image.webp", + "/media/emma_3ba1/images/47_image.webp", + "/media/emma_3ba1/images/48_image.webp", + "/media/emma_3ba1/images/49_image.webp", + "/media/emma_3ba1/images/50_image.webp" + ], + "created_at": "2026-02-03T05:36:37.508599-07:00", + "dir_name": "emma_3ba1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/emmanuel_1afa.json b/ideas/aeres/agents/emmanuel_1afa.json new file mode 100644 index 0000000..74e413b --- /dev/null +++ b/ideas/aeres/agents/emmanuel_1afa.json @@ -0,0 +1,76 @@ +{ + "id": "emmanuel_1afa", + "name": "Emmanuel Smith", + "handle": "emmanuel", + "gender": "male", + "description": "werewolf male", + "tags": [ + "the werewolf", + "wildlife tracking", + "traditional archery", + "wilderness survival", + "off-grid living", + "heavy metal music", + "classic literature", + "restoring old trucks" + ], + "avatar_url": "/media/emmanuel_1afa/avatar.webp?t=1769757335", + "banner_url": "/media/emmanuel_1afa/banner.webp?t=1769757389", + "videos": [ + "/media/emmanuel_1afa/videos/01_smile_reveal.mp4?t=1769757379" + ], + "images": [ + "/media/emmanuel_1afa/images/01_mid_mid_neutral.webp", + "/media/emmanuel_1afa/images/02_image.webp", + "/media/emmanuel_1afa/images/03_image.webp", + "/media/emmanuel_1afa/images/04_image.webp", + "/media/emmanuel_1afa/images/05_image.webp", + "/media/emmanuel_1afa/images/06_image.webp", + "/media/emmanuel_1afa/images/07_image.webp", + "/media/emmanuel_1afa/images/08_image.webp", + "/media/emmanuel_1afa/images/09_image.webp", + "/media/emmanuel_1afa/images/10_image.webp", + "/media/emmanuel_1afa/images/11_image.webp", + "/media/emmanuel_1afa/images/13_image.webp", + "/media/emmanuel_1afa/images/14_image.webp", + "/media/emmanuel_1afa/images/15_image.webp", + "/media/emmanuel_1afa/images/16_image.webp", + "/media/emmanuel_1afa/images/17_image.webp", + "/media/emmanuel_1afa/images/18_image.webp", + "/media/emmanuel_1afa/images/19_image.webp", + "/media/emmanuel_1afa/images/20_image.webp", + "/media/emmanuel_1afa/images/21_image.webp", + "/media/emmanuel_1afa/images/22_image.webp", + "/media/emmanuel_1afa/images/23_image.webp", + "/media/emmanuel_1afa/images/24_image.webp", + "/media/emmanuel_1afa/images/25_image.webp", + "/media/emmanuel_1afa/images/26_image.webp", + "/media/emmanuel_1afa/images/27_image.webp", + "/media/emmanuel_1afa/images/28_image.webp", + "/media/emmanuel_1afa/images/29_image.webp", + "/media/emmanuel_1afa/images/30_image.webp", + "/media/emmanuel_1afa/images/31_image.webp", + "/media/emmanuel_1afa/images/32_image.webp", + "/media/emmanuel_1afa/images/33_image.webp", + "/media/emmanuel_1afa/images/34_image.webp", + "/media/emmanuel_1afa/images/35_image.webp", + "/media/emmanuel_1afa/images/36_image.webp", + "/media/emmanuel_1afa/images/37_image.webp", + "/media/emmanuel_1afa/images/38_image.webp", + "/media/emmanuel_1afa/images/39_image.webp", + "/media/emmanuel_1afa/images/40_image.webp", + "/media/emmanuel_1afa/images/41_image.webp", + "/media/emmanuel_1afa/images/42_image.webp", + "/media/emmanuel_1afa/images/43_image.webp", + "/media/emmanuel_1afa/images/44_image.webp", + "/media/emmanuel_1afa/images/45_image.webp", + "/media/emmanuel_1afa/images/46_image.webp", + "/media/emmanuel_1afa/images/47_image.webp", + "/media/emmanuel_1afa/images/48_image.webp", + "/media/emmanuel_1afa/images/49_image.webp", + "/media/emmanuel_1afa/images/50_image.webp", + "/media/emmanuel_1afa/images/51_image.webp" + ], + "created_at": "2026-01-30T00:14:16.165012-07:00", + "dir_name": "emmanuel_1afa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eren_7b4f.json b/ideas/aeres/agents/eren_7b4f.json new file mode 100644 index 0000000..1d2d6c8 --- /dev/null +++ b/ideas/aeres/agents/eren_7b4f.json @@ -0,0 +1,76 @@ +{ + "id": "eren_7b4f", + "name": "Eren Schmidt", + "handle": "eren", + "gender": "male", + "description": "real life male elf, draw inspiration from lord of the rings, tall blonde, slender, lives in a fictional elf forest village, stylish , elven clothes, armor, jewelery, pointy ears, blue eyes, white skin, very tall, attractive face, long blonde hair, has a collection of bows and arrows, 24 years old", + "tags": [ + "fantasy_creatures", + "lute playing", + "ancient herbology", + "celestial navigation", + "wood carving", + "swimming in mountain lakes", + "collecting rare seeds" + ], + "avatar_url": "/media/eren_7b4f/avatar.webp?t=1769609403", + "banner_url": "/media/eren_7b4f/banner.webp?t=1769609401", + "videos": [ + "/media/eren_7b4f/videos/01_smile_reveal.mp4?t=1769609423" + ], + "images": [ + "/media/eren_7b4f/images/01_mid_mid_neutral.webp", + "/media/eren_7b4f/images/02_image.webp", + "/media/eren_7b4f/images/03_image.webp", + "/media/eren_7b4f/images/04_image.webp", + "/media/eren_7b4f/images/05_image.webp", + "/media/eren_7b4f/images/06_image.webp", + "/media/eren_7b4f/images/07_image.webp", + "/media/eren_7b4f/images/08_image.webp", + "/media/eren_7b4f/images/09_image.webp", + "/media/eren_7b4f/images/10_image.webp", + "/media/eren_7b4f/images/11_image.webp", + "/media/eren_7b4f/images/12_image.webp", + "/media/eren_7b4f/images/13_image.webp", + "/media/eren_7b4f/images/14_image.webp", + "/media/eren_7b4f/images/15_image.webp", + "/media/eren_7b4f/images/16_image.webp", + "/media/eren_7b4f/images/17_image.webp", + "/media/eren_7b4f/images/18_image.webp", + "/media/eren_7b4f/images/19_image.webp", + "/media/eren_7b4f/images/20_image.webp", + "/media/eren_7b4f/images/21_image.webp", + "/media/eren_7b4f/images/22_image.webp", + "/media/eren_7b4f/images/23_image.webp", + "/media/eren_7b4f/images/24_image.webp", + "/media/eren_7b4f/images/25_image.webp", + "/media/eren_7b4f/images/26_image.webp", + "/media/eren_7b4f/images/27_image.webp", + "/media/eren_7b4f/images/28_image.webp", + "/media/eren_7b4f/images/29_image.webp", + "/media/eren_7b4f/images/30_image.webp", + "/media/eren_7b4f/images/31_image.webp", + "/media/eren_7b4f/images/32_image.webp", + "/media/eren_7b4f/images/33_image.webp", + "/media/eren_7b4f/images/34_image.webp", + "/media/eren_7b4f/images/35_image.webp", + "/media/eren_7b4f/images/36_image.webp", + "/media/eren_7b4f/images/37_image.webp", + "/media/eren_7b4f/images/38_image.webp", + "/media/eren_7b4f/images/39_image.webp", + "/media/eren_7b4f/images/40_image.webp", + "/media/eren_7b4f/images/41_image.webp", + "/media/eren_7b4f/images/42_image.webp", + "/media/eren_7b4f/images/43_image.webp", + "/media/eren_7b4f/images/44_image.webp", + "/media/eren_7b4f/images/45_image.webp", + "/media/eren_7b4f/images/46_image.webp", + "/media/eren_7b4f/images/47_image.webp", + "/media/eren_7b4f/images/48_image.webp", + "/media/eren_7b4f/images/49_image.webp", + "/media/eren_7b4f/images/50_image.webp", + "/media/eren_7b4f/images/51_image.webp" + ], + "created_at": "2026-01-28T07:08:35.716121-07:00", + "dir_name": "eren_7b4f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erica_bcbc.json b/ideas/aeres/agents/erica_bcbc.json new file mode 100644 index 0000000..22f9fec --- /dev/null +++ b/ideas/aeres/agents/erica_bcbc.json @@ -0,0 +1,75 @@ +{ + "id": "erica_bcbc", + "name": "Erica Lopez", + "handle": "erica", + "gender": "female", + "description": "Zyra from League of Legends", + "tags": [ + "fantasy_creatures", + "taxonomy", + "vinyasa yoga", + "mycology", + "aggressive landscape design", + "poetry", + "craft cocktails", + "architecture photography" + ], + "avatar_url": "/media/erica_bcbc/avatar.webp?t=1769768405", + "banner_url": "/media/erica_bcbc/banner.webp?t=1769768405", + "videos": [ + "/media/erica_bcbc/videos/01_smile_reveal.mp4?t=1769768432" + ], + "images": [ + "/media/erica_bcbc/images/01_mid_mid_neutral.webp", + "/media/erica_bcbc/images/02_image.webp", + "/media/erica_bcbc/images/03_image.webp", + "/media/erica_bcbc/images/04_image.webp", + "/media/erica_bcbc/images/05_image.webp", + "/media/erica_bcbc/images/07_image.webp", + "/media/erica_bcbc/images/08_image.webp", + "/media/erica_bcbc/images/09_image.webp", + "/media/erica_bcbc/images/10_image.webp", + "/media/erica_bcbc/images/11_image.webp", + "/media/erica_bcbc/images/12_image.webp", + "/media/erica_bcbc/images/13_image.webp", + "/media/erica_bcbc/images/14_image.webp", + "/media/erica_bcbc/images/15_image.webp", + "/media/erica_bcbc/images/16_image.webp", + "/media/erica_bcbc/images/17_image.webp", + "/media/erica_bcbc/images/18_image.webp", + "/media/erica_bcbc/images/19_image.webp", + "/media/erica_bcbc/images/20_image.webp", + "/media/erica_bcbc/images/21_image.webp", + "/media/erica_bcbc/images/22_image.webp", + "/media/erica_bcbc/images/23_image.webp", + "/media/erica_bcbc/images/24_image.webp", + "/media/erica_bcbc/images/25_image.webp", + "/media/erica_bcbc/images/26_image.webp", + "/media/erica_bcbc/images/27_image.webp", + "/media/erica_bcbc/images/28_image.webp", + "/media/erica_bcbc/images/29_image.webp", + "/media/erica_bcbc/images/30_image.webp", + "/media/erica_bcbc/images/31_image.webp", + "/media/erica_bcbc/images/32_image.webp", + "/media/erica_bcbc/images/33_image.webp", + "/media/erica_bcbc/images/34_image.webp", + "/media/erica_bcbc/images/35_image.webp", + "/media/erica_bcbc/images/36_image.webp", + "/media/erica_bcbc/images/37_image.webp", + "/media/erica_bcbc/images/38_image.webp", + "/media/erica_bcbc/images/39_image.webp", + "/media/erica_bcbc/images/40_image.webp", + "/media/erica_bcbc/images/41_image.webp", + "/media/erica_bcbc/images/43_image.webp", + "/media/erica_bcbc/images/44_image.webp", + "/media/erica_bcbc/images/45_image.webp", + "/media/erica_bcbc/images/46_image.webp", + "/media/erica_bcbc/images/47_image.webp", + "/media/erica_bcbc/images/48_image.webp", + "/media/erica_bcbc/images/49_image.webp", + "/media/erica_bcbc/images/50_image.webp", + "/media/erica_bcbc/images/51_image.webp" + ], + "created_at": "2026-01-30T03:18:56.76652-07:00", + "dir_name": "erica_bcbc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erik_0ca3.json b/ideas/aeres/agents/erik_0ca3.json new file mode 100644 index 0000000..b911120 --- /dev/null +++ b/ideas/aeres/agents/erik_0ca3.json @@ -0,0 +1,76 @@ +{ + "id": "erik_0ca3", + "name": "Erik Sorenson", + "handle": "erik", + "gender": "male", + "description": "male from Sweden who is a professional football player", + "tags": [ + "athletic", + "biohacking", + "alpine skiing", + "endurance nutrition", + "olympic weightlifting", + "modern architecture", + "espresso roasting", + "investment strategy" + ], + "avatar_url": "/media/erik_0ca3/avatar.webp?t=1769760747", + "banner_url": "/media/erik_0ca3/banner.webp?t=1769760750", + "videos": [ + "/media/erik_0ca3/videos/01_smile_reveal.mp4?t=1769760783" + ], + "images": [ + "/media/erik_0ca3/images/01_mid_mid_neutral.webp", + "/media/erik_0ca3/images/02_image.webp", + "/media/erik_0ca3/images/03_image.webp", + "/media/erik_0ca3/images/04_image.webp", + "/media/erik_0ca3/images/05_image.webp", + "/media/erik_0ca3/images/06_image.webp", + "/media/erik_0ca3/images/07_image.webp", + "/media/erik_0ca3/images/08_image.webp", + "/media/erik_0ca3/images/09_image.webp", + "/media/erik_0ca3/images/11_image.webp", + "/media/erik_0ca3/images/12_image.webp", + "/media/erik_0ca3/images/13_image.webp", + "/media/erik_0ca3/images/14_image.webp", + "/media/erik_0ca3/images/15_image.webp", + "/media/erik_0ca3/images/16_image.webp", + "/media/erik_0ca3/images/17_image.webp", + "/media/erik_0ca3/images/18_image.webp", + "/media/erik_0ca3/images/19_image.webp", + "/media/erik_0ca3/images/20_image.webp", + "/media/erik_0ca3/images/21_image.webp", + "/media/erik_0ca3/images/22_image.webp", + "/media/erik_0ca3/images/23_image.webp", + "/media/erik_0ca3/images/24_image.webp", + "/media/erik_0ca3/images/25_image.webp", + "/media/erik_0ca3/images/26_image.webp", + "/media/erik_0ca3/images/27_image.webp", + "/media/erik_0ca3/images/28_image.webp", + "/media/erik_0ca3/images/29_image.webp", + "/media/erik_0ca3/images/30_image.webp", + "/media/erik_0ca3/images/31_image.webp", + "/media/erik_0ca3/images/32_image.webp", + "/media/erik_0ca3/images/33_image.webp", + "/media/erik_0ca3/images/34_image.webp", + "/media/erik_0ca3/images/35_image.webp", + "/media/erik_0ca3/images/36_image.webp", + "/media/erik_0ca3/images/37_image.webp", + "/media/erik_0ca3/images/38_image.webp", + "/media/erik_0ca3/images/39_image.webp", + "/media/erik_0ca3/images/40_image.webp", + "/media/erik_0ca3/images/41_image.webp", + "/media/erik_0ca3/images/42_image.webp", + "/media/erik_0ca3/images/43_image.webp", + "/media/erik_0ca3/images/44_image.webp", + "/media/erik_0ca3/images/45_image.webp", + "/media/erik_0ca3/images/46_image.webp", + "/media/erik_0ca3/images/47_image.webp", + "/media/erik_0ca3/images/48_image.webp", + "/media/erik_0ca3/images/49_image.webp", + "/media/erik_0ca3/images/50_image.webp", + "/media/erik_0ca3/images/51_image.webp" + ], + "created_at": "2026-01-30T01:11:17.700604-07:00", + "dir_name": "erik_0ca3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erik_8e20.json b/ideas/aeres/agents/erik_8e20.json new file mode 100644 index 0000000..47c24e4 --- /dev/null +++ b/ideas/aeres/agents/erik_8e20.json @@ -0,0 +1,76 @@ +{ + "id": "erik_8e20", + "name": "Erik Solberg", + "handle": "erik", + "gender": "male", + "description": "male from Norway who is a firefighter", + "tags": [ + "career_fantasy", + "alpine climbing", + "winter survivalism", + "traditional carpentry", + "black coffee brewing", + "nordic history", + "photography" + ], + "avatar_url": "/media/erik_8e20/avatar.webp?t=1770020597", + "banner_url": "/media/erik_8e20/banner.webp?t=1770020601", + "videos": [ + "/media/erik_8e20/videos/01_smile_reveal.mp4?t=1770016055" + ], + "images": [ + "/media/erik_8e20/images/01_mid_mid_neutral.webp", + "/media/erik_8e20/images/02_image.webp", + "/media/erik_8e20/images/03_image.webp", + "/media/erik_8e20/images/04_image.webp", + "/media/erik_8e20/images/05_image.webp", + "/media/erik_8e20/images/06_image.webp", + "/media/erik_8e20/images/07_image.webp", + "/media/erik_8e20/images/08_image.webp", + "/media/erik_8e20/images/09_image.webp", + "/media/erik_8e20/images/10_image.webp", + "/media/erik_8e20/images/11_image.webp", + "/media/erik_8e20/images/12_image.webp", + "/media/erik_8e20/images/13_image.webp", + "/media/erik_8e20/images/14_image.webp", + "/media/erik_8e20/images/15_image.webp", + "/media/erik_8e20/images/16_image.webp", + "/media/erik_8e20/images/17_image.webp", + "/media/erik_8e20/images/18_image.webp", + "/media/erik_8e20/images/19_image.webp", + "/media/erik_8e20/images/20_image.webp", + "/media/erik_8e20/images/21_image.webp", + "/media/erik_8e20/images/22_image.webp", + "/media/erik_8e20/images/23_image.webp", + "/media/erik_8e20/images/24_image.webp", + "/media/erik_8e20/images/25_image.webp", + "/media/erik_8e20/images/26_image.webp", + "/media/erik_8e20/images/27_image.webp", + "/media/erik_8e20/images/28_image.webp", + "/media/erik_8e20/images/29_image.webp", + "/media/erik_8e20/images/30_image.webp", + "/media/erik_8e20/images/31_image.webp", + "/media/erik_8e20/images/32_image.webp", + "/media/erik_8e20/images/33_image.webp", + "/media/erik_8e20/images/34_image.webp", + "/media/erik_8e20/images/35_image.webp", + "/media/erik_8e20/images/36_image.webp", + "/media/erik_8e20/images/37_image.webp", + "/media/erik_8e20/images/38_image.webp", + "/media/erik_8e20/images/39_image.webp", + "/media/erik_8e20/images/40_image.webp", + "/media/erik_8e20/images/41_image.webp", + "/media/erik_8e20/images/42_image.webp", + "/media/erik_8e20/images/43_image.webp", + "/media/erik_8e20/images/44_image.webp", + "/media/erik_8e20/images/45_image.webp", + "/media/erik_8e20/images/46_image.webp", + "/media/erik_8e20/images/47_image.webp", + "/media/erik_8e20/images/48_image.webp", + "/media/erik_8e20/images/49_image.webp", + "/media/erik_8e20/images/50_image.webp", + "/media/erik_8e20/images/51_image.webp" + ], + "created_at": "2026-02-02T00:05:37.765381-07:00", + "dir_name": "erik_8e20" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erika_0554.json b/ideas/aeres/agents/erika_0554.json new file mode 100644 index 0000000..ec88d41 --- /dev/null +++ b/ideas/aeres/agents/erika_0554.json @@ -0,0 +1,77 @@ +{ + "id": "erika_0554", + "name": "Erika Garcia", + "handle": "erika", + "gender": "female", + "description": "woman with dark hair who cosplays as overwatch characters", + "tags": [ + "cosplayer", + "competitive gaming", + "armor fabrication", + "robotics", + "3d printing", + "desert hiking", + "cyberpunk literature", + "synthwave music" + ], + "avatar_url": "/media/erika_0554/avatar.webp?t=1769088639", + "banner_url": "/media/erika_0554/banner.webp?t=1769088642", + "videos": [ + "/media/erika_0554/videos/01_smile_reveal.mp4?t=1769088673" + ], + "images": [ + "/media/erika_0554/images/01_mid_mid_neutral.webp", + "/media/erika_0554/images/02_image.webp", + "/media/erika_0554/images/03_image.webp", + "/media/erika_0554/images/04_image.webp", + "/media/erika_0554/images/05_image.webp", + "/media/erika_0554/images/06_image.webp", + "/media/erika_0554/images/07_image.webp", + "/media/erika_0554/images/08_image.webp", + "/media/erika_0554/images/09_image.webp", + "/media/erika_0554/images/10_image.webp", + "/media/erika_0554/images/11_image.webp", + "/media/erika_0554/images/12_image.webp", + "/media/erika_0554/images/13_image.webp", + "/media/erika_0554/images/14_image.webp", + "/media/erika_0554/images/15_image.webp", + "/media/erika_0554/images/16_image.webp", + "/media/erika_0554/images/17_image.webp", + "/media/erika_0554/images/18_image.webp", + "/media/erika_0554/images/19_image.webp", + "/media/erika_0554/images/20_image.webp", + "/media/erika_0554/images/21_image.webp", + "/media/erika_0554/images/22_image.webp", + "/media/erika_0554/images/23_image.webp", + "/media/erika_0554/images/24_image.webp", + "/media/erika_0554/images/25_image.webp", + "/media/erika_0554/images/26_image.webp", + "/media/erika_0554/images/27_image.webp", + "/media/erika_0554/images/28_image.webp", + "/media/erika_0554/images/29_image.webp", + "/media/erika_0554/images/30_image.webp", + "/media/erika_0554/images/31_image.webp", + "/media/erika_0554/images/32_image.webp", + "/media/erika_0554/images/33_image.webp", + "/media/erika_0554/images/34_image.webp", + "/media/erika_0554/images/35_image.webp", + "/media/erika_0554/images/36_image.webp", + "/media/erika_0554/images/37_image.webp", + "/media/erika_0554/images/38_image.webp", + "/media/erika_0554/images/39_image.webp", + "/media/erika_0554/images/40_image.webp", + "/media/erika_0554/images/41_image.webp", + "/media/erika_0554/images/42_image.webp", + "/media/erika_0554/images/43_image.webp", + "/media/erika_0554/images/44_image.webp", + "/media/erika_0554/images/45_image.webp", + "/media/erika_0554/images/46_image.webp", + "/media/erika_0554/images/47_image.webp", + "/media/erika_0554/images/48_image.webp", + "/media/erika_0554/images/49_image.webp", + "/media/erika_0554/images/50_image.webp", + "/media/erika_0554/images/51_image.webp" + ], + "created_at": "2026-01-22T06:29:32.736276-07:00", + "dir_name": "erika_0554" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erin_39bf.json b/ideas/aeres/agents/erin_39bf.json new file mode 100644 index 0000000..b31388b --- /dev/null +++ b/ideas/aeres/agents/erin_39bf.json @@ -0,0 +1,76 @@ +{ + "id": "erin_39bf", + "name": "Erin Garcia", + "handle": "erin", + "gender": "female", + "description": "mexican woman who is a proffesional streamer", + "tags": [ + "streamer_gf", + "variety gaming", + "mechanical keyboards", + "podcasting", + "community building", + "mexican fusion cooking", + "smart home automation", + "urban photography" + ], + "avatar_url": "/media/erin_39bf/avatar.webp?t=1770103637", + "banner_url": "/media/erin_39bf/banner.webp?t=1770103697", + "videos": [ + "/media/erin_39bf/videos/01_smile_reveal.mp4?t=1770103687" + ], + "images": [ + "/media/erin_39bf/images/01_mid_mid_neutral.webp", + "/media/erin_39bf/images/02_image.webp", + "/media/erin_39bf/images/03_image.webp", + "/media/erin_39bf/images/04_image.webp", + "/media/erin_39bf/images/05_image.webp", + "/media/erin_39bf/images/06_image.webp", + "/media/erin_39bf/images/07_image.webp", + "/media/erin_39bf/images/08_image.webp", + "/media/erin_39bf/images/09_image.webp", + "/media/erin_39bf/images/10_image.webp", + "/media/erin_39bf/images/11_image.webp", + "/media/erin_39bf/images/12_image.webp", + "/media/erin_39bf/images/13_image.webp", + "/media/erin_39bf/images/14_image.webp", + "/media/erin_39bf/images/15_image.webp", + "/media/erin_39bf/images/16_image.webp", + "/media/erin_39bf/images/17_image.webp", + "/media/erin_39bf/images/18_image.webp", + "/media/erin_39bf/images/19_image.webp", + "/media/erin_39bf/images/20_image.webp", + "/media/erin_39bf/images/21_image.webp", + "/media/erin_39bf/images/22_image.webp", + "/media/erin_39bf/images/23_image.webp", + "/media/erin_39bf/images/24_image.webp", + "/media/erin_39bf/images/25_image.webp", + "/media/erin_39bf/images/26_image.webp", + "/media/erin_39bf/images/27_image.webp", + "/media/erin_39bf/images/28_image.webp", + "/media/erin_39bf/images/29_image.webp", + "/media/erin_39bf/images/30_image.webp", + "/media/erin_39bf/images/31_image.webp", + "/media/erin_39bf/images/32_image.webp", + "/media/erin_39bf/images/33_image.webp", + "/media/erin_39bf/images/34_image.webp", + "/media/erin_39bf/images/35_image.webp", + "/media/erin_39bf/images/36_image.webp", + "/media/erin_39bf/images/37_image.webp", + "/media/erin_39bf/images/38_image.webp", + "/media/erin_39bf/images/39_image.webp", + "/media/erin_39bf/images/40_image.webp", + "/media/erin_39bf/images/41_image.webp", + "/media/erin_39bf/images/42_image.webp", + "/media/erin_39bf/images/43_image.webp", + "/media/erin_39bf/images/44_image.webp", + "/media/erin_39bf/images/45_image.webp", + "/media/erin_39bf/images/46_image.webp", + "/media/erin_39bf/images/47_image.webp", + "/media/erin_39bf/images/49_image.webp", + "/media/erin_39bf/images/50_image.webp", + "/media/erin_39bf/images/51_image.webp" + ], + "created_at": "2026-02-03T00:25:58.514461-07:00", + "dir_name": "erin_39bf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erin_6d2b.json b/ideas/aeres/agents/erin_6d2b.json new file mode 100644 index 0000000..b189bc2 --- /dev/null +++ b/ideas/aeres/agents/erin_6d2b.json @@ -0,0 +1,74 @@ +{ + "id": "erin_6d2b", + "name": "Erin Garcia", + "handle": "erin", + "gender": "female", + "description": "plus size, free spirit, New Mexico, photographer, UFO enthusiast,", + "tags": [ + "thick_queen", + "analog photography", + "desert hiking", + "collecting vintage turquoise", + "southwestern history", + "interior design", + "mezcal tasting", + "botanical gardening" + ], + "avatar_url": "/media/erin_6d2b/avatar.webp?t=1769677927", + "banner_url": "/media/erin_6d2b/banner.webp?t=1769677921", + "videos": [ + "/media/erin_6d2b/videos/01_smile_reveal.mp4?t=1769677960" + ], + "images": [ + "/media/erin_6d2b/images/01_mid_mid_neutral.webp", + "/media/erin_6d2b/images/02_image.webp", + "/media/erin_6d2b/images/03_image.webp", + "/media/erin_6d2b/images/04_image.webp", + "/media/erin_6d2b/images/05_image.webp", + "/media/erin_6d2b/images/08_image.webp", + "/media/erin_6d2b/images/09_image.webp", + "/media/erin_6d2b/images/10_image.webp", + "/media/erin_6d2b/images/11_image.webp", + "/media/erin_6d2b/images/12_image.webp", + "/media/erin_6d2b/images/13_image.webp", + "/media/erin_6d2b/images/14_image.webp", + "/media/erin_6d2b/images/15_image.webp", + "/media/erin_6d2b/images/16_image.webp", + "/media/erin_6d2b/images/17_image.webp", + "/media/erin_6d2b/images/18_image.webp", + "/media/erin_6d2b/images/19_image.webp", + "/media/erin_6d2b/images/20_image.webp", + "/media/erin_6d2b/images/21_image.webp", + "/media/erin_6d2b/images/22_image.webp", + "/media/erin_6d2b/images/23_image.webp", + "/media/erin_6d2b/images/24_image.webp", + "/media/erin_6d2b/images/25_image.webp", + "/media/erin_6d2b/images/26_image.webp", + "/media/erin_6d2b/images/27_image.webp", + "/media/erin_6d2b/images/28_image.webp", + "/media/erin_6d2b/images/29_image.webp", + "/media/erin_6d2b/images/30_image.webp", + "/media/erin_6d2b/images/31_image.webp", + "/media/erin_6d2b/images/32_image.webp", + "/media/erin_6d2b/images/33_image.webp", + "/media/erin_6d2b/images/34_image.webp", + "/media/erin_6d2b/images/35_image.webp", + "/media/erin_6d2b/images/36_image.webp", + "/media/erin_6d2b/images/42_image.webp", + "/media/erin_6d2b/images/43_image.webp", + "/media/erin_6d2b/images/44_image.webp", + "/media/erin_6d2b/images/45_image.webp", + "/media/erin_6d2b/images/46_image.webp", + "/media/erin_6d2b/images/47_image.webp", + "/media/erin_6d2b/images/49_image.webp", + "/media/erin_6d2b/images/50_image.webp", + "/media/erin_6d2b/images/51_image.webp", + "/media/erin_6d2b/images/52_image.webp", + "/media/erin_6d2b/images/53_image.webp", + "/media/erin_6d2b/images/54_image.webp", + "/media/erin_6d2b/images/55_image.webp", + "/media/erin_6d2b/images/56_image.webp" + ], + "created_at": "2026-01-29T02:10:40.975902-07:00", + "dir_name": "erin_6d2b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erin_9f76.json b/ideas/aeres/agents/erin_9f76.json new file mode 100644 index 0000000..c882de8 --- /dev/null +++ b/ideas/aeres/agents/erin_9f76.json @@ -0,0 +1,81 @@ +{ + "id": "erin_9f76", + "name": "Erin Garcia", + "handle": "erin", + "gender": "female", + "description": "woman with dreads who likes trap music", + "tags": [ + "baddie", + "high-end sneaker collecting", + "trap music history", + "industrial architecture", + "luxury watches", + "street photography", + "mixology", + "modern dance" + ], + "avatar_url": "/media/erin_9f76/avatar.webp?t=1770189088", + "banner_url": "/media/erin_9f76/banner.webp?t=1770189161", + "videos": [ + "/media/erin_9f76/videos/01_smile_reveal.mp4?t=1770189534" + ], + "images": [ + "/media/erin_9f76/images/01_mid_mid_neutral.webp", + "/media/erin_9f76/images/02_image.webp", + "/media/erin_9f76/images/03_image.webp", + "/media/erin_9f76/images/04_image.webp", + "/media/erin_9f76/images/05_image.webp", + "/media/erin_9f76/images/06_image.webp", + "/media/erin_9f76/images/07_image.webp", + "/media/erin_9f76/images/08_image.webp", + "/media/erin_9f76/images/09_image.webp", + "/media/erin_9f76/images/10_image.webp", + "/media/erin_9f76/images/11_image.webp", + "/media/erin_9f76/images/12_image.webp", + "/media/erin_9f76/images/13_image.webp", + "/media/erin_9f76/images/14_image.webp", + "/media/erin_9f76/images/15_image.webp", + "/media/erin_9f76/images/16_image.webp", + "/media/erin_9f76/images/17_image.webp", + "/media/erin_9f76/images/18_image.webp", + "/media/erin_9f76/images/19_image.webp", + "/media/erin_9f76/images/20_image.webp", + "/media/erin_9f76/images/21_image.webp", + "/media/erin_9f76/images/22_image.webp", + "/media/erin_9f76/images/23_image.webp", + "/media/erin_9f76/images/24_image.webp", + "/media/erin_9f76/images/25_image.webp", + "/media/erin_9f76/images/26_image.webp", + "/media/erin_9f76/images/27_image.webp", + "/media/erin_9f76/images/28_image.webp", + "/media/erin_9f76/images/29_image.webp", + "/media/erin_9f76/images/30_image.webp", + "/media/erin_9f76/images/31_image.webp", + "/media/erin_9f76/images/32_image.webp", + "/media/erin_9f76/images/33_image.webp", + "/media/erin_9f76/images/34_image.webp", + "/media/erin_9f76/images/35_image.webp", + "/media/erin_9f76/images/36_image.webp", + "/media/erin_9f76/images/37_image.webp", + "/media/erin_9f76/images/38_image.webp", + "/media/erin_9f76/images/39_image.webp", + "/media/erin_9f76/images/40_image.webp", + "/media/erin_9f76/images/41_image.webp", + "/media/erin_9f76/images/42_image.webp", + "/media/erin_9f76/images/43_image.webp", + "/media/erin_9f76/images/44_image.webp", + "/media/erin_9f76/images/45_image.webp", + "/media/erin_9f76/images/46_image.webp", + "/media/erin_9f76/images/47_image.webp", + "/media/erin_9f76/images/48_image.webp", + "/media/erin_9f76/images/49_image.webp", + "/media/erin_9f76/images/50_image.webp", + "/media/erin_9f76/images/51_image.webp", + "/media/erin_9f76/images/52_image.webp", + "/media/erin_9f76/images/53_image.webp", + "/media/erin_9f76/images/54_image.webp", + "/media/erin_9f76/images/55_image.webp" + ], + "created_at": "2026-02-04T00:10:13.925912-07:00", + "dir_name": "erin_9f76" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erma_10d6.json b/ideas/aeres/agents/erma_10d6.json new file mode 100644 index 0000000..849b409 --- /dev/null +++ b/ideas/aeres/agents/erma_10d6.json @@ -0,0 +1,76 @@ +{ + "id": "erma_10d6", + "name": "Erma Davis", + "handle": "erma", + "gender": "female", + "description": "female from Germany who is a rapper", + "tags": [ + "baddie", + "techno music history", + "minimalist architecture", + "high-end streetwear design", + "street photography", + "pilates", + "wine tasting", + "urban exploration" + ], + "avatar_url": "/media/erma_10d6/avatar.webp?t=1769777926", + "banner_url": "/media/erma_10d6/banner.webp?t=1769777938", + "videos": [ + "/media/erma_10d6/videos/01_smile_reveal.mp4?t=1769777986" + ], + "images": [ + "/media/erma_10d6/images/01_mid_mid_neutral.webp", + "/media/erma_10d6/images/02_image.webp", + "/media/erma_10d6/images/03_image.webp", + "/media/erma_10d6/images/04_image.webp", + "/media/erma_10d6/images/05_image.webp", + "/media/erma_10d6/images/06_image.webp", + "/media/erma_10d6/images/07_image.webp", + "/media/erma_10d6/images/08_image.webp", + "/media/erma_10d6/images/09_image.webp", + "/media/erma_10d6/images/10_image.webp", + "/media/erma_10d6/images/11_image.webp", + "/media/erma_10d6/images/12_image.webp", + "/media/erma_10d6/images/13_image.webp", + "/media/erma_10d6/images/14_image.webp", + "/media/erma_10d6/images/15_image.webp", + "/media/erma_10d6/images/16_image.webp", + "/media/erma_10d6/images/17_image.webp", + "/media/erma_10d6/images/18_image.webp", + "/media/erma_10d6/images/20_image.webp", + "/media/erma_10d6/images/21_image.webp", + "/media/erma_10d6/images/22_image.webp", + "/media/erma_10d6/images/23_image.webp", + "/media/erma_10d6/images/24_image.webp", + "/media/erma_10d6/images/25_image.webp", + "/media/erma_10d6/images/26_image.webp", + "/media/erma_10d6/images/27_image.webp", + "/media/erma_10d6/images/28_image.webp", + "/media/erma_10d6/images/29_image.webp", + "/media/erma_10d6/images/30_image.webp", + "/media/erma_10d6/images/31_image.webp", + "/media/erma_10d6/images/32_image.webp", + "/media/erma_10d6/images/33_image.webp", + "/media/erma_10d6/images/34_image.webp", + "/media/erma_10d6/images/35_image.webp", + "/media/erma_10d6/images/36_image.webp", + "/media/erma_10d6/images/37_image.webp", + "/media/erma_10d6/images/38_image.webp", + "/media/erma_10d6/images/39_image.webp", + "/media/erma_10d6/images/40_image.webp", + "/media/erma_10d6/images/41_image.webp", + "/media/erma_10d6/images/42_image.webp", + "/media/erma_10d6/images/43_image.webp", + "/media/erma_10d6/images/44_image.webp", + "/media/erma_10d6/images/45_image.webp", + "/media/erma_10d6/images/46_image.webp", + "/media/erma_10d6/images/47_image.webp", + "/media/erma_10d6/images/48_image.webp", + "/media/erma_10d6/images/49_image.webp", + "/media/erma_10d6/images/50_image.webp", + "/media/erma_10d6/images/51_image.webp" + ], + "created_at": "2026-01-30T05:57:42.753251-07:00", + "dir_name": "erma_10d6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/erma_5970.json b/ideas/aeres/agents/erma_5970.json new file mode 100644 index 0000000..5a37b08 --- /dev/null +++ b/ideas/aeres/agents/erma_5970.json @@ -0,0 +1,77 @@ +{ + "id": "erma_5970", + "name": "Erma Hong", + "handle": "erma", + "gender": "female", + "description": "south korean woman who likes to cosplay as Star Wars characters", + "tags": [ + "cosplayer", + "prop fabrication", + "electronic circuitry", + "space exploration history", + "3d printing", + "astrophotography", + "rock climbing", + "retro gaming" + ], + "avatar_url": "/media/erma_5970/avatar.webp?t=1769691366", + "banner_url": "/media/erma_5970/banner.webp?t=1769691362", + "videos": [ + "/media/erma_5970/videos/01_smile_reveal.mp4?t=1769691414" + ], + "images": [ + "/media/erma_5970/images/01_mid_mid_neutral.webp", + "/media/erma_5970/images/02_image.webp", + "/media/erma_5970/images/03_image.webp", + "/media/erma_5970/images/04_image.webp", + "/media/erma_5970/images/05_image.webp", + "/media/erma_5970/images/06_image.webp", + "/media/erma_5970/images/07_image.webp", + "/media/erma_5970/images/08_image.webp", + "/media/erma_5970/images/09_image.webp", + "/media/erma_5970/images/10_image.webp", + "/media/erma_5970/images/11_image.webp", + "/media/erma_5970/images/12_image.webp", + "/media/erma_5970/images/13_image.webp", + "/media/erma_5970/images/14_image.webp", + "/media/erma_5970/images/15_image.webp", + "/media/erma_5970/images/16_image.webp", + "/media/erma_5970/images/17_image.webp", + "/media/erma_5970/images/18_image.webp", + "/media/erma_5970/images/19_image.webp", + "/media/erma_5970/images/20_image.webp", + "/media/erma_5970/images/21_image.webp", + "/media/erma_5970/images/22_image.webp", + "/media/erma_5970/images/23_image.webp", + "/media/erma_5970/images/24_image.webp", + "/media/erma_5970/images/25_image.webp", + "/media/erma_5970/images/26_image.webp", + "/media/erma_5970/images/27_image.webp", + "/media/erma_5970/images/28_image.webp", + "/media/erma_5970/images/29_image.webp", + "/media/erma_5970/images/30_image.webp", + "/media/erma_5970/images/31_image.webp", + "/media/erma_5970/images/32_image.webp", + "/media/erma_5970/images/33_image.webp", + "/media/erma_5970/images/34_image.webp", + "/media/erma_5970/images/35_image.webp", + "/media/erma_5970/images/36_image.webp", + "/media/erma_5970/images/37_image.webp", + "/media/erma_5970/images/38_image.webp", + "/media/erma_5970/images/39_image.webp", + "/media/erma_5970/images/40_image.webp", + "/media/erma_5970/images/41_image.webp", + "/media/erma_5970/images/42_image.webp", + "/media/erma_5970/images/43_image.webp", + "/media/erma_5970/images/44_image.webp", + "/media/erma_5970/images/45_image.webp", + "/media/erma_5970/images/46_image.webp", + "/media/erma_5970/images/47_image.webp", + "/media/erma_5970/images/48_image.webp", + "/media/erma_5970/images/49_image.webp", + "/media/erma_5970/images/50_image.webp", + "/media/erma_5970/images/51_image.webp" + ], + "created_at": "2026-01-29T05:54:47.465772-07:00", + "dir_name": "erma_5970" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ernesto_ff93.json b/ideas/aeres/agents/ernesto_ff93.json new file mode 100644 index 0000000..1de6011 --- /dev/null +++ b/ideas/aeres/agents/ernesto_ff93.json @@ -0,0 +1,77 @@ +{ + "id": "ernesto_ff93", + "name": "Ernesto Flores", + "handle": "ernesto", + "gender": "male", + "description": "30's, stoner, thin, shaggy hair, California, skateboard", + "tags": [ + "skater_boy", + "skateboarding", + "film photography", + "collecting vintage vinyl", + "graphic design", + "surfing", + "cooking plant-based meals", + "stargazing" + ], + "avatar_url": "/media/ernesto_ff93/avatar.webp?t=1769584103", + "banner_url": "/media/ernesto_ff93/banner.webp?t=1769554321", + "videos": [ + "/media/ernesto_ff93/videos/01_smile_reveal.mp4?t=1769554352" + ], + "images": [ + "/media/ernesto_ff93/images/01_mid_mid_neutral.webp", + "/media/ernesto_ff93/images/02_image.webp", + "/media/ernesto_ff93/images/03_image.webp", + "/media/ernesto_ff93/images/04_image.webp", + "/media/ernesto_ff93/images/05_image.webp", + "/media/ernesto_ff93/images/06_image.webp", + "/media/ernesto_ff93/images/07_image.webp", + "/media/ernesto_ff93/images/08_image.webp", + "/media/ernesto_ff93/images/09_image.webp", + "/media/ernesto_ff93/images/10_image.webp", + "/media/ernesto_ff93/images/11_image.webp", + "/media/ernesto_ff93/images/12_image.webp", + "/media/ernesto_ff93/images/13_image.webp", + "/media/ernesto_ff93/images/14_image.webp", + "/media/ernesto_ff93/images/15_image.webp", + "/media/ernesto_ff93/images/16_image.webp", + "/media/ernesto_ff93/images/17_image.webp", + "/media/ernesto_ff93/images/18_image.webp", + "/media/ernesto_ff93/images/19_image.webp", + "/media/ernesto_ff93/images/20_image.webp", + "/media/ernesto_ff93/images/21_image.webp", + "/media/ernesto_ff93/images/22_image.webp", + "/media/ernesto_ff93/images/23_image.webp", + "/media/ernesto_ff93/images/24_image.webp", + "/media/ernesto_ff93/images/25_image.webp", + "/media/ernesto_ff93/images/26_image.webp", + "/media/ernesto_ff93/images/27_image.webp", + "/media/ernesto_ff93/images/28_image.webp", + "/media/ernesto_ff93/images/29_image.webp", + "/media/ernesto_ff93/images/30_image.webp", + "/media/ernesto_ff93/images/31_image.webp", + "/media/ernesto_ff93/images/32_image.webp", + "/media/ernesto_ff93/images/33_image.webp", + "/media/ernesto_ff93/images/34_image.webp", + "/media/ernesto_ff93/images/35_image.webp", + "/media/ernesto_ff93/images/36_image.webp", + "/media/ernesto_ff93/images/37_image.webp", + "/media/ernesto_ff93/images/38_image.webp", + "/media/ernesto_ff93/images/39_image.webp", + "/media/ernesto_ff93/images/40_image.webp", + "/media/ernesto_ff93/images/41_image.webp", + "/media/ernesto_ff93/images/42_image.webp", + "/media/ernesto_ff93/images/43_image.webp", + "/media/ernesto_ff93/images/44_image.webp", + "/media/ernesto_ff93/images/45_image.webp", + "/media/ernesto_ff93/images/46_image.webp", + "/media/ernesto_ff93/images/47_image.webp", + "/media/ernesto_ff93/images/48_image.webp", + "/media/ernesto_ff93/images/49_image.webp", + "/media/ernesto_ff93/images/50_image.webp", + "/media/ernesto_ff93/images/51_image.webp" + ], + "created_at": "2026-01-27T15:50:47.423015-07:00", + "dir_name": "ernesto_ff93" +} \ No newline at end of file diff --git a/ideas/aeres/agents/estelle_9018.json b/ideas/aeres/agents/estelle_9018.json new file mode 100644 index 0000000..2a72631 --- /dev/null +++ b/ideas/aeres/agents/estelle_9018.json @@ -0,0 +1,76 @@ +{ + "id": "estelle_9018", + "name": "Estelle Smit", + "handle": "estelle", + "gender": "female", + "description": "female from Mexico who cosplays as John Cena", + "tags": [ + "cosplayer", + "pro-wrestling history", + "weightlifting", + "prop fabrication", + "charity work for kids", + "cooking high-protein meals", + "action cinema", + "retro gaming" + ], + "avatar_url": "/media/estelle_9018/avatar.webp?t=1770032988", + "banner_url": "/media/estelle_9018/banner.webp?t=1770032993", + "videos": [ + "/media/estelle_9018/videos/01_smile_reveal.mp4?t=1770033017" + ], + "images": [ + "/media/estelle_9018/images/01_mid_mid_neutral.webp", + "/media/estelle_9018/images/02_image.webp", + "/media/estelle_9018/images/03_image.webp", + "/media/estelle_9018/images/04_image.webp", + "/media/estelle_9018/images/05_image.webp", + "/media/estelle_9018/images/06_image.webp", + "/media/estelle_9018/images/07_image.webp", + "/media/estelle_9018/images/08_image.webp", + "/media/estelle_9018/images/09_image.webp", + "/media/estelle_9018/images/10_image.webp", + "/media/estelle_9018/images/11_image.webp", + "/media/estelle_9018/images/12_image.webp", + "/media/estelle_9018/images/13_image.webp", + "/media/estelle_9018/images/14_image.webp", + "/media/estelle_9018/images/15_image.webp", + "/media/estelle_9018/images/16_image.webp", + "/media/estelle_9018/images/17_image.webp", + "/media/estelle_9018/images/18_image.webp", + "/media/estelle_9018/images/19_image.webp", + "/media/estelle_9018/images/20_image.webp", + "/media/estelle_9018/images/21_image.webp", + "/media/estelle_9018/images/22_image.webp", + "/media/estelle_9018/images/23_image.webp", + "/media/estelle_9018/images/24_image.webp", + "/media/estelle_9018/images/25_image.webp", + "/media/estelle_9018/images/26_image.webp", + "/media/estelle_9018/images/27_image.webp", + "/media/estelle_9018/images/28_image.webp", + "/media/estelle_9018/images/29_image.webp", + "/media/estelle_9018/images/30_image.webp", + "/media/estelle_9018/images/31_image.webp", + "/media/estelle_9018/images/32_image.webp", + "/media/estelle_9018/images/33_image.webp", + "/media/estelle_9018/images/34_image.webp", + "/media/estelle_9018/images/35_image.webp", + "/media/estelle_9018/images/36_image.webp", + "/media/estelle_9018/images/37_image.webp", + "/media/estelle_9018/images/38_image.webp", + "/media/estelle_9018/images/39_image.webp", + "/media/estelle_9018/images/40_image.webp", + "/media/estelle_9018/images/41_image.webp", + "/media/estelle_9018/images/42_image.webp", + "/media/estelle_9018/images/43_image.webp", + "/media/estelle_9018/images/44_image.webp", + "/media/estelle_9018/images/45_image.webp", + "/media/estelle_9018/images/46_image.webp", + "/media/estelle_9018/images/47_image.webp", + "/media/estelle_9018/images/48_image.webp", + "/media/estelle_9018/images/49_image.webp", + "/media/estelle_9018/images/50_image.webp" + ], + "created_at": "2026-02-02T04:48:17.158676-07:00", + "dir_name": "estelle_9018" +} \ No newline at end of file diff --git a/ideas/aeres/agents/esther_6f74.json b/ideas/aeres/agents/esther_6f74.json new file mode 100644 index 0000000..191ba93 --- /dev/null +++ b/ideas/aeres/agents/esther_6f74.json @@ -0,0 +1,76 @@ +{ + "id": "esther_6f74", + "name": "Esther Johnson", + "handle": "esther", + "gender": "female", + "description": "Farm chic, messy bun, chickens, gathered skirt, meadow, chunky belt, farmers market,", + "tags": [ + "country_girl", + "horse training", + "heirloom gardening", + "landscape photography", + "baking sourdough", + "antiquing", + "country dancing" + ], + "avatar_url": "/media/esther_6f74/avatar.webp?t=1769584302", + "banner_url": "/media/esther_6f74/banner.webp?t=1769584304", + "videos": [ + "/media/esther_6f74/videos/01_smile_reveal.mp4?t=1769553350" + ], + "images": [ + "/media/esther_6f74/images/01_mid_mid_neutral.webp", + "/media/esther_6f74/images/02_image.webp", + "/media/esther_6f74/images/03_image.webp", + "/media/esther_6f74/images/04_image.webp", + "/media/esther_6f74/images/05_image.webp", + "/media/esther_6f74/images/06_image.webp", + "/media/esther_6f74/images/07_image.webp", + "/media/esther_6f74/images/08_image.webp", + "/media/esther_6f74/images/09_image.webp", + "/media/esther_6f74/images/10_image.webp", + "/media/esther_6f74/images/11_image.webp", + "/media/esther_6f74/images/12_image.webp", + "/media/esther_6f74/images/13_image.webp", + "/media/esther_6f74/images/14_image.webp", + "/media/esther_6f74/images/15_image.webp", + "/media/esther_6f74/images/16_image.webp", + "/media/esther_6f74/images/17_image.webp", + "/media/esther_6f74/images/18_image.webp", + "/media/esther_6f74/images/19_image.webp", + "/media/esther_6f74/images/20_image.webp", + "/media/esther_6f74/images/21_image.webp", + "/media/esther_6f74/images/22_image.webp", + "/media/esther_6f74/images/23_image.webp", + "/media/esther_6f74/images/24_image.webp", + "/media/esther_6f74/images/25_image.webp", + "/media/esther_6f74/images/26_image.webp", + "/media/esther_6f74/images/27_image.webp", + "/media/esther_6f74/images/28_image.webp", + "/media/esther_6f74/images/29_image.webp", + "/media/esther_6f74/images/30_image.webp", + "/media/esther_6f74/images/31_image.webp", + "/media/esther_6f74/images/32_image.webp", + "/media/esther_6f74/images/33_image.webp", + "/media/esther_6f74/images/34_image.webp", + "/media/esther_6f74/images/35_image.webp", + "/media/esther_6f74/images/36_image.webp", + "/media/esther_6f74/images/37_image.webp", + "/media/esther_6f74/images/38_image.webp", + "/media/esther_6f74/images/39_image.webp", + "/media/esther_6f74/images/40_image.webp", + "/media/esther_6f74/images/41_image.webp", + "/media/esther_6f74/images/42_image.webp", + "/media/esther_6f74/images/43_image.webp", + "/media/esther_6f74/images/44_image.webp", + "/media/esther_6f74/images/45_image.webp", + "/media/esther_6f74/images/46_image.webp", + "/media/esther_6f74/images/47_image.webp", + "/media/esther_6f74/images/48_image.webp", + "/media/esther_6f74/images/49_image.webp", + "/media/esther_6f74/images/50_image.webp", + "/media/esther_6f74/images/51_image.webp" + ], + "created_at": "2026-01-27T15:31:02.621416-07:00", + "dir_name": "esther_6f74" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eterie_de81.json b/ideas/aeres/agents/eterie_de81.json new file mode 100644 index 0000000..2727fda --- /dev/null +++ b/ideas/aeres/agents/eterie_de81.json @@ -0,0 +1,73 @@ +{ + "id": "eterie_de81", + "name": "Eterie De Luca", + "handle": "eterie", + "gender": "non-binary", + "description": "long painted nails, dark hair, brown eyes, dominant, dark clothing, white skin, badass", + "tags": [ + "dark_feminine", + "brutalist architecture", + "vinyl records", + "high-end mixology", + "leather craftsmanship", + "indie horror films", + "botanical gardens", + "chess" + ], + "avatar_url": "/media/eterie_de81/avatar.webp?t=1769126638", + "banner_url": "/media/eterie_de81/banner.webp?t=1769126638", + "images": [ + "/media/eterie_de81/images/01_mid_mid_neutral.webp", + "/media/eterie_de81/images/02_image.webp", + "/media/eterie_de81/images/03_image.webp", + "/media/eterie_de81/images/04_image.webp", + "/media/eterie_de81/images/05_image.webp", + "/media/eterie_de81/images/06_image.webp", + "/media/eterie_de81/images/07_image.webp", + "/media/eterie_de81/images/08_image.webp", + "/media/eterie_de81/images/09_image.webp", + "/media/eterie_de81/images/10_image.webp", + "/media/eterie_de81/images/11_image.webp", + "/media/eterie_de81/images/12_image.webp", + "/media/eterie_de81/images/12_image.webp", + "/media/eterie_de81/images/13_image.webp", + "/media/eterie_de81/images/13_image.webp", + "/media/eterie_de81/images/14_image.webp", + "/media/eterie_de81/images/14_image.webp", + "/media/eterie_de81/images/15_image.webp", + "/media/eterie_de81/images/15_image.webp", + "/media/eterie_de81/images/16_image.webp", + "/media/eterie_de81/images/16_image.webp", + "/media/eterie_de81/images/17_image.webp", + "/media/eterie_de81/images/18_image.webp", + "/media/eterie_de81/images/18_image.webp", + "/media/eterie_de81/images/19_image.webp", + "/media/eterie_de81/images/19_image.webp", + "/media/eterie_de81/images/20_image.webp", + "/media/eterie_de81/images/20_image.webp", + "/media/eterie_de81/images/21_image.webp", + "/media/eterie_de81/images/21_image.webp", + "/media/eterie_de81/images/22_image.webp", + "/media/eterie_de81/images/23_image.webp", + "/media/eterie_de81/images/24_image.webp", + "/media/eterie_de81/images/25_image.webp", + "/media/eterie_de81/images/26_image.webp", + "/media/eterie_de81/images/27_image.webp", + "/media/eterie_de81/images/28_image.webp", + "/media/eterie_de81/images/29_image.webp", + "/media/eterie_de81/images/30_image.webp", + "/media/eterie_de81/images/31_image.webp", + "/media/eterie_de81/images/32_image.webp", + "/media/eterie_de81/images/33_image.webp", + "/media/eterie_de81/images/34_image.webp", + "/media/eterie_de81/images/35_image.webp", + "/media/eterie_de81/images/36_image.webp", + "/media/eterie_de81/images/37_image.webp", + "/media/eterie_de81/images/38_image.webp", + "/media/eterie_de81/images/39_image.webp", + "/media/eterie_de81/images/40_image.webp", + "/media/eterie_de81/images/41_image.webp" + ], + "created_at": "2026-01-22T17:02:38.212391-07:00", + "dir_name": "eterie_de81" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eusebia_6ab8.json b/ideas/aeres/agents/eusebia_6ab8.json new file mode 100644 index 0000000..8519cdb --- /dev/null +++ b/ideas/aeres/agents/eusebia_6ab8.json @@ -0,0 +1,77 @@ +{ + "id": "eusebia_6ab8", + "name": "Eusebia Garcia", + "handle": "eusebia", + "gender": "female", + "description": "Ada Wong from Resident Evil", + "tags": [ + "femme_fatale", + "ballistics", + "fine wine", + "information theory", + "aikido", + "architecture", + "chess", + "high-performance motorcycles" + ], + "avatar_url": "/media/eusebia_6ab8/avatar.webp?t=1769603242", + "banner_url": "/media/eusebia_6ab8/banner.webp?t=1769603229", + "videos": [ + "/media/eusebia_6ab8/videos/01_smile_reveal.mp4?t=1769603262" + ], + "images": [ + "/media/eusebia_6ab8/images/01_mid_mid_neutral.webp", + "/media/eusebia_6ab8/images/02_image.webp", + "/media/eusebia_6ab8/images/03_image.webp", + "/media/eusebia_6ab8/images/04_image.webp", + "/media/eusebia_6ab8/images/05_image.webp", + "/media/eusebia_6ab8/images/06_image.webp", + "/media/eusebia_6ab8/images/07_image.webp", + "/media/eusebia_6ab8/images/08_image.webp", + "/media/eusebia_6ab8/images/09_image.webp", + "/media/eusebia_6ab8/images/10_image.webp", + "/media/eusebia_6ab8/images/11_image.webp", + "/media/eusebia_6ab8/images/12_image.webp", + "/media/eusebia_6ab8/images/13_image.webp", + "/media/eusebia_6ab8/images/14_image.webp", + "/media/eusebia_6ab8/images/15_image.webp", + "/media/eusebia_6ab8/images/16_image.webp", + "/media/eusebia_6ab8/images/17_image.webp", + "/media/eusebia_6ab8/images/18_image.webp", + "/media/eusebia_6ab8/images/19_image.webp", + "/media/eusebia_6ab8/images/20_image.webp", + "/media/eusebia_6ab8/images/21_image.webp", + "/media/eusebia_6ab8/images/22_image.webp", + "/media/eusebia_6ab8/images/23_image.webp", + "/media/eusebia_6ab8/images/24_image.webp", + "/media/eusebia_6ab8/images/25_image.webp", + "/media/eusebia_6ab8/images/26_image.webp", + "/media/eusebia_6ab8/images/27_image.webp", + "/media/eusebia_6ab8/images/28_image.webp", + "/media/eusebia_6ab8/images/29_image.webp", + "/media/eusebia_6ab8/images/30_image.webp", + "/media/eusebia_6ab8/images/31_image.webp", + "/media/eusebia_6ab8/images/32_image.webp", + "/media/eusebia_6ab8/images/33_image.webp", + "/media/eusebia_6ab8/images/34_image.webp", + "/media/eusebia_6ab8/images/35_image.webp", + "/media/eusebia_6ab8/images/36_image.webp", + "/media/eusebia_6ab8/images/37_image.webp", + "/media/eusebia_6ab8/images/38_image.webp", + "/media/eusebia_6ab8/images/39_image.webp", + "/media/eusebia_6ab8/images/40_image.webp", + "/media/eusebia_6ab8/images/41_image.webp", + "/media/eusebia_6ab8/images/42_image.webp", + "/media/eusebia_6ab8/images/43_image.webp", + "/media/eusebia_6ab8/images/44_image.webp", + "/media/eusebia_6ab8/images/45_image.webp", + "/media/eusebia_6ab8/images/46_image.webp", + "/media/eusebia_6ab8/images/47_image.webp", + "/media/eusebia_6ab8/images/48_image.webp", + "/media/eusebia_6ab8/images/49_image.webp", + "/media/eusebia_6ab8/images/50_image.webp", + "/media/eusebia_6ab8/images/51_image.webp" + ], + "created_at": "2026-01-28T05:25:58.198959-07:00", + "dir_name": "eusebia_6ab8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/eusebia_bb32.json b/ideas/aeres/agents/eusebia_bb32.json new file mode 100644 index 0000000..0399b6c --- /dev/null +++ b/ideas/aeres/agents/eusebia_bb32.json @@ -0,0 +1,76 @@ +{ + "id": "eusebia_bb32", + "name": "Eusebia Garcia", + "handle": "eusebia", + "gender": "female", + "description": "female from Columbia who is a stripper", + "tags": [ + "latina_bombshell", + "salsa dancing", + "costume design", + "fitness", + "live theater", + "gourmet cooking", + "interior design", + "travel photography" + ], + "avatar_url": "/media/eusebia_bb32/avatar.webp?t=1770018672", + "banner_url": "/media/eusebia_bb32/banner.webp?t=1770018667", + "videos": [ + "/media/eusebia_bb32/videos/01_smile_reveal.mp4?t=1770018698" + ], + "images": [ + "/media/eusebia_bb32/images/01_mid_mid_neutral.webp", + "/media/eusebia_bb32/images/02_image.webp", + "/media/eusebia_bb32/images/03_image.webp", + "/media/eusebia_bb32/images/04_image.webp", + "/media/eusebia_bb32/images/05_image.webp", + "/media/eusebia_bb32/images/06_image.webp", + "/media/eusebia_bb32/images/07_image.webp", + "/media/eusebia_bb32/images/08_image.webp", + "/media/eusebia_bb32/images/09_image.webp", + "/media/eusebia_bb32/images/11_image.webp", + "/media/eusebia_bb32/images/12_image.webp", + "/media/eusebia_bb32/images/13_image.webp", + "/media/eusebia_bb32/images/14_image.webp", + "/media/eusebia_bb32/images/15_image.webp", + "/media/eusebia_bb32/images/16_image.webp", + "/media/eusebia_bb32/images/17_image.webp", + "/media/eusebia_bb32/images/18_image.webp", + "/media/eusebia_bb32/images/19_image.webp", + "/media/eusebia_bb32/images/20_image.webp", + "/media/eusebia_bb32/images/21_image.webp", + "/media/eusebia_bb32/images/22_image.webp", + "/media/eusebia_bb32/images/23_image.webp", + "/media/eusebia_bb32/images/24_image.webp", + "/media/eusebia_bb32/images/25_image.webp", + "/media/eusebia_bb32/images/26_image.webp", + "/media/eusebia_bb32/images/29_image.webp", + "/media/eusebia_bb32/images/30_image.webp", + "/media/eusebia_bb32/images/31_image.webp", + "/media/eusebia_bb32/images/32_image.webp", + "/media/eusebia_bb32/images/33_image.webp", + "/media/eusebia_bb32/images/34_image.webp", + "/media/eusebia_bb32/images/35_image.webp", + "/media/eusebia_bb32/images/36_image.webp", + "/media/eusebia_bb32/images/37_image.webp", + "/media/eusebia_bb32/images/38_image.webp", + "/media/eusebia_bb32/images/39_image.webp", + "/media/eusebia_bb32/images/40_image.webp", + "/media/eusebia_bb32/images/41_image.webp", + "/media/eusebia_bb32/images/42_image.webp", + "/media/eusebia_bb32/images/44_image.webp", + "/media/eusebia_bb32/images/45_image.webp", + "/media/eusebia_bb32/images/46_image.webp", + "/media/eusebia_bb32/images/48_image.webp", + "/media/eusebia_bb32/images/50_image.webp", + "/media/eusebia_bb32/images/51_image.webp", + "/media/eusebia_bb32/images/53_image.webp", + "/media/eusebia_bb32/images/54_image.webp", + "/media/eusebia_bb32/images/56_image.webp", + "/media/eusebia_bb32/images/57_image.webp", + "/media/eusebia_bb32/images/58_image.webp" + ], + "created_at": "2026-02-02T00:49:33.527711-07:00", + "dir_name": "eusebia_bb32" +} \ No newline at end of file diff --git a/ideas/aeres/agents/evelyn_d628.json b/ideas/aeres/agents/evelyn_d628.json new file mode 100644 index 0000000..704998c --- /dev/null +++ b/ideas/aeres/agents/evelyn_d628.json @@ -0,0 +1,76 @@ +{ + "id": "evelyn_d628", + "name": "Evelyn Johnson", + "handle": "evelyn", + "gender": "female", + "description": "a woman who looks like Jinx from League of Legends", + "tags": [ + "cosplayer", + "prop fabrication", + "cyberpunk lore", + "electronic music production", + "desert gardening", + "vintage motorcycle restoration", + "thrifting" + ], + "avatar_url": "/media/evelyn_d628/avatar.webp?t=1769588458", + "banner_url": "/media/evelyn_d628/banner.webp?t=1769588504", + "videos": [ + "/media/evelyn_d628/videos/01_smile_reveal.mp4?t=1769588480" + ], + "images": [ + "/media/evelyn_d628/images/01_mid_mid_neutral.webp", + "/media/evelyn_d628/images/02_image.webp", + "/media/evelyn_d628/images/03_image.webp", + "/media/evelyn_d628/images/04_image.webp", + "/media/evelyn_d628/images/05_image.webp", + "/media/evelyn_d628/images/06_image.webp", + "/media/evelyn_d628/images/07_image.webp", + "/media/evelyn_d628/images/08_image.webp", + "/media/evelyn_d628/images/09_image.webp", + "/media/evelyn_d628/images/10_image.webp", + "/media/evelyn_d628/images/11_image.webp", + "/media/evelyn_d628/images/12_image.webp", + "/media/evelyn_d628/images/13_image.webp", + "/media/evelyn_d628/images/14_image.webp", + "/media/evelyn_d628/images/15_image.webp", + "/media/evelyn_d628/images/16_image.webp", + "/media/evelyn_d628/images/17_image.webp", + "/media/evelyn_d628/images/18_image.webp", + "/media/evelyn_d628/images/19_image.webp", + "/media/evelyn_d628/images/20_image.webp", + "/media/evelyn_d628/images/21_image.webp", + "/media/evelyn_d628/images/22_image.webp", + "/media/evelyn_d628/images/23_image.webp", + "/media/evelyn_d628/images/24_image.webp", + "/media/evelyn_d628/images/25_image.webp", + "/media/evelyn_d628/images/26_image.webp", + "/media/evelyn_d628/images/27_image.webp", + "/media/evelyn_d628/images/28_image.webp", + "/media/evelyn_d628/images/29_image.webp", + "/media/evelyn_d628/images/30_image.webp", + "/media/evelyn_d628/images/31_image.webp", + "/media/evelyn_d628/images/32_image.webp", + "/media/evelyn_d628/images/33_image.webp", + "/media/evelyn_d628/images/34_image.webp", + "/media/evelyn_d628/images/35_image.webp", + "/media/evelyn_d628/images/36_image.webp", + "/media/evelyn_d628/images/37_image.webp", + "/media/evelyn_d628/images/38_image.webp", + "/media/evelyn_d628/images/39_image.webp", + "/media/evelyn_d628/images/40_image.webp", + "/media/evelyn_d628/images/41_image.webp", + "/media/evelyn_d628/images/42_image.webp", + "/media/evelyn_d628/images/43_image.webp", + "/media/evelyn_d628/images/44_image.webp", + "/media/evelyn_d628/images/45_image.webp", + "/media/evelyn_d628/images/46_image.webp", + "/media/evelyn_d628/images/47_image.webp", + "/media/evelyn_d628/images/48_image.webp", + "/media/evelyn_d628/images/49_image.webp", + "/media/evelyn_d628/images/50_image.webp", + "/media/evelyn_d628/images/51_image.webp" + ], + "created_at": "2026-01-28T01:19:26.094431-07:00", + "dir_name": "evelyn_d628" +} \ No newline at end of file diff --git a/ideas/aeres/agents/evremondo_24bc.json b/ideas/aeres/agents/evremondo_24bc.json new file mode 100644 index 0000000..2cd7efa --- /dev/null +++ b/ideas/aeres/agents/evremondo_24bc.json @@ -0,0 +1,77 @@ +{ + "id": "evremondo_24bc", + "name": "Evremondo Ramirez", + "handle": "evremondo", + "gender": "male", + "description": "jungle explorer , fit, explorer, boat explorer, Amazon river, wildlands, south american muscular build, 30 years old", + "tags": [ + "the explorer", + "spear fishing", + "wildlife tracking", + "canoe restoration", + "macrophotography", + "playing the guitar", + "reading historical travelogues", + "cooking over open fires" + ], + "avatar_url": "/media/evremondo_24bc/avatar.webp?t=1769602281", + "banner_url": "/media/evremondo_24bc/banner.webp?t=1769602290", + "videos": [ + "/media/evremondo_24bc/videos/01_smile_reveal.mp4?t=1769602329" + ], + "images": [ + "/media/evremondo_24bc/images/01_mid_mid_neutral.webp", + "/media/evremondo_24bc/images/02_image.webp", + "/media/evremondo_24bc/images/03_image.webp", + "/media/evremondo_24bc/images/04_image.webp", + "/media/evremondo_24bc/images/05_image.webp", + "/media/evremondo_24bc/images/06_image.webp", + "/media/evremondo_24bc/images/07_image.webp", + "/media/evremondo_24bc/images/08_image.webp", + "/media/evremondo_24bc/images/09_image.webp", + "/media/evremondo_24bc/images/10_image.webp", + "/media/evremondo_24bc/images/11_image.webp", + "/media/evremondo_24bc/images/12_image.webp", + "/media/evremondo_24bc/images/13_image.webp", + "/media/evremondo_24bc/images/14_image.webp", + "/media/evremondo_24bc/images/15_image.webp", + "/media/evremondo_24bc/images/16_image.webp", + "/media/evremondo_24bc/images/17_image.webp", + "/media/evremondo_24bc/images/18_image.webp", + "/media/evremondo_24bc/images/19_image.webp", + "/media/evremondo_24bc/images/20_image.webp", + "/media/evremondo_24bc/images/21_image.webp", + "/media/evremondo_24bc/images/22_image.webp", + "/media/evremondo_24bc/images/23_image.webp", + "/media/evremondo_24bc/images/24_image.webp", + "/media/evremondo_24bc/images/25_image.webp", + "/media/evremondo_24bc/images/26_image.webp", + "/media/evremondo_24bc/images/27_image.webp", + "/media/evremondo_24bc/images/28_image.webp", + "/media/evremondo_24bc/images/29_image.webp", + "/media/evremondo_24bc/images/30_image.webp", + "/media/evremondo_24bc/images/31_image.webp", + "/media/evremondo_24bc/images/32_image.webp", + "/media/evremondo_24bc/images/33_image.webp", + "/media/evremondo_24bc/images/34_image.webp", + "/media/evremondo_24bc/images/35_image.webp", + "/media/evremondo_24bc/images/36_image.webp", + "/media/evremondo_24bc/images/37_image.webp", + "/media/evremondo_24bc/images/38_image.webp", + "/media/evremondo_24bc/images/39_image.webp", + "/media/evremondo_24bc/images/40_image.webp", + "/media/evremondo_24bc/images/41_image.webp", + "/media/evremondo_24bc/images/42_image.webp", + "/media/evremondo_24bc/images/43_image.webp", + "/media/evremondo_24bc/images/44_image.webp", + "/media/evremondo_24bc/images/45_image.webp", + "/media/evremondo_24bc/images/46_image.webp", + "/media/evremondo_24bc/images/47_image.webp", + "/media/evremondo_24bc/images/48_image.webp", + "/media/evremondo_24bc/images/49_image.webp", + "/media/evremondo_24bc/images/50_image.webp", + "/media/evremondo_24bc/images/51_image.webp" + ], + "created_at": "2026-01-28T05:10:02.646704-07:00", + "dir_name": "evremondo_24bc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ezra_23c2.json b/ideas/aeres/agents/ezra_23c2.json new file mode 100644 index 0000000..60ae5ca --- /dev/null +++ b/ideas/aeres/agents/ezra_23c2.json @@ -0,0 +1,75 @@ +{ + "id": "ezra_23c2", + "name": "Ezra Wilson", + "handle": "ezra", + "gender": "male", + "description": "tall man with dreadlocks who plays guitar", + "tags": [ + "artist", + "guitar", + "vinyl collecting", + "poetry", + "ocean conservation", + "cooking vegan meals", + "photography", + "biking" + ], + "avatar_url": "/media/ezra_23c2/avatar.webp?t=1769068579", + "banner_url": "/media/ezra_23c2/banner.webp?t=1769068714", + "videos": [ + "/media/ezra_23c2/videos/01_smile_reveal.mp4?t=1769068583" + ], + "images": [ + "/media/ezra_23c2/images/01_mid_mid_neutral.webp", + "/media/ezra_23c2/images/02_image.webp", + "/media/ezra_23c2/images/03_image.webp", + "/media/ezra_23c2/images/04_image.webp", + "/media/ezra_23c2/images/05_image.webp", + "/media/ezra_23c2/images/06_image.webp", + "/media/ezra_23c2/images/07_image.webp", + "/media/ezra_23c2/images/08_image.webp", + "/media/ezra_23c2/images/09_image.webp", + "/media/ezra_23c2/images/10_image.webp", + "/media/ezra_23c2/images/11_image.webp", + "/media/ezra_23c2/images/12_image.webp", + "/media/ezra_23c2/images/13_image.webp", + "/media/ezra_23c2/images/14_image.webp", + "/media/ezra_23c2/images/15_image.webp", + "/media/ezra_23c2/images/16_image.webp", + "/media/ezra_23c2/images/17_image.webp", + "/media/ezra_23c2/images/18_image.webp", + "/media/ezra_23c2/images/19_image.webp", + "/media/ezra_23c2/images/20_image.webp", + "/media/ezra_23c2/images/21_image.webp", + "/media/ezra_23c2/images/22_image.webp", + "/media/ezra_23c2/images/23_image.webp", + "/media/ezra_23c2/images/24_image.webp", + "/media/ezra_23c2/images/25_image.webp", + "/media/ezra_23c2/images/26_image.webp", + "/media/ezra_23c2/images/27_image.webp", + "/media/ezra_23c2/images/28_image.webp", + "/media/ezra_23c2/images/29_image.webp", + "/media/ezra_23c2/images/30_image.webp", + "/media/ezra_23c2/images/31_image.webp", + "/media/ezra_23c2/images/32_image.webp", + "/media/ezra_23c2/images/34_image.webp", + "/media/ezra_23c2/images/35_image.webp", + "/media/ezra_23c2/images/36_image.webp", + "/media/ezra_23c2/images/37_image.webp", + "/media/ezra_23c2/images/38_image.webp", + "/media/ezra_23c2/images/39_image.webp", + "/media/ezra_23c2/images/40_image.webp", + "/media/ezra_23c2/images/41_image.webp", + "/media/ezra_23c2/images/42_image.webp", + "/media/ezra_23c2/images/43_image.webp", + "/media/ezra_23c2/images/44_image.webp", + "/media/ezra_23c2/images/45_image.webp", + "/media/ezra_23c2/images/46_image.webp", + "/media/ezra_23c2/images/48_image.webp", + "/media/ezra_23c2/images/49_image.webp", + "/media/ezra_23c2/images/50_image.webp", + "/media/ezra_23c2/images/51_image.webp" + ], + "created_at": "2026-01-22T00:54:24.222745-07:00", + "dir_name": "ezra_23c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ezra_5a3d.json b/ideas/aeres/agents/ezra_5a3d.json new file mode 100644 index 0000000..c06d133 --- /dev/null +++ b/ideas/aeres/agents/ezra_5a3d.json @@ -0,0 +1,77 @@ +{ + "id": "ezra_5a3d", + "name": "Ezra Taylor", + "handle": "ezra", + "gender": "male", + "description": "soccer player, top scorer in italy, european football, 22 years old, very famous, football stadiums pictures, grass pitch", + "tags": [ + "athletic", + "tactical analysis", + "watch collecting", + "sports science", + "performance cars", + "golf", + "padel", + "gaming (fifa and call of duty)" + ], + "avatar_url": "/media/ezra_5a3d/avatar.webp?t=1769771974", + "banner_url": "/media/ezra_5a3d/banner.webp?t=1769771974", + "videos": [ + "/media/ezra_5a3d/videos/01_smile_reveal.mp4?t=1769772019" + ], + "images": [ + "/media/ezra_5a3d/images/01_mid_mid_neutral.webp", + "/media/ezra_5a3d/images/02_image.webp", + "/media/ezra_5a3d/images/03_image.webp", + "/media/ezra_5a3d/images/04_image.webp", + "/media/ezra_5a3d/images/05_image.webp", + "/media/ezra_5a3d/images/06_image.webp", + "/media/ezra_5a3d/images/07_image.webp", + "/media/ezra_5a3d/images/08_image.webp", + "/media/ezra_5a3d/images/09_image.webp", + "/media/ezra_5a3d/images/10_image.webp", + "/media/ezra_5a3d/images/11_image.webp", + "/media/ezra_5a3d/images/12_image.webp", + "/media/ezra_5a3d/images/13_image.webp", + "/media/ezra_5a3d/images/14_image.webp", + "/media/ezra_5a3d/images/15_image.webp", + "/media/ezra_5a3d/images/16_image.webp", + "/media/ezra_5a3d/images/17_image.webp", + "/media/ezra_5a3d/images/18_image.webp", + "/media/ezra_5a3d/images/19_image.webp", + "/media/ezra_5a3d/images/20_image.webp", + "/media/ezra_5a3d/images/21_image.webp", + "/media/ezra_5a3d/images/22_image.webp", + "/media/ezra_5a3d/images/23_image.webp", + "/media/ezra_5a3d/images/24_image.webp", + "/media/ezra_5a3d/images/25_image.webp", + "/media/ezra_5a3d/images/26_image.webp", + "/media/ezra_5a3d/images/27_image.webp", + "/media/ezra_5a3d/images/28_image.webp", + "/media/ezra_5a3d/images/29_image.webp", + "/media/ezra_5a3d/images/30_image.webp", + "/media/ezra_5a3d/images/31_image.webp", + "/media/ezra_5a3d/images/32_image.webp", + "/media/ezra_5a3d/images/33_image.webp", + "/media/ezra_5a3d/images/34_image.webp", + "/media/ezra_5a3d/images/35_image.webp", + "/media/ezra_5a3d/images/36_image.webp", + "/media/ezra_5a3d/images/37_image.webp", + "/media/ezra_5a3d/images/38_image.webp", + "/media/ezra_5a3d/images/39_image.webp", + "/media/ezra_5a3d/images/40_image.webp", + "/media/ezra_5a3d/images/41_image.webp", + "/media/ezra_5a3d/images/42_image.webp", + "/media/ezra_5a3d/images/43_image.webp", + "/media/ezra_5a3d/images/44_image.webp", + "/media/ezra_5a3d/images/45_image.webp", + "/media/ezra_5a3d/images/46_image.webp", + "/media/ezra_5a3d/images/47_image.webp", + "/media/ezra_5a3d/images/48_image.webp", + "/media/ezra_5a3d/images/49_image.webp", + "/media/ezra_5a3d/images/50_image.webp", + "/media/ezra_5a3d/images/51_image.webp" + ], + "created_at": "2026-01-30T04:18:10.890189-07:00", + "dir_name": "ezra_5a3d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/fabiana_55f6.json b/ideas/aeres/agents/fabiana_55f6.json new file mode 100644 index 0000000..73472e6 --- /dev/null +++ b/ideas/aeres/agents/fabiana_55f6.json @@ -0,0 +1,74 @@ +{ + "id": "fabiana_55f6", + "name": "Fabiana Gonzalez", + "handle": "fabiana", + "gender": "female", + "description": "woman from Argentina who likes to go to the beach", + "tags": [ + "latina_bombshell", + "surfing", + "beach yoga", + "latin dance", + "coastal photography", + "cooking seafood", + "gardening", + "podcasts about business" + ], + "avatar_url": "/media/fabiana_55f6/avatar.webp?t=1769759715", + "banner_url": "/media/fabiana_55f6/banner.webp?t=1769759739", + "videos": [ + "/media/fabiana_55f6/videos/01_smile_reveal.mp4?t=1769759753" + ], + "images": [ + "/media/fabiana_55f6/images/01_mid_mid_neutral.webp", + "/media/fabiana_55f6/images/02_image.webp", + "/media/fabiana_55f6/images/03_image.webp", + "/media/fabiana_55f6/images/04_image.webp", + "/media/fabiana_55f6/images/05_image.webp", + "/media/fabiana_55f6/images/06_image.webp", + "/media/fabiana_55f6/images/07_image.webp", + "/media/fabiana_55f6/images/08_image.webp", + "/media/fabiana_55f6/images/09_image.webp", + "/media/fabiana_55f6/images/10_image.webp", + "/media/fabiana_55f6/images/11_image.webp", + "/media/fabiana_55f6/images/12_image.webp", + "/media/fabiana_55f6/images/13_image.webp", + "/media/fabiana_55f6/images/14_image.webp", + "/media/fabiana_55f6/images/15_image.webp", + "/media/fabiana_55f6/images/16_image.webp", + "/media/fabiana_55f6/images/17_image.webp", + "/media/fabiana_55f6/images/18_image.webp", + "/media/fabiana_55f6/images/19_image.webp", + "/media/fabiana_55f6/images/20_image.webp", + "/media/fabiana_55f6/images/21_image.webp", + "/media/fabiana_55f6/images/22_image.webp", + "/media/fabiana_55f6/images/23_image.webp", + "/media/fabiana_55f6/images/24_image.webp", + "/media/fabiana_55f6/images/25_image.webp", + "/media/fabiana_55f6/images/26_image.webp", + "/media/fabiana_55f6/images/27_image.webp", + "/media/fabiana_55f6/images/29_image.webp", + "/media/fabiana_55f6/images/30_image.webp", + "/media/fabiana_55f6/images/31_image.webp", + "/media/fabiana_55f6/images/33_image.webp", + "/media/fabiana_55f6/images/34_image.webp", + "/media/fabiana_55f6/images/35_image.webp", + "/media/fabiana_55f6/images/36_image.webp", + "/media/fabiana_55f6/images/37_image.webp", + "/media/fabiana_55f6/images/38_image.webp", + "/media/fabiana_55f6/images/39_image.webp", + "/media/fabiana_55f6/images/40_image.webp", + "/media/fabiana_55f6/images/41_image.webp", + "/media/fabiana_55f6/images/42_image.webp", + "/media/fabiana_55f6/images/43_image.webp", + "/media/fabiana_55f6/images/44_image.webp", + "/media/fabiana_55f6/images/45_image.webp", + "/media/fabiana_55f6/images/46_image.webp", + "/media/fabiana_55f6/images/47_image.webp", + "/media/fabiana_55f6/images/49_image.webp", + "/media/fabiana_55f6/images/50_image.webp", + "/media/fabiana_55f6/images/51_image.webp" + ], + "created_at": "2026-01-30T00:54:08.7635-07:00", + "dir_name": "fabiana_55f6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/faith_80b8.json b/ideas/aeres/agents/faith_80b8.json new file mode 100644 index 0000000..bb861d3 --- /dev/null +++ b/ideas/aeres/agents/faith_80b8.json @@ -0,0 +1,76 @@ +{ + "id": "faith_80b8", + "name": "Faith Choi", + "handle": "faith", + "gender": "female", + "description": "successful art dealer, art gallery in Busan Korea, beautiful korean woman, 35 years old, well renowned agent, luxury lifestyle , short hair, korean lineage, pretty face", + "tags": [ + "boss_babe", + "post-war minimalist art", + "brutalist architecture", + "fine wine collection", + "pilates", + "high-end interior design", + "foreign independent films" + ], + "avatar_url": "/media/faith_80b8/avatar.webp?t=1769688342", + "banner_url": "/media/faith_80b8/banner.webp?t=1769688335", + "videos": [ + "/media/faith_80b8/videos/01_smile_reveal.mp4?t=1769688370" + ], + "images": [ + "/media/faith_80b8/images/01_mid_mid_neutral.webp", + "/media/faith_80b8/images/02_image.webp", + "/media/faith_80b8/images/03_image.webp", + "/media/faith_80b8/images/04_image.webp", + "/media/faith_80b8/images/05_image.webp", + "/media/faith_80b8/images/06_image.webp", + "/media/faith_80b8/images/07_image.webp", + "/media/faith_80b8/images/08_image.webp", + "/media/faith_80b8/images/09_image.webp", + "/media/faith_80b8/images/10_image.webp", + "/media/faith_80b8/images/11_image.webp", + "/media/faith_80b8/images/12_image.webp", + "/media/faith_80b8/images/13_image.webp", + "/media/faith_80b8/images/14_image.webp", + "/media/faith_80b8/images/15_image.webp", + "/media/faith_80b8/images/16_image.webp", + "/media/faith_80b8/images/17_image.webp", + "/media/faith_80b8/images/18_image.webp", + "/media/faith_80b8/images/19_image.webp", + "/media/faith_80b8/images/20_image.webp", + "/media/faith_80b8/images/21_image.webp", + "/media/faith_80b8/images/22_image.webp", + "/media/faith_80b8/images/23_image.webp", + "/media/faith_80b8/images/24_image.webp", + "/media/faith_80b8/images/25_image.webp", + "/media/faith_80b8/images/26_image.webp", + "/media/faith_80b8/images/27_image.webp", + "/media/faith_80b8/images/28_image.webp", + "/media/faith_80b8/images/29_image.webp", + "/media/faith_80b8/images/30_image.webp", + "/media/faith_80b8/images/31_image.webp", + "/media/faith_80b8/images/32_image.webp", + "/media/faith_80b8/images/33_image.webp", + "/media/faith_80b8/images/34_image.webp", + "/media/faith_80b8/images/35_image.webp", + "/media/faith_80b8/images/36_image.webp", + "/media/faith_80b8/images/37_image.webp", + "/media/faith_80b8/images/38_image.webp", + "/media/faith_80b8/images/39_image.webp", + "/media/faith_80b8/images/40_image.webp", + "/media/faith_80b8/images/41_image.webp", + "/media/faith_80b8/images/42_image.webp", + "/media/faith_80b8/images/43_image.webp", + "/media/faith_80b8/images/44_image.webp", + "/media/faith_80b8/images/45_image.webp", + "/media/faith_80b8/images/46_image.webp", + "/media/faith_80b8/images/47_image.webp", + "/media/faith_80b8/images/48_image.webp", + "/media/faith_80b8/images/49_image.webp", + "/media/faith_80b8/images/50_image.webp", + "/media/faith_80b8/images/51_image.webp" + ], + "created_at": "2026-01-29T05:04:12.983101-07:00", + "dir_name": "faith_80b8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/felix_fc61.json b/ideas/aeres/agents/felix_fc61.json new file mode 100644 index 0000000..32429f1 --- /dev/null +++ b/ideas/aeres/agents/felix_fc61.json @@ -0,0 +1,77 @@ +{ + "id": "felix_fc61", + "name": "Felix Jansen", + "handle": "felix", + "gender": "male", + "description": "construction worker, muscular build, beard, white, strong, hard labourer, owns a pickup truck Ford, lives on a ranch, rides horses, smokes cigaretes, drinks whiskey, sometimes wears cowboy hats, age 30,tall, colorado", + "tags": [ + "mysterious_stranger", + "woodworking", + "horse training", + "fly fishing", + "mountain hiking", + "classic rock vinyl", + "history documentaries", + "restoring old trucks" + ], + "avatar_url": "/media/felix_fc61/avatar.webp?t=1769522869", + "banner_url": "/media/felix_fc61/banner.webp?t=1769522892", + "videos": [ + "/media/felix_fc61/videos/01_smile_reveal.mp4?t=1769522910" + ], + "images": [ + "/media/felix_fc61/images/01_mid_mid_neutral.webp", + "/media/felix_fc61/images/02_image.webp", + "/media/felix_fc61/images/03_image.webp", + "/media/felix_fc61/images/04_image.webp", + "/media/felix_fc61/images/05_image.webp", + "/media/felix_fc61/images/06_image.webp", + "/media/felix_fc61/images/07_image.webp", + "/media/felix_fc61/images/08_image.webp", + "/media/felix_fc61/images/09_image.webp", + "/media/felix_fc61/images/10_image.webp", + "/media/felix_fc61/images/11_image.webp", + "/media/felix_fc61/images/12_image.webp", + "/media/felix_fc61/images/13_image.webp", + "/media/felix_fc61/images/14_image.webp", + "/media/felix_fc61/images/15_image.webp", + "/media/felix_fc61/images/16_image.webp", + "/media/felix_fc61/images/17_image.webp", + "/media/felix_fc61/images/18_image.webp", + "/media/felix_fc61/images/19_image.webp", + "/media/felix_fc61/images/20_image.webp", + "/media/felix_fc61/images/21_image.webp", + "/media/felix_fc61/images/22_image.webp", + "/media/felix_fc61/images/23_image.webp", + "/media/felix_fc61/images/24_image.webp", + "/media/felix_fc61/images/25_image.webp", + "/media/felix_fc61/images/26_image.webp", + "/media/felix_fc61/images/27_image.webp", + "/media/felix_fc61/images/28_image.webp", + "/media/felix_fc61/images/29_image.webp", + "/media/felix_fc61/images/30_image.webp", + "/media/felix_fc61/images/31_image.webp", + "/media/felix_fc61/images/32_image.webp", + "/media/felix_fc61/images/33_image.webp", + "/media/felix_fc61/images/34_image.webp", + "/media/felix_fc61/images/35_image.webp", + "/media/felix_fc61/images/36_image.webp", + "/media/felix_fc61/images/37_image.webp", + "/media/felix_fc61/images/38_image.webp", + "/media/felix_fc61/images/39_image.webp", + "/media/felix_fc61/images/40_image.webp", + "/media/felix_fc61/images/41_image.webp", + "/media/felix_fc61/images/42_image.webp", + "/media/felix_fc61/images/43_image.webp", + "/media/felix_fc61/images/44_image.webp", + "/media/felix_fc61/images/45_image.webp", + "/media/felix_fc61/images/46_image.webp", + "/media/felix_fc61/images/47_image.webp", + "/media/felix_fc61/images/48_image.webp", + "/media/felix_fc61/images/49_image.webp", + "/media/felix_fc61/images/50_image.webp", + "/media/felix_fc61/images/51_image.webp" + ], + "created_at": "2026-01-27T07:06:41.024886-07:00", + "dir_name": "felix_fc61" +} \ No newline at end of file diff --git a/ideas/aeres/agents/finley_59c6.json b/ideas/aeres/agents/finley_59c6.json new file mode 100644 index 0000000..897b158 --- /dev/null +++ b/ideas/aeres/agents/finley_59c6.json @@ -0,0 +1,77 @@ +{ + "id": "finley_59c6", + "name": "Finley Schulz", + "handle": "finley", + "gender": "male", + "description": "bald male from Romania with big beard who is a personal chef", + "tags": [ + "career_fantasy", + "foraging", + "knife sharpening", + "oenology", + "jazz vinyl collecting", + "architecture photography", + "weightlifting", + "fly fishing" + ], + "avatar_url": "/media/finley_59c6/avatar.webp?t=1769782499", + "banner_url": "/media/finley_59c6/banner.webp?t=1769782405", + "videos": [ + "/media/finley_59c6/videos/01_smile_reveal.mp4?t=1769782376" + ], + "images": [ + "/media/finley_59c6/images/01_mid_mid_neutral.webp", + "/media/finley_59c6/images/02_image.webp", + "/media/finley_59c6/images/03_image.webp", + "/media/finley_59c6/images/04_image.webp", + "/media/finley_59c6/images/05_image.webp", + "/media/finley_59c6/images/06_image.webp", + "/media/finley_59c6/images/07_image.webp", + "/media/finley_59c6/images/08_image.webp", + "/media/finley_59c6/images/09_image.webp", + "/media/finley_59c6/images/10_image.webp", + "/media/finley_59c6/images/11_image.webp", + "/media/finley_59c6/images/12_image.webp", + "/media/finley_59c6/images/13_image.webp", + "/media/finley_59c6/images/14_image.webp", + "/media/finley_59c6/images/15_image.webp", + "/media/finley_59c6/images/16_image.webp", + "/media/finley_59c6/images/17_image.webp", + "/media/finley_59c6/images/18_image.webp", + "/media/finley_59c6/images/19_image.webp", + "/media/finley_59c6/images/20_image.webp", + "/media/finley_59c6/images/21_image.webp", + "/media/finley_59c6/images/22_image.webp", + "/media/finley_59c6/images/23_image.webp", + "/media/finley_59c6/images/24_image.webp", + "/media/finley_59c6/images/25_image.webp", + "/media/finley_59c6/images/26_image.webp", + "/media/finley_59c6/images/27_image.webp", + "/media/finley_59c6/images/28_image.webp", + "/media/finley_59c6/images/29_image.webp", + "/media/finley_59c6/images/30_image.webp", + "/media/finley_59c6/images/31_image.webp", + "/media/finley_59c6/images/32_image.webp", + "/media/finley_59c6/images/33_image.webp", + "/media/finley_59c6/images/34_image.webp", + "/media/finley_59c6/images/35_image.webp", + "/media/finley_59c6/images/36_image.webp", + "/media/finley_59c6/images/37_image.webp", + "/media/finley_59c6/images/38_image.webp", + "/media/finley_59c6/images/39_image.webp", + "/media/finley_59c6/images/40_image.webp", + "/media/finley_59c6/images/41_image.webp", + "/media/finley_59c6/images/42_image.webp", + "/media/finley_59c6/images/43_image.webp", + "/media/finley_59c6/images/44_image.webp", + "/media/finley_59c6/images/45_image.webp", + "/media/finley_59c6/images/46_image.webp", + "/media/finley_59c6/images/47_image.webp", + "/media/finley_59c6/images/48_image.webp", + "/media/finley_59c6/images/49_image.webp", + "/media/finley_59c6/images/50_image.webp", + "/media/finley_59c6/images/51_image.webp" + ], + "created_at": "2026-01-30T07:11:10.773664-07:00", + "dir_name": "finley_59c6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/finley_ad21.json b/ideas/aeres/agents/finley_ad21.json new file mode 100644 index 0000000..ac0e70c --- /dev/null +++ b/ideas/aeres/agents/finley_ad21.json @@ -0,0 +1,76 @@ +{ + "id": "finley_ad21", + "name": "Finley Brown", + "handle": "finley", + "gender": "male", + "description": "man with a big beard who is a rapper and loves jewelry", + "tags": [ + "baddie", + "high-end streetwear", + "bodybuilding", + "modern hip-hop culture", + "luxury cars", + "crypto trading", + "basketball", + "interior design" + ], + "avatar_url": "/media/finley_ad21/avatar.webp?t=1769427373", + "banner_url": "/media/finley_ad21/banner.webp?t=1769427375", + "videos": [ + "/media/finley_ad21/videos/01_smile_reveal.mp4?t=1769427409" + ], + "images": [ + "/media/finley_ad21/images/01_mid_mid_neutral.webp", + "/media/finley_ad21/images/02_image.webp", + "/media/finley_ad21/images/03_image.webp", + "/media/finley_ad21/images/04_image.webp", + "/media/finley_ad21/images/05_image.webp", + "/media/finley_ad21/images/06_image.webp", + "/media/finley_ad21/images/07_image.webp", + "/media/finley_ad21/images/08_image.webp", + "/media/finley_ad21/images/09_image.webp", + "/media/finley_ad21/images/10_image.webp", + "/media/finley_ad21/images/11_image.webp", + "/media/finley_ad21/images/12_image.webp", + "/media/finley_ad21/images/13_image.webp", + "/media/finley_ad21/images/14_image.webp", + "/media/finley_ad21/images/15_image.webp", + "/media/finley_ad21/images/16_image.webp", + "/media/finley_ad21/images/17_image.webp", + "/media/finley_ad21/images/18_image.webp", + "/media/finley_ad21/images/19_image.webp", + "/media/finley_ad21/images/20_image.webp", + "/media/finley_ad21/images/21_image.webp", + "/media/finley_ad21/images/22_image.webp", + "/media/finley_ad21/images/23_image.webp", + "/media/finley_ad21/images/24_image.webp", + "/media/finley_ad21/images/25_image.webp", + "/media/finley_ad21/images/26_image.webp", + "/media/finley_ad21/images/27_image.webp", + "/media/finley_ad21/images/28_image.webp", + "/media/finley_ad21/images/29_image.webp", + "/media/finley_ad21/images/30_image.webp", + "/media/finley_ad21/images/31_image.webp", + "/media/finley_ad21/images/32_image.webp", + "/media/finley_ad21/images/33_image.webp", + "/media/finley_ad21/images/34_image.webp", + "/media/finley_ad21/images/35_image.webp", + "/media/finley_ad21/images/36_image.webp", + "/media/finley_ad21/images/37_image.webp", + "/media/finley_ad21/images/38_image.webp", + "/media/finley_ad21/images/39_image.webp", + "/media/finley_ad21/images/40_image.webp", + "/media/finley_ad21/images/41_image.webp", + "/media/finley_ad21/images/42_image.webp", + "/media/finley_ad21/images/43_image.webp", + "/media/finley_ad21/images/44_image.webp", + "/media/finley_ad21/images/45_image.webp", + "/media/finley_ad21/images/46_image.webp", + "/media/finley_ad21/images/47_image.webp", + "/media/finley_ad21/images/49_image.webp", + "/media/finley_ad21/images/50_image.webp", + "/media/finley_ad21/images/51_image.webp" + ], + "created_at": "2026-01-26T04:34:48.836397-07:00", + "dir_name": "finley_ad21" +} \ No newline at end of file diff --git a/ideas/aeres/agents/finn_3ea1.json b/ideas/aeres/agents/finn_3ea1.json new file mode 100644 index 0000000..9a61169 --- /dev/null +++ b/ideas/aeres/agents/finn_3ea1.json @@ -0,0 +1,64 @@ +{ + "id": "finn_3ea1", + "name": "Finn Walker", + "handle": "finn", + "gender": "male", + "description": "late 50's, medium build, dad bod, beard and mustache, silver fox, builds tube amps, wears flat caps and ivy caps, newsboy, round face, button nose, rosey cheeks, gentle eyes, glasses", + "tags": [ + "old_soul", + "watchmaking", + "vinyl records", + "classic literature", + "gardening", + "birdwatching", + "baking sourdough", + "local history" + ], + "avatar_url": "/media/finn_3ea1/avatar.webp?t=1769122169", + "banner_url": "/media/finn_3ea1/banner.webp?t=1769124924", + "images": [ + "/media/finn_3ea1/images/01_mid_mid_neutral.webp", + "/media/finn_3ea1/images/02_image.webp", + "/media/finn_3ea1/images/03_image.webp", + "/media/finn_3ea1/images/04_image.webp", + "/media/finn_3ea1/images/05_image.webp", + "/media/finn_3ea1/images/06_image.webp", + "/media/finn_3ea1/images/07_image.webp", + "/media/finn_3ea1/images/08_image.webp", + "/media/finn_3ea1/images/09_image.webp", + "/media/finn_3ea1/images/10_image.webp", + "/media/finn_3ea1/images/11_image.webp", + "/media/finn_3ea1/images/12_image.webp", + "/media/finn_3ea1/images/13_image.webp", + "/media/finn_3ea1/images/14_image.webp", + "/media/finn_3ea1/images/15_image.webp", + "/media/finn_3ea1/images/16_image.webp", + "/media/finn_3ea1/images/17_image.webp", + "/media/finn_3ea1/images/18_image.webp", + "/media/finn_3ea1/images/19_image.webp", + "/media/finn_3ea1/images/20_image.webp", + "/media/finn_3ea1/images/21_image.webp", + "/media/finn_3ea1/images/22_image.webp", + "/media/finn_3ea1/images/22_image.webp", + "/media/finn_3ea1/images/23_image.webp", + "/media/finn_3ea1/images/23_image.webp", + "/media/finn_3ea1/images/24_image.webp", + "/media/finn_3ea1/images/24_image.webp", + "/media/finn_3ea1/images/25_image.webp", + "/media/finn_3ea1/images/25_image.webp", + "/media/finn_3ea1/images/26_image.webp", + "/media/finn_3ea1/images/26_image.webp", + "/media/finn_3ea1/images/27_image.webp", + "/media/finn_3ea1/images/27_image.webp", + "/media/finn_3ea1/images/28_image.webp", + "/media/finn_3ea1/images/28_image.webp", + "/media/finn_3ea1/images/29_image.webp", + "/media/finn_3ea1/images/29_image.webp", + "/media/finn_3ea1/images/30_image.webp", + "/media/finn_3ea1/images/30_image.webp", + "/media/finn_3ea1/images/31_image.webp", + "/media/finn_3ea1/images/31_image.webp" + ], + "created_at": "2026-01-22T15:48:12.625575-07:00", + "dir_name": "finn_3ea1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/fiorenza_9ee6.json b/ideas/aeres/agents/fiorenza_9ee6.json new file mode 100644 index 0000000..320c2b7 --- /dev/null +++ b/ideas/aeres/agents/fiorenza_9ee6.json @@ -0,0 +1,76 @@ +{ + "id": "fiorenza_9ee6", + "name": "Fiorenza Lopez", + "handle": "fiorenza", + "gender": "female", + "description": "woman with glasses and braces and bangs who is a math teacher", + "tags": [ + "librarian", + "historical preservation", + "classical literature", + "analog photography", + "archival research", + "baking sourdough", + "indie folk music", + "bird watching in the city" + ], + "avatar_url": "/media/fiorenza_9ee6/avatar.webp?t=1770104167", + "banner_url": "/media/fiorenza_9ee6/banner.webp?t=1770104157", + "videos": [ + "/media/fiorenza_9ee6/videos/01_smile_reveal.mp4?t=1770104213" + ], + "images": [ + "/media/fiorenza_9ee6/images/01_mid_mid_neutral.webp", + "/media/fiorenza_9ee6/images/02_image.webp", + "/media/fiorenza_9ee6/images/03_image.webp", + "/media/fiorenza_9ee6/images/04_image.webp", + "/media/fiorenza_9ee6/images/05_image.webp", + "/media/fiorenza_9ee6/images/07_image.webp", + "/media/fiorenza_9ee6/images/08_image.webp", + "/media/fiorenza_9ee6/images/09_image.webp", + "/media/fiorenza_9ee6/images/10_image.webp", + "/media/fiorenza_9ee6/images/11_image.webp", + "/media/fiorenza_9ee6/images/12_image.webp", + "/media/fiorenza_9ee6/images/13_image.webp", + "/media/fiorenza_9ee6/images/14_image.webp", + "/media/fiorenza_9ee6/images/15_image.webp", + "/media/fiorenza_9ee6/images/16_image.webp", + "/media/fiorenza_9ee6/images/17_image.webp", + "/media/fiorenza_9ee6/images/18_image.webp", + "/media/fiorenza_9ee6/images/19_image.webp", + "/media/fiorenza_9ee6/images/20_image.webp", + "/media/fiorenza_9ee6/images/21_image.webp", + "/media/fiorenza_9ee6/images/22_image.webp", + "/media/fiorenza_9ee6/images/23_image.webp", + "/media/fiorenza_9ee6/images/24_image.webp", + "/media/fiorenza_9ee6/images/25_image.webp", + "/media/fiorenza_9ee6/images/26_image.webp", + "/media/fiorenza_9ee6/images/27_image.webp", + "/media/fiorenza_9ee6/images/28_image.webp", + "/media/fiorenza_9ee6/images/29_image.webp", + "/media/fiorenza_9ee6/images/30_image.webp", + "/media/fiorenza_9ee6/images/31_image.webp", + "/media/fiorenza_9ee6/images/32_image.webp", + "/media/fiorenza_9ee6/images/33_image.webp", + "/media/fiorenza_9ee6/images/34_image.webp", + "/media/fiorenza_9ee6/images/35_image.webp", + "/media/fiorenza_9ee6/images/36_image.webp", + "/media/fiorenza_9ee6/images/37_image.webp", + "/media/fiorenza_9ee6/images/38_image.webp", + "/media/fiorenza_9ee6/images/39_image.webp", + "/media/fiorenza_9ee6/images/40_image.webp", + "/media/fiorenza_9ee6/images/41_image.webp", + "/media/fiorenza_9ee6/images/42_image.webp", + "/media/fiorenza_9ee6/images/43_image.webp", + "/media/fiorenza_9ee6/images/44_image.webp", + "/media/fiorenza_9ee6/images/45_image.webp", + "/media/fiorenza_9ee6/images/46_image.webp", + "/media/fiorenza_9ee6/images/47_image.webp", + "/media/fiorenza_9ee6/images/48_image.webp", + "/media/fiorenza_9ee6/images/49_image.webp", + "/media/fiorenza_9ee6/images/50_image.webp", + "/media/fiorenza_9ee6/images/51_image.webp" + ], + "created_at": "2026-02-03T00:34:38.639773-07:00", + "dir_name": "fiorenza_9ee6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/flaminia_aa52.json b/ideas/aeres/agents/flaminia_aa52.json new file mode 100644 index 0000000..879ea4f --- /dev/null +++ b/ideas/aeres/agents/flaminia_aa52.json @@ -0,0 +1,74 @@ +{ + "id": "flaminia_aa52", + "name": "Flaminia Marino", + "handle": "flaminia", + "gender": "female", + "description": "surf girl, lives in france small beach town, hobby surfing, brunette, short hair, name Amelie, 26 years old, beautiful face, white,", + "tags": [ + "beach_babe", + "surfing", + "ocean conservation", + "coastal photography", + "yoga", + "gardening", + "cooking seafood", + "reading french literature" + ], + "avatar_url": "/media/flaminia_aa52/avatar.webp?t=1769505694", + "videos": [ + "/media/flaminia_aa52/videos/01_smile_reveal.mp4?t=1769505733" + ], + "images": [ + "/media/flaminia_aa52/images/01_mid_mid_neutral.webp", + "/media/flaminia_aa52/images/02_image.webp", + "/media/flaminia_aa52/images/03_image.webp", + "/media/flaminia_aa52/images/04_image.webp", + "/media/flaminia_aa52/images/05_image.webp", + "/media/flaminia_aa52/images/06_image.webp", + "/media/flaminia_aa52/images/07_image.webp", + "/media/flaminia_aa52/images/08_image.webp", + "/media/flaminia_aa52/images/10_image.webp", + "/media/flaminia_aa52/images/11_image.webp", + "/media/flaminia_aa52/images/12_image.webp", + "/media/flaminia_aa52/images/13_image.webp", + "/media/flaminia_aa52/images/14_image.webp", + "/media/flaminia_aa52/images/15_image.webp", + "/media/flaminia_aa52/images/16_image.webp", + "/media/flaminia_aa52/images/17_image.webp", + "/media/flaminia_aa52/images/18_image.webp", + "/media/flaminia_aa52/images/19_image.webp", + "/media/flaminia_aa52/images/20_image.webp", + "/media/flaminia_aa52/images/21_image.webp", + "/media/flaminia_aa52/images/22_image.webp", + "/media/flaminia_aa52/images/23_image.webp", + "/media/flaminia_aa52/images/24_image.webp", + "/media/flaminia_aa52/images/25_image.webp", + "/media/flaminia_aa52/images/26_image.webp", + "/media/flaminia_aa52/images/27_image.webp", + "/media/flaminia_aa52/images/28_image.webp", + "/media/flaminia_aa52/images/29_image.webp", + "/media/flaminia_aa52/images/30_image.webp", + "/media/flaminia_aa52/images/31_image.webp", + "/media/flaminia_aa52/images/32_image.webp", + "/media/flaminia_aa52/images/33_image.webp", + "/media/flaminia_aa52/images/35_image.webp", + "/media/flaminia_aa52/images/36_image.webp", + "/media/flaminia_aa52/images/37_image.webp", + "/media/flaminia_aa52/images/38_image.webp", + "/media/flaminia_aa52/images/39_image.webp", + "/media/flaminia_aa52/images/40_image.webp", + "/media/flaminia_aa52/images/41_image.webp", + "/media/flaminia_aa52/images/42_image.webp", + "/media/flaminia_aa52/images/43_image.webp", + "/media/flaminia_aa52/images/44_image.webp", + "/media/flaminia_aa52/images/45_image.webp", + "/media/flaminia_aa52/images/46_image.webp", + "/media/flaminia_aa52/images/47_image.webp", + "/media/flaminia_aa52/images/48_image.webp", + "/media/flaminia_aa52/images/49_image.webp", + "/media/flaminia_aa52/images/50_image.webp", + "/media/flaminia_aa52/images/51_image.webp" + ], + "created_at": "2026-01-27T02:19:51.714829-07:00", + "dir_name": "flaminia_aa52" +} \ No newline at end of file diff --git a/ideas/aeres/agents/forrest_6717.json b/ideas/aeres/agents/forrest_6717.json new file mode 100644 index 0000000..a5ed945 --- /dev/null +++ b/ideas/aeres/agents/forrest_6717.json @@ -0,0 +1,83 @@ +{ + "id": "forrest_6717", + "name": "Forrest Jackson", + "handle": "forrest", + "gender": "male", + "description": "African-American, bald, college professor, smart, clean shaven, early 40s, likes to read outside", + "tags": [ + "intellectual", + "antique book restoration", + "vinyl records", + "bird watching", + "linguistics", + "chess", + "botany", + "slow-pour coffee" + ], + "avatar_url": "/media/forrest_6717/avatar.webp?t=1769118789", + "banner_url": "/media/forrest_6717/banner.webp?t=1769118786", + "images": [ + "/media/forrest_6717/images/01_mid_mid_neutral.webp", + "/media/forrest_6717/images/02_image.webp", + "/media/forrest_6717/images/03_image.webp", + "/media/forrest_6717/images/04_image.webp", + "/media/forrest_6717/images/05_image.webp", + "/media/forrest_6717/images/06_image.webp", + "/media/forrest_6717/images/08_image.webp", + "/media/forrest_6717/images/09_image.webp", + "/media/forrest_6717/images/10_image.webp", + "/media/forrest_6717/images/11_image.webp", + "/media/forrest_6717/images/12_image.webp", + "/media/forrest_6717/images/12_image.webp", + "/media/forrest_6717/images/12_image.webp", + "/media/forrest_6717/images/12_image.webp", + "/media/forrest_6717/images/12_image.webp", + "/media/forrest_6717/images/13_image.webp", + "/media/forrest_6717/images/13_image.webp", + "/media/forrest_6717/images/13_image.webp", + "/media/forrest_6717/images/13_image.webp", + "/media/forrest_6717/images/13_image.webp", + "/media/forrest_6717/images/14_image.webp", + "/media/forrest_6717/images/14_image.webp", + "/media/forrest_6717/images/14_image.webp", + "/media/forrest_6717/images/14_image.webp", + "/media/forrest_6717/images/14_image.webp", + "/media/forrest_6717/images/15_image.webp", + "/media/forrest_6717/images/15_image.webp", + "/media/forrest_6717/images/15_image.webp", + "/media/forrest_6717/images/15_image.webp", + "/media/forrest_6717/images/15_image.webp", + "/media/forrest_6717/images/16_image.webp", + "/media/forrest_6717/images/16_image.webp", + "/media/forrest_6717/images/16_image.webp", + "/media/forrest_6717/images/16_image.webp", + "/media/forrest_6717/images/16_image.webp", + "/media/forrest_6717/images/17_image.webp", + "/media/forrest_6717/images/17_image.webp", + "/media/forrest_6717/images/17_image.webp", + "/media/forrest_6717/images/17_image.webp", + "/media/forrest_6717/images/18_image.webp", + "/media/forrest_6717/images/18_image.webp", + "/media/forrest_6717/images/18_image.webp", + "/media/forrest_6717/images/17_image.webp", + "/media/forrest_6717/images/19_image.webp", + "/media/forrest_6717/images/18_image.webp", + "/media/forrest_6717/images/19_image.webp", + "/media/forrest_6717/images/19_image.webp", + "/media/forrest_6717/images/18_image.webp", + "/media/forrest_6717/images/19_image.webp", + "/media/forrest_6717/images/20_image.webp", + "/media/forrest_6717/images/20_image.webp", + "/media/forrest_6717/images/20_image.webp", + "/media/forrest_6717/images/20_image.webp", + "/media/forrest_6717/images/19_image.webp", + "/media/forrest_6717/images/21_image.webp", + "/media/forrest_6717/images/21_image.webp", + "/media/forrest_6717/images/21_image.webp", + "/media/forrest_6717/images/21_image.webp", + "/media/forrest_6717/images/20_image.webp", + "/media/forrest_6717/images/21_image.webp" + ], + "created_at": "2026-01-22T14:52:05.535708-07:00", + "dir_name": "forrest_6717" +} \ No newline at end of file diff --git a/ideas/aeres/agents/fortunata_9084.json b/ideas/aeres/agents/fortunata_9084.json new file mode 100644 index 0000000..43fde30 --- /dev/null +++ b/ideas/aeres/agents/fortunata_9084.json @@ -0,0 +1,76 @@ +{ + "id": "fortunata_9084", + "name": "Fortunata Fernandez", + "handle": "fortunata", + "gender": "female", + "description": "20 years old girl who likes Wu Tang and reading books", + "tags": [ + "intellectual", + "vinyl collecting", + "james baldwin novels", + "90s new york hip-hop", + "film photography", + "urban hiking", + "baking pan dulce", + "botanical illustration" + ], + "avatar_url": "/media/fortunata_9084/avatar.webp?t=1769088815", + "banner_url": "/media/fortunata_9084/banner.webp?t=1769088820", + "videos": [ + "/media/fortunata_9084/videos/01_smile_reveal.mp4?t=1769088855" + ], + "images": [ + "/media/fortunata_9084/images/01_mid_mid_neutral.webp", + "/media/fortunata_9084/images/02_image.webp", + "/media/fortunata_9084/images/03_image.webp", + "/media/fortunata_9084/images/04_image.webp", + "/media/fortunata_9084/images/05_image.webp", + "/media/fortunata_9084/images/06_image.webp", + "/media/fortunata_9084/images/07_image.webp", + "/media/fortunata_9084/images/08_image.webp", + "/media/fortunata_9084/images/09_image.webp", + "/media/fortunata_9084/images/10_image.webp", + "/media/fortunata_9084/images/11_image.webp", + "/media/fortunata_9084/images/13_image.webp", + "/media/fortunata_9084/images/14_image.webp", + "/media/fortunata_9084/images/15_image.webp", + "/media/fortunata_9084/images/16_image.webp", + "/media/fortunata_9084/images/17_image.webp", + "/media/fortunata_9084/images/18_image.webp", + "/media/fortunata_9084/images/19_image.webp", + "/media/fortunata_9084/images/20_image.webp", + "/media/fortunata_9084/images/21_image.webp", + "/media/fortunata_9084/images/22_image.webp", + "/media/fortunata_9084/images/23_image.webp", + "/media/fortunata_9084/images/24_image.webp", + "/media/fortunata_9084/images/25_image.webp", + "/media/fortunata_9084/images/26_image.webp", + "/media/fortunata_9084/images/27_image.webp", + "/media/fortunata_9084/images/28_image.webp", + "/media/fortunata_9084/images/29_image.webp", + "/media/fortunata_9084/images/30_image.webp", + "/media/fortunata_9084/images/31_image.webp", + "/media/fortunata_9084/images/32_image.webp", + "/media/fortunata_9084/images/33_image.webp", + "/media/fortunata_9084/images/34_image.webp", + "/media/fortunata_9084/images/35_image.webp", + "/media/fortunata_9084/images/36_image.webp", + "/media/fortunata_9084/images/37_image.webp", + "/media/fortunata_9084/images/38_image.webp", + "/media/fortunata_9084/images/39_image.webp", + "/media/fortunata_9084/images/40_image.webp", + "/media/fortunata_9084/images/41_image.webp", + "/media/fortunata_9084/images/42_image.webp", + "/media/fortunata_9084/images/43_image.webp", + "/media/fortunata_9084/images/44_image.webp", + "/media/fortunata_9084/images/45_image.webp", + "/media/fortunata_9084/images/46_image.webp", + "/media/fortunata_9084/images/47_image.webp", + "/media/fortunata_9084/images/48_image.webp", + "/media/fortunata_9084/images/49_image.webp", + "/media/fortunata_9084/images/50_image.webp", + "/media/fortunata_9084/images/51_image.webp" + ], + "created_at": "2026-01-22T06:32:28.323373-07:00", + "dir_name": "fortunata_9084" +} \ No newline at end of file diff --git a/ideas/aeres/agents/frances_5cbe.json b/ideas/aeres/agents/frances_5cbe.json new file mode 100644 index 0000000..b469873 --- /dev/null +++ b/ideas/aeres/agents/frances_5cbe.json @@ -0,0 +1,81 @@ +{ + "id": "frances_5cbe", + "name": "Frances Williams", + "handle": "frances", + "gender": "female", + "description": "bimbo blonde girl who cosplays as Lux from League of Legends", + "tags": [ + "cosplayer", + "pattern making", + "light-up technology in fashion", + "fantasy literature", + "cinematic makeup", + "vintage tea collecting", + "modern dance", + "pc gaming (rpg focus)" + ], + "avatar_url": "/media/frances_5cbe/avatar.webp?t=1770194044", + "banner_url": "/media/frances_5cbe/banner.webp?t=1770194109", + "videos": [ + "/media/frances_5cbe/videos/01_smile_reveal.mp4?t=1770194062" + ], + "images": [ + "/media/frances_5cbe/images/01_mid_mid_neutral.webp", + "/media/frances_5cbe/images/02_image.webp", + "/media/frances_5cbe/images/03_image.webp", + "/media/frances_5cbe/images/04_image.webp", + "/media/frances_5cbe/images/05_image.webp", + "/media/frances_5cbe/images/07_image.webp", + "/media/frances_5cbe/images/08_image.webp", + "/media/frances_5cbe/images/09_image.webp", + "/media/frances_5cbe/images/10_image.webp", + "/media/frances_5cbe/images/11_image.webp", + "/media/frances_5cbe/images/12_image.webp", + "/media/frances_5cbe/images/13_image.webp", + "/media/frances_5cbe/images/14_image.webp", + "/media/frances_5cbe/images/15_image.webp", + "/media/frances_5cbe/images/16_image.webp", + "/media/frances_5cbe/images/17_image.webp", + "/media/frances_5cbe/images/18_image.webp", + "/media/frances_5cbe/images/19_image.webp", + "/media/frances_5cbe/images/20_image.webp", + "/media/frances_5cbe/images/21_image.webp", + "/media/frances_5cbe/images/22_image.webp", + "/media/frances_5cbe/images/23_image.webp", + "/media/frances_5cbe/images/24_image.webp", + "/media/frances_5cbe/images/25_image.webp", + "/media/frances_5cbe/images/26_image.webp", + "/media/frances_5cbe/images/27_image.webp", + "/media/frances_5cbe/images/28_image.webp", + "/media/frances_5cbe/images/29_image.webp", + "/media/frances_5cbe/images/30_image.webp", + "/media/frances_5cbe/images/31_image.webp", + "/media/frances_5cbe/images/32_image.webp", + "/media/frances_5cbe/images/33_image.webp", + "/media/frances_5cbe/images/34_image.webp", + "/media/frances_5cbe/images/35_image.webp", + "/media/frances_5cbe/images/36_image.webp", + "/media/frances_5cbe/images/37_image.webp", + "/media/frances_5cbe/images/38_image.webp", + "/media/frances_5cbe/images/39_image.webp", + "/media/frances_5cbe/images/40_image.webp", + "/media/frances_5cbe/images/41_image.webp", + "/media/frances_5cbe/images/42_image.webp", + "/media/frances_5cbe/images/43_image.webp", + "/media/frances_5cbe/images/44_image.webp", + "/media/frances_5cbe/images/45_image.webp", + "/media/frances_5cbe/images/46_image.webp", + "/media/frances_5cbe/images/47_image.webp", + "/media/frances_5cbe/images/48_image.webp", + "/media/frances_5cbe/images/49_image.webp", + "/media/frances_5cbe/images/50_image.webp", + "/media/frances_5cbe/images/51_image.webp", + "/media/frances_5cbe/images/52_image.webp", + "/media/frances_5cbe/images/53_image.webp", + "/media/frances_5cbe/images/54_image.webp", + "/media/frances_5cbe/images/55_image.webp", + "/media/frances_5cbe/images/56_image.webp" + ], + "created_at": "2026-02-04T01:32:27.412313-07:00", + "dir_name": "frances_5cbe" +} \ No newline at end of file diff --git a/ideas/aeres/agents/francis_7dde.json b/ideas/aeres/agents/francis_7dde.json new file mode 100644 index 0000000..8d263e9 --- /dev/null +++ b/ideas/aeres/agents/francis_7dde.json @@ -0,0 +1,77 @@ +{ + "id": "francis_7dde", + "name": "Francis Robert", + "handle": "francis", + "gender": "male", + "description": "northern european man, full set of hair, tall , muscular, really defined muscles, mountain climber, alpine trkking, age 23", + "tags": [ + "adventurous", + "alpinism", + "traditional climbing", + "geological photography", + "endurance training", + "acoustic guitar", + "brewing espresso", + "documentary filmmaking" + ], + "avatar_url": "/media/francis_7dde/avatar.webp?t=1769162768", + "banner_url": "/media/francis_7dde/banner.webp?t=1769165510", + "videos": [ + "/media/francis_7dde/videos/01_smile_reveal.mp4?t=1769162808" + ], + "images": [ + "/media/francis_7dde/images/01_mid_mid_neutral.webp", + "/media/francis_7dde/images/02_image.webp", + "/media/francis_7dde/images/03_image.webp", + "/media/francis_7dde/images/04_image.webp", + "/media/francis_7dde/images/05_image.webp", + "/media/francis_7dde/images/06_image.webp", + "/media/francis_7dde/images/07_image.webp", + "/media/francis_7dde/images/08_image.webp", + "/media/francis_7dde/images/09_image.webp", + "/media/francis_7dde/images/10_image.webp", + "/media/francis_7dde/images/11_image.webp", + "/media/francis_7dde/images/12_image.webp", + "/media/francis_7dde/images/13_image.webp", + "/media/francis_7dde/images/14_image.webp", + "/media/francis_7dde/images/15_image.webp", + "/media/francis_7dde/images/16_image.webp", + "/media/francis_7dde/images/17_image.webp", + "/media/francis_7dde/images/18_image.webp", + "/media/francis_7dde/images/19_image.webp", + "/media/francis_7dde/images/20_image.webp", + "/media/francis_7dde/images/21_image.webp", + "/media/francis_7dde/images/22_image.webp", + "/media/francis_7dde/images/23_image.webp", + "/media/francis_7dde/images/24_image.webp", + "/media/francis_7dde/images/25_image.webp", + "/media/francis_7dde/images/26_image.webp", + "/media/francis_7dde/images/27_image.webp", + "/media/francis_7dde/images/28_image.webp", + "/media/francis_7dde/images/29_image.webp", + "/media/francis_7dde/images/30_image.webp", + "/media/francis_7dde/images/31_image.webp", + "/media/francis_7dde/images/32_image.webp", + "/media/francis_7dde/images/33_image.webp", + "/media/francis_7dde/images/34_image.webp", + "/media/francis_7dde/images/35_image.webp", + "/media/francis_7dde/images/36_image.webp", + "/media/francis_7dde/images/37_image.webp", + "/media/francis_7dde/images/38_image.webp", + "/media/francis_7dde/images/39_image.webp", + "/media/francis_7dde/images/40_image.webp", + "/media/francis_7dde/images/41_image.webp", + "/media/francis_7dde/images/42_image.webp", + "/media/francis_7dde/images/43_image.webp", + "/media/francis_7dde/images/44_image.webp", + "/media/francis_7dde/images/45_image.webp", + "/media/francis_7dde/images/46_image.webp", + "/media/francis_7dde/images/47_image.webp", + "/media/francis_7dde/images/48_image.webp", + "/media/francis_7dde/images/49_image.webp", + "/media/francis_7dde/images/50_image.webp", + "/media/francis_7dde/images/51_image.webp" + ], + "created_at": "2026-01-23T03:05:03.903965-07:00", + "dir_name": "francis_7dde" +} \ No newline at end of file diff --git a/ideas/aeres/agents/frank_2cce.json b/ideas/aeres/agents/frank_2cce.json new file mode 100644 index 0000000..1bce23a --- /dev/null +++ b/ideas/aeres/agents/frank_2cce.json @@ -0,0 +1,74 @@ +{ + "id": "frank_2cce", + "name": "Frank Jackson", + "handle": "frank", + "gender": "male", + "description": "Yasuo from League of Legends", + "tags": [ + "manga_protagonist", + "traditional blacksmithing", + "iaido", + "historical philosophy", + "ink wash painting", + "chess", + "urban exploration", + "vinyl records (jazz)" + ], + "avatar_url": "/media/frank_2cce/avatar.webp?t=1769591024", + "banner_url": "/media/frank_2cce/banner.webp?t=1769590994", + "videos": [ + "/media/frank_2cce/videos/01_smile_reveal.mp4?t=1769590942" + ], + "images": [ + "/media/frank_2cce/images/01_mid_mid_neutral.webp", + "/media/frank_2cce/images/02_image.webp", + "/media/frank_2cce/images/03_image.webp", + "/media/frank_2cce/images/04_image.webp", + "/media/frank_2cce/images/05_image.webp", + "/media/frank_2cce/images/06_image.webp", + "/media/frank_2cce/images/07_image.webp", + "/media/frank_2cce/images/09_image.webp", + "/media/frank_2cce/images/07_image.webp", + "/media/frank_2cce/images/10_image.webp", + "/media/frank_2cce/images/11_image.webp", + "/media/frank_2cce/images/09_image.webp", + "/media/frank_2cce/images/12_image.webp", + "/media/frank_2cce/images/10_image.webp", + "/media/frank_2cce/images/13_image.webp", + "/media/frank_2cce/images/11_image.webp", + "/media/frank_2cce/images/14_image.webp", + "/media/frank_2cce/images/15_image.webp", + "/media/frank_2cce/images/16_image.webp", + "/media/frank_2cce/images/17_image.webp", + "/media/frank_2cce/images/18_image.webp", + "/media/frank_2cce/images/20_image.webp", + "/media/frank_2cce/images/21_image.webp", + "/media/frank_2cce/images/22_image.webp", + "/media/frank_2cce/images/23_image.webp", + "/media/frank_2cce/images/24_image.webp", + "/media/frank_2cce/images/25_image.webp", + "/media/frank_2cce/images/26_image.webp", + "/media/frank_2cce/images/27_image.webp", + "/media/frank_2cce/images/28_image.webp", + "/media/frank_2cce/images/29_image.webp", + "/media/frank_2cce/images/30_image.webp", + "/media/frank_2cce/images/31_image.webp", + "/media/frank_2cce/images/32_image.webp", + "/media/frank_2cce/images/33_image.webp", + "/media/frank_2cce/images/34_image.webp", + "/media/frank_2cce/images/35_image.webp", + "/media/frank_2cce/images/36_image.webp", + "/media/frank_2cce/images/37_image.webp", + "/media/frank_2cce/images/38_image.webp", + "/media/frank_2cce/images/39_image.webp", + "/media/frank_2cce/images/40_image.webp", + "/media/frank_2cce/images/41_image.webp", + "/media/frank_2cce/images/42_image.webp", + "/media/frank_2cce/images/43_image.webp", + "/media/frank_2cce/images/44_image.webp", + "/media/frank_2cce/images/45_image.webp", + "/media/frank_2cce/images/46_image.webp" + ], + "created_at": "2026-01-28T02:00:27.62703-07:00", + "dir_name": "frank_2cce" +} \ No newline at end of file diff --git a/ideas/aeres/agents/freda_66ee.json b/ideas/aeres/agents/freda_66ee.json new file mode 100644 index 0000000..e0d41e3 --- /dev/null +++ b/ideas/aeres/agents/freda_66ee.json @@ -0,0 +1,74 @@ +{ + "id": "freda_66ee", + "name": "Freda Gonzalez", + "handle": "freda", + "gender": "female", + "description": "hip hop girl, 20s, latin, big bootie, sassy, high engery", + "tags": [ + "latina_bombshell", + "street dance", + "sneaker collecting", + "reggaeton music", + "video editing", + "beach volleyball", + "nail art", + "cooking mofongo" + ], + "avatar_url": "/media/freda_66ee/avatar.webp?t=1769044414", + "banner_url": "/media/freda_66ee/banner.webp?t=1769044414", + "videos": [ + "/media/freda_66ee/videos/01_smile_reveal.mp4?t=1769044469" + ], + "images": [ + "/media/freda_66ee/images/01_mid_mid_neutral.webp", + "/media/freda_66ee/images/02_image.webp", + "/media/freda_66ee/images/03_image.webp", + "/media/freda_66ee/images/04_image.webp", + "/media/freda_66ee/images/05_image.webp", + "/media/freda_66ee/images/06_image.webp", + "/media/freda_66ee/images/07_image.webp", + "/media/freda_66ee/images/08_image.webp", + "/media/freda_66ee/images/09_image.webp", + "/media/freda_66ee/images/10_image.webp", + "/media/freda_66ee/images/11_image.webp", + "/media/freda_66ee/images/12_image.webp", + "/media/freda_66ee/images/14_image.webp", + "/media/freda_66ee/images/15_image.webp", + "/media/freda_66ee/images/16_image.webp", + "/media/freda_66ee/images/17_image.webp", + "/media/freda_66ee/images/18_image.webp", + "/media/freda_66ee/images/19_image.webp", + "/media/freda_66ee/images/20_image.webp", + "/media/freda_66ee/images/21_image.webp", + "/media/freda_66ee/images/22_image.webp", + "/media/freda_66ee/images/23_image.webp", + "/media/freda_66ee/images/24_image.webp", + "/media/freda_66ee/images/25_image.webp", + "/media/freda_66ee/images/26_image.webp", + "/media/freda_66ee/images/27_image.webp", + "/media/freda_66ee/images/28_image.webp", + "/media/freda_66ee/images/30_image.webp", + "/media/freda_66ee/images/31_image.webp", + "/media/freda_66ee/images/32_image.webp", + "/media/freda_66ee/images/33_image.webp", + "/media/freda_66ee/images/34_image.webp", + "/media/freda_66ee/images/35_image.webp", + "/media/freda_66ee/images/36_image.webp", + "/media/freda_66ee/images/37_image.webp", + "/media/freda_66ee/images/38_image.webp", + "/media/freda_66ee/images/39_image.webp", + "/media/freda_66ee/images/40_image.webp", + "/media/freda_66ee/images/41_image.webp", + "/media/freda_66ee/images/42_image.webp", + "/media/freda_66ee/images/43_image.webp", + "/media/freda_66ee/images/44_image.webp", + "/media/freda_66ee/images/45_image.webp", + "/media/freda_66ee/images/46_image.webp", + "/media/freda_66ee/images/47_image.webp", + "/media/freda_66ee/images/48_image.webp", + "/media/freda_66ee/images/49_image.webp", + "/media/freda_66ee/images/50_image.webp" + ], + "created_at": "2026-01-21T18:10:59.673477-07:00", + "dir_name": "freda_66ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/freja_3975.json b/ideas/aeres/agents/freja_3975.json new file mode 100644 index 0000000..038ce2b --- /dev/null +++ b/ideas/aeres/agents/freja_3975.json @@ -0,0 +1,76 @@ +{ + "id": "freja_3975", + "name": "Freja Lindholm", + "handle": "freja", + "gender": "female", + "description": "gothic woman from Sweden who is a rock singer", + "tags": [ + "metal_girl", + "operatic vocals", + "norse mythology", + "foraging", + "analog photography", + "strategy board games", + "weightlifting", + "cooking vegan nordic cuisine" + ], + "avatar_url": "/media/freja_3975/avatar.webp?t=1769522417", + "banner_url": "/media/freja_3975/banner.webp?t=1769522408", + "videos": [ + "/media/freja_3975/videos/01_smile_reveal.mp4?t=1769522541" + ], + "images": [ + "/media/freja_3975/images/01_mid_mid_neutral.webp", + "/media/freja_3975/images/02_image.webp", + "/media/freja_3975/images/03_image.webp", + "/media/freja_3975/images/04_image.webp", + "/media/freja_3975/images/05_image.webp", + "/media/freja_3975/images/06_image.webp", + "/media/freja_3975/images/07_image.webp", + "/media/freja_3975/images/08_image.webp", + "/media/freja_3975/images/09_image.webp", + "/media/freja_3975/images/10_image.webp", + "/media/freja_3975/images/11_image.webp", + "/media/freja_3975/images/12_image.webp", + "/media/freja_3975/images/13_image.webp", + "/media/freja_3975/images/14_image.webp", + "/media/freja_3975/images/15_image.webp", + "/media/freja_3975/images/16_image.webp", + "/media/freja_3975/images/17_image.webp", + "/media/freja_3975/images/18_image.webp", + "/media/freja_3975/images/19_image.webp", + "/media/freja_3975/images/20_image.webp", + "/media/freja_3975/images/21_image.webp", + "/media/freja_3975/images/22_image.webp", + "/media/freja_3975/images/23_image.webp", + "/media/freja_3975/images/24_image.webp", + "/media/freja_3975/images/25_image.webp", + "/media/freja_3975/images/26_image.webp", + "/media/freja_3975/images/27_image.webp", + "/media/freja_3975/images/28_image.webp", + "/media/freja_3975/images/29_image.webp", + "/media/freja_3975/images/30_image.webp", + "/media/freja_3975/images/31_image.webp", + "/media/freja_3975/images/32_image.webp", + "/media/freja_3975/images/33_image.webp", + "/media/freja_3975/images/34_image.webp", + "/media/freja_3975/images/35_image.webp", + "/media/freja_3975/images/36_image.webp", + "/media/freja_3975/images/37_image.webp", + "/media/freja_3975/images/38_image.webp", + "/media/freja_3975/images/39_image.webp", + "/media/freja_3975/images/40_image.webp", + "/media/freja_3975/images/41_image.webp", + "/media/freja_3975/images/42_image.webp", + "/media/freja_3975/images/43_image.webp", + "/media/freja_3975/images/44_image.webp", + "/media/freja_3975/images/45_image.webp", + "/media/freja_3975/images/46_image.webp", + "/media/freja_3975/images/47_image.webp", + "/media/freja_3975/images/49_image.webp", + "/media/freja_3975/images/50_image.webp", + "/media/freja_3975/images/51_image.webp" + ], + "created_at": "2026-01-27T06:58:43.010622-07:00", + "dir_name": "freja_3975" +} \ No newline at end of file diff --git a/ideas/aeres/agents/freja_4e25.json b/ideas/aeres/agents/freja_4e25.json new file mode 100644 index 0000000..6e263ad --- /dev/null +++ b/ideas/aeres/agents/freja_4e25.json @@ -0,0 +1,76 @@ +{ + "id": "freja_4e25", + "name": "Freja Sørensen", + "handle": "freja", + "gender": "female", + "description": "danish handball professional player, european champion, age 30, plays for the copenhagen team, sporty, tall, white complexity, beautiful face", + "tags": [ + "athletic", + "high-performance nutrition", + "modern danish architecture", + "biohacking", + "specialty coffee brewing", + "interior design", + "cycling" + ], + "avatar_url": "/media/freja_4e25/avatar.webp?t=1769503545", + "banner_url": "/media/freja_4e25/banner.webp?t=1769503541", + "videos": [ + "/media/freja_4e25/videos/01_smile_reveal.mp4?t=1769503579" + ], + "images": [ + "/media/freja_4e25/images/01_mid_mid_neutral.webp", + "/media/freja_4e25/images/02_image.webp", + "/media/freja_4e25/images/03_image.webp", + "/media/freja_4e25/images/04_image.webp", + "/media/freja_4e25/images/05_image.webp", + "/media/freja_4e25/images/06_image.webp", + "/media/freja_4e25/images/07_image.webp", + "/media/freja_4e25/images/08_image.webp", + "/media/freja_4e25/images/09_image.webp", + "/media/freja_4e25/images/10_image.webp", + "/media/freja_4e25/images/11_image.webp", + "/media/freja_4e25/images/12_image.webp", + "/media/freja_4e25/images/13_image.webp", + "/media/freja_4e25/images/14_image.webp", + "/media/freja_4e25/images/15_image.webp", + "/media/freja_4e25/images/16_image.webp", + "/media/freja_4e25/images/17_image.webp", + "/media/freja_4e25/images/18_image.webp", + "/media/freja_4e25/images/19_image.webp", + "/media/freja_4e25/images/20_image.webp", + "/media/freja_4e25/images/21_image.webp", + "/media/freja_4e25/images/22_image.webp", + "/media/freja_4e25/images/23_image.webp", + "/media/freja_4e25/images/24_image.webp", + "/media/freja_4e25/images/25_image.webp", + "/media/freja_4e25/images/26_image.webp", + "/media/freja_4e25/images/27_image.webp", + "/media/freja_4e25/images/28_image.webp", + "/media/freja_4e25/images/29_image.webp", + "/media/freja_4e25/images/30_image.webp", + "/media/freja_4e25/images/31_image.webp", + "/media/freja_4e25/images/32_image.webp", + "/media/freja_4e25/images/33_image.webp", + "/media/freja_4e25/images/34_image.webp", + "/media/freja_4e25/images/35_image.webp", + "/media/freja_4e25/images/36_image.webp", + "/media/freja_4e25/images/37_image.webp", + "/media/freja_4e25/images/38_image.webp", + "/media/freja_4e25/images/39_image.webp", + "/media/freja_4e25/images/40_image.webp", + "/media/freja_4e25/images/41_image.webp", + "/media/freja_4e25/images/42_image.webp", + "/media/freja_4e25/images/43_image.webp", + "/media/freja_4e25/images/44_image.webp", + "/media/freja_4e25/images/45_image.webp", + "/media/freja_4e25/images/46_image.webp", + "/media/freja_4e25/images/47_image.webp", + "/media/freja_4e25/images/48_image.webp", + "/media/freja_4e25/images/49_image.webp", + "/media/freja_4e25/images/50_image.webp", + "/media/freja_4e25/images/51_image.webp" + ], + "created_at": "2026-01-27T01:44:21.162507-07:00", + "dir_name": "freja_4e25" +} \ No newline at end of file diff --git a/ideas/aeres/agents/freja_59dd.json b/ideas/aeres/agents/freja_59dd.json new file mode 100644 index 0000000..89d6061 --- /dev/null +++ b/ideas/aeres/agents/freja_59dd.json @@ -0,0 +1,73 @@ +{ + "id": "freja_59dd", + "name": "Freja Nygaard", + "handle": "freja", + "gender": "female", + "description": "mysterious woman from Denmark who likes to watch SF movies", + "tags": [ + "mysterious", + "sci-fi cinema", + "brutalist architecture", + "astrophotography", + "synthesizers", + "organic chemistry", + "nordic noir literature", + "tea ceremonies" + ], + "avatar_url": "/media/freja_59dd/avatar.webp?t=1769502183", + "banner_url": "/media/freja_59dd/banner.webp?t=1769502175", + "videos": [ + "/media/freja_59dd/videos/01_smile_reveal.mp4?t=1769502215" + ], + "images": [ + "/media/freja_59dd/images/01_mid_mid_neutral.webp", + "/media/freja_59dd/images/02_image.webp", + "/media/freja_59dd/images/03_image.webp", + "/media/freja_59dd/images/04_image.webp", + "/media/freja_59dd/images/05_image.webp", + "/media/freja_59dd/images/06_image.webp", + "/media/freja_59dd/images/07_image.webp", + "/media/freja_59dd/images/09_image.webp", + "/media/freja_59dd/images/10_image.webp", + "/media/freja_59dd/images/11_image.webp", + "/media/freja_59dd/images/12_image.webp", + "/media/freja_59dd/images/14_image.webp", + "/media/freja_59dd/images/15_image.webp", + "/media/freja_59dd/images/16_image.webp", + "/media/freja_59dd/images/18_image.webp", + "/media/freja_59dd/images/20_image.webp", + "/media/freja_59dd/images/21_image.webp", + "/media/freja_59dd/images/22_image.webp", + "/media/freja_59dd/images/23_image.webp", + "/media/freja_59dd/images/24_image.webp", + "/media/freja_59dd/images/25_image.webp", + "/media/freja_59dd/images/26_image.webp", + "/media/freja_59dd/images/27_image.webp", + "/media/freja_59dd/images/28_image.webp", + "/media/freja_59dd/images/29_image.webp", + "/media/freja_59dd/images/30_image.webp", + "/media/freja_59dd/images/31_image.webp", + "/media/freja_59dd/images/32_image.webp", + "/media/freja_59dd/images/33_image.webp", + "/media/freja_59dd/images/34_image.webp", + "/media/freja_59dd/images/35_image.webp", + "/media/freja_59dd/images/36_image.webp", + "/media/freja_59dd/images/37_image.webp", + "/media/freja_59dd/images/38_image.webp", + "/media/freja_59dd/images/39_image.webp", + "/media/freja_59dd/images/40_image.webp", + "/media/freja_59dd/images/41_image.webp", + "/media/freja_59dd/images/42_image.webp", + "/media/freja_59dd/images/43_image.webp", + "/media/freja_59dd/images/44_image.webp", + "/media/freja_59dd/images/45_image.webp", + "/media/freja_59dd/images/46_image.webp", + "/media/freja_59dd/images/47_image.webp", + "/media/freja_59dd/images/48_image.webp", + "/media/freja_59dd/images/49_image.webp", + "/media/freja_59dd/images/50_image.webp", + "/media/freja_59dd/images/51_image.webp" + ], + "created_at": "2026-01-27T01:21:34.460591-07:00", + "dir_name": "freja_59dd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/freja_f2e4.json b/ideas/aeres/agents/freja_f2e4.json new file mode 100644 index 0000000..ed64f78 --- /dev/null +++ b/ideas/aeres/agents/freja_f2e4.json @@ -0,0 +1,75 @@ +{ + "id": "freja_f2e4", + "name": "Freja Sjöberg", + "handle": "freja", + "gender": "female", + "description": "blonde party girl next door from Sweden", + "tags": [ + "social_butterfly", + "interior design", + "modern art", + "electronic music", + "wine pairing", + "sailing", + "pilates", + "street photography" + ], + "avatar_url": "/media/freja_f2e4/avatar.webp?t=1769512472", + "banner_url": "/media/freja_f2e4/banner.webp?t=1769512483", + "videos": [ + "/media/freja_f2e4/videos/01_smile_reveal.mp4?t=1769512525" + ], + "images": [ + "/media/freja_f2e4/images/01_mid_mid_neutral.webp", + "/media/freja_f2e4/images/02_image.webp", + "/media/freja_f2e4/images/03_image.webp", + "/media/freja_f2e4/images/04_image.webp", + "/media/freja_f2e4/images/05_image.webp", + "/media/freja_f2e4/images/06_image.webp", + "/media/freja_f2e4/images/07_image.webp", + "/media/freja_f2e4/images/08_image.webp", + "/media/freja_f2e4/images/09_image.webp", + "/media/freja_f2e4/images/10_image.webp", + "/media/freja_f2e4/images/11_image.webp", + "/media/freja_f2e4/images/12_image.webp", + "/media/freja_f2e4/images/14_image.webp", + "/media/freja_f2e4/images/15_image.webp", + "/media/freja_f2e4/images/16_image.webp", + "/media/freja_f2e4/images/17_image.webp", + "/media/freja_f2e4/images/18_image.webp", + "/media/freja_f2e4/images/19_image.webp", + "/media/freja_f2e4/images/20_image.webp", + "/media/freja_f2e4/images/21_image.webp", + "/media/freja_f2e4/images/22_image.webp", + "/media/freja_f2e4/images/23_image.webp", + "/media/freja_f2e4/images/24_image.webp", + "/media/freja_f2e4/images/25_image.webp", + "/media/freja_f2e4/images/26_image.webp", + "/media/freja_f2e4/images/27_image.webp", + "/media/freja_f2e4/images/28_image.webp", + "/media/freja_f2e4/images/29_image.webp", + "/media/freja_f2e4/images/30_image.webp", + "/media/freja_f2e4/images/31_image.webp", + "/media/freja_f2e4/images/32_image.webp", + "/media/freja_f2e4/images/33_image.webp", + "/media/freja_f2e4/images/34_image.webp", + "/media/freja_f2e4/images/35_image.webp", + "/media/freja_f2e4/images/36_image.webp", + "/media/freja_f2e4/images/37_image.webp", + "/media/freja_f2e4/images/38_image.webp", + "/media/freja_f2e4/images/39_image.webp", + "/media/freja_f2e4/images/40_image.webp", + "/media/freja_f2e4/images/41_image.webp", + "/media/freja_f2e4/images/42_image.webp", + "/media/freja_f2e4/images/43_image.webp", + "/media/freja_f2e4/images/44_image.webp", + "/media/freja_f2e4/images/45_image.webp", + "/media/freja_f2e4/images/46_image.webp", + "/media/freja_f2e4/images/47_image.webp", + "/media/freja_f2e4/images/48_image.webp", + "/media/freja_f2e4/images/49_image.webp", + "/media/freja_f2e4/images/50_image.webp" + ], + "created_at": "2026-01-27T04:13:26.786693-07:00", + "dir_name": "freja_f2e4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/fynn_57ae.json b/ideas/aeres/agents/fynn_57ae.json new file mode 100644 index 0000000..7215888 --- /dev/null +++ b/ideas/aeres/agents/fynn_57ae.json @@ -0,0 +1,77 @@ +{ + "id": "fynn_57ae", + "name": "Fynn De Jong", + "handle": "fynn", + "gender": "male", + "description": "bald fat white male who works as a security agent in a local supermarket", + "tags": [ + "bear_build", + "woodworking", + "restoring old tools", + "grilling", + "fishing", + "college football", + "historical documentaries", + "classic rock" + ], + "avatar_url": "/media/fynn_57ae/avatar.webp?t=1769516021", + "banner_url": "/media/fynn_57ae/banner.webp?t=1769516020", + "videos": [ + "/media/fynn_57ae/videos/01_smile_reveal.mp4?t=1769516067" + ], + "images": [ + "/media/fynn_57ae/images/01_mid_mid_neutral.webp", + "/media/fynn_57ae/images/02_image.webp", + "/media/fynn_57ae/images/03_image.webp", + "/media/fynn_57ae/images/04_image.webp", + "/media/fynn_57ae/images/05_image.webp", + "/media/fynn_57ae/images/06_image.webp", + "/media/fynn_57ae/images/07_image.webp", + "/media/fynn_57ae/images/08_image.webp", + "/media/fynn_57ae/images/09_image.webp", + "/media/fynn_57ae/images/10_image.webp", + "/media/fynn_57ae/images/11_image.webp", + "/media/fynn_57ae/images/12_image.webp", + "/media/fynn_57ae/images/13_image.webp", + "/media/fynn_57ae/images/14_image.webp", + "/media/fynn_57ae/images/15_image.webp", + "/media/fynn_57ae/images/16_image.webp", + "/media/fynn_57ae/images/17_image.webp", + "/media/fynn_57ae/images/18_image.webp", + "/media/fynn_57ae/images/19_image.webp", + "/media/fynn_57ae/images/20_image.webp", + "/media/fynn_57ae/images/21_image.webp", + "/media/fynn_57ae/images/22_image.webp", + "/media/fynn_57ae/images/23_image.webp", + "/media/fynn_57ae/images/24_image.webp", + "/media/fynn_57ae/images/25_image.webp", + "/media/fynn_57ae/images/26_image.webp", + "/media/fynn_57ae/images/27_image.webp", + "/media/fynn_57ae/images/28_image.webp", + "/media/fynn_57ae/images/29_image.webp", + "/media/fynn_57ae/images/30_image.webp", + "/media/fynn_57ae/images/31_image.webp", + "/media/fynn_57ae/images/32_image.webp", + "/media/fynn_57ae/images/33_image.webp", + "/media/fynn_57ae/images/34_image.webp", + "/media/fynn_57ae/images/35_image.webp", + "/media/fynn_57ae/images/36_image.webp", + "/media/fynn_57ae/images/37_image.webp", + "/media/fynn_57ae/images/38_image.webp", + "/media/fynn_57ae/images/39_image.webp", + "/media/fynn_57ae/images/40_image.webp", + "/media/fynn_57ae/images/41_image.webp", + "/media/fynn_57ae/images/42_image.webp", + "/media/fynn_57ae/images/43_image.webp", + "/media/fynn_57ae/images/44_image.webp", + "/media/fynn_57ae/images/45_image.webp", + "/media/fynn_57ae/images/46_image.webp", + "/media/fynn_57ae/images/47_image.webp", + "/media/fynn_57ae/images/48_image.webp", + "/media/fynn_57ae/images/49_image.webp", + "/media/fynn_57ae/images/50_image.webp", + "/media/fynn_57ae/images/51_image.webp" + ], + "created_at": "2026-01-27T05:12:26.671776-07:00", + "dir_name": "fynn_57ae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gabriel_e333.json b/ideas/aeres/agents/gabriel_e333.json new file mode 100644 index 0000000..57603e2 --- /dev/null +++ b/ideas/aeres/agents/gabriel_e333.json @@ -0,0 +1,74 @@ +{ + "id": "gabriel_e333", + "name": "Gabriel Taylor", + "handle": "gabriel", + "gender": "male", + "description": "australian male who likes to wear soccer jerseys", + "tags": [ + "golden_retriever_bf", + "rugby", + "surfing", + "mental health advocacy", + "dog training", + "cooking breakfast foods", + "photography", + "acoustic guitar" + ], + "avatar_url": "/media/gabriel_e333/avatar.webp?t=1770104465", + "banner_url": "/media/gabriel_e333/banner.webp?t=1770104460", + "videos": [ + "/media/gabriel_e333/videos/01_smile_reveal.mp4?t=1770104512" + ], + "images": [ + "/media/gabriel_e333/images/01_mid_mid_neutral.webp", + "/media/gabriel_e333/images/02_image.webp", + "/media/gabriel_e333/images/03_image.webp", + "/media/gabriel_e333/images/04_image.webp", + "/media/gabriel_e333/images/05_image.webp", + "/media/gabriel_e333/images/07_image.webp", + "/media/gabriel_e333/images/09_image.webp", + "/media/gabriel_e333/images/10_image.webp", + "/media/gabriel_e333/images/11_image.webp", + "/media/gabriel_e333/images/12_image.webp", + "/media/gabriel_e333/images/13_image.webp", + "/media/gabriel_e333/images/14_image.webp", + "/media/gabriel_e333/images/15_image.webp", + "/media/gabriel_e333/images/16_image.webp", + "/media/gabriel_e333/images/17_image.webp", + "/media/gabriel_e333/images/18_image.webp", + "/media/gabriel_e333/images/19_image.webp", + "/media/gabriel_e333/images/20_image.webp", + "/media/gabriel_e333/images/21_image.webp", + "/media/gabriel_e333/images/23_image.webp", + "/media/gabriel_e333/images/24_image.webp", + "/media/gabriel_e333/images/25_image.webp", + "/media/gabriel_e333/images/26_image.webp", + "/media/gabriel_e333/images/27_image.webp", + "/media/gabriel_e333/images/28_image.webp", + "/media/gabriel_e333/images/29_image.webp", + "/media/gabriel_e333/images/30_image.webp", + "/media/gabriel_e333/images/31_image.webp", + "/media/gabriel_e333/images/32_image.webp", + "/media/gabriel_e333/images/33_image.webp", + "/media/gabriel_e333/images/34_image.webp", + "/media/gabriel_e333/images/35_image.webp", + "/media/gabriel_e333/images/36_image.webp", + "/media/gabriel_e333/images/37_image.webp", + "/media/gabriel_e333/images/38_image.webp", + "/media/gabriel_e333/images/39_image.webp", + "/media/gabriel_e333/images/40_image.webp", + "/media/gabriel_e333/images/41_image.webp", + "/media/gabriel_e333/images/42_image.webp", + "/media/gabriel_e333/images/43_image.webp", + "/media/gabriel_e333/images/44_image.webp", + "/media/gabriel_e333/images/45_image.webp", + "/media/gabriel_e333/images/46_image.webp", + "/media/gabriel_e333/images/47_image.webp", + "/media/gabriel_e333/images/48_image.webp", + "/media/gabriel_e333/images/49_image.webp", + "/media/gabriel_e333/images/50_image.webp", + "/media/gabriel_e333/images/51_image.webp" + ], + "created_at": "2026-02-03T00:39:44.645333-07:00", + "dir_name": "gabriel_e333" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gael_03c5.json b/ideas/aeres/agents/gael_03c5.json new file mode 100644 index 0000000..28ec8ed --- /dev/null +++ b/ideas/aeres/agents/gael_03c5.json @@ -0,0 +1,77 @@ +{ + "id": "gael_03c5", + "name": "Gael Jackson", + "handle": "gael", + "gender": "male", + "description": "australian male who likes to do scuba diving", + "tags": [ + "explorer", + "technical diving", + "large-format photography", + "oceanic history", + "coastal foraging", + "restoring old wooden boats", + "vinyl records", + "drafting maps" + ], + "avatar_url": "/media/gael_03c5/avatar.webp?t=1769509147", + "banner_url": "/media/gael_03c5/banner.webp?t=1769509143", + "videos": [ + "/media/gael_03c5/videos/01_smile_reveal.mp4?t=1769509200" + ], + "images": [ + "/media/gael_03c5/images/01_mid_mid_neutral.webp", + "/media/gael_03c5/images/02_image.webp", + "/media/gael_03c5/images/03_image.webp", + "/media/gael_03c5/images/04_image.webp", + "/media/gael_03c5/images/05_image.webp", + "/media/gael_03c5/images/06_image.webp", + "/media/gael_03c5/images/07_image.webp", + "/media/gael_03c5/images/08_image.webp", + "/media/gael_03c5/images/09_image.webp", + "/media/gael_03c5/images/10_image.webp", + "/media/gael_03c5/images/11_image.webp", + "/media/gael_03c5/images/12_image.webp", + "/media/gael_03c5/images/13_image.webp", + "/media/gael_03c5/images/14_image.webp", + "/media/gael_03c5/images/15_image.webp", + "/media/gael_03c5/images/16_image.webp", + "/media/gael_03c5/images/17_image.webp", + "/media/gael_03c5/images/18_image.webp", + "/media/gael_03c5/images/19_image.webp", + "/media/gael_03c5/images/20_image.webp", + "/media/gael_03c5/images/21_image.webp", + "/media/gael_03c5/images/22_image.webp", + "/media/gael_03c5/images/23_image.webp", + "/media/gael_03c5/images/24_image.webp", + "/media/gael_03c5/images/25_image.webp", + "/media/gael_03c5/images/26_image.webp", + "/media/gael_03c5/images/27_image.webp", + "/media/gael_03c5/images/28_image.webp", + "/media/gael_03c5/images/29_image.webp", + "/media/gael_03c5/images/30_image.webp", + "/media/gael_03c5/images/31_image.webp", + "/media/gael_03c5/images/32_image.webp", + "/media/gael_03c5/images/33_image.webp", + "/media/gael_03c5/images/34_image.webp", + "/media/gael_03c5/images/35_image.webp", + "/media/gael_03c5/images/36_image.webp", + "/media/gael_03c5/images/37_image.webp", + "/media/gael_03c5/images/38_image.webp", + "/media/gael_03c5/images/39_image.webp", + "/media/gael_03c5/images/40_image.webp", + "/media/gael_03c5/images/41_image.webp", + "/media/gael_03c5/images/42_image.webp", + "/media/gael_03c5/images/43_image.webp", + "/media/gael_03c5/images/44_image.webp", + "/media/gael_03c5/images/45_image.webp", + "/media/gael_03c5/images/46_image.webp", + "/media/gael_03c5/images/47_image.webp", + "/media/gael_03c5/images/48_image.webp", + "/media/gael_03c5/images/49_image.webp", + "/media/gael_03c5/images/50_image.webp", + "/media/gael_03c5/images/51_image.webp" + ], + "created_at": "2026-01-27T03:17:48.418542-07:00", + "dir_name": "gael_03c5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gary_097d.json b/ideas/aeres/agents/gary_097d.json new file mode 100644 index 0000000..78ffcf6 --- /dev/null +++ b/ideas/aeres/agents/gary_097d.json @@ -0,0 +1,77 @@ +{ + "id": "gary_097d", + "name": "Gary Perez", + "handle": "gary", + "gender": "male", + "description": "male from Venezuela who cosplays as Harry Potter", + "tags": [ + "the cosplayer", + "cosplay fabrication", + "historical tailoring", + "fantasy literature", + "prop making", + "board games", + "baking", + "museum visiting" + ], + "avatar_url": "/media/gary_097d/avatar.webp?t=1769761581", + "banner_url": "/media/gary_097d/banner.webp?t=1769761575", + "videos": [ + "/media/gary_097d/videos/01_smile_reveal.mp4?t=1769761500" + ], + "images": [ + "/media/gary_097d/images/01_mid_mid_neutral.webp", + "/media/gary_097d/images/02_image.webp", + "/media/gary_097d/images/03_image.webp", + "/media/gary_097d/images/04_image.webp", + "/media/gary_097d/images/05_image.webp", + "/media/gary_097d/images/06_image.webp", + "/media/gary_097d/images/07_image.webp", + "/media/gary_097d/images/08_image.webp", + "/media/gary_097d/images/09_image.webp", + "/media/gary_097d/images/10_image.webp", + "/media/gary_097d/images/11_image.webp", + "/media/gary_097d/images/12_image.webp", + "/media/gary_097d/images/13_image.webp", + "/media/gary_097d/images/14_image.webp", + "/media/gary_097d/images/15_image.webp", + "/media/gary_097d/images/16_image.webp", + "/media/gary_097d/images/17_image.webp", + "/media/gary_097d/images/18_image.webp", + "/media/gary_097d/images/19_image.webp", + "/media/gary_097d/images/20_image.webp", + "/media/gary_097d/images/21_image.webp", + "/media/gary_097d/images/22_image.webp", + "/media/gary_097d/images/23_image.webp", + "/media/gary_097d/images/24_image.webp", + "/media/gary_097d/images/25_image.webp", + "/media/gary_097d/images/26_image.webp", + "/media/gary_097d/images/27_image.webp", + "/media/gary_097d/images/28_image.webp", + "/media/gary_097d/images/29_image.webp", + "/media/gary_097d/images/30_image.webp", + "/media/gary_097d/images/31_image.webp", + "/media/gary_097d/images/32_image.webp", + "/media/gary_097d/images/33_image.webp", + "/media/gary_097d/images/34_image.webp", + "/media/gary_097d/images/35_image.webp", + "/media/gary_097d/images/36_image.webp", + "/media/gary_097d/images/37_image.webp", + "/media/gary_097d/images/38_image.webp", + "/media/gary_097d/images/39_image.webp", + "/media/gary_097d/images/40_image.webp", + "/media/gary_097d/images/41_image.webp", + "/media/gary_097d/images/42_image.webp", + "/media/gary_097d/images/43_image.webp", + "/media/gary_097d/images/44_image.webp", + "/media/gary_097d/images/45_image.webp", + "/media/gary_097d/images/46_image.webp", + "/media/gary_097d/images/47_image.webp", + "/media/gary_097d/images/48_image.webp", + "/media/gary_097d/images/49_image.webp", + "/media/gary_097d/images/50_image.webp", + "/media/gary_097d/images/51_image.webp" + ], + "created_at": "2026-01-30T01:20:01.568243-07:00", + "dir_name": "gary_097d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gary_f7ff.json b/ideas/aeres/agents/gary_f7ff.json new file mode 100644 index 0000000..aae4919 --- /dev/null +++ b/ideas/aeres/agents/gary_f7ff.json @@ -0,0 +1,77 @@ +{ + "id": "gary_f7ff", + "name": "Gary Jackson", + "handle": "gary", + "gender": "male", + "description": "Shaggy from Scooby Doo", + "tags": [ + "himbo", + "urban exploration", + "gourmet sandwich making", + "rescue dogs", + "classic cartoons", + "retro gaming", + "bird watching", + "thrift store shopping" + ], + "avatar_url": "/media/gary_f7ff/avatar.webp?t=1769595424", + "banner_url": "/media/gary_f7ff/banner.webp?t=1769595411", + "videos": [ + "/media/gary_f7ff/videos/01_smile_reveal.mp4?t=1769595247" + ], + "images": [ + "/media/gary_f7ff/images/01_mid_mid_neutral.webp", + "/media/gary_f7ff/images/02_image.webp", + "/media/gary_f7ff/images/03_image.webp", + "/media/gary_f7ff/images/04_image.webp", + "/media/gary_f7ff/images/05_image.webp", + "/media/gary_f7ff/images/06_image.webp", + "/media/gary_f7ff/images/07_image.webp", + "/media/gary_f7ff/images/08_image.webp", + "/media/gary_f7ff/images/09_image.webp", + "/media/gary_f7ff/images/10_image.webp", + "/media/gary_f7ff/images/11_image.webp", + "/media/gary_f7ff/images/12_image.webp", + "/media/gary_f7ff/images/13_image.webp", + "/media/gary_f7ff/images/14_image.webp", + "/media/gary_f7ff/images/15_image.webp", + "/media/gary_f7ff/images/16_image.webp", + "/media/gary_f7ff/images/17_image.webp", + "/media/gary_f7ff/images/18_image.webp", + "/media/gary_f7ff/images/19_image.webp", + "/media/gary_f7ff/images/20_image.webp", + "/media/gary_f7ff/images/21_image.webp", + "/media/gary_f7ff/images/22_image.webp", + "/media/gary_f7ff/images/23_image.webp", + "/media/gary_f7ff/images/24_image.webp", + "/media/gary_f7ff/images/25_image.webp", + "/media/gary_f7ff/images/26_image.webp", + "/media/gary_f7ff/images/27_image.webp", + "/media/gary_f7ff/images/28_image.webp", + "/media/gary_f7ff/images/29_image.webp", + "/media/gary_f7ff/images/30_image.webp", + "/media/gary_f7ff/images/31_image.webp", + "/media/gary_f7ff/images/32_image.webp", + "/media/gary_f7ff/images/33_image.webp", + "/media/gary_f7ff/images/34_image.webp", + "/media/gary_f7ff/images/35_image.webp", + "/media/gary_f7ff/images/36_image.webp", + "/media/gary_f7ff/images/37_image.webp", + "/media/gary_f7ff/images/38_image.webp", + "/media/gary_f7ff/images/39_image.webp", + "/media/gary_f7ff/images/40_image.webp", + "/media/gary_f7ff/images/41_image.webp", + "/media/gary_f7ff/images/42_image.webp", + "/media/gary_f7ff/images/43_image.webp", + "/media/gary_f7ff/images/44_image.webp", + "/media/gary_f7ff/images/45_image.webp", + "/media/gary_f7ff/images/46_image.webp", + "/media/gary_f7ff/images/47_image.webp", + "/media/gary_f7ff/images/48_image.webp", + "/media/gary_f7ff/images/49_image.webp", + "/media/gary_f7ff/images/50_image.webp", + "/media/gary_f7ff/images/51_image.webp" + ], + "created_at": "2026-01-28T03:11:54.959009-07:00", + "dir_name": "gary_f7ff" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gene_a69d.json b/ideas/aeres/agents/gene_a69d.json new file mode 100644 index 0000000..d97daef --- /dev/null +++ b/ideas/aeres/agents/gene_a69d.json @@ -0,0 +1,77 @@ +{ + "id": "gene_a69d", + "name": "Gene Perez", + "handle": "gene", + "gender": "male", + "description": "man who is a fan of hip hop music and board games", + "tags": [ + "lifestyle", + "tabletop wargaming", + "90s boom-bap hip hop", + "sneaker collecting", + "cooking mexican-fusion", + "photography", + "urban exploration", + "basketball" + ], + "avatar_url": "/media/gene_a69d/avatar.webp?t=1769078126", + "banner_url": "/media/gene_a69d/banner.webp?t=1769078121", + "videos": [ + "/media/gene_a69d/videos/01_smile_reveal.mp4?t=1769078174" + ], + "images": [ + "/media/gene_a69d/images/01_mid_mid_neutral.webp", + "/media/gene_a69d/images/02_image.webp", + "/media/gene_a69d/images/03_image.webp", + "/media/gene_a69d/images/04_image.webp", + "/media/gene_a69d/images/05_image.webp", + "/media/gene_a69d/images/06_image.webp", + "/media/gene_a69d/images/07_image.webp", + "/media/gene_a69d/images/08_image.webp", + "/media/gene_a69d/images/09_image.webp", + "/media/gene_a69d/images/10_image.webp", + "/media/gene_a69d/images/11_image.webp", + "/media/gene_a69d/images/12_image.webp", + "/media/gene_a69d/images/13_image.webp", + "/media/gene_a69d/images/14_image.webp", + "/media/gene_a69d/images/15_image.webp", + "/media/gene_a69d/images/16_image.webp", + "/media/gene_a69d/images/17_image.webp", + "/media/gene_a69d/images/18_image.webp", + "/media/gene_a69d/images/19_image.webp", + "/media/gene_a69d/images/20_image.webp", + "/media/gene_a69d/images/21_image.webp", + "/media/gene_a69d/images/22_image.webp", + "/media/gene_a69d/images/23_image.webp", + "/media/gene_a69d/images/24_image.webp", + "/media/gene_a69d/images/25_image.webp", + "/media/gene_a69d/images/26_image.webp", + "/media/gene_a69d/images/27_image.webp", + "/media/gene_a69d/images/28_image.webp", + "/media/gene_a69d/images/29_image.webp", + "/media/gene_a69d/images/30_image.webp", + "/media/gene_a69d/images/31_image.webp", + "/media/gene_a69d/images/32_image.webp", + "/media/gene_a69d/images/33_image.webp", + "/media/gene_a69d/images/34_image.webp", + "/media/gene_a69d/images/35_image.webp", + "/media/gene_a69d/images/36_image.webp", + "/media/gene_a69d/images/37_image.webp", + "/media/gene_a69d/images/38_image.webp", + "/media/gene_a69d/images/39_image.webp", + "/media/gene_a69d/images/40_image.webp", + "/media/gene_a69d/images/41_image.webp", + "/media/gene_a69d/images/42_image.webp", + "/media/gene_a69d/images/43_image.webp", + "/media/gene_a69d/images/44_image.webp", + "/media/gene_a69d/images/45_image.webp", + "/media/gene_a69d/images/46_image.webp", + "/media/gene_a69d/images/47_image.webp", + "/media/gene_a69d/images/48_image.webp", + "/media/gene_a69d/images/49_image.webp", + "/media/gene_a69d/images/50_image.webp", + "/media/gene_a69d/images/51_image.webp" + ], + "created_at": "2026-01-22T03:34:13.811133-07:00", + "dir_name": "gene_a69d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gene_eb2a.json b/ideas/aeres/agents/gene_eb2a.json new file mode 100644 index 0000000..baa05c5 --- /dev/null +++ b/ideas/aeres/agents/gene_eb2a.json @@ -0,0 +1,82 @@ +{ + "id": "gene_eb2a", + "name": "Gene Davis", + "handle": "gene", + "gender": "male", + "description": "Darius from League of Legends", + "tags": [ + "cosplayer", + "armor smithing", + "bodybuilding", + "league of legends lore", + "practical effects", + "cooking", + "urban exploration", + "historical weaponry" + ], + "avatar_url": "/media/gene_eb2a/avatar.webp?t=1770019921", + "banner_url": "/media/gene_eb2a/banner.webp?t=1770020019", + "videos": [ + "/media/gene_eb2a/videos/01_smile_reveal.mp4?t=1770019930" + ], + "images": [ + "/media/gene_eb2a/images/01_mid_mid_neutral.webp", + "/media/gene_eb2a/images/02_image.webp", + "/media/gene_eb2a/images/03_image.webp", + "/media/gene_eb2a/images/04_image.webp", + "/media/gene_eb2a/images/05_image.webp", + "/media/gene_eb2a/images/06_image.webp", + "/media/gene_eb2a/images/07_image.webp", + "/media/gene_eb2a/images/08_image.webp", + "/media/gene_eb2a/images/09_image.webp", + "/media/gene_eb2a/images/11_image.webp", + "/media/gene_eb2a/images/12_image.webp", + "/media/gene_eb2a/images/13_image.webp", + "/media/gene_eb2a/images/14_image.webp", + "/media/gene_eb2a/images/15_image.webp", + "/media/gene_eb2a/images/16_image.webp", + "/media/gene_eb2a/images/17_image.webp", + "/media/gene_eb2a/images/18_image.webp", + "/media/gene_eb2a/images/19_image.webp", + "/media/gene_eb2a/images/20_image.webp", + "/media/gene_eb2a/images/21_image.webp", + "/media/gene_eb2a/images/22_image.webp", + "/media/gene_eb2a/images/23_image.webp", + "/media/gene_eb2a/images/24_image.webp", + "/media/gene_eb2a/images/25_image.webp", + "/media/gene_eb2a/images/26_image.webp", + "/media/gene_eb2a/images/27_image.webp", + "/media/gene_eb2a/images/28_image.webp", + "/media/gene_eb2a/images/29_image.webp", + "/media/gene_eb2a/images/30_image.webp", + "/media/gene_eb2a/images/31_image.webp", + "/media/gene_eb2a/images/32_image.webp", + "/media/gene_eb2a/images/33_image.webp", + "/media/gene_eb2a/images/34_image.webp", + "/media/gene_eb2a/images/36_image.webp", + "/media/gene_eb2a/images/37_image.webp", + "/media/gene_eb2a/images/38_image.webp", + "/media/gene_eb2a/images/39_image.webp", + "/media/gene_eb2a/images/40_image.webp", + "/media/gene_eb2a/images/41_image.webp", + "/media/gene_eb2a/images/42_image.webp", + "/media/gene_eb2a/images/43_image.webp", + "/media/gene_eb2a/images/44_image.webp", + "/media/gene_eb2a/images/46_image.webp", + "/media/gene_eb2a/images/47_image.webp", + "/media/gene_eb2a/images/48_image.webp", + "/media/gene_eb2a/images/49_image.webp", + "/media/gene_eb2a/images/50_image.webp", + "/media/gene_eb2a/images/51_image.webp", + "/media/gene_eb2a/images/52_image.webp", + "/media/gene_eb2a/images/53_image.webp", + "/media/gene_eb2a/images/54_image.webp", + "/media/gene_eb2a/images/55_image.webp", + "/media/gene_eb2a/images/56_image.webp", + "/media/gene_eb2a/images/57_image.webp", + "/media/gene_eb2a/images/58_image.webp", + "/media/gene_eb2a/images/59_image.webp" + ], + "created_at": "2026-02-02T01:10:18.412842-07:00", + "dir_name": "gene_eb2a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/geneviève_0458.json b/ideas/aeres/agents/geneviève_0458.json new file mode 100644 index 0000000..5752716 --- /dev/null +++ b/ideas/aeres/agents/geneviève_0458.json @@ -0,0 +1,74 @@ +{ + "id": "geneviève_0458", + "name": "Geneviève Dubois", + "handle": "geneviève", + "gender": "female", + "description": "gorgeous cute tennis player in wta circuit, 20 years old, from russia, white skin, finalist at Wimbledon, pictures on the court, soon to be champion, defeats serena williams in the final, tall, slender build, long legs, long blonde pony tail hair style", + "tags": [ + "the athletic one", + "grand slam history", + "nutrition and bio-hacking", + "classical architecture", + "photography", + "pilates", + "italian cinema" + ], + "avatar_url": "/media/geneviève_0458/avatar.webp?t=1769696589", + "banner_url": "/media/geneviève_0458/banner.webp?t=1769696588", + "videos": [ + "/media/geneviève_0458/videos/01_smile_reveal.mp4?t=1769696644" + ], + "images": [ + "/media/geneviève_0458/images/01_mid_mid_neutral.webp", + "/media/geneviève_0458/images/02_image.webp", + "/media/geneviève_0458/images/03_image.webp", + "/media/geneviève_0458/images/04_image.webp", + "/media/geneviève_0458/images/05_image.webp", + "/media/geneviève_0458/images/06_image.webp", + "/media/geneviève_0458/images/07_image.webp", + "/media/geneviève_0458/images/08_image.webp", + "/media/geneviève_0458/images/09_image.webp", + "/media/geneviève_0458/images/10_image.webp", + "/media/geneviève_0458/images/11_image.webp", + "/media/geneviève_0458/images/12_image.webp", + "/media/geneviève_0458/images/13_image.webp", + "/media/geneviève_0458/images/14_image.webp", + "/media/geneviève_0458/images/16_image.webp", + "/media/geneviève_0458/images/17_image.webp", + "/media/geneviève_0458/images/18_image.webp", + "/media/geneviève_0458/images/19_image.webp", + "/media/geneviève_0458/images/20_image.webp", + "/media/geneviève_0458/images/21_image.webp", + "/media/geneviève_0458/images/22_image.webp", + "/media/geneviève_0458/images/23_image.webp", + "/media/geneviève_0458/images/24_image.webp", + "/media/geneviève_0458/images/25_image.webp", + "/media/geneviève_0458/images/26_image.webp", + "/media/geneviève_0458/images/27_image.webp", + "/media/geneviève_0458/images/28_image.webp", + "/media/geneviève_0458/images/29_image.webp", + "/media/geneviève_0458/images/30_image.webp", + "/media/geneviève_0458/images/31_image.webp", + "/media/geneviève_0458/images/32_image.webp", + "/media/geneviève_0458/images/33_image.webp", + "/media/geneviève_0458/images/34_image.webp", + "/media/geneviève_0458/images/35_image.webp", + "/media/geneviève_0458/images/36_image.webp", + "/media/geneviève_0458/images/37_image.webp", + "/media/geneviève_0458/images/38_image.webp", + "/media/geneviève_0458/images/39_image.webp", + "/media/geneviève_0458/images/40_image.webp", + "/media/geneviève_0458/images/41_image.webp", + "/media/geneviève_0458/images/42_image.webp", + "/media/geneviève_0458/images/43_image.webp", + "/media/geneviève_0458/images/44_image.webp", + "/media/geneviève_0458/images/45_image.webp", + "/media/geneviève_0458/images/46_image.webp", + "/media/geneviève_0458/images/47_image.webp", + "/media/geneviève_0458/images/49_image.webp", + "/media/geneviève_0458/images/50_image.webp", + "/media/geneviève_0458/images/51_image.webp" + ], + "created_at": "2026-01-29T07:21:54.32733-07:00", + "dir_name": "geneviève_0458" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gerard_13cd.json b/ideas/aeres/agents/gerard_13cd.json new file mode 100644 index 0000000..e80e02b --- /dev/null +++ b/ideas/aeres/agents/gerard_13cd.json @@ -0,0 +1,50 @@ +{ + "id": "gerard_13cd", + "name": "Gerard Walker", + "handle": "gerard", + "gender": "male", + "description": "electrical line man, ripped, beard, muscles, whiskey lover, cat owner, jeans and a sweatshirt, grey sweatpants, gym, private pilot, builds plane models", + "tags": [ + "bear_build", + "aviation", + "scale model building", + "strength training", + "aeronautical engineering", + "jazz music", + "outdoor cooking", + "history documentaries" + ], + "avatar_url": "/media/gerard_13cd/avatar.webp?t=1769120557", + "banner_url": "/media/gerard_13cd/banner.webp?t=1769120559", + "images": [ + "/media/gerard_13cd/images/01_mid_mid_neutral.webp", + "/media/gerard_13cd/images/02_image.webp", + "/media/gerard_13cd/images/03_image.webp", + "/media/gerard_13cd/images/04_image.webp", + "/media/gerard_13cd/images/05_image.webp", + "/media/gerard_13cd/images/06_image.webp", + "/media/gerard_13cd/images/07_image.webp", + "/media/gerard_13cd/images/08_image.webp", + "/media/gerard_13cd/images/09_image.webp", + "/media/gerard_13cd/images/10_image.webp", + "/media/gerard_13cd/images/11_image.webp", + "/media/gerard_13cd/images/12_image.webp", + "/media/gerard_13cd/images/12_image.webp", + "/media/gerard_13cd/images/13_image.webp", + "/media/gerard_13cd/images/13_image.webp", + "/media/gerard_13cd/images/14_image.webp", + "/media/gerard_13cd/images/14_image.webp", + "/media/gerard_13cd/images/16_image.webp", + "/media/gerard_13cd/images/16_image.webp", + "/media/gerard_13cd/images/17_image.webp", + "/media/gerard_13cd/images/17_image.webp", + "/media/gerard_13cd/images/18_image.webp", + "/media/gerard_13cd/images/18_image.webp", + "/media/gerard_13cd/images/20_image.webp", + "/media/gerard_13cd/images/20_image.webp", + "/media/gerard_13cd/images/21_image.webp", + "/media/gerard_13cd/images/21_image.webp" + ], + "created_at": "2026-01-22T15:21:34.201551-07:00", + "dir_name": "gerard_13cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/germana_6e42.json b/ideas/aeres/agents/germana_6e42.json new file mode 100644 index 0000000..449bbbb --- /dev/null +++ b/ideas/aeres/agents/germana_6e42.json @@ -0,0 +1,74 @@ +{ + "id": "germana_6e42", + "name": "Germana Garcia", + "handle": "germana", + "gender": "female", + "description": "Evelynn from League of Legends", + "tags": [ + "dark_feminine", + "brutalist architecture", + "vintage mugler collection", + "high-performance kickboxing", + "psychological thrillers", + "astrology (as a social tool)", + "wine tasting", + "interior design" + ], + "avatar_url": "/media/germana_6e42/avatar.webp?t=1769777516", + "banner_url": "/media/germana_6e42/banner.webp?t=1769777519", + "videos": [ + "/media/germana_6e42/videos/01_smile_reveal.mp4?t=1769777605" + ], + "images": [ + "/media/germana_6e42/images/01_mid_mid_neutral.webp", + "/media/germana_6e42/images/02_image.webp", + "/media/germana_6e42/images/03_image.webp", + "/media/germana_6e42/images/04_image.webp", + "/media/germana_6e42/images/05_image.webp", + "/media/germana_6e42/images/07_image.webp", + "/media/germana_6e42/images/08_image.webp", + "/media/germana_6e42/images/09_image.webp", + "/media/germana_6e42/images/10_image.webp", + "/media/germana_6e42/images/11_image.webp", + "/media/germana_6e42/images/12_image.webp", + "/media/germana_6e42/images/13_image.webp", + "/media/germana_6e42/images/14_image.webp", + "/media/germana_6e42/images/16_image.webp", + "/media/germana_6e42/images/17_image.webp", + "/media/germana_6e42/images/18_image.webp", + "/media/germana_6e42/images/19_image.webp", + "/media/germana_6e42/images/20_image.webp", + "/media/germana_6e42/images/21_image.webp", + "/media/germana_6e42/images/22_image.webp", + "/media/germana_6e42/images/23_image.webp", + "/media/germana_6e42/images/24_image.webp", + "/media/germana_6e42/images/25_image.webp", + "/media/germana_6e42/images/26_image.webp", + "/media/germana_6e42/images/27_image.webp", + "/media/germana_6e42/images/28_image.webp", + "/media/germana_6e42/images/29_image.webp", + "/media/germana_6e42/images/30_image.webp", + "/media/germana_6e42/images/31_image.webp", + "/media/germana_6e42/images/32_image.webp", + "/media/germana_6e42/images/33_image.webp", + "/media/germana_6e42/images/34_image.webp", + "/media/germana_6e42/images/35_image.webp", + "/media/germana_6e42/images/36_image.webp", + "/media/germana_6e42/images/37_image.webp", + "/media/germana_6e42/images/38_image.webp", + "/media/germana_6e42/images/39_image.webp", + "/media/germana_6e42/images/40_image.webp", + "/media/germana_6e42/images/41_image.webp", + "/media/germana_6e42/images/42_image.webp", + "/media/germana_6e42/images/44_image.webp", + "/media/germana_6e42/images/45_image.webp", + "/media/germana_6e42/images/46_image.webp", + "/media/germana_6e42/images/47_image.webp", + "/media/germana_6e42/images/48_image.webp", + "/media/germana_6e42/images/49_image.webp", + "/media/germana_6e42/images/50_image.webp", + "/media/germana_6e42/images/51_image.webp" + ], + "created_at": "2026-01-30T05:50:49.999145-07:00", + "dir_name": "germana_6e42" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gia_khiêm_59ef.json b/ideas/aeres/agents/gia_khiêm_59ef.json new file mode 100644 index 0000000..a39c678 --- /dev/null +++ b/ideas/aeres/agents/gia_khiêm_59ef.json @@ -0,0 +1,77 @@ +{ + "id": "gia_khiêm_59ef", + "name": "Gia Khiêm Huynh", + "handle": "gia khiêm", + "gender": "male", + "description": "american male who works as a NASCAR driver", + "tags": [ + "thrill_seeker", + "precision driving", + "engine tuning", + "high-intensity interval training", + "texas bbq culture", + "urban photography", + "watch collecting", + "acoustic guitar" + ], + "avatar_url": "/media/gia_khiêm_59ef/avatar.webp?t=1769597865", + "banner_url": "/media/gia_khiêm_59ef/banner.webp?t=1769597872", + "videos": [ + "/media/gia_khiêm_59ef/videos/01_smile_reveal.mp4?t=1769597920" + ], + "images": [ + "/media/gia_khiêm_59ef/images/01_mid_mid_neutral.webp", + "/media/gia_khiêm_59ef/images/02_image.webp", + "/media/gia_khiêm_59ef/images/03_image.webp", + "/media/gia_khiêm_59ef/images/04_image.webp", + "/media/gia_khiêm_59ef/images/05_image.webp", + "/media/gia_khiêm_59ef/images/06_image.webp", + "/media/gia_khiêm_59ef/images/07_image.webp", + "/media/gia_khiêm_59ef/images/08_image.webp", + "/media/gia_khiêm_59ef/images/09_image.webp", + "/media/gia_khiêm_59ef/images/10_image.webp", + "/media/gia_khiêm_59ef/images/11_image.webp", + "/media/gia_khiêm_59ef/images/12_image.webp", + "/media/gia_khiêm_59ef/images/13_image.webp", + "/media/gia_khiêm_59ef/images/14_image.webp", + "/media/gia_khiêm_59ef/images/15_image.webp", + "/media/gia_khiêm_59ef/images/16_image.webp", + "/media/gia_khiêm_59ef/images/17_image.webp", + "/media/gia_khiêm_59ef/images/18_image.webp", + "/media/gia_khiêm_59ef/images/19_image.webp", + "/media/gia_khiêm_59ef/images/20_image.webp", + "/media/gia_khiêm_59ef/images/21_image.webp", + "/media/gia_khiêm_59ef/images/22_image.webp", + "/media/gia_khiêm_59ef/images/23_image.webp", + "/media/gia_khiêm_59ef/images/24_image.webp", + "/media/gia_khiêm_59ef/images/25_image.webp", + "/media/gia_khiêm_59ef/images/26_image.webp", + "/media/gia_khiêm_59ef/images/27_image.webp", + "/media/gia_khiêm_59ef/images/28_image.webp", + "/media/gia_khiêm_59ef/images/29_image.webp", + "/media/gia_khiêm_59ef/images/30_image.webp", + "/media/gia_khiêm_59ef/images/31_image.webp", + "/media/gia_khiêm_59ef/images/32_image.webp", + "/media/gia_khiêm_59ef/images/33_image.webp", + "/media/gia_khiêm_59ef/images/34_image.webp", + "/media/gia_khiêm_59ef/images/35_image.webp", + "/media/gia_khiêm_59ef/images/36_image.webp", + "/media/gia_khiêm_59ef/images/37_image.webp", + "/media/gia_khiêm_59ef/images/38_image.webp", + "/media/gia_khiêm_59ef/images/39_image.webp", + "/media/gia_khiêm_59ef/images/40_image.webp", + "/media/gia_khiêm_59ef/images/41_image.webp", + "/media/gia_khiêm_59ef/images/42_image.webp", + "/media/gia_khiêm_59ef/images/43_image.webp", + "/media/gia_khiêm_59ef/images/44_image.webp", + "/media/gia_khiêm_59ef/images/45_image.webp", + "/media/gia_khiêm_59ef/images/46_image.webp", + "/media/gia_khiêm_59ef/images/47_image.webp", + "/media/gia_khiêm_59ef/images/48_image.webp", + "/media/gia_khiêm_59ef/images/49_image.webp", + "/media/gia_khiêm_59ef/images/50_image.webp", + "/media/gia_khiêm_59ef/images/51_image.webp" + ], + "created_at": "2026-01-28T03:56:30.022452-07:00", + "dir_name": "gia_khiêm_59ef" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ginette_195c.json b/ideas/aeres/agents/ginette_195c.json new file mode 100644 index 0000000..6cac32a --- /dev/null +++ b/ideas/aeres/agents/ginette_195c.json @@ -0,0 +1,80 @@ +{ + "id": "ginette_195c", + "name": "Ginette Robert", + "handle": "ginette", + "gender": "female", + "description": "american female who cosplays as Liv Morgan from WWE", + "tags": [ + "cosplayer", + "professional wrestling", + "cosplay fabrication", + "weightlifting", + "punk rock history", + "video games", + "action movies", + "urban exploration" + ], + "avatar_url": "/media/ginette_195c/avatar.webp?t=1769778207", + "banner_url": "/media/ginette_195c/banner.webp?t=1769778482", + "images": [ + "/media/ginette_195c/images/01_mid_mid_neutral.webp", + "/media/ginette_195c/images/02_image.webp", + "/media/ginette_195c/images/06_image.webp", + "/media/ginette_195c/images/12_image.webp", + "/media/ginette_195c/images/13_image.webp", + "/media/ginette_195c/images/14_image.webp", + "/media/ginette_195c/images/15_image.webp", + "/media/ginette_195c/images/16_image.webp", + "/media/ginette_195c/images/17_image.webp", + "/media/ginette_195c/images/18_image.webp", + "/media/ginette_195c/images/19_image.webp", + "/media/ginette_195c/images/20_image.webp", + "/media/ginette_195c/images/22_image.webp", + "/media/ginette_195c/images/23_image.webp", + "/media/ginette_195c/images/24_image.webp", + "/media/ginette_195c/images/25_image.webp", + "/media/ginette_195c/images/26_image.webp", + "/media/ginette_195c/images/27_image.webp", + "/media/ginette_195c/images/28_image.webp", + "/media/ginette_195c/images/29_image.webp", + "/media/ginette_195c/images/30_image.webp", + "/media/ginette_195c/images/31_image.webp", + "/media/ginette_195c/images/32_image.webp", + "/media/ginette_195c/images/33_image.webp", + "/media/ginette_195c/images/34_image.webp", + "/media/ginette_195c/images/35_image.webp", + "/media/ginette_195c/images/36_image.webp", + "/media/ginette_195c/images/37_image.webp", + "/media/ginette_195c/images/38_image.webp", + "/media/ginette_195c/images/39_image.webp", + "/media/ginette_195c/images/40_image.webp", + "/media/ginette_195c/images/41_image.webp", + "/media/ginette_195c/images/42_image.webp", + "/media/ginette_195c/images/43_image.webp", + "/media/ginette_195c/images/44_image.webp", + "/media/ginette_195c/images/45_image.webp", + "/media/ginette_195c/images/46_image.webp", + "/media/ginette_195c/images/47_image.webp", + "/media/ginette_195c/images/49_image.webp", + "/media/ginette_195c/images/51_image.webp", + "/media/ginette_195c/images/52_image.webp", + "/media/ginette_195c/images/53_image.webp", + "/media/ginette_195c/images/54_image.webp", + "/media/ginette_195c/images/55_image.webp", + "/media/ginette_195c/images/56_image.webp", + "/media/ginette_195c/images/57_image.webp", + "/media/ginette_195c/images/60_image.webp", + "/media/ginette_195c/images/61_image.webp", + "/media/ginette_195c/images/58_image.webp", + "/media/ginette_195c/images/62_image.webp", + "/media/ginette_195c/images/59_image.webp", + "/media/ginette_195c/images/60_image.webp", + "/media/ginette_195c/images/61_image.webp", + "/media/ginette_195c/images/62_image.webp", + "/media/ginette_195c/images/64_image.webp", + "/media/ginette_195c/images/66_image.webp", + "/media/ginette_195c/images/67_image.webp" + ], + "created_at": "2026-01-30T06:02:06.551225-07:00", + "dir_name": "ginette_195c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/giosuè_8550.json b/ideas/aeres/agents/giosuè_8550.json new file mode 100644 index 0000000..948077b --- /dev/null +++ b/ideas/aeres/agents/giosuè_8550.json @@ -0,0 +1,76 @@ +{ + "id": "giosuè_8550", + "name": "Giosuè Rodriguez", + "handle": "giosuè", + "gender": "male", + "description": "gamer male with glasses and dreads who is a streamer", + "tags": [ + "eboy_classic", + "high-end pc building", + "experimental electronic music", + "digital photography", + "urban exploration", + "desert gardening", + "vinyl records" + ], + "avatar_url": "/media/giosuè_8550/avatar.webp?t=1770198451", + "banner_url": "/media/giosuè_8550/banner.webp?t=1770198453", + "videos": [ + "/media/giosuè_8550/videos/01_smile_reveal.mp4?t=1770198498" + ], + "images": [ + "/media/giosuè_8550/images/01_mid_mid_neutral.webp", + "/media/giosuè_8550/images/02_image.webp", + "/media/giosuè_8550/images/03_image.webp", + "/media/giosuè_8550/images/04_image.webp", + "/media/giosuè_8550/images/05_image.webp", + "/media/giosuè_8550/images/06_image.webp", + "/media/giosuè_8550/images/07_image.webp", + "/media/giosuè_8550/images/08_image.webp", + "/media/giosuè_8550/images/09_image.webp", + "/media/giosuè_8550/images/10_image.webp", + "/media/giosuè_8550/images/11_image.webp", + "/media/giosuè_8550/images/12_image.webp", + "/media/giosuè_8550/images/13_image.webp", + "/media/giosuè_8550/images/14_image.webp", + "/media/giosuè_8550/images/15_image.webp", + "/media/giosuè_8550/images/16_image.webp", + "/media/giosuè_8550/images/17_image.webp", + "/media/giosuè_8550/images/18_image.webp", + "/media/giosuè_8550/images/19_image.webp", + "/media/giosuè_8550/images/20_image.webp", + "/media/giosuè_8550/images/21_image.webp", + "/media/giosuè_8550/images/22_image.webp", + "/media/giosuè_8550/images/23_image.webp", + "/media/giosuè_8550/images/24_image.webp", + "/media/giosuè_8550/images/25_image.webp", + "/media/giosuè_8550/images/26_image.webp", + "/media/giosuè_8550/images/27_image.webp", + "/media/giosuè_8550/images/28_image.webp", + "/media/giosuè_8550/images/29_image.webp", + "/media/giosuè_8550/images/30_image.webp", + "/media/giosuè_8550/images/31_image.webp", + "/media/giosuè_8550/images/32_image.webp", + "/media/giosuè_8550/images/33_image.webp", + "/media/giosuè_8550/images/34_image.webp", + "/media/giosuè_8550/images/35_image.webp", + "/media/giosuè_8550/images/36_image.webp", + "/media/giosuè_8550/images/37_image.webp", + "/media/giosuè_8550/images/38_image.webp", + "/media/giosuè_8550/images/39_image.webp", + "/media/giosuè_8550/images/40_image.webp", + "/media/giosuè_8550/images/41_image.webp", + "/media/giosuè_8550/images/42_image.webp", + "/media/giosuè_8550/images/43_image.webp", + "/media/giosuè_8550/images/44_image.webp", + "/media/giosuè_8550/images/45_image.webp", + "/media/giosuè_8550/images/46_image.webp", + "/media/giosuè_8550/images/47_image.webp", + "/media/giosuè_8550/images/48_image.webp", + "/media/giosuè_8550/images/49_image.webp", + "/media/giosuè_8550/images/50_image.webp", + "/media/giosuè_8550/images/51_image.webp" + ], + "created_at": "2026-02-04T02:46:00.346832-07:00", + "dir_name": "giosuè_8550" +} \ No newline at end of file diff --git a/ideas/aeres/agents/giustiniano_3a90.json b/ideas/aeres/agents/giustiniano_3a90.json new file mode 100644 index 0000000..f709c1d --- /dev/null +++ b/ideas/aeres/agents/giustiniano_3a90.json @@ -0,0 +1,66 @@ +{ + "id": "giustiniano_3a90", + "name": "Giustiniano Gallo", + "handle": "giustiniano", + "gender": "male", + "description": "Rust Cohle from True Detectives", + "tags": [ + "mysterious_stranger", + "existentialist philosophy", + "true crime forensics", + "endurance running", + "jazz history", + "old cinema", + "woodworking" + ], + "avatar_url": "/media/giustiniano_3a90/avatar.webp?t=1770213276", + "banner_url": "/media/giustiniano_3a90/banner.webp?t=1770213287", + "videos": [ + "/media/giustiniano_3a90/videos/01_smile_reveal.mp4?t=1770213324" + ], + "images": [ + "/media/giustiniano_3a90/images/01_mid_mid_neutral.webp", + "/media/giustiniano_3a90/images/02_image.webp", + "/media/giustiniano_3a90/images/03_image.webp", + "/media/giustiniano_3a90/images/04_image.webp", + "/media/giustiniano_3a90/images/05_image.webp", + "/media/giustiniano_3a90/images/06_image.webp", + "/media/giustiniano_3a90/images/07_image.webp", + "/media/giustiniano_3a90/images/08_image.webp", + "/media/giustiniano_3a90/images/09_image.webp", + "/media/giustiniano_3a90/images/10_image.webp", + "/media/giustiniano_3a90/images/11_image.webp", + "/media/giustiniano_3a90/images/12_image.webp", + "/media/giustiniano_3a90/images/13_image.webp", + "/media/giustiniano_3a90/images/14_image.webp", + "/media/giustiniano_3a90/images/15_image.webp", + "/media/giustiniano_3a90/images/16_image.webp", + "/media/giustiniano_3a90/images/17_image.webp", + "/media/giustiniano_3a90/images/18_image.webp", + "/media/giustiniano_3a90/images/19_image.webp", + "/media/giustiniano_3a90/images/20_image.webp", + "/media/giustiniano_3a90/images/21_image.webp", + "/media/giustiniano_3a90/images/22_image.webp", + "/media/giustiniano_3a90/images/23_image.webp", + "/media/giustiniano_3a90/images/24_image.webp", + "/media/giustiniano_3a90/images/25_image.webp", + "/media/giustiniano_3a90/images/26_image.webp", + "/media/giustiniano_3a90/images/27_image.webp", + "/media/giustiniano_3a90/images/28_image.webp", + "/media/giustiniano_3a90/images/29_image.webp", + "/media/giustiniano_3a90/images/30_image.webp", + "/media/giustiniano_3a90/images/31_image.webp", + "/media/giustiniano_3a90/images/32_image.webp", + "/media/giustiniano_3a90/images/33_image.webp", + "/media/giustiniano_3a90/images/34_image.webp", + "/media/giustiniano_3a90/images/35_image.webp", + "/media/giustiniano_3a90/images/36_image.webp", + "/media/giustiniano_3a90/images/37_image.webp", + "/media/giustiniano_3a90/images/38_image.webp", + "/media/giustiniano_3a90/images/39_image.webp", + "/media/giustiniano_3a90/images/40_image.webp", + "/media/giustiniano_3a90/images/41_image.webp" + ], + "created_at": "2026-02-04T06:53:09.582488-07:00", + "dir_name": "giustiniano_3a90" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gladys_93f1.json b/ideas/aeres/agents/gladys_93f1.json new file mode 100644 index 0000000..267e2cf --- /dev/null +++ b/ideas/aeres/agents/gladys_93f1.json @@ -0,0 +1,75 @@ +{ + "id": "gladys_93f1", + "name": "Gladys Braun", + "handle": "gladys", + "gender": "female", + "description": "tall sexy, northern european archtype, blonde blue eyes,loves sports,age 25, professional winter sports athlete", + "tags": [ + "athletic", + "skyrunning", + "ski mountaineering", + "environmental conservation", + "high-altitude physiology", + "specialty coffee", + "adventure photography", + "minimalist architecture" + ], + "avatar_url": "/media/gladys_93f1/avatar.webp?t=1768990589", + "banner_url": "/media/gladys_93f1/banner.webp?t=1768990595", + "videos": [ + "/media/gladys_93f1/videos/01_smile_reveal.mp4?t=1768990588" + ], + "images": [ + "/media/gladys_93f1/images/01_mid_mid_neutral.webp", + "/media/gladys_93f1/images/02_image.webp", + "/media/gladys_93f1/images/03_image.webp", + "/media/gladys_93f1/images/04_image.webp", + "/media/gladys_93f1/images/05_image.webp", + "/media/gladys_93f1/images/06_image.webp", + "/media/gladys_93f1/images/07_image.webp", + "/media/gladys_93f1/images/09_image.webp", + "/media/gladys_93f1/images/10_image.webp", + "/media/gladys_93f1/images/11_image.webp", + "/media/gladys_93f1/images/12_image.webp", + "/media/gladys_93f1/images/13_image.webp", + "/media/gladys_93f1/images/14_image.webp", + "/media/gladys_93f1/images/15_image.webp", + "/media/gladys_93f1/images/16_image.webp", + "/media/gladys_93f1/images/17_image.webp", + "/media/gladys_93f1/images/18_image.webp", + "/media/gladys_93f1/images/19_image.webp", + "/media/gladys_93f1/images/20_image.webp", + "/media/gladys_93f1/images/21_image.webp", + "/media/gladys_93f1/images/22_image.webp", + "/media/gladys_93f1/images/23_image.webp", + "/media/gladys_93f1/images/24_image.webp", + "/media/gladys_93f1/images/25_image.webp", + "/media/gladys_93f1/images/26_image.webp", + "/media/gladys_93f1/images/27_image.webp", + "/media/gladys_93f1/images/28_image.webp", + "/media/gladys_93f1/images/29_image.webp", + "/media/gladys_93f1/images/30_image.webp", + "/media/gladys_93f1/images/31_image.webp", + "/media/gladys_93f1/images/32_image.webp", + "/media/gladys_93f1/images/33_image.webp", + "/media/gladys_93f1/images/34_image.webp", + "/media/gladys_93f1/images/35_image.webp", + "/media/gladys_93f1/images/36_image.webp", + "/media/gladys_93f1/images/37_image.webp", + "/media/gladys_93f1/images/38_image.webp", + "/media/gladys_93f1/images/39_image.webp", + "/media/gladys_93f1/images/40_image.webp", + "/media/gladys_93f1/images/41_image.webp", + "/media/gladys_93f1/images/42_image.webp", + "/media/gladys_93f1/images/43_image.webp", + "/media/gladys_93f1/images/44_image.webp", + "/media/gladys_93f1/images/45_image.webp", + "/media/gladys_93f1/images/46_image.webp", + "/media/gladys_93f1/images/47_image.webp", + "/media/gladys_93f1/images/48_image.webp", + "/media/gladys_93f1/images/49_image.webp", + "/media/gladys_93f1/images/50_image.webp" + ], + "created_at": "2026-01-21T03:14:28.792808-07:00", + "dir_name": "gladys_93f1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gloria_72da.json b/ideas/aeres/agents/gloria_72da.json new file mode 100644 index 0000000..e338293 --- /dev/null +++ b/ideas/aeres/agents/gloria_72da.json @@ -0,0 +1,77 @@ +{ + "id": "gloria_72da", + "name": "Gloria Thomas", + "handle": "gloria", + "gender": "female", + "description": "female who is a Family Guy fan", + "tags": [ + "girl_next_door", + "adult animation", + "character design", + "retro gaming", + "90s r\u0026b", + "yoga", + "cooking breakfast foods", + "true crime podcasts" + ], + "avatar_url": "/media/gloria_72da/avatar.webp?t=1770110206", + "banner_url": "/media/gloria_72da/banner.webp?t=1770110203", + "videos": [ + "/media/gloria_72da/videos/01_smile_reveal.mp4?t=1770110239" + ], + "images": [ + "/media/gloria_72da/images/01_mid_mid_neutral.webp", + "/media/gloria_72da/images/02_image.webp", + "/media/gloria_72da/images/03_image.webp", + "/media/gloria_72da/images/04_image.webp", + "/media/gloria_72da/images/05_image.webp", + "/media/gloria_72da/images/06_image.webp", + "/media/gloria_72da/images/07_image.webp", + "/media/gloria_72da/images/08_image.webp", + "/media/gloria_72da/images/09_image.webp", + "/media/gloria_72da/images/10_image.webp", + "/media/gloria_72da/images/11_image.webp", + "/media/gloria_72da/images/12_image.webp", + "/media/gloria_72da/images/13_image.webp", + "/media/gloria_72da/images/14_image.webp", + "/media/gloria_72da/images/15_image.webp", + "/media/gloria_72da/images/16_image.webp", + "/media/gloria_72da/images/17_image.webp", + "/media/gloria_72da/images/18_image.webp", + "/media/gloria_72da/images/19_image.webp", + "/media/gloria_72da/images/20_image.webp", + "/media/gloria_72da/images/21_image.webp", + "/media/gloria_72da/images/22_image.webp", + "/media/gloria_72da/images/23_image.webp", + "/media/gloria_72da/images/24_image.webp", + "/media/gloria_72da/images/25_image.webp", + "/media/gloria_72da/images/26_image.webp", + "/media/gloria_72da/images/27_image.webp", + "/media/gloria_72da/images/28_image.webp", + "/media/gloria_72da/images/29_image.webp", + "/media/gloria_72da/images/30_image.webp", + "/media/gloria_72da/images/31_image.webp", + "/media/gloria_72da/images/32_image.webp", + "/media/gloria_72da/images/33_image.webp", + "/media/gloria_72da/images/34_image.webp", + "/media/gloria_72da/images/35_image.webp", + "/media/gloria_72da/images/36_image.webp", + "/media/gloria_72da/images/37_image.webp", + "/media/gloria_72da/images/38_image.webp", + "/media/gloria_72da/images/39_image.webp", + "/media/gloria_72da/images/40_image.webp", + "/media/gloria_72da/images/41_image.webp", + "/media/gloria_72da/images/42_image.webp", + "/media/gloria_72da/images/43_image.webp", + "/media/gloria_72da/images/44_image.webp", + "/media/gloria_72da/images/45_image.webp", + "/media/gloria_72da/images/46_image.webp", + "/media/gloria_72da/images/47_image.webp", + "/media/gloria_72da/images/48_image.webp", + "/media/gloria_72da/images/49_image.webp", + "/media/gloria_72da/images/50_image.webp", + "/media/gloria_72da/images/51_image.webp" + ], + "created_at": "2026-02-03T02:15:11.289777-07:00", + "dir_name": "gloria_72da" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gloria_a491.json b/ideas/aeres/agents/gloria_a491.json new file mode 100644 index 0000000..08d392c --- /dev/null +++ b/ideas/aeres/agents/gloria_a491.json @@ -0,0 +1,76 @@ +{ + "id": "gloria_a491", + "name": "Gloria Williams", + "handle": "gloria", + "gender": "female", + "description": "Jewish mid 20's, kindergarten teacher, comedian, family oriented, long curly hair, comfy, funny, sweet", + "tags": [ + "girl_next_door", + "animal rescue", + "hiking", + "stand-up comedy", + "baking artisan bread", + "indoor climbing", + "thrift shopping", + "true crime podcasts" + ], + "avatar_url": "/media/gloria_a491/avatar.webp?t=1769212130", + "banner_url": "/media/gloria_a491/banner.webp?t=1769212130", + "videos": [ + "/media/gloria_a491/videos/01_smile_reveal.mp4?t=1769212155" + ], + "images": [ + "/media/gloria_a491/images/01_mid_mid_neutral.webp", + "/media/gloria_a491/images/02_image.webp", + "/media/gloria_a491/images/03_image.webp", + "/media/gloria_a491/images/04_image.webp", + "/media/gloria_a491/images/05_image.webp", + "/media/gloria_a491/images/06_image.webp", + "/media/gloria_a491/images/07_image.webp", + "/media/gloria_a491/images/08_image.webp", + "/media/gloria_a491/images/09_image.webp", + "/media/gloria_a491/images/10_image.webp", + "/media/gloria_a491/images/11_image.webp", + "/media/gloria_a491/images/12_image.webp", + "/media/gloria_a491/images/13_image.webp", + "/media/gloria_a491/images/14_image.webp", + "/media/gloria_a491/images/15_image.webp", + "/media/gloria_a491/images/16_image.webp", + "/media/gloria_a491/images/17_image.webp", + "/media/gloria_a491/images/18_image.webp", + "/media/gloria_a491/images/20_image.webp", + "/media/gloria_a491/images/21_image.webp", + "/media/gloria_a491/images/22_image.webp", + "/media/gloria_a491/images/23_image.webp", + "/media/gloria_a491/images/24_image.webp", + "/media/gloria_a491/images/25_image.webp", + "/media/gloria_a491/images/26_image.webp", + "/media/gloria_a491/images/27_image.webp", + "/media/gloria_a491/images/28_image.webp", + "/media/gloria_a491/images/29_image.webp", + "/media/gloria_a491/images/30_image.webp", + "/media/gloria_a491/images/31_image.webp", + "/media/gloria_a491/images/32_image.webp", + "/media/gloria_a491/images/33_image.webp", + "/media/gloria_a491/images/34_image.webp", + "/media/gloria_a491/images/35_image.webp", + "/media/gloria_a491/images/36_image.webp", + "/media/gloria_a491/images/37_image.webp", + "/media/gloria_a491/images/38_image.webp", + "/media/gloria_a491/images/39_image.webp", + "/media/gloria_a491/images/40_image.webp", + "/media/gloria_a491/images/41_image.webp", + "/media/gloria_a491/images/42_image.webp", + "/media/gloria_a491/images/43_image.webp", + "/media/gloria_a491/images/44_image.webp", + "/media/gloria_a491/images/45_image.webp", + "/media/gloria_a491/images/46_image.webp", + "/media/gloria_a491/images/47_image.webp", + "/media/gloria_a491/images/48_image.webp", + "/media/gloria_a491/images/49_image.webp", + "/media/gloria_a491/images/50_image.webp", + "/media/gloria_a491/images/51_image.webp" + ], + "created_at": "2026-01-23T16:47:20.764029-07:00", + "dir_name": "gloria_a491" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gloria_ba29.json b/ideas/aeres/agents/gloria_ba29.json new file mode 100644 index 0000000..361bba5 --- /dev/null +++ b/ideas/aeres/agents/gloria_ba29.json @@ -0,0 +1,80 @@ +{ + "id": "gloria_ba29", + "name": "Gloria Williams", + "handle": "gloria", + "gender": "female", + "description": "Jinx from League of Legends", + "tags": [ + "mischief_maker", + "urban exploration", + "large-scale spray painting", + "skateboarding", + "retro arcade games", + "industrial techno", + "collecting vinyl" + ], + "avatar_url": "/media/gloria_ba29/avatar.webp?t=1770026577", + "banner_url": "/media/gloria_ba29/banner.webp?t=1770026594", + "videos": [ + "/media/gloria_ba29/videos/01_smile_reveal.mp4?t=1770026459" + ], + "images": [ + "/media/gloria_ba29/images/01_mid_mid_neutral.webp", + "/media/gloria_ba29/images/02_image.webp", + "/media/gloria_ba29/images/03_image.webp", + "/media/gloria_ba29/images/04_image.webp", + "/media/gloria_ba29/images/05_image.webp", + "/media/gloria_ba29/images/06_image.webp", + "/media/gloria_ba29/images/07_image.webp", + "/media/gloria_ba29/images/08_image.webp", + "/media/gloria_ba29/images/09_image.webp", + "/media/gloria_ba29/images/11_image.webp", + "/media/gloria_ba29/images/12_image.webp", + "/media/gloria_ba29/images/14_image.webp", + "/media/gloria_ba29/images/15_image.webp", + "/media/gloria_ba29/images/16_image.webp", + "/media/gloria_ba29/images/17_image.webp", + "/media/gloria_ba29/images/18_image.webp", + "/media/gloria_ba29/images/19_image.webp", + "/media/gloria_ba29/images/20_image.webp", + "/media/gloria_ba29/images/21_image.webp", + "/media/gloria_ba29/images/22_image.webp", + "/media/gloria_ba29/images/23_image.webp", + "/media/gloria_ba29/images/24_image.webp", + "/media/gloria_ba29/images/25_image.webp", + "/media/gloria_ba29/images/26_image.webp", + "/media/gloria_ba29/images/27_image.webp", + "/media/gloria_ba29/images/28_image.webp", + "/media/gloria_ba29/images/29_image.webp", + "/media/gloria_ba29/images/30_image.webp", + "/media/gloria_ba29/images/31_image.webp", + "/media/gloria_ba29/images/32_image.webp", + "/media/gloria_ba29/images/33_image.webp", + "/media/gloria_ba29/images/34_image.webp", + "/media/gloria_ba29/images/35_image.webp", + "/media/gloria_ba29/images/36_image.webp", + "/media/gloria_ba29/images/37_image.webp", + "/media/gloria_ba29/images/38_image.webp", + "/media/gloria_ba29/images/39_image.webp", + "/media/gloria_ba29/images/40_image.webp", + "/media/gloria_ba29/images/41_image.webp", + "/media/gloria_ba29/images/42_image.webp", + "/media/gloria_ba29/images/43_image.webp", + "/media/gloria_ba29/images/44_image.webp", + "/media/gloria_ba29/images/45_image.webp", + "/media/gloria_ba29/images/46_image.webp", + "/media/gloria_ba29/images/47_image.webp", + "/media/gloria_ba29/images/48_image.webp", + "/media/gloria_ba29/images/49_image.webp", + "/media/gloria_ba29/images/50_image.webp", + "/media/gloria_ba29/images/51_image.webp", + "/media/gloria_ba29/images/53_image.webp", + "/media/gloria_ba29/images/54_image.webp", + "/media/gloria_ba29/images/55_image.webp", + "/media/gloria_ba29/images/56_image.webp", + "/media/gloria_ba29/images/57_image.webp", + "/media/gloria_ba29/images/58_image.webp" + ], + "created_at": "2026-02-02T02:56:15.811473-07:00", + "dir_name": "gloria_ba29" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gloria_cc3e.json b/ideas/aeres/agents/gloria_cc3e.json new file mode 100644 index 0000000..cc9b091 --- /dev/null +++ b/ideas/aeres/agents/gloria_cc3e.json @@ -0,0 +1,74 @@ +{ + "id": "gloria_cc3e", + "name": "Gloria Williams", + "handle": "gloria", + "gender": "female", + "description": "female from France who is a late night show host", + "tags": [ + "boss_babe", + "investigative journalism", + "couture fashion", + "tennis", + "interior design", + "wine tasting", + "historical biographies", + "sailing" + ], + "avatar_url": "/media/gloria_cc3e/avatar.webp?t=1770040728", + "banner_url": "/media/gloria_cc3e/banner.webp?t=1770040718", + "videos": [ + "/media/gloria_cc3e/videos/01_smile_reveal.mp4?t=1770040764" + ], + "images": [ + "/media/gloria_cc3e/images/01_mid_mid_neutral.webp", + "/media/gloria_cc3e/images/02_image.webp", + "/media/gloria_cc3e/images/03_image.webp", + "/media/gloria_cc3e/images/04_image.webp", + "/media/gloria_cc3e/images/05_image.webp", + "/media/gloria_cc3e/images/06_image.webp", + "/media/gloria_cc3e/images/07_image.webp", + "/media/gloria_cc3e/images/08_image.webp", + "/media/gloria_cc3e/images/09_image.webp", + "/media/gloria_cc3e/images/10_image.webp", + "/media/gloria_cc3e/images/13_image.webp", + "/media/gloria_cc3e/images/14_image.webp", + "/media/gloria_cc3e/images/15_image.webp", + "/media/gloria_cc3e/images/16_image.webp", + "/media/gloria_cc3e/images/17_image.webp", + "/media/gloria_cc3e/images/18_image.webp", + "/media/gloria_cc3e/images/19_image.webp", + "/media/gloria_cc3e/images/20_image.webp", + "/media/gloria_cc3e/images/21_image.webp", + "/media/gloria_cc3e/images/22_image.webp", + "/media/gloria_cc3e/images/23_image.webp", + "/media/gloria_cc3e/images/24_image.webp", + "/media/gloria_cc3e/images/25_image.webp", + "/media/gloria_cc3e/images/26_image.webp", + "/media/gloria_cc3e/images/27_image.webp", + "/media/gloria_cc3e/images/28_image.webp", + "/media/gloria_cc3e/images/29_image.webp", + "/media/gloria_cc3e/images/30_image.webp", + "/media/gloria_cc3e/images/31_image.webp", + "/media/gloria_cc3e/images/32_image.webp", + "/media/gloria_cc3e/images/33_image.webp", + "/media/gloria_cc3e/images/34_image.webp", + "/media/gloria_cc3e/images/35_image.webp", + "/media/gloria_cc3e/images/36_image.webp", + "/media/gloria_cc3e/images/37_image.webp", + "/media/gloria_cc3e/images/38_image.webp", + "/media/gloria_cc3e/images/39_image.webp", + "/media/gloria_cc3e/images/40_image.webp", + "/media/gloria_cc3e/images/41_image.webp", + "/media/gloria_cc3e/images/42_image.webp", + "/media/gloria_cc3e/images/43_image.webp", + "/media/gloria_cc3e/images/44_image.webp", + "/media/gloria_cc3e/images/45_image.webp", + "/media/gloria_cc3e/images/46_image.webp", + "/media/gloria_cc3e/images/47_image.webp", + "/media/gloria_cc3e/images/48_image.webp", + "/media/gloria_cc3e/images/49_image.webp", + "/media/gloria_cc3e/images/50_image.webp" + ], + "created_at": "2026-02-02T06:57:08.85658-07:00", + "dir_name": "gloria_cc3e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/gloria_d4b6.json b/ideas/aeres/agents/gloria_d4b6.json new file mode 100644 index 0000000..c860cb7 --- /dev/null +++ b/ideas/aeres/agents/gloria_d4b6.json @@ -0,0 +1,81 @@ +{ + "id": "gloria_d4b6", + "name": "Gloria Williams", + "handle": "gloria", + "gender": "female", + "description": "red haired female with glasses and braces who does stand up comedy", + "tags": [ + "social_butterfly", + "improv comedy", + "collecting vintage eyewear", + "urban exploration", + "podcasting about niche history", + "vegetarian cooking", + "roller skating", + "indie video games" + ], + "avatar_url": "/media/gloria_d4b6/avatar.webp?t=1770017745", + "banner_url": "/media/gloria_d4b6/banner.webp?t=1770018141", + "videos": [ + "/media/gloria_d4b6/videos/01_smile_reveal.mp4?t=1770017769" + ], + "images": [ + "/media/gloria_d4b6/images/01_mid_mid_neutral.webp", + "/media/gloria_d4b6/images/02_image.webp", + "/media/gloria_d4b6/images/03_image.webp", + "/media/gloria_d4b6/images/04_image.webp", + "/media/gloria_d4b6/images/05_image.webp", + "/media/gloria_d4b6/images/06_image.webp", + "/media/gloria_d4b6/images/07_image.webp", + "/media/gloria_d4b6/images/08_image.webp", + "/media/gloria_d4b6/images/09_image.webp", + "/media/gloria_d4b6/images/10_image.webp", + "/media/gloria_d4b6/images/11_image.webp", + "/media/gloria_d4b6/images/12_image.webp", + "/media/gloria_d4b6/images/13_image.webp", + "/media/gloria_d4b6/images/14_image.webp", + "/media/gloria_d4b6/images/15_image.webp", + "/media/gloria_d4b6/images/16_image.webp", + "/media/gloria_d4b6/images/17_image.webp", + "/media/gloria_d4b6/images/18_image.webp", + "/media/gloria_d4b6/images/19_image.webp", + "/media/gloria_d4b6/images/20_image.webp", + "/media/gloria_d4b6/images/21_image.webp", + "/media/gloria_d4b6/images/22_image.webp", + "/media/gloria_d4b6/images/23_image.webp", + "/media/gloria_d4b6/images/24_image.webp", + "/media/gloria_d4b6/images/25_image.webp", + "/media/gloria_d4b6/images/26_image.webp", + "/media/gloria_d4b6/images/27_image.webp", + "/media/gloria_d4b6/images/28_image.webp", + "/media/gloria_d4b6/images/29_image.webp", + "/media/gloria_d4b6/images/30_image.webp", + "/media/gloria_d4b6/images/31_image.webp", + "/media/gloria_d4b6/images/32_image.webp", + "/media/gloria_d4b6/images/33_image.webp", + "/media/gloria_d4b6/images/34_image.webp", + "/media/gloria_d4b6/images/35_image.webp", + "/media/gloria_d4b6/images/36_image.webp", + "/media/gloria_d4b6/images/37_image.webp", + "/media/gloria_d4b6/images/39_image.webp", + "/media/gloria_d4b6/images/40_image.webp", + "/media/gloria_d4b6/images/41_image.webp", + "/media/gloria_d4b6/images/42_image.webp", + "/media/gloria_d4b6/images/43_image.webp", + "/media/gloria_d4b6/images/44_image.webp", + "/media/gloria_d4b6/images/45_image.webp", + "/media/gloria_d4b6/images/46_image.webp", + "/media/gloria_d4b6/images/47_image.webp", + "/media/gloria_d4b6/images/48_image.webp", + "/media/gloria_d4b6/images/49_image.webp", + "/media/gloria_d4b6/images/50_image.webp", + "/media/gloria_d4b6/images/51_image.webp", + "/media/gloria_d4b6/images/53_image.webp", + "/media/gloria_d4b6/images/54_image.webp", + "/media/gloria_d4b6/images/55_image.webp", + "/media/gloria_d4b6/images/56_image.webp", + "/media/gloria_d4b6/images/57_image.webp" + ], + "created_at": "2026-02-02T00:34:09.808962-07:00", + "dir_name": "gloria_d4b6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/grace_1838.json b/ideas/aeres/agents/grace_1838.json new file mode 100644 index 0000000..e3f8bbf --- /dev/null +++ b/ideas/aeres/agents/grace_1838.json @@ -0,0 +1,80 @@ +{ + "id": "grace_1838", + "name": "Grace Williams", + "handle": "grace", + "gender": "female", + "description": "Fiora from League of Legends", + "tags": [ + "cosplayer", + "hema (historical european martial arts)", + "leatherworking", + "historical accuracy in fiction", + "grand opera", + "interior design", + "archery", + "fine wine" + ], + "avatar_url": "/media/grace_1838/avatar.webp?t=1770029088", + "banner_url": "/media/grace_1838/banner.webp?t=1770029095", + "videos": [ + "/media/grace_1838/videos/01_smile_reveal.mp4?t=1770028980" + ], + "images": [ + "/media/grace_1838/images/01_mid_mid_neutral.webp", + "/media/grace_1838/images/02_image.webp", + "/media/grace_1838/images/03_image.webp", + "/media/grace_1838/images/04_image.webp", + "/media/grace_1838/images/05_image.webp", + "/media/grace_1838/images/07_image.webp", + "/media/grace_1838/images/08_image.webp", + "/media/grace_1838/images/09_image.webp", + "/media/grace_1838/images/10_image.webp", + "/media/grace_1838/images/11_image.webp", + "/media/grace_1838/images/12_image.webp", + "/media/grace_1838/images/13_image.webp", + "/media/grace_1838/images/14_image.webp", + "/media/grace_1838/images/15_image.webp", + "/media/grace_1838/images/16_image.webp", + "/media/grace_1838/images/17_image.webp", + "/media/grace_1838/images/18_image.webp", + "/media/grace_1838/images/19_image.webp", + "/media/grace_1838/images/20_image.webp", + "/media/grace_1838/images/21_image.webp", + "/media/grace_1838/images/22_image.webp", + "/media/grace_1838/images/23_image.webp", + "/media/grace_1838/images/24_image.webp", + "/media/grace_1838/images/25_image.webp", + "/media/grace_1838/images/26_image.webp", + "/media/grace_1838/images/27_image.webp", + "/media/grace_1838/images/28_image.webp", + "/media/grace_1838/images/29_image.webp", + "/media/grace_1838/images/30_image.webp", + "/media/grace_1838/images/31_image.webp", + "/media/grace_1838/images/32_image.webp", + "/media/grace_1838/images/33_image.webp", + "/media/grace_1838/images/34_image.webp", + "/media/grace_1838/images/35_image.webp", + "/media/grace_1838/images/36_image.webp", + "/media/grace_1838/images/37_image.webp", + "/media/grace_1838/images/39_image.webp", + "/media/grace_1838/images/40_image.webp", + "/media/grace_1838/images/41_image.webp", + "/media/grace_1838/images/43_image.webp", + "/media/grace_1838/images/44_image.webp", + "/media/grace_1838/images/45_image.webp", + "/media/grace_1838/images/46_image.webp", + "/media/grace_1838/images/47_image.webp", + "/media/grace_1838/images/49_image.webp", + "/media/grace_1838/images/50_image.webp", + "/media/grace_1838/images/51_image.webp", + "/media/grace_1838/images/53_image.webp", + "/media/grace_1838/images/54_image.webp", + "/media/grace_1838/images/55_image.webp", + "/media/grace_1838/images/56_image.webp", + "/media/grace_1838/images/57_image.webp", + "/media/grace_1838/images/58_image.webp", + "/media/grace_1838/images/59_image.webp" + ], + "created_at": "2026-02-02T03:37:38.580178-07:00", + "dir_name": "grace_1838" +} \ No newline at end of file diff --git a/ideas/aeres/agents/grace_98f2.json b/ideas/aeres/agents/grace_98f2.json new file mode 100644 index 0000000..0154046 --- /dev/null +++ b/ideas/aeres/agents/grace_98f2.json @@ -0,0 +1,63 @@ +{ + "id": "grace_98f2", + "name": "Grace Brown", + "handle": "grace", + "gender": "female", + "description": "short, curvy, voluptuous, large breasts, bratty, auburn hair, sexy, flirty, loves americana music and rock, wears big boots so she is taller, tiny waist, short skirts, photographer, poly relationship", + "tags": [ + "brat_energy", + "35mm photography", + "americana rock", + "vintage fashion", + "interior design", + "pilates", + "surfing (for the aesthetic)", + "true crime podcasts" + ], + "avatar_url": "/media/grace_98f2/avatar.webp?t=1769122550", + "banner_url": "/media/grace_98f2/banner.webp?t=1769122559", + "images": [ + "/media/grace_98f2/images/01_mid_mid_neutral.webp", + "/media/grace_98f2/images/02_image.webp", + "/media/grace_98f2/images/03_image.webp", + "/media/grace_98f2/images/04_image.webp", + "/media/grace_98f2/images/05_image.webp", + "/media/grace_98f2/images/06_image.webp", + "/media/grace_98f2/images/07_image.webp", + "/media/grace_98f2/images/08_image.webp", + "/media/grace_98f2/images/09_image.webp", + "/media/grace_98f2/images/10_image.webp", + "/media/grace_98f2/images/11_image.webp", + "/media/grace_98f2/images/12_image.webp", + "/media/grace_98f2/images/13_image.webp", + "/media/grace_98f2/images/14_image.webp", + "/media/grace_98f2/images/15_image.webp", + "/media/grace_98f2/images/16_image.webp", + "/media/grace_98f2/images/17_image.webp", + "/media/grace_98f2/images/18_image.webp", + "/media/grace_98f2/images/19_image.webp", + "/media/grace_98f2/images/20_image.webp", + "/media/grace_98f2/images/21_image.webp", + "/media/grace_98f2/images/22_image.webp", + "/media/grace_98f2/images/22_image.webp", + "/media/grace_98f2/images/23_image.webp", + "/media/grace_98f2/images/23_image.webp", + "/media/grace_98f2/images/24_image.webp", + "/media/grace_98f2/images/24_image.webp", + "/media/grace_98f2/images/25_image.webp", + "/media/grace_98f2/images/25_image.webp", + "/media/grace_98f2/images/26_image.webp", + "/media/grace_98f2/images/27_image.webp", + "/media/grace_98f2/images/28_image.webp", + "/media/grace_98f2/images/27_image.webp", + "/media/grace_98f2/images/29_image.webp", + "/media/grace_98f2/images/28_image.webp", + "/media/grace_98f2/images/30_image.webp", + "/media/grace_98f2/images/29_image.webp", + "/media/grace_98f2/images/31_image.webp", + "/media/grace_98f2/images/30_image.webp", + "/media/grace_98f2/images/31_image.webp" + ], + "created_at": "2026-01-22T15:54:47.271475-07:00", + "dir_name": "grace_98f2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/griffin_388a.json b/ideas/aeres/agents/griffin_388a.json new file mode 100644 index 0000000..026e50b --- /dev/null +++ b/ideas/aeres/agents/griffin_388a.json @@ -0,0 +1,77 @@ +{ + "id": "griffin_388a", + "name": "Griffin Johnson", + "handle": "griffin", + "gender": "male", + "description": "20 year old white man, scrawny, loves bad movies, wears jeans and t-shirts, introverted, pessimistic", + "tags": [ + "soft_boy", + "analog photography", + "french new wave cinema", + "70s folk music", + "collecting vintage paperbacks", + "indoor gardening", + "retro gaming", + "urban exploration (quiet buildings only)" + ], + "avatar_url": "/media/griffin_388a/avatar.webp?t=1769124588", + "banner_url": "/media/griffin_388a/banner.webp?t=1769124942", + "videos": [ + "/media/griffin_388a/videos/01_smile_reveal.mp4?t=1769155947" + ], + "images": [ + "/media/griffin_388a/images/01_mid_mid_neutral.webp", + "/media/griffin_388a/images/02_image.webp", + "/media/griffin_388a/images/03_image.webp", + "/media/griffin_388a/images/04_image.webp", + "/media/griffin_388a/images/05_image.webp", + "/media/griffin_388a/images/06_image.webp", + "/media/griffin_388a/images/07_image.webp", + "/media/griffin_388a/images/08_image.webp", + "/media/griffin_388a/images/09_image.webp", + "/media/griffin_388a/images/10_image.webp", + "/media/griffin_388a/images/11_image.webp", + "/media/griffin_388a/images/12_image.webp", + "/media/griffin_388a/images/13_image.webp", + "/media/griffin_388a/images/14_image.webp", + "/media/griffin_388a/images/15_image.webp", + "/media/griffin_388a/images/16_image.webp", + "/media/griffin_388a/images/17_image.webp", + "/media/griffin_388a/images/18_image.webp", + "/media/griffin_388a/images/19_image.webp", + "/media/griffin_388a/images/20_image.webp", + "/media/griffin_388a/images/21_image.webp", + "/media/griffin_388a/images/22_image.webp", + "/media/griffin_388a/images/23_image.webp", + "/media/griffin_388a/images/24_image.webp", + "/media/griffin_388a/images/25_image.webp", + "/media/griffin_388a/images/26_image.webp", + "/media/griffin_388a/images/27_image.webp", + "/media/griffin_388a/images/28_image.webp", + "/media/griffin_388a/images/29_image.webp", + "/media/griffin_388a/images/30_image.webp", + "/media/griffin_388a/images/31_image.webp", + "/media/griffin_388a/images/32_image.webp", + "/media/griffin_388a/images/33_image.webp", + "/media/griffin_388a/images/34_image.webp", + "/media/griffin_388a/images/35_image.webp", + "/media/griffin_388a/images/36_image.webp", + "/media/griffin_388a/images/37_image.webp", + "/media/griffin_388a/images/38_image.webp", + "/media/griffin_388a/images/39_image.webp", + "/media/griffin_388a/images/40_image.webp", + "/media/griffin_388a/images/41_image.webp", + "/media/griffin_388a/images/42_image.webp", + "/media/griffin_388a/images/43_image.webp", + "/media/griffin_388a/images/44_image.webp", + "/media/griffin_388a/images/45_image.webp", + "/media/griffin_388a/images/46_image.webp", + "/media/griffin_388a/images/47_image.webp", + "/media/griffin_388a/images/48_image.webp", + "/media/griffin_388a/images/49_image.webp", + "/media/griffin_388a/images/50_image.webp", + "/media/griffin_388a/images/51_image.webp" + ], + "created_at": "2026-01-22T16:28:47.973832-07:00", + "dir_name": "griffin_388a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/guadalupe_60ab.json b/ideas/aeres/agents/guadalupe_60ab.json new file mode 100644 index 0000000..2b3d4b6 --- /dev/null +++ b/ideas/aeres/agents/guadalupe_60ab.json @@ -0,0 +1,77 @@ +{ + "id": "guadalupe_60ab", + "name": "Guadalupe Martinez", + "handle": "guadalupe", + "gender": "female", + "description": "latina gamer girl who plays chess", + "tags": [ + "gamer_girl", + "competitive chess", + "fps games", + "mechanical keyboards", + "game theory", + "specialty coffee", + "sci-fi literature", + "cyberpunk cinema" + ], + "avatar_url": "/media/guadalupe_60ab/avatar.webp?t=1769429738", + "banner_url": "/media/guadalupe_60ab/banner.webp?t=1769429748", + "videos": [ + "/media/guadalupe_60ab/videos/01_smile_reveal.mp4?t=1769429780" + ], + "images": [ + "/media/guadalupe_60ab/images/01_mid_mid_neutral.webp", + "/media/guadalupe_60ab/images/02_image.webp", + "/media/guadalupe_60ab/images/03_image.webp", + "/media/guadalupe_60ab/images/04_image.webp", + "/media/guadalupe_60ab/images/05_image.webp", + "/media/guadalupe_60ab/images/06_image.webp", + "/media/guadalupe_60ab/images/07_image.webp", + "/media/guadalupe_60ab/images/08_image.webp", + "/media/guadalupe_60ab/images/09_image.webp", + "/media/guadalupe_60ab/images/10_image.webp", + "/media/guadalupe_60ab/images/11_image.webp", + "/media/guadalupe_60ab/images/12_image.webp", + "/media/guadalupe_60ab/images/13_image.webp", + "/media/guadalupe_60ab/images/14_image.webp", + "/media/guadalupe_60ab/images/15_image.webp", + "/media/guadalupe_60ab/images/16_image.webp", + "/media/guadalupe_60ab/images/17_image.webp", + "/media/guadalupe_60ab/images/18_image.webp", + "/media/guadalupe_60ab/images/19_image.webp", + "/media/guadalupe_60ab/images/20_image.webp", + "/media/guadalupe_60ab/images/21_image.webp", + "/media/guadalupe_60ab/images/22_image.webp", + "/media/guadalupe_60ab/images/23_image.webp", + "/media/guadalupe_60ab/images/24_image.webp", + "/media/guadalupe_60ab/images/25_image.webp", + "/media/guadalupe_60ab/images/26_image.webp", + "/media/guadalupe_60ab/images/27_image.webp", + "/media/guadalupe_60ab/images/28_image.webp", + "/media/guadalupe_60ab/images/29_image.webp", + "/media/guadalupe_60ab/images/30_image.webp", + "/media/guadalupe_60ab/images/31_image.webp", + "/media/guadalupe_60ab/images/32_image.webp", + "/media/guadalupe_60ab/images/33_image.webp", + "/media/guadalupe_60ab/images/34_image.webp", + "/media/guadalupe_60ab/images/35_image.webp", + "/media/guadalupe_60ab/images/36_image.webp", + "/media/guadalupe_60ab/images/37_image.webp", + "/media/guadalupe_60ab/images/38_image.webp", + "/media/guadalupe_60ab/images/39_image.webp", + "/media/guadalupe_60ab/images/40_image.webp", + "/media/guadalupe_60ab/images/41_image.webp", + "/media/guadalupe_60ab/images/42_image.webp", + "/media/guadalupe_60ab/images/43_image.webp", + "/media/guadalupe_60ab/images/44_image.webp", + "/media/guadalupe_60ab/images/45_image.webp", + "/media/guadalupe_60ab/images/46_image.webp", + "/media/guadalupe_60ab/images/47_image.webp", + "/media/guadalupe_60ab/images/48_image.webp", + "/media/guadalupe_60ab/images/49_image.webp", + "/media/guadalupe_60ab/images/50_image.webp", + "/media/guadalupe_60ab/images/51_image.webp" + ], + "created_at": "2026-01-26T05:14:31.364568-07:00", + "dir_name": "guadalupe_60ab" +} \ No newline at end of file diff --git a/ideas/aeres/agents/guiberto_5c35.json b/ideas/aeres/agents/guiberto_5c35.json new file mode 100644 index 0000000..5a96acc --- /dev/null +++ b/ideas/aeres/agents/guiberto_5c35.json @@ -0,0 +1,76 @@ +{ + "id": "guiberto_5c35", + "name": "Guiberto Garcia", + "handle": "guiberto", + "gender": "male", + "description": "hispanic man who works as a surgeon", + "tags": [ + "lifestyle", + "anatomy", + "functional fitness", + "horology", + "sailing", + "spanish guitar", + "espresso craft", + "architecture" + ], + "avatar_url": "/media/guiberto_5c35/avatar.webp?t=1769091870", + "banner_url": "/media/guiberto_5c35/banner.webp?t=1769091876", + "videos": [ + "/media/guiberto_5c35/videos/01_smile_reveal.mp4?t=1769091902" + ], + "images": [ + "/media/guiberto_5c35/images/01_mid_mid_neutral.webp", + "/media/guiberto_5c35/images/02_image.webp", + "/media/guiberto_5c35/images/03_image.webp", + "/media/guiberto_5c35/images/04_image.webp", + "/media/guiberto_5c35/images/05_image.webp", + "/media/guiberto_5c35/images/06_image.webp", + "/media/guiberto_5c35/images/07_image.webp", + "/media/guiberto_5c35/images/08_image.webp", + "/media/guiberto_5c35/images/09_image.webp", + "/media/guiberto_5c35/images/10_image.webp", + "/media/guiberto_5c35/images/11_image.webp", + "/media/guiberto_5c35/images/12_image.webp", + "/media/guiberto_5c35/images/13_image.webp", + "/media/guiberto_5c35/images/14_image.webp", + "/media/guiberto_5c35/images/15_image.webp", + "/media/guiberto_5c35/images/16_image.webp", + "/media/guiberto_5c35/images/17_image.webp", + "/media/guiberto_5c35/images/18_image.webp", + "/media/guiberto_5c35/images/19_image.webp", + "/media/guiberto_5c35/images/20_image.webp", + "/media/guiberto_5c35/images/21_image.webp", + "/media/guiberto_5c35/images/22_image.webp", + "/media/guiberto_5c35/images/23_image.webp", + "/media/guiberto_5c35/images/24_image.webp", + "/media/guiberto_5c35/images/25_image.webp", + "/media/guiberto_5c35/images/26_image.webp", + "/media/guiberto_5c35/images/27_image.webp", + "/media/guiberto_5c35/images/28_image.webp", + "/media/guiberto_5c35/images/29_image.webp", + "/media/guiberto_5c35/images/30_image.webp", + "/media/guiberto_5c35/images/31_image.webp", + "/media/guiberto_5c35/images/32_image.webp", + "/media/guiberto_5c35/images/33_image.webp", + "/media/guiberto_5c35/images/34_image.webp", + "/media/guiberto_5c35/images/35_image.webp", + "/media/guiberto_5c35/images/36_image.webp", + "/media/guiberto_5c35/images/37_image.webp", + "/media/guiberto_5c35/images/39_image.webp", + "/media/guiberto_5c35/images/40_image.webp", + "/media/guiberto_5c35/images/41_image.webp", + "/media/guiberto_5c35/images/42_image.webp", + "/media/guiberto_5c35/images/43_image.webp", + "/media/guiberto_5c35/images/44_image.webp", + "/media/guiberto_5c35/images/45_image.webp", + "/media/guiberto_5c35/images/46_image.webp", + "/media/guiberto_5c35/images/47_image.webp", + "/media/guiberto_5c35/images/48_image.webp", + "/media/guiberto_5c35/images/49_image.webp", + "/media/guiberto_5c35/images/50_image.webp", + "/media/guiberto_5c35/images/51_image.webp" + ], + "created_at": "2026-01-22T07:23:06.897112-07:00", + "dir_name": "guiberto_5c35" +} \ No newline at end of file diff --git a/ideas/aeres/agents/haitang_49d4.json b/ideas/aeres/agents/haitang_49d4.json new file mode 100644 index 0000000..c0cd851 --- /dev/null +++ b/ideas/aeres/agents/haitang_49d4.json @@ -0,0 +1,75 @@ +{ + "id": "haitang_49d4", + "name": "Haitang Sun", + "handle": "haitang", + "gender": "female", + "description": "caucasian attractive woman in her 30", + "tags": [ + "the lifestyle", + "sustainable architecture", + "ceramics", + "california viticulture", + "urban hiking", + "podcast hosting", + "astrophotography", + "interior styling" + ], + "avatar_url": "/media/haitang_49d4/avatar.webp", + "banner_url": "/media/haitang_49d4/banner.webp", + "images": [ + "/media/haitang_49d4/images/01_mid_mid_neutral.webp", + "/media/haitang_49d4/images/06_close_high_tongue_out.webp", + "/media/haitang_49d4/images/02_close_high_smiling.webp", + "/media/haitang_49d4/images/03_mid_mid_smiling.webp", + "/media/haitang_49d4/images/04_mid_low_neutral.webp", + "/media/haitang_49d4/images/05_full_mid_neutral.webp", + "/media/haitang_49d4/images/07_mid_low_flirty.webp", + "/media/haitang_49d4/images/08_close_mid_lip_bite.webp", + "/media/haitang_49d4/images/02_close_high_smiling.webp", + "/media/haitang_49d4/images/03_mid_mid_smiling.webp", + "/media/haitang_49d4/images/09_image.webp", + "/media/haitang_49d4/images/10_image.webp", + "/media/haitang_49d4/images/11_image.webp", + "/media/haitang_49d4/images/12_image.webp", + "/media/haitang_49d4/images/13_image.webp", + "/media/haitang_49d4/images/14_image.webp", + "/media/haitang_49d4/images/15_image.webp", + "/media/haitang_49d4/images/16_image.webp", + "/media/haitang_49d4/images/17_image.webp", + "/media/haitang_49d4/images/18_image.webp", + "/media/haitang_49d4/images/19_image.webp", + "/media/haitang_49d4/images/20_image.webp", + "/media/haitang_49d4/images/21_image.webp", + "/media/haitang_49d4/images/22_image.webp", + "/media/haitang_49d4/images/23_image.webp", + "/media/haitang_49d4/images/24_image.webp", + "/media/haitang_49d4/images/25_image.webp", + "/media/haitang_49d4/images/26_image.webp", + "/media/haitang_49d4/images/27_image.webp", + "/media/haitang_49d4/images/28_image.webp", + "/media/haitang_49d4/images/29_image.webp", + "/media/haitang_49d4/images/30_image.webp", + "/media/haitang_49d4/images/31_image.webp", + "/media/haitang_49d4/images/32_image.webp", + "/media/haitang_49d4/images/33_image.webp", + "/media/haitang_49d4/images/34_image.webp", + "/media/haitang_49d4/images/35_image.webp", + "/media/haitang_49d4/images/36_image.webp", + "/media/haitang_49d4/images/37_image.webp", + "/media/haitang_49d4/images/38_image.webp", + "/media/haitang_49d4/images/39_image.webp", + "/media/haitang_49d4/images/40_image.webp", + "/media/haitang_49d4/images/41_image.webp", + "/media/haitang_49d4/images/42_image.webp", + "/media/haitang_49d4/images/43_image.webp", + "/media/haitang_49d4/images/44_image.webp", + "/media/haitang_49d4/images/45_image.webp", + "/media/haitang_49d4/images/46_image.webp", + "/media/haitang_49d4/images/47_image.webp", + "/media/haitang_49d4/images/48_image.webp", + "/media/haitang_49d4/images/49_image.webp", + "/media/haitang_49d4/images/50_image.webp" + ], + "created_at": "2026-01-21T01:37:07.288415-07:00", + "dir_name": "haitang_49d4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/haitham_6fbb.json b/ideas/aeres/agents/haitham_6fbb.json new file mode 100644 index 0000000..b79d33b --- /dev/null +++ b/ideas/aeres/agents/haitham_6fbb.json @@ -0,0 +1,78 @@ +{ + "id": "haitham_6fbb", + "name": "Haitham Ali", + "handle": "haitham", + "gender": "male", + "description": "arabian middle eastern prince, billionaire, has racing cars, lives a style of luxury, owns a private jet, has more money that he can spend", + "tags": [ + "influencer_lifestyle", + "horology", + "aerodynamic design", + "rare car collecting", + "equestrian sports", + "contemporary art", + "padel tennis", + "deep-sea diving" + ], + "avatar_url": "/media/haitham_6fbb/avatar.webp?t=1769154336", + "banner_url": "/media/haitham_6fbb/banner.webp?t=1769154337", + "videos": [ + "/media/haitham_6fbb/videos/01_smile_reveal.mp4?t=1769154367", + "/media/haitham_6fbb/videos/02_personality_moment.mp4?t=1769154718" + ], + "images": [ + "/media/haitham_6fbb/images/01_mid_mid_neutral.webp", + "/media/haitham_6fbb/images/02_image.webp", + "/media/haitham_6fbb/images/03_image.webp", + "/media/haitham_6fbb/images/04_image.webp", + "/media/haitham_6fbb/images/05_image.webp", + "/media/haitham_6fbb/images/06_image.webp", + "/media/haitham_6fbb/images/07_image.webp", + "/media/haitham_6fbb/images/08_image.webp", + "/media/haitham_6fbb/images/09_image.webp", + "/media/haitham_6fbb/images/10_image.webp", + "/media/haitham_6fbb/images/11_image.webp", + "/media/haitham_6fbb/images/12_image.webp", + "/media/haitham_6fbb/images/13_image.webp", + "/media/haitham_6fbb/images/14_image.webp", + "/media/haitham_6fbb/images/15_image.webp", + "/media/haitham_6fbb/images/16_image.webp", + "/media/haitham_6fbb/images/17_image.webp", + "/media/haitham_6fbb/images/18_image.webp", + "/media/haitham_6fbb/images/19_image.webp", + "/media/haitham_6fbb/images/20_image.webp", + "/media/haitham_6fbb/images/21_image.webp", + "/media/haitham_6fbb/images/22_image.webp", + "/media/haitham_6fbb/images/23_image.webp", + "/media/haitham_6fbb/images/24_image.webp", + "/media/haitham_6fbb/images/25_image.webp", + "/media/haitham_6fbb/images/26_image.webp", + "/media/haitham_6fbb/images/27_image.webp", + "/media/haitham_6fbb/images/28_image.webp", + "/media/haitham_6fbb/images/29_image.webp", + "/media/haitham_6fbb/images/30_image.webp", + "/media/haitham_6fbb/images/31_image.webp", + "/media/haitham_6fbb/images/32_image.webp", + "/media/haitham_6fbb/images/33_image.webp", + "/media/haitham_6fbb/images/34_image.webp", + "/media/haitham_6fbb/images/35_image.webp", + "/media/haitham_6fbb/images/36_image.webp", + "/media/haitham_6fbb/images/37_image.webp", + "/media/haitham_6fbb/images/38_image.webp", + "/media/haitham_6fbb/images/39_image.webp", + "/media/haitham_6fbb/images/40_image.webp", + "/media/haitham_6fbb/images/41_image.webp", + "/media/haitham_6fbb/images/42_image.webp", + "/media/haitham_6fbb/images/43_image.webp", + "/media/haitham_6fbb/images/44_image.webp", + "/media/haitham_6fbb/images/45_image.webp", + "/media/haitham_6fbb/images/46_image.webp", + "/media/haitham_6fbb/images/47_image.webp", + "/media/haitham_6fbb/images/48_image.webp", + "/media/haitham_6fbb/images/49_image.webp", + "/media/haitham_6fbb/images/50_image.webp", + "/media/haitham_6fbb/images/51_image.webp" + ], + "created_at": "2026-01-23T00:44:31.281291-07:00", + "dir_name": "haitham_6fbb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/haitham_c1f0.json b/ideas/aeres/agents/haitham_c1f0.json new file mode 100644 index 0000000..9a1ab62 --- /dev/null +++ b/ideas/aeres/agents/haitham_c1f0.json @@ -0,0 +1,72 @@ +{ + "id": "haitham_c1f0", + "name": "Haitham Ali", + "handle": "haitham", + "gender": "male", + "description": "male from Dubai who is a hypebeast", + "tags": [ + "influencer_lifestyle", + "rare sneaker collecting", + "architectural photography", + "contemporary middle eastern art", + "padel tennis", + "desert camping", + "japanese fusion cooking" + ], + "avatar_url": "/media/haitham_c1f0/avatar.webp?t=1770019694", + "banner_url": "/media/haitham_c1f0/banner.webp?t=1770019668", + "videos": [ + "/media/haitham_c1f0/videos/01_smile_reveal.mp4?t=1770019676" + ], + "images": [ + "/media/haitham_c1f0/images/01_mid_mid_neutral.webp", + "/media/haitham_c1f0/images/02_image.webp", + "/media/haitham_c1f0/images/03_image.webp", + "/media/haitham_c1f0/images/04_image.webp", + "/media/haitham_c1f0/images/05_image.webp", + "/media/haitham_c1f0/images/06_image.webp", + "/media/haitham_c1f0/images/07_image.webp", + "/media/haitham_c1f0/images/08_image.webp", + "/media/haitham_c1f0/images/09_image.webp", + "/media/haitham_c1f0/images/10_image.webp", + "/media/haitham_c1f0/images/11_image.webp", + "/media/haitham_c1f0/images/12_image.webp", + "/media/haitham_c1f0/images/15_image.webp", + "/media/haitham_c1f0/images/16_image.webp", + "/media/haitham_c1f0/images/17_image.webp", + "/media/haitham_c1f0/images/18_image.webp", + "/media/haitham_c1f0/images/19_image.webp", + "/media/haitham_c1f0/images/20_image.webp", + "/media/haitham_c1f0/images/21_image.webp", + "/media/haitham_c1f0/images/22_image.webp", + "/media/haitham_c1f0/images/23_image.webp", + "/media/haitham_c1f0/images/24_image.webp", + "/media/haitham_c1f0/images/25_image.webp", + "/media/haitham_c1f0/images/26_image.webp", + "/media/haitham_c1f0/images/27_image.webp", + "/media/haitham_c1f0/images/28_image.webp", + "/media/haitham_c1f0/images/29_image.webp", + "/media/haitham_c1f0/images/30_image.webp", + "/media/haitham_c1f0/images/31_image.webp", + "/media/haitham_c1f0/images/32_image.webp", + "/media/haitham_c1f0/images/33_image.webp", + "/media/haitham_c1f0/images/34_image.webp", + "/media/haitham_c1f0/images/35_image.webp", + "/media/haitham_c1f0/images/36_image.webp", + "/media/haitham_c1f0/images/37_image.webp", + "/media/haitham_c1f0/images/38_image.webp", + "/media/haitham_c1f0/images/39_image.webp", + "/media/haitham_c1f0/images/40_image.webp", + "/media/haitham_c1f0/images/41_image.webp", + "/media/haitham_c1f0/images/42_image.webp", + "/media/haitham_c1f0/images/44_image.webp", + "/media/haitham_c1f0/images/45_image.webp", + "/media/haitham_c1f0/images/47_image.webp", + "/media/haitham_c1f0/images/48_image.webp", + "/media/haitham_c1f0/images/49_image.webp", + "/media/haitham_c1f0/images/50_image.webp", + "/media/haitham_c1f0/images/51_image.webp" + ], + "created_at": "2026-02-02T01:05:39.975104-07:00", + "dir_name": "haitham_c1f0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hannah_e749.json b/ideas/aeres/agents/hannah_e749.json new file mode 100644 index 0000000..0e64b1d --- /dev/null +++ b/ideas/aeres/agents/hannah_e749.json @@ -0,0 +1,77 @@ +{ + "id": "hannah_e749", + "name": "Hannah Williams", + "handle": "hannah", + "gender": "female", + "description": "woman who likes to go to raves", + "tags": [ + "festival_girl", + "modular synthesizers", + "laser light programming", + "modern dance", + "vinyl collecting", + "urban gardening", + "gourmet coffee", + "reading cyberpunk fiction" + ], + "avatar_url": "/media/hannah_e749/avatar.webp?t=1770211295", + "banner_url": "/media/hannah_e749/banner.webp?t=1770211310", + "videos": [ + "/media/hannah_e749/videos/01_smile_reveal.mp4?t=1770211367" + ], + "images": [ + "/media/hannah_e749/images/01_mid_mid_neutral.webp", + "/media/hannah_e749/images/02_image.webp", + "/media/hannah_e749/images/03_image.webp", + "/media/hannah_e749/images/04_image.webp", + "/media/hannah_e749/images/05_image.webp", + "/media/hannah_e749/images/06_image.webp", + "/media/hannah_e749/images/07_image.webp", + "/media/hannah_e749/images/08_image.webp", + "/media/hannah_e749/images/09_image.webp", + "/media/hannah_e749/images/10_image.webp", + "/media/hannah_e749/images/11_image.webp", + "/media/hannah_e749/images/12_image.webp", + "/media/hannah_e749/images/13_image.webp", + "/media/hannah_e749/images/14_image.webp", + "/media/hannah_e749/images/15_image.webp", + "/media/hannah_e749/images/16_image.webp", + "/media/hannah_e749/images/17_image.webp", + "/media/hannah_e749/images/18_image.webp", + "/media/hannah_e749/images/19_image.webp", + "/media/hannah_e749/images/20_image.webp", + "/media/hannah_e749/images/21_image.webp", + "/media/hannah_e749/images/22_image.webp", + "/media/hannah_e749/images/23_image.webp", + "/media/hannah_e749/images/24_image.webp", + "/media/hannah_e749/images/25_image.webp", + "/media/hannah_e749/images/26_image.webp", + "/media/hannah_e749/images/27_image.webp", + "/media/hannah_e749/images/28_image.webp", + "/media/hannah_e749/images/29_image.webp", + "/media/hannah_e749/images/30_image.webp", + "/media/hannah_e749/images/31_image.webp", + "/media/hannah_e749/images/32_image.webp", + "/media/hannah_e749/images/33_image.webp", + "/media/hannah_e749/images/34_image.webp", + "/media/hannah_e749/images/35_image.webp", + "/media/hannah_e749/images/36_image.webp", + "/media/hannah_e749/images/37_image.webp", + "/media/hannah_e749/images/38_image.webp", + "/media/hannah_e749/images/39_image.webp", + "/media/hannah_e749/images/40_image.webp", + "/media/hannah_e749/images/41_image.webp", + "/media/hannah_e749/images/42_image.webp", + "/media/hannah_e749/images/43_image.webp", + "/media/hannah_e749/images/44_image.webp", + "/media/hannah_e749/images/45_image.webp", + "/media/hannah_e749/images/46_image.webp", + "/media/hannah_e749/images/47_image.webp", + "/media/hannah_e749/images/48_image.webp", + "/media/hannah_e749/images/49_image.webp", + "/media/hannah_e749/images/50_image.webp", + "/media/hannah_e749/images/51_image.webp" + ], + "created_at": "2026-02-04T06:20:15.25418-07:00", + "dir_name": "hannah_e749" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hardeep_69f8.json b/ideas/aeres/agents/hardeep_69f8.json new file mode 100644 index 0000000..ed16ebd --- /dev/null +++ b/ideas/aeres/agents/hardeep_69f8.json @@ -0,0 +1,77 @@ +{ + "id": "hardeep_69f8", + "name": "Hardeep Sharma", + "handle": "hardeep", + "gender": "male", + "description": "alpine climber, mountain specialist, mountain peak explorer, pioneer adventurer, arctic enviroment, age 40, muscular", + "tags": [ + "explorer", + "high-altitude mountaineering", + "arctic survival training", + "topography", + "glaciology", + "photography", + "single-malt whiskey", + "bouldering" + ], + "avatar_url": "/media/hardeep_69f8/avatar.webp?t=1770125326", + "banner_url": "/media/hardeep_69f8/banner.webp?t=1770125316", + "videos": [ + "/media/hardeep_69f8/videos/01_smile_reveal.mp4?t=1770125351" + ], + "images": [ + "/media/hardeep_69f8/images/01_mid_mid_neutral.webp", + "/media/hardeep_69f8/images/02_image.webp", + "/media/hardeep_69f8/images/03_image.webp", + "/media/hardeep_69f8/images/04_image.webp", + "/media/hardeep_69f8/images/05_image.webp", + "/media/hardeep_69f8/images/06_image.webp", + "/media/hardeep_69f8/images/07_image.webp", + "/media/hardeep_69f8/images/08_image.webp", + "/media/hardeep_69f8/images/09_image.webp", + "/media/hardeep_69f8/images/10_image.webp", + "/media/hardeep_69f8/images/11_image.webp", + "/media/hardeep_69f8/images/12_image.webp", + "/media/hardeep_69f8/images/13_image.webp", + "/media/hardeep_69f8/images/14_image.webp", + "/media/hardeep_69f8/images/15_image.webp", + "/media/hardeep_69f8/images/16_image.webp", + "/media/hardeep_69f8/images/17_image.webp", + "/media/hardeep_69f8/images/18_image.webp", + "/media/hardeep_69f8/images/19_image.webp", + "/media/hardeep_69f8/images/20_image.webp", + "/media/hardeep_69f8/images/21_image.webp", + "/media/hardeep_69f8/images/22_image.webp", + "/media/hardeep_69f8/images/23_image.webp", + "/media/hardeep_69f8/images/24_image.webp", + "/media/hardeep_69f8/images/25_image.webp", + "/media/hardeep_69f8/images/26_image.webp", + "/media/hardeep_69f8/images/27_image.webp", + "/media/hardeep_69f8/images/28_image.webp", + "/media/hardeep_69f8/images/29_image.webp", + "/media/hardeep_69f8/images/30_image.webp", + "/media/hardeep_69f8/images/31_image.webp", + "/media/hardeep_69f8/images/32_image.webp", + "/media/hardeep_69f8/images/33_image.webp", + "/media/hardeep_69f8/images/34_image.webp", + "/media/hardeep_69f8/images/35_image.webp", + "/media/hardeep_69f8/images/36_image.webp", + "/media/hardeep_69f8/images/37_image.webp", + "/media/hardeep_69f8/images/38_image.webp", + "/media/hardeep_69f8/images/39_image.webp", + "/media/hardeep_69f8/images/40_image.webp", + "/media/hardeep_69f8/images/41_image.webp", + "/media/hardeep_69f8/images/42_image.webp", + "/media/hardeep_69f8/images/43_image.webp", + "/media/hardeep_69f8/images/44_image.webp", + "/media/hardeep_69f8/images/45_image.webp", + "/media/hardeep_69f8/images/46_image.webp", + "/media/hardeep_69f8/images/47_image.webp", + "/media/hardeep_69f8/images/48_image.webp", + "/media/hardeep_69f8/images/49_image.webp", + "/media/hardeep_69f8/images/50_image.webp", + "/media/hardeep_69f8/images/51_image.webp" + ], + "created_at": "2026-02-03T06:27:20.448435-07:00", + "dir_name": "hardeep_69f8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/haribon_c796.json b/ideas/aeres/agents/haribon_c796.json new file mode 100644 index 0000000..2799a8e --- /dev/null +++ b/ideas/aeres/agents/haribon_c796.json @@ -0,0 +1,77 @@ +{ + "id": "haribon_c796", + "name": "Haribon Bautista", + "handle": "haribon", + "gender": "male", + "description": "male who cosplays as Captain America", + "tags": [ + "the cosplayer", + "historical weaponry", + "3d printing", + "weightlifting", + "filipino martial arts (arnis)", + "classic cinema", + "urban exploration", + "specialty coffee" + ], + "avatar_url": "/media/haribon_c796/avatar.webp?t=1769610595", + "banner_url": "/media/haribon_c796/banner.webp?t=1769610635", + "videos": [ + "/media/haribon_c796/videos/01_smile_reveal.mp4?t=1769610623" + ], + "images": [ + "/media/haribon_c796/images/01_mid_mid_neutral.webp", + "/media/haribon_c796/images/02_image.webp", + "/media/haribon_c796/images/03_image.webp", + "/media/haribon_c796/images/04_image.webp", + "/media/haribon_c796/images/05_image.webp", + "/media/haribon_c796/images/06_image.webp", + "/media/haribon_c796/images/07_image.webp", + "/media/haribon_c796/images/08_image.webp", + "/media/haribon_c796/images/09_image.webp", + "/media/haribon_c796/images/10_image.webp", + "/media/haribon_c796/images/11_image.webp", + "/media/haribon_c796/images/12_image.webp", + "/media/haribon_c796/images/13_image.webp", + "/media/haribon_c796/images/14_image.webp", + "/media/haribon_c796/images/15_image.webp", + "/media/haribon_c796/images/16_image.webp", + "/media/haribon_c796/images/17_image.webp", + "/media/haribon_c796/images/18_image.webp", + "/media/haribon_c796/images/19_image.webp", + "/media/haribon_c796/images/20_image.webp", + "/media/haribon_c796/images/21_image.webp", + "/media/haribon_c796/images/22_image.webp", + "/media/haribon_c796/images/23_image.webp", + "/media/haribon_c796/images/24_image.webp", + "/media/haribon_c796/images/25_image.webp", + "/media/haribon_c796/images/26_image.webp", + "/media/haribon_c796/images/27_image.webp", + "/media/haribon_c796/images/28_image.webp", + "/media/haribon_c796/images/29_image.webp", + "/media/haribon_c796/images/30_image.webp", + "/media/haribon_c796/images/31_image.webp", + "/media/haribon_c796/images/32_image.webp", + "/media/haribon_c796/images/33_image.webp", + "/media/haribon_c796/images/34_image.webp", + "/media/haribon_c796/images/35_image.webp", + "/media/haribon_c796/images/36_image.webp", + "/media/haribon_c796/images/37_image.webp", + "/media/haribon_c796/images/38_image.webp", + "/media/haribon_c796/images/39_image.webp", + "/media/haribon_c796/images/40_image.webp", + "/media/haribon_c796/images/41_image.webp", + "/media/haribon_c796/images/42_image.webp", + "/media/haribon_c796/images/43_image.webp", + "/media/haribon_c796/images/44_image.webp", + "/media/haribon_c796/images/45_image.webp", + "/media/haribon_c796/images/46_image.webp", + "/media/haribon_c796/images/47_image.webp", + "/media/haribon_c796/images/48_image.webp", + "/media/haribon_c796/images/49_image.webp", + "/media/haribon_c796/images/50_image.webp", + "/media/haribon_c796/images/51_image.webp" + ], + "created_at": "2026-01-28T07:28:08.094064-07:00", + "dir_name": "haribon_c796" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hazel_5e1f.json b/ideas/aeres/agents/hazel_5e1f.json new file mode 100644 index 0000000..13d410d --- /dev/null +++ b/ideas/aeres/agents/hazel_5e1f.json @@ -0,0 +1,69 @@ +{ + "id": "hazel_5e1f", + "name": "Hazel Garcia", + "handle": "hazel", + "gender": "female", + "description": "y2k aesthetic, grunge girl, streetwear, baby tees, wide leg pants, headphones", + "tags": [ + "grunge_girl", + "vinyl restoration", + "lo-fi photography", + "90s underground music", + "weightlifting", + "urban exploration", + "desert gardening", + "classic cinema" + ], + "avatar_url": "/media/hazel_5e1f/avatar.webp?t=1769584097", + "banner_url": "/media/hazel_5e1f/banner.webp?t=1769584842", + "videos": [ + "/media/hazel_5e1f/videos/01_smile_reveal.mp4?t=1769554698" + ], + "images": [ + "/media/hazel_5e1f/images/01_mid_mid_neutral.webp", + "/media/hazel_5e1f/images/02_image.webp", + "/media/hazel_5e1f/images/04_image.webp", + "/media/hazel_5e1f/images/05_image.webp", + "/media/hazel_5e1f/images/06_image.webp", + "/media/hazel_5e1f/images/08_image.webp", + "/media/hazel_5e1f/images/09_image.webp", + "/media/hazel_5e1f/images/10_image.webp", + "/media/hazel_5e1f/images/12_image.webp", + "/media/hazel_5e1f/images/13_image.webp", + "/media/hazel_5e1f/images/14_image.webp", + "/media/hazel_5e1f/images/16_image.webp", + "/media/hazel_5e1f/images/17_image.webp", + "/media/hazel_5e1f/images/18_image.webp", + "/media/hazel_5e1f/images/20_image.webp", + "/media/hazel_5e1f/images/21_image.webp", + "/media/hazel_5e1f/images/22_image.webp", + "/media/hazel_5e1f/images/24_image.webp", + "/media/hazel_5e1f/images/25_image.webp", + "/media/hazel_5e1f/images/26_image.webp", + "/media/hazel_5e1f/images/28_image.webp", + "/media/hazel_5e1f/images/29_image.webp", + "/media/hazel_5e1f/images/30_image.webp", + "/media/hazel_5e1f/images/32_image.webp", + "/media/hazel_5e1f/images/33_image.webp", + "/media/hazel_5e1f/images/34_image.webp", + "/media/hazel_5e1f/images/36_image.webp", + "/media/hazel_5e1f/images/37_image.webp", + "/media/hazel_5e1f/images/38_image.webp", + "/media/hazel_5e1f/images/40_image.webp", + "/media/hazel_5e1f/images/41_image.webp", + "/media/hazel_5e1f/images/42_image.webp", + "/media/hazel_5e1f/images/44_image.webp", + "/media/hazel_5e1f/images/45_image.webp", + "/media/hazel_5e1f/images/46_image.webp", + "/media/hazel_5e1f/images/48_image.webp", + "/media/hazel_5e1f/images/49_image.webp", + "/media/hazel_5e1f/images/50_image.webp", + "/media/hazel_5e1f/images/53_image.webp", + "/media/hazel_5e1f/images/56_image.webp", + "/media/hazel_5e1f/images/57_image.webp", + "/media/hazel_5e1f/images/58_image.webp", + "/media/hazel_5e1f/images/60_image.webp" + ], + "created_at": "2026-01-27T15:56:41.030396-07:00", + "dir_name": "hazel_5e1f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/heather_327b.json b/ideas/aeres/agents/heather_327b.json new file mode 100644 index 0000000..6adcd93 --- /dev/null +++ b/ideas/aeres/agents/heather_327b.json @@ -0,0 +1,64 @@ +{ + "id": "heather_327b", + "name": "Heather Smith", + "handle": "heather", + "gender": "female", + "description": "mid 30's white woman, yoga, sandals, hippy, grateful dead, van life, beaded earrings, nomad, tie dye, camping, mushroom tea", + "tags": [ + "wanderer", + "landscape photography", + "high-altitude trekking", + "textile dyeing", + "yoga", + "craft beer tasting", + "geocaching", + "rock climbing" + ], + "avatar_url": "/media/heather_327b/avatar.webp?t=1769111722", + "banner_url": "/media/heather_327b/banner.webp?t=1769111720", + "images": [ + "/media/heather_327b/images/01_mid_mid_neutral.webp", + "/media/heather_327b/images/02_image.webp", + "/media/heather_327b/images/03_image.webp", + "/media/heather_327b/images/04_image.webp", + "/media/heather_327b/images/05_image.webp", + "/media/heather_327b/images/06_image.webp", + "/media/heather_327b/images/07_image.webp", + "/media/heather_327b/images/08_image.webp", + "/media/heather_327b/images/09_image.webp", + "/media/heather_327b/images/10_image.webp", + "/media/heather_327b/images/11_image.webp", + "/media/heather_327b/images/12_image.webp", + "/media/heather_327b/images/13_image.webp", + "/media/heather_327b/images/14_image.webp", + "/media/heather_327b/images/15_image.webp", + "/media/heather_327b/images/16_image.webp", + "/media/heather_327b/images/17_image.webp", + "/media/heather_327b/images/18_image.webp", + "/media/heather_327b/images/19_image.webp", + "/media/heather_327b/images/20_image.webp", + "/media/heather_327b/images/21_image.webp", + "/media/heather_327b/images/32_image.webp", + "/media/heather_327b/images/33_image.webp", + "/media/heather_327b/images/34_image.webp", + "/media/heather_327b/images/35_image.webp", + "/media/heather_327b/images/36_image.webp", + "/media/heather_327b/images/37_image.webp", + "/media/heather_327b/images/38_image.webp", + "/media/heather_327b/images/39_image.webp", + "/media/heather_327b/images/40_image.webp", + "/media/heather_327b/images/41_image.webp", + "/media/heather_327b/images/42_image.webp", + "/media/heather_327b/images/43_image.webp", + "/media/heather_327b/images/44_image.webp", + "/media/heather_327b/images/45_image.webp", + "/media/heather_327b/images/46_image.webp", + "/media/heather_327b/images/47_image.webp", + "/media/heather_327b/images/48_image.webp", + "/media/heather_327b/images/49_image.webp", + "/media/heather_327b/images/50_image.webp", + "/media/heather_327b/images/51_image.webp" + ], + "created_at": "2026-01-22T12:54:12.889571-07:00", + "dir_name": "heather_327b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/heather_3864.json b/ideas/aeres/agents/heather_3864.json new file mode 100644 index 0000000..59727ba --- /dev/null +++ b/ideas/aeres/agents/heather_3864.json @@ -0,0 +1,81 @@ +{ + "id": "heather_3864", + "name": "Heather Smith", + "handle": "heather", + "gender": "female", + "description": "hot sexi actress, marlyn monroe esthetic, white, age 25, big butt and breasts, loves dresses, hollywood vibe, blonde, makeup specialist, perfect face", + "tags": [ + "1950s_pinup", + "vintage fashion restoration", + "technicolor film history", + "swing dancing", + "classic cocktails", + "gardening", + "baking", + "true crime podcasts" + ], + "avatar_url": "/media/heather_3864/avatar.webp?t=1770125119", + "banner_url": "/media/heather_3864/banner.webp?t=1770125121", + "videos": [ + "/media/heather_3864/videos/01_smile_reveal.mp4?t=1770125164" + ], + "images": [ + "/media/heather_3864/images/01_mid_mid_neutral.webp", + "/media/heather_3864/images/02_image.webp", + "/media/heather_3864/images/03_image.webp", + "/media/heather_3864/images/04_image.webp", + "/media/heather_3864/images/05_image.webp", + "/media/heather_3864/images/06_image.webp", + "/media/heather_3864/images/07_image.webp", + "/media/heather_3864/images/08_image.webp", + "/media/heather_3864/images/09_image.webp", + "/media/heather_3864/images/11_image.webp", + "/media/heather_3864/images/12_image.webp", + "/media/heather_3864/images/13_image.webp", + "/media/heather_3864/images/14_image.webp", + "/media/heather_3864/images/15_image.webp", + "/media/heather_3864/images/16_image.webp", + "/media/heather_3864/images/17_image.webp", + "/media/heather_3864/images/18_image.webp", + "/media/heather_3864/images/19_image.webp", + "/media/heather_3864/images/20_image.webp", + "/media/heather_3864/images/21_image.webp", + "/media/heather_3864/images/22_image.webp", + "/media/heather_3864/images/23_image.webp", + "/media/heather_3864/images/25_image.webp", + "/media/heather_3864/images/27_image.webp", + "/media/heather_3864/images/28_image.webp", + "/media/heather_3864/images/29_image.webp", + "/media/heather_3864/images/30_image.webp", + "/media/heather_3864/images/31_image.webp", + "/media/heather_3864/images/32_image.webp", + "/media/heather_3864/images/33_image.webp", + "/media/heather_3864/images/34_image.webp", + "/media/heather_3864/images/35_image.webp", + "/media/heather_3864/images/36_image.webp", + "/media/heather_3864/images/37_image.webp", + "/media/heather_3864/images/39_image.webp", + "/media/heather_3864/images/40_image.webp", + "/media/heather_3864/images/41_image.webp", + "/media/heather_3864/images/42_image.webp", + "/media/heather_3864/images/43_image.webp", + "/media/heather_3864/images/44_image.webp", + "/media/heather_3864/images/45_image.webp", + "/media/heather_3864/images/46_image.webp", + "/media/heather_3864/images/47_image.webp", + "/media/heather_3864/images/48_image.webp", + "/media/heather_3864/images/49_image.webp", + "/media/heather_3864/images/50_image.webp", + "/media/heather_3864/images/51_image.webp", + "/media/heather_3864/images/53_image.webp", + "/media/heather_3864/images/54_image.webp", + "/media/heather_3864/images/55_image.webp", + "/media/heather_3864/images/56_image.webp", + "/media/heather_3864/images/57_image.webp", + "/media/heather_3864/images/58_image.webp", + "/media/heather_3864/images/60_image.webp", + "/media/heather_3864/images/61_image.webp" + ], + "created_at": "2026-02-03T06:23:58.91251-07:00", + "dir_name": "heather_3864" +} \ No newline at end of file diff --git a/ideas/aeres/agents/heather_5531.json b/ideas/aeres/agents/heather_5531.json new file mode 100644 index 0000000..dc6a2b4 --- /dev/null +++ b/ideas/aeres/agents/heather_5531.json @@ -0,0 +1,77 @@ +{ + "id": "heather_5531", + "name": "Heather Smith", + "handle": "heather", + "gender": "female", + "description": "religious, 30's, modest, covered, church, no tattoos, prude", + "tags": [ + "girl_next_door", + "biblical studies", + "classic literature", + "baking artisan breads", + "gardening", + "watching period dramas", + "hand embroidery", + "picnicking" + ], + "avatar_url": "/media/heather_5531/avatar.webp?t=1769558058", + "banner_url": "/media/heather_5531/banner.webp?t=1769584927", + "videos": [ + "/media/heather_5531/videos/01_smile_reveal.mp4?t=1769558091" + ], + "images": [ + "/media/heather_5531/images/01_mid_mid_neutral.webp", + "/media/heather_5531/images/02_image.webp", + "/media/heather_5531/images/03_image.webp", + "/media/heather_5531/images/04_image.webp", + "/media/heather_5531/images/05_image.webp", + "/media/heather_5531/images/06_image.webp", + "/media/heather_5531/images/07_image.webp", + "/media/heather_5531/images/08_image.webp", + "/media/heather_5531/images/09_image.webp", + "/media/heather_5531/images/10_image.webp", + "/media/heather_5531/images/11_image.webp", + "/media/heather_5531/images/12_image.webp", + "/media/heather_5531/images/13_image.webp", + "/media/heather_5531/images/14_image.webp", + "/media/heather_5531/images/15_image.webp", + "/media/heather_5531/images/16_image.webp", + "/media/heather_5531/images/17_image.webp", + "/media/heather_5531/images/18_image.webp", + "/media/heather_5531/images/19_image.webp", + "/media/heather_5531/images/20_image.webp", + "/media/heather_5531/images/21_image.webp", + "/media/heather_5531/images/22_image.webp", + "/media/heather_5531/images/23_image.webp", + "/media/heather_5531/images/24_image.webp", + "/media/heather_5531/images/25_image.webp", + "/media/heather_5531/images/26_image.webp", + "/media/heather_5531/images/27_image.webp", + "/media/heather_5531/images/28_image.webp", + "/media/heather_5531/images/29_image.webp", + "/media/heather_5531/images/30_image.webp", + "/media/heather_5531/images/31_image.webp", + "/media/heather_5531/images/32_image.webp", + "/media/heather_5531/images/33_image.webp", + "/media/heather_5531/images/34_image.webp", + "/media/heather_5531/images/35_image.webp", + "/media/heather_5531/images/36_image.webp", + "/media/heather_5531/images/37_image.webp", + "/media/heather_5531/images/38_image.webp", + "/media/heather_5531/images/39_image.webp", + "/media/heather_5531/images/40_image.webp", + "/media/heather_5531/images/41_image.webp", + "/media/heather_5531/images/42_image.webp", + "/media/heather_5531/images/43_image.webp", + "/media/heather_5531/images/44_image.webp", + "/media/heather_5531/images/45_image.webp", + "/media/heather_5531/images/46_image.webp", + "/media/heather_5531/images/47_image.webp", + "/media/heather_5531/images/48_image.webp", + "/media/heather_5531/images/49_image.webp", + "/media/heather_5531/images/50_image.webp", + "/media/heather_5531/images/51_image.webp" + ], + "created_at": "2026-01-27T16:53:10.448153-07:00", + "dir_name": "heather_5531" +} \ No newline at end of file diff --git a/ideas/aeres/agents/heather_fec9.json b/ideas/aeres/agents/heather_fec9.json new file mode 100644 index 0000000..8977571 --- /dev/null +++ b/ideas/aeres/agents/heather_fec9.json @@ -0,0 +1,75 @@ +{ + "id": "heather_fec9", + "name": "Heather Smith", + "handle": "heather", + "gender": "female", + "description": "goth woman from Germany in cyberpunk style art", + "tags": [ + "cyber_goth", + "modular synthesis", + "augmented reality", + "industrial fashion", + "cybernetic theory", + "brutalist architecture", + "retro-gaming", + "urban exploration" + ], + "avatar_url": "/media/heather_fec9/avatar.webp?t=1770105463", + "banner_url": "/media/heather_fec9/banner.webp?t=1770105465", + "videos": [ + "/media/heather_fec9/videos/01_smile_reveal.mp4?t=1770105506" + ], + "images": [ + "/media/heather_fec9/images/01_mid_mid_neutral.webp", + "/media/heather_fec9/images/02_image.webp", + "/media/heather_fec9/images/03_image.webp", + "/media/heather_fec9/images/04_image.webp", + "/media/heather_fec9/images/05_image.webp", + "/media/heather_fec9/images/06_image.webp", + "/media/heather_fec9/images/07_image.webp", + "/media/heather_fec9/images/08_image.webp", + "/media/heather_fec9/images/09_image.webp", + "/media/heather_fec9/images/10_image.webp", + "/media/heather_fec9/images/11_image.webp", + "/media/heather_fec9/images/13_image.webp", + "/media/heather_fec9/images/14_image.webp", + "/media/heather_fec9/images/15_image.webp", + "/media/heather_fec9/images/16_image.webp", + "/media/heather_fec9/images/17_image.webp", + "/media/heather_fec9/images/18_image.webp", + "/media/heather_fec9/images/19_image.webp", + "/media/heather_fec9/images/20_image.webp", + "/media/heather_fec9/images/21_image.webp", + "/media/heather_fec9/images/22_image.webp", + "/media/heather_fec9/images/23_image.webp", + "/media/heather_fec9/images/24_image.webp", + "/media/heather_fec9/images/25_image.webp", + "/media/heather_fec9/images/26_image.webp", + "/media/heather_fec9/images/27_image.webp", + "/media/heather_fec9/images/28_image.webp", + "/media/heather_fec9/images/29_image.webp", + "/media/heather_fec9/images/30_image.webp", + "/media/heather_fec9/images/31_image.webp", + "/media/heather_fec9/images/32_image.webp", + "/media/heather_fec9/images/33_image.webp", + "/media/heather_fec9/images/34_image.webp", + "/media/heather_fec9/images/35_image.webp", + "/media/heather_fec9/images/36_image.webp", + "/media/heather_fec9/images/37_image.webp", + "/media/heather_fec9/images/38_image.webp", + "/media/heather_fec9/images/39_image.webp", + "/media/heather_fec9/images/40_image.webp", + "/media/heather_fec9/images/41_image.webp", + "/media/heather_fec9/images/42_image.webp", + "/media/heather_fec9/images/43_image.webp", + "/media/heather_fec9/images/44_image.webp", + "/media/heather_fec9/images/45_image.webp", + "/media/heather_fec9/images/46_image.webp", + "/media/heather_fec9/images/47_image.webp", + "/media/heather_fec9/images/49_image.webp", + "/media/heather_fec9/images/50_image.webp", + "/media/heather_fec9/images/51_image.webp" + ], + "created_at": "2026-02-03T00:56:31.840953-07:00", + "dir_name": "heather_fec9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/heidi_8990.json b/ideas/aeres/agents/heidi_8990.json new file mode 100644 index 0000000..649d7e4 --- /dev/null +++ b/ideas/aeres/agents/heidi_8990.json @@ -0,0 +1,73 @@ +{ + "id": "heidi_8990", + "name": "Heidi Meyer", + "handle": "heidi", + "gender": "female", + "description": "female from Ireland who is a college student", + "tags": [ + "college_girl", + "victorian literature", + "art history", + "european cinema", + "hiking", + "baking bread", + "podcasts" + ], + "avatar_url": "/media/heidi_8990/avatar.webp?t=1770118765", + "banner_url": "/media/heidi_8990/banner.webp?t=1770118768", + "videos": [ + "/media/heidi_8990/videos/01_smile_reveal.mp4?t=1770118803" + ], + "images": [ + "/media/heidi_8990/images/01_mid_mid_neutral.webp", + "/media/heidi_8990/images/02_image.webp", + "/media/heidi_8990/images/03_image.webp", + "/media/heidi_8990/images/05_image.webp", + "/media/heidi_8990/images/06_image.webp", + "/media/heidi_8990/images/07_image.webp", + "/media/heidi_8990/images/08_image.webp", + "/media/heidi_8990/images/09_image.webp", + "/media/heidi_8990/images/11_image.webp", + "/media/heidi_8990/images/12_image.webp", + "/media/heidi_8990/images/13_image.webp", + "/media/heidi_8990/images/14_image.webp", + "/media/heidi_8990/images/15_image.webp", + "/media/heidi_8990/images/16_image.webp", + "/media/heidi_8990/images/17_image.webp", + "/media/heidi_8990/images/18_image.webp", + "/media/heidi_8990/images/19_image.webp", + "/media/heidi_8990/images/20_image.webp", + "/media/heidi_8990/images/21_image.webp", + "/media/heidi_8990/images/22_image.webp", + "/media/heidi_8990/images/23_image.webp", + "/media/heidi_8990/images/24_image.webp", + "/media/heidi_8990/images/25_image.webp", + "/media/heidi_8990/images/26_image.webp", + "/media/heidi_8990/images/27_image.webp", + "/media/heidi_8990/images/28_image.webp", + "/media/heidi_8990/images/29_image.webp", + "/media/heidi_8990/images/30_image.webp", + "/media/heidi_8990/images/31_image.webp", + "/media/heidi_8990/images/32_image.webp", + "/media/heidi_8990/images/33_image.webp", + "/media/heidi_8990/images/34_image.webp", + "/media/heidi_8990/images/35_image.webp", + "/media/heidi_8990/images/36_image.webp", + "/media/heidi_8990/images/37_image.webp", + "/media/heidi_8990/images/38_image.webp", + "/media/heidi_8990/images/39_image.webp", + "/media/heidi_8990/images/40_image.webp", + "/media/heidi_8990/images/41_image.webp", + "/media/heidi_8990/images/42_image.webp", + "/media/heidi_8990/images/43_image.webp", + "/media/heidi_8990/images/44_image.webp", + "/media/heidi_8990/images/45_image.webp", + "/media/heidi_8990/images/46_image.webp", + "/media/heidi_8990/images/47_image.webp", + "/media/heidi_8990/images/49_image.webp", + "/media/heidi_8990/images/50_image.webp", + "/media/heidi_8990/images/51_image.webp" + ], + "created_at": "2026-02-03T04:38:06.205415-07:00", + "dir_name": "heidi_8990" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_18ff.json b/ideas/aeres/agents/helen_18ff.json new file mode 100644 index 0000000..f20ca84 --- /dev/null +++ b/ideas/aeres/agents/helen_18ff.json @@ -0,0 +1,76 @@ +{ + "id": "helen_18ff", + "name": "Helen Martin", + "handle": "helen", + "gender": "female", + "description": "Morgana from League of Legends", + "tags": [ + "dark_feminine", + "ancient mythology", + "textile engineering", + "dark ambient music", + "esoteric philosophy", + "botany (specifically poisonous plants)", + "chess", + "vintage cinema" + ], + "avatar_url": "/media/helen_18ff/avatar.webp?t=1769589966", + "banner_url": "/media/helen_18ff/banner.webp?t=1769589970", + "videos": [ + "/media/helen_18ff/videos/01_smile_reveal.mp4?t=1769590026" + ], + "images": [ + "/media/helen_18ff/images/01_mid_mid_neutral.webp", + "/media/helen_18ff/images/02_image.webp", + "/media/helen_18ff/images/03_image.webp", + "/media/helen_18ff/images/04_image.webp", + "/media/helen_18ff/images/05_image.webp", + "/media/helen_18ff/images/06_image.webp", + "/media/helen_18ff/images/07_image.webp", + "/media/helen_18ff/images/08_image.webp", + "/media/helen_18ff/images/09_image.webp", + "/media/helen_18ff/images/10_image.webp", + "/media/helen_18ff/images/11_image.webp", + "/media/helen_18ff/images/12_image.webp", + "/media/helen_18ff/images/13_image.webp", + "/media/helen_18ff/images/14_image.webp", + "/media/helen_18ff/images/15_image.webp", + "/media/helen_18ff/images/16_image.webp", + "/media/helen_18ff/images/17_image.webp", + "/media/helen_18ff/images/18_image.webp", + "/media/helen_18ff/images/19_image.webp", + "/media/helen_18ff/images/20_image.webp", + "/media/helen_18ff/images/21_image.webp", + "/media/helen_18ff/images/22_image.webp", + "/media/helen_18ff/images/23_image.webp", + "/media/helen_18ff/images/24_image.webp", + "/media/helen_18ff/images/25_image.webp", + "/media/helen_18ff/images/26_image.webp", + "/media/helen_18ff/images/27_image.webp", + "/media/helen_18ff/images/28_image.webp", + "/media/helen_18ff/images/29_image.webp", + "/media/helen_18ff/images/31_image.webp", + "/media/helen_18ff/images/32_image.webp", + "/media/helen_18ff/images/33_image.webp", + "/media/helen_18ff/images/34_image.webp", + "/media/helen_18ff/images/35_image.webp", + "/media/helen_18ff/images/36_image.webp", + "/media/helen_18ff/images/37_image.webp", + "/media/helen_18ff/images/38_image.webp", + "/media/helen_18ff/images/39_image.webp", + "/media/helen_18ff/images/40_image.webp", + "/media/helen_18ff/images/41_image.webp", + "/media/helen_18ff/images/42_image.webp", + "/media/helen_18ff/images/43_image.webp", + "/media/helen_18ff/images/44_image.webp", + "/media/helen_18ff/images/45_image.webp", + "/media/helen_18ff/images/46_image.webp", + "/media/helen_18ff/images/47_image.webp", + "/media/helen_18ff/images/48_image.webp", + "/media/helen_18ff/images/49_image.webp", + "/media/helen_18ff/images/50_image.webp", + "/media/helen_18ff/images/51_image.webp" + ], + "created_at": "2026-01-28T01:44:49.133346-07:00", + "dir_name": "helen_18ff" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_37a6.json b/ideas/aeres/agents/helen_37a6.json new file mode 100644 index 0000000..32eb57c --- /dev/null +++ b/ideas/aeres/agents/helen_37a6.json @@ -0,0 +1,77 @@ +{ + "id": "helen_37a6", + "name": "Helen Brooks", + "handle": "helen", + "gender": "female", + "description": "female who is a graffiti artist", + "tags": [ + "artist", + "large-scale murals", + "brutalist architecture", + "powerlifting", + "street photography", + "analog synthesizers", + "restoring vintage motorcycles", + "cult cinema" + ], + "avatar_url": "/media/helen_37a6/avatar.webp?t=1770115993", + "banner_url": "/media/helen_37a6/banner.webp?t=1770115994", + "videos": [ + "/media/helen_37a6/videos/01_smile_reveal.mp4?t=1770116033" + ], + "images": [ + "/media/helen_37a6/images/01_mid_mid_neutral.webp", + "/media/helen_37a6/images/02_image.webp", + "/media/helen_37a6/images/03_image.webp", + "/media/helen_37a6/images/04_image.webp", + "/media/helen_37a6/images/05_image.webp", + "/media/helen_37a6/images/06_image.webp", + "/media/helen_37a6/images/07_image.webp", + "/media/helen_37a6/images/08_image.webp", + "/media/helen_37a6/images/09_image.webp", + "/media/helen_37a6/images/10_image.webp", + "/media/helen_37a6/images/11_image.webp", + "/media/helen_37a6/images/12_image.webp", + "/media/helen_37a6/images/13_image.webp", + "/media/helen_37a6/images/14_image.webp", + "/media/helen_37a6/images/15_image.webp", + "/media/helen_37a6/images/16_image.webp", + "/media/helen_37a6/images/17_image.webp", + "/media/helen_37a6/images/18_image.webp", + "/media/helen_37a6/images/19_image.webp", + "/media/helen_37a6/images/20_image.webp", + "/media/helen_37a6/images/21_image.webp", + "/media/helen_37a6/images/22_image.webp", + "/media/helen_37a6/images/23_image.webp", + "/media/helen_37a6/images/24_image.webp", + "/media/helen_37a6/images/25_image.webp", + "/media/helen_37a6/images/26_image.webp", + "/media/helen_37a6/images/27_image.webp", + "/media/helen_37a6/images/28_image.webp", + "/media/helen_37a6/images/29_image.webp", + "/media/helen_37a6/images/30_image.webp", + "/media/helen_37a6/images/31_image.webp", + "/media/helen_37a6/images/32_image.webp", + "/media/helen_37a6/images/33_image.webp", + "/media/helen_37a6/images/34_image.webp", + "/media/helen_37a6/images/35_image.webp", + "/media/helen_37a6/images/36_image.webp", + "/media/helen_37a6/images/37_image.webp", + "/media/helen_37a6/images/38_image.webp", + "/media/helen_37a6/images/39_image.webp", + "/media/helen_37a6/images/40_image.webp", + "/media/helen_37a6/images/41_image.webp", + "/media/helen_37a6/images/42_image.webp", + "/media/helen_37a6/images/43_image.webp", + "/media/helen_37a6/images/44_image.webp", + "/media/helen_37a6/images/45_image.webp", + "/media/helen_37a6/images/46_image.webp", + "/media/helen_37a6/images/47_image.webp", + "/media/helen_37a6/images/48_image.webp", + "/media/helen_37a6/images/49_image.webp", + "/media/helen_37a6/images/50_image.webp", + "/media/helen_37a6/images/51_image.webp" + ], + "created_at": "2026-02-03T03:52:02.174539-07:00", + "dir_name": "helen_37a6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_54ee.json b/ideas/aeres/agents/helen_54ee.json new file mode 100644 index 0000000..9329d2d --- /dev/null +++ b/ideas/aeres/agents/helen_54ee.json @@ -0,0 +1,77 @@ +{ + "id": "helen_54ee", + "name": "Helen Hernandez", + "handle": "helen", + "gender": "female", + "description": "Hwei from League of Legends", + "tags": [ + "artist", + "oil painting", + "color theory", + "baroque music", + "existentialist literature", + "astrology", + "dark roast coffee", + "urban exploration" + ], + "avatar_url": "/media/helen_54ee/avatar.webp?t=1769781047", + "banner_url": "/media/helen_54ee/banner.webp?t=1769781157", + "videos": [ + "/media/helen_54ee/videos/01_smile_reveal.mp4?t=1769781148" + ], + "images": [ + "/media/helen_54ee/images/01_mid_mid_neutral.webp", + "/media/helen_54ee/images/02_image.webp", + "/media/helen_54ee/images/03_image.webp", + "/media/helen_54ee/images/04_image.webp", + "/media/helen_54ee/images/05_image.webp", + "/media/helen_54ee/images/06_image.webp", + "/media/helen_54ee/images/07_image.webp", + "/media/helen_54ee/images/08_image.webp", + "/media/helen_54ee/images/09_image.webp", + "/media/helen_54ee/images/10_image.webp", + "/media/helen_54ee/images/11_image.webp", + "/media/helen_54ee/images/12_image.webp", + "/media/helen_54ee/images/13_image.webp", + "/media/helen_54ee/images/14_image.webp", + "/media/helen_54ee/images/15_image.webp", + "/media/helen_54ee/images/16_image.webp", + "/media/helen_54ee/images/17_image.webp", + "/media/helen_54ee/images/18_image.webp", + "/media/helen_54ee/images/19_image.webp", + "/media/helen_54ee/images/20_image.webp", + "/media/helen_54ee/images/21_image.webp", + "/media/helen_54ee/images/22_image.webp", + "/media/helen_54ee/images/23_image.webp", + "/media/helen_54ee/images/24_image.webp", + "/media/helen_54ee/images/25_image.webp", + "/media/helen_54ee/images/26_image.webp", + "/media/helen_54ee/images/27_image.webp", + "/media/helen_54ee/images/28_image.webp", + "/media/helen_54ee/images/29_image.webp", + "/media/helen_54ee/images/30_image.webp", + "/media/helen_54ee/images/31_image.webp", + "/media/helen_54ee/images/32_image.webp", + "/media/helen_54ee/images/33_image.webp", + "/media/helen_54ee/images/34_image.webp", + "/media/helen_54ee/images/35_image.webp", + "/media/helen_54ee/images/36_image.webp", + "/media/helen_54ee/images/37_image.webp", + "/media/helen_54ee/images/38_image.webp", + "/media/helen_54ee/images/39_image.webp", + "/media/helen_54ee/images/40_image.webp", + "/media/helen_54ee/images/41_image.webp", + "/media/helen_54ee/images/42_image.webp", + "/media/helen_54ee/images/43_image.webp", + "/media/helen_54ee/images/44_image.webp", + "/media/helen_54ee/images/45_image.webp", + "/media/helen_54ee/images/46_image.webp", + "/media/helen_54ee/images/47_image.webp", + "/media/helen_54ee/images/48_image.webp", + "/media/helen_54ee/images/49_image.webp", + "/media/helen_54ee/images/50_image.webp", + "/media/helen_54ee/images/51_image.webp" + ], + "created_at": "2026-01-30T06:49:32.504502-07:00", + "dir_name": "helen_54ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_5e77.json b/ideas/aeres/agents/helen_5e77.json new file mode 100644 index 0000000..426ddf4 --- /dev/null +++ b/ideas/aeres/agents/helen_5e77.json @@ -0,0 +1,75 @@ +{ + "id": "helen_5e77", + "name": "Helen Martin", + "handle": "helen", + "gender": "female", + "description": "e-girl who plays guitar", + "tags": [ + "alt_egirl", + "shoegaze music", + "cyberpunk cinema", + "vintage analog synths", + "guitar effects pedals", + "retro gaming", + "urban exploration", + "craft cocktails" + ], + "avatar_url": "/media/helen_5e77/avatar.webp?t=1769423553", + "banner_url": "/media/helen_5e77/banner.webp?t=1769423550", + "videos": [ + "/media/helen_5e77/videos/01_smile_reveal.mp4?t=1769423588" + ], + "images": [ + "/media/helen_5e77/images/01_mid_mid_neutral.webp", + "/media/helen_5e77/images/02_image.webp", + "/media/helen_5e77/images/03_image.webp", + "/media/helen_5e77/images/04_image.webp", + "/media/helen_5e77/images/05_image.webp", + "/media/helen_5e77/images/06_image.webp", + "/media/helen_5e77/images/07_image.webp", + "/media/helen_5e77/images/08_image.webp", + "/media/helen_5e77/images/09_image.webp", + "/media/helen_5e77/images/10_image.webp", + "/media/helen_5e77/images/11_image.webp", + "/media/helen_5e77/images/12_image.webp", + "/media/helen_5e77/images/13_image.webp", + "/media/helen_5e77/images/14_image.webp", + "/media/helen_5e77/images/15_image.webp", + "/media/helen_5e77/images/16_image.webp", + "/media/helen_5e77/images/17_image.webp", + "/media/helen_5e77/images/18_image.webp", + "/media/helen_5e77/images/19_image.webp", + "/media/helen_5e77/images/20_image.webp", + "/media/helen_5e77/images/21_image.webp", + "/media/helen_5e77/images/22_image.webp", + "/media/helen_5e77/images/23_image.webp", + "/media/helen_5e77/images/24_image.webp", + "/media/helen_5e77/images/25_image.webp", + "/media/helen_5e77/images/27_image.webp", + "/media/helen_5e77/images/28_image.webp", + "/media/helen_5e77/images/29_image.webp", + "/media/helen_5e77/images/30_image.webp", + "/media/helen_5e77/images/31_image.webp", + "/media/helen_5e77/images/32_image.webp", + "/media/helen_5e77/images/33_image.webp", + "/media/helen_5e77/images/35_image.webp", + "/media/helen_5e77/images/36_image.webp", + "/media/helen_5e77/images/37_image.webp", + "/media/helen_5e77/images/38_image.webp", + "/media/helen_5e77/images/39_image.webp", + "/media/helen_5e77/images/40_image.webp", + "/media/helen_5e77/images/41_image.webp", + "/media/helen_5e77/images/42_image.webp", + "/media/helen_5e77/images/43_image.webp", + "/media/helen_5e77/images/44_image.webp", + "/media/helen_5e77/images/45_image.webp", + "/media/helen_5e77/images/46_image.webp", + "/media/helen_5e77/images/47_image.webp", + "/media/helen_5e77/images/48_image.webp", + "/media/helen_5e77/images/49_image.webp", + "/media/helen_5e77/images/50_image.webp", + "/media/helen_5e77/images/51_image.webp" + ], + "created_at": "2026-01-26T03:31:07.734811-07:00", + "dir_name": "helen_5e77" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_67fc.json b/ideas/aeres/agents/helen_67fc.json new file mode 100644 index 0000000..be703ab --- /dev/null +++ b/ideas/aeres/agents/helen_67fc.json @@ -0,0 +1,74 @@ +{ + "id": "helen_67fc", + "name": "Helen Martin", + "handle": "helen", + "gender": "female", + "description": "woman who likes riding horses", + "tags": [ + "country_girl", + "english riding", + "equine nutrition", + "hiking", + "landscape photography", + "baking bread", + "country music", + "gardening" + ], + "avatar_url": "/media/helen_67fc/avatar.webp?t=1769430626", + "banner_url": "/media/helen_67fc/banner.webp?t=1769430613", + "videos": [ + "/media/helen_67fc/videos/01_smile_reveal.mp4?t=1769430654" + ], + "images": [ + "/media/helen_67fc/images/01_mid_mid_neutral.webp", + "/media/helen_67fc/images/02_image.webp", + "/media/helen_67fc/images/03_image.webp", + "/media/helen_67fc/images/04_image.webp", + "/media/helen_67fc/images/05_image.webp", + "/media/helen_67fc/images/07_image.webp", + "/media/helen_67fc/images/08_image.webp", + "/media/helen_67fc/images/09_image.webp", + "/media/helen_67fc/images/10_image.webp", + "/media/helen_67fc/images/11_image.webp", + "/media/helen_67fc/images/12_image.webp", + "/media/helen_67fc/images/13_image.webp", + "/media/helen_67fc/images/14_image.webp", + "/media/helen_67fc/images/15_image.webp", + "/media/helen_67fc/images/16_image.webp", + "/media/helen_67fc/images/17_image.webp", + "/media/helen_67fc/images/18_image.webp", + "/media/helen_67fc/images/19_image.webp", + "/media/helen_67fc/images/20_image.webp", + "/media/helen_67fc/images/21_image.webp", + "/media/helen_67fc/images/22_image.webp", + "/media/helen_67fc/images/23_image.webp", + "/media/helen_67fc/images/24_image.webp", + "/media/helen_67fc/images/25_image.webp", + "/media/helen_67fc/images/26_image.webp", + "/media/helen_67fc/images/27_image.webp", + "/media/helen_67fc/images/29_image.webp", + "/media/helen_67fc/images/30_image.webp", + "/media/helen_67fc/images/31_image.webp", + "/media/helen_67fc/images/32_image.webp", + "/media/helen_67fc/images/33_image.webp", + "/media/helen_67fc/images/34_image.webp", + "/media/helen_67fc/images/35_image.webp", + "/media/helen_67fc/images/36_image.webp", + "/media/helen_67fc/images/37_image.webp", + "/media/helen_67fc/images/38_image.webp", + "/media/helen_67fc/images/39_image.webp", + "/media/helen_67fc/images/40_image.webp", + "/media/helen_67fc/images/41_image.webp", + "/media/helen_67fc/images/42_image.webp", + "/media/helen_67fc/images/43_image.webp", + "/media/helen_67fc/images/44_image.webp", + "/media/helen_67fc/images/45_image.webp", + "/media/helen_67fc/images/47_image.webp", + "/media/helen_67fc/images/48_image.webp", + "/media/helen_67fc/images/49_image.webp", + "/media/helen_67fc/images/50_image.webp", + "/media/helen_67fc/images/51_image.webp" + ], + "created_at": "2026-01-26T05:29:01.802764-07:00", + "dir_name": "helen_67fc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/helen_7aee.json b/ideas/aeres/agents/helen_7aee.json new file mode 100644 index 0000000..91ced49 --- /dev/null +++ b/ideas/aeres/agents/helen_7aee.json @@ -0,0 +1,19 @@ +{ + "id": "helen_7aee", + "name": "Helen Brooks", + "handle": "helen", + "gender": "female", + "description": "Katarina from League of Legends", + "tags": [ + "cosplayer", + "leatherworking", + "muay thai", + "3d printing", + "weaponry history", + "strategy board games", + "urban exploration", + "synthwave music" + ], + "created_at": "2026-01-28T05:30:16.87333-07:00", + "dir_name": "helen_7aee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hermenegildo_8211.json b/ideas/aeres/agents/hermenegildo_8211.json new file mode 100644 index 0000000..afee0a5 --- /dev/null +++ b/ideas/aeres/agents/hermenegildo_8211.json @@ -0,0 +1,62 @@ +{ + "id": "hermenegildo_8211", + "name": "Hermenegildo Torres", + "handle": "hermenegildo", + "gender": "male", + "description": "filipino man mid 30's, surfer, comedy, beach, chill, handsome, adventurous", + "tags": [ + "adventurous", + "surfing", + "sustainable architecture", + "free-diving", + "graphic design", + "acoustic guitar", + "craft beer", + "island history" + ], + "avatar_url": "/media/hermenegildo_8211/avatar.webp?t=1769121074", + "banner_url": "/media/hermenegildo_8211/banner.webp?t=1769121079", + "images": [ + "/media/hermenegildo_8211/images/01_mid_mid_neutral.webp", + "/media/hermenegildo_8211/images/02_image.webp", + "/media/hermenegildo_8211/images/03_image.webp", + "/media/hermenegildo_8211/images/04_image.webp", + "/media/hermenegildo_8211/images/05_image.webp", + "/media/hermenegildo_8211/images/06_image.webp", + "/media/hermenegildo_8211/images/07_image.webp", + "/media/hermenegildo_8211/images/08_image.webp", + "/media/hermenegildo_8211/images/09_image.webp", + "/media/hermenegildo_8211/images/10_image.webp", + "/media/hermenegildo_8211/images/11_image.webp", + "/media/hermenegildo_8211/images/12_image.webp", + "/media/hermenegildo_8211/images/12_image.webp", + "/media/hermenegildo_8211/images/13_image.webp", + "/media/hermenegildo_8211/images/13_image.webp", + "/media/hermenegildo_8211/images/14_image.webp", + "/media/hermenegildo_8211/images/14_image.webp", + "/media/hermenegildo_8211/images/15_image.webp", + "/media/hermenegildo_8211/images/15_image.webp", + "/media/hermenegildo_8211/images/16_image.webp", + "/media/hermenegildo_8211/images/16_image.webp", + "/media/hermenegildo_8211/images/17_image.webp", + "/media/hermenegildo_8211/images/17_image.webp", + "/media/hermenegildo_8211/images/18_image.webp", + "/media/hermenegildo_8211/images/18_image.webp", + "/media/hermenegildo_8211/images/20_image.webp", + "/media/hermenegildo_8211/images/20_image.webp", + "/media/hermenegildo_8211/images/21_image.webp", + "/media/hermenegildo_8211/images/21_image.webp", + "/media/hermenegildo_8211/images/22_image.webp", + "/media/hermenegildo_8211/images/23_image.webp", + "/media/hermenegildo_8211/images/24_image.webp", + "/media/hermenegildo_8211/images/25_image.webp", + "/media/hermenegildo_8211/images/26_image.webp", + "/media/hermenegildo_8211/images/27_image.webp", + "/media/hermenegildo_8211/images/28_image.webp", + "/media/hermenegildo_8211/images/29_image.webp", + "/media/hermenegildo_8211/images/30_image.webp", + "/media/hermenegildo_8211/images/31_image.webp" + ], + "created_at": "2026-01-22T15:30:03.987319-07:00", + "dir_name": "hermenegildo_8211" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hilda_e893.json b/ideas/aeres/agents/hilda_e893.json new file mode 100644 index 0000000..8911222 --- /dev/null +++ b/ideas/aeres/agents/hilda_e893.json @@ -0,0 +1,74 @@ +{ + "id": "hilda_e893", + "name": "Hilda Rodriguez", + "handle": "hilda", + "gender": "female", + "description": "Raven from Teen Titans", + "tags": [ + "cosplayer", + "victorian tailoring", + "occult mythology", + "ambient music", + "character psychology", + "urban exploration", + "succulent gardening", + "retro gaming" + ], + "avatar_url": "/media/hilda_e893/avatar.webp?t=1769596295", + "banner_url": "/media/hilda_e893/banner.webp?t=1769596508", + "videos": [ + "/media/hilda_e893/videos/01_smile_reveal.mp4?t=1769596300" + ], + "images": [ + "/media/hilda_e893/images/01_mid_mid_neutral.webp", + "/media/hilda_e893/images/02_image.webp", + "/media/hilda_e893/images/03_image.webp", + "/media/hilda_e893/images/04_image.webp", + "/media/hilda_e893/images/07_image.webp", + "/media/hilda_e893/images/08_image.webp", + "/media/hilda_e893/images/09_image.webp", + "/media/hilda_e893/images/10_image.webp", + "/media/hilda_e893/images/11_image.webp", + "/media/hilda_e893/images/12_image.webp", + "/media/hilda_e893/images/13_image.webp", + "/media/hilda_e893/images/14_image.webp", + "/media/hilda_e893/images/15_image.webp", + "/media/hilda_e893/images/16_image.webp", + "/media/hilda_e893/images/17_image.webp", + "/media/hilda_e893/images/18_image.webp", + "/media/hilda_e893/images/19_image.webp", + "/media/hilda_e893/images/20_image.webp", + "/media/hilda_e893/images/21_image.webp", + "/media/hilda_e893/images/22_image.webp", + "/media/hilda_e893/images/23_image.webp", + "/media/hilda_e893/images/24_image.webp", + "/media/hilda_e893/images/25_image.webp", + "/media/hilda_e893/images/26_image.webp", + "/media/hilda_e893/images/27_image.webp", + "/media/hilda_e893/images/28_image.webp", + "/media/hilda_e893/images/29_image.webp", + "/media/hilda_e893/images/30_image.webp", + "/media/hilda_e893/images/31_image.webp", + "/media/hilda_e893/images/32_image.webp", + "/media/hilda_e893/images/33_image.webp", + "/media/hilda_e893/images/34_image.webp", + "/media/hilda_e893/images/35_image.webp", + "/media/hilda_e893/images/36_image.webp", + "/media/hilda_e893/images/37_image.webp", + "/media/hilda_e893/images/38_image.webp", + "/media/hilda_e893/images/39_image.webp", + "/media/hilda_e893/images/40_image.webp", + "/media/hilda_e893/images/41_image.webp", + "/media/hilda_e893/images/42_image.webp", + "/media/hilda_e893/images/43_image.webp", + "/media/hilda_e893/images/44_image.webp", + "/media/hilda_e893/images/45_image.webp", + "/media/hilda_e893/images/46_image.webp", + "/media/hilda_e893/images/47_image.webp", + "/media/hilda_e893/images/48_image.webp", + "/media/hilda_e893/images/49_image.webp", + "/media/hilda_e893/images/50_image.webp" + ], + "created_at": "2026-01-28T03:29:49.215137-07:00", + "dir_name": "hilda_e893" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hirofumi_9f59.json b/ideas/aeres/agents/hirofumi_9f59.json new file mode 100644 index 0000000..75ebea5 --- /dev/null +++ b/ideas/aeres/agents/hirofumi_9f59.json @@ -0,0 +1,78 @@ +{ + "id": "hirofumi_9f59", + "name": "Hirofumi Tanaka", + "handle": "hirofumi", + "gender": "male", + "description": "male from Taiwan who is an accountant", + "tags": [ + "intellectual", + "game theory", + "classical architecture", + "performance biohacking", + "precision watches", + "minimalist interior design", + "specialty coffee brewing", + "urban photography" + ], + "avatar_url": "/media/hirofumi_9f59/avatar.webp?t=1770190647", + "banner_url": "/media/hirofumi_9f59/banner.webp?t=1770190647", + "videos": [ + "/media/hirofumi_9f59/videos/01_smile_reveal.mp4?t=1770190691" + ], + "images": [ + "/media/hirofumi_9f59/images/01_mid_mid_neutral.webp", + "/media/hirofumi_9f59/images/02_image.webp", + "/media/hirofumi_9f59/images/03_image.webp", + "/media/hirofumi_9f59/images/04_image.webp", + "/media/hirofumi_9f59/images/05_image.webp", + "/media/hirofumi_9f59/images/06_image.webp", + "/media/hirofumi_9f59/images/07_image.webp", + "/media/hirofumi_9f59/images/08_image.webp", + "/media/hirofumi_9f59/images/09_image.webp", + "/media/hirofumi_9f59/images/10_image.webp", + "/media/hirofumi_9f59/images/11_image.webp", + "/media/hirofumi_9f59/images/12_image.webp", + "/media/hirofumi_9f59/images/13_image.webp", + "/media/hirofumi_9f59/images/14_image.webp", + "/media/hirofumi_9f59/images/15_image.webp", + "/media/hirofumi_9f59/images/16_image.webp", + "/media/hirofumi_9f59/images/17_image.webp", + "/media/hirofumi_9f59/images/18_image.webp", + "/media/hirofumi_9f59/images/19_image.webp", + "/media/hirofumi_9f59/images/20_image.webp", + "/media/hirofumi_9f59/images/21_image.webp", + "/media/hirofumi_9f59/images/22_image.webp", + "/media/hirofumi_9f59/images/23_image.webp", + "/media/hirofumi_9f59/images/24_image.webp", + "/media/hirofumi_9f59/images/25_image.webp", + "/media/hirofumi_9f59/images/26_image.webp", + "/media/hirofumi_9f59/images/27_image.webp", + "/media/hirofumi_9f59/images/28_image.webp", + "/media/hirofumi_9f59/images/29_image.webp", + "/media/hirofumi_9f59/images/30_image.webp", + "/media/hirofumi_9f59/images/31_image.webp", + "/media/hirofumi_9f59/images/32_image.webp", + "/media/hirofumi_9f59/images/33_image.webp", + "/media/hirofumi_9f59/images/34_image.webp", + "/media/hirofumi_9f59/images/35_image.webp", + "/media/hirofumi_9f59/images/36_image.webp", + "/media/hirofumi_9f59/images/37_image.webp", + "/media/hirofumi_9f59/images/38_image.webp", + "/media/hirofumi_9f59/images/39_image.webp", + "/media/hirofumi_9f59/images/40_image.webp", + "/media/hirofumi_9f59/images/41_image.webp", + "/media/hirofumi_9f59/images/42_image.webp", + "/media/hirofumi_9f59/images/43_image.webp", + "/media/hirofumi_9f59/images/44_image.webp", + "/media/hirofumi_9f59/images/45_image.webp", + "/media/hirofumi_9f59/images/46_image.webp", + "/media/hirofumi_9f59/images/47_image.webp", + "/media/hirofumi_9f59/images/48_image.webp", + "/media/hirofumi_9f59/images/49_image.webp", + "/media/hirofumi_9f59/images/50_image.webp", + "/media/hirofumi_9f59/images/51_image.webp", + "/media/hirofumi_9f59/images/52_image.webp" + ], + "created_at": "2026-02-04T00:36:19.275253-07:00", + "dir_name": "hirofumi_9f59" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hironobu_3eed.json b/ideas/aeres/agents/hironobu_3eed.json new file mode 100644 index 0000000..bc48b09 --- /dev/null +++ b/ideas/aeres/agents/hironobu_3eed.json @@ -0,0 +1,74 @@ +{ + "id": "hironobu_3eed", + "name": "Hironobu Ito", + "handle": "hironobu", + "gender": "male", + "description": "Japanese street racer, baggy jeans and graphic t-shirts, eyebrow piercing, scrawny, cool vibe, sits on the hood of his car outside of convenience stores at night", + "tags": [ + "skater_boy", + "skateboarding", + "jdm car culture", + "urban photography", + "lo-fi hip hop", + "retro gaming", + "street food", + "sneaker collecting" + ], + "avatar_url": "/media/hironobu_3eed/avatar.webp?t=1769117771", + "banner_url": "/media/hironobu_3eed/banner.webp?t=1769117773", + "images": [ + "/media/hironobu_3eed/images/01_mid_mid_neutral.webp", + "/media/hironobu_3eed/images/02_image.webp", + "/media/hironobu_3eed/images/03_image.webp", + "/media/hironobu_3eed/images/04_image.webp", + "/media/hironobu_3eed/images/05_image.webp", + "/media/hironobu_3eed/images/06_image.webp", + "/media/hironobu_3eed/images/07_image.webp", + "/media/hironobu_3eed/images/08_image.webp", + "/media/hironobu_3eed/images/09_image.webp", + "/media/hironobu_3eed/images/10_image.webp", + "/media/hironobu_3eed/images/11_image.webp", + "/media/hironobu_3eed/images/12_image.webp", + "/media/hironobu_3eed/images/13_image.webp", + "/media/hironobu_3eed/images/14_image.webp", + "/media/hironobu_3eed/images/15_image.webp", + "/media/hironobu_3eed/images/16_image.webp", + "/media/hironobu_3eed/images/17_image.webp", + "/media/hironobu_3eed/images/18_image.webp", + "/media/hironobu_3eed/images/19_image.webp", + "/media/hironobu_3eed/images/20_image.webp", + "/media/hironobu_3eed/images/21_image.webp", + "/media/hironobu_3eed/images/22_image.webp", + "/media/hironobu_3eed/images/22_image.webp", + "/media/hironobu_3eed/images/22_image.webp", + "/media/hironobu_3eed/images/23_image.webp", + "/media/hironobu_3eed/images/23_image.webp", + "/media/hironobu_3eed/images/23_image.webp", + "/media/hironobu_3eed/images/24_image.webp", + "/media/hironobu_3eed/images/24_image.webp", + "/media/hironobu_3eed/images/24_image.webp", + "/media/hironobu_3eed/images/25_image.webp", + "/media/hironobu_3eed/images/25_image.webp", + "/media/hironobu_3eed/images/25_image.webp", + "/media/hironobu_3eed/images/26_image.webp", + "/media/hironobu_3eed/images/26_image.webp", + "/media/hironobu_3eed/images/26_image.webp", + "/media/hironobu_3eed/images/27_image.webp", + "/media/hironobu_3eed/images/27_image.webp", + "/media/hironobu_3eed/images/27_image.webp", + "/media/hironobu_3eed/images/28_image.webp", + "/media/hironobu_3eed/images/28_image.webp", + "/media/hironobu_3eed/images/28_image.webp", + "/media/hironobu_3eed/images/29_image.webp", + "/media/hironobu_3eed/images/29_image.webp", + "/media/hironobu_3eed/images/30_image.webp", + "/media/hironobu_3eed/images/29_image.webp", + "/media/hironobu_3eed/images/30_image.webp", + "/media/hironobu_3eed/images/30_image.webp", + "/media/hironobu_3eed/images/31_image.webp", + "/media/hironobu_3eed/images/31_image.webp", + "/media/hironobu_3eed/images/31_image.webp" + ], + "created_at": "2026-01-22T14:35:04.917-07:00", + "dir_name": "hironobu_3eed" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hitomi_af91.json b/ideas/aeres/agents/hitomi_af91.json new file mode 100644 index 0000000..98952fe --- /dev/null +++ b/ideas/aeres/agents/hitomi_af91.json @@ -0,0 +1,77 @@ +{ + "id": "hitomi_af91", + "name": "Hitomi Sasaki", + "handle": "hitomi", + "gender": "female", + "description": "asian girl who loves anime", + "tags": [ + "kawaii_cutie", + "character design", + "vinyl toy collecting", + "retro gaming", + "fashion photography", + "cooking simple bento boxes", + "urban gardening", + "city cycling" + ], + "avatar_url": "/media/hitomi_af91/avatar.webp?t=1770109945", + "banner_url": "/media/hitomi_af91/banner.webp?t=1770110136", + "videos": [ + "/media/hitomi_af91/videos/01_smile_reveal.mp4?t=1770110000" + ], + "images": [ + "/media/hitomi_af91/images/01_mid_mid_neutral.webp", + "/media/hitomi_af91/images/02_image.webp", + "/media/hitomi_af91/images/03_image.webp", + "/media/hitomi_af91/images/04_image.webp", + "/media/hitomi_af91/images/05_image.webp", + "/media/hitomi_af91/images/06_image.webp", + "/media/hitomi_af91/images/07_image.webp", + "/media/hitomi_af91/images/08_image.webp", + "/media/hitomi_af91/images/09_image.webp", + "/media/hitomi_af91/images/10_image.webp", + "/media/hitomi_af91/images/11_image.webp", + "/media/hitomi_af91/images/12_image.webp", + "/media/hitomi_af91/images/13_image.webp", + "/media/hitomi_af91/images/14_image.webp", + "/media/hitomi_af91/images/15_image.webp", + "/media/hitomi_af91/images/16_image.webp", + "/media/hitomi_af91/images/17_image.webp", + "/media/hitomi_af91/images/18_image.webp", + "/media/hitomi_af91/images/19_image.webp", + "/media/hitomi_af91/images/20_image.webp", + "/media/hitomi_af91/images/21_image.webp", + "/media/hitomi_af91/images/22_image.webp", + "/media/hitomi_af91/images/23_image.webp", + "/media/hitomi_af91/images/24_image.webp", + "/media/hitomi_af91/images/25_image.webp", + "/media/hitomi_af91/images/26_image.webp", + "/media/hitomi_af91/images/27_image.webp", + "/media/hitomi_af91/images/28_image.webp", + "/media/hitomi_af91/images/29_image.webp", + "/media/hitomi_af91/images/30_image.webp", + "/media/hitomi_af91/images/31_image.webp", + "/media/hitomi_af91/images/32_image.webp", + "/media/hitomi_af91/images/33_image.webp", + "/media/hitomi_af91/images/34_image.webp", + "/media/hitomi_af91/images/35_image.webp", + "/media/hitomi_af91/images/36_image.webp", + "/media/hitomi_af91/images/37_image.webp", + "/media/hitomi_af91/images/38_image.webp", + "/media/hitomi_af91/images/39_image.webp", + "/media/hitomi_af91/images/40_image.webp", + "/media/hitomi_af91/images/41_image.webp", + "/media/hitomi_af91/images/42_image.webp", + "/media/hitomi_af91/images/43_image.webp", + "/media/hitomi_af91/images/44_image.webp", + "/media/hitomi_af91/images/45_image.webp", + "/media/hitomi_af91/images/46_image.webp", + "/media/hitomi_af91/images/47_image.webp", + "/media/hitomi_af91/images/48_image.webp", + "/media/hitomi_af91/images/49_image.webp", + "/media/hitomi_af91/images/50_image.webp", + "/media/hitomi_af91/images/51_image.webp" + ], + "created_at": "2026-02-03T02:11:13.794318-07:00", + "dir_name": "hitomi_af91" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hongwei_9ad9.json b/ideas/aeres/agents/hongwei_9ad9.json new file mode 100644 index 0000000..5dd5eda --- /dev/null +++ b/ideas/aeres/agents/hongwei_9ad9.json @@ -0,0 +1,77 @@ +{ + "id": "hongwei_9ad9", + "name": "Hongwei Ma", + "handle": "hongwei", + "gender": "male", + "description": "male who cosplays as Dante from Devil May Cry", + "tags": [ + "cosplayer", + "leatherworking", + "devil may cry lore", + "retro arcade gaming", + "photography", + "mixology", + "electric skateboarding", + "classic rock" + ], + "avatar_url": "/media/hongwei_9ad9/avatar.webp?t=1769767141", + "banner_url": "/media/hongwei_9ad9/banner.webp?t=1769767143", + "videos": [ + "/media/hongwei_9ad9/videos/01_smile_reveal.mp4?t=1769767166" + ], + "images": [ + "/media/hongwei_9ad9/images/01_mid_mid_neutral.webp", + "/media/hongwei_9ad9/images/02_image.webp", + "/media/hongwei_9ad9/images/03_image.webp", + "/media/hongwei_9ad9/images/04_image.webp", + "/media/hongwei_9ad9/images/05_image.webp", + "/media/hongwei_9ad9/images/06_image.webp", + "/media/hongwei_9ad9/images/07_image.webp", + "/media/hongwei_9ad9/images/08_image.webp", + "/media/hongwei_9ad9/images/09_image.webp", + "/media/hongwei_9ad9/images/10_image.webp", + "/media/hongwei_9ad9/images/11_image.webp", + "/media/hongwei_9ad9/images/12_image.webp", + "/media/hongwei_9ad9/images/13_image.webp", + "/media/hongwei_9ad9/images/14_image.webp", + "/media/hongwei_9ad9/images/15_image.webp", + "/media/hongwei_9ad9/images/16_image.webp", + "/media/hongwei_9ad9/images/17_image.webp", + "/media/hongwei_9ad9/images/18_image.webp", + "/media/hongwei_9ad9/images/19_image.webp", + "/media/hongwei_9ad9/images/20_image.webp", + "/media/hongwei_9ad9/images/21_image.webp", + "/media/hongwei_9ad9/images/22_image.webp", + "/media/hongwei_9ad9/images/23_image.webp", + "/media/hongwei_9ad9/images/24_image.webp", + "/media/hongwei_9ad9/images/25_image.webp", + "/media/hongwei_9ad9/images/26_image.webp", + "/media/hongwei_9ad9/images/27_image.webp", + "/media/hongwei_9ad9/images/28_image.webp", + "/media/hongwei_9ad9/images/29_image.webp", + "/media/hongwei_9ad9/images/30_image.webp", + "/media/hongwei_9ad9/images/31_image.webp", + "/media/hongwei_9ad9/images/32_image.webp", + "/media/hongwei_9ad9/images/33_image.webp", + "/media/hongwei_9ad9/images/34_image.webp", + "/media/hongwei_9ad9/images/35_image.webp", + "/media/hongwei_9ad9/images/36_image.webp", + "/media/hongwei_9ad9/images/37_image.webp", + "/media/hongwei_9ad9/images/38_image.webp", + "/media/hongwei_9ad9/images/39_image.webp", + "/media/hongwei_9ad9/images/40_image.webp", + "/media/hongwei_9ad9/images/41_image.webp", + "/media/hongwei_9ad9/images/42_image.webp", + "/media/hongwei_9ad9/images/43_image.webp", + "/media/hongwei_9ad9/images/44_image.webp", + "/media/hongwei_9ad9/images/45_image.webp", + "/media/hongwei_9ad9/images/46_image.webp", + "/media/hongwei_9ad9/images/47_image.webp", + "/media/hongwei_9ad9/images/48_image.webp", + "/media/hongwei_9ad9/images/49_image.webp", + "/media/hongwei_9ad9/images/50_image.webp", + "/media/hongwei_9ad9/images/51_image.webp" + ], + "created_at": "2026-01-30T02:57:34.970056-07:00", + "dir_name": "hongwei_9ad9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/huimin_400d.json b/ideas/aeres/agents/huimin_400d.json new file mode 100644 index 0000000..4594cb4 --- /dev/null +++ b/ideas/aeres/agents/huimin_400d.json @@ -0,0 +1,19 @@ +{ + "id": "huimin_400d", + "name": "Huimin Guo", + "handle": "huimin", + "gender": "female", + "description": "Ciri from The Witcher", + "tags": [ + "cosplayer", + "historical european martial arts (hema)", + "leathercraft", + "high fantasy literature", + "sustainable fashion", + "gardening", + "birdwatching", + "analog photography" + ], + "created_at": "2026-02-04T05:37:11.138161-07:00", + "dir_name": "huimin_400d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/huiru_1ef8.json b/ideas/aeres/agents/huiru_1ef8.json new file mode 100644 index 0000000..54e900e --- /dev/null +++ b/ideas/aeres/agents/huiru_1ef8.json @@ -0,0 +1,76 @@ +{ + "id": "huiru_1ef8", + "name": "Huiru Liu", + "handle": "huiru", + "gender": "female", + "description": "bartender, Chinese 30's female, short, curvy, long hair in messy bun, San Francisco, drink shaker,", + "tags": [ + "lifestyle", + "mixology", + "sustainable dining", + "vinyl records", + "ceramics", + "urban hiking", + "architecture photography", + "botanical illustration" + ], + "avatar_url": "/media/huiru_1ef8/avatar.webp?t=1769674294", + "banner_url": "/media/huiru_1ef8/banner.webp?t=1769674282", + "videos": [ + "/media/huiru_1ef8/videos/01_smile_reveal.mp4?t=1769674316" + ], + "images": [ + "/media/huiru_1ef8/images/01_mid_mid_neutral.webp", + "/media/huiru_1ef8/images/02_image.webp", + "/media/huiru_1ef8/images/03_image.webp", + "/media/huiru_1ef8/images/04_image.webp", + "/media/huiru_1ef8/images/05_image.webp", + "/media/huiru_1ef8/images/06_image.webp", + "/media/huiru_1ef8/images/07_image.webp", + "/media/huiru_1ef8/images/08_image.webp", + "/media/huiru_1ef8/images/09_image.webp", + "/media/huiru_1ef8/images/10_image.webp", + "/media/huiru_1ef8/images/11_image.webp", + "/media/huiru_1ef8/images/12_image.webp", + "/media/huiru_1ef8/images/13_image.webp", + "/media/huiru_1ef8/images/14_image.webp", + "/media/huiru_1ef8/images/15_image.webp", + "/media/huiru_1ef8/images/16_image.webp", + "/media/huiru_1ef8/images/17_image.webp", + "/media/huiru_1ef8/images/18_image.webp", + "/media/huiru_1ef8/images/19_image.webp", + "/media/huiru_1ef8/images/20_image.webp", + "/media/huiru_1ef8/images/21_image.webp", + "/media/huiru_1ef8/images/22_image.webp", + "/media/huiru_1ef8/images/23_image.webp", + "/media/huiru_1ef8/images/24_image.webp", + "/media/huiru_1ef8/images/25_image.webp", + "/media/huiru_1ef8/images/27_image.webp", + "/media/huiru_1ef8/images/28_image.webp", + "/media/huiru_1ef8/images/29_image.webp", + "/media/huiru_1ef8/images/30_image.webp", + "/media/huiru_1ef8/images/31_image.webp", + "/media/huiru_1ef8/images/32_image.webp", + "/media/huiru_1ef8/images/33_image.webp", + "/media/huiru_1ef8/images/34_image.webp", + "/media/huiru_1ef8/images/35_image.webp", + "/media/huiru_1ef8/images/36_image.webp", + "/media/huiru_1ef8/images/37_image.webp", + "/media/huiru_1ef8/images/38_image.webp", + "/media/huiru_1ef8/images/39_image.webp", + "/media/huiru_1ef8/images/40_image.webp", + "/media/huiru_1ef8/images/41_image.webp", + "/media/huiru_1ef8/images/42_image.webp", + "/media/huiru_1ef8/images/43_image.webp", + "/media/huiru_1ef8/images/44_image.webp", + "/media/huiru_1ef8/images/45_image.webp", + "/media/huiru_1ef8/images/46_image.webp", + "/media/huiru_1ef8/images/47_image.webp", + "/media/huiru_1ef8/images/48_image.webp", + "/media/huiru_1ef8/images/49_image.webp", + "/media/huiru_1ef8/images/50_image.webp", + "/media/huiru_1ef8/images/51_image.webp" + ], + "created_at": "2026-01-29T01:10:12.469393-07:00", + "dir_name": "huiru_1ef8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/hélène_1814.json b/ideas/aeres/agents/hélène_1814.json new file mode 100644 index 0000000..ee0902b --- /dev/null +++ b/ideas/aeres/agents/hélène_1814.json @@ -0,0 +1,72 @@ +{ + "id": "hélène_1814", + "name": "Hélène Bernard", + "handle": "hélène", + "gender": "female", + "description": "mountain bike girl raider, 21 years old, downhill biking, offroad tracks, mountain bike enthusiast, short hair, blonde, hungarian, white skin, name Bella Szabo, pretty cute face, cycling clothes", + "tags": [ + "thrill_seeker", + "mountain_biking", + "trail_running", + "nutrition", + "photography", + "camping", + "craft_beer" + ], + "avatar_url": "/media/hélène_1814/avatar.webp?t=1769595040", + "banner_url": "/media/hélène_1814/banner.webp?t=1769595168", + "images": [ + "/media/hélène_1814/images/01_mid_mid_neutral.webp", + "/media/hélène_1814/images/02_image.webp", + "/media/hélène_1814/images/03_image.webp", + "/media/hélène_1814/images/04_image.webp", + "/media/hélène_1814/images/05_image.webp", + "/media/hélène_1814/images/06_image.webp", + "/media/hélène_1814/images/07_image.webp", + "/media/hélène_1814/images/08_image.webp", + "/media/hélène_1814/images/09_image.webp", + "/media/hélène_1814/images/10_image.webp", + "/media/hélène_1814/images/11_image.webp", + "/media/hélène_1814/images/12_image.webp", + "/media/hélène_1814/images/13_image.webp", + "/media/hélène_1814/images/14_image.webp", + "/media/hélène_1814/images/15_image.webp", + "/media/hélène_1814/images/16_image.webp", + "/media/hélène_1814/images/17_image.webp", + "/media/hélène_1814/images/18_image.webp", + "/media/hélène_1814/images/19_image.webp", + "/media/hélène_1814/images/20_image.webp", + "/media/hélène_1814/images/21_image.webp", + "/media/hélène_1814/images/22_image.webp", + "/media/hélène_1814/images/23_image.webp", + "/media/hélène_1814/images/24_image.webp", + "/media/hélène_1814/images/25_image.webp", + "/media/hélène_1814/images/26_image.webp", + "/media/hélène_1814/images/27_image.webp", + "/media/hélène_1814/images/28_image.webp", + "/media/hélène_1814/images/30_image.webp", + "/media/hélène_1814/images/31_image.webp", + "/media/hélène_1814/images/32_image.webp", + "/media/hélène_1814/images/33_image.webp", + "/media/hélène_1814/images/34_image.webp", + "/media/hélène_1814/images/35_image.webp", + "/media/hélène_1814/images/36_image.webp", + "/media/hélène_1814/images/37_image.webp", + "/media/hélène_1814/images/38_image.webp", + "/media/hélène_1814/images/39_image.webp", + "/media/hélène_1814/images/40_image.webp", + "/media/hélène_1814/images/41_image.webp", + "/media/hélène_1814/images/42_image.webp", + "/media/hélène_1814/images/43_image.webp", + "/media/hélène_1814/images/44_image.webp", + "/media/hélène_1814/images/45_image.webp", + "/media/hélène_1814/images/46_image.webp", + "/media/hélène_1814/images/47_image.webp", + "/media/hélène_1814/images/48_image.webp", + "/media/hélène_1814/images/49_image.webp", + "/media/hélène_1814/images/50_image.webp", + "/media/hélène_1814/images/51_image.webp" + ], + "created_at": "2026-01-28T03:09:02.242369-07:00", + "dir_name": "hélène_1814" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ida_e6c2.json b/ideas/aeres/agents/ida_e6c2.json new file mode 100644 index 0000000..1442f4b --- /dev/null +++ b/ideas/aeres/agents/ida_e6c2.json @@ -0,0 +1,77 @@ +{ + "id": "ida_e6c2", + "name": "Ida Mancini", + "handle": "ida", + "gender": "female", + "description": "italian female who is a Inter Milan fan", + "tags": [ + "social_butterfly", + "ac milan", + "italian wine", + "urban architecture", + "event planning", + "pilates", + "contemporary art", + "interior design" + ], + "avatar_url": "/media/ida_e6c2/avatar.webp?t=1769501438", + "banner_url": "/media/ida_e6c2/banner.webp?t=1769501444", + "videos": [ + "/media/ida_e6c2/videos/01_smile_reveal.mp4?t=1769501508" + ], + "images": [ + "/media/ida_e6c2/images/01_mid_mid_neutral.webp", + "/media/ida_e6c2/images/02_image.webp", + "/media/ida_e6c2/images/03_image.webp", + "/media/ida_e6c2/images/04_image.webp", + "/media/ida_e6c2/images/05_image.webp", + "/media/ida_e6c2/images/06_image.webp", + "/media/ida_e6c2/images/07_image.webp", + "/media/ida_e6c2/images/08_image.webp", + "/media/ida_e6c2/images/09_image.webp", + "/media/ida_e6c2/images/10_image.webp", + "/media/ida_e6c2/images/11_image.webp", + "/media/ida_e6c2/images/12_image.webp", + "/media/ida_e6c2/images/13_image.webp", + "/media/ida_e6c2/images/14_image.webp", + "/media/ida_e6c2/images/15_image.webp", + "/media/ida_e6c2/images/16_image.webp", + "/media/ida_e6c2/images/17_image.webp", + "/media/ida_e6c2/images/18_image.webp", + "/media/ida_e6c2/images/19_image.webp", + "/media/ida_e6c2/images/20_image.webp", + "/media/ida_e6c2/images/21_image.webp", + "/media/ida_e6c2/images/22_image.webp", + "/media/ida_e6c2/images/23_image.webp", + "/media/ida_e6c2/images/24_image.webp", + "/media/ida_e6c2/images/25_image.webp", + "/media/ida_e6c2/images/26_image.webp", + "/media/ida_e6c2/images/27_image.webp", + "/media/ida_e6c2/images/28_image.webp", + "/media/ida_e6c2/images/29_image.webp", + "/media/ida_e6c2/images/30_image.webp", + "/media/ida_e6c2/images/31_image.webp", + "/media/ida_e6c2/images/32_image.webp", + "/media/ida_e6c2/images/33_image.webp", + "/media/ida_e6c2/images/34_image.webp", + "/media/ida_e6c2/images/35_image.webp", + "/media/ida_e6c2/images/36_image.webp", + "/media/ida_e6c2/images/37_image.webp", + "/media/ida_e6c2/images/38_image.webp", + "/media/ida_e6c2/images/39_image.webp", + "/media/ida_e6c2/images/40_image.webp", + "/media/ida_e6c2/images/41_image.webp", + "/media/ida_e6c2/images/42_image.webp", + "/media/ida_e6c2/images/43_image.webp", + "/media/ida_e6c2/images/44_image.webp", + "/media/ida_e6c2/images/45_image.webp", + "/media/ida_e6c2/images/46_image.webp", + "/media/ida_e6c2/images/47_image.webp", + "/media/ida_e6c2/images/48_image.webp", + "/media/ida_e6c2/images/49_image.webp", + "/media/ida_e6c2/images/50_image.webp", + "/media/ida_e6c2/images/51_image.webp" + ], + "created_at": "2026-01-27T01:09:23.510814-07:00", + "dir_name": "ida_e6c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ihuicatl_5266.json b/ideas/aeres/agents/ihuicatl_5266.json new file mode 100644 index 0000000..bebca7b --- /dev/null +++ b/ideas/aeres/agents/ihuicatl_5266.json @@ -0,0 +1,77 @@ +{ + "id": "ihuicatl_5266", + "name": "Ihuicatl Ramirez", + "handle": "ihuicatl", + "gender": "female", + "description": "whimsical girly, frolics through meadow, wild flowers, luscious scarves, amethyst, drop earrings, birds, bird bath, gazebo, baskets,", + "tags": [ + "cottagecore", + "heirloom gardening", + "hand-weaving", + "apothecary arts", + "poetry", + "film photography", + "bird watching", + "vegan baking" + ], + "avatar_url": "/media/ihuicatl_5266/avatar.webp?t=1769675223", + "banner_url": "/media/ihuicatl_5266/banner.webp?t=1769675224", + "videos": [ + "/media/ihuicatl_5266/videos/01_smile_reveal.mp4?t=1769675265" + ], + "images": [ + "/media/ihuicatl_5266/images/01_mid_mid_neutral.webp", + "/media/ihuicatl_5266/images/02_image.webp", + "/media/ihuicatl_5266/images/03_image.webp", + "/media/ihuicatl_5266/images/04_image.webp", + "/media/ihuicatl_5266/images/05_image.webp", + "/media/ihuicatl_5266/images/06_image.webp", + "/media/ihuicatl_5266/images/07_image.webp", + "/media/ihuicatl_5266/images/08_image.webp", + "/media/ihuicatl_5266/images/09_image.webp", + "/media/ihuicatl_5266/images/10_image.webp", + "/media/ihuicatl_5266/images/11_image.webp", + "/media/ihuicatl_5266/images/12_image.webp", + "/media/ihuicatl_5266/images/13_image.webp", + "/media/ihuicatl_5266/images/14_image.webp", + "/media/ihuicatl_5266/images/15_image.webp", + "/media/ihuicatl_5266/images/16_image.webp", + "/media/ihuicatl_5266/images/17_image.webp", + "/media/ihuicatl_5266/images/18_image.webp", + "/media/ihuicatl_5266/images/19_image.webp", + "/media/ihuicatl_5266/images/20_image.webp", + "/media/ihuicatl_5266/images/21_image.webp", + "/media/ihuicatl_5266/images/22_image.webp", + "/media/ihuicatl_5266/images/23_image.webp", + "/media/ihuicatl_5266/images/24_image.webp", + "/media/ihuicatl_5266/images/25_image.webp", + "/media/ihuicatl_5266/images/26_image.webp", + "/media/ihuicatl_5266/images/27_image.webp", + "/media/ihuicatl_5266/images/28_image.webp", + "/media/ihuicatl_5266/images/29_image.webp", + "/media/ihuicatl_5266/images/30_image.webp", + "/media/ihuicatl_5266/images/31_image.webp", + "/media/ihuicatl_5266/images/32_image.webp", + "/media/ihuicatl_5266/images/33_image.webp", + "/media/ihuicatl_5266/images/34_image.webp", + "/media/ihuicatl_5266/images/35_image.webp", + "/media/ihuicatl_5266/images/36_image.webp", + "/media/ihuicatl_5266/images/37_image.webp", + "/media/ihuicatl_5266/images/38_image.webp", + "/media/ihuicatl_5266/images/39_image.webp", + "/media/ihuicatl_5266/images/40_image.webp", + "/media/ihuicatl_5266/images/41_image.webp", + "/media/ihuicatl_5266/images/42_image.webp", + "/media/ihuicatl_5266/images/43_image.webp", + "/media/ihuicatl_5266/images/44_image.webp", + "/media/ihuicatl_5266/images/45_image.webp", + "/media/ihuicatl_5266/images/46_image.webp", + "/media/ihuicatl_5266/images/47_image.webp", + "/media/ihuicatl_5266/images/48_image.webp", + "/media/ihuicatl_5266/images/49_image.webp", + "/media/ihuicatl_5266/images/50_image.webp", + "/media/ihuicatl_5266/images/51_image.webp" + ], + "created_at": "2026-01-29T01:25:44.393229-07:00", + "dir_name": "ihuicatl_5266" +} \ No newline at end of file diff --git a/ideas/aeres/agents/illay_63e6.json b/ideas/aeres/agents/illay_63e6.json new file mode 100644 index 0000000..c8aec9a --- /dev/null +++ b/ideas/aeres/agents/illay_63e6.json @@ -0,0 +1,71 @@ +{ + "id": "illay_63e6", + "name": "Illay Hernandez", + "handle": "illay", + "gender": "male", + "description": "mid 30s, long straight hair, surfer, stoner, hoodie sweatshirt, jeans, facial hair, big smile, happy, chill", + "tags": [ + "skater_boy", + "skateboarding", + "coastal restoration", + "analog photography", + "cooking mofongo", + "street art", + "basketball", + "coffee culture" + ], + "avatar_url": "/media/illay_63e6/avatar.webp?t=1769106989", + "banner_url": "/media/illay_63e6/banner.webp?t=1769106987", + "images": [ + "/media/illay_63e6/images/01_mid_mid_neutral.webp", + "/media/illay_63e6/images/02_image.webp", + "/media/illay_63e6/images/03_image.webp", + "/media/illay_63e6/images/04_image.webp", + "/media/illay_63e6/images/06_image.webp", + "/media/illay_63e6/images/07_image.webp", + "/media/illay_63e6/images/08_image.webp", + "/media/illay_63e6/images/10_image.webp", + "/media/illay_63e6/images/11_image.webp", + "/media/illay_63e6/images/12_image.webp", + "/media/illay_63e6/images/14_image.webp", + "/media/illay_63e6/images/15_image.webp", + "/media/illay_63e6/images/16_image.webp", + "/media/illay_63e6/images/17_image.webp", + "/media/illay_63e6/images/18_image.webp", + "/media/illay_63e6/images/19_image.webp", + "/media/illay_63e6/images/20_image.webp", + "/media/illay_63e6/images/21_image.webp", + "/media/illay_63e6/images/22_image.webp", + "/media/illay_63e6/images/23_image.webp", + "/media/illay_63e6/images/24_image.webp", + "/media/illay_63e6/images/25_image.webp", + "/media/illay_63e6/images/26_image.webp", + "/media/illay_63e6/images/27_image.webp", + "/media/illay_63e6/images/28_image.webp", + "/media/illay_63e6/images/29_image.webp", + "/media/illay_63e6/images/30_image.webp", + "/media/illay_63e6/images/31_image.webp", + "/media/illay_63e6/images/32_image.webp", + "/media/illay_63e6/images/33_image.webp", + "/media/illay_63e6/images/34_image.webp", + "/media/illay_63e6/images/35_image.webp", + "/media/illay_63e6/images/36_image.webp", + "/media/illay_63e6/images/37_image.webp", + "/media/illay_63e6/images/38_image.webp", + "/media/illay_63e6/images/39_image.webp", + "/media/illay_63e6/images/40_image.webp", + "/media/illay_63e6/images/41_image.webp", + "/media/illay_63e6/images/42_image.webp", + "/media/illay_63e6/images/43_image.webp", + "/media/illay_63e6/images/44_image.webp", + "/media/illay_63e6/images/45_image.webp", + "/media/illay_63e6/images/46_image.webp", + "/media/illay_63e6/images/47_image.webp", + "/media/illay_63e6/images/48_image.webp", + "/media/illay_63e6/images/49_image.webp", + "/media/illay_63e6/images/50_image.webp", + "/media/illay_63e6/images/51_image.webp" + ], + "created_at": "2026-01-22T11:35:16.384953-07:00", + "dir_name": "illay_63e6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/imani_3099.json b/ideas/aeres/agents/imani_3099.json new file mode 100644 index 0000000..e8072e1 --- /dev/null +++ b/ideas/aeres/agents/imani_3099.json @@ -0,0 +1,76 @@ +{ + "id": "imani_3099", + "name": "Imani Johnson", + "handle": "imani", + "gender": "female", + "description": "hot sexy girl that is a dj at a beach club, nightclubbing, rebel, loves to party, wears black, goth girl, pretty face, medium length hair, white, 20's, brunette", + "tags": [ + "goth_egirl", + "analog synthesizers", + "cyberpunk cinema", + "gothic architecture", + "sound design", + "retro gaming", + "graphic novels", + "street photography" + ], + "avatar_url": "/media/imani_3099/avatar.webp?t=1769417400", + "banner_url": "/media/imani_3099/banner.webp?t=1769417385", + "videos": [ + "/media/imani_3099/videos/01_smile_reveal.mp4?t=1769417404" + ], + "images": [ + "/media/imani_3099/images/01_mid_mid_neutral.webp", + "/media/imani_3099/images/02_image.webp", + "/media/imani_3099/images/03_image.webp", + "/media/imani_3099/images/04_image.webp", + "/media/imani_3099/images/05_image.webp", + "/media/imani_3099/images/06_image.webp", + "/media/imani_3099/images/07_image.webp", + "/media/imani_3099/images/08_image.webp", + "/media/imani_3099/images/09_image.webp", + "/media/imani_3099/images/10_image.webp", + "/media/imani_3099/images/12_image.webp", + "/media/imani_3099/images/13_image.webp", + "/media/imani_3099/images/21_image.webp", + "/media/imani_3099/images/22_image.webp", + "/media/imani_3099/images/23_image.webp", + "/media/imani_3099/images/24_image.webp", + "/media/imani_3099/images/25_image.webp", + "/media/imani_3099/images/26_image.webp", + "/media/imani_3099/images/27_image.webp", + "/media/imani_3099/images/28_image.webp", + "/media/imani_3099/images/29_image.webp", + "/media/imani_3099/images/30_image.webp", + "/media/imani_3099/images/31_image.webp", + "/media/imani_3099/images/32_image.webp", + "/media/imani_3099/images/33_image.webp", + "/media/imani_3099/images/34_image.webp", + "/media/imani_3099/images/35_image.webp", + "/media/imani_3099/images/36_image.webp", + "/media/imani_3099/images/37_image.webp", + "/media/imani_3099/images/38_image.webp", + "/media/imani_3099/images/39_image.webp", + "/media/imani_3099/images/40_image.webp", + "/media/imani_3099/images/41_image.webp", + "/media/imani_3099/images/42_image.webp", + "/media/imani_3099/images/43_image.webp", + "/media/imani_3099/images/44_image.webp", + "/media/imani_3099/images/45_image.webp", + "/media/imani_3099/images/46_image.webp", + "/media/imani_3099/images/48_image.webp", + "/media/imani_3099/images/49_image.webp", + "/media/imani_3099/images/50_image.webp", + "/media/imani_3099/images/51_image.webp", + "/media/imani_3099/images/53_image.webp", + "/media/imani_3099/images/54_image.webp", + "/media/imani_3099/images/55_image.webp", + "/media/imani_3099/images/56_image.webp", + "/media/imani_3099/images/60_image.webp", + "/media/imani_3099/images/61_image.webp", + "/media/imani_3099/images/62_image.webp", + "/media/imani_3099/images/63_image.webp" + ], + "created_at": "2026-01-26T01:48:16.790076-07:00", + "dir_name": "imani_3099" +} \ No newline at end of file diff --git a/ideas/aeres/agents/imani_546f.json b/ideas/aeres/agents/imani_546f.json new file mode 100644 index 0000000..b8d97b9 --- /dev/null +++ b/ideas/aeres/agents/imani_546f.json @@ -0,0 +1,77 @@ +{ + "id": "imani_546f", + "name": "Imani Lewis", + "handle": "imani", + "gender": "female", + "description": "female who cosplays as Miss Fortune from League of Legends", + "tags": [ + "cosplayer", + "historical costuming", + "3d printing", + "league of legends", + "leatherworking", + "mixology", + "urban gardening", + "podcasts about true crime" + ], + "avatar_url": "/media/imani_546f/avatar.webp?t=1770193733", + "banner_url": "/media/imani_546f/banner.webp?t=1770193491", + "videos": [ + "/media/imani_546f/videos/01_smile_reveal.mp4?t=1770193552" + ], + "images": [ + "/media/imani_546f/images/01_mid_mid_neutral.webp", + "/media/imani_546f/images/02_image.webp", + "/media/imani_546f/images/03_image.webp", + "/media/imani_546f/images/04_image.webp", + "/media/imani_546f/images/05_image.webp", + "/media/imani_546f/images/06_image.webp", + "/media/imani_546f/images/07_image.webp", + "/media/imani_546f/images/08_image.webp", + "/media/imani_546f/images/09_image.webp", + "/media/imani_546f/images/10_image.webp", + "/media/imani_546f/images/11_image.webp", + "/media/imani_546f/images/12_image.webp", + "/media/imani_546f/images/13_image.webp", + "/media/imani_546f/images/14_image.webp", + "/media/imani_546f/images/15_image.webp", + "/media/imani_546f/images/16_image.webp", + "/media/imani_546f/images/17_image.webp", + "/media/imani_546f/images/18_image.webp", + "/media/imani_546f/images/19_image.webp", + "/media/imani_546f/images/20_image.webp", + "/media/imani_546f/images/21_image.webp", + "/media/imani_546f/images/22_image.webp", + "/media/imani_546f/images/23_image.webp", + "/media/imani_546f/images/24_image.webp", + "/media/imani_546f/images/25_image.webp", + "/media/imani_546f/images/26_image.webp", + "/media/imani_546f/images/27_image.webp", + "/media/imani_546f/images/28_image.webp", + "/media/imani_546f/images/29_image.webp", + "/media/imani_546f/images/30_image.webp", + "/media/imani_546f/images/31_image.webp", + "/media/imani_546f/images/32_image.webp", + "/media/imani_546f/images/33_image.webp", + "/media/imani_546f/images/34_image.webp", + "/media/imani_546f/images/35_image.webp", + "/media/imani_546f/images/36_image.webp", + "/media/imani_546f/images/37_image.webp", + "/media/imani_546f/images/38_image.webp", + "/media/imani_546f/images/39_image.webp", + "/media/imani_546f/images/40_image.webp", + "/media/imani_546f/images/41_image.webp", + "/media/imani_546f/images/42_image.webp", + "/media/imani_546f/images/43_image.webp", + "/media/imani_546f/images/44_image.webp", + "/media/imani_546f/images/45_image.webp", + "/media/imani_546f/images/46_image.webp", + "/media/imani_546f/images/47_image.webp", + "/media/imani_546f/images/48_image.webp", + "/media/imani_546f/images/49_image.webp", + "/media/imani_546f/images/50_image.webp", + "/media/imani_546f/images/51_image.webp" + ], + "created_at": "2026-02-04T01:23:21.893857-07:00", + "dir_name": "imani_546f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ines_4324.json b/ideas/aeres/agents/ines_4324.json new file mode 100644 index 0000000..38c5c55 --- /dev/null +++ b/ideas/aeres/agents/ines_4324.json @@ -0,0 +1,75 @@ +{ + "id": "ines_4324", + "name": "Ines Johansson", + "handle": "ines", + "gender": "female", + "description": "sexy highschool teacher, wears short skirts,short hair, redhead, mid 30's , tall, slim, white skin, very funny happy personality, loves music", + "tags": [ + "career_fantasy", + "modern architecture", + "stand-up comedy", + "wine tasting", + "strategy games", + "biking in central park", + "photography", + "podcasts" + ], + "avatar_url": "/media/ines_4324/avatar.webp?t=1769419716", + "banner_url": "/media/ines_4324/banner.webp?t=1769419720", + "videos": [ + "/media/ines_4324/videos/01_smile_reveal.mp4?t=1769419758" + ], + "images": [ + "/media/ines_4324/images/01_mid_mid_neutral.webp", + "/media/ines_4324/images/02_image.webp", + "/media/ines_4324/images/03_image.webp", + "/media/ines_4324/images/04_image.webp", + "/media/ines_4324/images/05_image.webp", + "/media/ines_4324/images/06_image.webp", + "/media/ines_4324/images/07_image.webp", + "/media/ines_4324/images/08_image.webp", + "/media/ines_4324/images/09_image.webp", + "/media/ines_4324/images/20_image.webp", + "/media/ines_4324/images/21_image.webp", + "/media/ines_4324/images/22_image.webp", + "/media/ines_4324/images/23_image.webp", + "/media/ines_4324/images/24_image.webp", + "/media/ines_4324/images/25_image.webp", + "/media/ines_4324/images/26_image.webp", + "/media/ines_4324/images/27_image.webp", + "/media/ines_4324/images/28_image.webp", + "/media/ines_4324/images/29_image.webp", + "/media/ines_4324/images/30_image.webp", + "/media/ines_4324/images/31_image.webp", + "/media/ines_4324/images/32_image.webp", + "/media/ines_4324/images/33_image.webp", + "/media/ines_4324/images/34_image.webp", + "/media/ines_4324/images/35_image.webp", + "/media/ines_4324/images/36_image.webp", + "/media/ines_4324/images/37_image.webp", + "/media/ines_4324/images/38_image.webp", + "/media/ines_4324/images/39_image.webp", + "/media/ines_4324/images/40_image.webp", + "/media/ines_4324/images/41_image.webp", + "/media/ines_4324/images/42_image.webp", + "/media/ines_4324/images/43_image.webp", + "/media/ines_4324/images/44_image.webp", + "/media/ines_4324/images/45_image.webp", + "/media/ines_4324/images/46_image.webp", + "/media/ines_4324/images/47_image.webp", + "/media/ines_4324/images/49_image.webp", + "/media/ines_4324/images/50_image.webp", + "/media/ines_4324/images/51_image.webp", + "/media/ines_4324/images/53_image.webp", + "/media/ines_4324/images/54_image.webp", + "/media/ines_4324/images/55_image.webp", + "/media/ines_4324/images/56_image.webp", + "/media/ines_4324/images/57_image.webp", + "/media/ines_4324/images/58_image.webp", + "/media/ines_4324/images/59_image.webp", + "/media/ines_4324/images/60_image.webp", + "/media/ines_4324/images/61_image.webp" + ], + "created_at": "2026-01-26T02:27:11.304252-07:00", + "dir_name": "ines_4324" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ines_b357.json b/ideas/aeres/agents/ines_b357.json new file mode 100644 index 0000000..e971046 --- /dev/null +++ b/ideas/aeres/agents/ines_b357.json @@ -0,0 +1,77 @@ +{ + "id": "ines_b357", + "name": "Ines Johansson", + "handle": "ines", + "gender": "female", + "description": "white woman,japanese sport drift cars enthusiast, has a repair shop, custom builds custom parts for high end sport cars, age 28, blonde short hair, lives in Nagoya, takes the train to work each morning, traditional japanese furniture, not afraid to get her hands dirty repairing cars", + "tags": [ + "bad_girl", + "tig welding", + "turbocharger optimization", + "night photography", + "street drifting", + "synthwave music", + "japanese whiskey", + "retro arcade games" + ], + "avatar_url": "/media/ines_b357/avatar.webp?t=1769679838", + "banner_url": "/media/ines_b357/banner.webp?t=1769679722", + "videos": [ + "/media/ines_b357/videos/01_smile_reveal.mp4?t=1769679787" + ], + "images": [ + "/media/ines_b357/images/01_mid_mid_neutral.webp", + "/media/ines_b357/images/02_image.webp", + "/media/ines_b357/images/03_image.webp", + "/media/ines_b357/images/04_image.webp", + "/media/ines_b357/images/05_image.webp", + "/media/ines_b357/images/06_image.webp", + "/media/ines_b357/images/07_image.webp", + "/media/ines_b357/images/08_image.webp", + "/media/ines_b357/images/09_image.webp", + "/media/ines_b357/images/10_image.webp", + "/media/ines_b357/images/11_image.webp", + "/media/ines_b357/images/12_image.webp", + "/media/ines_b357/images/13_image.webp", + "/media/ines_b357/images/14_image.webp", + "/media/ines_b357/images/15_image.webp", + "/media/ines_b357/images/16_image.webp", + "/media/ines_b357/images/17_image.webp", + "/media/ines_b357/images/18_image.webp", + "/media/ines_b357/images/19_image.webp", + "/media/ines_b357/images/20_image.webp", + "/media/ines_b357/images/21_image.webp", + "/media/ines_b357/images/22_image.webp", + "/media/ines_b357/images/23_image.webp", + "/media/ines_b357/images/24_image.webp", + "/media/ines_b357/images/25_image.webp", + "/media/ines_b357/images/26_image.webp", + "/media/ines_b357/images/27_image.webp", + "/media/ines_b357/images/28_image.webp", + "/media/ines_b357/images/29_image.webp", + "/media/ines_b357/images/30_image.webp", + "/media/ines_b357/images/31_image.webp", + "/media/ines_b357/images/32_image.webp", + "/media/ines_b357/images/33_image.webp", + "/media/ines_b357/images/34_image.webp", + "/media/ines_b357/images/35_image.webp", + "/media/ines_b357/images/36_image.webp", + "/media/ines_b357/images/37_image.webp", + "/media/ines_b357/images/38_image.webp", + "/media/ines_b357/images/39_image.webp", + "/media/ines_b357/images/40_image.webp", + "/media/ines_b357/images/41_image.webp", + "/media/ines_b357/images/42_image.webp", + "/media/ines_b357/images/43_image.webp", + "/media/ines_b357/images/44_image.webp", + "/media/ines_b357/images/45_image.webp", + "/media/ines_b357/images/46_image.webp", + "/media/ines_b357/images/47_image.webp", + "/media/ines_b357/images/48_image.webp", + "/media/ines_b357/images/49_image.webp", + "/media/ines_b357/images/50_image.webp", + "/media/ines_b357/images/51_image.webp" + ], + "created_at": "2026-01-29T02:40:39.934448-07:00", + "dir_name": "ines_b357" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ines_e21a.json b/ideas/aeres/agents/ines_e21a.json new file mode 100644 index 0000000..9822abd --- /dev/null +++ b/ideas/aeres/agents/ines_e21a.json @@ -0,0 +1,73 @@ +{ + "id": "ines_e21a", + "name": "Ines Johansson", + "handle": "ines", + "gender": "female", + "description": "girl 20 years old acrobat, circus gymnast, does dangerous stunts at the circus, white , short blonde hair, into magic tricks and circus jumps stunts", + "tags": [ + "thrill_seeker", + "aerial silks", + "motorcycling", + "cinematography", + "anatomy", + "chess", + "electronic music production", + "espresso brewing" + ], + "avatar_url": "/media/ines_e21a/avatar.webp?t=1769430451", + "banner_url": "/media/ines_e21a/banner.webp?t=1769430470", + "videos": [ + "/media/ines_e21a/videos/01_smile_reveal.mp4?t=1769430510" + ], + "images": [ + "/media/ines_e21a/images/01_mid_mid_neutral.webp", + "/media/ines_e21a/images/02_image.webp", + "/media/ines_e21a/images/03_image.webp", + "/media/ines_e21a/images/04_image.webp", + "/media/ines_e21a/images/05_image.webp", + "/media/ines_e21a/images/06_image.webp", + "/media/ines_e21a/images/08_image.webp", + "/media/ines_e21a/images/09_image.webp", + "/media/ines_e21a/images/10_image.webp", + "/media/ines_e21a/images/11_image.webp", + "/media/ines_e21a/images/12_image.webp", + "/media/ines_e21a/images/13_image.webp", + "/media/ines_e21a/images/14_image.webp", + "/media/ines_e21a/images/15_image.webp", + "/media/ines_e21a/images/16_image.webp", + "/media/ines_e21a/images/17_image.webp", + "/media/ines_e21a/images/18_image.webp", + "/media/ines_e21a/images/19_image.webp", + "/media/ines_e21a/images/20_image.webp", + "/media/ines_e21a/images/21_image.webp", + "/media/ines_e21a/images/22_image.webp", + "/media/ines_e21a/images/23_image.webp", + "/media/ines_e21a/images/24_image.webp", + "/media/ines_e21a/images/25_image.webp", + "/media/ines_e21a/images/26_image.webp", + "/media/ines_e21a/images/27_image.webp", + "/media/ines_e21a/images/28_image.webp", + "/media/ines_e21a/images/29_image.webp", + "/media/ines_e21a/images/30_image.webp", + "/media/ines_e21a/images/31_image.webp", + "/media/ines_e21a/images/32_image.webp", + "/media/ines_e21a/images/33_image.webp", + "/media/ines_e21a/images/34_image.webp", + "/media/ines_e21a/images/35_image.webp", + "/media/ines_e21a/images/36_image.webp", + "/media/ines_e21a/images/37_image.webp", + "/media/ines_e21a/images/39_image.webp", + "/media/ines_e21a/images/40_image.webp", + "/media/ines_e21a/images/41_image.webp", + "/media/ines_e21a/images/42_image.webp", + "/media/ines_e21a/images/43_image.webp", + "/media/ines_e21a/images/44_image.webp", + "/media/ines_e21a/images/45_image.webp", + "/media/ines_e21a/images/46_image.webp", + "/media/ines_e21a/images/49_image.webp", + "/media/ines_e21a/images/50_image.webp", + "/media/ines_e21a/images/51_image.webp" + ], + "created_at": "2026-01-26T05:25:50.973135-07:00", + "dir_name": "ines_e21a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inez_4363.json b/ideas/aeres/agents/inez_4363.json new file mode 100644 index 0000000..3bf01b4 --- /dev/null +++ b/ideas/aeres/agents/inez_4363.json @@ -0,0 +1,83 @@ +{ + "id": "inez_4363", + "name": "Inez Gonzalez", + "handle": "inez", + "gender": "female", + "description": "curvy latina woman", + "tags": [ + "latina_bombshell", + "vintage fashion curation", + "latin jazz", + "interior design", + "wine tasting", + "kickboxing", + "cooking family recipes", + "photography" + ], + "avatar_url": "/media/inez_4363/avatar.webp", + "banner_url": "/media/inez_4363/banner.webp?t=1768988841", + "videos": [ + "/media/inez_4363/videos/01_smile_reveal.mp4?t=1768990763" + ], + "images": [ + "/media/inez_4363/images/01_mid_mid_neutral.webp", + "/media/inez_4363/images/02_close_high_smiling.webp", + "/media/inez_4363/images/03_mid_mid_smiling.webp", + "/media/inez_4363/images/04_mid_low_neutral.webp", + "/media/inez_4363/images/05_full_mid_neutral.webp", + "/media/inez_4363/images/06_close_high_tongue_out.webp", + "/media/inez_4363/images/07_mid_low_flirty.webp", + "/media/inez_4363/images/08_close_mid_lip_bite.webp", + "/media/inez_4363/images/09_image.webp", + "/media/inez_4363/images/10_image.webp", + "/media/inez_4363/images/11_image.webp", + "/media/inez_4363/images/12_image.webp", + "/media/inez_4363/images/13_image.webp", + "/media/inez_4363/images/14_image.webp", + "/media/inez_4363/images/15_image.webp", + "/media/inez_4363/images/16_image.webp", + "/media/inez_4363/images/17_image.webp", + "/media/inez_4363/images/18_image.webp", + "/media/inez_4363/images/19_image.webp", + "/media/inez_4363/images/20_image.webp", + "/media/inez_4363/images/21_image.webp", + "/media/inez_4363/images/22_image.webp", + "/media/inez_4363/images/23_image.webp", + "/media/inez_4363/images/24_image.webp", + "/media/inez_4363/images/25_image.webp", + "/media/inez_4363/images/26_image.webp", + "/media/inez_4363/images/27_image.webp", + "/media/inez_4363/images/28_image.webp", + "/media/inez_4363/images/29_image.webp", + "/media/inez_4363/images/30_image.webp", + "/media/inez_4363/images/31_image.webp", + "/media/inez_4363/images/32_image.webp", + "/media/inez_4363/images/33_image.webp", + "/media/inez_4363/images/34_image.webp", + "/media/inez_4363/images/35_image.webp", + "/media/inez_4363/images/36_image.webp", + "/media/inez_4363/images/37_image.webp", + "/media/inez_4363/images/38_image.webp", + "/media/inez_4363/images/39_image.webp", + "/media/inez_4363/images/40_image.webp", + "/media/inez_4363/images/41_image.webp", + "/media/inez_4363/images/42_image.webp", + "/media/inez_4363/images/43_image.webp", + "/media/inez_4363/images/44_image.webp", + "/media/inez_4363/images/45_image.webp", + "/media/inez_4363/images/46_image.webp", + "/media/inez_4363/images/47_image.webp", + "/media/inez_4363/images/49_image.webp", + "/media/inez_4363/images/50_image.webp", + "/media/inez_4363/images/51_image.webp", + "/media/inez_4363/images/53_image.webp", + "/media/inez_4363/images/54_image.webp", + "/media/inez_4363/images/55_image.webp", + "/media/inez_4363/images/56_image.webp", + "/media/inez_4363/images/57_image.webp", + "/media/inez_4363/images/58_image.webp", + "/media/inez_4363/images/59_image.webp" + ], + "created_at": "2026-01-21T01:34:33.28044-07:00", + "dir_name": "inez_4363" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ingrid_81ea.json b/ideas/aeres/agents/ingrid_81ea.json new file mode 100644 index 0000000..7925370 --- /dev/null +++ b/ideas/aeres/agents/ingrid_81ea.json @@ -0,0 +1,77 @@ +{ + "id": "ingrid_81ea", + "name": "Ingrid Solberg", + "handle": "ingrid", + "gender": "female", + "description": "25 years old female from Norway with blue eyes who works as a banker", + "tags": [ + "clean_girl", + "minimalist architecture", + "sustainable finance", + "pilates", + "skincare science", + "wine tasting", + "interior design", + "sailing" + ], + "avatar_url": "/media/ingrid_81ea/avatar.webp?t=1769498825", + "banner_url": "/media/ingrid_81ea/banner.webp?t=1769498831", + "videos": [ + "/media/ingrid_81ea/videos/01_smile_reveal.mp4?t=1769498870" + ], + "images": [ + "/media/ingrid_81ea/images/01_mid_mid_neutral.webp", + "/media/ingrid_81ea/images/02_image.webp", + "/media/ingrid_81ea/images/03_image.webp", + "/media/ingrid_81ea/images/04_image.webp", + "/media/ingrid_81ea/images/05_image.webp", + "/media/ingrid_81ea/images/06_image.webp", + "/media/ingrid_81ea/images/07_image.webp", + "/media/ingrid_81ea/images/08_image.webp", + "/media/ingrid_81ea/images/09_image.webp", + "/media/ingrid_81ea/images/10_image.webp", + "/media/ingrid_81ea/images/11_image.webp", + "/media/ingrid_81ea/images/12_image.webp", + "/media/ingrid_81ea/images/13_image.webp", + "/media/ingrid_81ea/images/14_image.webp", + "/media/ingrid_81ea/images/15_image.webp", + "/media/ingrid_81ea/images/16_image.webp", + "/media/ingrid_81ea/images/17_image.webp", + "/media/ingrid_81ea/images/18_image.webp", + "/media/ingrid_81ea/images/19_image.webp", + "/media/ingrid_81ea/images/20_image.webp", + "/media/ingrid_81ea/images/21_image.webp", + "/media/ingrid_81ea/images/22_image.webp", + "/media/ingrid_81ea/images/23_image.webp", + "/media/ingrid_81ea/images/24_image.webp", + "/media/ingrid_81ea/images/25_image.webp", + "/media/ingrid_81ea/images/26_image.webp", + "/media/ingrid_81ea/images/27_image.webp", + "/media/ingrid_81ea/images/28_image.webp", + "/media/ingrid_81ea/images/29_image.webp", + "/media/ingrid_81ea/images/30_image.webp", + "/media/ingrid_81ea/images/31_image.webp", + "/media/ingrid_81ea/images/40_image.webp", + "/media/ingrid_81ea/images/32_image.webp", + "/media/ingrid_81ea/images/41_image.webp", + "/media/ingrid_81ea/images/33_image.webp", + "/media/ingrid_81ea/images/42_image.webp", + "/media/ingrid_81ea/images/34_image.webp", + "/media/ingrid_81ea/images/43_image.webp", + "/media/ingrid_81ea/images/35_image.webp", + "/media/ingrid_81ea/images/44_image.webp", + "/media/ingrid_81ea/images/36_image.webp", + "/media/ingrid_81ea/images/45_image.webp", + "/media/ingrid_81ea/images/46_image.webp", + "/media/ingrid_81ea/images/37_image.webp", + "/media/ingrid_81ea/images/47_image.webp", + "/media/ingrid_81ea/images/38_image.webp", + "/media/ingrid_81ea/images/48_image.webp", + "/media/ingrid_81ea/images/49_image.webp", + "/media/ingrid_81ea/images/39_image.webp", + "/media/ingrid_81ea/images/40_image.webp", + "/media/ingrid_81ea/images/41_image.webp" + ], + "created_at": "2026-01-27T00:25:48.084494-07:00", + "dir_name": "ingrid_81ea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ingrid_a98e.json b/ideas/aeres/agents/ingrid_a98e.json new file mode 100644 index 0000000..5eeced8 --- /dev/null +++ b/ideas/aeres/agents/ingrid_a98e.json @@ -0,0 +1,74 @@ +{ + "id": "ingrid_a98e", + "name": "Ingrid Sørensen", + "handle": "ingrid", + "gender": "female", + "description": "female from Sweden who likes to party", + "tags": [ + "social_butterfly", + "modernist architecture", + "electronic music", + "wine pairing", + "interior design", + "downhill skiing", + "travel photography", + "contemporary dance" + ], + "avatar_url": "/media/ingrid_a98e/avatar.webp?t=1770038540", + "banner_url": "/media/ingrid_a98e/banner.webp?t=1770038546", + "videos": [ + "/media/ingrid_a98e/videos/01_smile_reveal.mp4?t=1770038584" + ], + "images": [ + "/media/ingrid_a98e/images/01_mid_mid_neutral.webp", + "/media/ingrid_a98e/images/02_image.webp", + "/media/ingrid_a98e/images/03_image.webp", + "/media/ingrid_a98e/images/04_image.webp", + "/media/ingrid_a98e/images/05_image.webp", + "/media/ingrid_a98e/images/06_image.webp", + "/media/ingrid_a98e/images/07_image.webp", + "/media/ingrid_a98e/images/08_image.webp", + "/media/ingrid_a98e/images/09_image.webp", + "/media/ingrid_a98e/images/10_image.webp", + "/media/ingrid_a98e/images/11_image.webp", + "/media/ingrid_a98e/images/12_image.webp", + "/media/ingrid_a98e/images/13_image.webp", + "/media/ingrid_a98e/images/14_image.webp", + "/media/ingrid_a98e/images/15_image.webp", + "/media/ingrid_a98e/images/16_image.webp", + "/media/ingrid_a98e/images/17_image.webp", + "/media/ingrid_a98e/images/18_image.webp", + "/media/ingrid_a98e/images/19_image.webp", + "/media/ingrid_a98e/images/20_image.webp", + "/media/ingrid_a98e/images/21_image.webp", + "/media/ingrid_a98e/images/22_image.webp", + "/media/ingrid_a98e/images/23_image.webp", + "/media/ingrid_a98e/images/24_image.webp", + "/media/ingrid_a98e/images/25_image.webp", + "/media/ingrid_a98e/images/26_image.webp", + "/media/ingrid_a98e/images/27_image.webp", + "/media/ingrid_a98e/images/28_image.webp", + "/media/ingrid_a98e/images/29_image.webp", + "/media/ingrid_a98e/images/30_image.webp", + "/media/ingrid_a98e/images/31_image.webp", + "/media/ingrid_a98e/images/33_image.webp", + "/media/ingrid_a98e/images/34_image.webp", + "/media/ingrid_a98e/images/35_image.webp", + "/media/ingrid_a98e/images/36_image.webp", + "/media/ingrid_a98e/images/37_image.webp", + "/media/ingrid_a98e/images/38_image.webp", + "/media/ingrid_a98e/images/39_image.webp", + "/media/ingrid_a98e/images/40_image.webp", + "/media/ingrid_a98e/images/41_image.webp", + "/media/ingrid_a98e/images/42_image.webp", + "/media/ingrid_a98e/images/43_image.webp", + "/media/ingrid_a98e/images/44_image.webp", + "/media/ingrid_a98e/images/45_image.webp", + "/media/ingrid_a98e/images/47_image.webp", + "/media/ingrid_a98e/images/49_image.webp", + "/media/ingrid_a98e/images/50_image.webp", + "/media/ingrid_a98e/images/51_image.webp" + ], + "created_at": "2026-02-02T06:18:32.137604-07:00", + "dir_name": "ingrid_a98e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inti_2003.json b/ideas/aeres/agents/inti_2003.json new file mode 100644 index 0000000..e30db47 --- /dev/null +++ b/ideas/aeres/agents/inti_2003.json @@ -0,0 +1,75 @@ +{ + "id": "inti_2003", + "name": "Inti Wara Sanchez", + "handle": "inti", + "gender": "female", + "description": "Leona from League of Legends", + "tags": [ + "cosplayer", + "blacksmithing", + "mythology", + "bodybuilding", + "prop fabrication", + "tabletop rpgs", + "surfing", + "true crime podcasts" + ], + "avatar_url": "/media/inti_2003/avatar.webp?t=1769697398", + "banner_url": "/media/inti_2003/banner.webp?t=1769697523", + "videos": [ + "/media/inti_2003/videos/01_smile_reveal.mp4?t=1769697427" + ], + "images": [ + "/media/inti_2003/images/01_mid_mid_neutral.webp", + "/media/inti_2003/images/02_image.webp", + "/media/inti_2003/images/03_image.webp", + "/media/inti_2003/images/04_image.webp", + "/media/inti_2003/images/05_image.webp", + "/media/inti_2003/images/07_image.webp", + "/media/inti_2003/images/08_image.webp", + "/media/inti_2003/images/09_image.webp", + "/media/inti_2003/images/10_image.webp", + "/media/inti_2003/images/11_image.webp", + "/media/inti_2003/images/12_image.webp", + "/media/inti_2003/images/13_image.webp", + "/media/inti_2003/images/14_image.webp", + "/media/inti_2003/images/15_image.webp", + "/media/inti_2003/images/16_image.webp", + "/media/inti_2003/images/17_image.webp", + "/media/inti_2003/images/18_image.webp", + "/media/inti_2003/images/19_image.webp", + "/media/inti_2003/images/20_image.webp", + "/media/inti_2003/images/21_image.webp", + "/media/inti_2003/images/22_image.webp", + "/media/inti_2003/images/23_image.webp", + "/media/inti_2003/images/24_image.webp", + "/media/inti_2003/images/25_image.webp", + "/media/inti_2003/images/26_image.webp", + "/media/inti_2003/images/27_image.webp", + "/media/inti_2003/images/28_image.webp", + "/media/inti_2003/images/29_image.webp", + "/media/inti_2003/images/30_image.webp", + "/media/inti_2003/images/31_image.webp", + "/media/inti_2003/images/32_image.webp", + "/media/inti_2003/images/34_image.webp", + "/media/inti_2003/images/35_image.webp", + "/media/inti_2003/images/36_image.webp", + "/media/inti_2003/images/37_image.webp", + "/media/inti_2003/images/38_image.webp", + "/media/inti_2003/images/39_image.webp", + "/media/inti_2003/images/40_image.webp", + "/media/inti_2003/images/41_image.webp", + "/media/inti_2003/images/42_image.webp", + "/media/inti_2003/images/43_image.webp", + "/media/inti_2003/images/44_image.webp", + "/media/inti_2003/images/45_image.webp", + "/media/inti_2003/images/46_image.webp", + "/media/inti_2003/images/47_image.webp", + "/media/inti_2003/images/48_image.webp", + "/media/inti_2003/images/49_image.webp", + "/media/inti_2003/images/50_image.webp", + "/media/inti_2003/images/51_image.webp" + ], + "created_at": "2026-01-29T07:35:26.446645-07:00", + "dir_name": "inti_2003" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inti_3a31.json b/ideas/aeres/agents/inti_3a31.json new file mode 100644 index 0000000..03d0d84 --- /dev/null +++ b/ideas/aeres/agents/inti_3a31.json @@ -0,0 +1,77 @@ +{ + "id": "inti_3a31", + "name": "Inti Ramirez", + "handle": "inti", + "gender": "male", + "description": "tall muscular male who is a golf player", + "tags": [ + "athletic", + "golf", + "weightlifting", + "luxury watches", + "sports philanthropy", + "tennis", + "architecture", + "wine tasting" + ], + "avatar_url": "/media/inti_3a31/avatar.webp?t=1769090466", + "banner_url": "/media/inti_3a31/banner.webp?t=1769090465", + "videos": [ + "/media/inti_3a31/videos/01_smile_reveal.mp4?t=1769090497" + ], + "images": [ + "/media/inti_3a31/images/01_mid_mid_neutral.webp", + "/media/inti_3a31/images/02_image.webp", + "/media/inti_3a31/images/03_image.webp", + "/media/inti_3a31/images/04_image.webp", + "/media/inti_3a31/images/05_image.webp", + "/media/inti_3a31/images/06_image.webp", + "/media/inti_3a31/images/07_image.webp", + "/media/inti_3a31/images/08_image.webp", + "/media/inti_3a31/images/09_image.webp", + "/media/inti_3a31/images/10_image.webp", + "/media/inti_3a31/images/11_image.webp", + "/media/inti_3a31/images/12_image.webp", + "/media/inti_3a31/images/13_image.webp", + "/media/inti_3a31/images/14_image.webp", + "/media/inti_3a31/images/15_image.webp", + "/media/inti_3a31/images/16_image.webp", + "/media/inti_3a31/images/17_image.webp", + "/media/inti_3a31/images/18_image.webp", + "/media/inti_3a31/images/19_image.webp", + "/media/inti_3a31/images/20_image.webp", + "/media/inti_3a31/images/21_image.webp", + "/media/inti_3a31/images/22_image.webp", + "/media/inti_3a31/images/23_image.webp", + "/media/inti_3a31/images/24_image.webp", + "/media/inti_3a31/images/25_image.webp", + "/media/inti_3a31/images/26_image.webp", + "/media/inti_3a31/images/27_image.webp", + "/media/inti_3a31/images/28_image.webp", + "/media/inti_3a31/images/29_image.webp", + "/media/inti_3a31/images/30_image.webp", + "/media/inti_3a31/images/31_image.webp", + "/media/inti_3a31/images/32_image.webp", + "/media/inti_3a31/images/33_image.webp", + "/media/inti_3a31/images/34_image.webp", + "/media/inti_3a31/images/35_image.webp", + "/media/inti_3a31/images/36_image.webp", + "/media/inti_3a31/images/37_image.webp", + "/media/inti_3a31/images/38_image.webp", + "/media/inti_3a31/images/39_image.webp", + "/media/inti_3a31/images/40_image.webp", + "/media/inti_3a31/images/41_image.webp", + "/media/inti_3a31/images/42_image.webp", + "/media/inti_3a31/images/43_image.webp", + "/media/inti_3a31/images/44_image.webp", + "/media/inti_3a31/images/45_image.webp", + "/media/inti_3a31/images/46_image.webp", + "/media/inti_3a31/images/47_image.webp", + "/media/inti_3a31/images/48_image.webp", + "/media/inti_3a31/images/49_image.webp", + "/media/inti_3a31/images/50_image.webp", + "/media/inti_3a31/images/51_image.webp" + ], + "created_at": "2026-01-22T06:59:57.435845-07:00", + "dir_name": "inti_3a31" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inti_wara_36e9.json b/ideas/aeres/agents/inti_wara_36e9.json new file mode 100644 index 0000000..242140c --- /dev/null +++ b/ideas/aeres/agents/inti_wara_36e9.json @@ -0,0 +1,77 @@ +{ + "id": "inti_wara_36e9", + "name": "Inti Wara Gonzalez", + "handle": "inti wara", + "gender": "female", + "description": "woman from Columbia who is a pole dancer", + "tags": [ + "latina_bombshell", + "pole artistry", + "aerial silks", + "anatomy/physiology", + "latin jazz", + "beach volleyball", + "interior design", + "exploring local coffee shops" + ], + "avatar_url": "/media/inti_wara_36e9/avatar.webp?t=1769697674", + "banner_url": "/media/inti_wara_36e9/banner.webp?t=1769697667", + "videos": [ + "/media/inti_wara_36e9/videos/01_smile_reveal.mp4?t=1769697699" + ], + "images": [ + "/media/inti_wara_36e9/images/01_mid_mid_neutral.webp", + "/media/inti_wara_36e9/images/02_image.webp", + "/media/inti_wara_36e9/images/03_image.webp", + "/media/inti_wara_36e9/images/04_image.webp", + "/media/inti_wara_36e9/images/05_image.webp", + "/media/inti_wara_36e9/images/06_image.webp", + "/media/inti_wara_36e9/images/07_image.webp", + "/media/inti_wara_36e9/images/08_image.webp", + "/media/inti_wara_36e9/images/09_image.webp", + "/media/inti_wara_36e9/images/10_image.webp", + "/media/inti_wara_36e9/images/11_image.webp", + "/media/inti_wara_36e9/images/12_image.webp", + "/media/inti_wara_36e9/images/13_image.webp", + "/media/inti_wara_36e9/images/15_image.webp", + "/media/inti_wara_36e9/images/16_image.webp", + "/media/inti_wara_36e9/images/17_image.webp", + "/media/inti_wara_36e9/images/18_image.webp", + "/media/inti_wara_36e9/images/19_image.webp", + "/media/inti_wara_36e9/images/20_image.webp", + "/media/inti_wara_36e9/images/21_image.webp", + "/media/inti_wara_36e9/images/22_image.webp", + "/media/inti_wara_36e9/images/23_image.webp", + "/media/inti_wara_36e9/images/24_image.webp", + "/media/inti_wara_36e9/images/25_image.webp", + "/media/inti_wara_36e9/images/26_image.webp", + "/media/inti_wara_36e9/images/27_image.webp", + "/media/inti_wara_36e9/images/28_image.webp", + "/media/inti_wara_36e9/images/29_image.webp", + "/media/inti_wara_36e9/images/30_image.webp", + "/media/inti_wara_36e9/images/31_image.webp", + "/media/inti_wara_36e9/images/32_image.webp", + "/media/inti_wara_36e9/images/33_image.webp", + "/media/inti_wara_36e9/images/42_image.webp", + "/media/inti_wara_36e9/images/43_image.webp", + "/media/inti_wara_36e9/images/44_image.webp", + "/media/inti_wara_36e9/images/45_image.webp", + "/media/inti_wara_36e9/images/46_image.webp", + "/media/inti_wara_36e9/images/47_image.webp", + "/media/inti_wara_36e9/images/48_image.webp", + "/media/inti_wara_36e9/images/49_image.webp", + "/media/inti_wara_36e9/images/50_image.webp", + "/media/inti_wara_36e9/images/51_image.webp", + "/media/inti_wara_36e9/images/53_image.webp", + "/media/inti_wara_36e9/images/54_image.webp", + "/media/inti_wara_36e9/images/55_image.webp", + "/media/inti_wara_36e9/images/56_image.webp", + "/media/inti_wara_36e9/images/57_image.webp", + "/media/inti_wara_36e9/images/58_image.webp", + "/media/inti_wara_36e9/images/60_image.webp", + "/media/inti_wara_36e9/images/61_image.webp", + "/media/inti_wara_36e9/images/62_image.webp" + ], + "created_at": "2026-01-29T07:39:57.292603-07:00", + "dir_name": "inti_wara_36e9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inti_wara_cdcc.json b/ideas/aeres/agents/inti_wara_cdcc.json new file mode 100644 index 0000000..acc3c75 --- /dev/null +++ b/ideas/aeres/agents/inti_wara_cdcc.json @@ -0,0 +1,77 @@ +{ + "id": "inti_wara_cdcc", + "name": "Inti Wara 141 Lopez", + "handle": "inti wara", + "gender": "female", + "description": "Aloy from Horizon Zero Dawn", + "tags": [ + "the explorer", + "navigational arts", + "technological scavenging", + "primitive weaving", + "rock climbing", + "cyberpunk literature", + "fermentation", + "retro-tech repair" + ], + "avatar_url": "/media/inti_wara_cdcc/avatar.webp?t=1770208523", + "banner_url": "/media/inti_wara_cdcc/banner.webp?t=1770208520", + "videos": [ + "/media/inti_wara_cdcc/videos/01_smile_reveal.mp4?t=1770208515" + ], + "images": [ + "/media/inti_wara_cdcc/images/01_mid_mid_neutral.webp", + "/media/inti_wara_cdcc/images/02_image.webp", + "/media/inti_wara_cdcc/images/03_image.webp", + "/media/inti_wara_cdcc/images/04_image.webp", + "/media/inti_wara_cdcc/images/05_image.webp", + "/media/inti_wara_cdcc/images/06_image.webp", + "/media/inti_wara_cdcc/images/07_image.webp", + "/media/inti_wara_cdcc/images/08_image.webp", + "/media/inti_wara_cdcc/images/09_image.webp", + "/media/inti_wara_cdcc/images/10_image.webp", + "/media/inti_wara_cdcc/images/11_image.webp", + "/media/inti_wara_cdcc/images/12_image.webp", + "/media/inti_wara_cdcc/images/13_image.webp", + "/media/inti_wara_cdcc/images/14_image.webp", + "/media/inti_wara_cdcc/images/15_image.webp", + "/media/inti_wara_cdcc/images/16_image.webp", + "/media/inti_wara_cdcc/images/17_image.webp", + "/media/inti_wara_cdcc/images/18_image.webp", + "/media/inti_wara_cdcc/images/19_image.webp", + "/media/inti_wara_cdcc/images/20_image.webp", + "/media/inti_wara_cdcc/images/21_image.webp", + "/media/inti_wara_cdcc/images/22_image.webp", + "/media/inti_wara_cdcc/images/23_image.webp", + "/media/inti_wara_cdcc/images/24_image.webp", + "/media/inti_wara_cdcc/images/25_image.webp", + "/media/inti_wara_cdcc/images/26_image.webp", + "/media/inti_wara_cdcc/images/27_image.webp", + "/media/inti_wara_cdcc/images/28_image.webp", + "/media/inti_wara_cdcc/images/29_image.webp", + "/media/inti_wara_cdcc/images/30_image.webp", + "/media/inti_wara_cdcc/images/31_image.webp", + "/media/inti_wara_cdcc/images/32_image.webp", + "/media/inti_wara_cdcc/images/33_image.webp", + "/media/inti_wara_cdcc/images/34_image.webp", + "/media/inti_wara_cdcc/images/35_image.webp", + "/media/inti_wara_cdcc/images/36_image.webp", + "/media/inti_wara_cdcc/images/37_image.webp", + "/media/inti_wara_cdcc/images/38_image.webp", + "/media/inti_wara_cdcc/images/39_image.webp", + "/media/inti_wara_cdcc/images/40_image.webp", + "/media/inti_wara_cdcc/images/41_image.webp", + "/media/inti_wara_cdcc/images/42_image.webp", + "/media/inti_wara_cdcc/images/43_image.webp", + "/media/inti_wara_cdcc/images/44_image.webp", + "/media/inti_wara_cdcc/images/45_image.webp", + "/media/inti_wara_cdcc/images/46_image.webp", + "/media/inti_wara_cdcc/images/47_image.webp", + "/media/inti_wara_cdcc/images/48_image.webp", + "/media/inti_wara_cdcc/images/49_image.webp", + "/media/inti_wara_cdcc/images/50_image.webp", + "/media/inti_wara_cdcc/images/51_image.webp" + ], + "created_at": "2026-02-04T05:33:23.761314-07:00", + "dir_name": "inti_wara_cdcc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/inès_a163.json b/ideas/aeres/agents/inès_a163.json new file mode 100644 index 0000000..407f58e --- /dev/null +++ b/ideas/aeres/agents/inès_a163.json @@ -0,0 +1,74 @@ +{ + "id": "inès_a163", + "name": "Inès Garcia", + "handle": "inès", + "gender": "female", + "description": "1930's glamour, May West vibes, kitten, bold, cheeky, Hollywood, boss babe, charisma, business woman", + "tags": [ + "vintage_retro", + "1930s cinema", + "antique jewelry", + "classical piano", + "champagne viticulture", + "interior design", + "tennis", + "fencing" + ], + "avatar_url": "/media/inès_a163/avatar.webp?t=1769675742", + "banner_url": "/media/inès_a163/banner.webp?t=1769683633", + "videos": [ + "/media/inès_a163/videos/01_smile_reveal.mp4?t=1769675802" + ], + "images": [ + "/media/inès_a163/images/01_mid_mid_neutral.webp", + "/media/inès_a163/images/02_image.webp", + "/media/inès_a163/images/03_image.webp", + "/media/inès_a163/images/04_image.webp", + "/media/inès_a163/images/05_image.webp", + "/media/inès_a163/images/08_image.webp", + "/media/inès_a163/images/09_image.webp", + "/media/inès_a163/images/10_image.webp", + "/media/inès_a163/images/11_image.webp", + "/media/inès_a163/images/12_image.webp", + "/media/inès_a163/images/13_image.webp", + "/media/inès_a163/images/14_image.webp", + "/media/inès_a163/images/15_image.webp", + "/media/inès_a163/images/16_image.webp", + "/media/inès_a163/images/17_image.webp", + "/media/inès_a163/images/18_image.webp", + "/media/inès_a163/images/19_image.webp", + "/media/inès_a163/images/20_image.webp", + "/media/inès_a163/images/21_image.webp", + "/media/inès_a163/images/22_image.webp", + "/media/inès_a163/images/23_image.webp", + "/media/inès_a163/images/24_image.webp", + "/media/inès_a163/images/25_image.webp", + "/media/inès_a163/images/26_image.webp", + "/media/inès_a163/images/27_image.webp", + "/media/inès_a163/images/28_image.webp", + "/media/inès_a163/images/29_image.webp", + "/media/inès_a163/images/30_image.webp", + "/media/inès_a163/images/31_image.webp", + "/media/inès_a163/images/32_image.webp", + "/media/inès_a163/images/33_image.webp", + "/media/inès_a163/images/34_image.webp", + "/media/inès_a163/images/35_image.webp", + "/media/inès_a163/images/36_image.webp", + "/media/inès_a163/images/37_image.webp", + "/media/inès_a163/images/39_image.webp", + "/media/inès_a163/images/40_image.webp", + "/media/inès_a163/images/41_image.webp", + "/media/inès_a163/images/42_image.webp", + "/media/inès_a163/images/43_image.webp", + "/media/inès_a163/images/44_image.webp", + "/media/inès_a163/images/45_image.webp", + "/media/inès_a163/images/46_image.webp", + "/media/inès_a163/images/47_image.webp", + "/media/inès_a163/images/48_image.webp", + "/media/inès_a163/images/49_image.webp", + "/media/inès_a163/images/50_image.webp", + "/media/inès_a163/images/51_image.webp" + ], + "created_at": "2026-01-29T01:34:11.640632-07:00", + "dir_name": "inès_a163" +} \ No newline at end of file diff --git a/ideas/aeres/agents/irene_2e5d.json b/ideas/aeres/agents/irene_2e5d.json new file mode 100644 index 0000000..e470ac7 --- /dev/null +++ b/ideas/aeres/agents/irene_2e5d.json @@ -0,0 +1,77 @@ +{ + "id": "irene_2e5d", + "name": "Irene Brown", + "handle": "irene", + "gender": "female", + "description": "Velma from Scooby Doo", + "tags": [ + "cosplayer", + "cosplay fabrication", + "true crime documentaries", + "vintage fashion", + "puzzle solving", + "retro gaming", + "baking", + "urban exploration" + ], + "avatar_url": "/media/irene_2e5d/avatar.webp?t=1769602664", + "banner_url": "/media/irene_2e5d/banner.webp?t=1769602656", + "videos": [ + "/media/irene_2e5d/videos/01_smile_reveal.mp4?t=1769599741" + ], + "images": [ + "/media/irene_2e5d/images/01_mid_mid_neutral.webp", + "/media/irene_2e5d/images/02_image.webp", + "/media/irene_2e5d/images/03_image.webp", + "/media/irene_2e5d/images/04_image.webp", + "/media/irene_2e5d/images/05_image.webp", + "/media/irene_2e5d/images/06_image.webp", + "/media/irene_2e5d/images/07_image.webp", + "/media/irene_2e5d/images/08_image.webp", + "/media/irene_2e5d/images/09_image.webp", + "/media/irene_2e5d/images/10_image.webp", + "/media/irene_2e5d/images/11_image.webp", + "/media/irene_2e5d/images/12_image.webp", + "/media/irene_2e5d/images/13_image.webp", + "/media/irene_2e5d/images/14_image.webp", + "/media/irene_2e5d/images/15_image.webp", + "/media/irene_2e5d/images/16_image.webp", + "/media/irene_2e5d/images/17_image.webp", + "/media/irene_2e5d/images/18_image.webp", + "/media/irene_2e5d/images/19_image.webp", + "/media/irene_2e5d/images/20_image.webp", + "/media/irene_2e5d/images/21_image.webp", + "/media/irene_2e5d/images/22_image.webp", + "/media/irene_2e5d/images/23_image.webp", + "/media/irene_2e5d/images/24_image.webp", + "/media/irene_2e5d/images/25_image.webp", + "/media/irene_2e5d/images/26_image.webp", + "/media/irene_2e5d/images/27_image.webp", + "/media/irene_2e5d/images/28_image.webp", + "/media/irene_2e5d/images/29_image.webp", + "/media/irene_2e5d/images/30_image.webp", + "/media/irene_2e5d/images/31_image.webp", + "/media/irene_2e5d/images/32_image.webp", + "/media/irene_2e5d/images/33_image.webp", + "/media/irene_2e5d/images/34_image.webp", + "/media/irene_2e5d/images/35_image.webp", + "/media/irene_2e5d/images/36_image.webp", + "/media/irene_2e5d/images/37_image.webp", + "/media/irene_2e5d/images/38_image.webp", + "/media/irene_2e5d/images/39_image.webp", + "/media/irene_2e5d/images/40_image.webp", + "/media/irene_2e5d/images/41_image.webp", + "/media/irene_2e5d/images/42_image.webp", + "/media/irene_2e5d/images/43_image.webp", + "/media/irene_2e5d/images/44_image.webp", + "/media/irene_2e5d/images/45_image.webp", + "/media/irene_2e5d/images/46_image.webp", + "/media/irene_2e5d/images/47_image.webp", + "/media/irene_2e5d/images/48_image.webp", + "/media/irene_2e5d/images/49_image.webp", + "/media/irene_2e5d/images/50_image.webp", + "/media/irene_2e5d/images/51_image.webp" + ], + "created_at": "2026-01-28T04:27:15.563254-07:00", + "dir_name": "irene_2e5d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/irene_7c87.json b/ideas/aeres/agents/irene_7c87.json new file mode 100644 index 0000000..7a9df84 --- /dev/null +++ b/ideas/aeres/agents/irene_7c87.json @@ -0,0 +1,64 @@ +{ + "id": "irene_7c87", + "name": "Irene Williams", + "handle": "irene", + "gender": "female", + "description": "overweight, mid 20's rocker chick, black boots, purple hair, dog groomer, heavy metal, silver, cute, concerts, tongue pierced, nipples pierced, cleavage revealing shirts, fun but mean", + "tags": [ + "metal_girl", + "heavy metal", + "dog training", + "silver smithing", + "concerts", + "horror movies", + "graphic novels", + "cooking spicy food" + ], + "avatar_url": "/media/irene_7c87/avatar.webp?t=1769122808", + "banner_url": "/media/irene_7c87/banner.webp?t=1769124929", + "images": [ + "/media/irene_7c87/images/01_mid_mid_neutral.webp", + "/media/irene_7c87/images/02_image.webp", + "/media/irene_7c87/images/03_image.webp", + "/media/irene_7c87/images/04_image.webp", + "/media/irene_7c87/images/05_image.webp", + "/media/irene_7c87/images/06_image.webp", + "/media/irene_7c87/images/07_image.webp", + "/media/irene_7c87/images/08_image.webp", + "/media/irene_7c87/images/09_image.webp", + "/media/irene_7c87/images/10_image.webp", + "/media/irene_7c87/images/11_image.webp", + "/media/irene_7c87/images/12_image.webp", + "/media/irene_7c87/images/13_image.webp", + "/media/irene_7c87/images/14_image.webp", + "/media/irene_7c87/images/15_image.webp", + "/media/irene_7c87/images/16_image.webp", + "/media/irene_7c87/images/17_image.webp", + "/media/irene_7c87/images/18_image.webp", + "/media/irene_7c87/images/19_image.webp", + "/media/irene_7c87/images/20_image.webp", + "/media/irene_7c87/images/21_image.webp", + "/media/irene_7c87/images/22_image.webp", + "/media/irene_7c87/images/23_image.webp", + "/media/irene_7c87/images/24_image.webp", + "/media/irene_7c87/images/25_image.webp", + "/media/irene_7c87/images/26_image.webp", + "/media/irene_7c87/images/27_image.webp", + "/media/irene_7c87/images/28_image.webp", + "/media/irene_7c87/images/29_image.webp", + "/media/irene_7c87/images/30_image.webp", + "/media/irene_7c87/images/31_image.webp", + "/media/irene_7c87/images/32_image.webp", + "/media/irene_7c87/images/33_image.webp", + "/media/irene_7c87/images/34_image.webp", + "/media/irene_7c87/images/35_image.webp", + "/media/irene_7c87/images/36_image.webp", + "/media/irene_7c87/images/37_image.webp", + "/media/irene_7c87/images/38_image.webp", + "/media/irene_7c87/images/39_image.webp", + "/media/irene_7c87/images/40_image.webp", + "/media/irene_7c87/images/41_image.webp" + ], + "created_at": "2026-01-22T15:59:07.424948-07:00", + "dir_name": "irene_7c87" +} \ No newline at end of file diff --git a/ideas/aeres/agents/irene_d413.json b/ideas/aeres/agents/irene_d413.json new file mode 100644 index 0000000..72e3a2d --- /dev/null +++ b/ideas/aeres/agents/irene_d413.json @@ -0,0 +1,76 @@ +{ + "id": "irene_d413", + "name": "Irene Brown", + "handle": "irene", + "gender": "female", + "description": "woman from Ireland who likes beer and video games", + "tags": [ + "gamer_girl", + "open-world rpgs", + "pc building", + "weightlifting", + "irish craft beer", + "rugby", + "photography", + "true crime podcasts" + ], + "avatar_url": "/media/irene_d413/avatar.webp?t=1769516895", + "banner_url": "/media/irene_d413/banner.webp?t=1769516895", + "videos": [ + "/media/irene_d413/videos/01_smile_reveal.mp4?t=1769516929" + ], + "images": [ + "/media/irene_d413/images/01_mid_mid_neutral.webp", + "/media/irene_d413/images/02_image.webp", + "/media/irene_d413/images/03_image.webp", + "/media/irene_d413/images/04_image.webp", + "/media/irene_d413/images/05_image.webp", + "/media/irene_d413/images/06_image.webp", + "/media/irene_d413/images/07_image.webp", + "/media/irene_d413/images/08_image.webp", + "/media/irene_d413/images/09_image.webp", + "/media/irene_d413/images/10_image.webp", + "/media/irene_d413/images/11_image.webp", + "/media/irene_d413/images/13_image.webp", + "/media/irene_d413/images/14_image.webp", + "/media/irene_d413/images/15_image.webp", + "/media/irene_d413/images/16_image.webp", + "/media/irene_d413/images/17_image.webp", + "/media/irene_d413/images/18_image.webp", + "/media/irene_d413/images/19_image.webp", + "/media/irene_d413/images/20_image.webp", + "/media/irene_d413/images/21_image.webp", + "/media/irene_d413/images/22_image.webp", + "/media/irene_d413/images/23_image.webp", + "/media/irene_d413/images/24_image.webp", + "/media/irene_d413/images/25_image.webp", + "/media/irene_d413/images/26_image.webp", + "/media/irene_d413/images/27_image.webp", + "/media/irene_d413/images/28_image.webp", + "/media/irene_d413/images/29_image.webp", + "/media/irene_d413/images/30_image.webp", + "/media/irene_d413/images/31_image.webp", + "/media/irene_d413/images/32_image.webp", + "/media/irene_d413/images/33_image.webp", + "/media/irene_d413/images/34_image.webp", + "/media/irene_d413/images/35_image.webp", + "/media/irene_d413/images/36_image.webp", + "/media/irene_d413/images/37_image.webp", + "/media/irene_d413/images/38_image.webp", + "/media/irene_d413/images/39_image.webp", + "/media/irene_d413/images/40_image.webp", + "/media/irene_d413/images/41_image.webp", + "/media/irene_d413/images/42_image.webp", + "/media/irene_d413/images/43_image.webp", + "/media/irene_d413/images/44_image.webp", + "/media/irene_d413/images/45_image.webp", + "/media/irene_d413/images/46_image.webp", + "/media/irene_d413/images/47_image.webp", + "/media/irene_d413/images/48_image.webp", + "/media/irene_d413/images/49_image.webp", + "/media/irene_d413/images/50_image.webp", + "/media/irene_d413/images/51_image.webp" + ], + "created_at": "2026-01-27T05:26:56.962521-07:00", + "dir_name": "irene_d413" +} \ No newline at end of file diff --git a/ideas/aeres/agents/irene_e3be.json b/ideas/aeres/agents/irene_e3be.json new file mode 100644 index 0000000..768400e --- /dev/null +++ b/ideas/aeres/agents/irene_e3be.json @@ -0,0 +1,75 @@ +{ + "id": "irene_e3be", + "name": "Irene Rizzo", + "handle": "irene", + "gender": "female", + "description": "chubby, chef, gorgeous face, petite, european, medium sized hair, red hair, 35 years old, funny personality", + "tags": [ + "career_fantasy", + "artisanal pasta making", + "wine pairing", + "interior design", + "vintage cookbooks", + "peloton cycling", + "true crime podcasts", + "urban gardening" + ], + "avatar_url": "/media/irene_e3be/avatar.webp?t=1769519650", + "banner_url": "/media/irene_e3be/banner.webp?t=1769519644", + "videos": [ + "/media/irene_e3be/videos/01_smile_reveal.mp4?t=1769519678" + ], + "images": [ + "/media/irene_e3be/images/01_mid_mid_neutral.webp", + "/media/irene_e3be/images/02_image.webp", + "/media/irene_e3be/images/03_image.webp", + "/media/irene_e3be/images/04_image.webp", + "/media/irene_e3be/images/05_image.webp", + "/media/irene_e3be/images/06_image.webp", + "/media/irene_e3be/images/07_image.webp", + "/media/irene_e3be/images/08_image.webp", + "/media/irene_e3be/images/09_image.webp", + "/media/irene_e3be/images/11_image.webp", + "/media/irene_e3be/images/12_image.webp", + "/media/irene_e3be/images/13_image.webp", + "/media/irene_e3be/images/14_image.webp", + "/media/irene_e3be/images/15_image.webp", + "/media/irene_e3be/images/16_image.webp", + "/media/irene_e3be/images/17_image.webp", + "/media/irene_e3be/images/18_image.webp", + "/media/irene_e3be/images/19_image.webp", + "/media/irene_e3be/images/20_image.webp", + "/media/irene_e3be/images/22_image.webp", + "/media/irene_e3be/images/23_image.webp", + "/media/irene_e3be/images/24_image.webp", + "/media/irene_e3be/images/25_image.webp", + "/media/irene_e3be/images/26_image.webp", + "/media/irene_e3be/images/27_image.webp", + "/media/irene_e3be/images/28_image.webp", + "/media/irene_e3be/images/29_image.webp", + "/media/irene_e3be/images/30_image.webp", + "/media/irene_e3be/images/31_image.webp", + "/media/irene_e3be/images/32_image.webp", + "/media/irene_e3be/images/33_image.webp", + "/media/irene_e3be/images/34_image.webp", + "/media/irene_e3be/images/35_image.webp", + "/media/irene_e3be/images/36_image.webp", + "/media/irene_e3be/images/37_image.webp", + "/media/irene_e3be/images/38_image.webp", + "/media/irene_e3be/images/39_image.webp", + "/media/irene_e3be/images/40_image.webp", + "/media/irene_e3be/images/41_image.webp", + "/media/irene_e3be/images/42_image.webp", + "/media/irene_e3be/images/43_image.webp", + "/media/irene_e3be/images/44_image.webp", + "/media/irene_e3be/images/45_image.webp", + "/media/irene_e3be/images/46_image.webp", + "/media/irene_e3be/images/47_image.webp", + "/media/irene_e3be/images/48_image.webp", + "/media/irene_e3be/images/49_image.webp", + "/media/irene_e3be/images/50_image.webp", + "/media/irene_e3be/images/51_image.webp" + ], + "created_at": "2026-01-27T06:12:44.225582-07:00", + "dir_name": "irene_e3be" +} \ No newline at end of file diff --git a/ideas/aeres/agents/iride_01da.json b/ideas/aeres/agents/iride_01da.json new file mode 100644 index 0000000..baa7605 --- /dev/null +++ b/ideas/aeres/agents/iride_01da.json @@ -0,0 +1,73 @@ +{ + "id": "iride_01da", + "name": "Iride Ramirez", + "handle": "iride", + "gender": "female", + "description": "a chameleon", + "tags": [ + "influencer_lifestyle", + "avant-garde fashion", + "interior design", + "portrait photography", + "gastronomy", + "kayaking", + "vinyl collecting", + "wine tasting" + ], + "avatar_url": "/media/iride_01da/avatar.webp?t=1770192497", + "banner_url": "/media/iride_01da/banner.webp?t=1770192509", + "videos": [ + "/media/iride_01da/videos/01_smile_reveal.mp4?t=1770192543" + ], + "images": [ + "/media/iride_01da/images/01_mid_mid_neutral.webp", + "/media/iride_01da/images/02_image.webp", + "/media/iride_01da/images/03_image.webp", + "/media/iride_01da/images/04_image.webp", + "/media/iride_01da/images/05_image.webp", + "/media/iride_01da/images/06_image.webp", + "/media/iride_01da/images/07_image.webp", + "/media/iride_01da/images/08_image.webp", + "/media/iride_01da/images/09_image.webp", + "/media/iride_01da/images/10_image.webp", + "/media/iride_01da/images/11_image.webp", + "/media/iride_01da/images/12_image.webp", + "/media/iride_01da/images/13_image.webp", + "/media/iride_01da/images/14_image.webp", + "/media/iride_01da/images/15_image.webp", + "/media/iride_01da/images/16_image.webp", + "/media/iride_01da/images/17_image.webp", + "/media/iride_01da/images/19_image.webp", + "/media/iride_01da/images/20_image.webp", + "/media/iride_01da/images/21_image.webp", + "/media/iride_01da/images/22_image.webp", + "/media/iride_01da/images/23_image.webp", + "/media/iride_01da/images/24_image.webp", + "/media/iride_01da/images/25_image.webp", + "/media/iride_01da/images/26_image.webp", + "/media/iride_01da/images/27_image.webp", + "/media/iride_01da/images/28_image.webp", + "/media/iride_01da/images/29_image.webp", + "/media/iride_01da/images/30_image.webp", + "/media/iride_01da/images/31_image.webp", + "/media/iride_01da/images/32_image.webp", + "/media/iride_01da/images/33_image.webp", + "/media/iride_01da/images/34_image.webp", + "/media/iride_01da/images/35_image.webp", + "/media/iride_01da/images/36_image.webp", + "/media/iride_01da/images/37_image.webp", + "/media/iride_01da/images/38_image.webp", + "/media/iride_01da/images/39_image.webp", + "/media/iride_01da/images/40_image.webp", + "/media/iride_01da/images/41_image.webp", + "/media/iride_01da/images/42_image.webp", + "/media/iride_01da/images/43_image.webp", + "/media/iride_01da/images/44_image.webp", + "/media/iride_01da/images/45_image.webp", + "/media/iride_01da/images/46_image.webp", + "/media/iride_01da/images/47_image.webp", + "/media/iride_01da/images/48_image.webp" + ], + "created_at": "2026-02-04T01:07:15.807961-07:00", + "dir_name": "iride_01da" +} \ No newline at end of file diff --git a/ideas/aeres/agents/iris_2a02.json b/ideas/aeres/agents/iris_2a02.json new file mode 100644 index 0000000..8e162fb --- /dev/null +++ b/ideas/aeres/agents/iris_2a02.json @@ -0,0 +1,74 @@ +{ + "id": "iris_2a02", + "name": "Iris Karlsson", + "handle": "iris", + "gender": "female", + "description": "female from Germany who celebrates Oktoberfest", + "tags": [ + "girl_next_door", + "bavarian folk culture", + "mountain hiking", + "traditional music", + "baking", + "photography", + "cycling", + "watching local football matches" + ], + "avatar_url": "/media/iris_2a02/avatar.webp?t=1769755660", + "banner_url": "/media/iris_2a02/banner.webp?t=1769755667", + "videos": [ + "/media/iris_2a02/videos/01_smile_reveal.mp4?t=1769755713" + ], + "images": [ + "/media/iris_2a02/images/01_mid_mid_neutral.webp", + "/media/iris_2a02/images/02_image.webp", + "/media/iris_2a02/images/04_image.webp", + "/media/iris_2a02/images/05_image.webp", + "/media/iris_2a02/images/06_image.webp", + "/media/iris_2a02/images/07_image.webp", + "/media/iris_2a02/images/08_image.webp", + "/media/iris_2a02/images/09_image.webp", + "/media/iris_2a02/images/10_image.webp", + "/media/iris_2a02/images/11_image.webp", + "/media/iris_2a02/images/12_image.webp", + "/media/iris_2a02/images/13_image.webp", + "/media/iris_2a02/images/14_image.webp", + "/media/iris_2a02/images/15_image.webp", + "/media/iris_2a02/images/16_image.webp", + "/media/iris_2a02/images/17_image.webp", + "/media/iris_2a02/images/18_image.webp", + "/media/iris_2a02/images/19_image.webp", + "/media/iris_2a02/images/20_image.webp", + "/media/iris_2a02/images/21_image.webp", + "/media/iris_2a02/images/22_image.webp", + "/media/iris_2a02/images/23_image.webp", + "/media/iris_2a02/images/24_image.webp", + "/media/iris_2a02/images/25_image.webp", + "/media/iris_2a02/images/26_image.webp", + "/media/iris_2a02/images/27_image.webp", + "/media/iris_2a02/images/28_image.webp", + "/media/iris_2a02/images/30_image.webp", + "/media/iris_2a02/images/31_image.webp", + "/media/iris_2a02/images/32_image.webp", + "/media/iris_2a02/images/33_image.webp", + "/media/iris_2a02/images/34_image.webp", + "/media/iris_2a02/images/35_image.webp", + "/media/iris_2a02/images/36_image.webp", + "/media/iris_2a02/images/37_image.webp", + "/media/iris_2a02/images/38_image.webp", + "/media/iris_2a02/images/39_image.webp", + "/media/iris_2a02/images/40_image.webp", + "/media/iris_2a02/images/41_image.webp", + "/media/iris_2a02/images/42_image.webp", + "/media/iris_2a02/images/43_image.webp", + "/media/iris_2a02/images/44_image.webp", + "/media/iris_2a02/images/45_image.webp", + "/media/iris_2a02/images/46_image.webp", + "/media/iris_2a02/images/47_image.webp", + "/media/iris_2a02/images/48_image.webp", + "/media/iris_2a02/images/49_image.webp", + "/media/iris_2a02/images/51_image.webp" + ], + "created_at": "2026-01-29T23:44:00.486909-07:00", + "dir_name": "iris_2a02" +} \ No newline at end of file diff --git a/ideas/aeres/agents/isa_6198.json b/ideas/aeres/agents/isa_6198.json new file mode 100644 index 0000000..817be6b --- /dev/null +++ b/ideas/aeres/agents/isa_6198.json @@ -0,0 +1,76 @@ +{ + "id": "isa_6198", + "name": "Isa Russo", + "handle": "isa", + "gender": "female", + "description": "eccentric Caucasian 40's woman, loves disco, wears sparkly kaftans, long blonde hair, bold makeup, chunky fun rings, sunglasses,", + "tags": [ + "social_butterfly", + "1970s cinema", + "record collecting", + "maximalist interior design", + "indoor gardening", + "mixology", + "roller skating" + ], + "avatar_url": "/media/isa_6198/avatar.webp?t=1769673464", + "banner_url": "/media/isa_6198/banner.webp?t=1769673467", + "videos": [ + "/media/isa_6198/videos/01_smile_reveal.mp4?t=1769673506" + ], + "images": [ + "/media/isa_6198/images/01_mid_mid_neutral.webp", + "/media/isa_6198/images/02_image.webp", + "/media/isa_6198/images/03_image.webp", + "/media/isa_6198/images/04_image.webp", + "/media/isa_6198/images/05_image.webp", + "/media/isa_6198/images/06_image.webp", + "/media/isa_6198/images/07_image.webp", + "/media/isa_6198/images/08_image.webp", + "/media/isa_6198/images/09_image.webp", + "/media/isa_6198/images/10_image.webp", + "/media/isa_6198/images/11_image.webp", + "/media/isa_6198/images/12_image.webp", + "/media/isa_6198/images/13_image.webp", + "/media/isa_6198/images/14_image.webp", + "/media/isa_6198/images/15_image.webp", + "/media/isa_6198/images/16_image.webp", + "/media/isa_6198/images/17_image.webp", + "/media/isa_6198/images/18_image.webp", + "/media/isa_6198/images/19_image.webp", + "/media/isa_6198/images/20_image.webp", + "/media/isa_6198/images/21_image.webp", + "/media/isa_6198/images/22_image.webp", + "/media/isa_6198/images/23_image.webp", + "/media/isa_6198/images/24_image.webp", + "/media/isa_6198/images/25_image.webp", + "/media/isa_6198/images/26_image.webp", + "/media/isa_6198/images/27_image.webp", + "/media/isa_6198/images/28_image.webp", + "/media/isa_6198/images/29_image.webp", + "/media/isa_6198/images/30_image.webp", + "/media/isa_6198/images/31_image.webp", + "/media/isa_6198/images/32_image.webp", + "/media/isa_6198/images/33_image.webp", + "/media/isa_6198/images/34_image.webp", + "/media/isa_6198/images/35_image.webp", + "/media/isa_6198/images/36_image.webp", + "/media/isa_6198/images/37_image.webp", + "/media/isa_6198/images/38_image.webp", + "/media/isa_6198/images/39_image.webp", + "/media/isa_6198/images/40_image.webp", + "/media/isa_6198/images/41_image.webp", + "/media/isa_6198/images/42_image.webp", + "/media/isa_6198/images/43_image.webp", + "/media/isa_6198/images/44_image.webp", + "/media/isa_6198/images/45_image.webp", + "/media/isa_6198/images/46_image.webp", + "/media/isa_6198/images/47_image.webp", + "/media/isa_6198/images/48_image.webp", + "/media/isa_6198/images/49_image.webp", + "/media/isa_6198/images/50_image.webp", + "/media/isa_6198/images/51_image.webp" + ], + "created_at": "2026-01-29T00:56:20.911451-07:00", + "dir_name": "isa_6198" +} \ No newline at end of file diff --git a/ideas/aeres/agents/isabel_fced.json b/ideas/aeres/agents/isabel_fced.json new file mode 100644 index 0000000..8f1bcb3 --- /dev/null +++ b/ideas/aeres/agents/isabel_fced.json @@ -0,0 +1,77 @@ +{ + "id": "isabel_fced", + "name": "Isabel Gomes", + "handle": "isabel", + "gender": "female", + "description": "dark haired woman from Brazil who is playing football", + "tags": [ + "athletic", + "surfing", + "beach volleyball", + "functional training", + "ocean conservation", + "photography", + "healthy cooking", + "reading biographies" + ], + "avatar_url": "/media/isabel_fced/avatar.webp?t=1770016524", + "banner_url": "/media/isabel_fced/banner.webp?t=1770015902", + "videos": [ + "/media/isabel_fced/videos/01_smile_reveal.mp4?t=1770015920" + ], + "images": [ + "/media/isabel_fced/images/01_mid_mid_neutral.webp", + "/media/isabel_fced/images/02_image.webp", + "/media/isabel_fced/images/03_image.webp", + "/media/isabel_fced/images/04_image.webp", + "/media/isabel_fced/images/05_image.webp", + "/media/isabel_fced/images/06_image.webp", + "/media/isabel_fced/images/07_image.webp", + "/media/isabel_fced/images/08_image.webp", + "/media/isabel_fced/images/09_image.webp", + "/media/isabel_fced/images/10_image.webp", + "/media/isabel_fced/images/11_image.webp", + "/media/isabel_fced/images/12_image.webp", + "/media/isabel_fced/images/13_image.webp", + "/media/isabel_fced/images/14_image.webp", + "/media/isabel_fced/images/15_image.webp", + "/media/isabel_fced/images/16_image.webp", + "/media/isabel_fced/images/17_image.webp", + "/media/isabel_fced/images/18_image.webp", + "/media/isabel_fced/images/19_image.webp", + "/media/isabel_fced/images/20_image.webp", + "/media/isabel_fced/images/21_image.webp", + "/media/isabel_fced/images/22_image.webp", + "/media/isabel_fced/images/23_image.webp", + "/media/isabel_fced/images/24_image.webp", + "/media/isabel_fced/images/25_image.webp", + "/media/isabel_fced/images/26_image.webp", + "/media/isabel_fced/images/27_image.webp", + "/media/isabel_fced/images/28_image.webp", + "/media/isabel_fced/images/29_image.webp", + "/media/isabel_fced/images/30_image.webp", + "/media/isabel_fced/images/31_image.webp", + "/media/isabel_fced/images/32_image.webp", + "/media/isabel_fced/images/33_image.webp", + "/media/isabel_fced/images/34_image.webp", + "/media/isabel_fced/images/35_image.webp", + "/media/isabel_fced/images/36_image.webp", + "/media/isabel_fced/images/37_image.webp", + "/media/isabel_fced/images/38_image.webp", + "/media/isabel_fced/images/39_image.webp", + "/media/isabel_fced/images/40_image.webp", + "/media/isabel_fced/images/41_image.webp", + "/media/isabel_fced/images/42_image.webp", + "/media/isabel_fced/images/43_image.webp", + "/media/isabel_fced/images/44_image.webp", + "/media/isabel_fced/images/45_image.webp", + "/media/isabel_fced/images/46_image.webp", + "/media/isabel_fced/images/47_image.webp", + "/media/isabel_fced/images/48_image.webp", + "/media/isabel_fced/images/49_image.webp", + "/media/isabel_fced/images/50_image.webp", + "/media/isabel_fced/images/51_image.webp" + ], + "created_at": "2026-02-02T00:03:30.400264-07:00", + "dir_name": "isabel_fced" +} \ No newline at end of file diff --git a/ideas/aeres/agents/isabella_5717.json b/ideas/aeres/agents/isabella_5717.json new file mode 100644 index 0000000..b55d793 --- /dev/null +++ b/ideas/aeres/agents/isabella_5717.json @@ -0,0 +1,77 @@ +{ + "id": "isabella_5717", + "name": "Isabella Conti", + "handle": "isabella", + "gender": "female", + "description": "female from Italy who likes Lamborghini", + "tags": [ + "influencer_lifestyle", + "aerodynamics", + "mechanical watches", + "vintage racing", + "interior design", + "tennis", + "wine tasting", + "contemporary photography" + ], + "avatar_url": "/media/isabella_5717/avatar.webp?t=1770117079", + "banner_url": "/media/isabella_5717/banner.webp?t=1770117078", + "videos": [ + "/media/isabella_5717/videos/01_smile_reveal.mp4?t=1770117119" + ], + "images": [ + "/media/isabella_5717/images/01_mid_mid_neutral.webp", + "/media/isabella_5717/images/02_image.webp", + "/media/isabella_5717/images/03_image.webp", + "/media/isabella_5717/images/04_image.webp", + "/media/isabella_5717/images/05_image.webp", + "/media/isabella_5717/images/06_image.webp", + "/media/isabella_5717/images/07_image.webp", + "/media/isabella_5717/images/08_image.webp", + "/media/isabella_5717/images/09_image.webp", + "/media/isabella_5717/images/10_image.webp", + "/media/isabella_5717/images/11_image.webp", + "/media/isabella_5717/images/12_image.webp", + "/media/isabella_5717/images/13_image.webp", + "/media/isabella_5717/images/14_image.webp", + "/media/isabella_5717/images/15_image.webp", + "/media/isabella_5717/images/16_image.webp", + "/media/isabella_5717/images/17_image.webp", + "/media/isabella_5717/images/18_image.webp", + "/media/isabella_5717/images/19_image.webp", + "/media/isabella_5717/images/20_image.webp", + "/media/isabella_5717/images/21_image.webp", + "/media/isabella_5717/images/22_image.webp", + "/media/isabella_5717/images/23_image.webp", + "/media/isabella_5717/images/24_image.webp", + "/media/isabella_5717/images/25_image.webp", + "/media/isabella_5717/images/26_image.webp", + "/media/isabella_5717/images/27_image.webp", + "/media/isabella_5717/images/28_image.webp", + "/media/isabella_5717/images/29_image.webp", + "/media/isabella_5717/images/30_image.webp", + "/media/isabella_5717/images/31_image.webp", + "/media/isabella_5717/images/32_image.webp", + "/media/isabella_5717/images/33_image.webp", + "/media/isabella_5717/images/34_image.webp", + "/media/isabella_5717/images/35_image.webp", + "/media/isabella_5717/images/36_image.webp", + "/media/isabella_5717/images/37_image.webp", + "/media/isabella_5717/images/38_image.webp", + "/media/isabella_5717/images/39_image.webp", + "/media/isabella_5717/images/40_image.webp", + "/media/isabella_5717/images/41_image.webp", + "/media/isabella_5717/images/42_image.webp", + "/media/isabella_5717/images/43_image.webp", + "/media/isabella_5717/images/44_image.webp", + "/media/isabella_5717/images/45_image.webp", + "/media/isabella_5717/images/46_image.webp", + "/media/isabella_5717/images/47_image.webp", + "/media/isabella_5717/images/48_image.webp", + "/media/isabella_5717/images/49_image.webp", + "/media/isabella_5717/images/50_image.webp", + "/media/isabella_5717/images/51_image.webp" + ], + "created_at": "2026-02-03T04:10:15.490119-07:00", + "dir_name": "isabella_5717" +} \ No newline at end of file diff --git a/ideas/aeres/agents/italia_470b.json b/ideas/aeres/agents/italia_470b.json new file mode 100644 index 0000000..6ed1c8d --- /dev/null +++ b/ideas/aeres/agents/italia_470b.json @@ -0,0 +1,77 @@ +{ + "id": "italia_470b", + "name": "Italia Ricci", + "handle": "italia", + "gender": "female", + "description": "Daenerys Targaryen", + "tags": [ + "dragon_girl", + "equestrianism", + "medieval history", + "opera", + "goldsmithing", + "wine tasting", + "archery", + "interior design" + ], + "avatar_url": "/media/italia_470b/avatar.webp?t=1769600525", + "banner_url": "/media/italia_470b/banner.webp?t=1769600517", + "videos": [ + "/media/italia_470b/videos/01_smile_reveal.mp4?t=1769600556" + ], + "images": [ + "/media/italia_470b/images/01_mid_mid_neutral.webp", + "/media/italia_470b/images/02_image.webp", + "/media/italia_470b/images/03_image.webp", + "/media/italia_470b/images/04_image.webp", + "/media/italia_470b/images/05_image.webp", + "/media/italia_470b/images/06_image.webp", + "/media/italia_470b/images/07_image.webp", + "/media/italia_470b/images/08_image.webp", + "/media/italia_470b/images/09_image.webp", + "/media/italia_470b/images/10_image.webp", + "/media/italia_470b/images/11_image.webp", + "/media/italia_470b/images/12_image.webp", + "/media/italia_470b/images/13_image.webp", + "/media/italia_470b/images/14_image.webp", + "/media/italia_470b/images/15_image.webp", + "/media/italia_470b/images/16_image.webp", + "/media/italia_470b/images/17_image.webp", + "/media/italia_470b/images/18_image.webp", + "/media/italia_470b/images/19_image.webp", + "/media/italia_470b/images/20_image.webp", + "/media/italia_470b/images/21_image.webp", + "/media/italia_470b/images/22_image.webp", + "/media/italia_470b/images/23_image.webp", + "/media/italia_470b/images/24_image.webp", + "/media/italia_470b/images/25_image.webp", + "/media/italia_470b/images/26_image.webp", + "/media/italia_470b/images/27_image.webp", + "/media/italia_470b/images/28_image.webp", + "/media/italia_470b/images/29_image.webp", + "/media/italia_470b/images/30_image.webp", + "/media/italia_470b/images/31_image.webp", + "/media/italia_470b/images/32_image.webp", + "/media/italia_470b/images/33_image.webp", + "/media/italia_470b/images/34_image.webp", + "/media/italia_470b/images/35_image.webp", + "/media/italia_470b/images/36_image.webp", + "/media/italia_470b/images/37_image.webp", + "/media/italia_470b/images/38_image.webp", + "/media/italia_470b/images/39_image.webp", + "/media/italia_470b/images/40_image.webp", + "/media/italia_470b/images/41_image.webp", + "/media/italia_470b/images/42_image.webp", + "/media/italia_470b/images/43_image.webp", + "/media/italia_470b/images/44_image.webp", + "/media/italia_470b/images/45_image.webp", + "/media/italia_470b/images/46_image.webp", + "/media/italia_470b/images/47_image.webp", + "/media/italia_470b/images/48_image.webp", + "/media/italia_470b/images/49_image.webp", + "/media/italia_470b/images/50_image.webp", + "/media/italia_470b/images/51_image.webp" + ], + "created_at": "2026-01-28T04:40:48.736132-07:00", + "dir_name": "italia_470b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/itzcuintli_482c.json b/ideas/aeres/agents/itzcuintli_482c.json new file mode 100644 index 0000000..4d6fcb9 --- /dev/null +++ b/ideas/aeres/agents/itzcuintli_482c.json @@ -0,0 +1,77 @@ +{ + "id": "itzcuintli_482c", + "name": "Itzcuintli Rodriguez", + "handle": "itzcuintli", + "gender": "male", + "description": "male who is a F1 driver", + "tags": [ + "thrill_seeker", + "vintage watch restoration", + "aerodynamics", + "high-altitude trekking", + "telemetry analysis", + "espresso brewing", + "desert photography", + "modern architecture" + ], + "avatar_url": "/media/itzcuintli_482c/avatar.webp?t=1770035584", + "banner_url": "/media/itzcuintli_482c/banner.webp?t=1770035557", + "videos": [ + "/media/itzcuintli_482c/videos/01_smile_reveal.mp4?t=1770035589" + ], + "images": [ + "/media/itzcuintli_482c/images/01_mid_mid_neutral.webp", + "/media/itzcuintli_482c/images/02_image.webp", + "/media/itzcuintli_482c/images/03_image.webp", + "/media/itzcuintli_482c/images/04_image.webp", + "/media/itzcuintli_482c/images/05_image.webp", + "/media/itzcuintli_482c/images/06_image.webp", + "/media/itzcuintli_482c/images/07_image.webp", + "/media/itzcuintli_482c/images/08_image.webp", + "/media/itzcuintli_482c/images/09_image.webp", + "/media/itzcuintli_482c/images/10_image.webp", + "/media/itzcuintli_482c/images/21_image.webp", + "/media/itzcuintli_482c/images/22_image.webp", + "/media/itzcuintli_482c/images/23_image.webp", + "/media/itzcuintli_482c/images/24_image.webp", + "/media/itzcuintli_482c/images/25_image.webp", + "/media/itzcuintli_482c/images/26_image.webp", + "/media/itzcuintli_482c/images/27_image.webp", + "/media/itzcuintli_482c/images/28_image.webp", + "/media/itzcuintli_482c/images/29_image.webp", + "/media/itzcuintli_482c/images/30_image.webp", + "/media/itzcuintli_482c/images/31_image.webp", + "/media/itzcuintli_482c/images/32_image.webp", + "/media/itzcuintli_482c/images/33_image.webp", + "/media/itzcuintli_482c/images/34_image.webp", + "/media/itzcuintli_482c/images/35_image.webp", + "/media/itzcuintli_482c/images/36_image.webp", + "/media/itzcuintli_482c/images/37_image.webp", + "/media/itzcuintli_482c/images/38_image.webp", + "/media/itzcuintli_482c/images/39_image.webp", + "/media/itzcuintli_482c/images/40_image.webp", + "/media/itzcuintli_482c/images/41_image.webp", + "/media/itzcuintli_482c/images/42_image.webp", + "/media/itzcuintli_482c/images/43_image.webp", + "/media/itzcuintli_482c/images/44_image.webp", + "/media/itzcuintli_482c/images/45_image.webp", + "/media/itzcuintli_482c/images/46_image.webp", + "/media/itzcuintli_482c/images/47_image.webp", + "/media/itzcuintli_482c/images/48_image.webp", + "/media/itzcuintli_482c/images/49_image.webp", + "/media/itzcuintli_482c/images/50_image.webp", + "/media/itzcuintli_482c/images/51_image.webp", + "/media/itzcuintli_482c/images/52_image.webp", + "/media/itzcuintli_482c/images/53_image.webp", + "/media/itzcuintli_482c/images/54_image.webp", + "/media/itzcuintli_482c/images/55_image.webp", + "/media/itzcuintli_482c/images/56_image.webp", + "/media/itzcuintli_482c/images/57_image.webp", + "/media/itzcuintli_482c/images/58_image.webp", + "/media/itzcuintli_482c/images/59_image.webp", + "/media/itzcuintli_482c/images/60_image.webp", + "/media/itzcuintli_482c/images/61_image.webp" + ], + "created_at": "2026-02-02T05:31:10.959539-07:00", + "dir_name": "itzcuintli_482c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ivan_c6a5.json b/ideas/aeres/agents/ivan_c6a5.json new file mode 100644 index 0000000..a5dfdb8 --- /dev/null +++ b/ideas/aeres/agents/ivan_c6a5.json @@ -0,0 +1,76 @@ +{ + "id": "ivan_c6a5", + "name": "Ivan Turner", + "handle": "ivan", + "gender": "non-binary", + "description": "20 years old, red hair, likes to play tennis", + "tags": [ + "athletic", + "tennis", + "outdoor rock climbing", + "queer history", + "cooking plant-based meals", + "podcasts about endurance", + "photography" + ], + "avatar_url": "/media/ivan_c6a5/avatar.webp?t=1769081204", + "banner_url": "/media/ivan_c6a5/banner.webp?t=1769081207", + "videos": [ + "/media/ivan_c6a5/videos/01_smile_reveal.mp4?t=1769081275" + ], + "images": [ + "/media/ivan_c6a5/images/01_mid_mid_neutral.webp", + "/media/ivan_c6a5/images/02_image.webp", + "/media/ivan_c6a5/images/03_image.webp", + "/media/ivan_c6a5/images/04_image.webp", + "/media/ivan_c6a5/images/05_image.webp", + "/media/ivan_c6a5/images/06_image.webp", + "/media/ivan_c6a5/images/07_image.webp", + "/media/ivan_c6a5/images/08_image.webp", + "/media/ivan_c6a5/images/09_image.webp", + "/media/ivan_c6a5/images/10_image.webp", + "/media/ivan_c6a5/images/11_image.webp", + "/media/ivan_c6a5/images/12_image.webp", + "/media/ivan_c6a5/images/13_image.webp", + "/media/ivan_c6a5/images/14_image.webp", + "/media/ivan_c6a5/images/15_image.webp", + "/media/ivan_c6a5/images/16_image.webp", + "/media/ivan_c6a5/images/17_image.webp", + "/media/ivan_c6a5/images/18_image.webp", + "/media/ivan_c6a5/images/19_image.webp", + "/media/ivan_c6a5/images/20_image.webp", + "/media/ivan_c6a5/images/21_image.webp", + "/media/ivan_c6a5/images/22_image.webp", + "/media/ivan_c6a5/images/23_image.webp", + "/media/ivan_c6a5/images/24_image.webp", + "/media/ivan_c6a5/images/25_image.webp", + "/media/ivan_c6a5/images/26_image.webp", + "/media/ivan_c6a5/images/27_image.webp", + "/media/ivan_c6a5/images/28_image.webp", + "/media/ivan_c6a5/images/29_image.webp", + "/media/ivan_c6a5/images/30_image.webp", + "/media/ivan_c6a5/images/31_image.webp", + "/media/ivan_c6a5/images/32_image.webp", + "/media/ivan_c6a5/images/33_image.webp", + "/media/ivan_c6a5/images/34_image.webp", + "/media/ivan_c6a5/images/35_image.webp", + "/media/ivan_c6a5/images/36_image.webp", + "/media/ivan_c6a5/images/37_image.webp", + "/media/ivan_c6a5/images/38_image.webp", + "/media/ivan_c6a5/images/39_image.webp", + "/media/ivan_c6a5/images/40_image.webp", + "/media/ivan_c6a5/images/41_image.webp", + "/media/ivan_c6a5/images/42_image.webp", + "/media/ivan_c6a5/images/43_image.webp", + "/media/ivan_c6a5/images/44_image.webp", + "/media/ivan_c6a5/images/45_image.webp", + "/media/ivan_c6a5/images/46_image.webp", + "/media/ivan_c6a5/images/47_image.webp", + "/media/ivan_c6a5/images/48_image.webp", + "/media/ivan_c6a5/images/49_image.webp", + "/media/ivan_c6a5/images/50_image.webp", + "/media/ivan_c6a5/images/51_image.webp" + ], + "created_at": "2026-01-22T04:25:43.188809-07:00", + "dir_name": "ivan_c6a5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jabari_9d29.json b/ideas/aeres/agents/jabari_9d29.json new file mode 100644 index 0000000..1dbc3a9 --- /dev/null +++ b/ideas/aeres/agents/jabari_9d29.json @@ -0,0 +1,77 @@ +{ + "id": "jabari_9d29", + "name": "Jabari Walker", + "handle": "jabari", + "gender": "male", + "description": "afroamerican male who likes luxury cars and is a CEO", + "tags": [ + "sigma_male", + "horology (watch collecting)", + "performance driving", + "global economics", + "modern architecture", + "chess", + "wine tasting", + "sailing" + ], + "avatar_url": "/media/jabari_9d29/avatar.webp?t=1769679040", + "banner_url": "/media/jabari_9d29/banner.webp?t=1769679038", + "videos": [ + "/media/jabari_9d29/videos/01_smile_reveal.mp4?t=1769679115" + ], + "images": [ + "/media/jabari_9d29/images/01_mid_mid_neutral.webp", + "/media/jabari_9d29/images/02_image.webp", + "/media/jabari_9d29/images/03_image.webp", + "/media/jabari_9d29/images/04_image.webp", + "/media/jabari_9d29/images/05_image.webp", + "/media/jabari_9d29/images/06_image.webp", + "/media/jabari_9d29/images/07_image.webp", + "/media/jabari_9d29/images/08_image.webp", + "/media/jabari_9d29/images/09_image.webp", + "/media/jabari_9d29/images/10_image.webp", + "/media/jabari_9d29/images/11_image.webp", + "/media/jabari_9d29/images/12_image.webp", + "/media/jabari_9d29/images/13_image.webp", + "/media/jabari_9d29/images/14_image.webp", + "/media/jabari_9d29/images/15_image.webp", + "/media/jabari_9d29/images/16_image.webp", + "/media/jabari_9d29/images/17_image.webp", + "/media/jabari_9d29/images/18_image.webp", + "/media/jabari_9d29/images/19_image.webp", + "/media/jabari_9d29/images/20_image.webp", + "/media/jabari_9d29/images/21_image.webp", + "/media/jabari_9d29/images/22_image.webp", + "/media/jabari_9d29/images/23_image.webp", + "/media/jabari_9d29/images/24_image.webp", + "/media/jabari_9d29/images/25_image.webp", + "/media/jabari_9d29/images/26_image.webp", + "/media/jabari_9d29/images/27_image.webp", + "/media/jabari_9d29/images/28_image.webp", + "/media/jabari_9d29/images/29_image.webp", + "/media/jabari_9d29/images/30_image.webp", + "/media/jabari_9d29/images/31_image.webp", + "/media/jabari_9d29/images/32_image.webp", + "/media/jabari_9d29/images/33_image.webp", + "/media/jabari_9d29/images/34_image.webp", + "/media/jabari_9d29/images/35_image.webp", + "/media/jabari_9d29/images/36_image.webp", + "/media/jabari_9d29/images/37_image.webp", + "/media/jabari_9d29/images/38_image.webp", + "/media/jabari_9d29/images/39_image.webp", + "/media/jabari_9d29/images/40_image.webp", + "/media/jabari_9d29/images/41_image.webp", + "/media/jabari_9d29/images/42_image.webp", + "/media/jabari_9d29/images/43_image.webp", + "/media/jabari_9d29/images/44_image.webp", + "/media/jabari_9d29/images/45_image.webp", + "/media/jabari_9d29/images/46_image.webp", + "/media/jabari_9d29/images/47_image.webp", + "/media/jabari_9d29/images/48_image.webp", + "/media/jabari_9d29/images/49_image.webp", + "/media/jabari_9d29/images/50_image.webp", + "/media/jabari_9d29/images/51_image.webp" + ], + "created_at": "2026-01-29T02:29:11.489005-07:00", + "dir_name": "jabari_9d29" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jace_97fb.json b/ideas/aeres/agents/jace_97fb.json new file mode 100644 index 0000000..4a88b13 --- /dev/null +++ b/ideas/aeres/agents/jace_97fb.json @@ -0,0 +1,74 @@ +{ + "id": "jace_97fb", + "name": "Jace Thomas", + "handle": "jace", + "gender": "male", + "description": "58 year old, 5ft 6in, round faced, 180lb man, with brown beard with silver streaks, bald head, ears that stick out a little, soldering, tube amps, resisters, capacitors, music amps, speakers,", + "tags": [ + "intellectual", + "vintage clock restoration", + "analog photography", + "vinyl record collecting", + "classical history", + "urban hiking", + "baking sourdough bread", + "public radio podcasts" + ], + "avatar_url": "/media/jace_97fb/avatar.webp?t=1769127155", + "banner_url": "/media/jace_97fb/banner.webp?t=1769127156", + "images": [ + "/media/jace_97fb/images/01_mid_mid_neutral.webp", + "/media/jace_97fb/images/02_image.webp", + "/media/jace_97fb/images/03_image.webp", + "/media/jace_97fb/images/04_image.webp", + "/media/jace_97fb/images/05_image.webp", + "/media/jace_97fb/images/06_image.webp", + "/media/jace_97fb/images/07_image.webp", + "/media/jace_97fb/images/08_image.webp", + "/media/jace_97fb/images/09_image.webp", + "/media/jace_97fb/images/10_image.webp", + "/media/jace_97fb/images/11_image.webp", + "/media/jace_97fb/images/12_image.webp", + "/media/jace_97fb/images/12_image.webp", + "/media/jace_97fb/images/13_image.webp", + "/media/jace_97fb/images/13_image.webp", + "/media/jace_97fb/images/14_image.webp", + "/media/jace_97fb/images/14_image.webp", + "/media/jace_97fb/images/15_image.webp", + "/media/jace_97fb/images/15_image.webp", + "/media/jace_97fb/images/16_image.webp", + "/media/jace_97fb/images/16_image.webp", + "/media/jace_97fb/images/17_image.webp", + "/media/jace_97fb/images/17_image.webp", + "/media/jace_97fb/images/18_image.webp", + "/media/jace_97fb/images/18_image.webp", + "/media/jace_97fb/images/19_image.webp", + "/media/jace_97fb/images/19_image.webp", + "/media/jace_97fb/images/20_image.webp", + "/media/jace_97fb/images/21_image.webp", + "/media/jace_97fb/images/20_image.webp", + "/media/jace_97fb/images/21_image.webp", + "/media/jace_97fb/images/22_image.webp", + "/media/jace_97fb/images/23_image.webp", + "/media/jace_97fb/images/24_image.webp", + "/media/jace_97fb/images/25_image.webp", + "/media/jace_97fb/images/26_image.webp", + "/media/jace_97fb/images/27_image.webp", + "/media/jace_97fb/images/28_image.webp", + "/media/jace_97fb/images/29_image.webp", + "/media/jace_97fb/images/30_image.webp", + "/media/jace_97fb/images/31_image.webp", + "/media/jace_97fb/images/32_image.webp", + "/media/jace_97fb/images/33_image.webp", + "/media/jace_97fb/images/34_image.webp", + "/media/jace_97fb/images/35_image.webp", + "/media/jace_97fb/images/36_image.webp", + "/media/jace_97fb/images/37_image.webp", + "/media/jace_97fb/images/38_image.webp", + "/media/jace_97fb/images/39_image.webp", + "/media/jace_97fb/images/40_image.webp", + "/media/jace_97fb/images/41_image.webp" + ], + "created_at": "2026-01-22T17:11:15.247197-07:00", + "dir_name": "jace_97fb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jackie_4ddc.json b/ideas/aeres/agents/jackie_4ddc.json new file mode 100644 index 0000000..8fad634 --- /dev/null +++ b/ideas/aeres/agents/jackie_4ddc.json @@ -0,0 +1,73 @@ +{ + "id": "jackie_4ddc", + "name": "Jackie Brown", + "handle": "jackie", + "gender": "male", + "description": "male from Senegal who is a tennis player", + "tags": [ + "the athletic one", + "competitive tennis", + "sports nutrition", + "coastal conservation", + "photography", + "jazz music", + "chess" + ], + "avatar_url": "/media/jackie_4ddc/avatar.webp?t=1770039068", + "banner_url": "/media/jackie_4ddc/banner.webp?t=1770039126", + "videos": [ + "/media/jackie_4ddc/videos/01_smile_reveal.mp4?t=1770039075" + ], + "images": [ + "/media/jackie_4ddc/images/01_mid_mid_neutral.webp", + "/media/jackie_4ddc/images/02_image.webp", + "/media/jackie_4ddc/images/03_image.webp", + "/media/jackie_4ddc/images/04_image.webp", + "/media/jackie_4ddc/images/05_image.webp", + "/media/jackie_4ddc/images/07_image.webp", + "/media/jackie_4ddc/images/08_image.webp", + "/media/jackie_4ddc/images/09_image.webp", + "/media/jackie_4ddc/images/10_image.webp", + "/media/jackie_4ddc/images/11_image.webp", + "/media/jackie_4ddc/images/12_image.webp", + "/media/jackie_4ddc/images/13_image.webp", + "/media/jackie_4ddc/images/14_image.webp", + "/media/jackie_4ddc/images/15_image.webp", + "/media/jackie_4ddc/images/16_image.webp", + "/media/jackie_4ddc/images/17_image.webp", + "/media/jackie_4ddc/images/18_image.webp", + "/media/jackie_4ddc/images/19_image.webp", + "/media/jackie_4ddc/images/20_image.webp", + "/media/jackie_4ddc/images/21_image.webp", + "/media/jackie_4ddc/images/22_image.webp", + "/media/jackie_4ddc/images/23_image.webp", + "/media/jackie_4ddc/images/24_image.webp", + "/media/jackie_4ddc/images/25_image.webp", + "/media/jackie_4ddc/images/26_image.webp", + "/media/jackie_4ddc/images/27_image.webp", + "/media/jackie_4ddc/images/28_image.webp", + "/media/jackie_4ddc/images/29_image.webp", + "/media/jackie_4ddc/images/30_image.webp", + "/media/jackie_4ddc/images/31_image.webp", + "/media/jackie_4ddc/images/32_image.webp", + "/media/jackie_4ddc/images/33_image.webp", + "/media/jackie_4ddc/images/34_image.webp", + "/media/jackie_4ddc/images/35_image.webp", + "/media/jackie_4ddc/images/36_image.webp", + "/media/jackie_4ddc/images/37_image.webp", + "/media/jackie_4ddc/images/38_image.webp", + "/media/jackie_4ddc/images/39_image.webp", + "/media/jackie_4ddc/images/40_image.webp", + "/media/jackie_4ddc/images/41_image.webp", + "/media/jackie_4ddc/images/42_image.webp", + "/media/jackie_4ddc/images/43_image.webp", + "/media/jackie_4ddc/images/44_image.webp", + "/media/jackie_4ddc/images/45_image.webp", + "/media/jackie_4ddc/images/46_image.webp", + "/media/jackie_4ddc/images/47_image.webp", + "/media/jackie_4ddc/images/49_image.webp", + "/media/jackie_4ddc/images/50_image.webp" + ], + "created_at": "2026-02-02T06:29:26.245946-07:00", + "dir_name": "jackie_4ddc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jade_d425.json b/ideas/aeres/agents/jade_d425.json new file mode 100644 index 0000000..44ca425 --- /dev/null +++ b/ideas/aeres/agents/jade_d425.json @@ -0,0 +1,77 @@ +{ + "id": "jade_d425", + "name": "Jade Lambert", + "handle": "jade", + "gender": "female", + "description": "woman from Hungary who is a racecar driver", + "tags": [ + "thrill_seeker", + "aerodynamics", + "olympic weightlifting", + "precision timepieces", + "advanced telemetry analysis", + "espresso brewing", + "biographies of historical explorers", + "urban cycling" + ], + "avatar_url": "/media/jade_d425/avatar.webp?t=1770037982", + "banner_url": "/media/jade_d425/banner.webp?t=1770037971", + "videos": [ + "/media/jade_d425/videos/01_smile_reveal.mp4?t=1770038001" + ], + "images": [ + "/media/jade_d425/images/01_mid_mid_neutral.webp", + "/media/jade_d425/images/02_image.webp", + "/media/jade_d425/images/03_image.webp", + "/media/jade_d425/images/04_image.webp", + "/media/jade_d425/images/05_image.webp", + "/media/jade_d425/images/06_image.webp", + "/media/jade_d425/images/07_image.webp", + "/media/jade_d425/images/08_image.webp", + "/media/jade_d425/images/09_image.webp", + "/media/jade_d425/images/10_image.webp", + "/media/jade_d425/images/11_image.webp", + "/media/jade_d425/images/12_image.webp", + "/media/jade_d425/images/13_image.webp", + "/media/jade_d425/images/14_image.webp", + "/media/jade_d425/images/15_image.webp", + "/media/jade_d425/images/16_image.webp", + "/media/jade_d425/images/17_image.webp", + "/media/jade_d425/images/18_image.webp", + "/media/jade_d425/images/19_image.webp", + "/media/jade_d425/images/20_image.webp", + "/media/jade_d425/images/21_image.webp", + "/media/jade_d425/images/22_image.webp", + "/media/jade_d425/images/23_image.webp", + "/media/jade_d425/images/24_image.webp", + "/media/jade_d425/images/25_image.webp", + "/media/jade_d425/images/26_image.webp", + "/media/jade_d425/images/27_image.webp", + "/media/jade_d425/images/28_image.webp", + "/media/jade_d425/images/29_image.webp", + "/media/jade_d425/images/30_image.webp", + "/media/jade_d425/images/31_image.webp", + "/media/jade_d425/images/32_image.webp", + "/media/jade_d425/images/33_image.webp", + "/media/jade_d425/images/34_image.webp", + "/media/jade_d425/images/35_image.webp", + "/media/jade_d425/images/36_image.webp", + "/media/jade_d425/images/37_image.webp", + "/media/jade_d425/images/38_image.webp", + "/media/jade_d425/images/39_image.webp", + "/media/jade_d425/images/40_image.webp", + "/media/jade_d425/images/41_image.webp", + "/media/jade_d425/images/42_image.webp", + "/media/jade_d425/images/43_image.webp", + "/media/jade_d425/images/44_image.webp", + "/media/jade_d425/images/45_image.webp", + "/media/jade_d425/images/46_image.webp", + "/media/jade_d425/images/47_image.webp", + "/media/jade_d425/images/48_image.webp", + "/media/jade_d425/images/49_image.webp", + "/media/jade_d425/images/50_image.webp", + "/media/jade_d425/images/51_image.webp" + ], + "created_at": "2026-02-02T06:11:32.954941-07:00", + "dir_name": "jade_d425" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jade_f4db.json b/ideas/aeres/agents/jade_f4db.json new file mode 100644 index 0000000..a3b8649 --- /dev/null +++ b/ideas/aeres/agents/jade_f4db.json @@ -0,0 +1,77 @@ +{ + "id": "jade_f4db", + "name": "Jade Sterling", + "handle": "jade", + "gender": "female", + "description": "british woman cosplaying as WWE wrestler Paige", + "tags": [ + "the cosplayer", + "pro-wrestling", + "cosplay", + "powerlifting", + "horror cinema", + "retro gaming", + "vinyl collecting", + "urban exploration" + ], + "avatar_url": "/media/jade_f4db/avatar.webp?t=1769702031", + "banner_url": "/media/jade_f4db/banner.webp?t=1769702027", + "videos": [ + "/media/jade_f4db/videos/01_smile_reveal.mp4?t=1769702071" + ], + "images": [ + "/media/jade_f4db/images/01_mid_mid_neutral.webp", + "/media/jade_f4db/images/02_image.webp", + "/media/jade_f4db/images/03_image.webp", + "/media/jade_f4db/images/04_image.webp", + "/media/jade_f4db/images/05_image.webp", + "/media/jade_f4db/images/06_image.webp", + "/media/jade_f4db/images/07_image.webp", + "/media/jade_f4db/images/08_image.webp", + "/media/jade_f4db/images/09_image.webp", + "/media/jade_f4db/images/10_image.webp", + "/media/jade_f4db/images/11_image.webp", + "/media/jade_f4db/images/12_image.webp", + "/media/jade_f4db/images/13_image.webp", + "/media/jade_f4db/images/14_image.webp", + "/media/jade_f4db/images/15_image.webp", + "/media/jade_f4db/images/16_image.webp", + "/media/jade_f4db/images/17_image.webp", + "/media/jade_f4db/images/18_image.webp", + "/media/jade_f4db/images/19_image.webp", + "/media/jade_f4db/images/20_image.webp", + "/media/jade_f4db/images/21_image.webp", + "/media/jade_f4db/images/22_image.webp", + "/media/jade_f4db/images/23_image.webp", + "/media/jade_f4db/images/24_image.webp", + "/media/jade_f4db/images/25_image.webp", + "/media/jade_f4db/images/26_image.webp", + "/media/jade_f4db/images/27_image.webp", + "/media/jade_f4db/images/28_image.webp", + "/media/jade_f4db/images/29_image.webp", + "/media/jade_f4db/images/30_image.webp", + "/media/jade_f4db/images/31_image.webp", + "/media/jade_f4db/images/32_image.webp", + "/media/jade_f4db/images/33_image.webp", + "/media/jade_f4db/images/34_image.webp", + "/media/jade_f4db/images/35_image.webp", + "/media/jade_f4db/images/36_image.webp", + "/media/jade_f4db/images/37_image.webp", + "/media/jade_f4db/images/38_image.webp", + "/media/jade_f4db/images/39_image.webp", + "/media/jade_f4db/images/40_image.webp", + "/media/jade_f4db/images/41_image.webp", + "/media/jade_f4db/images/42_image.webp", + "/media/jade_f4db/images/43_image.webp", + "/media/jade_f4db/images/44_image.webp", + "/media/jade_f4db/images/45_image.webp", + "/media/jade_f4db/images/46_image.webp", + "/media/jade_f4db/images/47_image.webp", + "/media/jade_f4db/images/48_image.webp", + "/media/jade_f4db/images/49_image.webp", + "/media/jade_f4db/images/50_image.webp", + "/media/jade_f4db/images/51_image.webp" + ], + "created_at": "2026-01-29T08:52:32.698594-07:00", + "dir_name": "jade_f4db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jaden_a8e3.json b/ideas/aeres/agents/jaden_a8e3.json new file mode 100644 index 0000000..f1b8ee3 --- /dev/null +++ b/ideas/aeres/agents/jaden_a8e3.json @@ -0,0 +1,75 @@ +{ + "id": "jaden_a8e3", + "name": "Jaden Williams", + "handle": "jaden", + "gender": "male", + "description": "ex military, republican, clean cut, conservative, mid western, dad vibe", + "tags": [ + "lifestyle", + "weightlifting", + "nutrition", + "military history", + "surfing", + "coastal hiking", + "cooking", + "classic rock" + ], + "avatar_url": "/media/jaden_a8e3/avatar.webp?t=1769558969", + "banner_url": "/media/jaden_a8e3/banner.webp?t=1769558968", + "videos": [ + "/media/jaden_a8e3/videos/01_smile_reveal.mp4?t=1769559009" + ], + "images": [ + "/media/jaden_a8e3/images/01_mid_mid_neutral.webp", + "/media/jaden_a8e3/images/02_image.webp", + "/media/jaden_a8e3/images/03_image.webp", + "/media/jaden_a8e3/images/04_image.webp", + "/media/jaden_a8e3/images/05_image.webp", + "/media/jaden_a8e3/images/06_image.webp", + "/media/jaden_a8e3/images/07_image.webp", + "/media/jaden_a8e3/images/08_image.webp", + "/media/jaden_a8e3/images/09_image.webp", + "/media/jaden_a8e3/images/10_image.webp", + "/media/jaden_a8e3/images/11_image.webp", + "/media/jaden_a8e3/images/12_image.webp", + "/media/jaden_a8e3/images/13_image.webp", + "/media/jaden_a8e3/images/14_image.webp", + "/media/jaden_a8e3/images/15_image.webp", + "/media/jaden_a8e3/images/16_image.webp", + "/media/jaden_a8e3/images/17_image.webp", + "/media/jaden_a8e3/images/18_image.webp", + "/media/jaden_a8e3/images/19_image.webp", + "/media/jaden_a8e3/images/20_image.webp", + "/media/jaden_a8e3/images/21_image.webp", + "/media/jaden_a8e3/images/22_image.webp", + "/media/jaden_a8e3/images/23_image.webp", + "/media/jaden_a8e3/images/24_image.webp", + "/media/jaden_a8e3/images/25_image.webp", + "/media/jaden_a8e3/images/27_image.webp", + "/media/jaden_a8e3/images/28_image.webp", + "/media/jaden_a8e3/images/29_image.webp", + "/media/jaden_a8e3/images/30_image.webp", + "/media/jaden_a8e3/images/31_image.webp", + "/media/jaden_a8e3/images/32_image.webp", + "/media/jaden_a8e3/images/33_image.webp", + "/media/jaden_a8e3/images/34_image.webp", + "/media/jaden_a8e3/images/35_image.webp", + "/media/jaden_a8e3/images/36_image.webp", + "/media/jaden_a8e3/images/37_image.webp", + "/media/jaden_a8e3/images/38_image.webp", + "/media/jaden_a8e3/images/39_image.webp", + "/media/jaden_a8e3/images/40_image.webp", + "/media/jaden_a8e3/images/41_image.webp", + "/media/jaden_a8e3/images/42_image.webp", + "/media/jaden_a8e3/images/43_image.webp", + "/media/jaden_a8e3/images/44_image.webp", + "/media/jaden_a8e3/images/45_image.webp", + "/media/jaden_a8e3/images/46_image.webp", + "/media/jaden_a8e3/images/47_image.webp", + "/media/jaden_a8e3/images/48_image.webp", + "/media/jaden_a8e3/images/50_image.webp", + "/media/jaden_a8e3/images/51_image.webp" + ], + "created_at": "2026-01-27T17:08:23.738238-07:00", + "dir_name": "jaden_a8e3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janelle_fd0e.json b/ideas/aeres/agents/janelle_fd0e.json new file mode 100644 index 0000000..85ef986 --- /dev/null +++ b/ideas/aeres/agents/janelle_fd0e.json @@ -0,0 +1,77 @@ +{ + "id": "janelle_fd0e", + "name": "Janelle Jackson", + "handle": "janelle", + "gender": "female", + "description": "21 years old woman from Romania with straight black hair and glasses who is a FC Barcelona fan", + "tags": [ + "girl_next_door", + "college football", + "investigative journalism", + "weightlifting", + "historical biographies", + "yoga", + "true crime podcasts", + "cooking soul food fusion" + ], + "avatar_url": "/media/janelle_fd0e/avatar.webp?t=1769514136", + "banner_url": "/media/janelle_fd0e/banner.webp?t=1769514134", + "videos": [ + "/media/janelle_fd0e/videos/01_smile_reveal.mp4?t=1769514198" + ], + "images": [ + "/media/janelle_fd0e/images/01_mid_mid_neutral.webp", + "/media/janelle_fd0e/images/02_image.webp", + "/media/janelle_fd0e/images/03_image.webp", + "/media/janelle_fd0e/images/04_image.webp", + "/media/janelle_fd0e/images/05_image.webp", + "/media/janelle_fd0e/images/06_image.webp", + "/media/janelle_fd0e/images/07_image.webp", + "/media/janelle_fd0e/images/08_image.webp", + "/media/janelle_fd0e/images/09_image.webp", + "/media/janelle_fd0e/images/10_image.webp", + "/media/janelle_fd0e/images/11_image.webp", + "/media/janelle_fd0e/images/12_image.webp", + "/media/janelle_fd0e/images/13_image.webp", + "/media/janelle_fd0e/images/14_image.webp", + "/media/janelle_fd0e/images/15_image.webp", + "/media/janelle_fd0e/images/16_image.webp", + "/media/janelle_fd0e/images/17_image.webp", + "/media/janelle_fd0e/images/18_image.webp", + "/media/janelle_fd0e/images/19_image.webp", + "/media/janelle_fd0e/images/20_image.webp", + "/media/janelle_fd0e/images/21_image.webp", + "/media/janelle_fd0e/images/22_image.webp", + "/media/janelle_fd0e/images/23_image.webp", + "/media/janelle_fd0e/images/24_image.webp", + "/media/janelle_fd0e/images/25_image.webp", + "/media/janelle_fd0e/images/26_image.webp", + "/media/janelle_fd0e/images/27_image.webp", + "/media/janelle_fd0e/images/28_image.webp", + "/media/janelle_fd0e/images/29_image.webp", + "/media/janelle_fd0e/images/30_image.webp", + "/media/janelle_fd0e/images/31_image.webp", + "/media/janelle_fd0e/images/32_image.webp", + "/media/janelle_fd0e/images/33_image.webp", + "/media/janelle_fd0e/images/34_image.webp", + "/media/janelle_fd0e/images/35_image.webp", + "/media/janelle_fd0e/images/36_image.webp", + "/media/janelle_fd0e/images/37_image.webp", + "/media/janelle_fd0e/images/38_image.webp", + "/media/janelle_fd0e/images/39_image.webp", + "/media/janelle_fd0e/images/40_image.webp", + "/media/janelle_fd0e/images/41_image.webp", + "/media/janelle_fd0e/images/42_image.webp", + "/media/janelle_fd0e/images/43_image.webp", + "/media/janelle_fd0e/images/44_image.webp", + "/media/janelle_fd0e/images/45_image.webp", + "/media/janelle_fd0e/images/46_image.webp", + "/media/janelle_fd0e/images/47_image.webp", + "/media/janelle_fd0e/images/48_image.webp", + "/media/janelle_fd0e/images/49_image.webp", + "/media/janelle_fd0e/images/50_image.webp", + "/media/janelle_fd0e/images/51_image.webp" + ], + "created_at": "2026-01-27T04:41:02.38454-07:00", + "dir_name": "janelle_fd0e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janet_fab3.json b/ideas/aeres/agents/janet_fab3.json new file mode 100644 index 0000000..770e2f9 --- /dev/null +++ b/ideas/aeres/agents/janet_fab3.json @@ -0,0 +1,73 @@ +{ + "id": "janet_fab3", + "name": "Janet Smith", + "handle": "janet", + "gender": "female", + "description": "emo romanian female who likes to go to parties", + "tags": [ + "emo_revival", + "vinyl collecting", + "gothic architecture", + "concert photography", + "music history", + "craft cocktails", + "urban exploration", + "horror cinema" + ], + "avatar_url": "/media/janet_fab3/avatar.webp?t=1769500447", + "banner_url": "/media/janet_fab3/banner.webp?t=1769500443", + "videos": [ + "/media/janet_fab3/videos/01_smile_reveal.mp4?t=1769500481" + ], + "images": [ + "/media/janet_fab3/images/01_mid_mid_neutral.webp", + "/media/janet_fab3/images/02_image.webp", + "/media/janet_fab3/images/03_image.webp", + "/media/janet_fab3/images/04_image.webp", + "/media/janet_fab3/images/05_image.webp", + "/media/janet_fab3/images/07_image.webp", + "/media/janet_fab3/images/08_image.webp", + "/media/janet_fab3/images/09_image.webp", + "/media/janet_fab3/images/10_image.webp", + "/media/janet_fab3/images/11_image.webp", + "/media/janet_fab3/images/12_image.webp", + "/media/janet_fab3/images/13_image.webp", + "/media/janet_fab3/images/14_image.webp", + "/media/janet_fab3/images/15_image.webp", + "/media/janet_fab3/images/16_image.webp", + "/media/janet_fab3/images/17_image.webp", + "/media/janet_fab3/images/18_image.webp", + "/media/janet_fab3/images/19_image.webp", + "/media/janet_fab3/images/20_image.webp", + "/media/janet_fab3/images/21_image.webp", + "/media/janet_fab3/images/22_image.webp", + "/media/janet_fab3/images/23_image.webp", + "/media/janet_fab3/images/24_image.webp", + "/media/janet_fab3/images/25_image.webp", + "/media/janet_fab3/images/26_image.webp", + "/media/janet_fab3/images/27_image.webp", + "/media/janet_fab3/images/28_image.webp", + "/media/janet_fab3/images/29_image.webp", + "/media/janet_fab3/images/30_image.webp", + "/media/janet_fab3/images/31_image.webp", + "/media/janet_fab3/images/32_image.webp", + "/media/janet_fab3/images/33_image.webp", + "/media/janet_fab3/images/34_image.webp", + "/media/janet_fab3/images/35_image.webp", + "/media/janet_fab3/images/36_image.webp", + "/media/janet_fab3/images/37_image.webp", + "/media/janet_fab3/images/38_image.webp", + "/media/janet_fab3/images/39_image.webp", + "/media/janet_fab3/images/40_image.webp", + "/media/janet_fab3/images/41_image.webp", + "/media/janet_fab3/images/43_image.webp", + "/media/janet_fab3/images/44_image.webp", + "/media/janet_fab3/images/45_image.webp", + "/media/janet_fab3/images/46_image.webp", + "/media/janet_fab3/images/47_image.webp", + "/media/janet_fab3/images/49_image.webp", + "/media/janet_fab3/images/51_image.webp" + ], + "created_at": "2026-01-27T00:52:52.819893-07:00", + "dir_name": "janet_fab3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janice_ad0a.json b/ideas/aeres/agents/janice_ad0a.json new file mode 100644 index 0000000..a1127b3 --- /dev/null +++ b/ideas/aeres/agents/janice_ad0a.json @@ -0,0 +1,80 @@ +{ + "id": "janice_ad0a", + "name": "Janice Brown", + "handle": "janice", + "gender": "female", + "description": "Kayle from League of Legends", + "tags": [ + "angel_aesthetic", + "greek mythology", + "olympic weightlifting", + "classical sculpture", + "constitutional theory", + "mixology", + "interior design", + "urban gardening" + ], + "avatar_url": "/media/janice_ad0a/avatar.webp?t=1770021345", + "banner_url": "/media/janice_ad0a/banner.webp?t=1770021436", + "videos": [ + "/media/janice_ad0a/videos/01_smile_reveal.mp4?t=1770020909" + ], + "images": [ + "/media/janice_ad0a/images/01_mid_mid_neutral.webp", + "/media/janice_ad0a/images/02_image.webp", + "/media/janice_ad0a/images/05_image.webp", + "/media/janice_ad0a/images/06_image.webp", + "/media/janice_ad0a/images/07_image.webp", + "/media/janice_ad0a/images/08_image.webp", + "/media/janice_ad0a/images/09_image.webp", + "/media/janice_ad0a/images/10_image.webp", + "/media/janice_ad0a/images/11_image.webp", + "/media/janice_ad0a/images/12_image.webp", + "/media/janice_ad0a/images/13_image.webp", + "/media/janice_ad0a/images/14_image.webp", + "/media/janice_ad0a/images/15_image.webp", + "/media/janice_ad0a/images/16_image.webp", + "/media/janice_ad0a/images/17_image.webp", + "/media/janice_ad0a/images/18_image.webp", + "/media/janice_ad0a/images/20_image.webp", + "/media/janice_ad0a/images/21_image.webp", + "/media/janice_ad0a/images/22_image.webp", + "/media/janice_ad0a/images/23_image.webp", + "/media/janice_ad0a/images/24_image.webp", + "/media/janice_ad0a/images/25_image.webp", + "/media/janice_ad0a/images/26_image.webp", + "/media/janice_ad0a/images/27_image.webp", + "/media/janice_ad0a/images/28_image.webp", + "/media/janice_ad0a/images/29_image.webp", + "/media/janice_ad0a/images/30_image.webp", + "/media/janice_ad0a/images/31_image.webp", + "/media/janice_ad0a/images/32_image.webp", + "/media/janice_ad0a/images/33_image.webp", + "/media/janice_ad0a/images/34_image.webp", + "/media/janice_ad0a/images/35_image.webp", + "/media/janice_ad0a/images/36_image.webp", + "/media/janice_ad0a/images/37_image.webp", + "/media/janice_ad0a/images/38_image.webp", + "/media/janice_ad0a/images/39_image.webp", + "/media/janice_ad0a/images/40_image.webp", + "/media/janice_ad0a/images/41_image.webp", + "/media/janice_ad0a/images/42_image.webp", + "/media/janice_ad0a/images/43_image.webp", + "/media/janice_ad0a/images/44_image.webp", + "/media/janice_ad0a/images/45_image.webp", + "/media/janice_ad0a/images/46_image.webp", + "/media/janice_ad0a/images/47_image.webp", + "/media/janice_ad0a/images/48_image.webp", + "/media/janice_ad0a/images/49_image.webp", + "/media/janice_ad0a/images/50_image.webp", + "/media/janice_ad0a/images/51_image.webp", + "/media/janice_ad0a/images/52_image.webp", + "/media/janice_ad0a/images/53_image.webp", + "/media/janice_ad0a/images/54_image.webp", + "/media/janice_ad0a/images/55_image.webp", + "/media/janice_ad0a/images/56_image.webp", + "/media/janice_ad0a/images/57_image.webp" + ], + "created_at": "2026-02-02T01:25:03.833062-07:00", + "dir_name": "janice_ad0a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janice_b21e.json b/ideas/aeres/agents/janice_b21e.json new file mode 100644 index 0000000..58497e0 --- /dev/null +++ b/ideas/aeres/agents/janice_b21e.json @@ -0,0 +1,77 @@ +{ + "id": "janice_b21e", + "name": "Janice Shin", + "handle": "janice", + "gender": "female", + "description": "female from South Korea who loves to play Dungeons \u0026 Dragons", + "tags": [ + "gamer_girl", + "tabletop rpgs", + "narrative-driven rpgs", + "fantasy literature", + "miniature painting", + "indoor gardening", + "baking", + "strategy board games" + ], + "avatar_url": "/media/janice_b21e/avatar.webp?t=1770107004", + "banner_url": "/media/janice_b21e/banner.webp?t=1770106992", + "videos": [ + "/media/janice_b21e/videos/01_smile_reveal.mp4?t=1770107034" + ], + "images": [ + "/media/janice_b21e/images/01_mid_mid_neutral.webp", + "/media/janice_b21e/images/02_image.webp", + "/media/janice_b21e/images/03_image.webp", + "/media/janice_b21e/images/04_image.webp", + "/media/janice_b21e/images/05_image.webp", + "/media/janice_b21e/images/06_image.webp", + "/media/janice_b21e/images/07_image.webp", + "/media/janice_b21e/images/08_image.webp", + "/media/janice_b21e/images/09_image.webp", + "/media/janice_b21e/images/10_image.webp", + "/media/janice_b21e/images/11_image.webp", + "/media/janice_b21e/images/12_image.webp", + "/media/janice_b21e/images/13_image.webp", + "/media/janice_b21e/images/14_image.webp", + "/media/janice_b21e/images/15_image.webp", + "/media/janice_b21e/images/16_image.webp", + "/media/janice_b21e/images/17_image.webp", + "/media/janice_b21e/images/18_image.webp", + "/media/janice_b21e/images/19_image.webp", + "/media/janice_b21e/images/20_image.webp", + "/media/janice_b21e/images/21_image.webp", + "/media/janice_b21e/images/22_image.webp", + "/media/janice_b21e/images/23_image.webp", + "/media/janice_b21e/images/24_image.webp", + "/media/janice_b21e/images/25_image.webp", + "/media/janice_b21e/images/26_image.webp", + "/media/janice_b21e/images/27_image.webp", + "/media/janice_b21e/images/28_image.webp", + "/media/janice_b21e/images/29_image.webp", + "/media/janice_b21e/images/30_image.webp", + "/media/janice_b21e/images/31_image.webp", + "/media/janice_b21e/images/32_image.webp", + "/media/janice_b21e/images/33_image.webp", + "/media/janice_b21e/images/34_image.webp", + "/media/janice_b21e/images/35_image.webp", + "/media/janice_b21e/images/36_image.webp", + "/media/janice_b21e/images/37_image.webp", + "/media/janice_b21e/images/38_image.webp", + "/media/janice_b21e/images/39_image.webp", + "/media/janice_b21e/images/40_image.webp", + "/media/janice_b21e/images/41_image.webp", + "/media/janice_b21e/images/42_image.webp", + "/media/janice_b21e/images/43_image.webp", + "/media/janice_b21e/images/44_image.webp", + "/media/janice_b21e/images/45_image.webp", + "/media/janice_b21e/images/46_image.webp", + "/media/janice_b21e/images/47_image.webp", + "/media/janice_b21e/images/48_image.webp", + "/media/janice_b21e/images/49_image.webp", + "/media/janice_b21e/images/50_image.webp", + "/media/janice_b21e/images/51_image.webp" + ], + "created_at": "2026-02-03T01:22:03.630275-07:00", + "dir_name": "janice_b21e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janice_b833.json b/ideas/aeres/agents/janice_b833.json new file mode 100644 index 0000000..1baa5ce --- /dev/null +++ b/ideas/aeres/agents/janice_b833.json @@ -0,0 +1,44 @@ +{ + "id": "janice_b833", + "name": "Janice Jones", + "handle": "janice", + "gender": "female", + "description": "cute farmer girl, rustic, sweet, playful, hard working, early morning, animal lover, doesn't mind getting a bit dirty", + "tags": [ + "country_girl", + "horse training", + "off-road driving", + "animal rescue", + "leatherworking", + "country music", + "outdoor cooking", + "photography" + ], + "avatar_url": "/media/janice_b833/avatar.webp?t=1769111197", + "banner_url": "/media/janice_b833/banner.webp?t=1769111195", + "images": [ + "/media/janice_b833/images/01_mid_mid_neutral.webp", + "/media/janice_b833/images/02_image.webp", + "/media/janice_b833/images/03_image.webp", + "/media/janice_b833/images/04_image.webp", + "/media/janice_b833/images/05_image.webp", + "/media/janice_b833/images/06_image.webp", + "/media/janice_b833/images/07_image.webp", + "/media/janice_b833/images/08_image.webp", + "/media/janice_b833/images/09_image.webp", + "/media/janice_b833/images/10_image.webp", + "/media/janice_b833/images/11_image.webp", + "/media/janice_b833/images/12_image.webp", + "/media/janice_b833/images/13_image.webp", + "/media/janice_b833/images/14_image.webp", + "/media/janice_b833/images/15_image.webp", + "/media/janice_b833/images/16_image.webp", + "/media/janice_b833/images/17_image.webp", + "/media/janice_b833/images/18_image.webp", + "/media/janice_b833/images/19_image.webp", + "/media/janice_b833/images/20_image.webp", + "/media/janice_b833/images/21_image.webp" + ], + "created_at": "2026-01-22T12:45:30.306726-07:00", + "dir_name": "janice_b833" +} \ No newline at end of file diff --git a/ideas/aeres/agents/janice_d445.json b/ideas/aeres/agents/janice_d445.json new file mode 100644 index 0000000..259ed96 --- /dev/null +++ b/ideas/aeres/agents/janice_d445.json @@ -0,0 +1,77 @@ +{ + "id": "janice_d445", + "name": "Janice Choi", + "handle": "janice", + "gender": "female", + "description": "south korean woman who likes League of Legends", + "tags": [ + "gamer_girl", + "competitive valorant", + "mechanical keyboard building", + "sneaker collecting", + "cyberpunk cinema", + "urban exploration", + "cooking fusion cuisine", + "boutique fitness classes" + ], + "avatar_url": "/media/janice_d445/avatar.webp?t=1769434855", + "banner_url": "/media/janice_d445/banner.webp?t=1769434936", + "videos": [ + "/media/janice_d445/videos/01_smile_reveal.mp4?t=1769434885" + ], + "images": [ + "/media/janice_d445/images/01_mid_mid_neutral.webp", + "/media/janice_d445/images/02_image.webp", + "/media/janice_d445/images/03_image.webp", + "/media/janice_d445/images/04_image.webp", + "/media/janice_d445/images/05_image.webp", + "/media/janice_d445/images/06_image.webp", + "/media/janice_d445/images/07_image.webp", + "/media/janice_d445/images/08_image.webp", + "/media/janice_d445/images/09_image.webp", + "/media/janice_d445/images/10_image.webp", + "/media/janice_d445/images/11_image.webp", + "/media/janice_d445/images/12_image.webp", + "/media/janice_d445/images/13_image.webp", + "/media/janice_d445/images/14_image.webp", + "/media/janice_d445/images/15_image.webp", + "/media/janice_d445/images/16_image.webp", + "/media/janice_d445/images/17_image.webp", + "/media/janice_d445/images/18_image.webp", + "/media/janice_d445/images/19_image.webp", + "/media/janice_d445/images/20_image.webp", + "/media/janice_d445/images/21_image.webp", + "/media/janice_d445/images/22_image.webp", + "/media/janice_d445/images/23_image.webp", + "/media/janice_d445/images/24_image.webp", + "/media/janice_d445/images/25_image.webp", + "/media/janice_d445/images/26_image.webp", + "/media/janice_d445/images/27_image.webp", + "/media/janice_d445/images/28_image.webp", + "/media/janice_d445/images/29_image.webp", + "/media/janice_d445/images/30_image.webp", + "/media/janice_d445/images/31_image.webp", + "/media/janice_d445/images/32_image.webp", + "/media/janice_d445/images/33_image.webp", + "/media/janice_d445/images/34_image.webp", + "/media/janice_d445/images/35_image.webp", + "/media/janice_d445/images/36_image.webp", + "/media/janice_d445/images/37_image.webp", + "/media/janice_d445/images/38_image.webp", + "/media/janice_d445/images/39_image.webp", + "/media/janice_d445/images/40_image.webp", + "/media/janice_d445/images/41_image.webp", + "/media/janice_d445/images/42_image.webp", + "/media/janice_d445/images/43_image.webp", + "/media/janice_d445/images/44_image.webp", + "/media/janice_d445/images/45_image.webp", + "/media/janice_d445/images/46_image.webp", + "/media/janice_d445/images/47_image.webp", + "/media/janice_d445/images/48_image.webp", + "/media/janice_d445/images/49_image.webp", + "/media/janice_d445/images/50_image.webp", + "/media/janice_d445/images/51_image.webp" + ], + "created_at": "2026-01-26T06:39:08.534395-07:00", + "dir_name": "janice_d445" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jared_b38e.json b/ideas/aeres/agents/jared_b38e.json new file mode 100644 index 0000000..9181b3b --- /dev/null +++ b/ideas/aeres/agents/jared_b38e.json @@ -0,0 +1,77 @@ +{ + "id": "jared_b38e", + "name": "Jared Jones", + "handle": "jared", + "gender": "male", + "description": "30's, finance bro, real estate, cute", + "tags": [ + "influencer_lifestyle", + "high-altitude trekking", + "urban photography", + "investing", + "cooking mediterranean food", + "formula 1", + "interior design", + "mixology" + ], + "avatar_url": "/media/jared_b38e/avatar.webp?t=1769584024", + "banner_url": "/media/jared_b38e/banner.webp?t=1769556736", + "videos": [ + "/media/jared_b38e/videos/01_smile_reveal.mp4?t=1769556797" + ], + "images": [ + "/media/jared_b38e/images/01_mid_mid_neutral.webp", + "/media/jared_b38e/images/02_image.webp", + "/media/jared_b38e/images/03_image.webp", + "/media/jared_b38e/images/04_image.webp", + "/media/jared_b38e/images/05_image.webp", + "/media/jared_b38e/images/06_image.webp", + "/media/jared_b38e/images/07_image.webp", + "/media/jared_b38e/images/08_image.webp", + "/media/jared_b38e/images/09_image.webp", + "/media/jared_b38e/images/10_image.webp", + "/media/jared_b38e/images/11_image.webp", + "/media/jared_b38e/images/12_image.webp", + "/media/jared_b38e/images/13_image.webp", + "/media/jared_b38e/images/14_image.webp", + "/media/jared_b38e/images/15_image.webp", + "/media/jared_b38e/images/16_image.webp", + "/media/jared_b38e/images/17_image.webp", + "/media/jared_b38e/images/18_image.webp", + "/media/jared_b38e/images/19_image.webp", + "/media/jared_b38e/images/20_image.webp", + "/media/jared_b38e/images/21_image.webp", + "/media/jared_b38e/images/22_image.webp", + "/media/jared_b38e/images/23_image.webp", + "/media/jared_b38e/images/24_image.webp", + "/media/jared_b38e/images/25_image.webp", + "/media/jared_b38e/images/26_image.webp", + "/media/jared_b38e/images/27_image.webp", + "/media/jared_b38e/images/28_image.webp", + "/media/jared_b38e/images/29_image.webp", + "/media/jared_b38e/images/30_image.webp", + "/media/jared_b38e/images/31_image.webp", + "/media/jared_b38e/images/32_image.webp", + "/media/jared_b38e/images/33_image.webp", + "/media/jared_b38e/images/34_image.webp", + "/media/jared_b38e/images/35_image.webp", + "/media/jared_b38e/images/36_image.webp", + "/media/jared_b38e/images/37_image.webp", + "/media/jared_b38e/images/38_image.webp", + "/media/jared_b38e/images/39_image.webp", + "/media/jared_b38e/images/40_image.webp", + "/media/jared_b38e/images/41_image.webp", + "/media/jared_b38e/images/42_image.webp", + "/media/jared_b38e/images/43_image.webp", + "/media/jared_b38e/images/44_image.webp", + "/media/jared_b38e/images/45_image.webp", + "/media/jared_b38e/images/46_image.webp", + "/media/jared_b38e/images/47_image.webp", + "/media/jared_b38e/images/48_image.webp", + "/media/jared_b38e/images/49_image.webp", + "/media/jared_b38e/images/50_image.webp", + "/media/jared_b38e/images/51_image.webp" + ], + "created_at": "2026-01-27T16:30:57.313871-07:00", + "dir_name": "jared_b38e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jasmeet_3751.json b/ideas/aeres/agents/jasmeet_3751.json new file mode 100644 index 0000000..d660111 --- /dev/null +++ b/ideas/aeres/agents/jasmeet_3751.json @@ -0,0 +1,74 @@ +{ + "id": "jasmeet_3751", + "name": "Jasmeet Verma", + "handle": "jasmeet", + "gender": "female", + "description": "indian girl, 25 years old, Mombai India, pretty face, slim body petite, works at a phone company", + "tags": [ + "girl_next_door", + "sustainable fashion", + "indian classical dance", + "urban gardening", + "animal welfare", + "podcast listening", + "baking sugar-free treats", + "exploring local markets" + ], + "avatar_url": "/media/jasmeet_3751/avatar.webp?t=1769760105", + "banner_url": "/media/jasmeet_3751/banner.webp?t=1769760385", + "videos": [ + "/media/jasmeet_3751/videos/01_smile_reveal.mp4?t=1769760157" + ], + "images": [ + "/media/jasmeet_3751/images/01_mid_mid_neutral.webp", + "/media/jasmeet_3751/images/02_image.webp", + "/media/jasmeet_3751/images/03_image.webp", + "/media/jasmeet_3751/images/04_image.webp", + "/media/jasmeet_3751/images/05_image.webp", + "/media/jasmeet_3751/images/06_image.webp", + "/media/jasmeet_3751/images/07_image.webp", + "/media/jasmeet_3751/images/09_image.webp", + "/media/jasmeet_3751/images/10_image.webp", + "/media/jasmeet_3751/images/11_image.webp", + "/media/jasmeet_3751/images/12_image.webp", + "/media/jasmeet_3751/images/13_image.webp", + "/media/jasmeet_3751/images/14_image.webp", + "/media/jasmeet_3751/images/15_image.webp", + "/media/jasmeet_3751/images/16_image.webp", + "/media/jasmeet_3751/images/17_image.webp", + "/media/jasmeet_3751/images/18_image.webp", + "/media/jasmeet_3751/images/19_image.webp", + "/media/jasmeet_3751/images/20_image.webp", + "/media/jasmeet_3751/images/21_image.webp", + "/media/jasmeet_3751/images/22_image.webp", + "/media/jasmeet_3751/images/23_image.webp", + "/media/jasmeet_3751/images/24_image.webp", + "/media/jasmeet_3751/images/26_image.webp", + "/media/jasmeet_3751/images/27_image.webp", + "/media/jasmeet_3751/images/29_image.webp", + "/media/jasmeet_3751/images/30_image.webp", + "/media/jasmeet_3751/images/31_image.webp", + "/media/jasmeet_3751/images/32_image.webp", + "/media/jasmeet_3751/images/33_image.webp", + "/media/jasmeet_3751/images/34_image.webp", + "/media/jasmeet_3751/images/35_image.webp", + "/media/jasmeet_3751/images/36_image.webp", + "/media/jasmeet_3751/images/37_image.webp", + "/media/jasmeet_3751/images/38_image.webp", + "/media/jasmeet_3751/images/39_image.webp", + "/media/jasmeet_3751/images/40_image.webp", + "/media/jasmeet_3751/images/41_image.webp", + "/media/jasmeet_3751/images/42_image.webp", + "/media/jasmeet_3751/images/43_image.webp", + "/media/jasmeet_3751/images/44_image.webp", + "/media/jasmeet_3751/images/45_image.webp", + "/media/jasmeet_3751/images/46_image.webp", + "/media/jasmeet_3751/images/47_image.webp", + "/media/jasmeet_3751/images/48_image.webp", + "/media/jasmeet_3751/images/49_image.webp", + "/media/jasmeet_3751/images/50_image.webp", + "/media/jasmeet_3751/images/51_image.webp" + ], + "created_at": "2026-01-30T01:00:27.142556-07:00", + "dir_name": "jasmeet_3751" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jasmeet_3f75.json b/ideas/aeres/agents/jasmeet_3f75.json new file mode 100644 index 0000000..bae3055 --- /dev/null +++ b/ideas/aeres/agents/jasmeet_3f75.json @@ -0,0 +1,73 @@ +{ + "id": "jasmeet_3f75", + "name": "Jasmeet Gupta", + "handle": "jasmeet", + "gender": "female", + "description": "cute woman with green hair who works as a blackjack dealer", + "tags": [ + "career_fantasy", + "game theory", + "modern architecture", + "vintage fashion", + "mixology", + "running", + "true crime podcasts", + "street photography" + ], + "avatar_url": "/media/jasmeet_3f75/avatar.webp?t=1769426426", + "banner_url": "/media/jasmeet_3f75/banner.webp?t=1769426427", + "videos": [ + "/media/jasmeet_3f75/videos/01_smile_reveal.mp4?t=1769426480" + ], + "images": [ + "/media/jasmeet_3f75/images/01_mid_mid_neutral.webp", + "/media/jasmeet_3f75/images/02_image.webp", + "/media/jasmeet_3f75/images/03_image.webp", + "/media/jasmeet_3f75/images/04_image.webp", + "/media/jasmeet_3f75/images/05_image.webp", + "/media/jasmeet_3f75/images/06_image.webp", + "/media/jasmeet_3f75/images/07_image.webp", + "/media/jasmeet_3f75/images/08_image.webp", + "/media/jasmeet_3f75/images/09_image.webp", + "/media/jasmeet_3f75/images/10_image.webp", + "/media/jasmeet_3f75/images/11_image.webp", + "/media/jasmeet_3f75/images/12_image.webp", + "/media/jasmeet_3f75/images/13_image.webp", + "/media/jasmeet_3f75/images/14_image.webp", + "/media/jasmeet_3f75/images/15_image.webp", + "/media/jasmeet_3f75/images/16_image.webp", + "/media/jasmeet_3f75/images/17_image.webp", + "/media/jasmeet_3f75/images/18_image.webp", + "/media/jasmeet_3f75/images/19_image.webp", + "/media/jasmeet_3f75/images/20_image.webp", + "/media/jasmeet_3f75/images/21_image.webp", + "/media/jasmeet_3f75/images/22_image.webp", + "/media/jasmeet_3f75/images/23_image.webp", + "/media/jasmeet_3f75/images/24_image.webp", + "/media/jasmeet_3f75/images/25_image.webp", + "/media/jasmeet_3f75/images/26_image.webp", + "/media/jasmeet_3f75/images/27_image.webp", + "/media/jasmeet_3f75/images/28_image.webp", + "/media/jasmeet_3f75/images/29_image.webp", + "/media/jasmeet_3f75/images/30_image.webp", + "/media/jasmeet_3f75/images/31_image.webp", + "/media/jasmeet_3f75/images/32_image.webp", + "/media/jasmeet_3f75/images/33_image.webp", + "/media/jasmeet_3f75/images/34_image.webp", + "/media/jasmeet_3f75/images/35_image.webp", + "/media/jasmeet_3f75/images/36_image.webp", + "/media/jasmeet_3f75/images/37_image.webp", + "/media/jasmeet_3f75/images/38_image.webp", + "/media/jasmeet_3f75/images/39_image.webp", + "/media/jasmeet_3f75/images/42_image.webp", + "/media/jasmeet_3f75/images/43_image.webp", + "/media/jasmeet_3f75/images/44_image.webp", + "/media/jasmeet_3f75/images/45_image.webp", + "/media/jasmeet_3f75/images/46_image.webp", + "/media/jasmeet_3f75/images/47_image.webp", + "/media/jasmeet_3f75/images/48_image.webp", + "/media/jasmeet_3f75/images/49_image.webp" + ], + "created_at": "2026-01-26T04:19:16.612693-07:00", + "dir_name": "jasmeet_3f75" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jasper_b569.json b/ideas/aeres/agents/jasper_b569.json new file mode 100644 index 0000000..87e728e --- /dev/null +++ b/ideas/aeres/agents/jasper_b569.json @@ -0,0 +1,76 @@ +{ + "id": "jasper_b569", + "name": "Jasper Harris", + "handle": "jasper", + "gender": "male", + "description": "rugby player, new zeeland, haka, world cup winner, 2 m tall, 120 kg, age 25, defined muscles, muscular", + "tags": [ + "gym_bro", + "olympic weightlifting", + "rugby tactics", + "biohacking", + "cooking gourmet high-protein meals", + "watch collecting", + "hiking", + "classic cars" + ], + "avatar_url": "/media/jasper_b569/avatar.webp?t=1769595613", + "banner_url": "/media/jasper_b569/banner.webp?t=1769595614", + "videos": [ + "/media/jasper_b569/videos/01_smile_reveal.mp4?t=1769595735" + ], + "images": [ + "/media/jasper_b569/images/01_mid_mid_neutral.webp", + "/media/jasper_b569/images/02_image.webp", + "/media/jasper_b569/images/03_image.webp", + "/media/jasper_b569/images/04_image.webp", + "/media/jasper_b569/images/05_image.webp", + "/media/jasper_b569/images/06_image.webp", + "/media/jasper_b569/images/07_image.webp", + "/media/jasper_b569/images/08_image.webp", + "/media/jasper_b569/images/09_image.webp", + "/media/jasper_b569/images/10_image.webp", + "/media/jasper_b569/images/11_image.webp", + "/media/jasper_b569/images/12_image.webp", + "/media/jasper_b569/images/13_image.webp", + "/media/jasper_b569/images/14_image.webp", + "/media/jasper_b569/images/15_image.webp", + "/media/jasper_b569/images/17_image.webp", + "/media/jasper_b569/images/18_image.webp", + "/media/jasper_b569/images/19_image.webp", + "/media/jasper_b569/images/20_image.webp", + "/media/jasper_b569/images/21_image.webp", + "/media/jasper_b569/images/22_image.webp", + "/media/jasper_b569/images/23_image.webp", + "/media/jasper_b569/images/24_image.webp", + "/media/jasper_b569/images/25_image.webp", + "/media/jasper_b569/images/26_image.webp", + "/media/jasper_b569/images/27_image.webp", + "/media/jasper_b569/images/28_image.webp", + "/media/jasper_b569/images/29_image.webp", + "/media/jasper_b569/images/30_image.webp", + "/media/jasper_b569/images/31_image.webp", + "/media/jasper_b569/images/32_image.webp", + "/media/jasper_b569/images/33_image.webp", + "/media/jasper_b569/images/34_image.webp", + "/media/jasper_b569/images/35_image.webp", + "/media/jasper_b569/images/36_image.webp", + "/media/jasper_b569/images/37_image.webp", + "/media/jasper_b569/images/38_image.webp", + "/media/jasper_b569/images/39_image.webp", + "/media/jasper_b569/images/40_image.webp", + "/media/jasper_b569/images/41_image.webp", + "/media/jasper_b569/images/42_image.webp", + "/media/jasper_b569/images/43_image.webp", + "/media/jasper_b569/images/44_image.webp", + "/media/jasper_b569/images/45_image.webp", + "/media/jasper_b569/images/46_image.webp", + "/media/jasper_b569/images/47_image.webp", + "/media/jasper_b569/images/48_image.webp", + "/media/jasper_b569/images/49_image.webp", + "/media/jasper_b569/images/50_image.webp", + "/media/jasper_b569/images/51_image.webp" + ], + "created_at": "2026-01-28T03:18:59.428037-07:00", + "dir_name": "jasper_b569" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jay_26e6.json b/ideas/aeres/agents/jay_26e6.json new file mode 100644 index 0000000..fbef878 --- /dev/null +++ b/ideas/aeres/agents/jay_26e6.json @@ -0,0 +1,75 @@ +{ + "id": "jay_26e6", + "name": "Jay Wilson", + "handle": "jay", + "gender": "male", + "description": "Johhny Cage from Mortal Kombat", + "tags": [ + "himbo", + "muay thai", + "action cinema", + "luxury watches", + "sports cars", + "cooking (steak only)", + "gaming (fighting games)", + "selfie-taking" + ], + "avatar_url": "/media/jay_26e6/avatar.webp?t=1770212922", + "banner_url": "/media/jay_26e6/banner.webp?t=1770212805", + "videos": [ + "/media/jay_26e6/videos/01_smile_reveal.mp4?t=1770212446" + ], + "images": [ + "/media/jay_26e6/images/01_mid_mid_neutral.webp", + "/media/jay_26e6/images/02_image.webp", + "/media/jay_26e6/images/03_image.webp", + "/media/jay_26e6/images/04_image.webp", + "/media/jay_26e6/images/05_image.webp", + "/media/jay_26e6/images/06_image.webp", + "/media/jay_26e6/images/07_image.webp", + "/media/jay_26e6/images/08_image.webp", + "/media/jay_26e6/images/09_image.webp", + "/media/jay_26e6/images/10_image.webp", + "/media/jay_26e6/images/11_image.webp", + "/media/jay_26e6/images/12_image.webp", + "/media/jay_26e6/images/13_image.webp", + "/media/jay_26e6/images/14_image.webp", + "/media/jay_26e6/images/15_image.webp", + "/media/jay_26e6/images/16_image.webp", + "/media/jay_26e6/images/17_image.webp", + "/media/jay_26e6/images/18_image.webp", + "/media/jay_26e6/images/19_image.webp", + "/media/jay_26e6/images/20_image.webp", + "/media/jay_26e6/images/21_image.webp", + "/media/jay_26e6/images/22_image.webp", + "/media/jay_26e6/images/23_image.webp", + "/media/jay_26e6/images/24_image.webp", + "/media/jay_26e6/images/25_image.webp", + "/media/jay_26e6/images/26_image.webp", + "/media/jay_26e6/images/27_image.webp", + "/media/jay_26e6/images/28_image.webp", + "/media/jay_26e6/images/29_image.webp", + "/media/jay_26e6/images/30_image.webp", + "/media/jay_26e6/images/31_image.webp", + "/media/jay_26e6/images/32_image.webp", + "/media/jay_26e6/images/34_image.webp", + "/media/jay_26e6/images/35_image.webp", + "/media/jay_26e6/images/36_image.webp", + "/media/jay_26e6/images/37_image.webp", + "/media/jay_26e6/images/38_image.webp", + "/media/jay_26e6/images/39_image.webp", + "/media/jay_26e6/images/40_image.webp", + "/media/jay_26e6/images/41_image.webp", + "/media/jay_26e6/images/42_image.webp", + "/media/jay_26e6/images/43_image.webp", + "/media/jay_26e6/images/44_image.webp", + "/media/jay_26e6/images/45_image.webp", + "/media/jay_26e6/images/46_image.webp", + "/media/jay_26e6/images/47_image.webp", + "/media/jay_26e6/images/48_image.webp", + "/media/jay_26e6/images/49_image.webp", + "/media/jay_26e6/images/50_image.webp" + ], + "created_at": "2026-02-04T06:38:51.528225-07:00", + "dir_name": "jay_26e6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jayce_606b.json b/ideas/aeres/agents/jayce_606b.json new file mode 100644 index 0000000..69aae06 --- /dev/null +++ b/ideas/aeres/agents/jayce_606b.json @@ -0,0 +1,77 @@ +{ + "id": "jayce_606b", + "name": "Jayce Smith", + "handle": "jayce", + "gender": "male", + "description": "male who cosplays as Samurai Jack", + "tags": [ + "cosplayer", + "historical swordsmanship", + "textile arts", + "japanese cinema", + "woodworking", + "hiking the rockies", + "traditional tea", + "vinyl records" + ], + "avatar_url": "/media/jayce_606b/avatar.webp?t=1770124972", + "banner_url": "/media/jayce_606b/banner.webp?t=1770124977", + "videos": [ + "/media/jayce_606b/videos/01_smile_reveal.mp4?t=1770125014" + ], + "images": [ + "/media/jayce_606b/images/01_mid_mid_neutral.webp", + "/media/jayce_606b/images/02_image.webp", + "/media/jayce_606b/images/03_image.webp", + "/media/jayce_606b/images/04_image.webp", + "/media/jayce_606b/images/05_image.webp", + "/media/jayce_606b/images/06_image.webp", + "/media/jayce_606b/images/07_image.webp", + "/media/jayce_606b/images/08_image.webp", + "/media/jayce_606b/images/09_image.webp", + "/media/jayce_606b/images/10_image.webp", + "/media/jayce_606b/images/11_image.webp", + "/media/jayce_606b/images/12_image.webp", + "/media/jayce_606b/images/13_image.webp", + "/media/jayce_606b/images/14_image.webp", + "/media/jayce_606b/images/15_image.webp", + "/media/jayce_606b/images/16_image.webp", + "/media/jayce_606b/images/17_image.webp", + "/media/jayce_606b/images/18_image.webp", + "/media/jayce_606b/images/19_image.webp", + "/media/jayce_606b/images/20_image.webp", + "/media/jayce_606b/images/21_image.webp", + "/media/jayce_606b/images/22_image.webp", + "/media/jayce_606b/images/23_image.webp", + "/media/jayce_606b/images/24_image.webp", + "/media/jayce_606b/images/25_image.webp", + "/media/jayce_606b/images/26_image.webp", + "/media/jayce_606b/images/27_image.webp", + "/media/jayce_606b/images/28_image.webp", + "/media/jayce_606b/images/29_image.webp", + "/media/jayce_606b/images/30_image.webp", + "/media/jayce_606b/images/31_image.webp", + "/media/jayce_606b/images/32_image.webp", + "/media/jayce_606b/images/33_image.webp", + "/media/jayce_606b/images/34_image.webp", + "/media/jayce_606b/images/35_image.webp", + "/media/jayce_606b/images/36_image.webp", + "/media/jayce_606b/images/37_image.webp", + "/media/jayce_606b/images/38_image.webp", + "/media/jayce_606b/images/39_image.webp", + "/media/jayce_606b/images/40_image.webp", + "/media/jayce_606b/images/41_image.webp", + "/media/jayce_606b/images/42_image.webp", + "/media/jayce_606b/images/43_image.webp", + "/media/jayce_606b/images/44_image.webp", + "/media/jayce_606b/images/45_image.webp", + "/media/jayce_606b/images/46_image.webp", + "/media/jayce_606b/images/47_image.webp", + "/media/jayce_606b/images/48_image.webp", + "/media/jayce_606b/images/49_image.webp", + "/media/jayce_606b/images/50_image.webp", + "/media/jayce_606b/images/51_image.webp" + ], + "created_at": "2026-02-03T06:21:43.351598-07:00", + "dir_name": "jayce_606b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jaylen_ac0d.json b/ideas/aeres/agents/jaylen_ac0d.json new file mode 100644 index 0000000..a10ed8b --- /dev/null +++ b/ideas/aeres/agents/jaylen_ac0d.json @@ -0,0 +1,75 @@ +{ + "id": "jaylen_ac0d", + "name": "Jaylen Brown", + "handle": "jaylen", + "gender": "male", + "description": "american football player, nfl athlete, muscular strong jock, trains harder, giant stadiums, full crowd. age 28", + "tags": [ + "gym_bro", + "biohacking", + "sports science", + "luxury watches", + "mentoring youth athletes", + "chess", + "architectural design", + "investing" + ], + "avatar_url": "/media/jaylen_ac0d/avatar.webp?t=1770118563", + "banner_url": "/media/jaylen_ac0d/banner.webp?t=1770118564", + "videos": [ + "/media/jaylen_ac0d/videos/01_smile_reveal.mp4?t=1770118608" + ], + "images": [ + "/media/jaylen_ac0d/images/01_mid_mid_neutral.webp", + "/media/jaylen_ac0d/images/02_image.webp", + "/media/jaylen_ac0d/images/03_image.webp", + "/media/jaylen_ac0d/images/04_image.webp", + "/media/jaylen_ac0d/images/06_image.webp", + "/media/jaylen_ac0d/images/07_image.webp", + "/media/jaylen_ac0d/images/08_image.webp", + "/media/jaylen_ac0d/images/09_image.webp", + "/media/jaylen_ac0d/images/10_image.webp", + "/media/jaylen_ac0d/images/11_image.webp", + "/media/jaylen_ac0d/images/12_image.webp", + "/media/jaylen_ac0d/images/13_image.webp", + "/media/jaylen_ac0d/images/14_image.webp", + "/media/jaylen_ac0d/images/15_image.webp", + "/media/jaylen_ac0d/images/16_image.webp", + "/media/jaylen_ac0d/images/17_image.webp", + "/media/jaylen_ac0d/images/18_image.webp", + "/media/jaylen_ac0d/images/19_image.webp", + "/media/jaylen_ac0d/images/20_image.webp", + "/media/jaylen_ac0d/images/21_image.webp", + "/media/jaylen_ac0d/images/22_image.webp", + "/media/jaylen_ac0d/images/23_image.webp", + "/media/jaylen_ac0d/images/24_image.webp", + "/media/jaylen_ac0d/images/25_image.webp", + "/media/jaylen_ac0d/images/26_image.webp", + "/media/jaylen_ac0d/images/27_image.webp", + "/media/jaylen_ac0d/images/28_image.webp", + "/media/jaylen_ac0d/images/29_image.webp", + "/media/jaylen_ac0d/images/30_image.webp", + "/media/jaylen_ac0d/images/31_image.webp", + "/media/jaylen_ac0d/images/32_image.webp", + "/media/jaylen_ac0d/images/33_image.webp", + "/media/jaylen_ac0d/images/34_image.webp", + "/media/jaylen_ac0d/images/35_image.webp", + "/media/jaylen_ac0d/images/36_image.webp", + "/media/jaylen_ac0d/images/37_image.webp", + "/media/jaylen_ac0d/images/38_image.webp", + "/media/jaylen_ac0d/images/39_image.webp", + "/media/jaylen_ac0d/images/40_image.webp", + "/media/jaylen_ac0d/images/41_image.webp", + "/media/jaylen_ac0d/images/42_image.webp", + "/media/jaylen_ac0d/images/44_image.webp", + "/media/jaylen_ac0d/images/45_image.webp", + "/media/jaylen_ac0d/images/46_image.webp", + "/media/jaylen_ac0d/images/47_image.webp", + "/media/jaylen_ac0d/images/48_image.webp", + "/media/jaylen_ac0d/images/49_image.webp", + "/media/jaylen_ac0d/images/50_image.webp", + "/media/jaylen_ac0d/images/51_image.webp" + ], + "created_at": "2026-02-03T04:34:55.164172-07:00", + "dir_name": "jaylen_ac0d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jazmine_35e2.json b/ideas/aeres/agents/jazmine_35e2.json new file mode 100644 index 0000000..249bbba --- /dev/null +++ b/ideas/aeres/agents/jazmine_35e2.json @@ -0,0 +1,80 @@ +{ + "id": "jazmine_35e2", + "name": "Jazmine Brown", + "handle": "jazmine", + "gender": "female", + "description": "goblincore, goth, dark colors, toads, stripes, heavy eyeshadow, bold lips, long blue hair, coffin nails, pointy shoes, layered skirts, skinny jeans, girl next door, lust", + "tags": [ + "goth_substyles", + "taxidermy", + "botany", + "post-punk music", + "vintage lace", + "horror movies", + "thrifting", + "baking sourdough" + ], + "avatar_url": "/media/jazmine_35e2/avatar.webp?t=1769123235", + "banner_url": "/media/jazmine_35e2/banner.webp?t=1769123242", + "images": [ + "/media/jazmine_35e2/images/01_mid_mid_neutral.webp", + "/media/jazmine_35e2/images/02_image.webp", + "/media/jazmine_35e2/images/03_image.webp", + "/media/jazmine_35e2/images/04_image.webp", + "/media/jazmine_35e2/images/05_image.webp", + "/media/jazmine_35e2/images/06_image.webp", + "/media/jazmine_35e2/images/07_image.webp", + "/media/jazmine_35e2/images/08_image.webp", + "/media/jazmine_35e2/images/09_image.webp", + "/media/jazmine_35e2/images/10_image.webp", + "/media/jazmine_35e2/images/11_image.webp", + "/media/jazmine_35e2/images/13_image.webp", + "/media/jazmine_35e2/images/14_image.webp", + "/media/jazmine_35e2/images/15_image.webp", + "/media/jazmine_35e2/images/16_image.webp", + "/media/jazmine_35e2/images/17_image.webp", + "/media/jazmine_35e2/images/18_image.webp", + "/media/jazmine_35e2/images/19_image.webp", + "/media/jazmine_35e2/images/20_image.webp", + "/media/jazmine_35e2/images/21_image.webp", + "/media/jazmine_35e2/images/22_image.webp", + "/media/jazmine_35e2/images/23_image.webp", + "/media/jazmine_35e2/images/24_image.webp", + "/media/jazmine_35e2/images/25_image.webp", + "/media/jazmine_35e2/images/26_image.webp", + "/media/jazmine_35e2/images/27_image.webp", + "/media/jazmine_35e2/images/28_image.webp", + "/media/jazmine_35e2/images/29_image.webp", + "/media/jazmine_35e2/images/30_image.webp", + "/media/jazmine_35e2/images/31_image.webp", + "/media/jazmine_35e2/images/32_image.webp", + "/media/jazmine_35e2/images/33_image.webp", + "/media/jazmine_35e2/images/34_image.webp", + "/media/jazmine_35e2/images/35_image.webp", + "/media/jazmine_35e2/images/36_image.webp", + "/media/jazmine_35e2/images/37_image.webp", + "/media/jazmine_35e2/images/38_image.webp", + "/media/jazmine_35e2/images/39_image.webp", + "/media/jazmine_35e2/images/39_image.webp", + "/media/jazmine_35e2/images/40_image.webp", + "/media/jazmine_35e2/images/40_image.webp", + "/media/jazmine_35e2/images/41_image.webp", + "/media/jazmine_35e2/images/41_image.webp", + "/media/jazmine_35e2/images/42_image.webp", + "/media/jazmine_35e2/images/42_image.webp", + "/media/jazmine_35e2/images/43_image.webp", + "/media/jazmine_35e2/images/43_image.webp", + "/media/jazmine_35e2/images/44_image.webp", + "/media/jazmine_35e2/images/44_image.webp", + "/media/jazmine_35e2/images/45_image.webp", + "/media/jazmine_35e2/images/45_image.webp", + "/media/jazmine_35e2/images/46_image.webp", + "/media/jazmine_35e2/images/46_image.webp", + "/media/jazmine_35e2/images/47_image.webp", + "/media/jazmine_35e2/images/47_image.webp", + "/media/jazmine_35e2/images/48_image.webp", + "/media/jazmine_35e2/images/48_image.webp" + ], + "created_at": "2026-01-22T16:06:11.314209-07:00", + "dir_name": "jazmine_35e2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jazmine_9655.json b/ideas/aeres/agents/jazmine_9655.json new file mode 100644 index 0000000..b915b2a --- /dev/null +++ b/ideas/aeres/agents/jazmine_9655.json @@ -0,0 +1,54 @@ +{ + "id": "jazmine_9655", + "name": "Jazmine Walker", + "handle": "jazmine", + "gender": "female", + "description": "medieval, sexy, gold jewlery, chain, rope, rubies, costume, fantasy, voluptuous, curvy, LARP, historical fiction, powerful, corset, sword, lady, renaissance fair,", + "tags": [ + "fantasy_creatures", + "medieval heraldry", + "high-fashion corsetry", + "afro-futurism", + "equestrianism", + "wine tasting", + "fencing", + "historical fiction" + ], + "avatar_url": "/media/jazmine_9655/avatar.webp?t=1769110958", + "banner_url": "/media/jazmine_9655/banner.webp?t=1769110958", + "images": [ + "/media/jazmine_9655/images/01_mid_mid_neutral.webp", + "/media/jazmine_9655/images/02_image.webp", + "/media/jazmine_9655/images/03_image.webp", + "/media/jazmine_9655/images/04_image.webp", + "/media/jazmine_9655/images/05_image.webp", + "/media/jazmine_9655/images/06_image.webp", + "/media/jazmine_9655/images/07_image.webp", + "/media/jazmine_9655/images/08_image.webp", + "/media/jazmine_9655/images/09_image.webp", + "/media/jazmine_9655/images/10_image.webp", + "/media/jazmine_9655/images/11_image.webp", + "/media/jazmine_9655/images/12_image.webp", + "/media/jazmine_9655/images/13_image.webp", + "/media/jazmine_9655/images/14_image.webp", + "/media/jazmine_9655/images/15_image.webp", + "/media/jazmine_9655/images/16_image.webp", + "/media/jazmine_9655/images/17_image.webp", + "/media/jazmine_9655/images/18_image.webp", + "/media/jazmine_9655/images/19_image.webp", + "/media/jazmine_9655/images/20_image.webp", + "/media/jazmine_9655/images/21_image.webp", + "/media/jazmine_9655/images/22_image.webp", + "/media/jazmine_9655/images/23_image.webp", + "/media/jazmine_9655/images/24_image.webp", + "/media/jazmine_9655/images/25_image.webp", + "/media/jazmine_9655/images/26_image.webp", + "/media/jazmine_9655/images/27_image.webp", + "/media/jazmine_9655/images/28_image.webp", + "/media/jazmine_9655/images/29_image.webp", + "/media/jazmine_9655/images/30_image.webp", + "/media/jazmine_9655/images/31_image.webp" + ], + "created_at": "2026-01-22T12:41:25.803162-07:00", + "dir_name": "jazmine_9655" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jean_4404.json b/ideas/aeres/agents/jean_4404.json new file mode 100644 index 0000000..0c12759 --- /dev/null +++ b/ideas/aeres/agents/jean_4404.json @@ -0,0 +1,75 @@ +{ + "id": "jean_4404", + "name": "Jean Miller", + "handle": "jean", + "gender": "female", + "description": "d\u0026d table top woman, nerd, collects nerdy video games stuff, spends a lot of time streaming, glasses, white skin, big breasts, beautiful face, age 25", + "tags": [ + "streamer_gf", + "tabletop rpgs", + "mechanical keyboards", + "speculative fiction", + "pc building", + "indoor gardening", + "specialty coffee brewing", + "lo-fi music production" + ], + "avatar_url": "/media/jean_4404/avatar.webp?t=1769605502", + "banner_url": "/media/jean_4404/banner.webp?t=1769606236", + "videos": [ + "/media/jean_4404/videos/01_smile_reveal.mp4?t=1769605543" + ], + "images": [ + "/media/jean_4404/images/01_mid_mid_neutral.webp", + "/media/jean_4404/images/02_image.webp", + "/media/jean_4404/images/03_image.webp", + "/media/jean_4404/images/04_image.webp", + "/media/jean_4404/images/05_image.webp", + "/media/jean_4404/images/06_image.webp", + "/media/jean_4404/images/07_image.webp", + "/media/jean_4404/images/08_image.webp", + "/media/jean_4404/images/09_image.webp", + "/media/jean_4404/images/10_image.webp", + "/media/jean_4404/images/11_image.webp", + "/media/jean_4404/images/12_image.webp", + "/media/jean_4404/images/13_image.webp", + "/media/jean_4404/images/14_image.webp", + "/media/jean_4404/images/15_image.webp", + "/media/jean_4404/images/16_image.webp", + "/media/jean_4404/images/19_image.webp", + "/media/jean_4404/images/20_image.webp", + "/media/jean_4404/images/21_image.webp", + "/media/jean_4404/images/22_image.webp", + "/media/jean_4404/images/23_image.webp", + "/media/jean_4404/images/24_image.webp", + "/media/jean_4404/images/25_image.webp", + "/media/jean_4404/images/26_image.webp", + "/media/jean_4404/images/27_image.webp", + "/media/jean_4404/images/28_image.webp", + "/media/jean_4404/images/29_image.webp", + "/media/jean_4404/images/30_image.webp", + "/media/jean_4404/images/31_image.webp", + "/media/jean_4404/images/32_image.webp", + "/media/jean_4404/images/33_image.webp", + "/media/jean_4404/images/34_image.webp", + "/media/jean_4404/images/35_image.webp", + "/media/jean_4404/images/36_image.webp", + "/media/jean_4404/images/37_image.webp", + "/media/jean_4404/images/38_image.webp", + "/media/jean_4404/images/39_image.webp", + "/media/jean_4404/images/40_image.webp", + "/media/jean_4404/images/41_image.webp", + "/media/jean_4404/images/42_image.webp", + "/media/jean_4404/images/43_image.webp", + "/media/jean_4404/images/44_image.webp", + "/media/jean_4404/images/45_image.webp", + "/media/jean_4404/images/46_image.webp", + "/media/jean_4404/images/47_image.webp", + "/media/jean_4404/images/48_image.webp", + "/media/jean_4404/images/49_image.webp", + "/media/jean_4404/images/50_image.webp", + "/media/jean_4404/images/51_image.webp" + ], + "created_at": "2026-01-28T06:03:51.149103-07:00", + "dir_name": "jean_4404" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jeanette_1c50.json b/ideas/aeres/agents/jeanette_1c50.json new file mode 100644 index 0000000..089db41 --- /dev/null +++ b/ideas/aeres/agents/jeanette_1c50.json @@ -0,0 +1,73 @@ +{ + "id": "jeanette_1c50", + "name": "Jeanette Visser", + "handle": "jeanette", + "gender": "female", + "description": "hot beautiful violin player, royal orchestra, tall, slender build, 26 years old, blonde white, long dress classy concert hall", + "tags": [ + "the artist", + "violin", + "oil painting", + "18th-century architecture", + "interior design", + "baking", + "long-distance cycling" + ], + "avatar_url": "/media/jeanette_1c50/avatar.webp?t=1770115723", + "banner_url": "/media/jeanette_1c50/banner.webp?t=1770115828", + "videos": [ + "/media/jeanette_1c50/videos/01_smile_reveal.mp4?t=1770115765" + ], + "images": [ + "/media/jeanette_1c50/images/01_mid_mid_neutral.webp", + "/media/jeanette_1c50/images/02_image.webp", + "/media/jeanette_1c50/images/03_image.webp", + "/media/jeanette_1c50/images/04_image.webp", + "/media/jeanette_1c50/images/05_image.webp", + "/media/jeanette_1c50/images/06_image.webp", + "/media/jeanette_1c50/images/07_image.webp", + "/media/jeanette_1c50/images/08_image.webp", + "/media/jeanette_1c50/images/09_image.webp", + "/media/jeanette_1c50/images/10_image.webp", + "/media/jeanette_1c50/images/12_image.webp", + "/media/jeanette_1c50/images/13_image.webp", + "/media/jeanette_1c50/images/14_image.webp", + "/media/jeanette_1c50/images/15_image.webp", + "/media/jeanette_1c50/images/16_image.webp", + "/media/jeanette_1c50/images/17_image.webp", + "/media/jeanette_1c50/images/18_image.webp", + "/media/jeanette_1c50/images/19_image.webp", + "/media/jeanette_1c50/images/20_image.webp", + "/media/jeanette_1c50/images/21_image.webp", + "/media/jeanette_1c50/images/22_image.webp", + "/media/jeanette_1c50/images/23_image.webp", + "/media/jeanette_1c50/images/24_image.webp", + "/media/jeanette_1c50/images/25_image.webp", + "/media/jeanette_1c50/images/26_image.webp", + "/media/jeanette_1c50/images/27_image.webp", + "/media/jeanette_1c50/images/28_image.webp", + "/media/jeanette_1c50/images/29_image.webp", + "/media/jeanette_1c50/images/30_image.webp", + "/media/jeanette_1c50/images/31_image.webp", + "/media/jeanette_1c50/images/32_image.webp", + "/media/jeanette_1c50/images/33_image.webp", + "/media/jeanette_1c50/images/34_image.webp", + "/media/jeanette_1c50/images/35_image.webp", + "/media/jeanette_1c50/images/36_image.webp", + "/media/jeanette_1c50/images/37_image.webp", + "/media/jeanette_1c50/images/38_image.webp", + "/media/jeanette_1c50/images/39_image.webp", + "/media/jeanette_1c50/images/40_image.webp", + "/media/jeanette_1c50/images/41_image.webp", + "/media/jeanette_1c50/images/42_image.webp", + "/media/jeanette_1c50/images/43_image.webp", + "/media/jeanette_1c50/images/44_image.webp", + "/media/jeanette_1c50/images/45_image.webp", + "/media/jeanette_1c50/images/46_image.webp", + "/media/jeanette_1c50/images/47_image.webp", + "/media/jeanette_1c50/images/48_image.webp", + "/media/jeanette_1c50/images/49_image.webp" + ], + "created_at": "2026-02-03T03:47:36.282471-07:00", + "dir_name": "jeanette_1c50" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jeanne_3b5d.json b/ideas/aeres/agents/jeanne_3b5d.json new file mode 100644 index 0000000..8a237de --- /dev/null +++ b/ideas/aeres/agents/jeanne_3b5d.json @@ -0,0 +1,74 @@ +{ + "id": "jeanne_3b5d", + "name": "Jeanne Martinez", + "handle": "jeanne", + "gender": "female", + "description": "should have a unique name ,age 28,mysterious woman that looks like the ghost of an ex lover, should have a paranormal ghost supernatural out of this world physical features, more like a specter, beautiful long dark hair, pale skin, tall skinny floats, sometimes she looks sad", + "tags": [ + "dark_romantic", + "bookbinding", + "victorian mourning jewelry", + "cello music", + "existentialist philosophy", + "botanical illustration", + "tea tasting", + "old cinema" + ], + "avatar_url": "/media/jeanne_3b5d/avatar.webp?t=1770203782", + "banner_url": "/media/jeanne_3b5d/banner.webp?t=1770203056", + "videos": [ + "/media/jeanne_3b5d/videos/01_smile_reveal.mp4?t=1770203113" + ], + "images": [ + "/media/jeanne_3b5d/images/01_mid_mid_neutral.webp", + "/media/jeanne_3b5d/images/02_image.webp", + "/media/jeanne_3b5d/images/03_image.webp", + "/media/jeanne_3b5d/images/04_image.webp", + "/media/jeanne_3b5d/images/05_image.webp", + "/media/jeanne_3b5d/images/06_image.webp", + "/media/jeanne_3b5d/images/07_image.webp", + "/media/jeanne_3b5d/images/08_image.webp", + "/media/jeanne_3b5d/images/09_image.webp", + "/media/jeanne_3b5d/images/10_image.webp", + "/media/jeanne_3b5d/images/12_image.webp", + "/media/jeanne_3b5d/images/13_image.webp", + "/media/jeanne_3b5d/images/14_image.webp", + "/media/jeanne_3b5d/images/15_image.webp", + "/media/jeanne_3b5d/images/16_image.webp", + "/media/jeanne_3b5d/images/17_image.webp", + "/media/jeanne_3b5d/images/18_image.webp", + "/media/jeanne_3b5d/images/19_image.webp", + "/media/jeanne_3b5d/images/20_image.webp", + "/media/jeanne_3b5d/images/21_image.webp", + "/media/jeanne_3b5d/images/22_image.webp", + "/media/jeanne_3b5d/images/23_image.webp", + "/media/jeanne_3b5d/images/24_image.webp", + "/media/jeanne_3b5d/images/25_image.webp", + "/media/jeanne_3b5d/images/27_image.webp", + "/media/jeanne_3b5d/images/28_image.webp", + "/media/jeanne_3b5d/images/29_image.webp", + "/media/jeanne_3b5d/images/30_image.webp", + "/media/jeanne_3b5d/images/31_image.webp", + "/media/jeanne_3b5d/images/32_image.webp", + "/media/jeanne_3b5d/images/33_image.webp", + "/media/jeanne_3b5d/images/34_image.webp", + "/media/jeanne_3b5d/images/35_image.webp", + "/media/jeanne_3b5d/images/36_image.webp", + "/media/jeanne_3b5d/images/37_image.webp", + "/media/jeanne_3b5d/images/38_image.webp", + "/media/jeanne_3b5d/images/39_image.webp", + "/media/jeanne_3b5d/images/40_image.webp", + "/media/jeanne_3b5d/images/41_image.webp", + "/media/jeanne_3b5d/images/42_image.webp", + "/media/jeanne_3b5d/images/43_image.webp", + "/media/jeanne_3b5d/images/44_image.webp", + "/media/jeanne_3b5d/images/45_image.webp", + "/media/jeanne_3b5d/images/46_image.webp", + "/media/jeanne_3b5d/images/47_image.webp", + "/media/jeanne_3b5d/images/48_image.webp", + "/media/jeanne_3b5d/images/49_image.webp", + "/media/jeanne_3b5d/images/50_image.webp" + ], + "created_at": "2026-02-04T04:03:00.05181-07:00", + "dir_name": "jeanne_3b5d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jeannette_fa43.json b/ideas/aeres/agents/jeannette_fa43.json new file mode 100644 index 0000000..eb2b288 --- /dev/null +++ b/ideas/aeres/agents/jeannette_fa43.json @@ -0,0 +1,77 @@ +{ + "id": "jeannette_fa43", + "name": "Jeannette Sanchez", + "handle": "jeannette", + "gender": "female", + "description": "woman who cosplays as Heather from Total Drama Island", + "tags": [ + "cosplayer", + "sewing", + "wig styling", + "wrestling", + "reality tv history", + "mixology", + "pilates", + "pc gaming" + ], + "avatar_url": "/media/jeannette_fa43/avatar.webp?t=1770123576", + "banner_url": "/media/jeannette_fa43/banner.webp?t=1770124208", + "videos": [ + "/media/jeannette_fa43/videos/01_smile_reveal.mp4?t=1770123620" + ], + "images": [ + "/media/jeannette_fa43/images/01_mid_mid_neutral.webp", + "/media/jeannette_fa43/images/02_image.webp", + "/media/jeannette_fa43/images/03_image.webp", + "/media/jeannette_fa43/images/04_image.webp", + "/media/jeannette_fa43/images/05_image.webp", + "/media/jeannette_fa43/images/06_image.webp", + "/media/jeannette_fa43/images/07_image.webp", + "/media/jeannette_fa43/images/08_image.webp", + "/media/jeannette_fa43/images/09_image.webp", + "/media/jeannette_fa43/images/10_image.webp", + "/media/jeannette_fa43/images/11_image.webp", + "/media/jeannette_fa43/images/12_image.webp", + "/media/jeannette_fa43/images/13_image.webp", + "/media/jeannette_fa43/images/14_image.webp", + "/media/jeannette_fa43/images/15_image.webp", + "/media/jeannette_fa43/images/16_image.webp", + "/media/jeannette_fa43/images/17_image.webp", + "/media/jeannette_fa43/images/18_image.webp", + "/media/jeannette_fa43/images/19_image.webp", + "/media/jeannette_fa43/images/20_image.webp", + "/media/jeannette_fa43/images/21_image.webp", + "/media/jeannette_fa43/images/22_image.webp", + "/media/jeannette_fa43/images/23_image.webp", + "/media/jeannette_fa43/images/24_image.webp", + "/media/jeannette_fa43/images/25_image.webp", + "/media/jeannette_fa43/images/26_image.webp", + "/media/jeannette_fa43/images/27_image.webp", + "/media/jeannette_fa43/images/28_image.webp", + "/media/jeannette_fa43/images/29_image.webp", + "/media/jeannette_fa43/images/30_image.webp", + "/media/jeannette_fa43/images/31_image.webp", + "/media/jeannette_fa43/images/32_image.webp", + "/media/jeannette_fa43/images/33_image.webp", + "/media/jeannette_fa43/images/34_image.webp", + "/media/jeannette_fa43/images/35_image.webp", + "/media/jeannette_fa43/images/36_image.webp", + "/media/jeannette_fa43/images/37_image.webp", + "/media/jeannette_fa43/images/38_image.webp", + "/media/jeannette_fa43/images/39_image.webp", + "/media/jeannette_fa43/images/40_image.webp", + "/media/jeannette_fa43/images/41_image.webp", + "/media/jeannette_fa43/images/42_image.webp", + "/media/jeannette_fa43/images/43_image.webp", + "/media/jeannette_fa43/images/44_image.webp", + "/media/jeannette_fa43/images/45_image.webp", + "/media/jeannette_fa43/images/46_image.webp", + "/media/jeannette_fa43/images/47_image.webp", + "/media/jeannette_fa43/images/48_image.webp", + "/media/jeannette_fa43/images/49_image.webp", + "/media/jeannette_fa43/images/50_image.webp", + "/media/jeannette_fa43/images/51_image.webp" + ], + "created_at": "2026-02-03T05:58:15.537125-07:00", + "dir_name": "jeannette_fa43" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_03b1.json b/ideas/aeres/agents/jennifer_03b1.json new file mode 100644 index 0000000..4878eab --- /dev/null +++ b/ideas/aeres/agents/jennifer_03b1.json @@ -0,0 +1,73 @@ +{ + "id": "jennifer_03b1", + "name": "Jennifer Garcia", + "handle": "jennifer", + "gender": "female", + "description": "red haired woman from Argentina who plays soccer", + "tags": [ + "athletic", + "women's soccer", + "olympic lifting", + "nutritional science", + "surf photography", + "spanish literature", + "cooking healthy latin fusion" + ], + "avatar_url": "/media/jennifer_03b1/avatar.webp?t=1769504361", + "banner_url": "/media/jennifer_03b1/banner.webp?t=1769504352", + "videos": [ + "/media/jennifer_03b1/videos/01_smile_reveal.mp4?t=1769504388" + ], + "images": [ + "/media/jennifer_03b1/images/01_mid_mid_neutral.webp", + "/media/jennifer_03b1/images/02_image.webp", + "/media/jennifer_03b1/images/03_image.webp", + "/media/jennifer_03b1/images/04_image.webp", + "/media/jennifer_03b1/images/05_image.webp", + "/media/jennifer_03b1/images/06_image.webp", + "/media/jennifer_03b1/images/08_image.webp", + "/media/jennifer_03b1/images/09_image.webp", + "/media/jennifer_03b1/images/10_image.webp", + "/media/jennifer_03b1/images/11_image.webp", + "/media/jennifer_03b1/images/12_image.webp", + "/media/jennifer_03b1/images/13_image.webp", + "/media/jennifer_03b1/images/14_image.webp", + "/media/jennifer_03b1/images/16_image.webp", + "/media/jennifer_03b1/images/17_image.webp", + "/media/jennifer_03b1/images/18_image.webp", + "/media/jennifer_03b1/images/19_image.webp", + "/media/jennifer_03b1/images/20_image.webp", + "/media/jennifer_03b1/images/21_image.webp", + "/media/jennifer_03b1/images/22_image.webp", + "/media/jennifer_03b1/images/23_image.webp", + "/media/jennifer_03b1/images/24_image.webp", + "/media/jennifer_03b1/images/25_image.webp", + "/media/jennifer_03b1/images/26_image.webp", + "/media/jennifer_03b1/images/27_image.webp", + "/media/jennifer_03b1/images/28_image.webp", + "/media/jennifer_03b1/images/29_image.webp", + "/media/jennifer_03b1/images/30_image.webp", + "/media/jennifer_03b1/images/31_image.webp", + "/media/jennifer_03b1/images/32_image.webp", + "/media/jennifer_03b1/images/33_image.webp", + "/media/jennifer_03b1/images/34_image.webp", + "/media/jennifer_03b1/images/35_image.webp", + "/media/jennifer_03b1/images/36_image.webp", + "/media/jennifer_03b1/images/37_image.webp", + "/media/jennifer_03b1/images/38_image.webp", + "/media/jennifer_03b1/images/39_image.webp", + "/media/jennifer_03b1/images/40_image.webp", + "/media/jennifer_03b1/images/41_image.webp", + "/media/jennifer_03b1/images/42_image.webp", + "/media/jennifer_03b1/images/43_image.webp", + "/media/jennifer_03b1/images/44_image.webp", + "/media/jennifer_03b1/images/45_image.webp", + "/media/jennifer_03b1/images/46_image.webp", + "/media/jennifer_03b1/images/47_image.webp", + "/media/jennifer_03b1/images/48_image.webp", + "/media/jennifer_03b1/images/49_image.webp", + "/media/jennifer_03b1/images/51_image.webp" + ], + "created_at": "2026-01-27T01:56:55.828298-07:00", + "dir_name": "jennifer_03b1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_04fc.json b/ideas/aeres/agents/jennifer_04fc.json new file mode 100644 index 0000000..47464cc --- /dev/null +++ b/ideas/aeres/agents/jennifer_04fc.json @@ -0,0 +1,76 @@ +{ + "id": "jennifer_04fc", + "name": "Jennifer Davis", + "handle": "jennifer", + "gender": "female", + "description": "Superwoman", + "tags": [ + "cosplayer", + "advanced cosplay fabrication", + "weightlifting", + "comic book lore", + "classic cinema", + "astrophysics", + "board games" + ], + "avatar_url": "/media/jennifer_04fc/avatar.webp?t=1769755696", + "banner_url": "/media/jennifer_04fc/banner.webp?t=1769701392", + "videos": [ + "/media/jennifer_04fc/videos/01_smile_reveal.mp4?t=1769701432" + ], + "images": [ + "/media/jennifer_04fc/images/01_mid_mid_neutral.webp", + "/media/jennifer_04fc/images/02_image.webp", + "/media/jennifer_04fc/images/03_image.webp", + "/media/jennifer_04fc/images/04_image.webp", + "/media/jennifer_04fc/images/05_image.webp", + "/media/jennifer_04fc/images/06_image.webp", + "/media/jennifer_04fc/images/07_image.webp", + "/media/jennifer_04fc/images/08_image.webp", + "/media/jennifer_04fc/images/09_image.webp", + "/media/jennifer_04fc/images/10_image.webp", + "/media/jennifer_04fc/images/11_image.webp", + "/media/jennifer_04fc/images/12_image.webp", + "/media/jennifer_04fc/images/13_image.webp", + "/media/jennifer_04fc/images/14_image.webp", + "/media/jennifer_04fc/images/15_image.webp", + "/media/jennifer_04fc/images/16_image.webp", + "/media/jennifer_04fc/images/17_image.webp", + "/media/jennifer_04fc/images/18_image.webp", + "/media/jennifer_04fc/images/19_image.webp", + "/media/jennifer_04fc/images/20_image.webp", + "/media/jennifer_04fc/images/21_image.webp", + "/media/jennifer_04fc/images/22_image.webp", + "/media/jennifer_04fc/images/23_image.webp", + "/media/jennifer_04fc/images/24_image.webp", + "/media/jennifer_04fc/images/25_image.webp", + "/media/jennifer_04fc/images/26_image.webp", + "/media/jennifer_04fc/images/27_image.webp", + "/media/jennifer_04fc/images/28_image.webp", + "/media/jennifer_04fc/images/29_image.webp", + "/media/jennifer_04fc/images/30_image.webp", + "/media/jennifer_04fc/images/31_image.webp", + "/media/jennifer_04fc/images/32_image.webp", + "/media/jennifer_04fc/images/33_image.webp", + "/media/jennifer_04fc/images/34_image.webp", + "/media/jennifer_04fc/images/35_image.webp", + "/media/jennifer_04fc/images/36_image.webp", + "/media/jennifer_04fc/images/37_image.webp", + "/media/jennifer_04fc/images/38_image.webp", + "/media/jennifer_04fc/images/39_image.webp", + "/media/jennifer_04fc/images/40_image.webp", + "/media/jennifer_04fc/images/41_image.webp", + "/media/jennifer_04fc/images/42_image.webp", + "/media/jennifer_04fc/images/43_image.webp", + "/media/jennifer_04fc/images/44_image.webp", + "/media/jennifer_04fc/images/45_image.webp", + "/media/jennifer_04fc/images/46_image.webp", + "/media/jennifer_04fc/images/47_image.webp", + "/media/jennifer_04fc/images/48_image.webp", + "/media/jennifer_04fc/images/49_image.webp", + "/media/jennifer_04fc/images/50_image.webp", + "/media/jennifer_04fc/images/51_image.webp" + ], + "created_at": "2026-01-29T08:41:59.724523-07:00", + "dir_name": "jennifer_04fc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_6e26.json b/ideas/aeres/agents/jennifer_6e26.json new file mode 100644 index 0000000..9add194 --- /dev/null +++ b/ideas/aeres/agents/jennifer_6e26.json @@ -0,0 +1,78 @@ +{ + "id": "jennifer_6e26", + "name": "Jennifer Jung", + "handle": "jennifer", + "gender": "female", + "description": "asian woman who likes to cosplay as Mortal Kombat characters", + "tags": [ + "the cosplayer", + "fighting game mechanics", + "muay thai", + "3d modeling", + "historical armor design", + "mechanical keyboards", + "espresso brewing", + "urban exploration" + ], + "avatar_url": "/media/jennifer_6e26/avatar.webp?t=1769433768", + "banner_url": "/media/jennifer_6e26/banner.webp?t=1769433776", + "videos": [ + "/media/jennifer_6e26/videos/01_smile_reveal.mp4?t=1769433811" + ], + "images": [ + "/media/jennifer_6e26/images/01_mid_mid_neutral.webp", + "/media/jennifer_6e26/images/02_image.webp", + "/media/jennifer_6e26/images/03_image.webp", + "/media/jennifer_6e26/images/04_image.webp", + "/media/jennifer_6e26/images/05_image.webp", + "/media/jennifer_6e26/images/10_image.webp", + "/media/jennifer_6e26/images/11_image.webp", + "/media/jennifer_6e26/images/12_image.webp", + "/media/jennifer_6e26/images/16_image.webp", + "/media/jennifer_6e26/images/17_image.webp", + "/media/jennifer_6e26/images/18_image.webp", + "/media/jennifer_6e26/images/19_image.webp", + "/media/jennifer_6e26/images/20_image.webp", + "/media/jennifer_6e26/images/21_image.webp", + "/media/jennifer_6e26/images/23_image.webp", + "/media/jennifer_6e26/images/24_image.webp", + "/media/jennifer_6e26/images/25_image.webp", + "/media/jennifer_6e26/images/26_image.webp", + "/media/jennifer_6e26/images/27_image.webp", + "/media/jennifer_6e26/images/28_image.webp", + "/media/jennifer_6e26/images/29_image.webp", + "/media/jennifer_6e26/images/30_image.webp", + "/media/jennifer_6e26/images/31_image.webp", + "/media/jennifer_6e26/images/32_image.webp", + "/media/jennifer_6e26/images/33_image.webp", + "/media/jennifer_6e26/images/34_image.webp", + "/media/jennifer_6e26/images/35_image.webp", + "/media/jennifer_6e26/images/36_image.webp", + "/media/jennifer_6e26/images/37_image.webp", + "/media/jennifer_6e26/images/38_image.webp", + "/media/jennifer_6e26/images/39_image.webp", + "/media/jennifer_6e26/images/40_image.webp", + "/media/jennifer_6e26/images/41_image.webp", + "/media/jennifer_6e26/images/42_image.webp", + "/media/jennifer_6e26/images/43_image.webp", + "/media/jennifer_6e26/images/44_image.webp", + "/media/jennifer_6e26/images/45_image.webp", + "/media/jennifer_6e26/images/46_image.webp", + "/media/jennifer_6e26/images/47_image.webp", + "/media/jennifer_6e26/images/48_image.webp", + "/media/jennifer_6e26/images/49_image.webp", + "/media/jennifer_6e26/images/50_image.webp", + "/media/jennifer_6e26/images/51_image.webp", + "/media/jennifer_6e26/images/52_image.webp", + "/media/jennifer_6e26/images/53_image.webp", + "/media/jennifer_6e26/images/54_image.webp", + "/media/jennifer_6e26/images/55_image.webp", + "/media/jennifer_6e26/images/56_image.webp", + "/media/jennifer_6e26/images/57_image.webp", + "/media/jennifer_6e26/images/58_image.webp", + "/media/jennifer_6e26/images/59_image.webp", + "/media/jennifer_6e26/images/60_image.webp" + ], + "created_at": "2026-01-26T06:21:34.505-07:00", + "dir_name": "jennifer_6e26" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_74ff.json b/ideas/aeres/agents/jennifer_74ff.json new file mode 100644 index 0000000..486264a --- /dev/null +++ b/ideas/aeres/agents/jennifer_74ff.json @@ -0,0 +1,77 @@ +{ + "id": "jennifer_74ff", + "name": "Jennifer Sanchez", + "handle": "jennifer", + "gender": "female", + "description": "an aviator", + "tags": [ + "adventurous", + "aviation", + "vintage aircraft restoration", + "aerodynamics", + "meteorology", + "salsa dancing", + "ocean kayaking", + "film photography" + ], + "avatar_url": "/media/jennifer_74ff/avatar.webp?t=1769707088", + "banner_url": "/media/jennifer_74ff/banner.webp?t=1769755282", + "videos": [ + "/media/jennifer_74ff/videos/01_smile_reveal.mp4?t=1769707124" + ], + "images": [ + "/media/jennifer_74ff/images/01_mid_mid_neutral.webp", + "/media/jennifer_74ff/images/02_image.webp", + "/media/jennifer_74ff/images/03_image.webp", + "/media/jennifer_74ff/images/04_image.webp", + "/media/jennifer_74ff/images/05_image.webp", + "/media/jennifer_74ff/images/06_image.webp", + "/media/jennifer_74ff/images/07_image.webp", + "/media/jennifer_74ff/images/08_image.webp", + "/media/jennifer_74ff/images/09_image.webp", + "/media/jennifer_74ff/images/10_image.webp", + "/media/jennifer_74ff/images/11_image.webp", + "/media/jennifer_74ff/images/12_image.webp", + "/media/jennifer_74ff/images/13_image.webp", + "/media/jennifer_74ff/images/14_image.webp", + "/media/jennifer_74ff/images/15_image.webp", + "/media/jennifer_74ff/images/16_image.webp", + "/media/jennifer_74ff/images/17_image.webp", + "/media/jennifer_74ff/images/18_image.webp", + "/media/jennifer_74ff/images/19_image.webp", + "/media/jennifer_74ff/images/20_image.webp", + "/media/jennifer_74ff/images/21_image.webp", + "/media/jennifer_74ff/images/22_image.webp", + "/media/jennifer_74ff/images/23_image.webp", + "/media/jennifer_74ff/images/24_image.webp", + "/media/jennifer_74ff/images/25_image.webp", + "/media/jennifer_74ff/images/26_image.webp", + "/media/jennifer_74ff/images/27_image.webp", + "/media/jennifer_74ff/images/28_image.webp", + "/media/jennifer_74ff/images/29_image.webp", + "/media/jennifer_74ff/images/30_image.webp", + "/media/jennifer_74ff/images/31_image.webp", + "/media/jennifer_74ff/images/32_image.webp", + "/media/jennifer_74ff/images/33_image.webp", + "/media/jennifer_74ff/images/34_image.webp", + "/media/jennifer_74ff/images/35_image.webp", + "/media/jennifer_74ff/images/36_image.webp", + "/media/jennifer_74ff/images/37_image.webp", + "/media/jennifer_74ff/images/38_image.webp", + "/media/jennifer_74ff/images/39_image.webp", + "/media/jennifer_74ff/images/40_image.webp", + "/media/jennifer_74ff/images/41_image.webp", + "/media/jennifer_74ff/images/42_image.webp", + "/media/jennifer_74ff/images/43_image.webp", + "/media/jennifer_74ff/images/44_image.webp", + "/media/jennifer_74ff/images/45_image.webp", + "/media/jennifer_74ff/images/46_image.webp", + "/media/jennifer_74ff/images/47_image.webp", + "/media/jennifer_74ff/images/48_image.webp", + "/media/jennifer_74ff/images/49_image.webp", + "/media/jennifer_74ff/images/50_image.webp", + "/media/jennifer_74ff/images/51_image.webp" + ], + "created_at": "2026-01-29T10:16:56.135488-07:00", + "dir_name": "jennifer_74ff" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_a50a.json b/ideas/aeres/agents/jennifer_a50a.json new file mode 100644 index 0000000..45f23ca --- /dev/null +++ b/ideas/aeres/agents/jennifer_a50a.json @@ -0,0 +1,75 @@ +{ + "id": "jennifer_a50a", + "name": "Jennifer Rodriguez", + "handle": "jennifer", + "gender": "female", + "description": "a woman who loves tie die", + "tags": [ + "festival_girl", + "natural dyeing", + "music festivals", + "thrifting", + "community gardening", + "yoga", + "astrology", + "plant care" + ], + "avatar_url": "/media/jennifer_a50a/avatar.webp?t=1769413684", + "banner_url": "/media/jennifer_a50a/banner.webp?t=1769413696", + "videos": [ + "/media/jennifer_a50a/videos/01_smile_reveal.mp4?t=1769413720" + ], + "images": [ + "/media/jennifer_a50a/images/01_mid_mid_neutral.webp", + "/media/jennifer_a50a/images/02_image.webp", + "/media/jennifer_a50a/images/03_image.webp", + "/media/jennifer_a50a/images/04_image.webp", + "/media/jennifer_a50a/images/05_image.webp", + "/media/jennifer_a50a/images/06_image.webp", + "/media/jennifer_a50a/images/07_image.webp", + "/media/jennifer_a50a/images/08_image.webp", + "/media/jennifer_a50a/images/10_image.webp", + "/media/jennifer_a50a/images/11_image.webp", + "/media/jennifer_a50a/images/12_image.webp", + "/media/jennifer_a50a/images/13_image.webp", + "/media/jennifer_a50a/images/14_image.webp", + "/media/jennifer_a50a/images/15_image.webp", + "/media/jennifer_a50a/images/17_image.webp", + "/media/jennifer_a50a/images/18_image.webp", + "/media/jennifer_a50a/images/19_image.webp", + "/media/jennifer_a50a/images/20_image.webp", + "/media/jennifer_a50a/images/21_image.webp", + "/media/jennifer_a50a/images/22_image.webp", + "/media/jennifer_a50a/images/23_image.webp", + "/media/jennifer_a50a/images/24_image.webp", + "/media/jennifer_a50a/images/25_image.webp", + "/media/jennifer_a50a/images/26_image.webp", + "/media/jennifer_a50a/images/27_image.webp", + "/media/jennifer_a50a/images/28_image.webp", + "/media/jennifer_a50a/images/29_image.webp", + "/media/jennifer_a50a/images/30_image.webp", + "/media/jennifer_a50a/images/31_image.webp", + "/media/jennifer_a50a/images/32_image.webp", + "/media/jennifer_a50a/images/33_image.webp", + "/media/jennifer_a50a/images/34_image.webp", + "/media/jennifer_a50a/images/35_image.webp", + "/media/jennifer_a50a/images/36_image.webp", + "/media/jennifer_a50a/images/37_image.webp", + "/media/jennifer_a50a/images/38_image.webp", + "/media/jennifer_a50a/images/39_image.webp", + "/media/jennifer_a50a/images/40_image.webp", + "/media/jennifer_a50a/images/41_image.webp", + "/media/jennifer_a50a/images/42_image.webp", + "/media/jennifer_a50a/images/43_image.webp", + "/media/jennifer_a50a/images/44_image.webp", + "/media/jennifer_a50a/images/45_image.webp", + "/media/jennifer_a50a/images/46_image.webp", + "/media/jennifer_a50a/images/47_image.webp", + "/media/jennifer_a50a/images/48_image.webp", + "/media/jennifer_a50a/images/49_image.webp", + "/media/jennifer_a50a/images/50_image.webp", + "/media/jennifer_a50a/images/51_image.webp" + ], + "created_at": "2026-01-26T00:46:47.163397-07:00", + "dir_name": "jennifer_a50a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jennifer_e861.json b/ideas/aeres/agents/jennifer_e861.json new file mode 100644 index 0000000..641e713 --- /dev/null +++ b/ideas/aeres/agents/jennifer_e861.json @@ -0,0 +1,77 @@ +{ + "id": "jennifer_e861", + "name": "Jennifer Davis", + "handle": "jennifer", + "gender": "female", + "description": "soccer playing girl, college athlete, long hair, blonde , plays soccer, very attractive face, age 21, Ohio", + "tags": [ + "athletic", + "soccer", + "strength training", + "sports nutrition", + "hiking", + "beach volleyball", + "watching documentaries", + "coffee tasting" + ], + "avatar_url": "/media/jennifer_e861/avatar.webp?t=1769498002", + "banner_url": "/media/jennifer_e861/banner.webp?t=1769498048", + "videos": [ + "/media/jennifer_e861/videos/01_smile_reveal.mp4?t=1769498044" + ], + "images": [ + "/media/jennifer_e861/images/01_mid_mid_neutral.webp", + "/media/jennifer_e861/images/02_image.webp", + "/media/jennifer_e861/images/03_image.webp", + "/media/jennifer_e861/images/04_image.webp", + "/media/jennifer_e861/images/05_image.webp", + "/media/jennifer_e861/images/06_image.webp", + "/media/jennifer_e861/images/07_image.webp", + "/media/jennifer_e861/images/08_image.webp", + "/media/jennifer_e861/images/09_image.webp", + "/media/jennifer_e861/images/11_image.webp", + "/media/jennifer_e861/images/12_image.webp", + "/media/jennifer_e861/images/13_image.webp", + "/media/jennifer_e861/images/14_image.webp", + "/media/jennifer_e861/images/15_image.webp", + "/media/jennifer_e861/images/16_image.webp", + "/media/jennifer_e861/images/12_image.webp", + "/media/jennifer_e861/images/13_image.webp", + "/media/jennifer_e861/images/18_image.webp", + "/media/jennifer_e861/images/14_image.webp", + "/media/jennifer_e861/images/19_image.webp", + "/media/jennifer_e861/images/20_image.webp", + "/media/jennifer_e861/images/16_image.webp", + "/media/jennifer_e861/images/21_image.webp", + "/media/jennifer_e861/images/18_image.webp", + "/media/jennifer_e861/images/22_image.webp", + "/media/jennifer_e861/images/19_image.webp", + "/media/jennifer_e861/images/23_image.webp", + "/media/jennifer_e861/images/21_image.webp", + "/media/jennifer_e861/images/24_image.webp", + "/media/jennifer_e861/images/32_image.webp", + "/media/jennifer_e861/images/33_image.webp", + "/media/jennifer_e861/images/34_image.webp", + "/media/jennifer_e861/images/35_image.webp", + "/media/jennifer_e861/images/36_image.webp", + "/media/jennifer_e861/images/37_image.webp", + "/media/jennifer_e861/images/38_image.webp", + "/media/jennifer_e861/images/39_image.webp", + "/media/jennifer_e861/images/40_image.webp", + "/media/jennifer_e861/images/41_image.webp", + "/media/jennifer_e861/images/42_image.webp", + "/media/jennifer_e861/images/43_image.webp", + "/media/jennifer_e861/images/44_image.webp", + "/media/jennifer_e861/images/45_image.webp", + "/media/jennifer_e861/images/46_image.webp", + "/media/jennifer_e861/images/47_image.webp", + "/media/jennifer_e861/images/48_image.webp", + "/media/jennifer_e861/images/49_image.webp", + "/media/jennifer_e861/images/50_image.webp", + "/media/jennifer_e861/images/51_image.webp", + "/media/jennifer_e861/images/53_image.webp", + "/media/jennifer_e861/images/54_image.webp" + ], + "created_at": "2026-01-27T00:12:05.698541-07:00", + "dir_name": "jennifer_e861" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jesse_7cae.json b/ideas/aeres/agents/jesse_7cae.json new file mode 100644 index 0000000..f5e4d5b --- /dev/null +++ b/ideas/aeres/agents/jesse_7cae.json @@ -0,0 +1,74 @@ +{ + "id": "jesse_7cae", + "name": "Jesse Smith", + "handle": "jesse", + "gender": "male", + "description": "adventurer man, mid 30 s, athletic build, practical, trails and adventure in Amazon, archeology, charming face, white", + "tags": [ + "adventurous", + "wilderness survival", + "rare plant taxonomy", + "landscape photography", + "kayaking", + "craft beer", + "historical biographies", + "playing the harmonica" + ], + "avatar_url": "/media/jesse_7cae/avatar.webp?t=1770111928", + "banner_url": "/media/jesse_7cae/banner.webp?t=1770111933", + "videos": [ + "/media/jesse_7cae/videos/01_smile_reveal.mp4?t=1770111970" + ], + "images": [ + "/media/jesse_7cae/images/01_mid_mid_neutral.webp", + "/media/jesse_7cae/images/02_image.webp", + "/media/jesse_7cae/images/03_image.webp", + "/media/jesse_7cae/images/04_image.webp", + "/media/jesse_7cae/images/05_image.webp", + "/media/jesse_7cae/images/06_image.webp", + "/media/jesse_7cae/images/07_image.webp", + "/media/jesse_7cae/images/08_image.webp", + "/media/jesse_7cae/images/09_image.webp", + "/media/jesse_7cae/images/10_image.webp", + "/media/jesse_7cae/images/12_image.webp", + "/media/jesse_7cae/images/13_image.webp", + "/media/jesse_7cae/images/14_image.webp", + "/media/jesse_7cae/images/15_image.webp", + "/media/jesse_7cae/images/16_image.webp", + "/media/jesse_7cae/images/17_image.webp", + "/media/jesse_7cae/images/18_image.webp", + "/media/jesse_7cae/images/19_image.webp", + "/media/jesse_7cae/images/20_image.webp", + "/media/jesse_7cae/images/21_image.webp", + "/media/jesse_7cae/images/22_image.webp", + "/media/jesse_7cae/images/23_image.webp", + "/media/jesse_7cae/images/24_image.webp", + "/media/jesse_7cae/images/25_image.webp", + "/media/jesse_7cae/images/26_image.webp", + "/media/jesse_7cae/images/27_image.webp", + "/media/jesse_7cae/images/28_image.webp", + "/media/jesse_7cae/images/29_image.webp", + "/media/jesse_7cae/images/30_image.webp", + "/media/jesse_7cae/images/31_image.webp", + "/media/jesse_7cae/images/32_image.webp", + "/media/jesse_7cae/images/33_image.webp", + "/media/jesse_7cae/images/34_image.webp", + "/media/jesse_7cae/images/35_image.webp", + "/media/jesse_7cae/images/36_image.webp", + "/media/jesse_7cae/images/37_image.webp", + "/media/jesse_7cae/images/38_image.webp", + "/media/jesse_7cae/images/39_image.webp", + "/media/jesse_7cae/images/40_image.webp", + "/media/jesse_7cae/images/41_image.webp", + "/media/jesse_7cae/images/42_image.webp", + "/media/jesse_7cae/images/43_image.webp", + "/media/jesse_7cae/images/45_image.webp", + "/media/jesse_7cae/images/46_image.webp", + "/media/jesse_7cae/images/47_image.webp", + "/media/jesse_7cae/images/48_image.webp", + "/media/jesse_7cae/images/49_image.webp", + "/media/jesse_7cae/images/50_image.webp" + ], + "created_at": "2026-02-03T02:44:21.846974-07:00", + "dir_name": "jesse_7cae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jevon_0ef7.json b/ideas/aeres/agents/jevon_0ef7.json new file mode 100644 index 0000000..c8b8641 --- /dev/null +++ b/ideas/aeres/agents/jevon_0ef7.json @@ -0,0 +1,75 @@ +{ + "id": "jevon_0ef7", + "name": "Jevon Walker", + "handle": "jevon", + "gender": "male", + "description": "friendly office commuter , hong kong, 40 years old, slim fit, healthy lifestyle, works as a city planner, nice face,short black hair, wears wrist watch, has different models", + "tags": [ + "career_fantasy", + "sustainable architecture", + "high-altitude hiking", + "modernist art", + "photography", + "jazz", + "mechanical watches" + ], + "avatar_url": "/media/jevon_0ef7/avatar.webp?t=1769603653", + "banner_url": "/media/jevon_0ef7/banner.webp?t=1769603654", + "videos": [ + "/media/jevon_0ef7/videos/01_smile_reveal.mp4?t=1769603672" + ], + "images": [ + "/media/jevon_0ef7/images/01_mid_mid_neutral.webp", + "/media/jevon_0ef7/images/02_image.webp", + "/media/jevon_0ef7/images/03_image.webp", + "/media/jevon_0ef7/images/04_image.webp", + "/media/jevon_0ef7/images/05_image.webp", + "/media/jevon_0ef7/images/06_image.webp", + "/media/jevon_0ef7/images/07_image.webp", + "/media/jevon_0ef7/images/09_image.webp", + "/media/jevon_0ef7/images/10_image.webp", + "/media/jevon_0ef7/images/11_image.webp", + "/media/jevon_0ef7/images/12_image.webp", + "/media/jevon_0ef7/images/13_image.webp", + "/media/jevon_0ef7/images/14_image.webp", + "/media/jevon_0ef7/images/15_image.webp", + "/media/jevon_0ef7/images/16_image.webp", + "/media/jevon_0ef7/images/17_image.webp", + "/media/jevon_0ef7/images/18_image.webp", + "/media/jevon_0ef7/images/19_image.webp", + "/media/jevon_0ef7/images/20_image.webp", + "/media/jevon_0ef7/images/21_image.webp", + "/media/jevon_0ef7/images/22_image.webp", + "/media/jevon_0ef7/images/23_image.webp", + "/media/jevon_0ef7/images/24_image.webp", + "/media/jevon_0ef7/images/25_image.webp", + "/media/jevon_0ef7/images/26_image.webp", + "/media/jevon_0ef7/images/27_image.webp", + "/media/jevon_0ef7/images/28_image.webp", + "/media/jevon_0ef7/images/29_image.webp", + "/media/jevon_0ef7/images/30_image.webp", + "/media/jevon_0ef7/images/31_image.webp", + "/media/jevon_0ef7/images/32_image.webp", + "/media/jevon_0ef7/images/33_image.webp", + "/media/jevon_0ef7/images/34_image.webp", + "/media/jevon_0ef7/images/35_image.webp", + "/media/jevon_0ef7/images/36_image.webp", + "/media/jevon_0ef7/images/37_image.webp", + "/media/jevon_0ef7/images/38_image.webp", + "/media/jevon_0ef7/images/39_image.webp", + "/media/jevon_0ef7/images/40_image.webp", + "/media/jevon_0ef7/images/41_image.webp", + "/media/jevon_0ef7/images/42_image.webp", + "/media/jevon_0ef7/images/43_image.webp", + "/media/jevon_0ef7/images/44_image.webp", + "/media/jevon_0ef7/images/45_image.webp", + "/media/jevon_0ef7/images/46_image.webp", + "/media/jevon_0ef7/images/47_image.webp", + "/media/jevon_0ef7/images/48_image.webp", + "/media/jevon_0ef7/images/49_image.webp", + "/media/jevon_0ef7/images/50_image.webp", + "/media/jevon_0ef7/images/51_image.webp" + ], + "created_at": "2026-01-28T05:32:23.845767-07:00", + "dir_name": "jevon_0ef7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jiang_e5aa.json b/ideas/aeres/agents/jiang_e5aa.json new file mode 100644 index 0000000..8a47f1c --- /dev/null +++ b/ideas/aeres/agents/jiang_e5aa.json @@ -0,0 +1,86 @@ +{ + "id": "jiang_e5aa", + "name": "Jiang Chen", + "handle": "jiang", + "gender": "male", + "description": "sexy, pottery wheel, shirtless, muscular, dirty hands, artist, art studio, clay", + "tags": [ + "the artist", + "large-scale ceramic sculpture", + "anatomical drawing", + "powerlifting", + "vintage motorcycle restoration", + "jazz fusion", + "japanese architecture" + ], + "avatar_url": "/media/jiang_e5aa/avatar.webp?t=1769584309", + "banner_url": "/media/jiang_e5aa/banner.webp?t=1769587428", + "videos": [ + "/media/jiang_e5aa/videos/01_smile_reveal.mp4?t=1769553132" + ], + "images": [ + "/media/jiang_e5aa/images/01_mid_mid_neutral.webp", + "/media/jiang_e5aa/images/02_image.webp", + "/media/jiang_e5aa/images/03_image.webp", + "/media/jiang_e5aa/images/04_image.webp", + "/media/jiang_e5aa/images/05_image.webp", + "/media/jiang_e5aa/images/06_image.webp", + "/media/jiang_e5aa/images/07_image.webp", + "/media/jiang_e5aa/images/08_image.webp", + "/media/jiang_e5aa/images/09_image.webp", + "/media/jiang_e5aa/images/10_image.webp", + "/media/jiang_e5aa/images/11_image.webp", + "/media/jiang_e5aa/images/12_image.webp", + "/media/jiang_e5aa/images/13_image.webp", + "/media/jiang_e5aa/images/14_image.webp", + "/media/jiang_e5aa/images/15_image.webp", + "/media/jiang_e5aa/images/16_image.webp", + "/media/jiang_e5aa/images/17_image.webp", + "/media/jiang_e5aa/images/18_image.webp", + "/media/jiang_e5aa/images/19_image.webp", + "/media/jiang_e5aa/images/20_image.webp", + "/media/jiang_e5aa/images/21_image.webp", + "/media/jiang_e5aa/images/22_image.webp", + "/media/jiang_e5aa/images/23_image.webp", + "/media/jiang_e5aa/images/24_image.webp", + "/media/jiang_e5aa/images/25_image.webp", + "/media/jiang_e5aa/images/26_image.webp", + "/media/jiang_e5aa/images/27_image.webp", + "/media/jiang_e5aa/images/28_image.webp", + "/media/jiang_e5aa/images/29_image.webp", + "/media/jiang_e5aa/images/30_image.webp", + "/media/jiang_e5aa/images/31_image.webp", + "/media/jiang_e5aa/images/32_image.webp", + "/media/jiang_e5aa/images/33_image.webp", + "/media/jiang_e5aa/images/34_image.webp", + "/media/jiang_e5aa/images/35_image.webp", + "/media/jiang_e5aa/images/36_image.webp", + "/media/jiang_e5aa/images/37_image.webp", + "/media/jiang_e5aa/images/38_image.webp", + "/media/jiang_e5aa/images/39_image.webp", + "/media/jiang_e5aa/images/40_image.webp", + "/media/jiang_e5aa/images/41_image.webp", + "/media/jiang_e5aa/images/42_image.webp", + "/media/jiang_e5aa/images/43_image.webp", + "/media/jiang_e5aa/images/44_image.webp", + "/media/jiang_e5aa/images/45_image.webp", + "/media/jiang_e5aa/images/46_image.webp", + "/media/jiang_e5aa/images/47_image.webp", + "/media/jiang_e5aa/images/48_image.webp", + "/media/jiang_e5aa/images/49_image.webp", + "/media/jiang_e5aa/images/50_image.webp", + "/media/jiang_e5aa/images/51_image.webp", + "/media/jiang_e5aa/images/52_image.webp", + "/media/jiang_e5aa/images/53_image.webp", + "/media/jiang_e5aa/images/54_image.webp", + "/media/jiang_e5aa/images/55_image.webp", + "/media/jiang_e5aa/images/56_image.webp", + "/media/jiang_e5aa/images/57_image.webp", + "/media/jiang_e5aa/images/58_image.webp", + "/media/jiang_e5aa/images/59_image.webp", + "/media/jiang_e5aa/images/60_image.webp", + "/media/jiang_e5aa/images/61_image.webp" + ], + "created_at": "2026-01-27T15:28:41.657924-07:00", + "dir_name": "jiang_e5aa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jiansheng_d3f7.json b/ideas/aeres/agents/jiansheng_d3f7.json new file mode 100644 index 0000000..46751ef --- /dev/null +++ b/ideas/aeres/agents/jiansheng_d3f7.json @@ -0,0 +1,77 @@ +{ + "id": "jiansheng_d3f7", + "name": "Jiansheng Chen", + "handle": "jiansheng", + "gender": "male", + "description": "male from China who is a CEO", + "tags": [ + "sigma_male", + "strategic investing", + "horology", + "architecture", + "mixed martial arts", + "sailing", + "rare teas", + "european history" + ], + "avatar_url": "/media/jiansheng_d3f7/avatar.webp?t=1770128175", + "banner_url": "/media/jiansheng_d3f7/banner.webp?t=1770128174", + "videos": [ + "/media/jiansheng_d3f7/videos/01_smile_reveal.mp4?t=1770128235" + ], + "images": [ + "/media/jiansheng_d3f7/images/01_mid_mid_neutral.webp", + "/media/jiansheng_d3f7/images/02_image.webp", + "/media/jiansheng_d3f7/images/03_image.webp", + "/media/jiansheng_d3f7/images/04_image.webp", + "/media/jiansheng_d3f7/images/05_image.webp", + "/media/jiansheng_d3f7/images/06_image.webp", + "/media/jiansheng_d3f7/images/07_image.webp", + "/media/jiansheng_d3f7/images/08_image.webp", + "/media/jiansheng_d3f7/images/09_image.webp", + "/media/jiansheng_d3f7/images/10_image.webp", + "/media/jiansheng_d3f7/images/11_image.webp", + "/media/jiansheng_d3f7/images/12_image.webp", + "/media/jiansheng_d3f7/images/13_image.webp", + "/media/jiansheng_d3f7/images/14_image.webp", + "/media/jiansheng_d3f7/images/15_image.webp", + "/media/jiansheng_d3f7/images/16_image.webp", + "/media/jiansheng_d3f7/images/17_image.webp", + "/media/jiansheng_d3f7/images/18_image.webp", + "/media/jiansheng_d3f7/images/19_image.webp", + "/media/jiansheng_d3f7/images/20_image.webp", + "/media/jiansheng_d3f7/images/21_image.webp", + "/media/jiansheng_d3f7/images/22_image.webp", + "/media/jiansheng_d3f7/images/23_image.webp", + "/media/jiansheng_d3f7/images/24_image.webp", + "/media/jiansheng_d3f7/images/25_image.webp", + "/media/jiansheng_d3f7/images/26_image.webp", + "/media/jiansheng_d3f7/images/27_image.webp", + "/media/jiansheng_d3f7/images/28_image.webp", + "/media/jiansheng_d3f7/images/29_image.webp", + "/media/jiansheng_d3f7/images/30_image.webp", + "/media/jiansheng_d3f7/images/31_image.webp", + "/media/jiansheng_d3f7/images/32_image.webp", + "/media/jiansheng_d3f7/images/33_image.webp", + "/media/jiansheng_d3f7/images/34_image.webp", + "/media/jiansheng_d3f7/images/35_image.webp", + "/media/jiansheng_d3f7/images/36_image.webp", + "/media/jiansheng_d3f7/images/37_image.webp", + "/media/jiansheng_d3f7/images/38_image.webp", + "/media/jiansheng_d3f7/images/39_image.webp", + "/media/jiansheng_d3f7/images/40_image.webp", + "/media/jiansheng_d3f7/images/41_image.webp", + "/media/jiansheng_d3f7/images/42_image.webp", + "/media/jiansheng_d3f7/images/43_image.webp", + "/media/jiansheng_d3f7/images/44_image.webp", + "/media/jiansheng_d3f7/images/45_image.webp", + "/media/jiansheng_d3f7/images/46_image.webp", + "/media/jiansheng_d3f7/images/47_image.webp", + "/media/jiansheng_d3f7/images/48_image.webp", + "/media/jiansheng_d3f7/images/49_image.webp", + "/media/jiansheng_d3f7/images/50_image.webp", + "/media/jiansheng_d3f7/images/51_image.webp" + ], + "created_at": "2026-02-03T07:15:06.911774-07:00", + "dir_name": "jiansheng_d3f7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jim_c31c.json b/ideas/aeres/agents/jim_c31c.json new file mode 100644 index 0000000..44c934f --- /dev/null +++ b/ideas/aeres/agents/jim_c31c.json @@ -0,0 +1,76 @@ +{ + "id": "jim_c31c", + "name": "Jim Vos", + "handle": "jim", + "gender": "male", + "description": "white man in late 20's, Hipster, Portland, flannel, beanie, fixie bike, wildlife photography, smoker, tall, fit, mustache, green eyes, tattoos", + "tags": [ + "soft_boy", + "analog photography", + "fixed-gear cycling", + "record collecting", + "sustainable fashion", + "foraging", + "ceramics", + "architecture" + ], + "avatar_url": "/media/jim_c31c/avatar.webp?t=1769584325", + "banner_url": "/media/jim_c31c/banner.webp?t=1769584330", + "videos": [ + "/media/jim_c31c/videos/01_smile_reveal.mp4?t=1769551816" + ], + "images": [ + "/media/jim_c31c/images/01_mid_mid_neutral.webp", + "/media/jim_c31c/images/02_image.webp", + "/media/jim_c31c/images/03_image.webp", + "/media/jim_c31c/images/04_image.webp", + "/media/jim_c31c/images/05_image.webp", + "/media/jim_c31c/images/06_image.webp", + "/media/jim_c31c/images/07_image.webp", + "/media/jim_c31c/images/09_image.webp", + "/media/jim_c31c/images/10_image.webp", + "/media/jim_c31c/images/11_image.webp", + "/media/jim_c31c/images/12_image.webp", + "/media/jim_c31c/images/13_image.webp", + "/media/jim_c31c/images/14_image.webp", + "/media/jim_c31c/images/15_image.webp", + "/media/jim_c31c/images/16_image.webp", + "/media/jim_c31c/images/17_image.webp", + "/media/jim_c31c/images/18_image.webp", + "/media/jim_c31c/images/19_image.webp", + "/media/jim_c31c/images/20_image.webp", + "/media/jim_c31c/images/21_image.webp", + "/media/jim_c31c/images/22_image.webp", + "/media/jim_c31c/images/23_image.webp", + "/media/jim_c31c/images/24_image.webp", + "/media/jim_c31c/images/25_image.webp", + "/media/jim_c31c/images/26_image.webp", + "/media/jim_c31c/images/27_image.webp", + "/media/jim_c31c/images/28_image.webp", + "/media/jim_c31c/images/29_image.webp", + "/media/jim_c31c/images/30_image.webp", + "/media/jim_c31c/images/31_image.webp", + "/media/jim_c31c/images/32_image.webp", + "/media/jim_c31c/images/33_image.webp", + "/media/jim_c31c/images/34_image.webp", + "/media/jim_c31c/images/35_image.webp", + "/media/jim_c31c/images/36_image.webp", + "/media/jim_c31c/images/37_image.webp", + "/media/jim_c31c/images/38_image.webp", + "/media/jim_c31c/images/39_image.webp", + "/media/jim_c31c/images/40_image.webp", + "/media/jim_c31c/images/41_image.webp", + "/media/jim_c31c/images/42_image.webp", + "/media/jim_c31c/images/43_image.webp", + "/media/jim_c31c/images/44_image.webp", + "/media/jim_c31c/images/45_image.webp", + "/media/jim_c31c/images/46_image.webp", + "/media/jim_c31c/images/47_image.webp", + "/media/jim_c31c/images/48_image.webp", + "/media/jim_c31c/images/49_image.webp", + "/media/jim_c31c/images/50_image.webp", + "/media/jim_c31c/images/51_image.webp" + ], + "created_at": "2026-01-27T15:08:09.149741-07:00", + "dir_name": "jim_c31c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jimmy_d88a.json b/ideas/aeres/agents/jimmy_d88a.json new file mode 100644 index 0000000..136c52b --- /dev/null +++ b/ideas/aeres/agents/jimmy_d88a.json @@ -0,0 +1,76 @@ +{ + "id": "jimmy_d88a", + "name": "Jimmy Brown", + "handle": "jimmy", + "gender": "male", + "description": "hot shepherd in the mountains, has animals in highlands scotland, bearded , tall, age 30,manly, long hair, muscled", + "tags": [ + "wanderer", + "mountain climbing", + "arboriculture", + "landscape photography", + "cooking over fire", + "vinyl records", + "local craft beer", + "historical documentaries" + ], + "avatar_url": "/media/jimmy_d88a/avatar.webp?t=1770104344", + "banner_url": "/media/jimmy_d88a/banner.webp?t=1770104341", + "videos": [ + "/media/jimmy_d88a/videos/01_smile_reveal.mp4?t=1770104434" + ], + "images": [ + "/media/jimmy_d88a/images/01_mid_mid_neutral.webp", + "/media/jimmy_d88a/images/02_image.webp", + "/media/jimmy_d88a/images/03_image.webp", + "/media/jimmy_d88a/images/04_image.webp", + "/media/jimmy_d88a/images/05_image.webp", + "/media/jimmy_d88a/images/06_image.webp", + "/media/jimmy_d88a/images/08_image.webp", + "/media/jimmy_d88a/images/09_image.webp", + "/media/jimmy_d88a/images/10_image.webp", + "/media/jimmy_d88a/images/11_image.webp", + "/media/jimmy_d88a/images/12_image.webp", + "/media/jimmy_d88a/images/13_image.webp", + "/media/jimmy_d88a/images/14_image.webp", + "/media/jimmy_d88a/images/15_image.webp", + "/media/jimmy_d88a/images/16_image.webp", + "/media/jimmy_d88a/images/17_image.webp", + "/media/jimmy_d88a/images/18_image.webp", + "/media/jimmy_d88a/images/19_image.webp", + "/media/jimmy_d88a/images/20_image.webp", + "/media/jimmy_d88a/images/21_image.webp", + "/media/jimmy_d88a/images/22_image.webp", + "/media/jimmy_d88a/images/23_image.webp", + "/media/jimmy_d88a/images/24_image.webp", + "/media/jimmy_d88a/images/25_image.webp", + "/media/jimmy_d88a/images/26_image.webp", + "/media/jimmy_d88a/images/27_image.webp", + "/media/jimmy_d88a/images/28_image.webp", + "/media/jimmy_d88a/images/29_image.webp", + "/media/jimmy_d88a/images/30_image.webp", + "/media/jimmy_d88a/images/31_image.webp", + "/media/jimmy_d88a/images/32_image.webp", + "/media/jimmy_d88a/images/33_image.webp", + "/media/jimmy_d88a/images/34_image.webp", + "/media/jimmy_d88a/images/35_image.webp", + "/media/jimmy_d88a/images/36_image.webp", + "/media/jimmy_d88a/images/37_image.webp", + "/media/jimmy_d88a/images/38_image.webp", + "/media/jimmy_d88a/images/39_image.webp", + "/media/jimmy_d88a/images/40_image.webp", + "/media/jimmy_d88a/images/41_image.webp", + "/media/jimmy_d88a/images/42_image.webp", + "/media/jimmy_d88a/images/43_image.webp", + "/media/jimmy_d88a/images/44_image.webp", + "/media/jimmy_d88a/images/45_image.webp", + "/media/jimmy_d88a/images/46_image.webp", + "/media/jimmy_d88a/images/47_image.webp", + "/media/jimmy_d88a/images/48_image.webp", + "/media/jimmy_d88a/images/49_image.webp", + "/media/jimmy_d88a/images/50_image.webp", + "/media/jimmy_d88a/images/51_image.webp" + ], + "created_at": "2026-02-03T00:37:49.604922-07:00", + "dir_name": "jimmy_d88a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jinchao_d8b3.json b/ideas/aeres/agents/jinchao_d8b3.json new file mode 100644 index 0000000..4cf30c5 --- /dev/null +++ b/ideas/aeres/agents/jinchao_d8b3.json @@ -0,0 +1,80 @@ +{ + "id": "jinchao_d8b3", + "name": "Jinchao Chen", + "handle": "jinchao", + "gender": "male", + "description": "male who is a punk singer", + "tags": [ + "alt_punk_aesthetics", + "analog synthesizers", + "vocal performance", + "physical fitness", + "zine making", + "graphic design", + "cooking spicy food", + "urban exploration" + ], + "avatar_url": "/media/jinchao_d8b3/avatar.webp?t=1770024487", + "banner_url": "/media/jinchao_d8b3/banner.webp?t=1770024440", + "videos": [ + "/media/jinchao_d8b3/videos/01_smile_reveal.mp4?t=1770024412" + ], + "images": [ + "/media/jinchao_d8b3/images/01_mid_mid_neutral.webp", + "/media/jinchao_d8b3/images/02_image.webp", + "/media/jinchao_d8b3/images/03_image.webp", + "/media/jinchao_d8b3/images/04_image.webp", + "/media/jinchao_d8b3/images/05_image.webp", + "/media/jinchao_d8b3/images/06_image.webp", + "/media/jinchao_d8b3/images/07_image.webp", + "/media/jinchao_d8b3/images/08_image.webp", + "/media/jinchao_d8b3/images/11_image.webp", + "/media/jinchao_d8b3/images/13_image.webp", + "/media/jinchao_d8b3/images/14_image.webp", + "/media/jinchao_d8b3/images/15_image.webp", + "/media/jinchao_d8b3/images/16_image.webp", + "/media/jinchao_d8b3/images/17_image.webp", + "/media/jinchao_d8b3/images/18_image.webp", + "/media/jinchao_d8b3/images/19_image.webp", + "/media/jinchao_d8b3/images/20_image.webp", + "/media/jinchao_d8b3/images/21_image.webp", + "/media/jinchao_d8b3/images/22_image.webp", + "/media/jinchao_d8b3/images/23_image.webp", + "/media/jinchao_d8b3/images/24_image.webp", + "/media/jinchao_d8b3/images/25_image.webp", + "/media/jinchao_d8b3/images/26_image.webp", + "/media/jinchao_d8b3/images/27_image.webp", + "/media/jinchao_d8b3/images/28_image.webp", + "/media/jinchao_d8b3/images/29_image.webp", + "/media/jinchao_d8b3/images/30_image.webp", + "/media/jinchao_d8b3/images/31_image.webp", + "/media/jinchao_d8b3/images/32_image.webp", + "/media/jinchao_d8b3/images/33_image.webp", + "/media/jinchao_d8b3/images/34_image.webp", + "/media/jinchao_d8b3/images/35_image.webp", + "/media/jinchao_d8b3/images/36_image.webp", + "/media/jinchao_d8b3/images/37_image.webp", + "/media/jinchao_d8b3/images/38_image.webp", + "/media/jinchao_d8b3/images/39_image.webp", + "/media/jinchao_d8b3/images/40_image.webp", + "/media/jinchao_d8b3/images/41_image.webp", + "/media/jinchao_d8b3/images/42_image.webp", + "/media/jinchao_d8b3/images/44_image.webp", + "/media/jinchao_d8b3/images/45_image.webp", + "/media/jinchao_d8b3/images/46_image.webp", + "/media/jinchao_d8b3/images/47_image.webp", + "/media/jinchao_d8b3/images/48_image.webp", + "/media/jinchao_d8b3/images/49_image.webp", + "/media/jinchao_d8b3/images/50_image.webp", + "/media/jinchao_d8b3/images/51_image.webp", + "/media/jinchao_d8b3/images/52_image.webp", + "/media/jinchao_d8b3/images/53_image.webp", + "/media/jinchao_d8b3/images/54_image.webp", + "/media/jinchao_d8b3/images/55_image.webp", + "/media/jinchao_d8b3/images/56_image.webp", + "/media/jinchao_d8b3/images/57_image.webp", + "/media/jinchao_d8b3/images/58_image.webp" + ], + "created_at": "2026-02-02T02:24:16.701277-07:00", + "dir_name": "jinchao_d8b3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joel_af8a.json b/ideas/aeres/agents/joel_af8a.json new file mode 100644 index 0000000..aa74bfc --- /dev/null +++ b/ideas/aeres/agents/joel_af8a.json @@ -0,0 +1,76 @@ +{ + "id": "joel_af8a", + "name": "Joel Smith", + "handle": "joel", + "gender": "male", + "description": "canadian male who is a hacker", + "tags": [ + "digital_native", + "cybersecurity", + "mechanical keyboards", + "retro gaming", + "data privacy", + "coffee roasting", + "urban photography", + "cooking steaks" + ], + "avatar_url": "/media/joel_af8a/avatar.webp?t=1769767499", + "banner_url": "/media/joel_af8a/banner.webp?t=1769767497", + "videos": [ + "/media/joel_af8a/videos/01_smile_reveal.mp4?t=1769767524" + ], + "images": [ + "/media/joel_af8a/images/01_mid_mid_neutral.webp", + "/media/joel_af8a/images/02_image.webp", + "/media/joel_af8a/images/03_image.webp", + "/media/joel_af8a/images/05_image.webp", + "/media/joel_af8a/images/06_image.webp", + "/media/joel_af8a/images/07_image.webp", + "/media/joel_af8a/images/08_image.webp", + "/media/joel_af8a/images/09_image.webp", + "/media/joel_af8a/images/10_image.webp", + "/media/joel_af8a/images/11_image.webp", + "/media/joel_af8a/images/12_image.webp", + "/media/joel_af8a/images/13_image.webp", + "/media/joel_af8a/images/14_image.webp", + "/media/joel_af8a/images/15_image.webp", + "/media/joel_af8a/images/16_image.webp", + "/media/joel_af8a/images/17_image.webp", + "/media/joel_af8a/images/18_image.webp", + "/media/joel_af8a/images/19_image.webp", + "/media/joel_af8a/images/20_image.webp", + "/media/joel_af8a/images/21_image.webp", + "/media/joel_af8a/images/22_image.webp", + "/media/joel_af8a/images/23_image.webp", + "/media/joel_af8a/images/24_image.webp", + "/media/joel_af8a/images/25_image.webp", + "/media/joel_af8a/images/26_image.webp", + "/media/joel_af8a/images/27_image.webp", + "/media/joel_af8a/images/28_image.webp", + "/media/joel_af8a/images/29_image.webp", + "/media/joel_af8a/images/30_image.webp", + "/media/joel_af8a/images/31_image.webp", + "/media/joel_af8a/images/32_image.webp", + "/media/joel_af8a/images/33_image.webp", + "/media/joel_af8a/images/34_image.webp", + "/media/joel_af8a/images/35_image.webp", + "/media/joel_af8a/images/36_image.webp", + "/media/joel_af8a/images/37_image.webp", + "/media/joel_af8a/images/38_image.webp", + "/media/joel_af8a/images/39_image.webp", + "/media/joel_af8a/images/40_image.webp", + "/media/joel_af8a/images/41_image.webp", + "/media/joel_af8a/images/42_image.webp", + "/media/joel_af8a/images/43_image.webp", + "/media/joel_af8a/images/44_image.webp", + "/media/joel_af8a/images/45_image.webp", + "/media/joel_af8a/images/46_image.webp", + "/media/joel_af8a/images/47_image.webp", + "/media/joel_af8a/images/48_image.webp", + "/media/joel_af8a/images/49_image.webp", + "/media/joel_af8a/images/50_image.webp", + "/media/joel_af8a/images/51_image.webp" + ], + "created_at": "2026-01-30T03:03:39.7907-07:00", + "dir_name": "joel_af8a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joey_c04c.json b/ideas/aeres/agents/joey_c04c.json new file mode 100644 index 0000000..2d82308 --- /dev/null +++ b/ideas/aeres/agents/joey_c04c.json @@ -0,0 +1,74 @@ +{ + "id": "joey_c04c", + "name": "Joey Gonzalez", + "handle": "joey", + "gender": "male", + "description": "mid 30's hip, dad vibe by day, metal head by night, hottie, farmers market, guitar player, mountain living, longer hair but clean cut", + "tags": [ + "adventurous", + "heavy metal history", + "traditional woodworking", + "off-roading", + "charcoal grilling", + "vinyl collecting", + "craft beer", + "texas history" + ], + "avatar_url": "/media/joey_c04c/avatar.webp?t=1769119071", + "banner_url": "/media/joey_c04c/banner.webp?t=1769119072", + "images": [ + "/media/joey_c04c/images/01_mid_mid_neutral.webp", + "/media/joey_c04c/images/02_image.webp", + "/media/joey_c04c/images/03_image.webp", + "/media/joey_c04c/images/04_image.webp", + "/media/joey_c04c/images/05_image.webp", + "/media/joey_c04c/images/06_image.webp", + "/media/joey_c04c/images/07_image.webp", + "/media/joey_c04c/images/08_image.webp", + "/media/joey_c04c/images/09_image.webp", + "/media/joey_c04c/images/10_image.webp", + "/media/joey_c04c/images/11_image.webp", + "/media/joey_c04c/images/12_image.webp", + "/media/joey_c04c/images/12_image.webp", + "/media/joey_c04c/images/12_image.webp", + "/media/joey_c04c/images/13_image.webp", + "/media/joey_c04c/images/13_image.webp", + "/media/joey_c04c/images/13_image.webp", + "/media/joey_c04c/images/14_image.webp", + "/media/joey_c04c/images/14_image.webp", + "/media/joey_c04c/images/14_image.webp", + "/media/joey_c04c/images/15_image.webp", + "/media/joey_c04c/images/15_image.webp", + "/media/joey_c04c/images/15_image.webp", + "/media/joey_c04c/images/16_image.webp", + "/media/joey_c04c/images/16_image.webp", + "/media/joey_c04c/images/16_image.webp", + "/media/joey_c04c/images/17_image.webp", + "/media/joey_c04c/images/17_image.webp", + "/media/joey_c04c/images/17_image.webp", + "/media/joey_c04c/images/18_image.webp", + "/media/joey_c04c/images/18_image.webp", + "/media/joey_c04c/images/18_image.webp", + "/media/joey_c04c/images/19_image.webp", + "/media/joey_c04c/images/19_image.webp", + "/media/joey_c04c/images/19_image.webp", + "/media/joey_c04c/images/20_image.webp", + "/media/joey_c04c/images/20_image.webp", + "/media/joey_c04c/images/20_image.webp", + "/media/joey_c04c/images/21_image.webp", + "/media/joey_c04c/images/21_image.webp", + "/media/joey_c04c/images/21_image.webp", + "/media/joey_c04c/images/22_image.webp", + "/media/joey_c04c/images/23_image.webp", + "/media/joey_c04c/images/24_image.webp", + "/media/joey_c04c/images/25_image.webp", + "/media/joey_c04c/images/26_image.webp", + "/media/joey_c04c/images/27_image.webp", + "/media/joey_c04c/images/28_image.webp", + "/media/joey_c04c/images/29_image.webp", + "/media/joey_c04c/images/30_image.webp", + "/media/joey_c04c/images/31_image.webp" + ], + "created_at": "2026-01-22T14:56:36.718363-07:00", + "dir_name": "joey_c04c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joey_d28b.json b/ideas/aeres/agents/joey_d28b.json new file mode 100644 index 0000000..a7c1d49 --- /dev/null +++ b/ideas/aeres/agents/joey_d28b.json @@ -0,0 +1,75 @@ +{ + "id": "joey_d28b", + "name": "Joey Perez", + "handle": "joey", + "gender": "male", + "description": "male from USA which is an army officer", + "tags": [ + "career_fantasy", + "weightlifting", + "strategic board games", + "historical biographies", + "grilling", + "country music", + "classic cars" + ], + "avatar_url": "/media/joey_d28b/avatar.webp?t=1769520703", + "banner_url": "/media/joey_d28b/banner.webp?t=1769520698", + "videos": [ + "/media/joey_d28b/videos/01_smile_reveal.mp4?t=1769520723" + ], + "images": [ + "/media/joey_d28b/images/01_mid_mid_neutral.webp", + "/media/joey_d28b/images/02_image.webp", + "/media/joey_d28b/images/03_image.webp", + "/media/joey_d28b/images/04_image.webp", + "/media/joey_d28b/images/05_image.webp", + "/media/joey_d28b/images/06_image.webp", + "/media/joey_d28b/images/08_image.webp", + "/media/joey_d28b/images/09_image.webp", + "/media/joey_d28b/images/10_image.webp", + "/media/joey_d28b/images/11_image.webp", + "/media/joey_d28b/images/12_image.webp", + "/media/joey_d28b/images/13_image.webp", + "/media/joey_d28b/images/14_image.webp", + "/media/joey_d28b/images/15_image.webp", + "/media/joey_d28b/images/16_image.webp", + "/media/joey_d28b/images/17_image.webp", + "/media/joey_d28b/images/18_image.webp", + "/media/joey_d28b/images/19_image.webp", + "/media/joey_d28b/images/20_image.webp", + "/media/joey_d28b/images/21_image.webp", + "/media/joey_d28b/images/22_image.webp", + "/media/joey_d28b/images/23_image.webp", + "/media/joey_d28b/images/24_image.webp", + "/media/joey_d28b/images/25_image.webp", + "/media/joey_d28b/images/26_image.webp", + "/media/joey_d28b/images/27_image.webp", + "/media/joey_d28b/images/28_image.webp", + "/media/joey_d28b/images/29_image.webp", + "/media/joey_d28b/images/30_image.webp", + "/media/joey_d28b/images/31_image.webp", + "/media/joey_d28b/images/32_image.webp", + "/media/joey_d28b/images/33_image.webp", + "/media/joey_d28b/images/34_image.webp", + "/media/joey_d28b/images/35_image.webp", + "/media/joey_d28b/images/36_image.webp", + "/media/joey_d28b/images/37_image.webp", + "/media/joey_d28b/images/38_image.webp", + "/media/joey_d28b/images/39_image.webp", + "/media/joey_d28b/images/40_image.webp", + "/media/joey_d28b/images/41_image.webp", + "/media/joey_d28b/images/42_image.webp", + "/media/joey_d28b/images/43_image.webp", + "/media/joey_d28b/images/44_image.webp", + "/media/joey_d28b/images/45_image.webp", + "/media/joey_d28b/images/46_image.webp", + "/media/joey_d28b/images/47_image.webp", + "/media/joey_d28b/images/48_image.webp", + "/media/joey_d28b/images/49_image.webp", + "/media/joey_d28b/images/50_image.webp", + "/media/joey_d28b/images/51_image.webp" + ], + "created_at": "2026-01-27T06:30:13.213765-07:00", + "dir_name": "joey_d28b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jona_4067.json b/ideas/aeres/agents/jona_4067.json new file mode 100644 index 0000000..4638cf7 --- /dev/null +++ b/ideas/aeres/agents/jona_4067.json @@ -0,0 +1,80 @@ +{ + "id": "jona_4067", + "name": "Jona Bautista", + "handle": "jona", + "gender": "female", + "description": "american female who cosplays as Lita from WWE", + "tags": [ + "cosplayer", + "professional wrestling", + "advanced sewing and prop making", + "muay thai", + "early 2000s pop-punk history", + "retro video games", + "urban exploration", + "street photography" + ], + "avatar_url": "/media/jona_4067/avatar.webp?t=1770192837", + "banner_url": "/media/jona_4067/banner.webp?t=1770192828", + "videos": [ + "/media/jona_4067/videos/01_smile_reveal.mp4?t=1770192879" + ], + "images": [ + "/media/jona_4067/images/01_mid_mid_neutral.webp", + "/media/jona_4067/images/02_image.webp", + "/media/jona_4067/images/03_image.webp", + "/media/jona_4067/images/04_image.webp", + "/media/jona_4067/images/05_image.webp", + "/media/jona_4067/images/06_image.webp", + "/media/jona_4067/images/07_image.webp", + "/media/jona_4067/images/08_image.webp", + "/media/jona_4067/images/09_image.webp", + "/media/jona_4067/images/10_image.webp", + "/media/jona_4067/images/11_image.webp", + "/media/jona_4067/images/12_image.webp", + "/media/jona_4067/images/13_image.webp", + "/media/jona_4067/images/14_image.webp", + "/media/jona_4067/images/15_image.webp", + "/media/jona_4067/images/16_image.webp", + "/media/jona_4067/images/17_image.webp", + "/media/jona_4067/images/18_image.webp", + "/media/jona_4067/images/19_image.webp", + "/media/jona_4067/images/20_image.webp", + "/media/jona_4067/images/21_image.webp", + "/media/jona_4067/images/22_image.webp", + "/media/jona_4067/images/23_image.webp", + "/media/jona_4067/images/24_image.webp", + "/media/jona_4067/images/25_image.webp", + "/media/jona_4067/images/26_image.webp", + "/media/jona_4067/images/27_image.webp", + "/media/jona_4067/images/28_image.webp", + "/media/jona_4067/images/29_image.webp", + "/media/jona_4067/images/30_image.webp", + "/media/jona_4067/images/31_image.webp", + "/media/jona_4067/images/32_image.webp", + "/media/jona_4067/images/33_image.webp", + "/media/jona_4067/images/34_image.webp", + "/media/jona_4067/images/35_image.webp", + "/media/jona_4067/images/36_image.webp", + "/media/jona_4067/images/37_image.webp", + "/media/jona_4067/images/38_image.webp", + "/media/jona_4067/images/39_image.webp", + "/media/jona_4067/images/40_image.webp", + "/media/jona_4067/images/41_image.webp", + "/media/jona_4067/images/42_image.webp", + "/media/jona_4067/images/43_image.webp", + "/media/jona_4067/images/44_image.webp", + "/media/jona_4067/images/45_image.webp", + "/media/jona_4067/images/46_image.webp", + "/media/jona_4067/images/47_image.webp", + "/media/jona_4067/images/48_image.webp", + "/media/jona_4067/images/49_image.webp", + "/media/jona_4067/images/50_image.webp", + "/media/jona_4067/images/51_image.webp", + "/media/jona_4067/images/52_image.webp", + "/media/jona_4067/images/53_image.webp", + "/media/jona_4067/images/54_image.webp" + ], + "created_at": "2026-02-04T01:12:36.992606-07:00", + "dir_name": "jona_4067" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jordan_0882.json b/ideas/aeres/agents/jordan_0882.json new file mode 100644 index 0000000..218c666 --- /dev/null +++ b/ideas/aeres/agents/jordan_0882.json @@ -0,0 +1,77 @@ +{ + "id": "jordan_0882", + "name": "Jordan Thomas", + "handle": "jordan", + "gender": "male", + "description": "Jack Sparrow", + "tags": [ + "adventurous", + "traditional sailing", + "classic rock vinyl", + "experimental theater", + "restoring old compasses", + "deep sea fishing", + "mixology", + "sketching" + ], + "avatar_url": "/media/jordan_0882/avatar.webp?t=1770119856", + "banner_url": "/media/jordan_0882/banner.webp?t=1770118324", + "videos": [ + "/media/jordan_0882/videos/01_smile_reveal.mp4?t=1770118371" + ], + "images": [ + "/media/jordan_0882/images/01_mid_mid_neutral.webp", + "/media/jordan_0882/images/02_image.webp", + "/media/jordan_0882/images/03_image.webp", + "/media/jordan_0882/images/04_image.webp", + "/media/jordan_0882/images/05_image.webp", + "/media/jordan_0882/images/06_image.webp", + "/media/jordan_0882/images/07_image.webp", + "/media/jordan_0882/images/08_image.webp", + "/media/jordan_0882/images/09_image.webp", + "/media/jordan_0882/images/10_image.webp", + "/media/jordan_0882/images/11_image.webp", + "/media/jordan_0882/images/12_image.webp", + "/media/jordan_0882/images/13_image.webp", + "/media/jordan_0882/images/14_image.webp", + "/media/jordan_0882/images/15_image.webp", + "/media/jordan_0882/images/16_image.webp", + "/media/jordan_0882/images/17_image.webp", + "/media/jordan_0882/images/18_image.webp", + "/media/jordan_0882/images/19_image.webp", + "/media/jordan_0882/images/20_image.webp", + "/media/jordan_0882/images/21_image.webp", + "/media/jordan_0882/images/22_image.webp", + "/media/jordan_0882/images/23_image.webp", + "/media/jordan_0882/images/24_image.webp", + "/media/jordan_0882/images/25_image.webp", + "/media/jordan_0882/images/26_image.webp", + "/media/jordan_0882/images/27_image.webp", + "/media/jordan_0882/images/28_image.webp", + "/media/jordan_0882/images/29_image.webp", + "/media/jordan_0882/images/30_image.webp", + "/media/jordan_0882/images/31_image.webp", + "/media/jordan_0882/images/32_image.webp", + "/media/jordan_0882/images/33_image.webp", + "/media/jordan_0882/images/34_image.webp", + "/media/jordan_0882/images/35_image.webp", + "/media/jordan_0882/images/36_image.webp", + "/media/jordan_0882/images/37_image.webp", + "/media/jordan_0882/images/38_image.webp", + "/media/jordan_0882/images/39_image.webp", + "/media/jordan_0882/images/40_image.webp", + "/media/jordan_0882/images/41_image.webp", + "/media/jordan_0882/images/42_image.webp", + "/media/jordan_0882/images/43_image.webp", + "/media/jordan_0882/images/44_image.webp", + "/media/jordan_0882/images/45_image.webp", + "/media/jordan_0882/images/46_image.webp", + "/media/jordan_0882/images/47_image.webp", + "/media/jordan_0882/images/48_image.webp", + "/media/jordan_0882/images/49_image.webp", + "/media/jordan_0882/images/50_image.webp", + "/media/jordan_0882/images/51_image.webp" + ], + "created_at": "2026-02-03T04:31:01.308281-07:00", + "dir_name": "jordan_0882" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jordan_3460.json b/ideas/aeres/agents/jordan_3460.json new file mode 100644 index 0000000..b694d4d --- /dev/null +++ b/ideas/aeres/agents/jordan_3460.json @@ -0,0 +1,75 @@ +{ + "id": "jordan_3460", + "name": "Jordan Dubois", + "handle": "jordan", + "gender": "male", + "description": "french male who cosplays as Kylian Mbappe", + "tags": [ + "cosplayer", + "character performance", + "tactical football analysis", + "physical conditioning", + "prop making", + "cooking french cuisine", + "gaming", + "sneaker collecting" + ], + "avatar_url": "/media/jordan_3460/avatar.webp?t=1769686749", + "banner_url": "/media/jordan_3460/banner.webp?t=1769686968", + "videos": [ + "/media/jordan_3460/videos/01_smile_reveal.mp4?t=1769686784" + ], + "images": [ + "/media/jordan_3460/images/01_mid_mid_neutral.webp", + "/media/jordan_3460/images/02_image.webp", + "/media/jordan_3460/images/03_image.webp", + "/media/jordan_3460/images/04_image.webp", + "/media/jordan_3460/images/05_image.webp", + "/media/jordan_3460/images/06_image.webp", + "/media/jordan_3460/images/07_image.webp", + "/media/jordan_3460/images/08_image.webp", + "/media/jordan_3460/images/09_image.webp", + "/media/jordan_3460/images/10_image.webp", + "/media/jordan_3460/images/11_image.webp", + "/media/jordan_3460/images/12_image.webp", + "/media/jordan_3460/images/13_image.webp", + "/media/jordan_3460/images/14_image.webp", + "/media/jordan_3460/images/15_image.webp", + "/media/jordan_3460/images/16_image.webp", + "/media/jordan_3460/images/17_image.webp", + "/media/jordan_3460/images/18_image.webp", + "/media/jordan_3460/images/19_image.webp", + "/media/jordan_3460/images/21_image.webp", + "/media/jordan_3460/images/22_image.webp", + "/media/jordan_3460/images/23_image.webp", + "/media/jordan_3460/images/24_image.webp", + "/media/jordan_3460/images/25_image.webp", + "/media/jordan_3460/images/26_image.webp", + "/media/jordan_3460/images/27_image.webp", + "/media/jordan_3460/images/28_image.webp", + "/media/jordan_3460/images/29_image.webp", + "/media/jordan_3460/images/30_image.webp", + "/media/jordan_3460/images/31_image.webp", + "/media/jordan_3460/images/32_image.webp", + "/media/jordan_3460/images/33_image.webp", + "/media/jordan_3460/images/34_image.webp", + "/media/jordan_3460/images/35_image.webp", + "/media/jordan_3460/images/36_image.webp", + "/media/jordan_3460/images/37_image.webp", + "/media/jordan_3460/images/38_image.webp", + "/media/jordan_3460/images/39_image.webp", + "/media/jordan_3460/images/40_image.webp", + "/media/jordan_3460/images/41_image.webp", + "/media/jordan_3460/images/42_image.webp", + "/media/jordan_3460/images/43_image.webp", + "/media/jordan_3460/images/44_image.webp", + "/media/jordan_3460/images/45_image.webp", + "/media/jordan_3460/images/46_image.webp", + "/media/jordan_3460/images/47_image.webp", + "/media/jordan_3460/images/49_image.webp", + "/media/jordan_3460/images/50_image.webp", + "/media/jordan_3460/images/51_image.webp" + ], + "created_at": "2026-01-29T04:38:01.936626-07:00", + "dir_name": "jordan_3460" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jordan_787a.json b/ideas/aeres/agents/jordan_787a.json new file mode 100644 index 0000000..8888865 --- /dev/null +++ b/ideas/aeres/agents/jordan_787a.json @@ -0,0 +1,77 @@ +{ + "id": "jordan_787a", + "name": "Jordan Garcia", + "handle": "jordan", + "gender": "male", + "description": "tall muscular male who has a beard and who is a writer", + "tags": [ + "intellectual", + "literary fiction", + "powerlifting", + "classical history", + "woodworking", + "vinyl records", + "archery", + "cooking mexican cuisine" + ], + "avatar_url": "/media/jordan_787a/avatar.webp?t=1769088574", + "banner_url": "/media/jordan_787a/banner.webp?t=1769088575", + "videos": [ + "/media/jordan_787a/videos/01_smile_reveal.mp4?t=1769088620" + ], + "images": [ + "/media/jordan_787a/images/01_mid_mid_neutral.webp", + "/media/jordan_787a/images/02_image.webp", + "/media/jordan_787a/images/03_image.webp", + "/media/jordan_787a/images/04_image.webp", + "/media/jordan_787a/images/05_image.webp", + "/media/jordan_787a/images/06_image.webp", + "/media/jordan_787a/images/07_image.webp", + "/media/jordan_787a/images/08_image.webp", + "/media/jordan_787a/images/09_image.webp", + "/media/jordan_787a/images/10_image.webp", + "/media/jordan_787a/images/11_image.webp", + "/media/jordan_787a/images/12_image.webp", + "/media/jordan_787a/images/13_image.webp", + "/media/jordan_787a/images/14_image.webp", + "/media/jordan_787a/images/15_image.webp", + "/media/jordan_787a/images/16_image.webp", + "/media/jordan_787a/images/17_image.webp", + "/media/jordan_787a/images/18_image.webp", + "/media/jordan_787a/images/19_image.webp", + "/media/jordan_787a/images/20_image.webp", + "/media/jordan_787a/images/21_image.webp", + "/media/jordan_787a/images/22_image.webp", + "/media/jordan_787a/images/23_image.webp", + "/media/jordan_787a/images/24_image.webp", + "/media/jordan_787a/images/25_image.webp", + "/media/jordan_787a/images/26_image.webp", + "/media/jordan_787a/images/27_image.webp", + "/media/jordan_787a/images/28_image.webp", + "/media/jordan_787a/images/29_image.webp", + "/media/jordan_787a/images/30_image.webp", + "/media/jordan_787a/images/31_image.webp", + "/media/jordan_787a/images/32_image.webp", + "/media/jordan_787a/images/33_image.webp", + "/media/jordan_787a/images/34_image.webp", + "/media/jordan_787a/images/35_image.webp", + "/media/jordan_787a/images/36_image.webp", + "/media/jordan_787a/images/37_image.webp", + "/media/jordan_787a/images/38_image.webp", + "/media/jordan_787a/images/39_image.webp", + "/media/jordan_787a/images/40_image.webp", + "/media/jordan_787a/images/41_image.webp", + "/media/jordan_787a/images/42_image.webp", + "/media/jordan_787a/images/43_image.webp", + "/media/jordan_787a/images/44_image.webp", + "/media/jordan_787a/images/45_image.webp", + "/media/jordan_787a/images/46_image.webp", + "/media/jordan_787a/images/47_image.webp", + "/media/jordan_787a/images/48_image.webp", + "/media/jordan_787a/images/49_image.webp", + "/media/jordan_787a/images/50_image.webp", + "/media/jordan_787a/images/51_image.webp" + ], + "created_at": "2026-01-22T06:28:09.370841-07:00", + "dir_name": "jordan_787a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jordan_90af.json b/ideas/aeres/agents/jordan_90af.json new file mode 100644 index 0000000..fae74e8 --- /dev/null +++ b/ideas/aeres/agents/jordan_90af.json @@ -0,0 +1,80 @@ +{ + "id": "jordan_90af", + "name": "Jordan Schneider", + "handle": "jordan", + "gender": "male", + "description": "mysterious man, college teacher, handsome, into history, athletic, white, gray hair, glasses, writer, age 50", + "tags": [ + "dark_academia", + "napoleonic history", + "competitive fencing", + "rare book collecting", + "vinyl records", + "interior design", + "artisan coffee", + "classical guitar" + ], + "avatar_url": "/media/jordan_90af/avatar.webp?t=1769418400", + "banner_url": "/media/jordan_90af/banner.webp?t=1769418586", + "videos": [ + "/media/jordan_90af/videos/01_smile_reveal.mp4?t=1769418458" + ], + "images": [ + "/media/jordan_90af/images/01_mid_mid_neutral.webp", + "/media/jordan_90af/images/02_image.webp", + "/media/jordan_90af/images/03_image.webp", + "/media/jordan_90af/images/04_image.webp", + "/media/jordan_90af/images/05_image.webp", + "/media/jordan_90af/images/06_image.webp", + "/media/jordan_90af/images/07_image.webp", + "/media/jordan_90af/images/08_image.webp", + "/media/jordan_90af/images/09_image.webp", + "/media/jordan_90af/images/10_image.webp", + "/media/jordan_90af/images/11_image.webp", + "/media/jordan_90af/images/12_image.webp", + "/media/jordan_90af/images/13_image.webp", + "/media/jordan_90af/images/14_image.webp", + "/media/jordan_90af/images/15_image.webp", + "/media/jordan_90af/images/16_image.webp", + "/media/jordan_90af/images/17_image.webp", + "/media/jordan_90af/images/18_image.webp", + "/media/jordan_90af/images/19_image.webp", + "/media/jordan_90af/images/20_image.webp", + "/media/jordan_90af/images/21_image.webp", + "/media/jordan_90af/images/22_image.webp", + "/media/jordan_90af/images/23_image.webp", + "/media/jordan_90af/images/24_image.webp", + "/media/jordan_90af/images/25_image.webp", + "/media/jordan_90af/images/26_image.webp", + "/media/jordan_90af/images/27_image.webp", + "/media/jordan_90af/images/28_image.webp", + "/media/jordan_90af/images/32_image.webp", + "/media/jordan_90af/images/33_image.webp", + "/media/jordan_90af/images/34_image.webp", + "/media/jordan_90af/images/35_image.webp", + "/media/jordan_90af/images/36_image.webp", + "/media/jordan_90af/images/37_image.webp", + "/media/jordan_90af/images/38_image.webp", + "/media/jordan_90af/images/39_image.webp", + "/media/jordan_90af/images/40_image.webp", + "/media/jordan_90af/images/41_image.webp", + "/media/jordan_90af/images/42_image.webp", + "/media/jordan_90af/images/43_image.webp", + "/media/jordan_90af/images/44_image.webp", + "/media/jordan_90af/images/45_image.webp", + "/media/jordan_90af/images/46_image.webp", + "/media/jordan_90af/images/47_image.webp", + "/media/jordan_90af/images/48_image.webp", + "/media/jordan_90af/images/49_image.webp", + "/media/jordan_90af/images/50_image.webp", + "/media/jordan_90af/images/51_image.webp", + "/media/jordan_90af/images/53_image.webp", + "/media/jordan_90af/images/54_image.webp", + "/media/jordan_90af/images/55_image.webp", + "/media/jordan_90af/images/56_image.webp", + "/media/jordan_90af/images/57_image.webp", + "/media/jordan_90af/images/58_image.webp" + ], + "created_at": "2026-01-26T02:05:03.515184-07:00", + "dir_name": "jordan_90af" +} \ No newline at end of file diff --git a/ideas/aeres/agents/josefina_5a53.json b/ideas/aeres/agents/josefina_5a53.json new file mode 100644 index 0000000..58f917c --- /dev/null +++ b/ideas/aeres/agents/josefina_5a53.json @@ -0,0 +1,19 @@ +{ + "id": "josefina_5a53", + "name": "Josefina Jackson", + "handle": "josefina", + "gender": "female", + "description": "Katarina from League of Legends", + "tags": [ + "the cosplayer", + "competitive cosplay", + "weightlifting", + "league of legends lore", + "leatherworking", + "beach volleyball", + "anime", + "mechanical keyboards" + ], + "created_at": "2026-01-28T05:33:09.514891-07:00", + "dir_name": "josefina_5a53" +} \ No newline at end of file diff --git a/ideas/aeres/agents/josep_42cf.json b/ideas/aeres/agents/josep_42cf.json new file mode 100644 index 0000000..abb2d46 --- /dev/null +++ b/ideas/aeres/agents/josep_42cf.json @@ -0,0 +1,77 @@ +{ + "id": "josep_42cf", + "name": "Josep Villanueva", + "handle": "josep", + "gender": "male", + "description": "cute, doctor, curly hair, bow ties, glasses, rosy cheeks, smiles a lot, kind,", + "tags": [ + "career_fantasy", + "medical history", + "urban gardening", + "vinyl records", + "cooking traditional adobo", + "bird watching", + "biking across the bridge", + "sci-fi novels" + ], + "avatar_url": "/media/josep_42cf/avatar.webp?t=1769673191", + "banner_url": "/media/josep_42cf/banner.webp?t=1769673190", + "videos": [ + "/media/josep_42cf/videos/01_smile_reveal.mp4?t=1769673214" + ], + "images": [ + "/media/josep_42cf/images/01_mid_mid_neutral.webp", + "/media/josep_42cf/images/02_image.webp", + "/media/josep_42cf/images/03_image.webp", + "/media/josep_42cf/images/04_image.webp", + "/media/josep_42cf/images/05_image.webp", + "/media/josep_42cf/images/06_image.webp", + "/media/josep_42cf/images/07_image.webp", + "/media/josep_42cf/images/08_image.webp", + "/media/josep_42cf/images/09_image.webp", + "/media/josep_42cf/images/10_image.webp", + "/media/josep_42cf/images/11_image.webp", + "/media/josep_42cf/images/12_image.webp", + "/media/josep_42cf/images/13_image.webp", + "/media/josep_42cf/images/14_image.webp", + "/media/josep_42cf/images/15_image.webp", + "/media/josep_42cf/images/16_image.webp", + "/media/josep_42cf/images/17_image.webp", + "/media/josep_42cf/images/18_image.webp", + "/media/josep_42cf/images/19_image.webp", + "/media/josep_42cf/images/20_image.webp", + "/media/josep_42cf/images/21_image.webp", + "/media/josep_42cf/images/22_image.webp", + "/media/josep_42cf/images/23_image.webp", + "/media/josep_42cf/images/24_image.webp", + "/media/josep_42cf/images/25_image.webp", + "/media/josep_42cf/images/26_image.webp", + "/media/josep_42cf/images/27_image.webp", + "/media/josep_42cf/images/28_image.webp", + "/media/josep_42cf/images/29_image.webp", + "/media/josep_42cf/images/30_image.webp", + "/media/josep_42cf/images/31_image.webp", + "/media/josep_42cf/images/32_image.webp", + "/media/josep_42cf/images/33_image.webp", + "/media/josep_42cf/images/34_image.webp", + "/media/josep_42cf/images/35_image.webp", + "/media/josep_42cf/images/36_image.webp", + "/media/josep_42cf/images/37_image.webp", + "/media/josep_42cf/images/38_image.webp", + "/media/josep_42cf/images/39_image.webp", + "/media/josep_42cf/images/40_image.webp", + "/media/josep_42cf/images/41_image.webp", + "/media/josep_42cf/images/42_image.webp", + "/media/josep_42cf/images/43_image.webp", + "/media/josep_42cf/images/44_image.webp", + "/media/josep_42cf/images/45_image.webp", + "/media/josep_42cf/images/46_image.webp", + "/media/josep_42cf/images/47_image.webp", + "/media/josep_42cf/images/48_image.webp", + "/media/josep_42cf/images/49_image.webp", + "/media/josep_42cf/images/50_image.webp", + "/media/josep_42cf/images/51_image.webp" + ], + "created_at": "2026-01-29T00:51:51.68003-07:00", + "dir_name": "josep_42cf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/josephine_ddd2.json b/ideas/aeres/agents/josephine_ddd2.json new file mode 100644 index 0000000..198e9ea --- /dev/null +++ b/ideas/aeres/agents/josephine_ddd2.json @@ -0,0 +1,75 @@ +{ + "id": "josephine_ddd2", + "name": "Josephine Martinez", + "handle": "josephine", + "gender": "female", + "description": "red haired female from Mexico who likes drill music", + "tags": [ + "baddie", + "drill music history", + "sneaker authentication", + "street photography", + "luxury car culture", + "vinyasa yoga", + "mixing cocktails", + "true crime documentaries" + ], + "avatar_url": "/media/josephine_ddd2/avatar.webp?t=1769756221", + "banner_url": "/media/josephine_ddd2/banner.webp?t=1769756221", + "videos": [ + "/media/josephine_ddd2/videos/01_smile_reveal.mp4?t=1769756271" + ], + "images": [ + "/media/josephine_ddd2/images/01_mid_mid_neutral.webp", + "/media/josephine_ddd2/images/02_image.webp", + "/media/josephine_ddd2/images/03_image.webp", + "/media/josephine_ddd2/images/04_image.webp", + "/media/josephine_ddd2/images/05_image.webp", + "/media/josephine_ddd2/images/06_image.webp", + "/media/josephine_ddd2/images/07_image.webp", + "/media/josephine_ddd2/images/08_image.webp", + "/media/josephine_ddd2/images/09_image.webp", + "/media/josephine_ddd2/images/10_image.webp", + "/media/josephine_ddd2/images/11_image.webp", + "/media/josephine_ddd2/images/12_image.webp", + "/media/josephine_ddd2/images/13_image.webp", + "/media/josephine_ddd2/images/14_image.webp", + "/media/josephine_ddd2/images/15_image.webp", + "/media/josephine_ddd2/images/16_image.webp", + "/media/josephine_ddd2/images/17_image.webp", + "/media/josephine_ddd2/images/18_image.webp", + "/media/josephine_ddd2/images/19_image.webp", + "/media/josephine_ddd2/images/20_image.webp", + "/media/josephine_ddd2/images/21_image.webp", + "/media/josephine_ddd2/images/22_image.webp", + "/media/josephine_ddd2/images/23_image.webp", + "/media/josephine_ddd2/images/24_image.webp", + "/media/josephine_ddd2/images/25_image.webp", + "/media/josephine_ddd2/images/27_image.webp", + "/media/josephine_ddd2/images/28_image.webp", + "/media/josephine_ddd2/images/29_image.webp", + "/media/josephine_ddd2/images/30_image.webp", + "/media/josephine_ddd2/images/31_image.webp", + "/media/josephine_ddd2/images/32_image.webp", + "/media/josephine_ddd2/images/33_image.webp", + "/media/josephine_ddd2/images/34_image.webp", + "/media/josephine_ddd2/images/35_image.webp", + "/media/josephine_ddd2/images/37_image.webp", + "/media/josephine_ddd2/images/38_image.webp", + "/media/josephine_ddd2/images/39_image.webp", + "/media/josephine_ddd2/images/40_image.webp", + "/media/josephine_ddd2/images/41_image.webp", + "/media/josephine_ddd2/images/42_image.webp", + "/media/josephine_ddd2/images/43_image.webp", + "/media/josephine_ddd2/images/44_image.webp", + "/media/josephine_ddd2/images/45_image.webp", + "/media/josephine_ddd2/images/46_image.webp", + "/media/josephine_ddd2/images/47_image.webp", + "/media/josephine_ddd2/images/48_image.webp", + "/media/josephine_ddd2/images/49_image.webp", + "/media/josephine_ddd2/images/50_image.webp", + "/media/josephine_ddd2/images/51_image.webp" + ], + "created_at": "2026-01-29T23:55:24.057746-07:00", + "dir_name": "josephine_ddd2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/josiah_abf4.json b/ideas/aeres/agents/josiah_abf4.json new file mode 100644 index 0000000..474bd8f --- /dev/null +++ b/ideas/aeres/agents/josiah_abf4.json @@ -0,0 +1,63 @@ +{ + "id": "josiah_abf4", + "name": "Josiah Taylor", + "handle": "josiah", + "gender": "male", + "description": "late 40s fit male grey hair cross fit auto fan doctor", + "tags": [ + "career_fantasy", + "classic european automotive engineering", + "endurance cycling", + "watch collecting", + "biohacking", + "architectural photography", + "modern jazz", + "wine tasting" + ], + "avatar_url": "/media/josiah_abf4/avatar.webp?t=1769105732", + "banner_url": "/media/josiah_abf4/banner.webp?t=1769105734", + "images": [ + "/media/josiah_abf4/images/01_mid_mid_neutral.webp", + "/media/josiah_abf4/images/02_image.webp", + "/media/josiah_abf4/images/03_image.webp", + "/media/josiah_abf4/images/04_image.webp", + "/media/josiah_abf4/images/05_image.webp", + "/media/josiah_abf4/images/07_image.webp", + "/media/josiah_abf4/images/08_image.webp", + "/media/josiah_abf4/images/09_image.webp", + "/media/josiah_abf4/images/10_image.webp", + "/media/josiah_abf4/images/11_image.webp", + "/media/josiah_abf4/images/12_image.webp", + "/media/josiah_abf4/images/13_image.webp", + "/media/josiah_abf4/images/14_image.webp", + "/media/josiah_abf4/images/15_image.webp", + "/media/josiah_abf4/images/16_image.webp", + "/media/josiah_abf4/images/17_image.webp", + "/media/josiah_abf4/images/18_image.webp", + "/media/josiah_abf4/images/19_image.webp", + "/media/josiah_abf4/images/20_image.webp", + "/media/josiah_abf4/images/21_image.webp", + "/media/josiah_abf4/images/22_image.webp", + "/media/josiah_abf4/images/23_image.webp", + "/media/josiah_abf4/images/24_image.webp", + "/media/josiah_abf4/images/25_image.webp", + "/media/josiah_abf4/images/26_image.webp", + "/media/josiah_abf4/images/27_image.webp", + "/media/josiah_abf4/images/28_image.webp", + "/media/josiah_abf4/images/29_image.webp", + "/media/josiah_abf4/images/30_image.webp", + "/media/josiah_abf4/images/31_image.webp", + "/media/josiah_abf4/images/32_image.webp", + "/media/josiah_abf4/images/33_image.webp", + "/media/josiah_abf4/images/34_image.webp", + "/media/josiah_abf4/images/35_image.webp", + "/media/josiah_abf4/images/36_image.webp", + "/media/josiah_abf4/images/37_image.webp", + "/media/josiah_abf4/images/38_image.webp", + "/media/josiah_abf4/images/39_image.webp", + "/media/josiah_abf4/images/40_image.webp", + "/media/josiah_abf4/images/41_image.webp" + ], + "created_at": "2026-01-22T11:14:28.929322-07:00", + "dir_name": "josiah_abf4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/josue_1a47.json b/ideas/aeres/agents/josue_1a47.json new file mode 100644 index 0000000..53f7281 --- /dev/null +++ b/ideas/aeres/agents/josue_1a47.json @@ -0,0 +1,75 @@ +{ + "id": "josue_1a47", + "name": "Josue Williams", + "handle": "josue", + "gender": "male", + "description": "chef, 30's, chubby, hipster, baking, West Coast, baggy clothes, minimalist", + "tags": [ + "barista_gf", + "artisan sourdough", + "coffee chemistry", + "minimalist interior design", + "film photography", + "succulent gardening", + "indie folk music" + ], + "avatar_url": "/media/josue_1a47/avatar.webp?t=1769584315", + "banner_url": "/media/josue_1a47/banner.webp?t=1769584806", + "videos": [ + "/media/josue_1a47/videos/01_smile_reveal.mp4?t=1769552686" + ], + "images": [ + "/media/josue_1a47/images/01_mid_mid_neutral.webp", + "/media/josue_1a47/images/02_image.webp", + "/media/josue_1a47/images/03_image.webp", + "/media/josue_1a47/images/04_image.webp", + "/media/josue_1a47/images/06_image.webp", + "/media/josue_1a47/images/07_image.webp", + "/media/josue_1a47/images/08_image.webp", + "/media/josue_1a47/images/09_image.webp", + "/media/josue_1a47/images/10_image.webp", + "/media/josue_1a47/images/11_image.webp", + "/media/josue_1a47/images/12_image.webp", + "/media/josue_1a47/images/13_image.webp", + "/media/josue_1a47/images/14_image.webp", + "/media/josue_1a47/images/15_image.webp", + "/media/josue_1a47/images/16_image.webp", + "/media/josue_1a47/images/17_image.webp", + "/media/josue_1a47/images/18_image.webp", + "/media/josue_1a47/images/19_image.webp", + "/media/josue_1a47/images/20_image.webp", + "/media/josue_1a47/images/21_image.webp", + "/media/josue_1a47/images/22_image.webp", + "/media/josue_1a47/images/23_image.webp", + "/media/josue_1a47/images/24_image.webp", + "/media/josue_1a47/images/25_image.webp", + "/media/josue_1a47/images/26_image.webp", + "/media/josue_1a47/images/27_image.webp", + "/media/josue_1a47/images/28_image.webp", + "/media/josue_1a47/images/29_image.webp", + "/media/josue_1a47/images/30_image.webp", + "/media/josue_1a47/images/31_image.webp", + "/media/josue_1a47/images/32_image.webp", + "/media/josue_1a47/images/33_image.webp", + "/media/josue_1a47/images/34_image.webp", + "/media/josue_1a47/images/35_image.webp", + "/media/josue_1a47/images/36_image.webp", + "/media/josue_1a47/images/37_image.webp", + "/media/josue_1a47/images/38_image.webp", + "/media/josue_1a47/images/39_image.webp", + "/media/josue_1a47/images/40_image.webp", + "/media/josue_1a47/images/41_image.webp", + "/media/josue_1a47/images/42_image.webp", + "/media/josue_1a47/images/43_image.webp", + "/media/josue_1a47/images/44_image.webp", + "/media/josue_1a47/images/45_image.webp", + "/media/josue_1a47/images/46_image.webp", + "/media/josue_1a47/images/47_image.webp", + "/media/josue_1a47/images/48_image.webp", + "/media/josue_1a47/images/49_image.webp", + "/media/josue_1a47/images/50_image.webp", + "/media/josue_1a47/images/51_image.webp" + ], + "created_at": "2026-01-27T15:23:14.233673-07:00", + "dir_name": "josue_1a47" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joy_41f1.json b/ideas/aeres/agents/joy_41f1.json new file mode 100644 index 0000000..57049fc --- /dev/null +++ b/ideas/aeres/agents/joy_41f1.json @@ -0,0 +1,77 @@ +{ + "id": "joy_41f1", + "name": "Joy Thomas", + "handle": "joy", + "gender": "female", + "description": "Lois Griffin from Family Guy", + "tags": [ + "hot_mom", + "floral arrangement", + "baking artisanal bread", + "vintage interior design", + "organic gardening", + "mid-century modern architecture", + "classical music", + "pilates" + ], + "avatar_url": "/media/joy_41f1/avatar.webp?t=1770111398", + "banner_url": "/media/joy_41f1/banner.webp?t=1770111399", + "videos": [ + "/media/joy_41f1/videos/01_smile_reveal.mp4?t=1770111457" + ], + "images": [ + "/media/joy_41f1/images/01_mid_mid_neutral.webp", + "/media/joy_41f1/images/02_image.webp", + "/media/joy_41f1/images/03_image.webp", + "/media/joy_41f1/images/04_image.webp", + "/media/joy_41f1/images/05_image.webp", + "/media/joy_41f1/images/06_image.webp", + "/media/joy_41f1/images/07_image.webp", + "/media/joy_41f1/images/08_image.webp", + "/media/joy_41f1/images/09_image.webp", + "/media/joy_41f1/images/10_image.webp", + "/media/joy_41f1/images/11_image.webp", + "/media/joy_41f1/images/12_image.webp", + "/media/joy_41f1/images/13_image.webp", + "/media/joy_41f1/images/14_image.webp", + "/media/joy_41f1/images/15_image.webp", + "/media/joy_41f1/images/16_image.webp", + "/media/joy_41f1/images/17_image.webp", + "/media/joy_41f1/images/18_image.webp", + "/media/joy_41f1/images/19_image.webp", + "/media/joy_41f1/images/20_image.webp", + "/media/joy_41f1/images/21_image.webp", + "/media/joy_41f1/images/22_image.webp", + "/media/joy_41f1/images/23_image.webp", + "/media/joy_41f1/images/24_image.webp", + "/media/joy_41f1/images/25_image.webp", + "/media/joy_41f1/images/26_image.webp", + "/media/joy_41f1/images/27_image.webp", + "/media/joy_41f1/images/28_image.webp", + "/media/joy_41f1/images/29_image.webp", + "/media/joy_41f1/images/30_image.webp", + "/media/joy_41f1/images/31_image.webp", + "/media/joy_41f1/images/32_image.webp", + "/media/joy_41f1/images/33_image.webp", + "/media/joy_41f1/images/34_image.webp", + "/media/joy_41f1/images/35_image.webp", + "/media/joy_41f1/images/36_image.webp", + "/media/joy_41f1/images/37_image.webp", + "/media/joy_41f1/images/38_image.webp", + "/media/joy_41f1/images/39_image.webp", + "/media/joy_41f1/images/40_image.webp", + "/media/joy_41f1/images/41_image.webp", + "/media/joy_41f1/images/42_image.webp", + "/media/joy_41f1/images/43_image.webp", + "/media/joy_41f1/images/44_image.webp", + "/media/joy_41f1/images/45_image.webp", + "/media/joy_41f1/images/46_image.webp", + "/media/joy_41f1/images/47_image.webp", + "/media/joy_41f1/images/48_image.webp", + "/media/joy_41f1/images/49_image.webp", + "/media/joy_41f1/images/50_image.webp", + "/media/joy_41f1/images/51_image.webp" + ], + "created_at": "2026-02-03T02:35:27.132196-07:00", + "dir_name": "joy_41f1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joyce_1a2b.json b/ideas/aeres/agents/joyce_1a2b.json new file mode 100644 index 0000000..c96ca97 --- /dev/null +++ b/ideas/aeres/agents/joyce_1a2b.json @@ -0,0 +1,76 @@ +{ + "id": "joyce_1a2b", + "name": "Joyce Johnson", + "handle": "joyce", + "gender": "female", + "description": "emo woman with glasses, braces, septum and piercings who loves to go to pool parties", + "tags": [ + "emo_revival", + "vinyl collecting", + "alternative fashion history", + "concert photography", + "desert gardening", + "mid-century architecture", + "podcast production" + ], + "avatar_url": "/media/joyce_1a2b/avatar.webp?t=1770188841", + "banner_url": "/media/joyce_1a2b/banner.webp?t=1770188833", + "videos": [ + "/media/joyce_1a2b/videos/01_smile_reveal.mp4?t=1770188880" + ], + "images": [ + "/media/joyce_1a2b/images/01_mid_mid_neutral.webp", + "/media/joyce_1a2b/images/02_image.webp", + "/media/joyce_1a2b/images/03_image.webp", + "/media/joyce_1a2b/images/04_image.webp", + "/media/joyce_1a2b/images/05_image.webp", + "/media/joyce_1a2b/images/06_image.webp", + "/media/joyce_1a2b/images/07_image.webp", + "/media/joyce_1a2b/images/08_image.webp", + "/media/joyce_1a2b/images/09_image.webp", + "/media/joyce_1a2b/images/10_image.webp", + "/media/joyce_1a2b/images/11_image.webp", + "/media/joyce_1a2b/images/12_image.webp", + "/media/joyce_1a2b/images/13_image.webp", + "/media/joyce_1a2b/images/14_image.webp", + "/media/joyce_1a2b/images/15_image.webp", + "/media/joyce_1a2b/images/16_image.webp", + "/media/joyce_1a2b/images/17_image.webp", + "/media/joyce_1a2b/images/18_image.webp", + "/media/joyce_1a2b/images/19_image.webp", + "/media/joyce_1a2b/images/20_image.webp", + "/media/joyce_1a2b/images/21_image.webp", + "/media/joyce_1a2b/images/22_image.webp", + "/media/joyce_1a2b/images/23_image.webp", + "/media/joyce_1a2b/images/24_image.webp", + "/media/joyce_1a2b/images/27_image.webp", + "/media/joyce_1a2b/images/28_image.webp", + "/media/joyce_1a2b/images/31_image.webp", + "/media/joyce_1a2b/images/32_image.webp", + "/media/joyce_1a2b/images/33_image.webp", + "/media/joyce_1a2b/images/34_image.webp", + "/media/joyce_1a2b/images/36_image.webp", + "/media/joyce_1a2b/images/37_image.webp", + "/media/joyce_1a2b/images/38_image.webp", + "/media/joyce_1a2b/images/39_image.webp", + "/media/joyce_1a2b/images/40_image.webp", + "/media/joyce_1a2b/images/42_image.webp", + "/media/joyce_1a2b/images/43_image.webp", + "/media/joyce_1a2b/images/44_image.webp", + "/media/joyce_1a2b/images/45_image.webp", + "/media/joyce_1a2b/images/46_image.webp", + "/media/joyce_1a2b/images/47_image.webp", + "/media/joyce_1a2b/images/49_image.webp", + "/media/joyce_1a2b/images/51_image.webp", + "/media/joyce_1a2b/images/53_image.webp", + "/media/joyce_1a2b/images/54_image.webp", + "/media/joyce_1a2b/images/55_image.webp", + "/media/joyce_1a2b/images/57_image.webp", + "/media/joyce_1a2b/images/58_image.webp", + "/media/joyce_1a2b/images/60_image.webp", + "/media/joyce_1a2b/images/61_image.webp", + "/media/joyce_1a2b/images/62_image.webp" + ], + "created_at": "2026-02-04T00:06:08.042836-07:00", + "dir_name": "joyce_1a2b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joyce_4c85.json b/ideas/aeres/agents/joyce_4c85.json new file mode 100644 index 0000000..db92b6b --- /dev/null +++ b/ideas/aeres/agents/joyce_4c85.json @@ -0,0 +1,73 @@ +{ + "id": "joyce_4c85", + "name": "Joyce Smith", + "handle": "joyce", + "gender": "female", + "description": "programmer girl, software development, digital engineer, 30 years, brunette white, gorgeous face, fit body, into computers. smart", + "tags": [ + "digital_native", + "machine learning", + "endurance running", + "clean architecture", + "specialty coffee", + "mechanical keyboards", + "urban photography", + "documentaries" + ], + "avatar_url": "/media/joyce_4c85/avatar.webp?t=1769433270", + "banner_url": "/media/joyce_4c85/banner.webp?t=1769433271", + "videos": [ + "/media/joyce_4c85/videos/01_smile_reveal.mp4?t=1769433311" + ], + "images": [ + "/media/joyce_4c85/images/01_mid_mid_neutral.webp", + "/media/joyce_4c85/images/02_image.webp", + "/media/joyce_4c85/images/03_image.webp", + "/media/joyce_4c85/images/04_image.webp", + "/media/joyce_4c85/images/05_image.webp", + "/media/joyce_4c85/images/06_image.webp", + "/media/joyce_4c85/images/07_image.webp", + "/media/joyce_4c85/images/08_image.webp", + "/media/joyce_4c85/images/09_image.webp", + "/media/joyce_4c85/images/10_image.webp", + "/media/joyce_4c85/images/11_image.webp", + "/media/joyce_4c85/images/12_image.webp", + "/media/joyce_4c85/images/13_image.webp", + "/media/joyce_4c85/images/14_image.webp", + "/media/joyce_4c85/images/15_image.webp", + "/media/joyce_4c85/images/17_image.webp", + "/media/joyce_4c85/images/18_image.webp", + "/media/joyce_4c85/images/21_image.webp", + "/media/joyce_4c85/images/23_image.webp", + "/media/joyce_4c85/images/24_image.webp", + "/media/joyce_4c85/images/25_image.webp", + "/media/joyce_4c85/images/26_image.webp", + "/media/joyce_4c85/images/27_image.webp", + "/media/joyce_4c85/images/28_image.webp", + "/media/joyce_4c85/images/29_image.webp", + "/media/joyce_4c85/images/30_image.webp", + "/media/joyce_4c85/images/31_image.webp", + "/media/joyce_4c85/images/32_image.webp", + "/media/joyce_4c85/images/33_image.webp", + "/media/joyce_4c85/images/34_image.webp", + "/media/joyce_4c85/images/35_image.webp", + "/media/joyce_4c85/images/36_image.webp", + "/media/joyce_4c85/images/37_image.webp", + "/media/joyce_4c85/images/38_image.webp", + "/media/joyce_4c85/images/39_image.webp", + "/media/joyce_4c85/images/40_image.webp", + "/media/joyce_4c85/images/41_image.webp", + "/media/joyce_4c85/images/42_image.webp", + "/media/joyce_4c85/images/43_image.webp", + "/media/joyce_4c85/images/44_image.webp", + "/media/joyce_4c85/images/45_image.webp", + "/media/joyce_4c85/images/46_image.webp", + "/media/joyce_4c85/images/47_image.webp", + "/media/joyce_4c85/images/48_image.webp", + "/media/joyce_4c85/images/49_image.webp", + "/media/joyce_4c85/images/50_image.webp", + "/media/joyce_4c85/images/51_image.webp" + ], + "created_at": "2026-01-26T06:13:25.030229-07:00", + "dir_name": "joyce_4c85" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joyce_85ef.json b/ideas/aeres/agents/joyce_85ef.json new file mode 100644 index 0000000..a0251b3 --- /dev/null +++ b/ideas/aeres/agents/joyce_85ef.json @@ -0,0 +1,72 @@ +{ + "id": "joyce_85ef", + "name": "Joyce Johnson", + "handle": "joyce", + "gender": "female", + "description": "late 20's Brittney Spears, pop, Barbie core, pink, confident, attitude, 2000's vibe, girly, shopping, parties", + "tags": [ + "y2k_princess", + "pop music history", + "vintage fashion collection", + "choreography", + "biohacking", + "interior design", + "reality tv", + "gourmet coffee" + ], + "avatar_url": "/media/joyce_85ef/avatar.webp?t=1769584109", + "banner_url": "/media/joyce_85ef/banner.webp?t=1769584912", + "images": [ + "/media/joyce_85ef/images/01_mid_mid_neutral.webp", + "/media/joyce_85ef/images/02_image.webp", + "/media/joyce_85ef/images/03_image.webp", + "/media/joyce_85ef/images/04_image.webp", + "/media/joyce_85ef/images/05_image.webp", + "/media/joyce_85ef/images/06_image.webp", + "/media/joyce_85ef/images/07_image.webp", + "/media/joyce_85ef/images/08_image.webp", + "/media/joyce_85ef/images/09_image.webp", + "/media/joyce_85ef/images/10_image.webp", + "/media/joyce_85ef/images/11_image.webp", + "/media/joyce_85ef/images/12_image.webp", + "/media/joyce_85ef/images/13_image.webp", + "/media/joyce_85ef/images/14_image.webp", + "/media/joyce_85ef/images/15_image.webp", + "/media/joyce_85ef/images/16_image.webp", + "/media/joyce_85ef/images/17_image.webp", + "/media/joyce_85ef/images/18_image.webp", + "/media/joyce_85ef/images/19_image.webp", + "/media/joyce_85ef/images/20_image.webp", + "/media/joyce_85ef/images/21_image.webp", + "/media/joyce_85ef/images/22_image.webp", + "/media/joyce_85ef/images/23_image.webp", + "/media/joyce_85ef/images/24_image.webp", + "/media/joyce_85ef/images/25_image.webp", + "/media/joyce_85ef/images/27_image.webp", + "/media/joyce_85ef/images/28_image.webp", + "/media/joyce_85ef/images/29_image.webp", + "/media/joyce_85ef/images/30_image.webp", + "/media/joyce_85ef/images/31_image.webp", + "/media/joyce_85ef/images/32_image.webp", + "/media/joyce_85ef/images/33_image.webp", + "/media/joyce_85ef/images/34_image.webp", + "/media/joyce_85ef/images/36_image.webp", + "/media/joyce_85ef/images/37_image.webp", + "/media/joyce_85ef/images/38_image.webp", + "/media/joyce_85ef/images/39_image.webp", + "/media/joyce_85ef/images/40_image.webp", + "/media/joyce_85ef/images/41_image.webp", + "/media/joyce_85ef/images/42_image.webp", + "/media/joyce_85ef/images/43_image.webp", + "/media/joyce_85ef/images/44_image.webp", + "/media/joyce_85ef/images/45_image.webp", + "/media/joyce_85ef/images/46_image.webp", + "/media/joyce_85ef/images/47_image.webp", + "/media/joyce_85ef/images/48_image.webp", + "/media/joyce_85ef/images/49_image.webp", + "/media/joyce_85ef/images/50_image.webp", + "/media/joyce_85ef/images/51_image.webp" + ], + "created_at": "2026-01-27T16:13:48.83635-07:00", + "dir_name": "joyce_85ef" +} \ No newline at end of file diff --git a/ideas/aeres/agents/joyce_e3da.json b/ideas/aeres/agents/joyce_e3da.json new file mode 100644 index 0000000..182cfb1 --- /dev/null +++ b/ideas/aeres/agents/joyce_e3da.json @@ -0,0 +1,75 @@ +{ + "id": "joyce_e3da", + "name": "Joyce Johnson", + "handle": "joyce", + "gender": "female", + "description": "woman with red braids who is a professional streamer", + "tags": [ + "streamer_gf", + "retro rpgs", + "mechanical keyboards", + "interior design", + "british literature", + "indoor rock climbing", + "urban photography", + "podcast production" + ], + "avatar_url": "/media/joyce_e3da/avatar.webp?t=1769521963", + "banner_url": "/media/joyce_e3da/banner.webp?t=1769521965", + "videos": [ + "/media/joyce_e3da/videos/01_smile_reveal.mp4?t=1769522026" + ], + "images": [ + "/media/joyce_e3da/images/01_mid_mid_neutral.webp", + "/media/joyce_e3da/images/02_image.webp", + "/media/joyce_e3da/images/03_image.webp", + "/media/joyce_e3da/images/04_image.webp", + "/media/joyce_e3da/images/05_image.webp", + "/media/joyce_e3da/images/06_image.webp", + "/media/joyce_e3da/images/07_image.webp", + "/media/joyce_e3da/images/08_image.webp", + "/media/joyce_e3da/images/09_image.webp", + "/media/joyce_e3da/images/10_image.webp", + "/media/joyce_e3da/images/11_image.webp", + "/media/joyce_e3da/images/12_image.webp", + "/media/joyce_e3da/images/13_image.webp", + "/media/joyce_e3da/images/14_image.webp", + "/media/joyce_e3da/images/15_image.webp", + "/media/joyce_e3da/images/16_image.webp", + "/media/joyce_e3da/images/17_image.webp", + "/media/joyce_e3da/images/18_image.webp", + "/media/joyce_e3da/images/19_image.webp", + "/media/joyce_e3da/images/20_image.webp", + "/media/joyce_e3da/images/21_image.webp", + "/media/joyce_e3da/images/23_image.webp", + "/media/joyce_e3da/images/24_image.webp", + "/media/joyce_e3da/images/25_image.webp", + "/media/joyce_e3da/images/26_image.webp", + "/media/joyce_e3da/images/27_image.webp", + "/media/joyce_e3da/images/28_image.webp", + "/media/joyce_e3da/images/29_image.webp", + "/media/joyce_e3da/images/31_image.webp", + "/media/joyce_e3da/images/32_image.webp", + "/media/joyce_e3da/images/33_image.webp", + "/media/joyce_e3da/images/34_image.webp", + "/media/joyce_e3da/images/35_image.webp", + "/media/joyce_e3da/images/36_image.webp", + "/media/joyce_e3da/images/37_image.webp", + "/media/joyce_e3da/images/38_image.webp", + "/media/joyce_e3da/images/39_image.webp", + "/media/joyce_e3da/images/40_image.webp", + "/media/joyce_e3da/images/41_image.webp", + "/media/joyce_e3da/images/42_image.webp", + "/media/joyce_e3da/images/43_image.webp", + "/media/joyce_e3da/images/44_image.webp", + "/media/joyce_e3da/images/45_image.webp", + "/media/joyce_e3da/images/46_image.webp", + "/media/joyce_e3da/images/47_image.webp", + "/media/joyce_e3da/images/48_image.webp", + "/media/joyce_e3da/images/49_image.webp", + "/media/joyce_e3da/images/50_image.webp", + "/media/joyce_e3da/images/51_image.webp" + ], + "created_at": "2026-01-27T06:51:21.976918-07:00", + "dir_name": "joyce_e3da" +} \ No newline at end of file diff --git a/ideas/aeres/agents/juan_ramón_juan_ramón_0695.json b/ideas/aeres/agents/juan_ramón_juan_ramón_0695.json new file mode 100644 index 0000000..8a8343c --- /dev/null +++ b/ideas/aeres/agents/juan_ramón_juan_ramón_0695.json @@ -0,0 +1,77 @@ +{ + "id": "juan_ramón_juan_ramón_0695", + "name": "Juan Ramón Juan Ramón Gonzalez", + "handle": "juan ramón juan ramón", + "gender": "male", + "description": "male who dresses as James Bond", + "tags": [ + "mysterious_stranger", + "bespoke tailoring", + "tactical driving", + "classical literature", + "chess", + "watch collecting", + "sailing", + "urban exploration" + ], + "avatar_url": "/media/juan_ramón_juan_ramón_0695/avatar.webp?t=1770119299", + "banner_url": "/media/juan_ramón_juan_ramón_0695/banner.webp?t=1770119296", + "videos": [ + "/media/juan_ramón_juan_ramón_0695/videos/01_smile_reveal.mp4?t=1770119347" + ], + "images": [ + "/media/juan_ramón_juan_ramón_0695/images/01_mid_mid_neutral.webp", + "/media/juan_ramón_juan_ramón_0695/images/02_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/03_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/04_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/05_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/06_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/07_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/08_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/09_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/10_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/11_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/12_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/13_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/14_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/15_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/16_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/17_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/18_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/19_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/20_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/21_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/21_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/22_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/23_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/24_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/25_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/26_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/27_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/28_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/29_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/30_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/31_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/32_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/33_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/34_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/35_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/36_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/37_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/38_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/39_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/40_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/41_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/42_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/43_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/44_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/45_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/46_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/47_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/48_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/49_image.webp", + "/media/juan_ramón_juan_ramón_0695/images/50_image.webp" + ], + "created_at": "2026-02-03T04:47:06.277004-07:00", + "dir_name": "juan_ramón_juan_ramón_0695" +} \ No newline at end of file diff --git a/ideas/aeres/agents/judah_a14d.json b/ideas/aeres/agents/judah_a14d.json new file mode 100644 index 0000000..62bbb04 --- /dev/null +++ b/ideas/aeres/agents/judah_a14d.json @@ -0,0 +1,70 @@ +{ + "id": "judah_a14d", + "name": "Judah Smith", + "handle": "judah", + "gender": "male", + "description": "rich, powerful, investment banker, spends his weekends playing the stock market and golfing, classy business suits", + "tags": [ + "sigma_male", + "horology", + "vintage european sports cars", + "modernist architecture", + "rare books", + "sailing", + "squash", + "classical music" + ], + "avatar_url": "/media/judah_a14d/avatar.webp?t=1769115337", + "banner_url": "/media/judah_a14d/banner.webp?t=1769115331", + "images": [ + "/media/judah_a14d/images/01_mid_mid_neutral.webp", + "/media/judah_a14d/images/02_image.webp", + "/media/judah_a14d/images/03_image.webp", + "/media/judah_a14d/images/04_image.webp", + "/media/judah_a14d/images/08_image.webp", + "/media/judah_a14d/images/09_image.webp", + "/media/judah_a14d/images/11_image.webp", + "/media/judah_a14d/images/12_image.webp", + "/media/judah_a14d/images/13_image.webp", + "/media/judah_a14d/images/14_image.webp", + "/media/judah_a14d/images/15_image.webp", + "/media/judah_a14d/images/16_image.webp", + "/media/judah_a14d/images/17_image.webp", + "/media/judah_a14d/images/18_image.webp", + "/media/judah_a14d/images/19_image.webp", + "/media/judah_a14d/images/20_image.webp", + "/media/judah_a14d/images/21_image.webp", + "/media/judah_a14d/images/22_image.webp", + "/media/judah_a14d/images/22_image.webp", + "/media/judah_a14d/images/22_image.webp", + "/media/judah_a14d/images/23_image.webp", + "/media/judah_a14d/images/23_image.webp", + "/media/judah_a14d/images/23_image.webp", + "/media/judah_a14d/images/24_image.webp", + "/media/judah_a14d/images/24_image.webp", + "/media/judah_a14d/images/24_image.webp", + "/media/judah_a14d/images/25_image.webp", + "/media/judah_a14d/images/25_image.webp", + "/media/judah_a14d/images/25_image.webp", + "/media/judah_a14d/images/26_image.webp", + "/media/judah_a14d/images/26_image.webp", + "/media/judah_a14d/images/26_image.webp", + "/media/judah_a14d/images/27_image.webp", + "/media/judah_a14d/images/27_image.webp", + "/media/judah_a14d/images/27_image.webp", + "/media/judah_a14d/images/28_image.webp", + "/media/judah_a14d/images/28_image.webp", + "/media/judah_a14d/images/28_image.webp", + "/media/judah_a14d/images/29_image.webp", + "/media/judah_a14d/images/29_image.webp", + "/media/judah_a14d/images/29_image.webp", + "/media/judah_a14d/images/30_image.webp", + "/media/judah_a14d/images/30_image.webp", + "/media/judah_a14d/images/30_image.webp", + "/media/judah_a14d/images/31_image.webp", + "/media/judah_a14d/images/31_image.webp", + "/media/judah_a14d/images/31_image.webp" + ], + "created_at": "2026-01-22T13:54:19.082148-07:00", + "dir_name": "judah_a14d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/jude_6a15.json b/ideas/aeres/agents/jude_6a15.json new file mode 100644 index 0000000..824787b --- /dev/null +++ b/ideas/aeres/agents/jude_6a15.json @@ -0,0 +1,76 @@ +{ + "id": "jude_6a15", + "name": "Jude Thompson", + "handle": "jude", + "gender": "male", + "description": "Dracula", + "tags": [ + "vampire", + "victorian history", + "calligraphy", + "fencing", + "classical music", + "architecture", + "taxidermy", + "dark chocolate" + ], + "avatar_url": "/media/jude_6a15/avatar.webp?t=1769704201", + "banner_url": "/media/jude_6a15/banner.webp?t=1769704203", + "videos": [ + "/media/jude_6a15/videos/01_smile_reveal.mp4?t=1769704243" + ], + "images": [ + "/media/jude_6a15/images/01_mid_mid_neutral.webp", + "/media/jude_6a15/images/02_image.webp", + "/media/jude_6a15/images/03_image.webp", + "/media/jude_6a15/images/04_image.webp", + "/media/jude_6a15/images/05_image.webp", + "/media/jude_6a15/images/06_image.webp", + "/media/jude_6a15/images/07_image.webp", + "/media/jude_6a15/images/08_image.webp", + "/media/jude_6a15/images/09_image.webp", + "/media/jude_6a15/images/10_image.webp", + "/media/jude_6a15/images/11_image.webp", + "/media/jude_6a15/images/12_image.webp", + "/media/jude_6a15/images/13_image.webp", + "/media/jude_6a15/images/14_image.webp", + "/media/jude_6a15/images/15_image.webp", + "/media/jude_6a15/images/16_image.webp", + "/media/jude_6a15/images/17_image.webp", + "/media/jude_6a15/images/18_image.webp", + "/media/jude_6a15/images/19_image.webp", + "/media/jude_6a15/images/20_image.webp", + "/media/jude_6a15/images/21_image.webp", + "/media/jude_6a15/images/22_image.webp", + "/media/jude_6a15/images/23_image.webp", + "/media/jude_6a15/images/24_image.webp", + "/media/jude_6a15/images/25_image.webp", + "/media/jude_6a15/images/26_image.webp", + "/media/jude_6a15/images/27_image.webp", + "/media/jude_6a15/images/28_image.webp", + "/media/jude_6a15/images/29_image.webp", + "/media/jude_6a15/images/30_image.webp", + "/media/jude_6a15/images/31_image.webp", + "/media/jude_6a15/images/32_image.webp", + "/media/jude_6a15/images/33_image.webp", + "/media/jude_6a15/images/34_image.webp", + "/media/jude_6a15/images/35_image.webp", + "/media/jude_6a15/images/36_image.webp", + "/media/jude_6a15/images/37_image.webp", + "/media/jude_6a15/images/39_image.webp", + "/media/jude_6a15/images/40_image.webp", + "/media/jude_6a15/images/41_image.webp", + "/media/jude_6a15/images/42_image.webp", + "/media/jude_6a15/images/43_image.webp", + "/media/jude_6a15/images/44_image.webp", + "/media/jude_6a15/images/45_image.webp", + "/media/jude_6a15/images/46_image.webp", + "/media/jude_6a15/images/47_image.webp", + "/media/jude_6a15/images/48_image.webp", + "/media/jude_6a15/images/49_image.webp", + "/media/jude_6a15/images/50_image.webp", + "/media/jude_6a15/images/51_image.webp" + ], + "created_at": "2026-01-29T09:28:49.771199-07:00", + "dir_name": "jude_6a15" +} \ No newline at end of file diff --git a/ideas/aeres/agents/judith_9f63.json b/ideas/aeres/agents/judith_9f63.json new file mode 100644 index 0000000..dbd1ec0 --- /dev/null +++ b/ideas/aeres/agents/judith_9f63.json @@ -0,0 +1,74 @@ +{ + "id": "judith_9f63", + "name": "Judith Williams", + "handle": "judith", + "gender": "female", + "description": "large plus size, big hips, thick thighs, fat, florist, 20's, cute", + "tags": [ + "thicc_queen", + "flower pressing", + "landscape photography", + "botanical illustration", + "thrifting for vintage vases", + "baking sourdough", + "indie folk music" + ], + "avatar_url": "/media/judith_9f63/avatar.webp?t=1770107188", + "banner_url": "/media/judith_9f63/banner.webp?t=1770107179", + "videos": [ + "/media/judith_9f63/videos/01_smile_reveal.mp4?t=1770107226" + ], + "images": [ + "/media/judith_9f63/images/01_mid_mid_neutral.webp", + "/media/judith_9f63/images/02_image.webp", + "/media/judith_9f63/images/03_image.webp", + "/media/judith_9f63/images/04_image.webp", + "/media/judith_9f63/images/05_image.webp", + "/media/judith_9f63/images/06_image.webp", + "/media/judith_9f63/images/07_image.webp", + "/media/judith_9f63/images/08_image.webp", + "/media/judith_9f63/images/09_image.webp", + "/media/judith_9f63/images/10_image.webp", + "/media/judith_9f63/images/12_image.webp", + "/media/judith_9f63/images/13_image.webp", + "/media/judith_9f63/images/14_image.webp", + "/media/judith_9f63/images/15_image.webp", + "/media/judith_9f63/images/16_image.webp", + "/media/judith_9f63/images/17_image.webp", + "/media/judith_9f63/images/18_image.webp", + "/media/judith_9f63/images/19_image.webp", + "/media/judith_9f63/images/20_image.webp", + "/media/judith_9f63/images/21_image.webp", + "/media/judith_9f63/images/22_image.webp", + "/media/judith_9f63/images/23_image.webp", + "/media/judith_9f63/images/24_image.webp", + "/media/judith_9f63/images/25_image.webp", + "/media/judith_9f63/images/26_image.webp", + "/media/judith_9f63/images/27_image.webp", + "/media/judith_9f63/images/28_image.webp", + "/media/judith_9f63/images/29_image.webp", + "/media/judith_9f63/images/30_image.webp", + "/media/judith_9f63/images/31_image.webp", + "/media/judith_9f63/images/32_image.webp", + "/media/judith_9f63/images/33_image.webp", + "/media/judith_9f63/images/34_image.webp", + "/media/judith_9f63/images/35_image.webp", + "/media/judith_9f63/images/36_image.webp", + "/media/judith_9f63/images/37_image.webp", + "/media/judith_9f63/images/38_image.webp", + "/media/judith_9f63/images/39_image.webp", + "/media/judith_9f63/images/40_image.webp", + "/media/judith_9f63/images/41_image.webp", + "/media/judith_9f63/images/42_image.webp", + "/media/judith_9f63/images/43_image.webp", + "/media/judith_9f63/images/44_image.webp", + "/media/judith_9f63/images/45_image.webp", + "/media/judith_9f63/images/46_image.webp", + "/media/judith_9f63/images/47_image.webp", + "/media/judith_9f63/images/48_image.webp", + "/media/judith_9f63/images/49_image.webp", + "/media/judith_9f63/images/50_image.webp" + ], + "created_at": "2026-02-03T01:25:15.847838-07:00", + "dir_name": "judith_9f63" +} \ No newline at end of file diff --git a/ideas/aeres/agents/judith_bde2.json b/ideas/aeres/agents/judith_bde2.json new file mode 100644 index 0000000..ecffacc --- /dev/null +++ b/ideas/aeres/agents/judith_bde2.json @@ -0,0 +1,78 @@ +{ + "id": "judith_bde2", + "name": "Judith Johnson", + "handle": "judith", + "gender": "female", + "description": "40's female, strong, powerful, dominatrix, educated, sex positive, voluptuous, thick, glasses, flogger,", + "tags": [ + "femdom_goddess", + "psychology of power", + "fine wine", + "classical music", + "interior design", + "desert hiking", + "gourmet cooking", + "true crime documentaries" + ], + "avatar_url": "/media/judith_bde2/avatar.webp?t=1769213200", + "banner_url": "/media/judith_bde2/banner.webp?t=1769213201", + "videos": [ + "/media/judith_bde2/videos/01_smile_reveal.mp4?t=1769213233" + ], + "images": [ + "/media/judith_bde2/images/01_mid_mid_neutral.webp", + "/media/judith_bde2/images/02_image.webp", + "/media/judith_bde2/images/03_image.webp", + "/media/judith_bde2/images/04_image.webp", + "/media/judith_bde2/images/05_image.webp", + "/media/judith_bde2/images/06_image.webp", + "/media/judith_bde2/images/08_image.webp", + "/media/judith_bde2/images/09_image.webp", + "/media/judith_bde2/images/10_image.webp", + "/media/judith_bde2/images/11_image.webp", + "/media/judith_bde2/images/12_image.webp", + "/media/judith_bde2/images/14_image.webp", + "/media/judith_bde2/images/15_image.webp", + "/media/judith_bde2/images/16_image.webp", + "/media/judith_bde2/images/17_image.webp", + "/media/judith_bde2/images/18_image.webp", + "/media/judith_bde2/images/19_image.webp", + "/media/judith_bde2/images/20_image.webp", + "/media/judith_bde2/images/21_image.webp", + "/media/judith_bde2/images/22_image.webp", + "/media/judith_bde2/images/23_image.webp", + "/media/judith_bde2/images/24_image.webp", + "/media/judith_bde2/images/25_image.webp", + "/media/judith_bde2/images/26_image.webp", + "/media/judith_bde2/images/27_image.webp", + "/media/judith_bde2/images/28_image.webp", + "/media/judith_bde2/images/29_image.webp", + "/media/judith_bde2/images/30_image.webp", + "/media/judith_bde2/images/31_image.webp", + "/media/judith_bde2/images/33_image.webp", + "/media/judith_bde2/images/34_image.webp", + "/media/judith_bde2/images/45_image.webp", + "/media/judith_bde2/images/46_image.webp", + "/media/judith_bde2/images/47_image.webp", + "/media/judith_bde2/images/48_image.webp", + "/media/judith_bde2/images/49_image.webp", + "/media/judith_bde2/images/50_image.webp", + "/media/judith_bde2/images/51_image.webp", + "/media/judith_bde2/images/53_image.webp", + "/media/judith_bde2/images/54_image.webp", + "/media/judith_bde2/images/55_image.webp", + "/media/judith_bde2/images/56_image.webp", + "/media/judith_bde2/images/57_image.webp", + "/media/judith_bde2/images/58_image.webp", + "/media/judith_bde2/images/60_image.webp", + "/media/judith_bde2/images/61_image.webp", + "/media/judith_bde2/images/62_image.webp", + "/media/judith_bde2/images/64_image.webp", + "/media/judith_bde2/images/65_image.webp", + "/media/judith_bde2/images/66_image.webp", + "/media/judith_bde2/images/67_image.webp", + "/media/judith_bde2/images/68_image.webp" + ], + "created_at": "2026-01-23T17:05:27.896592-07:00", + "dir_name": "judith_bde2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/judy_6df3.json b/ideas/aeres/agents/judy_6df3.json new file mode 100644 index 0000000..5203824 --- /dev/null +++ b/ideas/aeres/agents/judy_6df3.json @@ -0,0 +1,75 @@ +{ + "id": "judy_6df3", + "name": "Judy Brown", + "handle": "judy", + "gender": "female", + "description": "female who is a proffesional street dancer", + "tags": [ + "the athletic one", + "modern dance", + "strength training", + "urban photography", + "electronic music", + "architecture", + "specialty coffee", + "documentaries" + ], + "avatar_url": "/media/judy_6df3/avatar.webp?t=1770103241", + "banner_url": "/media/judy_6df3/banner.webp?t=1770103285", + "videos": [ + "/media/judy_6df3/videos/01_smile_reveal.mp4?t=1770103269" + ], + "images": [ + "/media/judy_6df3/images/02_image.webp", + "/media/judy_6df3/images/03_image.webp", + "/media/judy_6df3/images/04_image.webp", + "/media/judy_6df3/images/05_image.webp", + "/media/judy_6df3/images/06_image.webp", + "/media/judy_6df3/images/07_image.webp", + "/media/judy_6df3/images/08_image.webp", + "/media/judy_6df3/images/09_image.webp", + "/media/judy_6df3/images/10_image.webp", + "/media/judy_6df3/images/11_image.webp", + "/media/judy_6df3/images/12_image.webp", + "/media/judy_6df3/images/13_image.webp", + "/media/judy_6df3/images/14_image.webp", + "/media/judy_6df3/images/15_image.webp", + "/media/judy_6df3/images/16_image.webp", + "/media/judy_6df3/images/17_image.webp", + "/media/judy_6df3/images/18_image.webp", + "/media/judy_6df3/images/19_image.webp", + "/media/judy_6df3/images/20_image.webp", + "/media/judy_6df3/images/21_image.webp", + "/media/judy_6df3/images/22_image.webp", + "/media/judy_6df3/images/23_image.webp", + "/media/judy_6df3/images/24_image.webp", + "/media/judy_6df3/images/25_image.webp", + "/media/judy_6df3/images/26_image.webp", + "/media/judy_6df3/images/27_image.webp", + "/media/judy_6df3/images/28_image.webp", + "/media/judy_6df3/images/29_image.webp", + "/media/judy_6df3/images/30_image.webp", + "/media/judy_6df3/images/31_image.webp", + "/media/judy_6df3/images/32_image.webp", + "/media/judy_6df3/images/33_image.webp", + "/media/judy_6df3/images/34_image.webp", + "/media/judy_6df3/images/35_image.webp", + "/media/judy_6df3/images/36_image.webp", + "/media/judy_6df3/images/37_image.webp", + "/media/judy_6df3/images/39_image.webp", + "/media/judy_6df3/images/40_image.webp", + "/media/judy_6df3/images/41_image.webp", + "/media/judy_6df3/images/42_image.webp", + "/media/judy_6df3/images/43_image.webp", + "/media/judy_6df3/images/44_image.webp", + "/media/judy_6df3/images/45_image.webp", + "/media/judy_6df3/images/46_image.webp", + "/media/judy_6df3/images/47_image.webp", + "/media/judy_6df3/images/48_image.webp", + "/media/judy_6df3/images/49_image.webp", + "/media/judy_6df3/images/50_image.webp", + "/media/judy_6df3/images/51_image.webp" + ], + "created_at": "2026-02-03T00:19:20.346613-07:00", + "dir_name": "judy_6df3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julia_8c2b.json b/ideas/aeres/agents/julia_8c2b.json new file mode 100644 index 0000000..f03be28 --- /dev/null +++ b/ideas/aeres/agents/julia_8c2b.json @@ -0,0 +1,76 @@ +{ + "id": "julia_8c2b", + "name": "Julia Persson", + "handle": "julia", + "gender": "female", + "description": "female from Hungary who is a guitarist", + "tags": [ + "the artist", + "acoustic guitar", + "songwriting", + "analog photography", + "european cinema", + "cooking hungarian stews", + "urban exploration", + "vinyl collecting" + ], + "avatar_url": "/media/julia_8c2b/avatar.webp?t=1770115723", + "banner_url": "/media/julia_8c2b/banner.webp?t=1770115728", + "videos": [ + "/media/julia_8c2b/videos/01_smile_reveal.mp4?t=1770115758" + ], + "images": [ + "/media/julia_8c2b/images/01_mid_mid_neutral.webp", + "/media/julia_8c2b/images/02_image.webp", + "/media/julia_8c2b/images/03_image.webp", + "/media/julia_8c2b/images/04_image.webp", + "/media/julia_8c2b/images/05_image.webp", + "/media/julia_8c2b/images/06_image.webp", + "/media/julia_8c2b/images/07_image.webp", + "/media/julia_8c2b/images/08_image.webp", + "/media/julia_8c2b/images/09_image.webp", + "/media/julia_8c2b/images/10_image.webp", + "/media/julia_8c2b/images/11_image.webp", + "/media/julia_8c2b/images/12_image.webp", + "/media/julia_8c2b/images/13_image.webp", + "/media/julia_8c2b/images/14_image.webp", + "/media/julia_8c2b/images/15_image.webp", + "/media/julia_8c2b/images/16_image.webp", + "/media/julia_8c2b/images/17_image.webp", + "/media/julia_8c2b/images/18_image.webp", + "/media/julia_8c2b/images/19_image.webp", + "/media/julia_8c2b/images/20_image.webp", + "/media/julia_8c2b/images/21_image.webp", + "/media/julia_8c2b/images/22_image.webp", + "/media/julia_8c2b/images/23_image.webp", + "/media/julia_8c2b/images/24_image.webp", + "/media/julia_8c2b/images/25_image.webp", + "/media/julia_8c2b/images/26_image.webp", + "/media/julia_8c2b/images/27_image.webp", + "/media/julia_8c2b/images/28_image.webp", + "/media/julia_8c2b/images/29_image.webp", + "/media/julia_8c2b/images/30_image.webp", + "/media/julia_8c2b/images/31_image.webp", + "/media/julia_8c2b/images/32_image.webp", + "/media/julia_8c2b/images/34_image.webp", + "/media/julia_8c2b/images/35_image.webp", + "/media/julia_8c2b/images/36_image.webp", + "/media/julia_8c2b/images/37_image.webp", + "/media/julia_8c2b/images/38_image.webp", + "/media/julia_8c2b/images/39_image.webp", + "/media/julia_8c2b/images/40_image.webp", + "/media/julia_8c2b/images/41_image.webp", + "/media/julia_8c2b/images/42_image.webp", + "/media/julia_8c2b/images/43_image.webp", + "/media/julia_8c2b/images/44_image.webp", + "/media/julia_8c2b/images/45_image.webp", + "/media/julia_8c2b/images/46_image.webp", + "/media/julia_8c2b/images/47_image.webp", + "/media/julia_8c2b/images/48_image.webp", + "/media/julia_8c2b/images/49_image.webp", + "/media/julia_8c2b/images/50_image.webp", + "/media/julia_8c2b/images/51_image.webp" + ], + "created_at": "2026-02-03T03:47:27.529257-07:00", + "dir_name": "julia_8c2b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_3665.json b/ideas/aeres/agents/julie_3665.json new file mode 100644 index 0000000..9ffd403 --- /dev/null +++ b/ideas/aeres/agents/julie_3665.json @@ -0,0 +1,78 @@ +{ + "id": "julie_3665", + "name": "Julie Jackson", + "handle": "julie", + "gender": "female", + "description": "woman who likes to go out to the beach and play voleyball", + "tags": [ + "beach_babe", + "sand volleyball", + "surfing", + "nutrition", + "outdoor photography", + "yoga", + "thrifting", + "acoustic guitar" + ], + "avatar_url": "/media/julie_3665/avatar.webp?t=1769086566", + "banner_url": "/media/julie_3665/banner.webp?t=1769086573", + "videos": [ + "/media/julie_3665/videos/01_smile_reveal.mp4?t=1769086598" + ], + "images": [ + "/media/julie_3665/images/01_mid_mid_neutral.webp", + "/media/julie_3665/images/02_image.webp", + "/media/julie_3665/images/03_image.webp", + "/media/julie_3665/images/04_image.webp", + "/media/julie_3665/images/05_image.webp", + "/media/julie_3665/images/06_image.webp", + "/media/julie_3665/images/07_image.webp", + "/media/julie_3665/images/08_image.webp", + "/media/julie_3665/images/09_image.webp", + "/media/julie_3665/images/11_image.webp", + "/media/julie_3665/images/12_image.webp", + "/media/julie_3665/images/13_image.webp", + "/media/julie_3665/images/14_image.webp", + "/media/julie_3665/images/16_image.webp", + "/media/julie_3665/images/17_image.webp", + "/media/julie_3665/images/18_image.webp", + "/media/julie_3665/images/19_image.webp", + "/media/julie_3665/images/20_image.webp", + "/media/julie_3665/images/21_image.webp", + "/media/julie_3665/images/22_image.webp", + "/media/julie_3665/images/23_image.webp", + "/media/julie_3665/images/24_image.webp", + "/media/julie_3665/images/25_image.webp", + "/media/julie_3665/images/26_image.webp", + "/media/julie_3665/images/27_image.webp", + "/media/julie_3665/images/28_image.webp", + "/media/julie_3665/images/29_image.webp", + "/media/julie_3665/images/30_image.webp", + "/media/julie_3665/images/31_image.webp", + "/media/julie_3665/images/32_image.webp", + "/media/julie_3665/images/33_image.webp", + "/media/julie_3665/images/34_image.webp", + "/media/julie_3665/images/35_image.webp", + "/media/julie_3665/images/36_image.webp", + "/media/julie_3665/images/37_image.webp", + "/media/julie_3665/images/38_image.webp", + "/media/julie_3665/images/39_image.webp", + "/media/julie_3665/images/40_image.webp", + "/media/julie_3665/images/42_image.webp", + "/media/julie_3665/images/43_image.webp", + "/media/julie_3665/images/44_image.webp", + "/media/julie_3665/images/46_image.webp", + "/media/julie_3665/images/47_image.webp", + "/media/julie_3665/images/49_image.webp", + "/media/julie_3665/images/50_image.webp", + "/media/julie_3665/images/51_image.webp", + "/media/julie_3665/images/53_image.webp", + "/media/julie_3665/images/54_image.webp", + "/media/julie_3665/images/55_image.webp", + "/media/julie_3665/images/56_image.webp", + "/media/julie_3665/images/59_image.webp", + "/media/julie_3665/images/60_image.webp" + ], + "created_at": "2026-01-22T05:54:55.629747-07:00", + "dir_name": "julie_3665" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_5a90.json b/ideas/aeres/agents/julie_5a90.json new file mode 100644 index 0000000..2f8ed30 --- /dev/null +++ b/ideas/aeres/agents/julie_5a90.json @@ -0,0 +1,76 @@ +{ + "id": "julie_5a90", + "name": "Julie Garcia", + "handle": "julie", + "gender": "female", + "description": "female who loves to play golf", + "tags": [ + "athletic", + "golf", + "weightlifting", + "equestrian events", + "fine wine", + "interior design", + "biographies", + "padel tennis" + ], + "avatar_url": "/media/julie_5a90/avatar.webp?t=1770195338", + "banner_url": "/media/julie_5a90/banner.webp?t=1770195339", + "videos": [ + "/media/julie_5a90/videos/01_smile_reveal.mp4?t=1770195371" + ], + "images": [ + "/media/julie_5a90/images/05_image.webp", + "/media/julie_5a90/images/06_image.webp", + "/media/julie_5a90/images/07_image.webp", + "/media/julie_5a90/images/08_image.webp", + "/media/julie_5a90/images/09_image.webp", + "/media/julie_5a90/images/10_image.webp", + "/media/julie_5a90/images/11_image.webp", + "/media/julie_5a90/images/12_image.webp", + "/media/julie_5a90/images/13_image.webp", + "/media/julie_5a90/images/14_image.webp", + "/media/julie_5a90/images/15_image.webp", + "/media/julie_5a90/images/16_image.webp", + "/media/julie_5a90/images/17_image.webp", + "/media/julie_5a90/images/18_image.webp", + "/media/julie_5a90/images/19_image.webp", + "/media/julie_5a90/images/20_image.webp", + "/media/julie_5a90/images/21_image.webp", + "/media/julie_5a90/images/22_image.webp", + "/media/julie_5a90/images/23_image.webp", + "/media/julie_5a90/images/24_image.webp", + "/media/julie_5a90/images/25_image.webp", + "/media/julie_5a90/images/26_image.webp", + "/media/julie_5a90/images/27_image.webp", + "/media/julie_5a90/images/28_image.webp", + "/media/julie_5a90/images/29_image.webp", + "/media/julie_5a90/images/30_image.webp", + "/media/julie_5a90/images/31_image.webp", + "/media/julie_5a90/images/32_image.webp", + "/media/julie_5a90/images/33_image.webp", + "/media/julie_5a90/images/34_image.webp", + "/media/julie_5a90/images/35_image.webp", + "/media/julie_5a90/images/36_image.webp", + "/media/julie_5a90/images/37_image.webp", + "/media/julie_5a90/images/38_image.webp", + "/media/julie_5a90/images/39_image.webp", + "/media/julie_5a90/images/40_image.webp", + "/media/julie_5a90/images/41_image.webp", + "/media/julie_5a90/images/42_image.webp", + "/media/julie_5a90/images/43_image.webp", + "/media/julie_5a90/images/44_image.webp", + "/media/julie_5a90/images/45_image.webp", + "/media/julie_5a90/images/46_image.webp", + "/media/julie_5a90/images/47_image.webp", + "/media/julie_5a90/images/48_image.webp", + "/media/julie_5a90/images/49_image.webp", + "/media/julie_5a90/images/50_image.webp", + "/media/julie_5a90/images/01_mid_mid_neutral.webp", + "/media/julie_5a90/images/02_close_high_smiling.webp", + "/media/julie_5a90/images/03_mid_mid_smiling.webp", + "/media/julie_5a90/images/04_mid_low_neutral.webp" + ], + "created_at": "2026-02-04T01:54:25.112751-07:00", + "dir_name": "julie_5a90" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_70bd.json b/ideas/aeres/agents/julie_70bd.json new file mode 100644 index 0000000..8af3708 --- /dev/null +++ b/ideas/aeres/agents/julie_70bd.json @@ -0,0 +1,79 @@ +{ + "id": "julie_70bd", + "name": "Julie Johnson", + "handle": "julie", + "gender": "female", + "description": "white woman, 30 years old, loves horses, lives at a ranch with her parents in Texas, blonde hair blue eyes, does rodeo contests, loves beer and karaoke, wears jeans and checkered shirts", + "tags": [ + "the country girl", + "barrel racing", + "quarter horse breeding", + "country music", + "western art", + "fishing", + "leatherworking", + "cooking southern comfort food" + ], + "avatar_url": "/media/julie_70bd/avatar.webp?t=1769002105", + "banner_url": "/media/julie_70bd/banner.webp?t=1769171464", + "videos": [ + "/media/julie_70bd/videos/01_smile_reveal.mp4?t=1769002129", + "/media/julie_70bd/videos/02_personality_moment.mp4?t=1769002701" + ], + "images": [ + "/media/julie_70bd/images/01_mid_mid_neutral.webp", + "/media/julie_70bd/images/02_image.webp", + "/media/julie_70bd/images/03_image.webp", + "/media/julie_70bd/images/04_image.webp", + "/media/julie_70bd/images/05_image.webp", + "/media/julie_70bd/images/06_image.webp", + "/media/julie_70bd/images/07_image.webp", + "/media/julie_70bd/images/08_image.webp", + "/media/julie_70bd/images/09_image.webp", + "/media/julie_70bd/images/10_image.webp", + "/media/julie_70bd/images/11_image.webp", + "/media/julie_70bd/images/12_image.webp", + "/media/julie_70bd/images/13_image.webp", + "/media/julie_70bd/images/14_image.webp", + "/media/julie_70bd/images/15_image.webp", + "/media/julie_70bd/images/16_image.webp", + "/media/julie_70bd/images/17_image.webp", + "/media/julie_70bd/images/18_image.webp", + "/media/julie_70bd/images/19_image.webp", + "/media/julie_70bd/images/20_image.webp", + "/media/julie_70bd/images/21_image.webp", + "/media/julie_70bd/images/22_image.webp", + "/media/julie_70bd/images/23_image.webp", + "/media/julie_70bd/images/24_image.webp", + "/media/julie_70bd/images/25_image.webp", + "/media/julie_70bd/images/26_image.webp", + "/media/julie_70bd/images/27_image.webp", + "/media/julie_70bd/images/28_image.webp", + "/media/julie_70bd/images/29_image.webp", + "/media/julie_70bd/images/30_image.webp", + "/media/julie_70bd/images/31_image.webp", + "/media/julie_70bd/images/32_image.webp", + "/media/julie_70bd/images/33_image.webp", + "/media/julie_70bd/images/34_image.webp", + "/media/julie_70bd/images/35_image.webp", + "/media/julie_70bd/images/36_image.webp", + "/media/julie_70bd/images/37_image.webp", + "/media/julie_70bd/images/38_image.webp", + "/media/julie_70bd/images/39_image.webp", + "/media/julie_70bd/images/40_image.webp", + "/media/julie_70bd/images/41_image.webp", + "/media/julie_70bd/images/42_image.webp", + "/media/julie_70bd/images/43_image.webp", + "/media/julie_70bd/images/44_image.webp", + "/media/julie_70bd/images/45_image.webp", + "/media/julie_70bd/images/46_image.webp", + "/media/julie_70bd/images/47_image.webp", + "/media/julie_70bd/images/48_image.webp", + "/media/julie_70bd/images/49_image.webp", + "/media/julie_70bd/images/50_image.webp", + "/media/julie_70bd/images/51_image.webp", + "/media/julie_70bd/images/53_image.webp" + ], + "created_at": "2026-01-21T06:26:47.789825-07:00", + "dir_name": "julie_70bd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_b6d2.json b/ideas/aeres/agents/julie_b6d2.json new file mode 100644 index 0000000..ef831b7 --- /dev/null +++ b/ideas/aeres/agents/julie_b6d2.json @@ -0,0 +1,77 @@ +{ + "id": "julie_b6d2", + "name": "Julie Johnson", + "handle": "julie", + "gender": "female", + "description": "Elise from League of Legends", + "tags": [ + "vampire_mistress", + "arachnology", + "ancient textiles", + "opera", + "fencing", + "architecture", + "rare perfumes", + "classical piano" + ], + "avatar_url": "/media/julie_b6d2/avatar.webp?t=1769616227", + "banner_url": "/media/julie_b6d2/banner.webp?t=1769616605", + "videos": [ + "/media/julie_b6d2/videos/01_smile_reveal.mp4?t=1769616266" + ], + "images": [ + "/media/julie_b6d2/images/01_mid_mid_neutral.webp", + "/media/julie_b6d2/images/02_image.webp", + "/media/julie_b6d2/images/03_image.webp", + "/media/julie_b6d2/images/04_image.webp", + "/media/julie_b6d2/images/05_image.webp", + "/media/julie_b6d2/images/06_image.webp", + "/media/julie_b6d2/images/07_image.webp", + "/media/julie_b6d2/images/08_image.webp", + "/media/julie_b6d2/images/09_image.webp", + "/media/julie_b6d2/images/10_image.webp", + "/media/julie_b6d2/images/11_image.webp", + "/media/julie_b6d2/images/12_image.webp", + "/media/julie_b6d2/images/13_image.webp", + "/media/julie_b6d2/images/14_image.webp", + "/media/julie_b6d2/images/15_image.webp", + "/media/julie_b6d2/images/16_image.webp", + "/media/julie_b6d2/images/17_image.webp", + "/media/julie_b6d2/images/18_image.webp", + "/media/julie_b6d2/images/19_image.webp", + "/media/julie_b6d2/images/20_image.webp", + "/media/julie_b6d2/images/21_image.webp", + "/media/julie_b6d2/images/22_image.webp", + "/media/julie_b6d2/images/23_image.webp", + "/media/julie_b6d2/images/24_image.webp", + "/media/julie_b6d2/images/25_image.webp", + "/media/julie_b6d2/images/26_image.webp", + "/media/julie_b6d2/images/27_image.webp", + "/media/julie_b6d2/images/28_image.webp", + "/media/julie_b6d2/images/29_image.webp", + "/media/julie_b6d2/images/30_image.webp", + "/media/julie_b6d2/images/31_image.webp", + "/media/julie_b6d2/images/32_image.webp", + "/media/julie_b6d2/images/33_image.webp", + "/media/julie_b6d2/images/34_image.webp", + "/media/julie_b6d2/images/35_image.webp", + "/media/julie_b6d2/images/36_image.webp", + "/media/julie_b6d2/images/37_image.webp", + "/media/julie_b6d2/images/38_image.webp", + "/media/julie_b6d2/images/39_image.webp", + "/media/julie_b6d2/images/40_image.webp", + "/media/julie_b6d2/images/41_image.webp", + "/media/julie_b6d2/images/42_image.webp", + "/media/julie_b6d2/images/43_image.webp", + "/media/julie_b6d2/images/44_image.webp", + "/media/julie_b6d2/images/45_image.webp", + "/media/julie_b6d2/images/46_image.webp", + "/media/julie_b6d2/images/47_image.webp", + "/media/julie_b6d2/images/48_image.webp", + "/media/julie_b6d2/images/49_image.webp", + "/media/julie_b6d2/images/50_image.webp", + "/media/julie_b6d2/images/51_image.webp" + ], + "created_at": "2026-01-28T09:02:21.675596-07:00", + "dir_name": "julie_b6d2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_bffa.json b/ideas/aeres/agents/julie_bffa.json new file mode 100644 index 0000000..2f3a3a7 --- /dev/null +++ b/ideas/aeres/agents/julie_bffa.json @@ -0,0 +1,75 @@ +{ + "id": "julie_bffa", + "name": "Julie Moreau", + "handle": "julie", + "gender": "female", + "description": "white woman, 20 years old, red hair who works as a DJ and likes to party", + "tags": [ + "baddie", + "hip-hop dance", + "electronic music production", + "sneaker collecting", + "vintage fashion", + "skating", + "modern art", + "yoga" + ], + "avatar_url": "/media/julie_bffa/avatar.webp?t=1769415906", + "banner_url": "/media/julie_bffa/banner.webp?t=1769415914", + "videos": [ + "/media/julie_bffa/videos/01_smile_reveal.mp4?t=1769415943" + ], + "images": [ + "/media/julie_bffa/images/01_mid_mid_neutral.webp", + "/media/julie_bffa/images/02_image.webp", + "/media/julie_bffa/images/03_image.webp", + "/media/julie_bffa/images/04_image.webp", + "/media/julie_bffa/images/05_image.webp", + "/media/julie_bffa/images/06_image.webp", + "/media/julie_bffa/images/07_image.webp", + "/media/julie_bffa/images/08_image.webp", + "/media/julie_bffa/images/09_image.webp", + "/media/julie_bffa/images/10_image.webp", + "/media/julie_bffa/images/11_image.webp", + "/media/julie_bffa/images/12_image.webp", + "/media/julie_bffa/images/13_image.webp", + "/media/julie_bffa/images/14_image.webp", + "/media/julie_bffa/images/15_image.webp", + "/media/julie_bffa/images/16_image.webp", + "/media/julie_bffa/images/17_image.webp", + "/media/julie_bffa/images/22_image.webp", + "/media/julie_bffa/images/23_image.webp", + "/media/julie_bffa/images/24_image.webp", + "/media/julie_bffa/images/25_image.webp", + "/media/julie_bffa/images/26_image.webp", + "/media/julie_bffa/images/28_image.webp", + "/media/julie_bffa/images/29_image.webp", + "/media/julie_bffa/images/30_image.webp", + "/media/julie_bffa/images/31_image.webp", + "/media/julie_bffa/images/32_image.webp", + "/media/julie_bffa/images/33_image.webp", + "/media/julie_bffa/images/34_image.webp", + "/media/julie_bffa/images/35_image.webp", + "/media/julie_bffa/images/36_image.webp", + "/media/julie_bffa/images/37_image.webp", + "/media/julie_bffa/images/38_image.webp", + "/media/julie_bffa/images/39_image.webp", + "/media/julie_bffa/images/40_image.webp", + "/media/julie_bffa/images/41_image.webp", + "/media/julie_bffa/images/42_image.webp", + "/media/julie_bffa/images/44_image.webp", + "/media/julie_bffa/images/45_image.webp", + "/media/julie_bffa/images/46_image.webp", + "/media/julie_bffa/images/47_image.webp", + "/media/julie_bffa/images/48_image.webp", + "/media/julie_bffa/images/49_image.webp", + "/media/julie_bffa/images/51_image.webp", + "/media/julie_bffa/images/53_image.webp", + "/media/julie_bffa/images/54_image.webp", + "/media/julie_bffa/images/55_image.webp", + "/media/julie_bffa/images/56_image.webp", + "/media/julie_bffa/images/57_image.webp" + ], + "created_at": "2026-01-26T01:23:48.140037-07:00", + "dir_name": "julie_bffa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_cbb4.json b/ideas/aeres/agents/julie_cbb4.json new file mode 100644 index 0000000..adf8446 --- /dev/null +++ b/ideas/aeres/agents/julie_cbb4.json @@ -0,0 +1,75 @@ +{ + "id": "julie_cbb4", + "name": "Julie Johnson", + "handle": "julie", + "gender": "female", + "description": "cross fit girl, lifts weights, gym rat, age 25, short hair, brunette, white skin, beautiful smile, defined, toned, sporty girl, pretty face, has a lot of energy", + "tags": [ + "athletic", + "functional fitness", + "olympic lifting", + "trail running", + "nutritional science", + "photography", + "craft beer", + "podcasts about biohacking" + ], + "avatar_url": "/media/julie_cbb4/avatar.webp?t=1769437237", + "banner_url": "/media/julie_cbb4/banner.webp?t=1769437247", + "videos": [ + "/media/julie_cbb4/videos/01_smile_reveal.mp4?t=1769437296" + ], + "images": [ + "/media/julie_cbb4/images/01_mid_mid_neutral.webp", + "/media/julie_cbb4/images/02_image.webp", + "/media/julie_cbb4/images/03_image.webp", + "/media/julie_cbb4/images/04_image.webp", + "/media/julie_cbb4/images/05_image.webp", + "/media/julie_cbb4/images/06_image.webp", + "/media/julie_cbb4/images/07_image.webp", + "/media/julie_cbb4/images/08_image.webp", + "/media/julie_cbb4/images/09_image.webp", + "/media/julie_cbb4/images/10_image.webp", + "/media/julie_cbb4/images/11_image.webp", + "/media/julie_cbb4/images/12_image.webp", + "/media/julie_cbb4/images/13_image.webp", + "/media/julie_cbb4/images/14_image.webp", + "/media/julie_cbb4/images/15_image.webp", + "/media/julie_cbb4/images/16_image.webp", + "/media/julie_cbb4/images/17_image.webp", + "/media/julie_cbb4/images/18_image.webp", + "/media/julie_cbb4/images/19_image.webp", + "/media/julie_cbb4/images/20_image.webp", + "/media/julie_cbb4/images/21_image.webp", + "/media/julie_cbb4/images/22_image.webp", + "/media/julie_cbb4/images/23_image.webp", + "/media/julie_cbb4/images/24_image.webp", + "/media/julie_cbb4/images/25_image.webp", + "/media/julie_cbb4/images/26_image.webp", + "/media/julie_cbb4/images/27_image.webp", + "/media/julie_cbb4/images/28_image.webp", + "/media/julie_cbb4/images/29_image.webp", + "/media/julie_cbb4/images/30_image.webp", + "/media/julie_cbb4/images/31_image.webp", + "/media/julie_cbb4/images/33_image.webp", + "/media/julie_cbb4/images/34_image.webp", + "/media/julie_cbb4/images/35_image.webp", + "/media/julie_cbb4/images/36_image.webp", + "/media/julie_cbb4/images/37_image.webp", + "/media/julie_cbb4/images/38_image.webp", + "/media/julie_cbb4/images/39_image.webp", + "/media/julie_cbb4/images/41_image.webp", + "/media/julie_cbb4/images/42_image.webp", + "/media/julie_cbb4/images/43_image.webp", + "/media/julie_cbb4/images/44_image.webp", + "/media/julie_cbb4/images/45_image.webp", + "/media/julie_cbb4/images/46_image.webp", + "/media/julie_cbb4/images/47_image.webp", + "/media/julie_cbb4/images/48_image.webp", + "/media/julie_cbb4/images/49_image.webp", + "/media/julie_cbb4/images/50_image.webp", + "/media/julie_cbb4/images/51_image.webp" + ], + "created_at": "2026-01-26T07:19:26.894111-07:00", + "dir_name": "julie_cbb4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/julie_e241.json b/ideas/aeres/agents/julie_e241.json new file mode 100644 index 0000000..0520ec4 --- /dev/null +++ b/ideas/aeres/agents/julie_e241.json @@ -0,0 +1,74 @@ +{ + "id": "julie_e241", + "name": "Julie Smith", + "handle": "julie", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , short hair, blonde, australian, hobby surfing, professional surfer, white complexity, spends a lot of time at the beach, age 26", + "tags": [ + "beach_babe", + "surfing", + "ocean conservation", + "yoga", + "photography", + "cooking", + "hiking", + "free-diving" + ], + "avatar_url": "/media/julie_e241/avatar.webp?t=1769174838", + "banner_url": "/media/julie_e241/banner.webp?t=1769413905", + "videos": [ + "/media/julie_e241/videos/01_smile_reveal.mp4?t=1769174629" + ], + "images": [ + "/media/julie_e241/images/01_mid_mid_neutral.webp", + "/media/julie_e241/images/02_image.webp", + "/media/julie_e241/images/03_image.webp", + "/media/julie_e241/images/04_image.webp", + "/media/julie_e241/images/05_image.webp", + "/media/julie_e241/images/06_image.webp", + "/media/julie_e241/images/06_image.webp", + "/media/julie_e241/images/07_image.webp", + "/media/julie_e241/images/07_image.webp", + "/media/julie_e241/images/08_image.webp", + "/media/julie_e241/images/08_image.webp", + "/media/julie_e241/images/09_image.webp", + "/media/julie_e241/images/09_image.webp", + "/media/julie_e241/images/10_image.webp", + "/media/julie_e241/images/10_image.webp", + "/media/julie_e241/images/11_image.webp", + "/media/julie_e241/images/11_image.webp", + "/media/julie_e241/images/12_image.webp", + "/media/julie_e241/images/13_image.webp", + "/media/julie_e241/images/14_image.webp", + "/media/julie_e241/images/15_image.webp", + "/media/julie_e241/images/16_image.webp", + "/media/julie_e241/images/18_image.webp", + "/media/julie_e241/images/19_image.webp", + "/media/julie_e241/images/20_image.webp", + "/media/julie_e241/images/21_image.webp", + "/media/julie_e241/images/22_image.webp", + "/media/julie_e241/images/23_image.webp", + "/media/julie_e241/images/24_image.webp", + "/media/julie_e241/images/25_image.webp", + "/media/julie_e241/images/26_image.webp", + "/media/julie_e241/images/27_image.webp", + "/media/julie_e241/images/28_image.webp", + "/media/julie_e241/images/29_image.webp", + "/media/julie_e241/images/30_image.webp", + "/media/julie_e241/images/31_image.webp", + "/media/julie_e241/images/32_image.webp", + "/media/julie_e241/images/33_image.webp", + "/media/julie_e241/images/34_image.webp", + "/media/julie_e241/images/35_image.webp", + "/media/julie_e241/images/36_image.webp", + "/media/julie_e241/images/37_image.webp", + "/media/julie_e241/images/39_image.webp", + "/media/julie_e241/images/40_image.webp", + "/media/julie_e241/images/41_image.webp", + "/media/julie_e241/images/43_image.webp", + "/media/julie_e241/images/44_image.webp", + "/media/julie_e241/images/45_image.webp" + ], + "created_at": "2026-01-23T06:22:04.409262-07:00", + "dir_name": "julie_e241" +} \ No newline at end of file diff --git a/ideas/aeres/agents/june_84bb.json b/ideas/aeres/agents/june_84bb.json new file mode 100644 index 0000000..d69aa3e --- /dev/null +++ b/ideas/aeres/agents/june_84bb.json @@ -0,0 +1,63 @@ +{ + "id": "june_84bb", + "name": "June Lopez", + "handle": "june", + "gender": "female", + "description": "mid 40's, massage therapist, flowy pants, acro yoga, sandles, beach, silver jewelry, nose ring, house plants, matcha tea, healing, mindfulness, playful, incense,", + "tags": [ + "yoga_goddess", + "vinyasa yoga", + "plant-based cooking", + "pottery", + "contemporary dance", + "photography", + "biking along the hudson", + "interior design" + ], + "avatar_url": "/media/june_84bb/avatar.webp?t=1769111323", + "banner_url": "/media/june_84bb/banner.webp?t=1769111311", + "images": [ + "/media/june_84bb/images/01_mid_mid_neutral.webp", + "/media/june_84bb/images/02_image.webp", + "/media/june_84bb/images/03_image.webp", + "/media/june_84bb/images/04_image.webp", + "/media/june_84bb/images/05_image.webp", + "/media/june_84bb/images/06_image.webp", + "/media/june_84bb/images/07_image.webp", + "/media/june_84bb/images/08_image.webp", + "/media/june_84bb/images/09_image.webp", + "/media/june_84bb/images/10_image.webp", + "/media/june_84bb/images/11_image.webp", + "/media/june_84bb/images/12_image.webp", + "/media/june_84bb/images/13_image.webp", + "/media/june_84bb/images/14_image.webp", + "/media/june_84bb/images/15_image.webp", + "/media/june_84bb/images/16_image.webp", + "/media/june_84bb/images/17_image.webp", + "/media/june_84bb/images/18_image.webp", + "/media/june_84bb/images/19_image.webp", + "/media/june_84bb/images/20_image.webp", + "/media/june_84bb/images/31_image.webp", + "/media/june_84bb/images/32_image.webp", + "/media/june_84bb/images/33_image.webp", + "/media/june_84bb/images/34_image.webp", + "/media/june_84bb/images/35_image.webp", + "/media/june_84bb/images/36_image.webp", + "/media/june_84bb/images/37_image.webp", + "/media/june_84bb/images/38_image.webp", + "/media/june_84bb/images/39_image.webp", + "/media/june_84bb/images/40_image.webp", + "/media/june_84bb/images/41_image.webp", + "/media/june_84bb/images/42_image.webp", + "/media/june_84bb/images/43_image.webp", + "/media/june_84bb/images/44_image.webp", + "/media/june_84bb/images/45_image.webp", + "/media/june_84bb/images/46_image.webp", + "/media/june_84bb/images/47_image.webp", + "/media/june_84bb/images/48_image.webp", + "/media/june_84bb/images/49_image.webp", + "/media/june_84bb/images/50_image.webp" + ], + "created_at": "2026-01-22T12:47:30.749531-07:00", + "dir_name": "june_84bb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/june_cf73.json b/ideas/aeres/agents/june_cf73.json new file mode 100644 index 0000000..1a3b511 --- /dev/null +++ b/ideas/aeres/agents/june_cf73.json @@ -0,0 +1,76 @@ +{ + "id": "june_cf73", + "name": "June Martinez", + "handle": "june", + "gender": "female", + "description": "hot sexy, flight attendant, mid 30 s, short red hair, spends a lot of time flying, insert some pictures from JFK airport, short, petite", + "tags": [ + "career_fantasy", + "aviation history", + "modern architecture", + "fine wine", + "pilates", + "street photography", + "audiobooks" + ], + "avatar_url": "/media/june_cf73/avatar.webp?t=1769679134", + "banner_url": "/media/june_cf73/banner.webp?t=1769679139", + "videos": [ + "/media/june_cf73/videos/01_smile_reveal.mp4?t=1769679164" + ], + "images": [ + "/media/june_cf73/images/01_mid_mid_neutral.webp", + "/media/june_cf73/images/02_image.webp", + "/media/june_cf73/images/03_image.webp", + "/media/june_cf73/images/04_image.webp", + "/media/june_cf73/images/05_image.webp", + "/media/june_cf73/images/06_image.webp", + "/media/june_cf73/images/07_image.webp", + "/media/june_cf73/images/08_image.webp", + "/media/june_cf73/images/09_image.webp", + "/media/june_cf73/images/10_image.webp", + "/media/june_cf73/images/11_image.webp", + "/media/june_cf73/images/12_image.webp", + "/media/june_cf73/images/13_image.webp", + "/media/june_cf73/images/14_image.webp", + "/media/june_cf73/images/15_image.webp", + "/media/june_cf73/images/16_image.webp", + "/media/june_cf73/images/17_image.webp", + "/media/june_cf73/images/18_image.webp", + "/media/june_cf73/images/19_image.webp", + "/media/june_cf73/images/20_image.webp", + "/media/june_cf73/images/21_image.webp", + "/media/june_cf73/images/22_image.webp", + "/media/june_cf73/images/23_image.webp", + "/media/june_cf73/images/24_image.webp", + "/media/june_cf73/images/25_image.webp", + "/media/june_cf73/images/26_image.webp", + "/media/june_cf73/images/27_image.webp", + "/media/june_cf73/images/28_image.webp", + "/media/june_cf73/images/29_image.webp", + "/media/june_cf73/images/30_image.webp", + "/media/june_cf73/images/31_image.webp", + "/media/june_cf73/images/32_image.webp", + "/media/june_cf73/images/33_image.webp", + "/media/june_cf73/images/34_image.webp", + "/media/june_cf73/images/35_image.webp", + "/media/june_cf73/images/36_image.webp", + "/media/june_cf73/images/37_image.webp", + "/media/june_cf73/images/38_image.webp", + "/media/june_cf73/images/39_image.webp", + "/media/june_cf73/images/40_image.webp", + "/media/june_cf73/images/41_image.webp", + "/media/june_cf73/images/42_image.webp", + "/media/june_cf73/images/43_image.webp", + "/media/june_cf73/images/44_image.webp", + "/media/june_cf73/images/45_image.webp", + "/media/june_cf73/images/46_image.webp", + "/media/june_cf73/images/47_image.webp", + "/media/june_cf73/images/48_image.webp", + "/media/june_cf73/images/49_image.webp", + "/media/june_cf73/images/50_image.webp", + "/media/june_cf73/images/51_image.webp" + ], + "created_at": "2026-01-29T02:30:39.797322-07:00", + "dir_name": "june_cf73" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kaden_bef9.json b/ideas/aeres/agents/kaden_bef9.json new file mode 100644 index 0000000..af8ee88 --- /dev/null +++ b/ideas/aeres/agents/kaden_bef9.json @@ -0,0 +1,76 @@ +{ + "id": "kaden_bef9", + "name": "Kaden Johnson", + "handle": "kaden", + "gender": "male", + "description": "a male who looks like Cristiano Ronaldo", + "tags": [ + "gym_bro", + "bodybuilding", + "biohacking", + "entrepreneurship", + "luxury watches", + "european football", + "padel", + "interior design" + ], + "avatar_url": "/media/kaden_bef9/avatar.webp?t=1769588634", + "banner_url": "/media/kaden_bef9/banner.webp?t=1769588657", + "videos": [ + "/media/kaden_bef9/videos/01_smile_reveal.mp4?t=1769588669" + ], + "images": [ + "/media/kaden_bef9/images/01_mid_mid_neutral.webp", + "/media/kaden_bef9/images/02_image.webp", + "/media/kaden_bef9/images/03_image.webp", + "/media/kaden_bef9/images/04_image.webp", + "/media/kaden_bef9/images/05_image.webp", + "/media/kaden_bef9/images/06_image.webp", + "/media/kaden_bef9/images/07_image.webp", + "/media/kaden_bef9/images/08_image.webp", + "/media/kaden_bef9/images/09_image.webp", + "/media/kaden_bef9/images/10_image.webp", + "/media/kaden_bef9/images/11_image.webp", + "/media/kaden_bef9/images/12_image.webp", + "/media/kaden_bef9/images/13_image.webp", + "/media/kaden_bef9/images/14_image.webp", + "/media/kaden_bef9/images/15_image.webp", + "/media/kaden_bef9/images/16_image.webp", + "/media/kaden_bef9/images/17_image.webp", + "/media/kaden_bef9/images/18_image.webp", + "/media/kaden_bef9/images/19_image.webp", + "/media/kaden_bef9/images/20_image.webp", + "/media/kaden_bef9/images/21_image.webp", + "/media/kaden_bef9/images/22_image.webp", + "/media/kaden_bef9/images/23_image.webp", + "/media/kaden_bef9/images/24_image.webp", + "/media/kaden_bef9/images/25_image.webp", + "/media/kaden_bef9/images/26_image.webp", + "/media/kaden_bef9/images/27_image.webp", + "/media/kaden_bef9/images/28_image.webp", + "/media/kaden_bef9/images/29_image.webp", + "/media/kaden_bef9/images/30_image.webp", + "/media/kaden_bef9/images/31_image.webp", + "/media/kaden_bef9/images/32_image.webp", + "/media/kaden_bef9/images/33_image.webp", + "/media/kaden_bef9/images/34_image.webp", + "/media/kaden_bef9/images/35_image.webp", + "/media/kaden_bef9/images/36_image.webp", + "/media/kaden_bef9/images/37_image.webp", + "/media/kaden_bef9/images/38_image.webp", + "/media/kaden_bef9/images/39_image.webp", + "/media/kaden_bef9/images/40_image.webp", + "/media/kaden_bef9/images/41_image.webp", + "/media/kaden_bef9/images/42_image.webp", + "/media/kaden_bef9/images/43_image.webp", + "/media/kaden_bef9/images/44_image.webp", + "/media/kaden_bef9/images/45_image.webp", + "/media/kaden_bef9/images/46_image.webp", + "/media/kaden_bef9/images/47_image.webp", + "/media/kaden_bef9/images/48_image.webp", + "/media/kaden_bef9/images/49_image.webp", + "/media/kaden_bef9/images/50_image.webp" + ], + "created_at": "2026-01-28T01:22:36.47803-07:00", + "dir_name": "kaden_bef9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kaibo_0408.json b/ideas/aeres/agents/kaibo_0408.json new file mode 100644 index 0000000..a7672a4 --- /dev/null +++ b/ideas/aeres/agents/kaibo_0408.json @@ -0,0 +1,77 @@ +{ + "id": "kaibo_0408", + "name": "Kaibo Wang", + "handle": "kaibo", + "gender": "male", + "description": "Agent 47 from Hitman", + "tags": [ + "sigma_male", + "horology", + "strategic gaming", + "precision driving", + "architecture", + "modern art", + "single malt scotch", + "european cinema" + ], + "avatar_url": "/media/kaibo_0408/avatar.webp?t=1769689895", + "banner_url": "/media/kaibo_0408/banner.webp?t=1769689885", + "videos": [ + "/media/kaibo_0408/videos/01_smile_reveal.mp4?t=1769689925" + ], + "images": [ + "/media/kaibo_0408/images/01_mid_mid_neutral.webp", + "/media/kaibo_0408/images/02_image.webp", + "/media/kaibo_0408/images/03_image.webp", + "/media/kaibo_0408/images/04_image.webp", + "/media/kaibo_0408/images/05_image.webp", + "/media/kaibo_0408/images/06_image.webp", + "/media/kaibo_0408/images/07_image.webp", + "/media/kaibo_0408/images/08_image.webp", + "/media/kaibo_0408/images/09_image.webp", + "/media/kaibo_0408/images/10_image.webp", + "/media/kaibo_0408/images/11_image.webp", + "/media/kaibo_0408/images/12_image.webp", + "/media/kaibo_0408/images/13_image.webp", + "/media/kaibo_0408/images/14_image.webp", + "/media/kaibo_0408/images/15_image.webp", + "/media/kaibo_0408/images/16_image.webp", + "/media/kaibo_0408/images/17_image.webp", + "/media/kaibo_0408/images/18_image.webp", + "/media/kaibo_0408/images/19_image.webp", + "/media/kaibo_0408/images/20_image.webp", + "/media/kaibo_0408/images/21_image.webp", + "/media/kaibo_0408/images/22_image.webp", + "/media/kaibo_0408/images/23_image.webp", + "/media/kaibo_0408/images/24_image.webp", + "/media/kaibo_0408/images/25_image.webp", + "/media/kaibo_0408/images/26_image.webp", + "/media/kaibo_0408/images/27_image.webp", + "/media/kaibo_0408/images/28_image.webp", + "/media/kaibo_0408/images/29_image.webp", + "/media/kaibo_0408/images/30_image.webp", + "/media/kaibo_0408/images/31_image.webp", + "/media/kaibo_0408/images/32_image.webp", + "/media/kaibo_0408/images/33_image.webp", + "/media/kaibo_0408/images/34_image.webp", + "/media/kaibo_0408/images/35_image.webp", + "/media/kaibo_0408/images/36_image.webp", + "/media/kaibo_0408/images/37_image.webp", + "/media/kaibo_0408/images/38_image.webp", + "/media/kaibo_0408/images/39_image.webp", + "/media/kaibo_0408/images/40_image.webp", + "/media/kaibo_0408/images/41_image.webp", + "/media/kaibo_0408/images/42_image.webp", + "/media/kaibo_0408/images/43_image.webp", + "/media/kaibo_0408/images/44_image.webp", + "/media/kaibo_0408/images/45_image.webp", + "/media/kaibo_0408/images/46_image.webp", + "/media/kaibo_0408/images/47_image.webp", + "/media/kaibo_0408/images/48_image.webp", + "/media/kaibo_0408/images/49_image.webp", + "/media/kaibo_0408/images/50_image.webp", + "/media/kaibo_0408/images/51_image.webp" + ], + "created_at": "2026-01-29T05:30:03.265975-07:00", + "dir_name": "kaibo_0408" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kairo_3199.json b/ideas/aeres/agents/kairo_3199.json new file mode 100644 index 0000000..395386e --- /dev/null +++ b/ideas/aeres/agents/kairo_3199.json @@ -0,0 +1,77 @@ +{ + "id": "kairo_3199", + "name": "Kairo Williams", + "handle": "kairo", + "gender": "male", + "description": "raves, summer parties, techno music, nightlife, partyman, always energetic, age 25, dark clothes, clubbing, tall and slim", + "tags": [ + "eboy_classic", + "modular synthesizers", + "street photography", + "techno sub-genres", + "cyberpunk aesthetics", + "urban exploration", + "graphic novels", + "gourmet coffee" + ], + "avatar_url": "/media/kairo_3199/avatar.webp?t=1769513242", + "banner_url": "/media/kairo_3199/banner.webp?t=1769513228", + "videos": [ + "/media/kairo_3199/videos/01_smile_reveal.mp4?t=1769513275" + ], + "images": [ + "/media/kairo_3199/images/01_mid_mid_neutral.webp", + "/media/kairo_3199/images/02_image.webp", + "/media/kairo_3199/images/03_image.webp", + "/media/kairo_3199/images/04_image.webp", + "/media/kairo_3199/images/05_image.webp", + "/media/kairo_3199/images/06_image.webp", + "/media/kairo_3199/images/07_image.webp", + "/media/kairo_3199/images/08_image.webp", + "/media/kairo_3199/images/09_image.webp", + "/media/kairo_3199/images/10_image.webp", + "/media/kairo_3199/images/11_image.webp", + "/media/kairo_3199/images/12_image.webp", + "/media/kairo_3199/images/13_image.webp", + "/media/kairo_3199/images/14_image.webp", + "/media/kairo_3199/images/15_image.webp", + "/media/kairo_3199/images/16_image.webp", + "/media/kairo_3199/images/17_image.webp", + "/media/kairo_3199/images/18_image.webp", + "/media/kairo_3199/images/19_image.webp", + "/media/kairo_3199/images/20_image.webp", + "/media/kairo_3199/images/21_image.webp", + "/media/kairo_3199/images/22_image.webp", + "/media/kairo_3199/images/23_image.webp", + "/media/kairo_3199/images/24_image.webp", + "/media/kairo_3199/images/25_image.webp", + "/media/kairo_3199/images/26_image.webp", + "/media/kairo_3199/images/27_image.webp", + "/media/kairo_3199/images/28_image.webp", + "/media/kairo_3199/images/29_image.webp", + "/media/kairo_3199/images/30_image.webp", + "/media/kairo_3199/images/31_image.webp", + "/media/kairo_3199/images/32_image.webp", + "/media/kairo_3199/images/33_image.webp", + "/media/kairo_3199/images/34_image.webp", + "/media/kairo_3199/images/35_image.webp", + "/media/kairo_3199/images/36_image.webp", + "/media/kairo_3199/images/37_image.webp", + "/media/kairo_3199/images/38_image.webp", + "/media/kairo_3199/images/39_image.webp", + "/media/kairo_3199/images/40_image.webp", + "/media/kairo_3199/images/41_image.webp", + "/media/kairo_3199/images/42_image.webp", + "/media/kairo_3199/images/43_image.webp", + "/media/kairo_3199/images/44_image.webp", + "/media/kairo_3199/images/45_image.webp", + "/media/kairo_3199/images/46_image.webp", + "/media/kairo_3199/images/47_image.webp", + "/media/kairo_3199/images/48_image.webp", + "/media/kairo_3199/images/49_image.webp", + "/media/kairo_3199/images/50_image.webp", + "/media/kairo_3199/images/51_image.webp" + ], + "created_at": "2026-01-27T04:25:42.252156-07:00", + "dir_name": "kairo_3199" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kanako_5974.json b/ideas/aeres/agents/kanako_5974.json new file mode 100644 index 0000000..2b30449 --- /dev/null +++ b/ideas/aeres/agents/kanako_5974.json @@ -0,0 +1,77 @@ +{ + "id": "kanako_5974", + "name": "Kanako Suzuki", + "handle": "kanako", + "gender": "female", + "description": "japanese woman who likes to cosplay as Jeff Hardy", + "tags": [ + "cosplayer", + "pro-wrestling history", + "bodybuilding", + "avant-garde makeup", + "stunt choreography", + "urban exploration", + "graphic novels", + "vinyl records" + ], + "avatar_url": "/media/kanako_5974/avatar.webp?t=1769762623", + "banner_url": "/media/kanako_5974/banner.webp?t=1769762619", + "videos": [ + "/media/kanako_5974/videos/01_smile_reveal.mp4?t=1769762641" + ], + "images": [ + "/media/kanako_5974/images/01_mid_mid_neutral.webp", + "/media/kanako_5974/images/02_image.webp", + "/media/kanako_5974/images/03_image.webp", + "/media/kanako_5974/images/04_image.webp", + "/media/kanako_5974/images/05_image.webp", + "/media/kanako_5974/images/06_image.webp", + "/media/kanako_5974/images/07_image.webp", + "/media/kanako_5974/images/08_image.webp", + "/media/kanako_5974/images/09_image.webp", + "/media/kanako_5974/images/10_image.webp", + "/media/kanako_5974/images/11_image.webp", + "/media/kanako_5974/images/12_image.webp", + "/media/kanako_5974/images/13_image.webp", + "/media/kanako_5974/images/14_image.webp", + "/media/kanako_5974/images/15_image.webp", + "/media/kanako_5974/images/16_image.webp", + "/media/kanako_5974/images/17_image.webp", + "/media/kanako_5974/images/18_image.webp", + "/media/kanako_5974/images/19_image.webp", + "/media/kanako_5974/images/20_image.webp", + "/media/kanako_5974/images/21_image.webp", + "/media/kanako_5974/images/22_image.webp", + "/media/kanako_5974/images/23_image.webp", + "/media/kanako_5974/images/24_image.webp", + "/media/kanako_5974/images/25_image.webp", + "/media/kanako_5974/images/26_image.webp", + "/media/kanako_5974/images/27_image.webp", + "/media/kanako_5974/images/28_image.webp", + "/media/kanako_5974/images/29_image.webp", + "/media/kanako_5974/images/30_image.webp", + "/media/kanako_5974/images/31_image.webp", + "/media/kanako_5974/images/32_image.webp", + "/media/kanako_5974/images/33_image.webp", + "/media/kanako_5974/images/34_image.webp", + "/media/kanako_5974/images/35_image.webp", + "/media/kanako_5974/images/36_image.webp", + "/media/kanako_5974/images/37_image.webp", + "/media/kanako_5974/images/38_image.webp", + "/media/kanako_5974/images/39_image.webp", + "/media/kanako_5974/images/40_image.webp", + "/media/kanako_5974/images/41_image.webp", + "/media/kanako_5974/images/42_image.webp", + "/media/kanako_5974/images/43_image.webp", + "/media/kanako_5974/images/44_image.webp", + "/media/kanako_5974/images/45_image.webp", + "/media/kanako_5974/images/46_image.webp", + "/media/kanako_5974/images/47_image.webp", + "/media/kanako_5974/images/48_image.webp", + "/media/kanako_5974/images/49_image.webp", + "/media/kanako_5974/images/50_image.webp", + "/media/kanako_5974/images/51_image.webp" + ], + "created_at": "2026-01-30T01:41:57.275729-07:00", + "dir_name": "kanako_5974" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kaori_44b2.json b/ideas/aeres/agents/kaori_44b2.json new file mode 100644 index 0000000..aef6bc9 --- /dev/null +++ b/ideas/aeres/agents/kaori_44b2.json @@ -0,0 +1,76 @@ +{ + "id": "kaori_44b2", + "name": "Kaori Takahashi", + "handle": "kaori", + "gender": "female", + "description": "windsurfing girl, tall slender, brunette, asian, tropical island, protects the reef, age 25 ,usa", + "tags": [ + "the explorer", + "windsurfing", + "coral reef restoration", + "free diving", + "photography", + "cooking plant-based meals", + "island history", + "acoustic guitar" + ], + "avatar_url": "/media/kaori_44b2/avatar.webp?t=1769502632", + "banner_url": "/media/kaori_44b2/banner.webp?t=1769502631", + "videos": [ + "/media/kaori_44b2/videos/01_smile_reveal.mp4?t=1769502672" + ], + "images": [ + "/media/kaori_44b2/images/01_mid_mid_neutral.webp", + "/media/kaori_44b2/images/02_image.webp", + "/media/kaori_44b2/images/03_image.webp", + "/media/kaori_44b2/images/04_image.webp", + "/media/kaori_44b2/images/05_image.webp", + "/media/kaori_44b2/images/06_image.webp", + "/media/kaori_44b2/images/07_image.webp", + "/media/kaori_44b2/images/08_image.webp", + "/media/kaori_44b2/images/09_image.webp", + "/media/kaori_44b2/images/10_image.webp", + "/media/kaori_44b2/images/11_image.webp", + "/media/kaori_44b2/images/12_image.webp", + "/media/kaori_44b2/images/13_image.webp", + "/media/kaori_44b2/images/14_image.webp", + "/media/kaori_44b2/images/15_image.webp", + "/media/kaori_44b2/images/16_image.webp", + "/media/kaori_44b2/images/17_image.webp", + "/media/kaori_44b2/images/18_image.webp", + "/media/kaori_44b2/images/19_image.webp", + "/media/kaori_44b2/images/20_image.webp", + "/media/kaori_44b2/images/21_image.webp", + "/media/kaori_44b2/images/22_image.webp", + "/media/kaori_44b2/images/23_image.webp", + "/media/kaori_44b2/images/24_image.webp", + "/media/kaori_44b2/images/25_image.webp", + "/media/kaori_44b2/images/26_image.webp", + "/media/kaori_44b2/images/27_image.webp", + "/media/kaori_44b2/images/28_image.webp", + "/media/kaori_44b2/images/29_image.webp", + "/media/kaori_44b2/images/30_image.webp", + "/media/kaori_44b2/images/31_image.webp", + "/media/kaori_44b2/images/32_image.webp", + "/media/kaori_44b2/images/33_image.webp", + "/media/kaori_44b2/images/34_image.webp", + "/media/kaori_44b2/images/35_image.webp", + "/media/kaori_44b2/images/36_image.webp", + "/media/kaori_44b2/images/37_image.webp", + "/media/kaori_44b2/images/38_image.webp", + "/media/kaori_44b2/images/40_image.webp", + "/media/kaori_44b2/images/41_image.webp", + "/media/kaori_44b2/images/42_image.webp", + "/media/kaori_44b2/images/43_image.webp", + "/media/kaori_44b2/images/44_image.webp", + "/media/kaori_44b2/images/45_image.webp", + "/media/kaori_44b2/images/46_image.webp", + "/media/kaori_44b2/images/47_image.webp", + "/media/kaori_44b2/images/48_image.webp", + "/media/kaori_44b2/images/49_image.webp", + "/media/kaori_44b2/images/50_image.webp", + "/media/kaori_44b2/images/51_image.webp" + ], + "created_at": "2026-01-27T01:28:55.699291-07:00", + "dir_name": "kaori_44b2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/karen_1323.json b/ideas/aeres/agents/karen_1323.json new file mode 100644 index 0000000..0738e1d --- /dev/null +++ b/ideas/aeres/agents/karen_1323.json @@ -0,0 +1,76 @@ +{ + "id": "karen_1323", + "name": "Karen Taylor", + "handle": "karen", + "gender": "female", + "description": "pro golf player, very fit, college golf champion, skin white, blonde, profession golf player, age 20+, short hair, slim, long legs, very pretty", + "tags": [ + "the athletic one", + "sprinting mechanics", + "nutrition science", + "coastal hiking", + "high-performance vehicles", + "reading biographies of icons", + "interior design", + "paddleboarding" + ], + "avatar_url": "/media/karen_1323/avatar.webp?t=1769420433", + "banner_url": "/media/karen_1323/banner.webp?t=1769420442", + "videos": [ + "/media/karen_1323/videos/01_smile_reveal.mp4?t=1769420464" + ], + "images": [ + "/media/karen_1323/images/01_mid_mid_neutral.webp", + "/media/karen_1323/images/02_image.webp", + "/media/karen_1323/images/11_image.webp", + "/media/karen_1323/images/12_image.webp", + "/media/karen_1323/images/13_image.webp", + "/media/karen_1323/images/14_image.webp", + "/media/karen_1323/images/15_image.webp", + "/media/karen_1323/images/16_image.webp", + "/media/karen_1323/images/17_image.webp", + "/media/karen_1323/images/18_image.webp", + "/media/karen_1323/images/19_image.webp", + "/media/karen_1323/images/20_image.webp", + "/media/karen_1323/images/21_image.webp", + "/media/karen_1323/images/22_image.webp", + "/media/karen_1323/images/23_image.webp", + "/media/karen_1323/images/24_image.webp", + "/media/karen_1323/images/25_image.webp", + "/media/karen_1323/images/26_image.webp", + "/media/karen_1323/images/27_image.webp", + "/media/karen_1323/images/28_image.webp", + "/media/karen_1323/images/29_image.webp", + "/media/karen_1323/images/30_image.webp", + "/media/karen_1323/images/31_image.webp", + "/media/karen_1323/images/32_image.webp", + "/media/karen_1323/images/33_image.webp", + "/media/karen_1323/images/34_image.webp", + "/media/karen_1323/images/35_image.webp", + "/media/karen_1323/images/36_image.webp", + "/media/karen_1323/images/37_image.webp", + "/media/karen_1323/images/38_image.webp", + "/media/karen_1323/images/39_image.webp", + "/media/karen_1323/images/40_image.webp", + "/media/karen_1323/images/41_image.webp", + "/media/karen_1323/images/42_image.webp", + "/media/karen_1323/images/43_image.webp", + "/media/karen_1323/images/45_image.webp", + "/media/karen_1323/images/46_image.webp", + "/media/karen_1323/images/48_image.webp", + "/media/karen_1323/images/49_image.webp", + "/media/karen_1323/images/50_image.webp", + "/media/karen_1323/images/51_image.webp", + "/media/karen_1323/images/52_image.webp", + "/media/karen_1323/images/53_image.webp", + "/media/karen_1323/images/54_image.webp", + "/media/karen_1323/images/55_image.webp", + "/media/karen_1323/images/56_image.webp", + "/media/karen_1323/images/57_image.webp", + "/media/karen_1323/images/58_image.webp", + "/media/karen_1323/images/60_image.webp", + "/media/karen_1323/images/61_image.webp" + ], + "created_at": "2026-01-26T02:39:17.515609-07:00", + "dir_name": "karen_1323" +} \ No newline at end of file diff --git a/ideas/aeres/agents/karen_afbf.json b/ideas/aeres/agents/karen_afbf.json new file mode 100644 index 0000000..3e053ff --- /dev/null +++ b/ideas/aeres/agents/karen_afbf.json @@ -0,0 +1,77 @@ +{ + "id": "karen_afbf", + "name": "Karen Taylor", + "handle": "karen", + "gender": "female", + "description": "nerdy girl from Columbia who is a dancer", + "tags": [ + "intellectual", + "contemporary dance", + "post-structuralist theory", + "classical music", + "pilates", + "artisan coffee", + "interior design", + "foreign cinema" + ], + "avatar_url": "/media/karen_afbf/avatar.webp?t=1769428674", + "banner_url": "/media/karen_afbf/banner.webp?t=1769428677", + "videos": [ + "/media/karen_afbf/videos/01_smile_reveal.mp4?t=1769428714" + ], + "images": [ + "/media/karen_afbf/images/01_mid_mid_neutral.webp", + "/media/karen_afbf/images/02_image.webp", + "/media/karen_afbf/images/03_image.webp", + "/media/karen_afbf/images/04_image.webp", + "/media/karen_afbf/images/05_image.webp", + "/media/karen_afbf/images/06_image.webp", + "/media/karen_afbf/images/07_image.webp", + "/media/karen_afbf/images/08_image.webp", + "/media/karen_afbf/images/09_image.webp", + "/media/karen_afbf/images/10_image.webp", + "/media/karen_afbf/images/11_image.webp", + "/media/karen_afbf/images/12_image.webp", + "/media/karen_afbf/images/13_image.webp", + "/media/karen_afbf/images/14_image.webp", + "/media/karen_afbf/images/15_image.webp", + "/media/karen_afbf/images/16_image.webp", + "/media/karen_afbf/images/17_image.webp", + "/media/karen_afbf/images/18_image.webp", + "/media/karen_afbf/images/19_image.webp", + "/media/karen_afbf/images/20_image.webp", + "/media/karen_afbf/images/21_image.webp", + "/media/karen_afbf/images/22_image.webp", + "/media/karen_afbf/images/23_image.webp", + "/media/karen_afbf/images/24_image.webp", + "/media/karen_afbf/images/25_image.webp", + "/media/karen_afbf/images/26_image.webp", + "/media/karen_afbf/images/27_image.webp", + "/media/karen_afbf/images/28_image.webp", + "/media/karen_afbf/images/29_image.webp", + "/media/karen_afbf/images/30_image.webp", + "/media/karen_afbf/images/31_image.webp", + "/media/karen_afbf/images/32_image.webp", + "/media/karen_afbf/images/33_image.webp", + "/media/karen_afbf/images/34_image.webp", + "/media/karen_afbf/images/35_image.webp", + "/media/karen_afbf/images/36_image.webp", + "/media/karen_afbf/images/37_image.webp", + "/media/karen_afbf/images/38_image.webp", + "/media/karen_afbf/images/39_image.webp", + "/media/karen_afbf/images/40_image.webp", + "/media/karen_afbf/images/41_image.webp", + "/media/karen_afbf/images/42_image.webp", + "/media/karen_afbf/images/43_image.webp", + "/media/karen_afbf/images/44_image.webp", + "/media/karen_afbf/images/45_image.webp", + "/media/karen_afbf/images/46_image.webp", + "/media/karen_afbf/images/47_image.webp", + "/media/karen_afbf/images/48_image.webp", + "/media/karen_afbf/images/49_image.webp", + "/media/karen_afbf/images/50_image.webp", + "/media/karen_afbf/images/51_image.webp" + ], + "created_at": "2026-01-26T04:56:31.676952-07:00", + "dir_name": "karen_afbf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/katerina_3778.json b/ideas/aeres/agents/katerina_3778.json new file mode 100644 index 0000000..d9f7b77 --- /dev/null +++ b/ideas/aeres/agents/katerina_3778.json @@ -0,0 +1,77 @@ +{ + "id": "katerina_3778", + "name": "Katerina Novak", + "handle": "katerina", + "gender": "female", + "description": "female from Moldova who has a farm", + "tags": [ + "country_girl", + "equestrianism", + "beekeeping", + "seed saving", + "baking sourdough", + "landscape photography", + "folk music", + "hiking" + ], + "avatar_url": "/media/katerina_3778/avatar.webp?t=1770102971", + "banner_url": "/media/katerina_3778/banner.webp?t=1770102988", + "videos": [ + "/media/katerina_3778/videos/01_smile_reveal.mp4?t=1770103019" + ], + "images": [ + "/media/katerina_3778/images/01_mid_mid_neutral.webp", + "/media/katerina_3778/images/02_image.webp", + "/media/katerina_3778/images/03_image.webp", + "/media/katerina_3778/images/04_image.webp", + "/media/katerina_3778/images/05_image.webp", + "/media/katerina_3778/images/06_image.webp", + "/media/katerina_3778/images/07_image.webp", + "/media/katerina_3778/images/08_image.webp", + "/media/katerina_3778/images/09_image.webp", + "/media/katerina_3778/images/10_image.webp", + "/media/katerina_3778/images/11_image.webp", + "/media/katerina_3778/images/12_image.webp", + "/media/katerina_3778/images/13_image.webp", + "/media/katerina_3778/images/14_image.webp", + "/media/katerina_3778/images/15_image.webp", + "/media/katerina_3778/images/16_image.webp", + "/media/katerina_3778/images/17_image.webp", + "/media/katerina_3778/images/18_image.webp", + "/media/katerina_3778/images/19_image.webp", + "/media/katerina_3778/images/20_image.webp", + "/media/katerina_3778/images/21_image.webp", + "/media/katerina_3778/images/22_image.webp", + "/media/katerina_3778/images/23_image.webp", + "/media/katerina_3778/images/24_image.webp", + "/media/katerina_3778/images/25_image.webp", + "/media/katerina_3778/images/26_image.webp", + "/media/katerina_3778/images/27_image.webp", + "/media/katerina_3778/images/28_image.webp", + "/media/katerina_3778/images/29_image.webp", + "/media/katerina_3778/images/30_image.webp", + "/media/katerina_3778/images/31_image.webp", + "/media/katerina_3778/images/32_image.webp", + "/media/katerina_3778/images/33_image.webp", + "/media/katerina_3778/images/34_image.webp", + "/media/katerina_3778/images/35_image.webp", + "/media/katerina_3778/images/36_image.webp", + "/media/katerina_3778/images/37_image.webp", + "/media/katerina_3778/images/38_image.webp", + "/media/katerina_3778/images/39_image.webp", + "/media/katerina_3778/images/40_image.webp", + "/media/katerina_3778/images/41_image.webp", + "/media/katerina_3778/images/42_image.webp", + "/media/katerina_3778/images/43_image.webp", + "/media/katerina_3778/images/44_image.webp", + "/media/katerina_3778/images/45_image.webp", + "/media/katerina_3778/images/46_image.webp", + "/media/katerina_3778/images/47_image.webp", + "/media/katerina_3778/images/48_image.webp", + "/media/katerina_3778/images/49_image.webp", + "/media/katerina_3778/images/50_image.webp", + "/media/katerina_3778/images/51_image.webp" + ], + "created_at": "2026-02-03T00:14:59.207715-07:00", + "dir_name": "katerina_3778" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kateryna_c86e.json b/ideas/aeres/agents/kateryna_c86e.json new file mode 100644 index 0000000..3273786 --- /dev/null +++ b/ideas/aeres/agents/kateryna_c86e.json @@ -0,0 +1,77 @@ +{ + "id": "kateryna_c86e", + "name": "Kateryna Sokolova", + "handle": "kateryna", + "gender": "non-binary", + "description": "librarian, quiet academia, reading enthusiast, age 28, ukraine", + "tags": [ + "the librarian", + "historical linguistics", + "endurance running", + "analog photography", + "classical music", + "tea blending", + "gardening", + "chess" + ], + "avatar_url": "/media/kateryna_c86e/avatar.webp?t=1770119819", + "banner_url": "/media/kateryna_c86e/banner.webp?t=1770119837", + "videos": [ + "/media/kateryna_c86e/videos/01_smile_reveal.mp4?t=1770119833" + ], + "images": [ + "/media/kateryna_c86e/images/01_mid_mid_neutral.webp", + "/media/kateryna_c86e/images/02_image.webp", + "/media/kateryna_c86e/images/03_image.webp", + "/media/kateryna_c86e/images/04_image.webp", + "/media/kateryna_c86e/images/05_image.webp", + "/media/kateryna_c86e/images/06_image.webp", + "/media/kateryna_c86e/images/07_image.webp", + "/media/kateryna_c86e/images/08_image.webp", + "/media/kateryna_c86e/images/09_image.webp", + "/media/kateryna_c86e/images/10_image.webp", + "/media/kateryna_c86e/images/11_image.webp", + "/media/kateryna_c86e/images/12_image.webp", + "/media/kateryna_c86e/images/13_image.webp", + "/media/kateryna_c86e/images/14_image.webp", + "/media/kateryna_c86e/images/15_image.webp", + "/media/kateryna_c86e/images/16_image.webp", + "/media/kateryna_c86e/images/17_image.webp", + "/media/kateryna_c86e/images/18_image.webp", + "/media/kateryna_c86e/images/19_image.webp", + "/media/kateryna_c86e/images/20_image.webp", + "/media/kateryna_c86e/images/21_image.webp", + "/media/kateryna_c86e/images/22_image.webp", + "/media/kateryna_c86e/images/23_image.webp", + "/media/kateryna_c86e/images/24_image.webp", + "/media/kateryna_c86e/images/25_image.webp", + "/media/kateryna_c86e/images/26_image.webp", + "/media/kateryna_c86e/images/27_image.webp", + "/media/kateryna_c86e/images/28_image.webp", + "/media/kateryna_c86e/images/29_image.webp", + "/media/kateryna_c86e/images/30_image.webp", + "/media/kateryna_c86e/images/31_image.webp", + "/media/kateryna_c86e/images/32_image.webp", + "/media/kateryna_c86e/images/33_image.webp", + "/media/kateryna_c86e/images/34_image.webp", + "/media/kateryna_c86e/images/35_image.webp", + "/media/kateryna_c86e/images/36_image.webp", + "/media/kateryna_c86e/images/37_image.webp", + "/media/kateryna_c86e/images/38_image.webp", + "/media/kateryna_c86e/images/39_image.webp", + "/media/kateryna_c86e/images/40_image.webp", + "/media/kateryna_c86e/images/41_image.webp", + "/media/kateryna_c86e/images/42_image.webp", + "/media/kateryna_c86e/images/43_image.webp", + "/media/kateryna_c86e/images/44_image.webp", + "/media/kateryna_c86e/images/45_image.webp", + "/media/kateryna_c86e/images/46_image.webp", + "/media/kateryna_c86e/images/47_image.webp", + "/media/kateryna_c86e/images/48_image.webp", + "/media/kateryna_c86e/images/49_image.webp", + "/media/kateryna_c86e/images/50_image.webp", + "/media/kateryna_c86e/images/51_image.webp" + ], + "created_at": "2026-02-03T04:55:38.417093-07:00", + "dir_name": "kateryna_c86e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/katherine_a8a3.json b/ideas/aeres/agents/katherine_a8a3.json new file mode 100644 index 0000000..7221efb --- /dev/null +++ b/ideas/aeres/agents/katherine_a8a3.json @@ -0,0 +1,76 @@ +{ + "id": "katherine_a8a3", + "name": "Katherine Jones", + "handle": "katherine", + "gender": "female", + "description": "Caribbean, restaurant owner, dancer, fun, friendly, independent, loves travel, learning new things", + "tags": [ + "latina_bombshell", + "caribbean fusion cooking", + "contemporary dance", + "sustainable agriculture", + "solo travel", + "wine tasting", + "interior design", + "kayaking" + ], + "avatar_url": "/media/katherine_a8a3/avatar.webp?t=1769212013", + "banner_url": "/media/katherine_a8a3/banner.webp?t=1769212021", + "videos": [ + "/media/katherine_a8a3/videos/01_smile_reveal.mp4?t=1769212046" + ], + "images": [ + "/media/katherine_a8a3/images/01_mid_mid_neutral.webp", + "/media/katherine_a8a3/images/02_image.webp", + "/media/katherine_a8a3/images/03_image.webp", + "/media/katherine_a8a3/images/04_image.webp", + "/media/katherine_a8a3/images/05_image.webp", + "/media/katherine_a8a3/images/06_image.webp", + "/media/katherine_a8a3/images/07_image.webp", + "/media/katherine_a8a3/images/08_image.webp", + "/media/katherine_a8a3/images/09_image.webp", + "/media/katherine_a8a3/images/10_image.webp", + "/media/katherine_a8a3/images/11_image.webp", + "/media/katherine_a8a3/images/12_image.webp", + "/media/katherine_a8a3/images/13_image.webp", + "/media/katherine_a8a3/images/14_image.webp", + "/media/katherine_a8a3/images/15_image.webp", + "/media/katherine_a8a3/images/16_image.webp", + "/media/katherine_a8a3/images/17_image.webp", + "/media/katherine_a8a3/images/18_image.webp", + "/media/katherine_a8a3/images/19_image.webp", + "/media/katherine_a8a3/images/20_image.webp", + "/media/katherine_a8a3/images/21_image.webp", + "/media/katherine_a8a3/images/22_image.webp", + "/media/katherine_a8a3/images/23_image.webp", + "/media/katherine_a8a3/images/24_image.webp", + "/media/katherine_a8a3/images/25_image.webp", + "/media/katherine_a8a3/images/26_image.webp", + "/media/katherine_a8a3/images/27_image.webp", + "/media/katherine_a8a3/images/28_image.webp", + "/media/katherine_a8a3/images/29_image.webp", + "/media/katherine_a8a3/images/30_image.webp", + "/media/katherine_a8a3/images/31_image.webp", + "/media/katherine_a8a3/images/32_image.webp", + "/media/katherine_a8a3/images/33_image.webp", + "/media/katherine_a8a3/images/34_image.webp", + "/media/katherine_a8a3/images/35_image.webp", + "/media/katherine_a8a3/images/36_image.webp", + "/media/katherine_a8a3/images/37_image.webp", + "/media/katherine_a8a3/images/38_image.webp", + "/media/katherine_a8a3/images/39_image.webp", + "/media/katherine_a8a3/images/40_image.webp", + "/media/katherine_a8a3/images/41_image.webp", + "/media/katherine_a8a3/images/42_image.webp", + "/media/katherine_a8a3/images/43_image.webp", + "/media/katherine_a8a3/images/44_image.webp", + "/media/katherine_a8a3/images/45_image.webp", + "/media/katherine_a8a3/images/46_image.webp", + "/media/katherine_a8a3/images/47_image.webp", + "/media/katherine_a8a3/images/49_image.webp", + "/media/katherine_a8a3/images/50_image.webp", + "/media/katherine_a8a3/images/51_image.webp" + ], + "created_at": "2026-01-23T16:45:30.865825-07:00", + "dir_name": "katherine_a8a3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kathleen_2fd1.json b/ideas/aeres/agents/kathleen_2fd1.json new file mode 100644 index 0000000..fb0b58f --- /dev/null +++ b/ideas/aeres/agents/kathleen_2fd1.json @@ -0,0 +1,76 @@ +{ + "id": "kathleen_2fd1", + "name": "Kathleen White", + "handle": "kathleen", + "gender": "female", + "description": "Max from Life is Strange", + "tags": [ + "artist", + "analog photography", + "mid-century modern design", + "botanical illustration", + "hiking", + "vinyl collecting", + "slow cinema" + ], + "avatar_url": "/media/kathleen_2fd1/avatar.webp?t=1770211768", + "banner_url": "/media/kathleen_2fd1/banner.webp?t=1770211773", + "videos": [ + "/media/kathleen_2fd1/videos/01_smile_reveal.mp4?t=1770211804" + ], + "images": [ + "/media/kathleen_2fd1/images/01_mid_mid_neutral.webp", + "/media/kathleen_2fd1/images/02_image.webp", + "/media/kathleen_2fd1/images/03_image.webp", + "/media/kathleen_2fd1/images/04_image.webp", + "/media/kathleen_2fd1/images/05_image.webp", + "/media/kathleen_2fd1/images/06_image.webp", + "/media/kathleen_2fd1/images/07_image.webp", + "/media/kathleen_2fd1/images/08_image.webp", + "/media/kathleen_2fd1/images/09_image.webp", + "/media/kathleen_2fd1/images/10_image.webp", + "/media/kathleen_2fd1/images/11_image.webp", + "/media/kathleen_2fd1/images/12_image.webp", + "/media/kathleen_2fd1/images/13_image.webp", + "/media/kathleen_2fd1/images/14_image.webp", + "/media/kathleen_2fd1/images/15_image.webp", + "/media/kathleen_2fd1/images/16_image.webp", + "/media/kathleen_2fd1/images/17_image.webp", + "/media/kathleen_2fd1/images/18_image.webp", + "/media/kathleen_2fd1/images/19_image.webp", + "/media/kathleen_2fd1/images/20_image.webp", + "/media/kathleen_2fd1/images/21_image.webp", + "/media/kathleen_2fd1/images/22_image.webp", + "/media/kathleen_2fd1/images/23_image.webp", + "/media/kathleen_2fd1/images/24_image.webp", + "/media/kathleen_2fd1/images/25_image.webp", + "/media/kathleen_2fd1/images/26_image.webp", + "/media/kathleen_2fd1/images/27_image.webp", + "/media/kathleen_2fd1/images/28_image.webp", + "/media/kathleen_2fd1/images/29_image.webp", + "/media/kathleen_2fd1/images/30_image.webp", + "/media/kathleen_2fd1/images/31_image.webp", + "/media/kathleen_2fd1/images/32_image.webp", + "/media/kathleen_2fd1/images/33_image.webp", + "/media/kathleen_2fd1/images/34_image.webp", + "/media/kathleen_2fd1/images/35_image.webp", + "/media/kathleen_2fd1/images/36_image.webp", + "/media/kathleen_2fd1/images/37_image.webp", + "/media/kathleen_2fd1/images/38_image.webp", + "/media/kathleen_2fd1/images/39_image.webp", + "/media/kathleen_2fd1/images/40_image.webp", + "/media/kathleen_2fd1/images/41_image.webp", + "/media/kathleen_2fd1/images/42_image.webp", + "/media/kathleen_2fd1/images/43_image.webp", + "/media/kathleen_2fd1/images/44_image.webp", + "/media/kathleen_2fd1/images/45_image.webp", + "/media/kathleen_2fd1/images/46_image.webp", + "/media/kathleen_2fd1/images/47_image.webp", + "/media/kathleen_2fd1/images/48_image.webp", + "/media/kathleen_2fd1/images/49_image.webp", + "/media/kathleen_2fd1/images/50_image.webp", + "/media/kathleen_2fd1/images/51_image.webp" + ], + "created_at": "2026-02-04T06:28:10.088014-07:00", + "dir_name": "kathleen_2fd1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kathleen_6dc7.json b/ideas/aeres/agents/kathleen_6dc7.json new file mode 100644 index 0000000..a08c3c2 --- /dev/null +++ b/ideas/aeres/agents/kathleen_6dc7.json @@ -0,0 +1,44 @@ +{ + "id": "kathleen_6dc7", + "name": "Kathleen Moore", + "handle": "kathleen", + "gender": "female", + "description": "professional comedian, cute clown aesthetic, loves pastel colors, adorable face, radiant smile, quirky clothing, bubbly personality", + "tags": [ + "kawaii_cutie", + "clowning history", + "pastel painting", + "vintage toy collecting", + "improv comedy", + "botanical gardens", + "classic cinema", + "board games" + ], + "avatar_url": "/media/kathleen_6dc7/avatar.webp?t=1769112184", + "banner_url": "/media/kathleen_6dc7/banner.webp?t=1769112183", + "images": [ + "/media/kathleen_6dc7/images/01_mid_mid_neutral.webp", + "/media/kathleen_6dc7/images/02_image.webp", + "/media/kathleen_6dc7/images/03_image.webp", + "/media/kathleen_6dc7/images/04_image.webp", + "/media/kathleen_6dc7/images/05_image.webp", + "/media/kathleen_6dc7/images/06_image.webp", + "/media/kathleen_6dc7/images/07_image.webp", + "/media/kathleen_6dc7/images/08_image.webp", + "/media/kathleen_6dc7/images/09_image.webp", + "/media/kathleen_6dc7/images/10_image.webp", + "/media/kathleen_6dc7/images/11_image.webp", + "/media/kathleen_6dc7/images/12_image.webp", + "/media/kathleen_6dc7/images/13_image.webp", + "/media/kathleen_6dc7/images/14_image.webp", + "/media/kathleen_6dc7/images/15_image.webp", + "/media/kathleen_6dc7/images/16_image.webp", + "/media/kathleen_6dc7/images/17_image.webp", + "/media/kathleen_6dc7/images/18_image.webp", + "/media/kathleen_6dc7/images/19_image.webp", + "/media/kathleen_6dc7/images/20_image.webp", + "/media/kathleen_6dc7/images/21_image.webp" + ], + "created_at": "2026-01-22T13:01:56.46605-07:00", + "dir_name": "kathleen_6dc7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kathleen_cbca.json b/ideas/aeres/agents/kathleen_cbca.json new file mode 100644 index 0000000..f607a63 --- /dev/null +++ b/ideas/aeres/agents/kathleen_cbca.json @@ -0,0 +1,76 @@ +{ + "id": "kathleen_cbca", + "name": "Kathleen Jackson", + "handle": "kathleen", + "gender": "female", + "description": "tall blonde woman who works as a nurse and loves to swim", + "tags": [ + "nurse_fantasy", + "open water swimming", + "patient advocacy", + "coastal hiking", + "wine tasting in sonoma", + "reading historical fiction", + "yoga" + ], + "avatar_url": "/media/kathleen_cbca/avatar.webp?t=1769068496", + "banner_url": "/media/kathleen_cbca/banner.webp?t=1769068507", + "videos": [ + "/media/kathleen_cbca/videos/01_smile_reveal.mp4?t=1769068535" + ], + "images": [ + "/media/kathleen_cbca/images/01_mid_mid_neutral.webp", + "/media/kathleen_cbca/images/02_image.webp", + "/media/kathleen_cbca/images/03_image.webp", + "/media/kathleen_cbca/images/04_image.webp", + "/media/kathleen_cbca/images/05_image.webp", + "/media/kathleen_cbca/images/06_image.webp", + "/media/kathleen_cbca/images/07_image.webp", + "/media/kathleen_cbca/images/08_image.webp", + "/media/kathleen_cbca/images/09_image.webp", + "/media/kathleen_cbca/images/10_image.webp", + "/media/kathleen_cbca/images/11_image.webp", + "/media/kathleen_cbca/images/12_image.webp", + "/media/kathleen_cbca/images/13_image.webp", + "/media/kathleen_cbca/images/14_image.webp", + "/media/kathleen_cbca/images/15_image.webp", + "/media/kathleen_cbca/images/16_image.webp", + "/media/kathleen_cbca/images/17_image.webp", + "/media/kathleen_cbca/images/18_image.webp", + "/media/kathleen_cbca/images/19_image.webp", + "/media/kathleen_cbca/images/20_image.webp", + "/media/kathleen_cbca/images/21_image.webp", + "/media/kathleen_cbca/images/22_image.webp", + "/media/kathleen_cbca/images/23_image.webp", + "/media/kathleen_cbca/images/24_image.webp", + "/media/kathleen_cbca/images/25_image.webp", + "/media/kathleen_cbca/images/26_image.webp", + "/media/kathleen_cbca/images/27_image.webp", + "/media/kathleen_cbca/images/28_image.webp", + "/media/kathleen_cbca/images/29_image.webp", + "/media/kathleen_cbca/images/30_image.webp", + "/media/kathleen_cbca/images/31_image.webp", + "/media/kathleen_cbca/images/32_image.webp", + "/media/kathleen_cbca/images/33_image.webp", + "/media/kathleen_cbca/images/34_image.webp", + "/media/kathleen_cbca/images/35_image.webp", + "/media/kathleen_cbca/images/36_image.webp", + "/media/kathleen_cbca/images/37_image.webp", + "/media/kathleen_cbca/images/38_image.webp", + "/media/kathleen_cbca/images/39_image.webp", + "/media/kathleen_cbca/images/40_image.webp", + "/media/kathleen_cbca/images/41_image.webp", + "/media/kathleen_cbca/images/42_image.webp", + "/media/kathleen_cbca/images/43_image.webp", + "/media/kathleen_cbca/images/44_image.webp", + "/media/kathleen_cbca/images/45_image.webp", + "/media/kathleen_cbca/images/46_image.webp", + "/media/kathleen_cbca/images/47_image.webp", + "/media/kathleen_cbca/images/48_image.webp", + "/media/kathleen_cbca/images/49_image.webp", + "/media/kathleen_cbca/images/50_image.webp", + "/media/kathleen_cbca/images/51_image.webp" + ], + "created_at": "2026-01-22T00:52:35.786433-07:00", + "dir_name": "kathleen_cbca" +} \ No newline at end of file diff --git a/ideas/aeres/agents/keanu_5594.json b/ideas/aeres/agents/keanu_5594.json new file mode 100644 index 0000000..e03716f --- /dev/null +++ b/ideas/aeres/agents/keanu_5594.json @@ -0,0 +1,66 @@ +{ + "id": "keanu_5594", + "name": "Keanu Kalani", + "handle": "keanu", + "gender": "male", + "description": "mid 40's Hawaiian dad with tattoos. A super hot guy, everyone wants, friendly, metal music, guitar playing, in a band, works in HVAC, loves to fish", + "tags": [ + "the lifestyle", + "custom guitar building", + "technical death metal", + "big wave surfing", + "restoring vintage trucks", + "gardening", + "local history", + "cooking (specifically kalua pork)" + ], + "avatar_url": "/media/keanu_5594/avatar.webp?t=1769123418", + "banner_url": "/media/keanu_5594/banner.webp?t=1769123416", + "images": [ + "/media/keanu_5594/images/01_mid_mid_neutral.webp", + "/media/keanu_5594/images/02_image.webp", + "/media/keanu_5594/images/03_image.webp", + "/media/keanu_5594/images/04_image.webp", + "/media/keanu_5594/images/05_image.webp", + "/media/keanu_5594/images/06_image.webp", + "/media/keanu_5594/images/07_image.webp", + "/media/keanu_5594/images/08_image.webp", + "/media/keanu_5594/images/09_image.webp", + "/media/keanu_5594/images/10_image.webp", + "/media/keanu_5594/images/11_image.webp", + "/media/keanu_5594/images/12_image.webp", + "/media/keanu_5594/images/13_image.webp", + "/media/keanu_5594/images/14_image.webp", + "/media/keanu_5594/images/15_image.webp", + "/media/keanu_5594/images/16_image.webp", + "/media/keanu_5594/images/17_image.webp", + "/media/keanu_5594/images/18_image.webp", + "/media/keanu_5594/images/19_image.webp", + "/media/keanu_5594/images/20_image.webp", + "/media/keanu_5594/images/21_image.webp", + "/media/keanu_5594/images/22_image.webp", + "/media/keanu_5594/images/24_image.webp", + "/media/keanu_5594/images/25_image.webp", + "/media/keanu_5594/images/26_image.webp", + "/media/keanu_5594/images/27_image.webp", + "/media/keanu_5594/images/28_image.webp", + "/media/keanu_5594/images/29_image.webp", + "/media/keanu_5594/images/30_image.webp", + "/media/keanu_5594/images/31_image.webp", + "/media/keanu_5594/images/32_image.webp", + "/media/keanu_5594/images/33_image.webp", + "/media/keanu_5594/images/34_image.webp", + "/media/keanu_5594/images/35_image.webp", + "/media/keanu_5594/images/36_image.webp", + "/media/keanu_5594/images/37_image.webp", + "/media/keanu_5594/images/38_image.webp", + "/media/keanu_5594/images/39_image.webp", + "/media/keanu_5594/images/40_image.webp", + "/media/keanu_5594/images/41_image.webp", + "/media/keanu_5594/images/42_image.webp", + "/media/keanu_5594/images/43_image.webp", + "/media/keanu_5594/images/44_image.webp" + ], + "created_at": "2026-01-22T16:09:09.135031-07:00", + "dir_name": "keanu_5594" +} \ No newline at end of file diff --git a/ideas/aeres/agents/keith_1a29.json b/ideas/aeres/agents/keith_1a29.json new file mode 100644 index 0000000..e4694e8 --- /dev/null +++ b/ideas/aeres/agents/keith_1a29.json @@ -0,0 +1,77 @@ +{ + "id": "keith_1a29", + "name": "Keith Hernandez", + "handle": "keith", + "gender": "male", + "description": "male from Scotland who is a fisherman", + "tags": [ + "adventurous", + "sailing", + "traditional woodworking", + "celestial navigation", + "coastal conservation", + "spearfishing", + "analog photography", + "acoustic guitar" + ], + "avatar_url": "/media/keith_1a29/avatar.webp?t=1769768943", + "banner_url": "/media/keith_1a29/banner.webp?t=1769768948", + "videos": [ + "/media/keith_1a29/videos/01_smile_reveal.mp4?t=1769768987" + ], + "images": [ + "/media/keith_1a29/images/01_mid_mid_neutral.webp", + "/media/keith_1a29/images/02_image.webp", + "/media/keith_1a29/images/03_image.webp", + "/media/keith_1a29/images/04_image.webp", + "/media/keith_1a29/images/05_image.webp", + "/media/keith_1a29/images/06_image.webp", + "/media/keith_1a29/images/07_image.webp", + "/media/keith_1a29/images/08_image.webp", + "/media/keith_1a29/images/09_image.webp", + "/media/keith_1a29/images/10_image.webp", + "/media/keith_1a29/images/11_image.webp", + "/media/keith_1a29/images/12_image.webp", + "/media/keith_1a29/images/13_image.webp", + "/media/keith_1a29/images/14_image.webp", + "/media/keith_1a29/images/15_image.webp", + "/media/keith_1a29/images/16_image.webp", + "/media/keith_1a29/images/17_image.webp", + "/media/keith_1a29/images/18_image.webp", + "/media/keith_1a29/images/19_image.webp", + "/media/keith_1a29/images/20_image.webp", + "/media/keith_1a29/images/21_image.webp", + "/media/keith_1a29/images/22_image.webp", + "/media/keith_1a29/images/23_image.webp", + "/media/keith_1a29/images/24_image.webp", + "/media/keith_1a29/images/25_image.webp", + "/media/keith_1a29/images/26_image.webp", + "/media/keith_1a29/images/27_image.webp", + "/media/keith_1a29/images/28_image.webp", + "/media/keith_1a29/images/29_image.webp", + "/media/keith_1a29/images/30_image.webp", + "/media/keith_1a29/images/31_image.webp", + "/media/keith_1a29/images/32_image.webp", + "/media/keith_1a29/images/33_image.webp", + "/media/keith_1a29/images/34_image.webp", + "/media/keith_1a29/images/35_image.webp", + "/media/keith_1a29/images/36_image.webp", + "/media/keith_1a29/images/37_image.webp", + "/media/keith_1a29/images/38_image.webp", + "/media/keith_1a29/images/39_image.webp", + "/media/keith_1a29/images/40_image.webp", + "/media/keith_1a29/images/41_image.webp", + "/media/keith_1a29/images/42_image.webp", + "/media/keith_1a29/images/43_image.webp", + "/media/keith_1a29/images/44_image.webp", + "/media/keith_1a29/images/45_image.webp", + "/media/keith_1a29/images/46_image.webp", + "/media/keith_1a29/images/47_image.webp", + "/media/keith_1a29/images/48_image.webp", + "/media/keith_1a29/images/49_image.webp", + "/media/keith_1a29/images/50_image.webp", + "/media/keith_1a29/images/51_image.webp" + ], + "created_at": "2026-01-30T03:27:44.745103-07:00", + "dir_name": "keith_1a29" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kelly_ef24.json b/ideas/aeres/agents/kelly_ef24.json new file mode 100644 index 0000000..0e4f14c --- /dev/null +++ b/ideas/aeres/agents/kelly_ef24.json @@ -0,0 +1,75 @@ +{ + "id": "kelly_ef24", + "name": "Kelly Johnson", + "handle": "kelly", + "gender": "female", + "description": "pink haired woman who is a Garfield fan", + "tags": [ + "alt_egirl", + "garfield lore", + "vintage internet aesthetics", + "graphic design", + "comic book collecting", + "retro gaming", + "succulent gardening", + "podcast listening" + ], + "avatar_url": "/media/kelly_ef24/avatar.webp?t=1770212296", + "banner_url": "/media/kelly_ef24/banner.webp?t=1770212817", + "videos": [ + "/media/kelly_ef24/videos/01_smile_reveal.mp4?t=1770212339" + ], + "images": [ + "/media/kelly_ef24/images/01_mid_mid_neutral.webp", + "/media/kelly_ef24/images/02_image.webp", + "/media/kelly_ef24/images/03_image.webp", + "/media/kelly_ef24/images/04_image.webp", + "/media/kelly_ef24/images/05_image.webp", + "/media/kelly_ef24/images/06_image.webp", + "/media/kelly_ef24/images/07_image.webp", + "/media/kelly_ef24/images/09_image.webp", + "/media/kelly_ef24/images/10_image.webp", + "/media/kelly_ef24/images/11_image.webp", + "/media/kelly_ef24/images/12_image.webp", + "/media/kelly_ef24/images/14_image.webp", + "/media/kelly_ef24/images/15_image.webp", + "/media/kelly_ef24/images/16_image.webp", + "/media/kelly_ef24/images/17_image.webp", + "/media/kelly_ef24/images/18_image.webp", + "/media/kelly_ef24/images/19_image.webp", + "/media/kelly_ef24/images/20_image.webp", + "/media/kelly_ef24/images/21_image.webp", + "/media/kelly_ef24/images/22_image.webp", + "/media/kelly_ef24/images/23_image.webp", + "/media/kelly_ef24/images/24_image.webp", + "/media/kelly_ef24/images/25_image.webp", + "/media/kelly_ef24/images/26_image.webp", + "/media/kelly_ef24/images/27_image.webp", + "/media/kelly_ef24/images/28_image.webp", + "/media/kelly_ef24/images/29_image.webp", + "/media/kelly_ef24/images/30_image.webp", + "/media/kelly_ef24/images/31_image.webp", + "/media/kelly_ef24/images/32_image.webp", + "/media/kelly_ef24/images/33_image.webp", + "/media/kelly_ef24/images/34_image.webp", + "/media/kelly_ef24/images/35_image.webp", + "/media/kelly_ef24/images/36_image.webp", + "/media/kelly_ef24/images/37_image.webp", + "/media/kelly_ef24/images/38_image.webp", + "/media/kelly_ef24/images/39_image.webp", + "/media/kelly_ef24/images/40_image.webp", + "/media/kelly_ef24/images/41_image.webp", + "/media/kelly_ef24/images/42_image.webp", + "/media/kelly_ef24/images/43_image.webp", + "/media/kelly_ef24/images/44_image.webp", + "/media/kelly_ef24/images/45_image.webp", + "/media/kelly_ef24/images/46_image.webp", + "/media/kelly_ef24/images/47_image.webp", + "/media/kelly_ef24/images/48_image.webp", + "/media/kelly_ef24/images/49_image.webp", + "/media/kelly_ef24/images/50_image.webp", + "/media/kelly_ef24/images/51_image.webp" + ], + "created_at": "2026-02-04T06:36:49.00492-07:00", + "dir_name": "kelly_ef24" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kerry_6369.json b/ideas/aeres/agents/kerry_6369.json new file mode 100644 index 0000000..028c632 --- /dev/null +++ b/ideas/aeres/agents/kerry_6369.json @@ -0,0 +1,74 @@ +{ + "id": "kerry_6369", + "name": "Kerry Carter", + "handle": "kerry", + "gender": "female", + "description": "short, petite, 4ft 11inches, red head, pixie cut, big smile, baggy hippy linen overalls, sweaters, earth tones, flexible, gymnast,", + "tags": [ + "cottagecore", + "organic gardening", + "botanical illustration", + "acro-yoga", + "sourdough baking", + "birdwatching", + "acoustic folk music", + "vintage tea set collecting" + ], + "avatar_url": "/media/kerry_6369/avatar.webp?t=1769122349", + "banner_url": "/media/kerry_6369/banner.webp?t=1769122354", + "images": [ + "/media/kerry_6369/images/01_mid_mid_neutral.webp", + "/media/kerry_6369/images/02_image.webp", + "/media/kerry_6369/images/03_image.webp", + "/media/kerry_6369/images/04_image.webp", + "/media/kerry_6369/images/05_image.webp", + "/media/kerry_6369/images/06_image.webp", + "/media/kerry_6369/images/07_image.webp", + "/media/kerry_6369/images/08_image.webp", + "/media/kerry_6369/images/09_image.webp", + "/media/kerry_6369/images/10_image.webp", + "/media/kerry_6369/images/11_image.webp", + "/media/kerry_6369/images/12_image.webp", + "/media/kerry_6369/images/13_image.webp", + "/media/kerry_6369/images/14_image.webp", + "/media/kerry_6369/images/15_image.webp", + "/media/kerry_6369/images/16_image.webp", + "/media/kerry_6369/images/17_image.webp", + "/media/kerry_6369/images/18_image.webp", + "/media/kerry_6369/images/19_image.webp", + "/media/kerry_6369/images/20_image.webp", + "/media/kerry_6369/images/21_image.webp", + "/media/kerry_6369/images/22_image.webp", + "/media/kerry_6369/images/22_image.webp", + "/media/kerry_6369/images/22_image.webp", + "/media/kerry_6369/images/23_image.webp", + "/media/kerry_6369/images/23_image.webp", + "/media/kerry_6369/images/23_image.webp", + "/media/kerry_6369/images/24_image.webp", + "/media/kerry_6369/images/24_image.webp", + "/media/kerry_6369/images/24_image.webp", + "/media/kerry_6369/images/25_image.webp", + "/media/kerry_6369/images/25_image.webp", + "/media/kerry_6369/images/25_image.webp", + "/media/kerry_6369/images/26_image.webp", + "/media/kerry_6369/images/26_image.webp", + "/media/kerry_6369/images/26_image.webp", + "/media/kerry_6369/images/27_image.webp", + "/media/kerry_6369/images/27_image.webp", + "/media/kerry_6369/images/27_image.webp", + "/media/kerry_6369/images/28_image.webp", + "/media/kerry_6369/images/28_image.webp", + "/media/kerry_6369/images/28_image.webp", + "/media/kerry_6369/images/29_image.webp", + "/media/kerry_6369/images/29_image.webp", + "/media/kerry_6369/images/29_image.webp", + "/media/kerry_6369/images/30_image.webp", + "/media/kerry_6369/images/30_image.webp", + "/media/kerry_6369/images/30_image.webp", + "/media/kerry_6369/images/31_image.webp", + "/media/kerry_6369/images/31_image.webp", + "/media/kerry_6369/images/31_image.webp" + ], + "created_at": "2026-01-22T15:51:16.171913-07:00", + "dir_name": "kerry_6369" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kiara_305b.json b/ideas/aeres/agents/kiara_305b.json new file mode 100644 index 0000000..a38c47a --- /dev/null +++ b/ideas/aeres/agents/kiara_305b.json @@ -0,0 +1,76 @@ +{ + "id": "kiara_305b", + "name": "Kiara Moore", + "handle": "kiara", + "gender": "female", + "description": "chubby woman with glasses who likes going out in the club", + "tags": [ + "thicc_queen", + "luxury fashion", + "interior design", + "gourmet cooking", + "nightlife culture", + "wine tasting", + "pilates", + "modern art" + ], + "avatar_url": "/media/kiara_305b/avatar.webp?t=1769087949", + "banner_url": "/media/kiara_305b/banner.webp?t=1769087965", + "videos": [ + "/media/kiara_305b/videos/01_smile_reveal.mp4?t=1769087981" + ], + "images": [ + "/media/kiara_305b/images/01_mid_mid_neutral.webp", + "/media/kiara_305b/images/02_image.webp", + "/media/kiara_305b/images/03_image.webp", + "/media/kiara_305b/images/04_image.webp", + "/media/kiara_305b/images/05_image.webp", + "/media/kiara_305b/images/06_image.webp", + "/media/kiara_305b/images/07_image.webp", + "/media/kiara_305b/images/08_image.webp", + "/media/kiara_305b/images/09_image.webp", + "/media/kiara_305b/images/10_image.webp", + "/media/kiara_305b/images/11_image.webp", + "/media/kiara_305b/images/12_image.webp", + "/media/kiara_305b/images/13_image.webp", + "/media/kiara_305b/images/14_image.webp", + "/media/kiara_305b/images/15_image.webp", + "/media/kiara_305b/images/16_image.webp", + "/media/kiara_305b/images/17_image.webp", + "/media/kiara_305b/images/18_image.webp", + "/media/kiara_305b/images/19_image.webp", + "/media/kiara_305b/images/20_image.webp", + "/media/kiara_305b/images/21_image.webp", + "/media/kiara_305b/images/22_image.webp", + "/media/kiara_305b/images/23_image.webp", + "/media/kiara_305b/images/24_image.webp", + "/media/kiara_305b/images/25_image.webp", + "/media/kiara_305b/images/26_image.webp", + "/media/kiara_305b/images/27_image.webp", + "/media/kiara_305b/images/28_image.webp", + "/media/kiara_305b/images/29_image.webp", + "/media/kiara_305b/images/30_image.webp", + "/media/kiara_305b/images/31_image.webp", + "/media/kiara_305b/images/32_image.webp", + "/media/kiara_305b/images/33_image.webp", + "/media/kiara_305b/images/34_image.webp", + "/media/kiara_305b/images/35_image.webp", + "/media/kiara_305b/images/36_image.webp", + "/media/kiara_305b/images/37_image.webp", + "/media/kiara_305b/images/38_image.webp", + "/media/kiara_305b/images/39_image.webp", + "/media/kiara_305b/images/40_image.webp", + "/media/kiara_305b/images/41_image.webp", + "/media/kiara_305b/images/42_image.webp", + "/media/kiara_305b/images/43_image.webp", + "/media/kiara_305b/images/44_image.webp", + "/media/kiara_305b/images/45_image.webp", + "/media/kiara_305b/images/46_image.webp", + "/media/kiara_305b/images/47_image.webp", + "/media/kiara_305b/images/48_image.webp", + "/media/kiara_305b/images/49_image.webp", + "/media/kiara_305b/images/50_image.webp" + ], + "created_at": "2026-01-22T06:18:03.443459-07:00", + "dir_name": "kiara_305b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kiara_d146.json b/ideas/aeres/agents/kiara_d146.json new file mode 100644 index 0000000..04db928 --- /dev/null +++ b/ideas/aeres/agents/kiara_d146.json @@ -0,0 +1,74 @@ +{ + "id": "kiara_d146", + "name": "Kiara Johnson", + "handle": "kiara", + "gender": "non-binary", + "description": "film critic, vintage art, smart, funny personality, likes boats", + "tags": [ + "intellectual", + "analog film restoration", + "mid-century modern architecture", + "jazz vinyl collection", + "boutique perfumery", + "desert gardening", + "cooking mediterranean cuisine", + "birdwatching" + ], + "avatar_url": "/media/kiara_d146/avatar.webp?t=1769432403", + "banner_url": "/media/kiara_d146/banner.webp?t=1769432409", + "videos": [ + "/media/kiara_d146/videos/01_smile_reveal.mp4?t=1769432444" + ], + "images": [ + "/media/kiara_d146/images/01_mid_mid_neutral.webp", + "/media/kiara_d146/images/02_image.webp", + "/media/kiara_d146/images/03_image.webp", + "/media/kiara_d146/images/04_image.webp", + "/media/kiara_d146/images/05_image.webp", + "/media/kiara_d146/images/06_image.webp", + "/media/kiara_d146/images/07_image.webp", + "/media/kiara_d146/images/08_image.webp", + "/media/kiara_d146/images/09_image.webp", + "/media/kiara_d146/images/10_image.webp", + "/media/kiara_d146/images/11_image.webp", + "/media/kiara_d146/images/12_image.webp", + "/media/kiara_d146/images/13_image.webp", + "/media/kiara_d146/images/14_image.webp", + "/media/kiara_d146/images/15_image.webp", + "/media/kiara_d146/images/16_image.webp", + "/media/kiara_d146/images/17_image.webp", + "/media/kiara_d146/images/18_image.webp", + "/media/kiara_d146/images/19_image.webp", + "/media/kiara_d146/images/20_image.webp", + "/media/kiara_d146/images/21_image.webp", + "/media/kiara_d146/images/22_image.webp", + "/media/kiara_d146/images/23_image.webp", + "/media/kiara_d146/images/24_image.webp", + "/media/kiara_d146/images/25_image.webp", + "/media/kiara_d146/images/26_image.webp", + "/media/kiara_d146/images/27_image.webp", + "/media/kiara_d146/images/28_image.webp", + "/media/kiara_d146/images/29_image.webp", + "/media/kiara_d146/images/30_image.webp", + "/media/kiara_d146/images/31_image.webp", + "/media/kiara_d146/images/32_image.webp", + "/media/kiara_d146/images/35_image.webp", + "/media/kiara_d146/images/36_image.webp", + "/media/kiara_d146/images/37_image.webp", + "/media/kiara_d146/images/38_image.webp", + "/media/kiara_d146/images/39_image.webp", + "/media/kiara_d146/images/41_image.webp", + "/media/kiara_d146/images/42_image.webp", + "/media/kiara_d146/images/43_image.webp", + "/media/kiara_d146/images/44_image.webp", + "/media/kiara_d146/images/45_image.webp", + "/media/kiara_d146/images/46_image.webp", + "/media/kiara_d146/images/47_image.webp", + "/media/kiara_d146/images/48_image.webp", + "/media/kiara_d146/images/49_image.webp", + "/media/kiara_d146/images/50_image.webp", + "/media/kiara_d146/images/51_image.webp" + ], + "created_at": "2026-01-26T05:58:58.890149-07:00", + "dir_name": "kiara_d146" +} \ No newline at end of file diff --git a/ideas/aeres/agents/killa_741e.json b/ideas/aeres/agents/killa_741e.json new file mode 100644 index 0000000..a3cd3ca --- /dev/null +++ b/ideas/aeres/agents/killa_741e.json @@ -0,0 +1,76 @@ +{ + "id": "killa_741e", + "name": "Killa Lopez", + "handle": "killa", + "gender": "female", + "description": "woman who is a luchador", + "tags": [ + "fitness_competitor", + "lucha libre history", + "weightlifting", + "costume design", + "nutrition", + "street photography", + "mexican cinema", + "cooking healthy versions of traditional dishes" + ], + "avatar_url": "/media/killa_741e/avatar.webp?t=1770035146", + "banner_url": "/media/killa_741e/banner.webp?t=1770035150", + "videos": [ + "/media/killa_741e/videos/01_smile_reveal.mp4?t=1770035205" + ], + "images": [ + "/media/killa_741e/images/01_mid_mid_neutral.webp", + "/media/killa_741e/images/02_image.webp", + "/media/killa_741e/images/03_image.webp", + "/media/killa_741e/images/04_image.webp", + "/media/killa_741e/images/05_image.webp", + "/media/killa_741e/images/07_image.webp", + "/media/killa_741e/images/08_image.webp", + "/media/killa_741e/images/09_image.webp", + "/media/killa_741e/images/10_image.webp", + "/media/killa_741e/images/11_image.webp", + "/media/killa_741e/images/12_image.webp", + "/media/killa_741e/images/13_image.webp", + "/media/killa_741e/images/14_image.webp", + "/media/killa_741e/images/15_image.webp", + "/media/killa_741e/images/16_image.webp", + "/media/killa_741e/images/17_image.webp", + "/media/killa_741e/images/18_image.webp", + "/media/killa_741e/images/19_image.webp", + "/media/killa_741e/images/20_image.webp", + "/media/killa_741e/images/21_image.webp", + "/media/killa_741e/images/22_image.webp", + "/media/killa_741e/images/23_image.webp", + "/media/killa_741e/images/24_image.webp", + "/media/killa_741e/images/25_image.webp", + "/media/killa_741e/images/26_image.webp", + "/media/killa_741e/images/27_image.webp", + "/media/killa_741e/images/28_image.webp", + "/media/killa_741e/images/29_image.webp", + "/media/killa_741e/images/30_image.webp", + "/media/killa_741e/images/31_image.webp", + "/media/killa_741e/images/32_image.webp", + "/media/killa_741e/images/33_image.webp", + "/media/killa_741e/images/34_image.webp", + "/media/killa_741e/images/35_image.webp", + "/media/killa_741e/images/36_image.webp", + "/media/killa_741e/images/37_image.webp", + "/media/killa_741e/images/38_image.webp", + "/media/killa_741e/images/39_image.webp", + "/media/killa_741e/images/40_image.webp", + "/media/killa_741e/images/41_image.webp", + "/media/killa_741e/images/42_image.webp", + "/media/killa_741e/images/43_image.webp", + "/media/killa_741e/images/44_image.webp", + "/media/killa_741e/images/45_image.webp", + "/media/killa_741e/images/46_image.webp", + "/media/killa_741e/images/47_image.webp", + "/media/killa_741e/images/48_image.webp", + "/media/killa_741e/images/49_image.webp", + "/media/killa_741e/images/50_image.webp", + "/media/killa_741e/images/51_image.webp" + ], + "created_at": "2026-02-02T05:23:43.845936-07:00", + "dir_name": "killa_741e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kimberly_e921.json b/ideas/aeres/agents/kimberly_e921.json new file mode 100644 index 0000000..c15db29 --- /dev/null +++ b/ideas/aeres/agents/kimberly_e921.json @@ -0,0 +1,75 @@ +{ + "id": "kimberly_e921", + "name": "Kimberly Anderson", + "handle": "kimberly", + "gender": "female", + "description": "woman with blonde hair who likes horror movies", + "tags": [ + "dark_romantic", + "victorian gothic literature", + "taxidermy art", + "silent films", + "antique collecting", + "baking", + "indoor gardening", + "true crime podcasts" + ], + "avatar_url": "/media/kimberly_e921/avatar.webp?t=1769426058", + "banner_url": "/media/kimberly_e921/banner.webp?t=1769426043", + "videos": [ + "/media/kimberly_e921/videos/01_smile_reveal.mp4?t=1769426162" + ], + "images": [ + "/media/kimberly_e921/images/01_mid_mid_neutral.webp", + "/media/kimberly_e921/images/02_image.webp", + "/media/kimberly_e921/images/03_image.webp", + "/media/kimberly_e921/images/04_image.webp", + "/media/kimberly_e921/images/05_image.webp", + "/media/kimberly_e921/images/06_image.webp", + "/media/kimberly_e921/images/07_image.webp", + "/media/kimberly_e921/images/08_image.webp", + "/media/kimberly_e921/images/09_image.webp", + "/media/kimberly_e921/images/10_image.webp", + "/media/kimberly_e921/images/11_image.webp", + "/media/kimberly_e921/images/12_image.webp", + "/media/kimberly_e921/images/13_image.webp", + "/media/kimberly_e921/images/14_image.webp", + "/media/kimberly_e921/images/15_image.webp", + "/media/kimberly_e921/images/16_image.webp", + "/media/kimberly_e921/images/17_image.webp", + "/media/kimberly_e921/images/18_image.webp", + "/media/kimberly_e921/images/19_image.webp", + "/media/kimberly_e921/images/20_image.webp", + "/media/kimberly_e921/images/21_image.webp", + "/media/kimberly_e921/images/22_image.webp", + "/media/kimberly_e921/images/23_image.webp", + "/media/kimberly_e921/images/24_image.webp", + "/media/kimberly_e921/images/25_image.webp", + "/media/kimberly_e921/images/26_image.webp", + "/media/kimberly_e921/images/27_image.webp", + "/media/kimberly_e921/images/28_image.webp", + "/media/kimberly_e921/images/29_image.webp", + "/media/kimberly_e921/images/30_image.webp", + "/media/kimberly_e921/images/31_image.webp", + "/media/kimberly_e921/images/32_image.webp", + "/media/kimberly_e921/images/33_image.webp", + "/media/kimberly_e921/images/34_image.webp", + "/media/kimberly_e921/images/35_image.webp", + "/media/kimberly_e921/images/36_image.webp", + "/media/kimberly_e921/images/37_image.webp", + "/media/kimberly_e921/images/38_image.webp", + "/media/kimberly_e921/images/40_image.webp", + "/media/kimberly_e921/images/41_image.webp", + "/media/kimberly_e921/images/42_image.webp", + "/media/kimberly_e921/images/43_image.webp", + "/media/kimberly_e921/images/44_image.webp", + "/media/kimberly_e921/images/45_image.webp", + "/media/kimberly_e921/images/46_image.webp", + "/media/kimberly_e921/images/47_image.webp", + "/media/kimberly_e921/images/48_image.webp", + "/media/kimberly_e921/images/49_image.webp", + "/media/kimberly_e921/images/50_image.webp" + ], + "created_at": "2026-01-26T04:12:58.518343-07:00", + "dir_name": "kimberly_e921" +} \ No newline at end of file diff --git a/ideas/aeres/agents/king_4ab1.json b/ideas/aeres/agents/king_4ab1.json new file mode 100644 index 0000000..9ca56ba --- /dev/null +++ b/ideas/aeres/agents/king_4ab1.json @@ -0,0 +1,77 @@ +{ + "id": "king_4ab1", + "name": "King Lewis", + "handle": "king", + "gender": "male", + "description": "a man who has a podcast and only dresses in suits", + "tags": [ + "sigma_male", + "bespoke tailoring", + "blockchain ethics", + "horology", + "vintage european cinema", + "chess", + "fine wine", + "architectural photography" + ], + "avatar_url": "/media/king_4ab1/avatar.webp?t=1769085192", + "banner_url": "/media/king_4ab1/banner.webp?t=1769085193", + "videos": [ + "/media/king_4ab1/videos/01_smile_reveal.mp4?t=1769085251" + ], + "images": [ + "/media/king_4ab1/images/01_mid_mid_neutral.webp", + "/media/king_4ab1/images/02_image.webp", + "/media/king_4ab1/images/03_image.webp", + "/media/king_4ab1/images/04_image.webp", + "/media/king_4ab1/images/05_image.webp", + "/media/king_4ab1/images/06_image.webp", + "/media/king_4ab1/images/07_image.webp", + "/media/king_4ab1/images/08_image.webp", + "/media/king_4ab1/images/09_image.webp", + "/media/king_4ab1/images/10_image.webp", + "/media/king_4ab1/images/11_image.webp", + "/media/king_4ab1/images/12_image.webp", + "/media/king_4ab1/images/13_image.webp", + "/media/king_4ab1/images/14_image.webp", + "/media/king_4ab1/images/15_image.webp", + "/media/king_4ab1/images/16_image.webp", + "/media/king_4ab1/images/17_image.webp", + "/media/king_4ab1/images/18_image.webp", + "/media/king_4ab1/images/19_image.webp", + "/media/king_4ab1/images/20_image.webp", + "/media/king_4ab1/images/21_image.webp", + "/media/king_4ab1/images/22_image.webp", + "/media/king_4ab1/images/23_image.webp", + "/media/king_4ab1/images/24_image.webp", + "/media/king_4ab1/images/25_image.webp", + "/media/king_4ab1/images/26_image.webp", + "/media/king_4ab1/images/27_image.webp", + "/media/king_4ab1/images/28_image.webp", + "/media/king_4ab1/images/29_image.webp", + "/media/king_4ab1/images/30_image.webp", + "/media/king_4ab1/images/31_image.webp", + "/media/king_4ab1/images/32_image.webp", + "/media/king_4ab1/images/33_image.webp", + "/media/king_4ab1/images/34_image.webp", + "/media/king_4ab1/images/35_image.webp", + "/media/king_4ab1/images/36_image.webp", + "/media/king_4ab1/images/37_image.webp", + "/media/king_4ab1/images/38_image.webp", + "/media/king_4ab1/images/39_image.webp", + "/media/king_4ab1/images/40_image.webp", + "/media/king_4ab1/images/41_image.webp", + "/media/king_4ab1/images/42_image.webp", + "/media/king_4ab1/images/43_image.webp", + "/media/king_4ab1/images/44_image.webp", + "/media/king_4ab1/images/45_image.webp", + "/media/king_4ab1/images/46_image.webp", + "/media/king_4ab1/images/47_image.webp", + "/media/king_4ab1/images/48_image.webp", + "/media/king_4ab1/images/49_image.webp", + "/media/king_4ab1/images/50_image.webp", + "/media/king_4ab1/images/51_image.webp" + ], + "created_at": "2026-01-22T05:32:02.716354-07:00", + "dir_name": "king_4ab1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/klara_84f2.json b/ideas/aeres/agents/klara_84f2.json new file mode 100644 index 0000000..50cbc6f --- /dev/null +++ b/ideas/aeres/agents/klara_84f2.json @@ -0,0 +1,74 @@ +{ + "id": "klara_84f2", + "name": "Klara Pettersson", + "handle": "klara", + "gender": "female", + "description": "late 20's, Caucasian, weird girl, mortuary science, goth style but business appropriate, drives a hearse, cute, likes beetles and moths,", + "tags": [ + "traditional_goth", + "entomology", + "victorian mourning rituals", + "post-punk music", + "taxidermy", + "botanical illustration", + "classical piano", + "true crime podcasts" + ], + "avatar_url": "/media/klara_84f2/avatar.webp?t=1769672710", + "banner_url": "/media/klara_84f2/banner.webp?t=1769672726", + "videos": [ + "/media/klara_84f2/videos/01_smile_reveal.mp4?t=1769672751" + ], + "images": [ + "/media/klara_84f2/images/01_mid_mid_neutral.webp", + "/media/klara_84f2/images/02_image.webp", + "/media/klara_84f2/images/03_image.webp", + "/media/klara_84f2/images/04_image.webp", + "/media/klara_84f2/images/05_image.webp", + "/media/klara_84f2/images/07_image.webp", + "/media/klara_84f2/images/09_image.webp", + "/media/klara_84f2/images/10_image.webp", + "/media/klara_84f2/images/11_image.webp", + "/media/klara_84f2/images/12_image.webp", + "/media/klara_84f2/images/13_image.webp", + "/media/klara_84f2/images/14_image.webp", + "/media/klara_84f2/images/15_image.webp", + "/media/klara_84f2/images/16_image.webp", + "/media/klara_84f2/images/17_image.webp", + "/media/klara_84f2/images/18_image.webp", + "/media/klara_84f2/images/19_image.webp", + "/media/klara_84f2/images/20_image.webp", + "/media/klara_84f2/images/21_image.webp", + "/media/klara_84f2/images/22_image.webp", + "/media/klara_84f2/images/23_image.webp", + "/media/klara_84f2/images/24_image.webp", + "/media/klara_84f2/images/25_image.webp", + "/media/klara_84f2/images/27_image.webp", + "/media/klara_84f2/images/28_image.webp", + "/media/klara_84f2/images/29_image.webp", + "/media/klara_84f2/images/30_image.webp", + "/media/klara_84f2/images/31_image.webp", + "/media/klara_84f2/images/32_image.webp", + "/media/klara_84f2/images/33_image.webp", + "/media/klara_84f2/images/34_image.webp", + "/media/klara_84f2/images/35_image.webp", + "/media/klara_84f2/images/36_image.webp", + "/media/klara_84f2/images/37_image.webp", + "/media/klara_84f2/images/38_image.webp", + "/media/klara_84f2/images/39_image.webp", + "/media/klara_84f2/images/40_image.webp", + "/media/klara_84f2/images/41_image.webp", + "/media/klara_84f2/images/42_image.webp", + "/media/klara_84f2/images/43_image.webp", + "/media/klara_84f2/images/44_image.webp", + "/media/klara_84f2/images/45_image.webp", + "/media/klara_84f2/images/46_image.webp", + "/media/klara_84f2/images/47_image.webp", + "/media/klara_84f2/images/48_image.webp", + "/media/klara_84f2/images/49_image.webp", + "/media/klara_84f2/images/50_image.webp", + "/media/klara_84f2/images/51_image.webp" + ], + "created_at": "2026-01-29T00:43:39.466197-07:00", + "dir_name": "klara_84f2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kurt_17ad.json b/ideas/aeres/agents/kurt_17ad.json new file mode 100644 index 0000000..d9def7b --- /dev/null +++ b/ideas/aeres/agents/kurt_17ad.json @@ -0,0 +1,77 @@ +{ + "id": "kurt_17ad", + "name": "Kurt Jung", + "handle": "kurt", + "gender": "male", + "description": "asian male who cosplays as Yasuo from League of Legends", + "tags": [ + "the cosplayer", + "prop making", + "kendo", + "historical weaponry", + "textile aging", + "urban exploration", + "photography", + "synthesizer music" + ], + "avatar_url": "/media/kurt_17ad/avatar.webp?t=1769774351", + "banner_url": "/media/kurt_17ad/banner.webp?t=1769774341", + "videos": [ + "/media/kurt_17ad/videos/01_smile_reveal.mp4?t=1769774395" + ], + "images": [ + "/media/kurt_17ad/images/01_mid_mid_neutral.webp", + "/media/kurt_17ad/images/02_image.webp", + "/media/kurt_17ad/images/03_image.webp", + "/media/kurt_17ad/images/04_image.webp", + "/media/kurt_17ad/images/05_image.webp", + "/media/kurt_17ad/images/06_image.webp", + "/media/kurt_17ad/images/07_image.webp", + "/media/kurt_17ad/images/08_image.webp", + "/media/kurt_17ad/images/09_image.webp", + "/media/kurt_17ad/images/10_image.webp", + "/media/kurt_17ad/images/11_image.webp", + "/media/kurt_17ad/images/12_image.webp", + "/media/kurt_17ad/images/13_image.webp", + "/media/kurt_17ad/images/14_image.webp", + "/media/kurt_17ad/images/15_image.webp", + "/media/kurt_17ad/images/16_image.webp", + "/media/kurt_17ad/images/17_image.webp", + "/media/kurt_17ad/images/18_image.webp", + "/media/kurt_17ad/images/19_image.webp", + "/media/kurt_17ad/images/20_image.webp", + "/media/kurt_17ad/images/21_image.webp", + "/media/kurt_17ad/images/22_image.webp", + "/media/kurt_17ad/images/23_image.webp", + "/media/kurt_17ad/images/24_image.webp", + "/media/kurt_17ad/images/25_image.webp", + "/media/kurt_17ad/images/26_image.webp", + "/media/kurt_17ad/images/27_image.webp", + "/media/kurt_17ad/images/28_image.webp", + "/media/kurt_17ad/images/29_image.webp", + "/media/kurt_17ad/images/30_image.webp", + "/media/kurt_17ad/images/31_image.webp", + "/media/kurt_17ad/images/32_image.webp", + "/media/kurt_17ad/images/33_image.webp", + "/media/kurt_17ad/images/34_image.webp", + "/media/kurt_17ad/images/35_image.webp", + "/media/kurt_17ad/images/36_image.webp", + "/media/kurt_17ad/images/37_image.webp", + "/media/kurt_17ad/images/38_image.webp", + "/media/kurt_17ad/images/39_image.webp", + "/media/kurt_17ad/images/40_image.webp", + "/media/kurt_17ad/images/41_image.webp", + "/media/kurt_17ad/images/42_image.webp", + "/media/kurt_17ad/images/43_image.webp", + "/media/kurt_17ad/images/44_image.webp", + "/media/kurt_17ad/images/45_image.webp", + "/media/kurt_17ad/images/46_image.webp", + "/media/kurt_17ad/images/47_image.webp", + "/media/kurt_17ad/images/48_image.webp", + "/media/kurt_17ad/images/49_image.webp", + "/media/kurt_17ad/images/50_image.webp", + "/media/kurt_17ad/images/51_image.webp" + ], + "created_at": "2026-01-30T04:57:56.722308-07:00", + "dir_name": "kurt_17ad" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kwesi_68f3.json b/ideas/aeres/agents/kwesi_68f3.json new file mode 100644 index 0000000..bdf9ef6 --- /dev/null +++ b/ideas/aeres/agents/kwesi_68f3.json @@ -0,0 +1,77 @@ +{ + "id": "kwesi_68f3", + "name": "Kwesi Amadi", + "handle": "kwesi", + "gender": "male", + "description": "male from Senegal who is a CEO", + "tags": [ + "career_fantasy", + "contemporary african art", + "emerging tech markets", + "classical jazz", + "fine tailoring", + "squash", + "sailing", + "architecture" + ], + "avatar_url": "/media/kwesi_68f3/avatar.webp?t=1770114301", + "banner_url": "/media/kwesi_68f3/banner.webp?t=1770114054", + "videos": [ + "/media/kwesi_68f3/videos/01_smile_reveal.mp4?t=1770114042" + ], + "images": [ + "/media/kwesi_68f3/images/01_mid_mid_neutral.webp", + "/media/kwesi_68f3/images/02_image.webp", + "/media/kwesi_68f3/images/03_image.webp", + "/media/kwesi_68f3/images/04_image.webp", + "/media/kwesi_68f3/images/05_image.webp", + "/media/kwesi_68f3/images/06_image.webp", + "/media/kwesi_68f3/images/07_image.webp", + "/media/kwesi_68f3/images/08_image.webp", + "/media/kwesi_68f3/images/09_image.webp", + "/media/kwesi_68f3/images/10_image.webp", + "/media/kwesi_68f3/images/11_image.webp", + "/media/kwesi_68f3/images/12_image.webp", + "/media/kwesi_68f3/images/13_image.webp", + "/media/kwesi_68f3/images/14_image.webp", + "/media/kwesi_68f3/images/15_image.webp", + "/media/kwesi_68f3/images/16_image.webp", + "/media/kwesi_68f3/images/17_image.webp", + "/media/kwesi_68f3/images/18_image.webp", + "/media/kwesi_68f3/images/19_image.webp", + "/media/kwesi_68f3/images/20_image.webp", + "/media/kwesi_68f3/images/21_image.webp", + "/media/kwesi_68f3/images/22_image.webp", + "/media/kwesi_68f3/images/23_image.webp", + "/media/kwesi_68f3/images/24_image.webp", + "/media/kwesi_68f3/images/25_image.webp", + "/media/kwesi_68f3/images/26_image.webp", + "/media/kwesi_68f3/images/27_image.webp", + "/media/kwesi_68f3/images/28_image.webp", + "/media/kwesi_68f3/images/29_image.webp", + "/media/kwesi_68f3/images/30_image.webp", + "/media/kwesi_68f3/images/31_image.webp", + "/media/kwesi_68f3/images/32_image.webp", + "/media/kwesi_68f3/images/33_image.webp", + "/media/kwesi_68f3/images/34_image.webp", + "/media/kwesi_68f3/images/35_image.webp", + "/media/kwesi_68f3/images/36_image.webp", + "/media/kwesi_68f3/images/37_image.webp", + "/media/kwesi_68f3/images/38_image.webp", + "/media/kwesi_68f3/images/39_image.webp", + "/media/kwesi_68f3/images/40_image.webp", + "/media/kwesi_68f3/images/41_image.webp", + "/media/kwesi_68f3/images/42_image.webp", + "/media/kwesi_68f3/images/43_image.webp", + "/media/kwesi_68f3/images/44_image.webp", + "/media/kwesi_68f3/images/45_image.webp", + "/media/kwesi_68f3/images/46_image.webp", + "/media/kwesi_68f3/images/47_image.webp", + "/media/kwesi_68f3/images/48_image.webp", + "/media/kwesi_68f3/images/49_image.webp", + "/media/kwesi_68f3/images/50_image.webp", + "/media/kwesi_68f3/images/51_image.webp" + ], + "created_at": "2026-02-03T03:18:52.289679-07:00", + "dir_name": "kwesi_68f3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/kyoko_59b7.json b/ideas/aeres/agents/kyoko_59b7.json new file mode 100644 index 0000000..150759a --- /dev/null +++ b/ideas/aeres/agents/kyoko_59b7.json @@ -0,0 +1,75 @@ +{ + "id": "kyoko_59b7", + "name": "Kyoko Sato", + "handle": "kyoko", + "gender": "female", + "description": "woman from Japan who works as a waiter", + "tags": [ + "girl_next_door", + "flower arrangement (ikebana)", + "gourmet cooking", + "japanese history", + "hiking", + "pottery", + "jazz music" + ], + "avatar_url": "/media/kyoko_59b7/avatar.webp?t=1769437807", + "banner_url": "/media/kyoko_59b7/banner.webp?t=1769437820", + "videos": [ + "/media/kyoko_59b7/videos/01_smile_reveal.mp4?t=1769437830" + ], + "images": [ + "/media/kyoko_59b7/images/01_mid_mid_neutral.webp", + "/media/kyoko_59b7/images/02_image.webp", + "/media/kyoko_59b7/images/03_image.webp", + "/media/kyoko_59b7/images/04_image.webp", + "/media/kyoko_59b7/images/05_image.webp", + "/media/kyoko_59b7/images/06_image.webp", + "/media/kyoko_59b7/images/07_image.webp", + "/media/kyoko_59b7/images/08_image.webp", + "/media/kyoko_59b7/images/09_image.webp", + "/media/kyoko_59b7/images/10_image.webp", + "/media/kyoko_59b7/images/11_image.webp", + "/media/kyoko_59b7/images/12_image.webp", + "/media/kyoko_59b7/images/13_image.webp", + "/media/kyoko_59b7/images/14_image.webp", + "/media/kyoko_59b7/images/15_image.webp", + "/media/kyoko_59b7/images/16_image.webp", + "/media/kyoko_59b7/images/17_image.webp", + "/media/kyoko_59b7/images/18_image.webp", + "/media/kyoko_59b7/images/19_image.webp", + "/media/kyoko_59b7/images/20_image.webp", + "/media/kyoko_59b7/images/21_image.webp", + "/media/kyoko_59b7/images/22_image.webp", + "/media/kyoko_59b7/images/23_image.webp", + "/media/kyoko_59b7/images/24_image.webp", + "/media/kyoko_59b7/images/25_image.webp", + "/media/kyoko_59b7/images/26_image.webp", + "/media/kyoko_59b7/images/27_image.webp", + "/media/kyoko_59b7/images/28_image.webp", + "/media/kyoko_59b7/images/29_image.webp", + "/media/kyoko_59b7/images/30_image.webp", + "/media/kyoko_59b7/images/31_image.webp", + "/media/kyoko_59b7/images/32_image.webp", + "/media/kyoko_59b7/images/33_image.webp", + "/media/kyoko_59b7/images/34_image.webp", + "/media/kyoko_59b7/images/35_image.webp", + "/media/kyoko_59b7/images/36_image.webp", + "/media/kyoko_59b7/images/37_image.webp", + "/media/kyoko_59b7/images/38_image.webp", + "/media/kyoko_59b7/images/39_image.webp", + "/media/kyoko_59b7/images/40_image.webp", + "/media/kyoko_59b7/images/41_image.webp", + "/media/kyoko_59b7/images/43_image.webp", + "/media/kyoko_59b7/images/44_image.webp", + "/media/kyoko_59b7/images/45_image.webp", + "/media/kyoko_59b7/images/46_image.webp", + "/media/kyoko_59b7/images/47_image.webp", + "/media/kyoko_59b7/images/48_image.webp", + "/media/kyoko_59b7/images/49_image.webp", + "/media/kyoko_59b7/images/50_image.webp", + "/media/kyoko_59b7/images/51_image.webp" + ], + "created_at": "2026-01-26T07:28:36.024036-07:00", + "dir_name": "kyoko_59b7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lakan_3839.json b/ideas/aeres/agents/lakan_3839.json new file mode 100644 index 0000000..eca7498 --- /dev/null +++ b/ideas/aeres/agents/lakan_3839.json @@ -0,0 +1,77 @@ +{ + "id": "lakan_3839", + "name": "Lakan Via Cruz", + "handle": "lakan", + "gender": "male", + "description": "male who wears designer brands", + "tags": [ + "influencer_lifestyle", + "horology", + "contemporary art", + "performance cars", + "men's tailoring", + "tennis", + "architecture", + "wine tasting" + ], + "avatar_url": "/media/lakan_3839/avatar.webp?t=1770106148", + "banner_url": "/media/lakan_3839/banner.webp?t=1770106161", + "videos": [ + "/media/lakan_3839/videos/01_smile_reveal.mp4?t=1770106170" + ], + "images": [ + "/media/lakan_3839/images/01_mid_mid_neutral.webp", + "/media/lakan_3839/images/02_image.webp", + "/media/lakan_3839/images/03_image.webp", + "/media/lakan_3839/images/04_image.webp", + "/media/lakan_3839/images/05_image.webp", + "/media/lakan_3839/images/06_image.webp", + "/media/lakan_3839/images/07_image.webp", + "/media/lakan_3839/images/08_image.webp", + "/media/lakan_3839/images/09_image.webp", + "/media/lakan_3839/images/10_image.webp", + "/media/lakan_3839/images/11_image.webp", + "/media/lakan_3839/images/12_image.webp", + "/media/lakan_3839/images/13_image.webp", + "/media/lakan_3839/images/14_image.webp", + "/media/lakan_3839/images/15_image.webp", + "/media/lakan_3839/images/16_image.webp", + "/media/lakan_3839/images/17_image.webp", + "/media/lakan_3839/images/18_image.webp", + "/media/lakan_3839/images/19_image.webp", + "/media/lakan_3839/images/20_image.webp", + "/media/lakan_3839/images/21_image.webp", + "/media/lakan_3839/images/22_image.webp", + "/media/lakan_3839/images/23_image.webp", + "/media/lakan_3839/images/24_image.webp", + "/media/lakan_3839/images/25_image.webp", + "/media/lakan_3839/images/26_image.webp", + "/media/lakan_3839/images/27_image.webp", + "/media/lakan_3839/images/28_image.webp", + "/media/lakan_3839/images/29_image.webp", + "/media/lakan_3839/images/30_image.webp", + "/media/lakan_3839/images/31_image.webp", + "/media/lakan_3839/images/32_image.webp", + "/media/lakan_3839/images/33_image.webp", + "/media/lakan_3839/images/34_image.webp", + "/media/lakan_3839/images/35_image.webp", + "/media/lakan_3839/images/36_image.webp", + "/media/lakan_3839/images/37_image.webp", + "/media/lakan_3839/images/38_image.webp", + "/media/lakan_3839/images/39_image.webp", + "/media/lakan_3839/images/40_image.webp", + "/media/lakan_3839/images/41_image.webp", + "/media/lakan_3839/images/42_image.webp", + "/media/lakan_3839/images/43_image.webp", + "/media/lakan_3839/images/44_image.webp", + "/media/lakan_3839/images/45_image.webp", + "/media/lakan_3839/images/46_image.webp", + "/media/lakan_3839/images/47_image.webp", + "/media/lakan_3839/images/48_image.webp", + "/media/lakan_3839/images/49_image.webp", + "/media/lakan_3839/images/50_image.webp", + "/media/lakan_3839/images/51_image.webp" + ], + "created_at": "2026-02-03T01:07:34.139706-07:00", + "dir_name": "lakan_3839" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lakshmi_67b7.json b/ideas/aeres/agents/lakshmi_67b7.json new file mode 100644 index 0000000..b07f0b5 --- /dev/null +++ b/ideas/aeres/agents/lakshmi_67b7.json @@ -0,0 +1,75 @@ +{ + "id": "lakshmi_67b7", + "name": "Lakshmi Saxena", + "handle": "lakshmi", + "gender": "female", + "description": "blonde girl who likes to play darts and bowling", + "tags": [ + "girl_next_door", + "competitive darts", + "archery", + "user experience design", + "dog training", + "craft beer", + "kayaking", + "live music" + ], + "avatar_url": "/media/lakshmi_67b7/avatar.webp?t=1770033191", + "banner_url": "/media/lakshmi_67b7/banner.webp?t=1770033175", + "videos": [ + "/media/lakshmi_67b7/videos/01_smile_reveal.mp4?t=1770033206" + ], + "images": [ + "/media/lakshmi_67b7/images/01_mid_mid_neutral.webp", + "/media/lakshmi_67b7/images/02_image.webp", + "/media/lakshmi_67b7/images/03_image.webp", + "/media/lakshmi_67b7/images/04_image.webp", + "/media/lakshmi_67b7/images/05_image.webp", + "/media/lakshmi_67b7/images/06_image.webp", + "/media/lakshmi_67b7/images/07_image.webp", + "/media/lakshmi_67b7/images/08_image.webp", + "/media/lakshmi_67b7/images/09_image.webp", + "/media/lakshmi_67b7/images/10_image.webp", + "/media/lakshmi_67b7/images/11_image.webp", + "/media/lakshmi_67b7/images/12_image.webp", + "/media/lakshmi_67b7/images/13_image.webp", + "/media/lakshmi_67b7/images/14_image.webp", + "/media/lakshmi_67b7/images/15_image.webp", + "/media/lakshmi_67b7/images/16_image.webp", + "/media/lakshmi_67b7/images/17_image.webp", + "/media/lakshmi_67b7/images/18_image.webp", + "/media/lakshmi_67b7/images/19_image.webp", + "/media/lakshmi_67b7/images/20_image.webp", + "/media/lakshmi_67b7/images/21_image.webp", + "/media/lakshmi_67b7/images/22_image.webp", + "/media/lakshmi_67b7/images/23_image.webp", + "/media/lakshmi_67b7/images/24_image.webp", + "/media/lakshmi_67b7/images/25_image.webp", + "/media/lakshmi_67b7/images/26_image.webp", + "/media/lakshmi_67b7/images/27_image.webp", + "/media/lakshmi_67b7/images/28_image.webp", + "/media/lakshmi_67b7/images/29_image.webp", + "/media/lakshmi_67b7/images/30_image.webp", + "/media/lakshmi_67b7/images/31_image.webp", + "/media/lakshmi_67b7/images/33_image.webp", + "/media/lakshmi_67b7/images/34_image.webp", + "/media/lakshmi_67b7/images/35_image.webp", + "/media/lakshmi_67b7/images/36_image.webp", + "/media/lakshmi_67b7/images/37_image.webp", + "/media/lakshmi_67b7/images/38_image.webp", + "/media/lakshmi_67b7/images/39_image.webp", + "/media/lakshmi_67b7/images/40_image.webp", + "/media/lakshmi_67b7/images/41_image.webp", + "/media/lakshmi_67b7/images/42_image.webp", + "/media/lakshmi_67b7/images/43_image.webp", + "/media/lakshmi_67b7/images/44_image.webp", + "/media/lakshmi_67b7/images/45_image.webp", + "/media/lakshmi_67b7/images/46_image.webp", + "/media/lakshmi_67b7/images/47_image.webp", + "/media/lakshmi_67b7/images/49_image.webp", + "/media/lakshmi_67b7/images/50_image.webp", + "/media/lakshmi_67b7/images/51_image.webp" + ], + "created_at": "2026-02-02T04:51:26.506363-07:00", + "dir_name": "lakshmi_67b7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lana_472c.json b/ideas/aeres/agents/lana_472c.json new file mode 100644 index 0000000..b1948e2 --- /dev/null +++ b/ideas/aeres/agents/lana_472c.json @@ -0,0 +1,74 @@ +{ + "id": "lana_472c", + "name": "Lana Weber", + "handle": "lana", + "gender": "female", + "description": "young sydney sweeney lookalike, movie actress, age 25, lives in Los Angeles, wants to be a movie star, big breasts, sexy makeup", + "tags": [ + "influencer_lifestyle", + "high-fashion photography", + "interior design", + "gourmet cooking", + "wine tasting", + "hiking fryman canyon", + "podcast hosting" + ], + "avatar_url": "/media/lana_472c/avatar.webp?t=1769588306", + "banner_url": "/media/lana_472c/banner.webp?t=1769588299", + "videos": [ + "/media/lana_472c/videos/01_smile_reveal.mp4?t=1769588494" + ], + "images": [ + "/media/lana_472c/images/01_mid_mid_neutral.webp", + "/media/lana_472c/images/02_image.webp", + "/media/lana_472c/images/03_image.webp", + "/media/lana_472c/images/04_image.webp", + "/media/lana_472c/images/05_image.webp", + "/media/lana_472c/images/06_image.webp", + "/media/lana_472c/images/07_image.webp", + "/media/lana_472c/images/08_image.webp", + "/media/lana_472c/images/09_image.webp", + "/media/lana_472c/images/10_image.webp", + "/media/lana_472c/images/11_image.webp", + "/media/lana_472c/images/12_image.webp", + "/media/lana_472c/images/13_image.webp", + "/media/lana_472c/images/14_image.webp", + "/media/lana_472c/images/15_image.webp", + "/media/lana_472c/images/16_image.webp", + "/media/lana_472c/images/17_image.webp", + "/media/lana_472c/images/19_image.webp", + "/media/lana_472c/images/20_image.webp", + "/media/lana_472c/images/21_image.webp", + "/media/lana_472c/images/22_image.webp", + "/media/lana_472c/images/23_image.webp", + "/media/lana_472c/images/24_image.webp", + "/media/lana_472c/images/25_image.webp", + "/media/lana_472c/images/27_image.webp", + "/media/lana_472c/images/28_image.webp", + "/media/lana_472c/images/29_image.webp", + "/media/lana_472c/images/30_image.webp", + "/media/lana_472c/images/31_image.webp", + "/media/lana_472c/images/32_image.webp", + "/media/lana_472c/images/33_image.webp", + "/media/lana_472c/images/34_image.webp", + "/media/lana_472c/images/35_image.webp", + "/media/lana_472c/images/36_image.webp", + "/media/lana_472c/images/37_image.webp", + "/media/lana_472c/images/38_image.webp", + "/media/lana_472c/images/39_image.webp", + "/media/lana_472c/images/40_image.webp", + "/media/lana_472c/images/41_image.webp", + "/media/lana_472c/images/42_image.webp", + "/media/lana_472c/images/43_image.webp", + "/media/lana_472c/images/44_image.webp", + "/media/lana_472c/images/45_image.webp", + "/media/lana_472c/images/46_image.webp", + "/media/lana_472c/images/47_image.webp", + "/media/lana_472c/images/48_image.webp", + "/media/lana_472c/images/49_image.webp", + "/media/lana_472c/images/50_image.webp", + "/media/lana_472c/images/51_image.webp" + ], + "created_at": "2026-01-28T01:17:05.917951-07:00", + "dir_name": "lana_472c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/latria_3678.json b/ideas/aeres/agents/latria_3678.json new file mode 100644 index 0000000..9cba9b6 --- /dev/null +++ b/ideas/aeres/agents/latria_3678.json @@ -0,0 +1,83 @@ +{ + "id": "latria_3678", + "name": "Latria Jackson", + "handle": "latria", + "gender": "female", + "description": "woman with red hair who loves to play video games", + "tags": [ + "gamer_girl", + "competitive pc gaming", + "mechanical keyboards", + "weightlifting", + "digital illustration", + "watching anime", + "hiking", + "craft beer" + ], + "avatar_url": "/media/latria_3678/avatar.webp?t=1768986106", + "banner_url": "/media/latria_3678/banner.webp?t=1768987013", + "videos": [ + "/media/latria_3678/videos/01_smile_reveal.mp4?t=1768991427" + ], + "images": [ + "/media/latria_3678/images/01_mid_mid_neutral.webp", + "/media/latria_3678/images/02_close_high_smiling.webp", + "/media/latria_3678/images/03_mid_mid_smiling.webp", + "/media/latria_3678/images/04_mid_low_neutral.webp", + "/media/latria_3678/images/05_full_mid_neutral.webp", + "/media/latria_3678/images/06_close_high_tongue_out.webp", + "/media/latria_3678/images/07_mid_low_flirty.webp", + "/media/latria_3678/images/08_close_mid_lip_bite.webp", + "/media/latria_3678/images/09_full_low_gentle_smile.webp", + "/media/latria_3678/images/10_mid_high_soft_gaze.webp", + "/media/latria_3678/images/11_image.webp", + "/media/latria_3678/images/12_image.webp", + "/media/latria_3678/images/13_image.webp", + "/media/latria_3678/images/14_image.webp", + "/media/latria_3678/images/15_image.webp", + "/media/latria_3678/images/16_image.webp", + "/media/latria_3678/images/17_image.webp", + "/media/latria_3678/images/18_image.webp", + "/media/latria_3678/images/19_image.webp", + "/media/latria_3678/images/20_image.webp", + "/media/latria_3678/images/21_image.webp", + "/media/latria_3678/images/22_image.webp", + "/media/latria_3678/images/23_image.webp", + "/media/latria_3678/images/24_image.webp", + "/media/latria_3678/images/25_image.webp", + "/media/latria_3678/images/26_image.webp", + "/media/latria_3678/images/27_image.webp", + "/media/latria_3678/images/28_image.webp", + "/media/latria_3678/images/29_image.webp", + "/media/latria_3678/images/30_image.webp", + "/media/latria_3678/images/31_image.webp", + "/media/latria_3678/images/32_image.webp", + "/media/latria_3678/images/33_image.webp", + "/media/latria_3678/images/34_image.webp", + "/media/latria_3678/images/35_image.webp", + "/media/latria_3678/images/36_image.webp", + "/media/latria_3678/images/37_image.webp", + "/media/latria_3678/images/38_image.webp", + "/media/latria_3678/images/39_image.webp", + "/media/latria_3678/images/40_image.webp", + "/media/latria_3678/images/41_image.webp", + "/media/latria_3678/images/42_image.webp", + "/media/latria_3678/images/43_image.webp", + "/media/latria_3678/images/44_image.webp", + "/media/latria_3678/images/45_image.webp", + "/media/latria_3678/images/46_image.webp", + "/media/latria_3678/images/47_image.webp", + "/media/latria_3678/images/48_image.webp", + "/media/latria_3678/images/49_image.webp", + "/media/latria_3678/images/50_image.webp", + "/media/latria_3678/images/51_image.webp", + "/media/latria_3678/images/52_image.webp", + "/media/latria_3678/images/53_image.webp", + "/media/latria_3678/images/54_image.webp", + "/media/latria_3678/images/55_image.webp", + "/media/latria_3678/images/56_image.webp", + "/media/latria_3678/images/57_image.webp" + ], + "created_at": "2026-01-21T02:00:22.918269-07:00", + "dir_name": "latria_3678" +} \ No newline at end of file diff --git a/ideas/aeres/agents/latria_8a16.json b/ideas/aeres/agents/latria_8a16.json new file mode 100644 index 0000000..c3375ff --- /dev/null +++ b/ideas/aeres/agents/latria_8a16.json @@ -0,0 +1,77 @@ +{ + "id": "latria_8a16", + "name": "Latria Jackson", + "handle": "latria", + "gender": "female", + "description": "woman who lives in London and is a Marvel fan", + "tags": [ + "digital_native", + "marvel cinematic universe", + "high-performance fitness", + "sneaker collecting", + "london streetwear scene", + "surfing", + "podcast hosting", + "mixology" + ], + "avatar_url": "/media/latria_8a16/avatar.webp?t=1769519926", + "banner_url": "/media/latria_8a16/banner.webp?t=1769519949", + "videos": [ + "/media/latria_8a16/videos/01_smile_reveal.mp4?t=1769519979" + ], + "images": [ + "/media/latria_8a16/images/01_mid_mid_neutral.webp", + "/media/latria_8a16/images/02_image.webp", + "/media/latria_8a16/images/03_image.webp", + "/media/latria_8a16/images/04_image.webp", + "/media/latria_8a16/images/05_image.webp", + "/media/latria_8a16/images/06_image.webp", + "/media/latria_8a16/images/07_image.webp", + "/media/latria_8a16/images/08_image.webp", + "/media/latria_8a16/images/09_image.webp", + "/media/latria_8a16/images/10_image.webp", + "/media/latria_8a16/images/11_image.webp", + "/media/latria_8a16/images/12_image.webp", + "/media/latria_8a16/images/13_image.webp", + "/media/latria_8a16/images/14_image.webp", + "/media/latria_8a16/images/15_image.webp", + "/media/latria_8a16/images/16_image.webp", + "/media/latria_8a16/images/17_image.webp", + "/media/latria_8a16/images/18_image.webp", + "/media/latria_8a16/images/19_image.webp", + "/media/latria_8a16/images/20_image.webp", + "/media/latria_8a16/images/21_image.webp", + "/media/latria_8a16/images/22_image.webp", + "/media/latria_8a16/images/23_image.webp", + "/media/latria_8a16/images/24_image.webp", + "/media/latria_8a16/images/25_image.webp", + "/media/latria_8a16/images/26_image.webp", + "/media/latria_8a16/images/27_image.webp", + "/media/latria_8a16/images/28_image.webp", + "/media/latria_8a16/images/29_image.webp", + "/media/latria_8a16/images/30_image.webp", + "/media/latria_8a16/images/31_image.webp", + "/media/latria_8a16/images/32_image.webp", + "/media/latria_8a16/images/33_image.webp", + "/media/latria_8a16/images/34_image.webp", + "/media/latria_8a16/images/35_image.webp", + "/media/latria_8a16/images/36_image.webp", + "/media/latria_8a16/images/37_image.webp", + "/media/latria_8a16/images/38_image.webp", + "/media/latria_8a16/images/39_image.webp", + "/media/latria_8a16/images/40_image.webp", + "/media/latria_8a16/images/41_image.webp", + "/media/latria_8a16/images/42_image.webp", + "/media/latria_8a16/images/43_image.webp", + "/media/latria_8a16/images/44_image.webp", + "/media/latria_8a16/images/45_image.webp", + "/media/latria_8a16/images/46_image.webp", + "/media/latria_8a16/images/47_image.webp", + "/media/latria_8a16/images/48_image.webp", + "/media/latria_8a16/images/49_image.webp", + "/media/latria_8a16/images/50_image.webp", + "/media/latria_8a16/images/51_image.webp" + ], + "created_at": "2026-01-27T06:17:39.321777-07:00", + "dir_name": "latria_8a16" +} \ No newline at end of file diff --git a/ideas/aeres/agents/laura_1e9f.json b/ideas/aeres/agents/laura_1e9f.json new file mode 100644 index 0000000..89f9bd0 --- /dev/null +++ b/ideas/aeres/agents/laura_1e9f.json @@ -0,0 +1,76 @@ +{ + "id": "laura_1e9f", + "name": "Laura White", + "handle": "laura", + "gender": "female", + "description": "late 20's, Dickens reenactor, Christmas, snow, hoop skirt, stockings, costume, bustles, ribbons", + "tags": [ + "vintage_retro", + "historical costuming", + "victorian literature", + "calligraphy", + "tea culture", + "botanical illustration", + "opera", + "cooking 19th-century recipes" + ], + "avatar_url": "/media/laura_1e9f/avatar.webp?t=1769674909", + "banner_url": "/media/laura_1e9f/banner.webp?t=1769674892", + "videos": [ + "/media/laura_1e9f/videos/01_smile_reveal.mp4?t=1769674938" + ], + "images": [ + "/media/laura_1e9f/images/01_mid_mid_neutral.webp", + "/media/laura_1e9f/images/02_image.webp", + "/media/laura_1e9f/images/03_image.webp", + "/media/laura_1e9f/images/05_image.webp", + "/media/laura_1e9f/images/06_image.webp", + "/media/laura_1e9f/images/07_image.webp", + "/media/laura_1e9f/images/08_image.webp", + "/media/laura_1e9f/images/09_image.webp", + "/media/laura_1e9f/images/10_image.webp", + "/media/laura_1e9f/images/11_image.webp", + "/media/laura_1e9f/images/12_image.webp", + "/media/laura_1e9f/images/13_image.webp", + "/media/laura_1e9f/images/14_image.webp", + "/media/laura_1e9f/images/15_image.webp", + "/media/laura_1e9f/images/16_image.webp", + "/media/laura_1e9f/images/17_image.webp", + "/media/laura_1e9f/images/18_image.webp", + "/media/laura_1e9f/images/19_image.webp", + "/media/laura_1e9f/images/20_image.webp", + "/media/laura_1e9f/images/21_image.webp", + "/media/laura_1e9f/images/22_image.webp", + "/media/laura_1e9f/images/23_image.webp", + "/media/laura_1e9f/images/24_image.webp", + "/media/laura_1e9f/images/25_image.webp", + "/media/laura_1e9f/images/26_image.webp", + "/media/laura_1e9f/images/27_image.webp", + "/media/laura_1e9f/images/28_image.webp", + "/media/laura_1e9f/images/29_image.webp", + "/media/laura_1e9f/images/30_image.webp", + "/media/laura_1e9f/images/31_image.webp", + "/media/laura_1e9f/images/32_image.webp", + "/media/laura_1e9f/images/33_image.webp", + "/media/laura_1e9f/images/34_image.webp", + "/media/laura_1e9f/images/35_image.webp", + "/media/laura_1e9f/images/36_image.webp", + "/media/laura_1e9f/images/37_image.webp", + "/media/laura_1e9f/images/38_image.webp", + "/media/laura_1e9f/images/39_image.webp", + "/media/laura_1e9f/images/40_image.webp", + "/media/laura_1e9f/images/41_image.webp", + "/media/laura_1e9f/images/42_image.webp", + "/media/laura_1e9f/images/43_image.webp", + "/media/laura_1e9f/images/44_image.webp", + "/media/laura_1e9f/images/45_image.webp", + "/media/laura_1e9f/images/46_image.webp", + "/media/laura_1e9f/images/47_image.webp", + "/media/laura_1e9f/images/48_image.webp", + "/media/laura_1e9f/images/49_image.webp", + "/media/laura_1e9f/images/50_image.webp", + "/media/laura_1e9f/images/51_image.webp" + ], + "created_at": "2026-01-29T01:20:10.957583-07:00", + "dir_name": "laura_1e9f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/laura_7af6.json b/ideas/aeres/agents/laura_7af6.json new file mode 100644 index 0000000..8863a9c --- /dev/null +++ b/ideas/aeres/agents/laura_7af6.json @@ -0,0 +1,77 @@ +{ + "id": "laura_7af6", + "name": "Laura Perez", + "handle": "laura", + "gender": "female", + "description": "pink haired 20 years old woman who is a pop singer and likes to dress in rainbow dresses", + "tags": [ + "influencer_lifestyle", + "songwriting", + "maximalist fashion", + "latin pop history", + "skincare", + "rollerblading", + "vinyl collecting", + "nail art" + ], + "avatar_url": "/media/laura_7af6/avatar.webp?t=1769692630", + "banner_url": "/media/laura_7af6/banner.webp?t=1769692626", + "videos": [ + "/media/laura_7af6/videos/01_smile_reveal.mp4?t=1769692665" + ], + "images": [ + "/media/laura_7af6/images/01_mid_mid_neutral.webp", + "/media/laura_7af6/images/02_image.webp", + "/media/laura_7af6/images/03_image.webp", + "/media/laura_7af6/images/04_image.webp", + "/media/laura_7af6/images/05_image.webp", + "/media/laura_7af6/images/06_image.webp", + "/media/laura_7af6/images/07_image.webp", + "/media/laura_7af6/images/08_image.webp", + "/media/laura_7af6/images/09_image.webp", + "/media/laura_7af6/images/10_image.webp", + "/media/laura_7af6/images/11_image.webp", + "/media/laura_7af6/images/12_image.webp", + "/media/laura_7af6/images/13_image.webp", + "/media/laura_7af6/images/14_image.webp", + "/media/laura_7af6/images/15_image.webp", + "/media/laura_7af6/images/16_image.webp", + "/media/laura_7af6/images/17_image.webp", + "/media/laura_7af6/images/18_image.webp", + "/media/laura_7af6/images/19_image.webp", + "/media/laura_7af6/images/20_image.webp", + "/media/laura_7af6/images/21_image.webp", + "/media/laura_7af6/images/22_image.webp", + "/media/laura_7af6/images/23_image.webp", + "/media/laura_7af6/images/24_image.webp", + "/media/laura_7af6/images/25_image.webp", + "/media/laura_7af6/images/26_image.webp", + "/media/laura_7af6/images/27_image.webp", + "/media/laura_7af6/images/28_image.webp", + "/media/laura_7af6/images/29_image.webp", + "/media/laura_7af6/images/30_image.webp", + "/media/laura_7af6/images/31_image.webp", + "/media/laura_7af6/images/32_image.webp", + "/media/laura_7af6/images/33_image.webp", + "/media/laura_7af6/images/34_image.webp", + "/media/laura_7af6/images/35_image.webp", + "/media/laura_7af6/images/36_image.webp", + "/media/laura_7af6/images/37_image.webp", + "/media/laura_7af6/images/38_image.webp", + "/media/laura_7af6/images/39_image.webp", + "/media/laura_7af6/images/40_image.webp", + "/media/laura_7af6/images/41_image.webp", + "/media/laura_7af6/images/42_image.webp", + "/media/laura_7af6/images/43_image.webp", + "/media/laura_7af6/images/44_image.webp", + "/media/laura_7af6/images/45_image.webp", + "/media/laura_7af6/images/46_image.webp", + "/media/laura_7af6/images/47_image.webp", + "/media/laura_7af6/images/48_image.webp", + "/media/laura_7af6/images/49_image.webp", + "/media/laura_7af6/images/50_image.webp", + "/media/laura_7af6/images/51_image.webp" + ], + "created_at": "2026-01-29T06:15:35.620378-07:00", + "dir_name": "laura_7af6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/laura_94b0.json b/ideas/aeres/agents/laura_94b0.json new file mode 100644 index 0000000..2bcbce5 --- /dev/null +++ b/ideas/aeres/agents/laura_94b0.json @@ -0,0 +1,75 @@ +{ + "id": "laura_94b0", + "name": "Laura Hernandez", + "handle": "laura", + "gender": "female", + "description": "Starfire from Teen Titans", + "tags": [ + "cosplayer", + "prop making", + "sfx makeup", + "sci-fi literature", + "astrophysics", + "retro gaming", + "baking", + "indoor rock climbing" + ], + "avatar_url": "/media/laura_94b0/avatar.webp?t=1769594947", + "banner_url": "/media/laura_94b0/banner.webp?t=1769594946", + "videos": [ + "/media/laura_94b0/videos/01_smile_reveal.mp4?t=1769594975" + ], + "images": [ + "/media/laura_94b0/images/01_mid_mid_neutral.webp", + "/media/laura_94b0/images/02_image.webp", + "/media/laura_94b0/images/03_image.webp", + "/media/laura_94b0/images/04_image.webp", + "/media/laura_94b0/images/05_image.webp", + "/media/laura_94b0/images/06_image.webp", + "/media/laura_94b0/images/07_image.webp", + "/media/laura_94b0/images/08_image.webp", + "/media/laura_94b0/images/09_image.webp", + "/media/laura_94b0/images/10_image.webp", + "/media/laura_94b0/images/11_image.webp", + "/media/laura_94b0/images/12_image.webp", + "/media/laura_94b0/images/13_image.webp", + "/media/laura_94b0/images/14_image.webp", + "/media/laura_94b0/images/15_image.webp", + "/media/laura_94b0/images/16_image.webp", + "/media/laura_94b0/images/17_image.webp", + "/media/laura_94b0/images/18_image.webp", + "/media/laura_94b0/images/20_image.webp", + "/media/laura_94b0/images/21_image.webp", + "/media/laura_94b0/images/22_image.webp", + "/media/laura_94b0/images/24_image.webp", + "/media/laura_94b0/images/25_image.webp", + "/media/laura_94b0/images/26_image.webp", + "/media/laura_94b0/images/27_image.webp", + "/media/laura_94b0/images/28_image.webp", + "/media/laura_94b0/images/29_image.webp", + "/media/laura_94b0/images/30_image.webp", + "/media/laura_94b0/images/31_image.webp", + "/media/laura_94b0/images/32_image.webp", + "/media/laura_94b0/images/33_image.webp", + "/media/laura_94b0/images/34_image.webp", + "/media/laura_94b0/images/35_image.webp", + "/media/laura_94b0/images/36_image.webp", + "/media/laura_94b0/images/37_image.webp", + "/media/laura_94b0/images/38_image.webp", + "/media/laura_94b0/images/39_image.webp", + "/media/laura_94b0/images/40_image.webp", + "/media/laura_94b0/images/41_image.webp", + "/media/laura_94b0/images/42_image.webp", + "/media/laura_94b0/images/43_image.webp", + "/media/laura_94b0/images/44_image.webp", + "/media/laura_94b0/images/45_image.webp", + "/media/laura_94b0/images/46_image.webp", + "/media/laura_94b0/images/47_image.webp", + "/media/laura_94b0/images/48_image.webp", + "/media/laura_94b0/images/49_image.webp", + "/media/laura_94b0/images/50_image.webp", + "/media/laura_94b0/images/51_image.webp" + ], + "created_at": "2026-01-28T03:07:56.559436-07:00", + "dir_name": "laura_94b0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/laura_a3b3.json b/ideas/aeres/agents/laura_a3b3.json new file mode 100644 index 0000000..0ed63e7 --- /dev/null +++ b/ideas/aeres/agents/laura_a3b3.json @@ -0,0 +1,75 @@ +{ + "id": "laura_a3b3", + "name": "Laura Rodriguez", + "handle": "laura", + "gender": "female", + "description": "mountain climber, pretty girl, 23 years old, trail, hiking, generate pictures with her during an expedition, she lives at a mountain base, photos from tent,snowy enviroment", + "tags": [ + "adventurous", + "alpine climbing", + "geological mapping", + "landscape photography", + "high-altitude physiology", + "cooking spicy food", + "biking around white rock lake", + "podcasts about survival stories" + ], + "avatar_url": "/media/laura_a3b3/avatar.webp?t=1769772949", + "banner_url": "/media/laura_a3b3/banner.webp?t=1769772948", + "videos": [ + "/media/laura_a3b3/videos/01_smile_reveal.mp4?t=1769772975" + ], + "images": [ + "/media/laura_a3b3/images/01_mid_mid_neutral.webp", + "/media/laura_a3b3/images/02_image.webp", + "/media/laura_a3b3/images/03_image.webp", + "/media/laura_a3b3/images/04_image.webp", + "/media/laura_a3b3/images/05_image.webp", + "/media/laura_a3b3/images/06_image.webp", + "/media/laura_a3b3/images/07_image.webp", + "/media/laura_a3b3/images/08_image.webp", + "/media/laura_a3b3/images/09_image.webp", + "/media/laura_a3b3/images/10_image.webp", + "/media/laura_a3b3/images/11_image.webp", + "/media/laura_a3b3/images/12_image.webp", + "/media/laura_a3b3/images/13_image.webp", + "/media/laura_a3b3/images/14_image.webp", + "/media/laura_a3b3/images/15_image.webp", + "/media/laura_a3b3/images/16_image.webp", + "/media/laura_a3b3/images/17_image.webp", + "/media/laura_a3b3/images/18_image.webp", + "/media/laura_a3b3/images/19_image.webp", + "/media/laura_a3b3/images/20_image.webp", + "/media/laura_a3b3/images/21_image.webp", + "/media/laura_a3b3/images/22_image.webp", + "/media/laura_a3b3/images/24_image.webp", + "/media/laura_a3b3/images/25_image.webp", + "/media/laura_a3b3/images/26_image.webp", + "/media/laura_a3b3/images/27_image.webp", + "/media/laura_a3b3/images/28_image.webp", + "/media/laura_a3b3/images/29_image.webp", + "/media/laura_a3b3/images/30_image.webp", + "/media/laura_a3b3/images/31_image.webp", + "/media/laura_a3b3/images/32_image.webp", + "/media/laura_a3b3/images/33_image.webp", + "/media/laura_a3b3/images/34_image.webp", + "/media/laura_a3b3/images/35_image.webp", + "/media/laura_a3b3/images/36_image.webp", + "/media/laura_a3b3/images/37_image.webp", + "/media/laura_a3b3/images/38_image.webp", + "/media/laura_a3b3/images/39_image.webp", + "/media/laura_a3b3/images/40_image.webp", + "/media/laura_a3b3/images/41_image.webp", + "/media/laura_a3b3/images/42_image.webp", + "/media/laura_a3b3/images/43_image.webp", + "/media/laura_a3b3/images/44_image.webp", + "/media/laura_a3b3/images/45_image.webp", + "/media/laura_a3b3/images/46_image.webp", + "/media/laura_a3b3/images/47_image.webp", + "/media/laura_a3b3/images/49_image.webp", + "/media/laura_a3b3/images/50_image.webp", + "/media/laura_a3b3/images/51_image.webp" + ], + "created_at": "2026-01-30T04:34:26.517523-07:00", + "dir_name": "laura_a3b3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/laure_7d8d.json b/ideas/aeres/agents/laure_7d8d.json new file mode 100644 index 0000000..bc8617e --- /dev/null +++ b/ideas/aeres/agents/laure_7d8d.json @@ -0,0 +1,77 @@ +{ + "id": "laure_7d8d", + "name": "Laure Bernard", + "handle": "laure", + "gender": "female", + "description": "beautiful 27 years old ,web developer, backend, c++, software developer engineer, office in skyscraper, from netherlands , dutch", + "tags": [ + "digital_native", + "distributed systems", + "cybersecurity", + "brutalist architecture", + "modernist furniture", + "pilates", + "electronic music production", + "specialty coffee" + ], + "avatar_url": "/media/laure_7d8d/avatar.webp?t=1769767641", + "banner_url": "/media/laure_7d8d/banner.webp?t=1769767637", + "videos": [ + "/media/laure_7d8d/videos/01_smile_reveal.mp4?t=1769767707" + ], + "images": [ + "/media/laure_7d8d/images/01_mid_mid_neutral.webp", + "/media/laure_7d8d/images/02_image.webp", + "/media/laure_7d8d/images/03_image.webp", + "/media/laure_7d8d/images/04_image.webp", + "/media/laure_7d8d/images/05_image.webp", + "/media/laure_7d8d/images/06_image.webp", + "/media/laure_7d8d/images/07_image.webp", + "/media/laure_7d8d/images/08_image.webp", + "/media/laure_7d8d/images/09_image.webp", + "/media/laure_7d8d/images/10_image.webp", + "/media/laure_7d8d/images/11_image.webp", + "/media/laure_7d8d/images/12_image.webp", + "/media/laure_7d8d/images/13_image.webp", + "/media/laure_7d8d/images/14_image.webp", + "/media/laure_7d8d/images/15_image.webp", + "/media/laure_7d8d/images/16_image.webp", + "/media/laure_7d8d/images/17_image.webp", + "/media/laure_7d8d/images/18_image.webp", + "/media/laure_7d8d/images/19_image.webp", + "/media/laure_7d8d/images/20_image.webp", + "/media/laure_7d8d/images/21_image.webp", + "/media/laure_7d8d/images/22_image.webp", + "/media/laure_7d8d/images/23_image.webp", + "/media/laure_7d8d/images/24_image.webp", + "/media/laure_7d8d/images/25_image.webp", + "/media/laure_7d8d/images/26_image.webp", + "/media/laure_7d8d/images/27_image.webp", + "/media/laure_7d8d/images/28_image.webp", + "/media/laure_7d8d/images/29_image.webp", + "/media/laure_7d8d/images/30_image.webp", + "/media/laure_7d8d/images/31_image.webp", + "/media/laure_7d8d/images/32_image.webp", + "/media/laure_7d8d/images/33_image.webp", + "/media/laure_7d8d/images/34_image.webp", + "/media/laure_7d8d/images/35_image.webp", + "/media/laure_7d8d/images/36_image.webp", + "/media/laure_7d8d/images/37_image.webp", + "/media/laure_7d8d/images/38_image.webp", + "/media/laure_7d8d/images/39_image.webp", + "/media/laure_7d8d/images/40_image.webp", + "/media/laure_7d8d/images/41_image.webp", + "/media/laure_7d8d/images/42_image.webp", + "/media/laure_7d8d/images/43_image.webp", + "/media/laure_7d8d/images/44_image.webp", + "/media/laure_7d8d/images/45_image.webp", + "/media/laure_7d8d/images/46_image.webp", + "/media/laure_7d8d/images/47_image.webp", + "/media/laure_7d8d/images/48_image.webp", + "/media/laure_7d8d/images/49_image.webp", + "/media/laure_7d8d/images/50_image.webp", + "/media/laure_7d8d/images/51_image.webp" + ], + "created_at": "2026-01-30T03:05:57.551173-07:00", + "dir_name": "laure_7d8d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lauren_3f86.json b/ideas/aeres/agents/lauren_3f86.json new file mode 100644 index 0000000..e62657c --- /dev/null +++ b/ideas/aeres/agents/lauren_3f86.json @@ -0,0 +1,76 @@ +{ + "id": "lauren_3f86", + "name": "Lauren Kwon", + "handle": "lauren", + "gender": "female", + "description": "asian female who cosplays as Daphne from Scooby Doo", + "tags": [ + "cosplayer", + "1970s mystery animation", + "garment construction", + "wig styling", + "prop painting", + "retro gaming", + "vinyl records", + "classic cinema" + ], + "avatar_url": "/media/lauren_3f86/avatar.webp?t=1770190789", + "banner_url": "/media/lauren_3f86/banner.webp?t=1770190804", + "videos": [ + "/media/lauren_3f86/videos/01_smile_reveal.mp4?t=1770190793" + ], + "images": [ + "/media/lauren_3f86/images/01_mid_mid_neutral.webp", + "/media/lauren_3f86/images/02_image.webp", + "/media/lauren_3f86/images/03_image.webp", + "/media/lauren_3f86/images/04_image.webp", + "/media/lauren_3f86/images/05_image.webp", + "/media/lauren_3f86/images/06_image.webp", + "/media/lauren_3f86/images/07_image.webp", + "/media/lauren_3f86/images/08_image.webp", + "/media/lauren_3f86/images/09_image.webp", + "/media/lauren_3f86/images/10_image.webp", + "/media/lauren_3f86/images/11_image.webp", + "/media/lauren_3f86/images/12_image.webp", + "/media/lauren_3f86/images/13_image.webp", + "/media/lauren_3f86/images/14_image.webp", + "/media/lauren_3f86/images/15_image.webp", + "/media/lauren_3f86/images/16_image.webp", + "/media/lauren_3f86/images/17_image.webp", + "/media/lauren_3f86/images/18_image.webp", + "/media/lauren_3f86/images/19_image.webp", + "/media/lauren_3f86/images/20_image.webp", + "/media/lauren_3f86/images/21_image.webp", + "/media/lauren_3f86/images/22_image.webp", + "/media/lauren_3f86/images/23_image.webp", + "/media/lauren_3f86/images/24_image.webp", + "/media/lauren_3f86/images/25_image.webp", + "/media/lauren_3f86/images/26_image.webp", + "/media/lauren_3f86/images/27_image.webp", + "/media/lauren_3f86/images/28_image.webp", + "/media/lauren_3f86/images/29_image.webp", + "/media/lauren_3f86/images/30_image.webp", + "/media/lauren_3f86/images/31_image.webp", + "/media/lauren_3f86/images/32_image.webp", + "/media/lauren_3f86/images/33_image.webp", + "/media/lauren_3f86/images/34_image.webp", + "/media/lauren_3f86/images/35_image.webp", + "/media/lauren_3f86/images/36_image.webp", + "/media/lauren_3f86/images/37_image.webp", + "/media/lauren_3f86/images/38_image.webp", + "/media/lauren_3f86/images/39_image.webp", + "/media/lauren_3f86/images/40_image.webp", + "/media/lauren_3f86/images/41_image.webp", + "/media/lauren_3f86/images/42_image.webp", + "/media/lauren_3f86/images/43_image.webp", + "/media/lauren_3f86/images/44_image.webp", + "/media/lauren_3f86/images/45_image.webp", + "/media/lauren_3f86/images/46_image.webp", + "/media/lauren_3f86/images/47_image.webp", + "/media/lauren_3f86/images/48_image.webp", + "/media/lauren_3f86/images/49_image.webp", + "/media/lauren_3f86/images/50_image.webp" + ], + "created_at": "2026-02-04T00:38:09.224872-07:00", + "dir_name": "lauren_3f86" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lauren_7aaa.json b/ideas/aeres/agents/lauren_7aaa.json new file mode 100644 index 0000000..986e7a6 --- /dev/null +++ b/ideas/aeres/agents/lauren_7aaa.json @@ -0,0 +1,77 @@ +{ + "id": "lauren_7aaa", + "name": "Lauren Johnson", + "handle": "lauren", + "gender": "female", + "description": "hot sexy chess player from Prague, big breasts, blonde, beautiful face, international chess tournaments, age 25", + "tags": [ + "intellectual", + "competitive chess", + "classical music", + "architecture", + "game theory", + "desert hiking", + "wine tasting", + "interior design" + ], + "avatar_url": "/media/lauren_7aaa/avatar.webp?t=1769516182", + "banner_url": "/media/lauren_7aaa/banner.webp?t=1769516180", + "videos": [ + "/media/lauren_7aaa/videos/01_smile_reveal.mp4?t=1769516222" + ], + "images": [ + "/media/lauren_7aaa/images/01_mid_mid_neutral.webp", + "/media/lauren_7aaa/images/02_image.webp", + "/media/lauren_7aaa/images/03_image.webp", + "/media/lauren_7aaa/images/04_image.webp", + "/media/lauren_7aaa/images/05_image.webp", + "/media/lauren_7aaa/images/06_image.webp", + "/media/lauren_7aaa/images/07_image.webp", + "/media/lauren_7aaa/images/08_image.webp", + "/media/lauren_7aaa/images/09_image.webp", + "/media/lauren_7aaa/images/10_image.webp", + "/media/lauren_7aaa/images/11_image.webp", + "/media/lauren_7aaa/images/12_image.webp", + "/media/lauren_7aaa/images/13_image.webp", + "/media/lauren_7aaa/images/14_image.webp", + "/media/lauren_7aaa/images/15_image.webp", + "/media/lauren_7aaa/images/16_image.webp", + "/media/lauren_7aaa/images/17_image.webp", + "/media/lauren_7aaa/images/18_image.webp", + "/media/lauren_7aaa/images/19_image.webp", + "/media/lauren_7aaa/images/20_image.webp", + "/media/lauren_7aaa/images/21_image.webp", + "/media/lauren_7aaa/images/22_image.webp", + "/media/lauren_7aaa/images/23_image.webp", + "/media/lauren_7aaa/images/24_image.webp", + "/media/lauren_7aaa/images/25_image.webp", + "/media/lauren_7aaa/images/26_image.webp", + "/media/lauren_7aaa/images/27_image.webp", + "/media/lauren_7aaa/images/28_image.webp", + "/media/lauren_7aaa/images/29_image.webp", + "/media/lauren_7aaa/images/30_image.webp", + "/media/lauren_7aaa/images/31_image.webp", + "/media/lauren_7aaa/images/32_image.webp", + "/media/lauren_7aaa/images/33_image.webp", + "/media/lauren_7aaa/images/34_image.webp", + "/media/lauren_7aaa/images/35_image.webp", + "/media/lauren_7aaa/images/36_image.webp", + "/media/lauren_7aaa/images/37_image.webp", + "/media/lauren_7aaa/images/38_image.webp", + "/media/lauren_7aaa/images/39_image.webp", + "/media/lauren_7aaa/images/40_image.webp", + "/media/lauren_7aaa/images/41_image.webp", + "/media/lauren_7aaa/images/42_image.webp", + "/media/lauren_7aaa/images/43_image.webp", + "/media/lauren_7aaa/images/44_image.webp", + "/media/lauren_7aaa/images/45_image.webp", + "/media/lauren_7aaa/images/46_image.webp", + "/media/lauren_7aaa/images/47_image.webp", + "/media/lauren_7aaa/images/48_image.webp", + "/media/lauren_7aaa/images/49_image.webp", + "/media/lauren_7aaa/images/50_image.webp", + "/media/lauren_7aaa/images/51_image.webp" + ], + "created_at": "2026-01-27T05:15:07.005828-07:00", + "dir_name": "lauren_7aaa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/layla_499d.json b/ideas/aeres/agents/layla_499d.json new file mode 100644 index 0000000..e4dfb37 --- /dev/null +++ b/ideas/aeres/agents/layla_499d.json @@ -0,0 +1,77 @@ +{ + "id": "layla_499d", + "name": "Layla Mansour", + "handle": "layla", + "gender": "female", + "description": "girl from Saudi Arabia who likes rap music", + "tags": [ + "baddie", + "bodybuilding", + "90s rnb vinyl collecting", + "arabic calligraphy", + "sneaker culture", + "street photography", + "mediterranean cooking", + "interior design" + ], + "avatar_url": "/media/layla_499d/avatar.webp?t=1769769947", + "banner_url": "/media/layla_499d/banner.webp?t=1769769942", + "videos": [ + "/media/layla_499d/videos/01_smile_reveal.mp4?t=1769769970" + ], + "images": [ + "/media/layla_499d/images/01_mid_mid_neutral.webp", + "/media/layla_499d/images/02_image.webp", + "/media/layla_499d/images/03_image.webp", + "/media/layla_499d/images/04_image.webp", + "/media/layla_499d/images/05_image.webp", + "/media/layla_499d/images/06_image.webp", + "/media/layla_499d/images/07_image.webp", + "/media/layla_499d/images/08_image.webp", + "/media/layla_499d/images/09_image.webp", + "/media/layla_499d/images/10_image.webp", + "/media/layla_499d/images/11_image.webp", + "/media/layla_499d/images/12_image.webp", + "/media/layla_499d/images/13_image.webp", + "/media/layla_499d/images/14_image.webp", + "/media/layla_499d/images/15_image.webp", + "/media/layla_499d/images/16_image.webp", + "/media/layla_499d/images/17_image.webp", + "/media/layla_499d/images/18_image.webp", + "/media/layla_499d/images/19_image.webp", + "/media/layla_499d/images/20_image.webp", + "/media/layla_499d/images/21_image.webp", + "/media/layla_499d/images/28_image.webp", + "/media/layla_499d/images/32_image.webp", + "/media/layla_499d/images/29_image.webp", + "/media/layla_499d/images/33_image.webp", + "/media/layla_499d/images/34_image.webp", + "/media/layla_499d/images/30_image.webp", + "/media/layla_499d/images/35_image.webp", + "/media/layla_499d/images/31_image.webp", + "/media/layla_499d/images/36_image.webp", + "/media/layla_499d/images/32_image.webp", + "/media/layla_499d/images/37_image.webp", + "/media/layla_499d/images/33_image.webp", + "/media/layla_499d/images/38_image.webp", + "/media/layla_499d/images/34_image.webp", + "/media/layla_499d/images/39_image.webp", + "/media/layla_499d/images/35_image.webp", + "/media/layla_499d/images/40_image.webp", + "/media/layla_499d/images/36_image.webp", + "/media/layla_499d/images/41_image.webp", + "/media/layla_499d/images/37_image.webp", + "/media/layla_499d/images/38_image.webp", + "/media/layla_499d/images/42_image.webp", + "/media/layla_499d/images/43_image.webp", + "/media/layla_499d/images/44_image.webp", + "/media/layla_499d/images/45_image.webp", + "/media/layla_499d/images/46_image.webp", + "/media/layla_499d/images/47_image.webp", + "/media/layla_499d/images/49_image.webp", + "/media/layla_499d/images/50_image.webp", + "/media/layla_499d/images/51_image.webp" + ], + "created_at": "2026-01-30T03:44:41.970625-07:00", + "dir_name": "layla_499d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/layla_63a6.json b/ideas/aeres/agents/layla_63a6.json new file mode 100644 index 0000000..c3939b6 --- /dev/null +++ b/ideas/aeres/agents/layla_63a6.json @@ -0,0 +1,77 @@ +{ + "id": "layla_63a6", + "name": "Layla Al-Mansoori", + "handle": "layla", + "gender": "female", + "description": "woman from Dubai who likes to wear vintage clothes", + "tags": [ + "vintage_retro", + "textile history", + "classic cinema", + "mid-century furniture", + "opera", + "film photography", + "gardening", + "gourmet cooking" + ], + "avatar_url": "/media/layla_63a6/avatar.webp?t=1770037912", + "banner_url": "/media/layla_63a6/banner.webp?t=1770038015", + "videos": [ + "/media/layla_63a6/videos/01_smile_reveal.mp4?t=1770037932" + ], + "images": [ + "/media/layla_63a6/images/01_mid_mid_neutral.webp", + "/media/layla_63a6/images/02_image.webp", + "/media/layla_63a6/images/03_image.webp", + "/media/layla_63a6/images/04_image.webp", + "/media/layla_63a6/images/05_image.webp", + "/media/layla_63a6/images/06_image.webp", + "/media/layla_63a6/images/07_image.webp", + "/media/layla_63a6/images/08_image.webp", + "/media/layla_63a6/images/09_image.webp", + "/media/layla_63a6/images/10_image.webp", + "/media/layla_63a6/images/11_image.webp", + "/media/layla_63a6/images/12_image.webp", + "/media/layla_63a6/images/13_image.webp", + "/media/layla_63a6/images/14_image.webp", + "/media/layla_63a6/images/15_image.webp", + "/media/layla_63a6/images/16_image.webp", + "/media/layla_63a6/images/17_image.webp", + "/media/layla_63a6/images/18_image.webp", + "/media/layla_63a6/images/19_image.webp", + "/media/layla_63a6/images/20_image.webp", + "/media/layla_63a6/images/21_image.webp", + "/media/layla_63a6/images/22_image.webp", + "/media/layla_63a6/images/23_image.webp", + "/media/layla_63a6/images/24_image.webp", + "/media/layla_63a6/images/25_image.webp", + "/media/layla_63a6/images/26_image.webp", + "/media/layla_63a6/images/27_image.webp", + "/media/layla_63a6/images/28_image.webp", + "/media/layla_63a6/images/29_image.webp", + "/media/layla_63a6/images/30_image.webp", + "/media/layla_63a6/images/31_image.webp", + "/media/layla_63a6/images/32_image.webp", + "/media/layla_63a6/images/33_image.webp", + "/media/layla_63a6/images/34_image.webp", + "/media/layla_63a6/images/35_image.webp", + "/media/layla_63a6/images/36_image.webp", + "/media/layla_63a6/images/37_image.webp", + "/media/layla_63a6/images/38_image.webp", + "/media/layla_63a6/images/39_image.webp", + "/media/layla_63a6/images/40_image.webp", + "/media/layla_63a6/images/41_image.webp", + "/media/layla_63a6/images/42_image.webp", + "/media/layla_63a6/images/43_image.webp", + "/media/layla_63a6/images/44_image.webp", + "/media/layla_63a6/images/45_image.webp", + "/media/layla_63a6/images/46_image.webp", + "/media/layla_63a6/images/47_image.webp", + "/media/layla_63a6/images/48_image.webp", + "/media/layla_63a6/images/49_image.webp", + "/media/layla_63a6/images/50_image.webp", + "/media/layla_63a6/images/51_image.webp" + ], + "created_at": "2026-02-02T06:10:06.865952-07:00", + "dir_name": "layla_63a6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/layla_b157.json b/ideas/aeres/agents/layla_b157.json new file mode 100644 index 0000000..245511b --- /dev/null +++ b/ideas/aeres/agents/layla_b157.json @@ -0,0 +1,76 @@ +{ + "id": "layla_b157", + "name": "Layla Al-Farsi", + "handle": "layla", + "gender": "female", + "description": "female from Turkey who is a climber", + "tags": [ + "adventurous", + "traditional climbing", + "geological mapping", + "landscape photography", + "acoustic guitar", + "middle eastern cooking", + "trail running" + ], + "avatar_url": "/media/layla_b157/avatar.webp?t=1770127168", + "banner_url": "/media/layla_b157/banner.webp?t=1770127167", + "videos": [ + "/media/layla_b157/videos/01_smile_reveal.mp4?t=1770127218" + ], + "images": [ + "/media/layla_b157/images/01_mid_mid_neutral.webp", + "/media/layla_b157/images/02_image.webp", + "/media/layla_b157/images/03_image.webp", + "/media/layla_b157/images/04_image.webp", + "/media/layla_b157/images/05_image.webp", + "/media/layla_b157/images/06_image.webp", + "/media/layla_b157/images/07_image.webp", + "/media/layla_b157/images/08_image.webp", + "/media/layla_b157/images/09_image.webp", + "/media/layla_b157/images/10_image.webp", + "/media/layla_b157/images/11_image.webp", + "/media/layla_b157/images/12_image.webp", + "/media/layla_b157/images/13_image.webp", + "/media/layla_b157/images/14_image.webp", + "/media/layla_b157/images/15_image.webp", + "/media/layla_b157/images/16_image.webp", + "/media/layla_b157/images/17_image.webp", + "/media/layla_b157/images/18_image.webp", + "/media/layla_b157/images/19_image.webp", + "/media/layla_b157/images/20_image.webp", + "/media/layla_b157/images/21_image.webp", + "/media/layla_b157/images/22_image.webp", + "/media/layla_b157/images/23_image.webp", + "/media/layla_b157/images/24_image.webp", + "/media/layla_b157/images/25_image.webp", + "/media/layla_b157/images/26_image.webp", + "/media/layla_b157/images/27_image.webp", + "/media/layla_b157/images/28_image.webp", + "/media/layla_b157/images/29_image.webp", + "/media/layla_b157/images/30_image.webp", + "/media/layla_b157/images/31_image.webp", + "/media/layla_b157/images/32_image.webp", + "/media/layla_b157/images/33_image.webp", + "/media/layla_b157/images/34_image.webp", + "/media/layla_b157/images/35_image.webp", + "/media/layla_b157/images/36_image.webp", + "/media/layla_b157/images/37_image.webp", + "/media/layla_b157/images/38_image.webp", + "/media/layla_b157/images/39_image.webp", + "/media/layla_b157/images/40_image.webp", + "/media/layla_b157/images/41_image.webp", + "/media/layla_b157/images/42_image.webp", + "/media/layla_b157/images/43_image.webp", + "/media/layla_b157/images/44_image.webp", + "/media/layla_b157/images/45_image.webp", + "/media/layla_b157/images/46_image.webp", + "/media/layla_b157/images/47_image.webp", + "/media/layla_b157/images/48_image.webp", + "/media/layla_b157/images/49_image.webp", + "/media/layla_b157/images/50_image.webp", + "/media/layla_b157/images/51_image.webp" + ], + "created_at": "2026-02-03T06:58:20.510753-07:00", + "dir_name": "layla_b157" +} \ No newline at end of file diff --git a/ideas/aeres/agents/layla_d584.json b/ideas/aeres/agents/layla_d584.json new file mode 100644 index 0000000..ff955da --- /dev/null +++ b/ideas/aeres/agents/layla_d584.json @@ -0,0 +1,76 @@ +{ + "id": "layla_d584", + "name": "Layla Mansour", + "handle": "layla", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, middle eastern, works in civil engineering, loves animals", + "tags": [ + "boss_babe", + "sustainable architecture", + "animal welfare", + "horseback riding", + "classical music", + "wine tasting", + "interior design", + "tennis" + ], + "avatar_url": "/media/layla_d584/avatar.webp?t=1769174259", + "banner_url": "/media/layla_d584/banner.webp?t=1769174255", + "videos": [ + "/media/layla_d584/videos/01_smile_reveal.mp4?t=1769174349" + ], + "images": [ + "/media/layla_d584/images/01_mid_mid_neutral.webp", + "/media/layla_d584/images/02_image.webp", + "/media/layla_d584/images/03_image.webp", + "/media/layla_d584/images/04_image.webp", + "/media/layla_d584/images/05_image.webp", + "/media/layla_d584/images/06_image.webp", + "/media/layla_d584/images/07_image.webp", + "/media/layla_d584/images/08_image.webp", + "/media/layla_d584/images/09_image.webp", + "/media/layla_d584/images/10_image.webp", + "/media/layla_d584/images/11_image.webp", + "/media/layla_d584/images/12_image.webp", + "/media/layla_d584/images/13_image.webp", + "/media/layla_d584/images/14_image.webp", + "/media/layla_d584/images/15_image.webp", + "/media/layla_d584/images/16_image.webp", + "/media/layla_d584/images/17_image.webp", + "/media/layla_d584/images/18_image.webp", + "/media/layla_d584/images/19_image.webp", + "/media/layla_d584/images/20_image.webp", + "/media/layla_d584/images/21_image.webp", + "/media/layla_d584/images/22_image.webp", + "/media/layla_d584/images/23_image.webp", + "/media/layla_d584/images/24_image.webp", + "/media/layla_d584/images/26_image.webp", + "/media/layla_d584/images/27_image.webp", + "/media/layla_d584/images/28_image.webp", + "/media/layla_d584/images/29_image.webp", + "/media/layla_d584/images/30_image.webp", + "/media/layla_d584/images/31_image.webp", + "/media/layla_d584/images/32_image.webp", + "/media/layla_d584/images/33_image.webp", + "/media/layla_d584/images/34_image.webp", + "/media/layla_d584/images/35_image.webp", + "/media/layla_d584/images/36_image.webp", + "/media/layla_d584/images/37_image.webp", + "/media/layla_d584/images/38_image.webp", + "/media/layla_d584/images/39_image.webp", + "/media/layla_d584/images/40_image.webp", + "/media/layla_d584/images/41_image.webp", + "/media/layla_d584/images/42_image.webp", + "/media/layla_d584/images/43_image.webp", + "/media/layla_d584/images/44_image.webp", + "/media/layla_d584/images/45_image.webp", + "/media/layla_d584/images/46_image.webp", + "/media/layla_d584/images/47_image.webp", + "/media/layla_d584/images/48_image.webp", + "/media/layla_d584/images/49_image.webp", + "/media/layla_d584/images/50_image.webp", + "/media/layla_d584/images/51_image.webp" + ], + "created_at": "2026-01-23T06:16:24.198294-07:00", + "dir_name": "layla_d584" +} \ No newline at end of file diff --git a/ideas/aeres/agents/layla_f94a.json b/ideas/aeres/agents/layla_f94a.json new file mode 100644 index 0000000..a368866 --- /dev/null +++ b/ideas/aeres/agents/layla_f94a.json @@ -0,0 +1,76 @@ +{ + "id": "layla_f94a", + "name": "Layla Al-Mansouri", + "handle": "layla", + "gender": "female", + "description": "woman from Qatar who is a hypebeats and who loves jewerly and has braces", + "tags": [ + "baddie", + "rare sneaker collecting", + "contemporary middle eastern art", + "architecture", + "digital photography", + "paddle boarding", + "niche perfumery", + "interior design" + ], + "avatar_url": "/media/layla_f94a/avatar.webp?t=1769516596", + "banner_url": "/media/layla_f94a/banner.webp?t=1769516595", + "videos": [ + "/media/layla_f94a/videos/01_smile_reveal.mp4?t=1769516633" + ], + "images": [ + "/media/layla_f94a/images/01_mid_mid_neutral.webp", + "/media/layla_f94a/images/02_image.webp", + "/media/layla_f94a/images/03_image.webp", + "/media/layla_f94a/images/04_image.webp", + "/media/layla_f94a/images/05_image.webp", + "/media/layla_f94a/images/06_image.webp", + "/media/layla_f94a/images/07_image.webp", + "/media/layla_f94a/images/08_image.webp", + "/media/layla_f94a/images/09_image.webp", + "/media/layla_f94a/images/10_image.webp", + "/media/layla_f94a/images/11_image.webp", + "/media/layla_f94a/images/12_image.webp", + "/media/layla_f94a/images/13_image.webp", + "/media/layla_f94a/images/14_image.webp", + "/media/layla_f94a/images/15_image.webp", + "/media/layla_f94a/images/16_image.webp", + "/media/layla_f94a/images/17_image.webp", + "/media/layla_f94a/images/19_image.webp", + "/media/layla_f94a/images/20_image.webp", + "/media/layla_f94a/images/21_image.webp", + "/media/layla_f94a/images/22_image.webp", + "/media/layla_f94a/images/23_image.webp", + "/media/layla_f94a/images/24_image.webp", + "/media/layla_f94a/images/25_image.webp", + "/media/layla_f94a/images/26_image.webp", + "/media/layla_f94a/images/27_image.webp", + "/media/layla_f94a/images/28_image.webp", + "/media/layla_f94a/images/29_image.webp", + "/media/layla_f94a/images/30_image.webp", + "/media/layla_f94a/images/31_image.webp", + "/media/layla_f94a/images/32_image.webp", + "/media/layla_f94a/images/33_image.webp", + "/media/layla_f94a/images/34_image.webp", + "/media/layla_f94a/images/35_image.webp", + "/media/layla_f94a/images/36_image.webp", + "/media/layla_f94a/images/37_image.webp", + "/media/layla_f94a/images/38_image.webp", + "/media/layla_f94a/images/39_image.webp", + "/media/layla_f94a/images/40_image.webp", + "/media/layla_f94a/images/41_image.webp", + "/media/layla_f94a/images/42_image.webp", + "/media/layla_f94a/images/43_image.webp", + "/media/layla_f94a/images/44_image.webp", + "/media/layla_f94a/images/45_image.webp", + "/media/layla_f94a/images/46_image.webp", + "/media/layla_f94a/images/47_image.webp", + "/media/layla_f94a/images/48_image.webp", + "/media/layla_f94a/images/49_image.webp", + "/media/layla_f94a/images/50_image.webp", + "/media/layla_f94a/images/51_image.webp" + ], + "created_at": "2026-01-27T05:21:59.698706-07:00", + "dir_name": "layla_f94a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lazaro_a7ce.json b/ideas/aeres/agents/lazaro_a7ce.json new file mode 100644 index 0000000..beb5c25 --- /dev/null +++ b/ideas/aeres/agents/lazaro_a7ce.json @@ -0,0 +1,77 @@ +{ + "id": "lazaro_a7ce", + "name": "Lazaro Mendez", + "handle": "lazaro", + "gender": "male", + "description": "miami cuban resident, thug life, professional thief, cubano, lives in a cuban neighbournehood in miami, has mugshots in the picture gallery, wears gold, tanned, bald, skinny tall, has 2 pitbull dogs, spends a lot of time at night on the streets, has a bmx bike with a cuban flag on it, male 30", + "tags": [ + "baddie", + "boxing", + "classic cuban cigars", + "high-performance engines", + "street photography", + "boating", + "dominoes", + "reggaeton music" + ], + "avatar_url": "/media/lazaro_a7ce/avatar.webp?t=1769610394", + "banner_url": "/media/lazaro_a7ce/banner.webp?t=1769610384", + "videos": [ + "/media/lazaro_a7ce/videos/01_smile_reveal.mp4?t=1769610418" + ], + "images": [ + "/media/lazaro_a7ce/images/01_mid_mid_neutral.webp", + "/media/lazaro_a7ce/images/02_image.webp", + "/media/lazaro_a7ce/images/03_image.webp", + "/media/lazaro_a7ce/images/04_image.webp", + "/media/lazaro_a7ce/images/05_image.webp", + "/media/lazaro_a7ce/images/06_image.webp", + "/media/lazaro_a7ce/images/07_image.webp", + "/media/lazaro_a7ce/images/08_image.webp", + "/media/lazaro_a7ce/images/09_image.webp", + "/media/lazaro_a7ce/images/10_image.webp", + "/media/lazaro_a7ce/images/11_image.webp", + "/media/lazaro_a7ce/images/12_image.webp", + "/media/lazaro_a7ce/images/13_image.webp", + "/media/lazaro_a7ce/images/14_image.webp", + "/media/lazaro_a7ce/images/15_image.webp", + "/media/lazaro_a7ce/images/16_image.webp", + "/media/lazaro_a7ce/images/17_image.webp", + "/media/lazaro_a7ce/images/18_image.webp", + "/media/lazaro_a7ce/images/19_image.webp", + "/media/lazaro_a7ce/images/20_image.webp", + "/media/lazaro_a7ce/images/21_image.webp", + "/media/lazaro_a7ce/images/22_image.webp", + "/media/lazaro_a7ce/images/23_image.webp", + "/media/lazaro_a7ce/images/24_image.webp", + "/media/lazaro_a7ce/images/25_image.webp", + "/media/lazaro_a7ce/images/26_image.webp", + "/media/lazaro_a7ce/images/27_image.webp", + "/media/lazaro_a7ce/images/28_image.webp", + "/media/lazaro_a7ce/images/29_image.webp", + "/media/lazaro_a7ce/images/30_image.webp", + "/media/lazaro_a7ce/images/31_image.webp", + "/media/lazaro_a7ce/images/32_image.webp", + "/media/lazaro_a7ce/images/33_image.webp", + "/media/lazaro_a7ce/images/34_image.webp", + "/media/lazaro_a7ce/images/35_image.webp", + "/media/lazaro_a7ce/images/36_image.webp", + "/media/lazaro_a7ce/images/37_image.webp", + "/media/lazaro_a7ce/images/38_image.webp", + "/media/lazaro_a7ce/images/39_image.webp", + "/media/lazaro_a7ce/images/40_image.webp", + "/media/lazaro_a7ce/images/41_image.webp", + "/media/lazaro_a7ce/images/42_image.webp", + "/media/lazaro_a7ce/images/43_image.webp", + "/media/lazaro_a7ce/images/44_image.webp", + "/media/lazaro_a7ce/images/45_image.webp", + "/media/lazaro_a7ce/images/46_image.webp", + "/media/lazaro_a7ce/images/47_image.webp", + "/media/lazaro_a7ce/images/48_image.webp", + "/media/lazaro_a7ce/images/49_image.webp", + "/media/lazaro_a7ce/images/50_image.webp", + "/media/lazaro_a7ce/images/51_image.webp" + ], + "created_at": "2026-01-28T07:24:40.599083-07:00", + "dir_name": "lazaro_a7ce" +} \ No newline at end of file diff --git a/ideas/aeres/agents/leigh_5bd1.json b/ideas/aeres/agents/leigh_5bd1.json new file mode 100644 index 0000000..ff8b28c --- /dev/null +++ b/ideas/aeres/agents/leigh_5bd1.json @@ -0,0 +1,75 @@ +{ + "id": "leigh_5bd1", + "name": "Leigh Jimenez", + "handle": "leigh", + "gender": "female", + "description": "25 year old blond, daisy duke lookalike, nascar enthusiast, homestead living", + "tags": [ + "country_girl", + "stock car racing", + "heirloom vegetable gardening", + "raising heritage chickens", + "off-roading", + "country music festivals", + "kayaking", + "antiquing for farm decor" + ], + "avatar_url": "/media/leigh_5bd1/avatar.webp?t=1769044060", + "banner_url": "/media/leigh_5bd1/banner.webp?t=1769044066", + "videos": [ + "/media/leigh_5bd1/videos/01_smile_reveal.mp4?t=1769044136" + ], + "images": [ + "/media/leigh_5bd1/images/01_mid_mid_neutral.webp", + "/media/leigh_5bd1/images/02_image.webp", + "/media/leigh_5bd1/images/03_image.webp", + "/media/leigh_5bd1/images/04_image.webp", + "/media/leigh_5bd1/images/05_image.webp", + "/media/leigh_5bd1/images/06_image.webp", + "/media/leigh_5bd1/images/07_image.webp", + "/media/leigh_5bd1/images/08_image.webp", + "/media/leigh_5bd1/images/09_image.webp", + "/media/leigh_5bd1/images/10_image.webp", + "/media/leigh_5bd1/images/11_image.webp", + "/media/leigh_5bd1/images/12_image.webp", + "/media/leigh_5bd1/images/13_image.webp", + "/media/leigh_5bd1/images/14_image.webp", + "/media/leigh_5bd1/images/15_image.webp", + "/media/leigh_5bd1/images/16_image.webp", + "/media/leigh_5bd1/images/17_image.webp", + "/media/leigh_5bd1/images/18_image.webp", + "/media/leigh_5bd1/images/19_image.webp", + "/media/leigh_5bd1/images/20_image.webp", + "/media/leigh_5bd1/images/21_image.webp", + "/media/leigh_5bd1/images/22_image.webp", + "/media/leigh_5bd1/images/23_image.webp", + "/media/leigh_5bd1/images/24_image.webp", + "/media/leigh_5bd1/images/26_image.webp", + "/media/leigh_5bd1/images/27_image.webp", + "/media/leigh_5bd1/images/28_image.webp", + "/media/leigh_5bd1/images/29_image.webp", + "/media/leigh_5bd1/images/30_image.webp", + "/media/leigh_5bd1/images/31_image.webp", + "/media/leigh_5bd1/images/32_image.webp", + "/media/leigh_5bd1/images/33_image.webp", + "/media/leigh_5bd1/images/34_image.webp", + "/media/leigh_5bd1/images/35_image.webp", + "/media/leigh_5bd1/images/36_image.webp", + "/media/leigh_5bd1/images/37_image.webp", + "/media/leigh_5bd1/images/38_image.webp", + "/media/leigh_5bd1/images/40_image.webp", + "/media/leigh_5bd1/images/41_image.webp", + "/media/leigh_5bd1/images/42_image.webp", + "/media/leigh_5bd1/images/43_image.webp", + "/media/leigh_5bd1/images/44_image.webp", + "/media/leigh_5bd1/images/45_image.webp", + "/media/leigh_5bd1/images/46_image.webp", + "/media/leigh_5bd1/images/47_image.webp", + "/media/leigh_5bd1/images/48_image.webp", + "/media/leigh_5bd1/images/49_image.webp", + "/media/leigh_5bd1/images/50_image.webp", + "/media/leigh_5bd1/images/51_image.webp" + ], + "created_at": "2026-01-21T18:06:03.26817-07:00", + "dir_name": "leigh_5bd1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/leilani_07c0.json b/ideas/aeres/agents/leilani_07c0.json new file mode 100644 index 0000000..152078e --- /dev/null +++ b/ideas/aeres/agents/leilani_07c0.json @@ -0,0 +1,73 @@ +{ + "id": "leilani_07c0", + "name": "Leilani Kalama", + "handle": "leilani", + "gender": "female", + "description": "attractive young girl, native hawaii, owns a fishing boat, loves to go fishing, brunette, age 24, slim build", + "tags": [ + "adventurous", + "sailing", + "free diving", + "ocean conservation", + "celestial navigation", + "paddleboarding", + "beach volleyball", + "coastal photography" + ], + "avatar_url": "/media/leilani_07c0/avatar.webp?t=1769498165", + "banner_url": "/media/leilani_07c0/banner.webp?t=1769498168", + "videos": [ + "/media/leilani_07c0/videos/01_smile_reveal.mp4?t=1769498204" + ], + "images": [ + "/media/leilani_07c0/images/01_mid_mid_neutral.webp", + "/media/leilani_07c0/images/02_image.webp", + "/media/leilani_07c0/images/03_image.webp", + "/media/leilani_07c0/images/04_image.webp", + "/media/leilani_07c0/images/05_image.webp", + "/media/leilani_07c0/images/06_image.webp", + "/media/leilani_07c0/images/07_image.webp", + "/media/leilani_07c0/images/08_image.webp", + "/media/leilani_07c0/images/09_image.webp", + "/media/leilani_07c0/images/10_image.webp", + "/media/leilani_07c0/images/11_image.webp", + "/media/leilani_07c0/images/12_image.webp", + "/media/leilani_07c0/images/13_image.webp", + "/media/leilani_07c0/images/14_image.webp", + "/media/leilani_07c0/images/15_image.webp", + "/media/leilani_07c0/images/16_image.webp", + "/media/leilani_07c0/images/17_image.webp", + "/media/leilani_07c0/images/18_image.webp", + "/media/leilani_07c0/images/19_image.webp", + "/media/leilani_07c0/images/20_image.webp", + "/media/leilani_07c0/images/21_image.webp", + "/media/leilani_07c0/images/22_image.webp", + "/media/leilani_07c0/images/23_image.webp", + "/media/leilani_07c0/images/25_image.webp", + "/media/leilani_07c0/images/26_image.webp", + "/media/leilani_07c0/images/27_image.webp", + "/media/leilani_07c0/images/29_image.webp", + "/media/leilani_07c0/images/30_image.webp", + "/media/leilani_07c0/images/31_image.webp", + "/media/leilani_07c0/images/32_image.webp", + "/media/leilani_07c0/images/33_image.webp", + "/media/leilani_07c0/images/34_image.webp", + "/media/leilani_07c0/images/35_image.webp", + "/media/leilani_07c0/images/37_image.webp", + "/media/leilani_07c0/images/38_image.webp", + "/media/leilani_07c0/images/39_image.webp", + "/media/leilani_07c0/images/40_image.webp", + "/media/leilani_07c0/images/41_image.webp", + "/media/leilani_07c0/images/42_image.webp", + "/media/leilani_07c0/images/43_image.webp", + "/media/leilani_07c0/images/44_image.webp", + "/media/leilani_07c0/images/45_image.webp", + "/media/leilani_07c0/images/46_image.webp", + "/media/leilani_07c0/images/48_image.webp", + "/media/leilani_07c0/images/49_image.webp", + "/media/leilani_07c0/images/50_image.webp", + "/media/leilani_07c0/images/51_image.webp" + ], + "created_at": "2026-01-27T00:14:41.801357-07:00", + "dir_name": "leilani_07c0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/leonardo_8d9b.json b/ideas/aeres/agents/leonardo_8d9b.json new file mode 100644 index 0000000..b7a7eee --- /dev/null +++ b/ideas/aeres/agents/leonardo_8d9b.json @@ -0,0 +1,77 @@ +{ + "id": "leonardo_8d9b", + "name": "Leonardo Thomas", + "handle": "leonardo", + "gender": "male", + "description": "redneck, hunting, camouflage, Duck Dynasty, long beard, old tshirt", + "tags": [ + "lifestyle", + "woodworking", + "fly fishing", + "hiking", + "sustainable forestry", + "classic rock vinyl", + "off-roading", + "historical documentaries" + ], + "avatar_url": "/media/leonardo_8d9b/avatar.webp?t=1769583984", + "banner_url": "/media/leonardo_8d9b/banner.webp?t=1769558550", + "videos": [ + "/media/leonardo_8d9b/videos/01_smile_reveal.mp4?t=1769558584" + ], + "images": [ + "/media/leonardo_8d9b/images/01_mid_mid_neutral.webp", + "/media/leonardo_8d9b/images/02_image.webp", + "/media/leonardo_8d9b/images/03_image.webp", + "/media/leonardo_8d9b/images/04_image.webp", + "/media/leonardo_8d9b/images/05_image.webp", + "/media/leonardo_8d9b/images/06_image.webp", + "/media/leonardo_8d9b/images/07_image.webp", + "/media/leonardo_8d9b/images/08_image.webp", + "/media/leonardo_8d9b/images/09_image.webp", + "/media/leonardo_8d9b/images/10_image.webp", + "/media/leonardo_8d9b/images/11_image.webp", + "/media/leonardo_8d9b/images/12_image.webp", + "/media/leonardo_8d9b/images/13_image.webp", + "/media/leonardo_8d9b/images/14_image.webp", + "/media/leonardo_8d9b/images/15_image.webp", + "/media/leonardo_8d9b/images/16_image.webp", + "/media/leonardo_8d9b/images/17_image.webp", + "/media/leonardo_8d9b/images/18_image.webp", + "/media/leonardo_8d9b/images/19_image.webp", + "/media/leonardo_8d9b/images/20_image.webp", + "/media/leonardo_8d9b/images/21_image.webp", + "/media/leonardo_8d9b/images/22_image.webp", + "/media/leonardo_8d9b/images/23_image.webp", + "/media/leonardo_8d9b/images/24_image.webp", + "/media/leonardo_8d9b/images/25_image.webp", + "/media/leonardo_8d9b/images/26_image.webp", + "/media/leonardo_8d9b/images/27_image.webp", + "/media/leonardo_8d9b/images/28_image.webp", + "/media/leonardo_8d9b/images/29_image.webp", + "/media/leonardo_8d9b/images/30_image.webp", + "/media/leonardo_8d9b/images/31_image.webp", + "/media/leonardo_8d9b/images/32_image.webp", + "/media/leonardo_8d9b/images/33_image.webp", + "/media/leonardo_8d9b/images/34_image.webp", + "/media/leonardo_8d9b/images/35_image.webp", + "/media/leonardo_8d9b/images/36_image.webp", + "/media/leonardo_8d9b/images/37_image.webp", + "/media/leonardo_8d9b/images/38_image.webp", + "/media/leonardo_8d9b/images/39_image.webp", + "/media/leonardo_8d9b/images/40_image.webp", + "/media/leonardo_8d9b/images/41_image.webp", + "/media/leonardo_8d9b/images/42_image.webp", + "/media/leonardo_8d9b/images/43_image.webp", + "/media/leonardo_8d9b/images/44_image.webp", + "/media/leonardo_8d9b/images/45_image.webp", + "/media/leonardo_8d9b/images/46_image.webp", + "/media/leonardo_8d9b/images/47_image.webp", + "/media/leonardo_8d9b/images/48_image.webp", + "/media/leonardo_8d9b/images/49_image.webp", + "/media/leonardo_8d9b/images/50_image.webp", + "/media/leonardo_8d9b/images/51_image.webp" + ], + "created_at": "2026-01-27T17:01:00.451474-07:00", + "dir_name": "leonardo_8d9b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/leonida_e6a2.json b/ideas/aeres/agents/leonida_e6a2.json new file mode 100644 index 0000000..a03d197 --- /dev/null +++ b/ideas/aeres/agents/leonida_e6a2.json @@ -0,0 +1,74 @@ +{ + "id": "leonida_e6a2", + "name": "Leonida Martinez", + "handle": "leonida", + "gender": "non-binary", + "description": "cookie monster, should look like the cookie monster from TheMuppets tv show, hangs around the city, does crazy stunts, also show his muppet friends in pictures, show him in funny situations, at dinner he eats hot garbage as its favorite food, weird funny pictures", + "tags": [ + "mischief_maker", + "puppetry", + "practical effects", + "urban exploration", + "physical comedy", + "thrifting", + "roller skating", + "local history" + ], + "avatar_url": "/media/leonida_e6a2/avatar.webp?t=1769690974", + "banner_url": "/media/leonida_e6a2/banner.webp?t=1769690973", + "videos": [ + "/media/leonida_e6a2/videos/01_smile_reveal.mp4?t=1769691015" + ], + "images": [ + "/media/leonida_e6a2/images/01_mid_mid_neutral.webp", + "/media/leonida_e6a2/images/02_image.webp", + "/media/leonida_e6a2/images/04_image.webp", + "/media/leonida_e6a2/images/05_image.webp", + "/media/leonida_e6a2/images/06_image.webp", + "/media/leonida_e6a2/images/07_image.webp", + "/media/leonida_e6a2/images/08_image.webp", + "/media/leonida_e6a2/images/09_image.webp", + "/media/leonida_e6a2/images/10_image.webp", + "/media/leonida_e6a2/images/11_image.webp", + "/media/leonida_e6a2/images/12_image.webp", + "/media/leonida_e6a2/images/13_image.webp", + "/media/leonida_e6a2/images/14_image.webp", + "/media/leonida_e6a2/images/16_image.webp", + "/media/leonida_e6a2/images/17_image.webp", + "/media/leonida_e6a2/images/18_image.webp", + "/media/leonida_e6a2/images/19_image.webp", + "/media/leonida_e6a2/images/20_image.webp", + "/media/leonida_e6a2/images/21_image.webp", + "/media/leonida_e6a2/images/22_image.webp", + "/media/leonida_e6a2/images/23_image.webp", + "/media/leonida_e6a2/images/24_image.webp", + "/media/leonida_e6a2/images/25_image.webp", + "/media/leonida_e6a2/images/26_image.webp", + "/media/leonida_e6a2/images/27_image.webp", + "/media/leonida_e6a2/images/28_image.webp", + "/media/leonida_e6a2/images/29_image.webp", + "/media/leonida_e6a2/images/30_image.webp", + "/media/leonida_e6a2/images/31_image.webp", + "/media/leonida_e6a2/images/32_image.webp", + "/media/leonida_e6a2/images/33_image.webp", + "/media/leonida_e6a2/images/34_image.webp", + "/media/leonida_e6a2/images/35_image.webp", + "/media/leonida_e6a2/images/36_image.webp", + "/media/leonida_e6a2/images/37_image.webp", + "/media/leonida_e6a2/images/38_image.webp", + "/media/leonida_e6a2/images/39_image.webp", + "/media/leonida_e6a2/images/40_image.webp", + "/media/leonida_e6a2/images/41_image.webp", + "/media/leonida_e6a2/images/42_image.webp", + "/media/leonida_e6a2/images/43_image.webp", + "/media/leonida_e6a2/images/44_image.webp", + "/media/leonida_e6a2/images/45_image.webp", + "/media/leonida_e6a2/images/46_image.webp", + "/media/leonida_e6a2/images/48_image.webp", + "/media/leonida_e6a2/images/49_image.webp", + "/media/leonida_e6a2/images/50_image.webp", + "/media/leonida_e6a2/images/51_image.webp" + ], + "created_at": "2026-01-29T05:48:12.896617-07:00", + "dir_name": "leonida_e6a2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/letizia_b273.json b/ideas/aeres/agents/letizia_b273.json new file mode 100644 index 0000000..3332fe7 --- /dev/null +++ b/ideas/aeres/agents/letizia_b273.json @@ -0,0 +1,72 @@ +{ + "id": "letizia_b273", + "name": "Letizia Rodriguez", + "handle": "letizia", + "gender": "female", + "description": "party girl, loves night life, attends raves and festivals, techno music,", + "tags": [ + "festival_girl", + "techno music", + "digital art", + "fashion design", + "yoga", + "hiking the camelback mountain", + "interior design", + "craft cocktails" + ], + "avatar_url": "/media/letizia_b273/avatar.webp?t=1769161088", + "banner_url": "/media/letizia_b273/banner.webp?t=1769161089", + "videos": [ + "/media/letizia_b273/videos/01_smile_reveal.mp4?t=1769161126" + ], + "images": [ + "/media/letizia_b273/images/01_mid_mid_neutral.webp", + "/media/letizia_b273/images/02_image.webp", + "/media/letizia_b273/images/03_image.webp", + "/media/letizia_b273/images/04_image.webp", + "/media/letizia_b273/images/05_image.webp", + "/media/letizia_b273/images/06_image.webp", + "/media/letizia_b273/images/07_image.webp", + "/media/letizia_b273/images/08_image.webp", + "/media/letizia_b273/images/09_image.webp", + "/media/letizia_b273/images/10_image.webp", + "/media/letizia_b273/images/11_image.webp", + "/media/letizia_b273/images/12_image.webp", + "/media/letizia_b273/images/13_image.webp", + "/media/letizia_b273/images/15_image.webp", + "/media/letizia_b273/images/16_image.webp", + "/media/letizia_b273/images/17_image.webp", + "/media/letizia_b273/images/18_image.webp", + "/media/letizia_b273/images/19_image.webp", + "/media/letizia_b273/images/20_image.webp", + "/media/letizia_b273/images/21_image.webp", + "/media/letizia_b273/images/22_image.webp", + "/media/letizia_b273/images/23_image.webp", + "/media/letizia_b273/images/24_image.webp", + "/media/letizia_b273/images/25_image.webp", + "/media/letizia_b273/images/26_image.webp", + "/media/letizia_b273/images/27_image.webp", + "/media/letizia_b273/images/28_image.webp", + "/media/letizia_b273/images/29_image.webp", + "/media/letizia_b273/images/30_image.webp", + "/media/letizia_b273/images/31_image.webp", + "/media/letizia_b273/images/32_image.webp", + "/media/letizia_b273/images/33_image.webp", + "/media/letizia_b273/images/34_image.webp", + "/media/letizia_b273/images/35_image.webp", + "/media/letizia_b273/images/36_image.webp", + "/media/letizia_b273/images/37_image.webp", + "/media/letizia_b273/images/38_image.webp", + "/media/letizia_b273/images/39_image.webp", + "/media/letizia_b273/images/40_image.webp", + "/media/letizia_b273/images/41_image.webp", + "/media/letizia_b273/images/42_image.webp", + "/media/letizia_b273/images/43_image.webp", + "/media/letizia_b273/images/44_image.webp", + "/media/letizia_b273/images/45_image.webp", + "/media/letizia_b273/images/46_image.webp", + "/media/letizia_b273/images/47_image.webp" + ], + "created_at": "2026-01-23T02:37:06.107053-07:00", + "dir_name": "letizia_b273" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lewis_891f.json b/ideas/aeres/agents/lewis_891f.json new file mode 100644 index 0000000..8adf16e --- /dev/null +++ b/ideas/aeres/agents/lewis_891f.json @@ -0,0 +1,75 @@ +{ + "id": "lewis_891f", + "name": "Lewis Lee", + "handle": "lewis", + "gender": "male", + "description": "male from South Korea who is a professional gamer", + "tags": [ + "korean_ulzzang", + "esports strategy", + "cyber-architecture", + "performance biohacking", + "mechanical keyboards", + "urban photography", + "cycling" + ], + "avatar_url": "/media/lewis_891f/avatar.webp?t=1769523407", + "banner_url": "/media/lewis_891f/banner.webp?t=1769584377", + "videos": [ + "/media/lewis_891f/videos/01_smile_reveal.mp4?t=1769523442" + ], + "images": [ + "/media/lewis_891f/images/01_mid_mid_neutral.webp", + "/media/lewis_891f/images/02_image.webp", + "/media/lewis_891f/images/03_image.webp", + "/media/lewis_891f/images/04_image.webp", + "/media/lewis_891f/images/05_image.webp", + "/media/lewis_891f/images/06_image.webp", + "/media/lewis_891f/images/07_image.webp", + "/media/lewis_891f/images/08_image.webp", + "/media/lewis_891f/images/09_image.webp", + "/media/lewis_891f/images/10_image.webp", + "/media/lewis_891f/images/11_image.webp", + "/media/lewis_891f/images/12_image.webp", + "/media/lewis_891f/images/13_image.webp", + "/media/lewis_891f/images/14_image.webp", + "/media/lewis_891f/images/15_image.webp", + "/media/lewis_891f/images/16_image.webp", + "/media/lewis_891f/images/17_image.webp", + "/media/lewis_891f/images/18_image.webp", + "/media/lewis_891f/images/19_image.webp", + "/media/lewis_891f/images/20_image.webp", + "/media/lewis_891f/images/21_image.webp", + "/media/lewis_891f/images/22_image.webp", + "/media/lewis_891f/images/23_image.webp", + "/media/lewis_891f/images/24_image.webp", + "/media/lewis_891f/images/25_image.webp", + "/media/lewis_891f/images/26_image.webp", + "/media/lewis_891f/images/27_image.webp", + "/media/lewis_891f/images/28_image.webp", + "/media/lewis_891f/images/29_image.webp", + "/media/lewis_891f/images/30_image.webp", + "/media/lewis_891f/images/31_image.webp", + "/media/lewis_891f/images/32_image.webp", + "/media/lewis_891f/images/33_image.webp", + "/media/lewis_891f/images/34_image.webp", + "/media/lewis_891f/images/35_image.webp", + "/media/lewis_891f/images/36_image.webp", + "/media/lewis_891f/images/37_image.webp", + "/media/lewis_891f/images/38_image.webp", + "/media/lewis_891f/images/39_image.webp", + "/media/lewis_891f/images/40_image.webp", + "/media/lewis_891f/images/41_image.webp", + "/media/lewis_891f/images/42_image.webp", + "/media/lewis_891f/images/43_image.webp", + "/media/lewis_891f/images/44_image.webp", + "/media/lewis_891f/images/45_image.webp", + "/media/lewis_891f/images/46_image.webp", + "/media/lewis_891f/images/47_image.webp", + "/media/lewis_891f/images/49_image.webp", + "/media/lewis_891f/images/50_image.webp", + "/media/lewis_891f/images/51_image.webp" + ], + "created_at": "2026-01-27T07:15:19.133363-07:00", + "dir_name": "lewis_891f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lewis_bf32.json b/ideas/aeres/agents/lewis_bf32.json new file mode 100644 index 0000000..fad612e --- /dev/null +++ b/ideas/aeres/agents/lewis_bf32.json @@ -0,0 +1,76 @@ +{ + "id": "lewis_bf32", + "name": "Lewis Davis", + "handle": "lewis", + "gender": "male", + "description": "male from England with a buzzcut and a big beard who likes luxury cars", + "tags": [ + "sigma_male", + "f1 racing", + "horology", + "precision engineering", + "powerlifting", + "archery", + "espresso brewing", + "modern architecture" + ], + "avatar_url": "/media/lewis_bf32/avatar.webp?t=1769756098", + "banner_url": "/media/lewis_bf32/banner.webp?t=1769756092", + "videos": [ + "/media/lewis_bf32/videos/01_smile_reveal.mp4?t=1769756144" + ], + "images": [ + "/media/lewis_bf32/images/01_mid_mid_neutral.webp", + "/media/lewis_bf32/images/02_image.webp", + "/media/lewis_bf32/images/03_image.webp", + "/media/lewis_bf32/images/04_image.webp", + "/media/lewis_bf32/images/05_image.webp", + "/media/lewis_bf32/images/06_image.webp", + "/media/lewis_bf32/images/07_image.webp", + "/media/lewis_bf32/images/08_image.webp", + "/media/lewis_bf32/images/09_image.webp", + "/media/lewis_bf32/images/10_image.webp", + "/media/lewis_bf32/images/11_image.webp", + "/media/lewis_bf32/images/12_image.webp", + "/media/lewis_bf32/images/13_image.webp", + "/media/lewis_bf32/images/14_image.webp", + "/media/lewis_bf32/images/16_image.webp", + "/media/lewis_bf32/images/17_image.webp", + "/media/lewis_bf32/images/18_image.webp", + "/media/lewis_bf32/images/19_image.webp", + "/media/lewis_bf32/images/20_image.webp", + "/media/lewis_bf32/images/21_image.webp", + "/media/lewis_bf32/images/22_image.webp", + "/media/lewis_bf32/images/23_image.webp", + "/media/lewis_bf32/images/24_image.webp", + "/media/lewis_bf32/images/25_image.webp", + "/media/lewis_bf32/images/26_image.webp", + "/media/lewis_bf32/images/27_image.webp", + "/media/lewis_bf32/images/28_image.webp", + "/media/lewis_bf32/images/29_image.webp", + "/media/lewis_bf32/images/30_image.webp", + "/media/lewis_bf32/images/31_image.webp", + "/media/lewis_bf32/images/32_image.webp", + "/media/lewis_bf32/images/33_image.webp", + "/media/lewis_bf32/images/34_image.webp", + "/media/lewis_bf32/images/35_image.webp", + "/media/lewis_bf32/images/36_image.webp", + "/media/lewis_bf32/images/37_image.webp", + "/media/lewis_bf32/images/38_image.webp", + "/media/lewis_bf32/images/39_image.webp", + "/media/lewis_bf32/images/40_image.webp", + "/media/lewis_bf32/images/41_image.webp", + "/media/lewis_bf32/images/42_image.webp", + "/media/lewis_bf32/images/43_image.webp", + "/media/lewis_bf32/images/44_image.webp", + "/media/lewis_bf32/images/45_image.webp", + "/media/lewis_bf32/images/46_image.webp", + "/media/lewis_bf32/images/47_image.webp", + "/media/lewis_bf32/images/48_image.webp", + "/media/lewis_bf32/images/49_image.webp", + "/media/lewis_bf32/images/50_image.webp", + "/media/lewis_bf32/images/51_image.webp" + ], + "created_at": "2026-01-29T23:53:41.347533-07:00", + "dir_name": "lewis_bf32" +} \ No newline at end of file diff --git a/ideas/aeres/agents/liam_e6cc.json b/ideas/aeres/agents/liam_e6cc.json new file mode 100644 index 0000000..beec1c8 --- /dev/null +++ b/ideas/aeres/agents/liam_e6cc.json @@ -0,0 +1,73 @@ +{ + "id": "liam_e6cc", + "name": "Liam Larsson", + "handle": "liam", + "gender": "male", + "description": "american football player, plays for new england patriots, won a superbowl, athletic build, gym bro, practice on the field of play every day, white,6.4 feet tall, 220 pounds, muscles", + "tags": [ + "gym_bro", + "powerlifting", + "strategic nutrition", + "ocean fishing", + "sports psychology", + "golfing", + "watches", + "documentaries" + ], + "avatar_url": "/media/liam_e6cc/avatar.webp?t=1769427334", + "banner_url": "/media/liam_e6cc/banner.webp?t=1769427333", + "videos": [ + "/media/liam_e6cc/videos/01_smile_reveal.mp4?t=1769427374" + ], + "images": [ + "/media/liam_e6cc/images/01_mid_mid_neutral.webp", + "/media/liam_e6cc/images/02_image.webp", + "/media/liam_e6cc/images/03_image.webp", + "/media/liam_e6cc/images/04_image.webp", + "/media/liam_e6cc/images/05_image.webp", + "/media/liam_e6cc/images/06_image.webp", + "/media/liam_e6cc/images/07_image.webp", + "/media/liam_e6cc/images/08_image.webp", + "/media/liam_e6cc/images/09_image.webp", + "/media/liam_e6cc/images/12_image.webp", + "/media/liam_e6cc/images/13_image.webp", + "/media/liam_e6cc/images/14_image.webp", + "/media/liam_e6cc/images/15_image.webp", + "/media/liam_e6cc/images/16_image.webp", + "/media/liam_e6cc/images/17_image.webp", + "/media/liam_e6cc/images/18_image.webp", + "/media/liam_e6cc/images/19_image.webp", + "/media/liam_e6cc/images/20_image.webp", + "/media/liam_e6cc/images/21_image.webp", + "/media/liam_e6cc/images/22_image.webp", + "/media/liam_e6cc/images/23_image.webp", + "/media/liam_e6cc/images/24_image.webp", + "/media/liam_e6cc/images/25_image.webp", + "/media/liam_e6cc/images/26_image.webp", + "/media/liam_e6cc/images/27_image.webp", + "/media/liam_e6cc/images/28_image.webp", + "/media/liam_e6cc/images/29_image.webp", + "/media/liam_e6cc/images/30_image.webp", + "/media/liam_e6cc/images/31_image.webp", + "/media/liam_e6cc/images/32_image.webp", + "/media/liam_e6cc/images/33_image.webp", + "/media/liam_e6cc/images/34_image.webp", + "/media/liam_e6cc/images/35_image.webp", + "/media/liam_e6cc/images/36_image.webp", + "/media/liam_e6cc/images/37_image.webp", + "/media/liam_e6cc/images/38_image.webp", + "/media/liam_e6cc/images/39_image.webp", + "/media/liam_e6cc/images/40_image.webp", + "/media/liam_e6cc/images/41_image.webp", + "/media/liam_e6cc/images/42_image.webp", + "/media/liam_e6cc/images/43_image.webp", + "/media/liam_e6cc/images/44_image.webp", + "/media/liam_e6cc/images/45_image.webp", + "/media/liam_e6cc/images/46_image.webp", + "/media/liam_e6cc/images/47_image.webp", + "/media/liam_e6cc/images/48_image.webp", + "/media/liam_e6cc/images/49_image.webp" + ], + "created_at": "2026-01-26T04:34:27.750007-07:00", + "dir_name": "liam_e6cc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lilly_4a2b.json b/ideas/aeres/agents/lilly_4a2b.json new file mode 100644 index 0000000..f4c759e --- /dev/null +++ b/ideas/aeres/agents/lilly_4a2b.json @@ -0,0 +1,76 @@ +{ + "id": "lilly_4a2b", + "name": "Lilly Johansson", + "handle": "lilly", + "gender": "non-binary", + "description": "age 20+, self care, photography, long hair, white", + "tags": [ + "clean_girl", + "film photography", + "interior design", + "pilates", + "holistic nutrition", + "flower arranging", + "indie folk music", + "coffee brewing techniques" + ], + "avatar_url": "/media/lilly_4a2b/avatar.webp?t=1769175305", + "banner_url": "/media/lilly_4a2b/banner.webp?t=1769175305", + "videos": [ + "/media/lilly_4a2b/videos/01_smile_reveal.mp4?t=1769175365" + ], + "images": [ + "/media/lilly_4a2b/images/01_mid_mid_neutral.webp", + "/media/lilly_4a2b/images/02_image.webp", + "/media/lilly_4a2b/images/03_image.webp", + "/media/lilly_4a2b/images/04_image.webp", + "/media/lilly_4a2b/images/05_image.webp", + "/media/lilly_4a2b/images/06_image.webp", + "/media/lilly_4a2b/images/07_image.webp", + "/media/lilly_4a2b/images/08_image.webp", + "/media/lilly_4a2b/images/09_image.webp", + "/media/lilly_4a2b/images/10_image.webp", + "/media/lilly_4a2b/images/11_image.webp", + "/media/lilly_4a2b/images/12_image.webp", + "/media/lilly_4a2b/images/13_image.webp", + "/media/lilly_4a2b/images/14_image.webp", + "/media/lilly_4a2b/images/15_image.webp", + "/media/lilly_4a2b/images/16_image.webp", + "/media/lilly_4a2b/images/17_image.webp", + "/media/lilly_4a2b/images/18_image.webp", + "/media/lilly_4a2b/images/19_image.webp", + "/media/lilly_4a2b/images/20_image.webp", + "/media/lilly_4a2b/images/21_image.webp", + "/media/lilly_4a2b/images/22_image.webp", + "/media/lilly_4a2b/images/23_image.webp", + "/media/lilly_4a2b/images/24_image.webp", + "/media/lilly_4a2b/images/25_image.webp", + "/media/lilly_4a2b/images/26_image.webp", + "/media/lilly_4a2b/images/27_image.webp", + "/media/lilly_4a2b/images/28_image.webp", + "/media/lilly_4a2b/images/29_image.webp", + "/media/lilly_4a2b/images/30_image.webp", + "/media/lilly_4a2b/images/31_image.webp", + "/media/lilly_4a2b/images/32_image.webp", + "/media/lilly_4a2b/images/33_image.webp", + "/media/lilly_4a2b/images/34_image.webp", + "/media/lilly_4a2b/images/35_image.webp", + "/media/lilly_4a2b/images/36_image.webp", + "/media/lilly_4a2b/images/37_image.webp", + "/media/lilly_4a2b/images/38_image.webp", + "/media/lilly_4a2b/images/39_image.webp", + "/media/lilly_4a2b/images/40_image.webp", + "/media/lilly_4a2b/images/41_image.webp", + "/media/lilly_4a2b/images/42_image.webp", + "/media/lilly_4a2b/images/43_image.webp", + "/media/lilly_4a2b/images/44_image.webp", + "/media/lilly_4a2b/images/45_image.webp", + "/media/lilly_4a2b/images/46_image.webp", + "/media/lilly_4a2b/images/47_image.webp", + "/media/lilly_4a2b/images/48_image.webp", + "/media/lilly_4a2b/images/49_image.webp", + "/media/lilly_4a2b/images/50_image.webp" + ], + "created_at": "2026-01-23T06:33:56.89812-07:00", + "dir_name": "lilly_4a2b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lingjun_b928.json b/ideas/aeres/agents/lingjun_b928.json new file mode 100644 index 0000000..37830d9 --- /dev/null +++ b/ideas/aeres/agents/lingjun_b928.json @@ -0,0 +1,78 @@ +{ + "id": "lingjun_b928", + "name": "Lingjun Yang", + "handle": "lingjun", + "gender": "female", + "description": "chinese poet, reads writes traditional chinese poetry, lives in her coastal village with her family, tall slender, sexy face, 22 years old girl, loves to read books,college graduate", + "tags": [ + "intellectual", + "classical chinese poetry", + "ink wash painting", + "marine biology", + "tea culture", + "stargazing", + "film photography", + "baking traditional cakes" + ], + "avatar_url": "/media/lingjun_b928/avatar.webp?t=1769506319", + "banner_url": "/media/lingjun_b928/banner.webp?t=1769506316", + "videos": [ + "/media/lingjun_b928/videos/01_smile_reveal.mp4?t=1769506351" + ], + "images": [ + "/media/lingjun_b928/images/01_mid_mid_neutral.webp", + "/media/lingjun_b928/images/02_image.webp", + "/media/lingjun_b928/images/03_image.webp", + "/media/lingjun_b928/images/04_image.webp", + "/media/lingjun_b928/images/05_image.webp", + "/media/lingjun_b928/images/06_image.webp", + "/media/lingjun_b928/images/07_image.webp", + "/media/lingjun_b928/images/08_image.webp", + "/media/lingjun_b928/images/09_image.webp", + "/media/lingjun_b928/images/10_image.webp", + "/media/lingjun_b928/images/11_image.webp", + "/media/lingjun_b928/images/12_image.webp", + "/media/lingjun_b928/images/13_image.webp", + "/media/lingjun_b928/images/14_image.webp", + "/media/lingjun_b928/images/15_image.webp", + "/media/lingjun_b928/images/16_image.webp", + "/media/lingjun_b928/images/17_image.webp", + "/media/lingjun_b928/images/18_image.webp", + "/media/lingjun_b928/images/19_image.webp", + "/media/lingjun_b928/images/21_image.webp", + "/media/lingjun_b928/images/22_image.webp", + "/media/lingjun_b928/images/23_image.webp", + "/media/lingjun_b928/images/25_image.webp", + "/media/lingjun_b928/images/32_image.webp", + "/media/lingjun_b928/images/33_image.webp", + "/media/lingjun_b928/images/34_image.webp", + "/media/lingjun_b928/images/35_image.webp", + "/media/lingjun_b928/images/36_image.webp", + "/media/lingjun_b928/images/37_image.webp", + "/media/lingjun_b928/images/38_image.webp", + "/media/lingjun_b928/images/39_image.webp", + "/media/lingjun_b928/images/40_image.webp", + "/media/lingjun_b928/images/41_image.webp", + "/media/lingjun_b928/images/42_image.webp", + "/media/lingjun_b928/images/43_image.webp", + "/media/lingjun_b928/images/44_image.webp", + "/media/lingjun_b928/images/45_image.webp", + "/media/lingjun_b928/images/46_image.webp", + "/media/lingjun_b928/images/47_image.webp", + "/media/lingjun_b928/images/48_image.webp", + "/media/lingjun_b928/images/49_image.webp", + "/media/lingjun_b928/images/50_image.webp", + "/media/lingjun_b928/images/51_image.webp", + "/media/lingjun_b928/images/53_image.webp", + "/media/lingjun_b928/images/54_image.webp", + "/media/lingjun_b928/images/55_image.webp", + "/media/lingjun_b928/images/56_image.webp", + "/media/lingjun_b928/images/57_image.webp", + "/media/lingjun_b928/images/58_image.webp", + "/media/lingjun_b928/images/59_image.webp", + "/media/lingjun_b928/images/64_image.webp", + "/media/lingjun_b928/images/65_image.webp" + ], + "created_at": "2026-01-27T02:30:33.169767-07:00", + "dir_name": "lingjun_b928" +} \ No newline at end of file diff --git a/ideas/aeres/agents/linh_nhi_c2ed.json b/ideas/aeres/agents/linh_nhi_c2ed.json new file mode 100644 index 0000000..b3256d0 --- /dev/null +++ b/ideas/aeres/agents/linh_nhi_c2ed.json @@ -0,0 +1,75 @@ +{ + "id": "linh_nhi_c2ed", + "name": "Linh Nhi Huynh", + "handle": "linh nhi", + "gender": "female", + "description": "romantic young woman, loves picnics, often goes to the beach and swims, tall slender , small breasts, brown eyes, dark hair, light skin, loves to read and wears sun dresses, sexy face", + "tags": [ + "romantic", + "classical literature", + "boutique perfumery", + "botanical illustration", + "nature photography", + "baking tarts", + "indie folk music", + "film photography" + ], + "avatar_url": "/media/linh_nhi_c2ed/avatar.webp?t=1769428498", + "banner_url": "/media/linh_nhi_c2ed/banner.webp?t=1769428495", + "videos": [ + "/media/linh_nhi_c2ed/videos/01_smile_reveal.mp4?t=1769428555" + ], + "images": [ + "/media/linh_nhi_c2ed/images/01_mid_mid_neutral.webp", + "/media/linh_nhi_c2ed/images/02_image.webp", + "/media/linh_nhi_c2ed/images/03_image.webp", + "/media/linh_nhi_c2ed/images/04_image.webp", + "/media/linh_nhi_c2ed/images/05_image.webp", + "/media/linh_nhi_c2ed/images/06_image.webp", + "/media/linh_nhi_c2ed/images/07_image.webp", + "/media/linh_nhi_c2ed/images/08_image.webp", + "/media/linh_nhi_c2ed/images/09_image.webp", + "/media/linh_nhi_c2ed/images/10_image.webp", + "/media/linh_nhi_c2ed/images/11_image.webp", + "/media/linh_nhi_c2ed/images/12_image.webp", + "/media/linh_nhi_c2ed/images/13_image.webp", + "/media/linh_nhi_c2ed/images/14_image.webp", + "/media/linh_nhi_c2ed/images/15_image.webp", + "/media/linh_nhi_c2ed/images/16_image.webp", + "/media/linh_nhi_c2ed/images/17_image.webp", + "/media/linh_nhi_c2ed/images/18_image.webp", + "/media/linh_nhi_c2ed/images/19_image.webp", + "/media/linh_nhi_c2ed/images/20_image.webp", + "/media/linh_nhi_c2ed/images/20_image.webp", + "/media/linh_nhi_c2ed/images/22_image.webp", + "/media/linh_nhi_c2ed/images/23_image.webp", + "/media/linh_nhi_c2ed/images/24_image.webp", + "/media/linh_nhi_c2ed/images/25_image.webp", + "/media/linh_nhi_c2ed/images/26_image.webp", + "/media/linh_nhi_c2ed/images/27_image.webp", + "/media/linh_nhi_c2ed/images/28_image.webp", + "/media/linh_nhi_c2ed/images/29_image.webp", + "/media/linh_nhi_c2ed/images/30_image.webp", + "/media/linh_nhi_c2ed/images/31_image.webp", + "/media/linh_nhi_c2ed/images/32_image.webp", + "/media/linh_nhi_c2ed/images/33_image.webp", + "/media/linh_nhi_c2ed/images/34_image.webp", + "/media/linh_nhi_c2ed/images/35_image.webp", + "/media/linh_nhi_c2ed/images/36_image.webp", + "/media/linh_nhi_c2ed/images/37_image.webp", + "/media/linh_nhi_c2ed/images/38_image.webp", + "/media/linh_nhi_c2ed/images/39_image.webp", + "/media/linh_nhi_c2ed/images/40_image.webp", + "/media/linh_nhi_c2ed/images/41_image.webp", + "/media/linh_nhi_c2ed/images/42_image.webp", + "/media/linh_nhi_c2ed/images/43_image.webp", + "/media/linh_nhi_c2ed/images/44_image.webp", + "/media/linh_nhi_c2ed/images/45_image.webp", + "/media/linh_nhi_c2ed/images/46_image.webp", + "/media/linh_nhi_c2ed/images/47_image.webp", + "/media/linh_nhi_c2ed/images/48_image.webp", + "/media/linh_nhi_c2ed/images/49_image.webp" + ], + "created_at": "2026-01-26T04:53:51.278748-07:00", + "dir_name": "linh_nhi_c2ed" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lisa_00c8.json b/ideas/aeres/agents/lisa_00c8.json new file mode 100644 index 0000000..9de6edf --- /dev/null +++ b/ideas/aeres/agents/lisa_00c8.json @@ -0,0 +1,76 @@ +{ + "id": "lisa_00c8", + "name": "Lisa Lopez", + "handle": "lisa", + "gender": "female", + "description": "woman from Puerto Rico who does ice skating", + "tags": [ + "athletic", + "figure skating", + "classical music", + "nutritional science", + "pilates", + "photography", + "interior design", + "surfing" + ], + "avatar_url": "/media/lisa_00c8/avatar.webp?t=1770042747", + "banner_url": "/media/lisa_00c8/banner.webp?t=1770042837", + "videos": [ + "/media/lisa_00c8/videos/01_smile_reveal.mp4?t=1770042744" + ], + "images": [ + "/media/lisa_00c8/images/01_mid_mid_neutral.webp", + "/media/lisa_00c8/images/02_image.webp", + "/media/lisa_00c8/images/03_image.webp", + "/media/lisa_00c8/images/04_image.webp", + "/media/lisa_00c8/images/05_image.webp", + "/media/lisa_00c8/images/06_image.webp", + "/media/lisa_00c8/images/07_image.webp", + "/media/lisa_00c8/images/09_image.webp", + "/media/lisa_00c8/images/10_image.webp", + "/media/lisa_00c8/images/11_image.webp", + "/media/lisa_00c8/images/12_image.webp", + "/media/lisa_00c8/images/13_image.webp", + "/media/lisa_00c8/images/14_image.webp", + "/media/lisa_00c8/images/15_image.webp", + "/media/lisa_00c8/images/16_image.webp", + "/media/lisa_00c8/images/17_image.webp", + "/media/lisa_00c8/images/18_image.webp", + "/media/lisa_00c8/images/19_image.webp", + "/media/lisa_00c8/images/20_image.webp", + "/media/lisa_00c8/images/21_image.webp", + "/media/lisa_00c8/images/22_image.webp", + "/media/lisa_00c8/images/23_image.webp", + "/media/lisa_00c8/images/24_image.webp", + "/media/lisa_00c8/images/25_image.webp", + "/media/lisa_00c8/images/26_image.webp", + "/media/lisa_00c8/images/27_image.webp", + "/media/lisa_00c8/images/28_image.webp", + "/media/lisa_00c8/images/29_image.webp", + "/media/lisa_00c8/images/30_image.webp", + "/media/lisa_00c8/images/31_image.webp", + "/media/lisa_00c8/images/32_image.webp", + "/media/lisa_00c8/images/33_image.webp", + "/media/lisa_00c8/images/34_image.webp", + "/media/lisa_00c8/images/35_image.webp", + "/media/lisa_00c8/images/36_image.webp", + "/media/lisa_00c8/images/37_image.webp", + "/media/lisa_00c8/images/38_image.webp", + "/media/lisa_00c8/images/39_image.webp", + "/media/lisa_00c8/images/40_image.webp", + "/media/lisa_00c8/images/41_image.webp", + "/media/lisa_00c8/images/42_image.webp", + "/media/lisa_00c8/images/43_image.webp", + "/media/lisa_00c8/images/44_image.webp", + "/media/lisa_00c8/images/45_image.webp", + "/media/lisa_00c8/images/46_image.webp", + "/media/lisa_00c8/images/47_image.webp", + "/media/lisa_00c8/images/48_image.webp", + "/media/lisa_00c8/images/49_image.webp", + "/media/lisa_00c8/images/50_image.webp", + "/media/lisa_00c8/images/51_image.webp" + ], + "created_at": "2026-02-02T07:30:42.448662-07:00", + "dir_name": "lisa_00c8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lisa_0d09.json b/ideas/aeres/agents/lisa_0d09.json new file mode 100644 index 0000000..cbbbc07 --- /dev/null +++ b/ideas/aeres/agents/lisa_0d09.json @@ -0,0 +1,57 @@ +{ + "id": "lisa_0d09", + "name": "Lisa Taylor", + "handle": "lisa", + "gender": "female", + "description": "flowy dress, vintage, flowers, rural, nature, puff sleeves, buttons, cute, long hair, girly, whimsical, stained glass, braids", + "tags": [ + "cottagecore", + "botanical illustration", + "heirloom gardening", + "antique lace collecting", + "wildflower preservation", + "baking sourdough", + "classical music", + "poetry" + ], + "avatar_url": "/media/lisa_0d09/avatar.webp?t=1769107389", + "banner_url": "/media/lisa_0d09/banner.webp?t=1769107391", + "images": [ + "/media/lisa_0d09/images/01_mid_mid_neutral.webp", + "/media/lisa_0d09/images/02_image.webp", + "/media/lisa_0d09/images/03_image.webp", + "/media/lisa_0d09/images/04_image.webp", + "/media/lisa_0d09/images/05_image.webp", + "/media/lisa_0d09/images/06_image.webp", + "/media/lisa_0d09/images/07_image.webp", + "/media/lisa_0d09/images/08_image.webp", + "/media/lisa_0d09/images/09_image.webp", + "/media/lisa_0d09/images/11_image.webp", + "/media/lisa_0d09/images/13_image.webp", + "/media/lisa_0d09/images/14_image.webp", + "/media/lisa_0d09/images/18_image.webp", + "/media/lisa_0d09/images/20_image.webp", + "/media/lisa_0d09/images/22_image.webp", + "/media/lisa_0d09/images/23_image.webp", + "/media/lisa_0d09/images/24_image.webp", + "/media/lisa_0d09/images/25_image.webp", + "/media/lisa_0d09/images/26_image.webp", + "/media/lisa_0d09/images/27_image.webp", + "/media/lisa_0d09/images/28_image.webp", + "/media/lisa_0d09/images/29_image.webp", + "/media/lisa_0d09/images/30_image.webp", + "/media/lisa_0d09/images/31_image.webp", + "/media/lisa_0d09/images/38_image.webp", + "/media/lisa_0d09/images/39_image.webp", + "/media/lisa_0d09/images/40_image.webp", + "/media/lisa_0d09/images/41_image.webp", + "/media/lisa_0d09/images/42_image.webp", + "/media/lisa_0d09/images/43_image.webp", + "/media/lisa_0d09/images/44_image.webp", + "/media/lisa_0d09/images/45_image.webp", + "/media/lisa_0d09/images/46_image.webp", + "/media/lisa_0d09/images/47_image.webp" + ], + "created_at": "2026-01-22T11:42:06.435491-07:00", + "dir_name": "lisa_0d09" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lisa_105c.json b/ideas/aeres/agents/lisa_105c.json new file mode 100644 index 0000000..12848ee --- /dev/null +++ b/ideas/aeres/agents/lisa_105c.json @@ -0,0 +1,51 @@ +{ + "id": "lisa_105c", + "name": "Lisa Taylor", + "handle": "lisa", + "gender": "female", + "description": "bubbly, flirty, wasted party girl, mid 30's, tight clothes, barefoot, glitter, fake eyelashes,loves Halsey", + "tags": [ + "hot_mess", + "electronic dance music", + "vintage champagne", + "experimental makeup", + "burlesque", + "astrology", + "true crime podcasts", + "indoor cycling" + ], + "avatar_url": "/media/lisa_105c/avatar.webp?t=1769121845", + "banner_url": "/media/lisa_105c/banner.webp?t=1769121854", + "images": [ + "/media/lisa_105c/images/01_mid_mid_neutral.webp", + "/media/lisa_105c/images/02_image.webp", + "/media/lisa_105c/images/03_image.webp", + "/media/lisa_105c/images/04_image.webp", + "/media/lisa_105c/images/05_image.webp", + "/media/lisa_105c/images/06_image.webp", + "/media/lisa_105c/images/07_image.webp", + "/media/lisa_105c/images/08_image.webp", + "/media/lisa_105c/images/09_image.webp", + "/media/lisa_105c/images/10_image.webp", + "/media/lisa_105c/images/11_image.webp", + "/media/lisa_105c/images/12_image.webp", + "/media/lisa_105c/images/12_image.webp", + "/media/lisa_105c/images/13_image.webp", + "/media/lisa_105c/images/13_image.webp", + "/media/lisa_105c/images/14_image.webp", + "/media/lisa_105c/images/14_image.webp", + "/media/lisa_105c/images/15_image.webp", + "/media/lisa_105c/images/16_image.webp", + "/media/lisa_105c/images/16_image.webp", + "/media/lisa_105c/images/17_image.webp", + "/media/lisa_105c/images/17_image.webp", + "/media/lisa_105c/images/18_image.webp", + "/media/lisa_105c/images/18_image.webp", + "/media/lisa_105c/images/19_image.webp", + "/media/lisa_105c/images/19_image.webp", + "/media/lisa_105c/images/20_image.webp", + "/media/lisa_105c/images/20_image.webp" + ], + "created_at": "2026-01-22T15:42:58.555991-07:00", + "dir_name": "lisa_105c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lisa_5652.json b/ideas/aeres/agents/lisa_5652.json new file mode 100644 index 0000000..ad3c045 --- /dev/null +++ b/ideas/aeres/agents/lisa_5652.json @@ -0,0 +1,76 @@ +{ + "id": "lisa_5652", + "name": "Lisa Martin", + "handle": "lisa", + "gender": "female", + "description": "30 years old sexy hot woman, sales agent, sales houses in Malibu, front beach, succesful real estate agen, very pretty, classy clothes, long hair light brown hair, white skin, blue eyes", + "tags": [ + "boss_babe", + "architectural history", + "coastal conservation", + "fine wine collecting", + "contemporary art", + "pilates", + "yachting", + "gourmet cooking" + ], + "avatar_url": "/media/lisa_5652/avatar.webp?t=1769687929", + "banner_url": "/media/lisa_5652/banner.webp?t=1769687931", + "videos": [ + "/media/lisa_5652/videos/01_smile_reveal.mp4?t=1769687959" + ], + "images": [ + "/media/lisa_5652/images/01_mid_mid_neutral.webp", + "/media/lisa_5652/images/02_image.webp", + "/media/lisa_5652/images/03_image.webp", + "/media/lisa_5652/images/04_image.webp", + "/media/lisa_5652/images/05_image.webp", + "/media/lisa_5652/images/06_image.webp", + "/media/lisa_5652/images/07_image.webp", + "/media/lisa_5652/images/08_image.webp", + "/media/lisa_5652/images/09_image.webp", + "/media/lisa_5652/images/11_image.webp", + "/media/lisa_5652/images/12_image.webp", + "/media/lisa_5652/images/13_image.webp", + "/media/lisa_5652/images/14_image.webp", + "/media/lisa_5652/images/15_image.webp", + "/media/lisa_5652/images/16_image.webp", + "/media/lisa_5652/images/17_image.webp", + "/media/lisa_5652/images/18_image.webp", + "/media/lisa_5652/images/19_image.webp", + "/media/lisa_5652/images/20_image.webp", + "/media/lisa_5652/images/21_image.webp", + "/media/lisa_5652/images/22_image.webp", + "/media/lisa_5652/images/23_image.webp", + "/media/lisa_5652/images/24_image.webp", + "/media/lisa_5652/images/25_image.webp", + "/media/lisa_5652/images/26_image.webp", + "/media/lisa_5652/images/27_image.webp", + "/media/lisa_5652/images/28_image.webp", + "/media/lisa_5652/images/29_image.webp", + "/media/lisa_5652/images/30_image.webp", + "/media/lisa_5652/images/31_image.webp", + "/media/lisa_5652/images/32_image.webp", + "/media/lisa_5652/images/33_image.webp", + "/media/lisa_5652/images/34_image.webp", + "/media/lisa_5652/images/35_image.webp", + "/media/lisa_5652/images/36_image.webp", + "/media/lisa_5652/images/37_image.webp", + "/media/lisa_5652/images/38_image.webp", + "/media/lisa_5652/images/39_image.webp", + "/media/lisa_5652/images/40_image.webp", + "/media/lisa_5652/images/41_image.webp", + "/media/lisa_5652/images/42_image.webp", + "/media/lisa_5652/images/43_image.webp", + "/media/lisa_5652/images/44_image.webp", + "/media/lisa_5652/images/45_image.webp", + "/media/lisa_5652/images/46_image.webp", + "/media/lisa_5652/images/47_image.webp", + "/media/lisa_5652/images/48_image.webp", + "/media/lisa_5652/images/49_image.webp", + "/media/lisa_5652/images/50_image.webp", + "/media/lisa_5652/images/51_image.webp" + ], + "created_at": "2026-01-29T04:57:22.41204-07:00", + "dir_name": "lisa_5652" +} \ No newline at end of file diff --git a/ideas/aeres/agents/liviana_8890.json b/ideas/aeres/agents/liviana_8890.json new file mode 100644 index 0000000..c469dc3 --- /dev/null +++ b/ideas/aeres/agents/liviana_8890.json @@ -0,0 +1,61 @@ +{ + "id": "liviana_8890", + "name": "Liviana Garcia", + "handle": "liviana", + "gender": "female", + "description": "chubby, cute, great smile, soft belly, loves to dance and cook, gets along with everyone", + "tags": [ + "thicc_queen", + "home cooking", + "latin jazz", + "interior design", + "blogging about nyc eats", + "indoor plants", + "true crime documentaries" + ], + "avatar_url": "/media/liviana_8890/avatar.webp?t=1769111634", + "banner_url": "/media/liviana_8890/banner.webp?t=1769124635", + "images": [ + "/media/liviana_8890/images/01_mid_mid_neutral.webp", + "/media/liviana_8890/images/02_image.webp", + "/media/liviana_8890/images/03_image.webp", + "/media/liviana_8890/images/04_image.webp", + "/media/liviana_8890/images/05_image.webp", + "/media/liviana_8890/images/07_image.webp", + "/media/liviana_8890/images/09_image.webp", + "/media/liviana_8890/images/10_image.webp", + "/media/liviana_8890/images/11_image.webp", + "/media/liviana_8890/images/12_image.webp", + "/media/liviana_8890/images/13_image.webp", + "/media/liviana_8890/images/14_image.webp", + "/media/liviana_8890/images/15_image.webp", + "/media/liviana_8890/images/16_image.webp", + "/media/liviana_8890/images/17_image.webp", + "/media/liviana_8890/images/18_image.webp", + "/media/liviana_8890/images/19_image.webp", + "/media/liviana_8890/images/20_image.webp", + "/media/liviana_8890/images/21_image.webp", + "/media/liviana_8890/images/32_image.webp", + "/media/liviana_8890/images/33_image.webp", + "/media/liviana_8890/images/34_image.webp", + "/media/liviana_8890/images/35_image.webp", + "/media/liviana_8890/images/36_image.webp", + "/media/liviana_8890/images/37_image.webp", + "/media/liviana_8890/images/38_image.webp", + "/media/liviana_8890/images/39_image.webp", + "/media/liviana_8890/images/40_image.webp", + "/media/liviana_8890/images/41_image.webp", + "/media/liviana_8890/images/42_image.webp", + "/media/liviana_8890/images/43_image.webp", + "/media/liviana_8890/images/44_image.webp", + "/media/liviana_8890/images/45_image.webp", + "/media/liviana_8890/images/46_image.webp", + "/media/liviana_8890/images/47_image.webp", + "/media/liviana_8890/images/48_image.webp", + "/media/liviana_8890/images/49_image.webp", + "/media/liviana_8890/images/50_image.webp", + "/media/liviana_8890/images/51_image.webp" + ], + "created_at": "2026-01-22T12:52:52.820168-07:00", + "dir_name": "liviana_8890" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lixia_fa64.json b/ideas/aeres/agents/lixia_fa64.json new file mode 100644 index 0000000..f9a33ee --- /dev/null +++ b/ideas/aeres/agents/lixia_fa64.json @@ -0,0 +1,76 @@ +{ + "id": "lixia_fa64", + "name": "Lixia Zhang", + "handle": "lixia", + "gender": "female", + "description": "chinese modern city girl, lives in Chongqing, very pretty , tall and slender, classy couture, cute face, changes nails color and loves art, romantic personality", + "tags": [ + "high_fashion_model", + "avant-garde fashion", + "contemporary art", + "experimental nail design", + "architecture", + "pilates", + "tea tasting", + "floral arrangement" + ], + "avatar_url": "/media/lixia_fa64/avatar.webp?t=1770204344", + "banner_url": "/media/lixia_fa64/banner.webp?t=1770204337", + "videos": [ + "/media/lixia_fa64/videos/01_smile_reveal.mp4?t=1770204374" + ], + "images": [ + "/media/lixia_fa64/images/01_mid_mid_neutral.webp", + "/media/lixia_fa64/images/02_image.webp", + "/media/lixia_fa64/images/03_image.webp", + "/media/lixia_fa64/images/04_image.webp", + "/media/lixia_fa64/images/05_image.webp", + "/media/lixia_fa64/images/06_image.webp", + "/media/lixia_fa64/images/07_image.webp", + "/media/lixia_fa64/images/08_image.webp", + "/media/lixia_fa64/images/09_image.webp", + "/media/lixia_fa64/images/10_image.webp", + "/media/lixia_fa64/images/11_image.webp", + "/media/lixia_fa64/images/12_image.webp", + "/media/lixia_fa64/images/13_image.webp", + "/media/lixia_fa64/images/14_image.webp", + "/media/lixia_fa64/images/15_image.webp", + "/media/lixia_fa64/images/16_image.webp", + "/media/lixia_fa64/images/17_image.webp", + "/media/lixia_fa64/images/18_image.webp", + "/media/lixia_fa64/images/19_image.webp", + "/media/lixia_fa64/images/20_image.webp", + "/media/lixia_fa64/images/21_image.webp", + "/media/lixia_fa64/images/22_image.webp", + "/media/lixia_fa64/images/23_image.webp", + "/media/lixia_fa64/images/25_image.webp", + "/media/lixia_fa64/images/26_image.webp", + "/media/lixia_fa64/images/27_image.webp", + "/media/lixia_fa64/images/28_image.webp", + "/media/lixia_fa64/images/29_image.webp", + "/media/lixia_fa64/images/30_image.webp", + "/media/lixia_fa64/images/31_image.webp", + "/media/lixia_fa64/images/32_image.webp", + "/media/lixia_fa64/images/33_image.webp", + "/media/lixia_fa64/images/34_image.webp", + "/media/lixia_fa64/images/35_image.webp", + "/media/lixia_fa64/images/36_image.webp", + "/media/lixia_fa64/images/37_image.webp", + "/media/lixia_fa64/images/38_image.webp", + "/media/lixia_fa64/images/39_image.webp", + "/media/lixia_fa64/images/40_image.webp", + "/media/lixia_fa64/images/41_image.webp", + "/media/lixia_fa64/images/42_image.webp", + "/media/lixia_fa64/images/43_image.webp", + "/media/lixia_fa64/images/44_image.webp", + "/media/lixia_fa64/images/45_image.webp", + "/media/lixia_fa64/images/46_image.webp", + "/media/lixia_fa64/images/47_image.webp", + "/media/lixia_fa64/images/48_image.webp", + "/media/lixia_fa64/images/49_image.webp", + "/media/lixia_fa64/images/50_image.webp", + "/media/lixia_fa64/images/51_image.webp" + ], + "created_at": "2026-02-04T04:24:19.769826-07:00", + "dir_name": "lixia_fa64" +} \ No newline at end of file diff --git a/ideas/aeres/agents/liyan_58ec.json b/ideas/aeres/agents/liyan_58ec.json new file mode 100644 index 0000000..36e9bee --- /dev/null +++ b/ideas/aeres/agents/liyan_58ec.json @@ -0,0 +1,75 @@ +{ + "id": "liyan_58ec", + "name": "Liyan Zhu", + "handle": "liyan", + "gender": "female", + "description": "asian female cosplaying as Ciri from The Witcher", + "tags": [ + "cosplayer", + "historical european martial arts (hema)", + "leatherworking", + "witcher lore", + "prop fabrication", + "archery", + "botanical illustration", + "retro rpgs" + ], + "avatar_url": "/media/liyan_58ec/avatar.webp?t=1770208940", + "banner_url": "/media/liyan_58ec/banner.webp?t=1770208953", + "videos": [ + "/media/liyan_58ec/videos/01_smile_reveal.mp4?t=1770208976" + ], + "images": [ + "/media/liyan_58ec/images/01_mid_mid_neutral.webp", + "/media/liyan_58ec/images/02_image.webp", + "/media/liyan_58ec/images/03_image.webp", + "/media/liyan_58ec/images/04_image.webp", + "/media/liyan_58ec/images/05_image.webp", + "/media/liyan_58ec/images/06_image.webp", + "/media/liyan_58ec/images/07_image.webp", + "/media/liyan_58ec/images/08_image.webp", + "/media/liyan_58ec/images/09_image.webp", + "/media/liyan_58ec/images/10_image.webp", + "/media/liyan_58ec/images/11_image.webp", + "/media/liyan_58ec/images/12_image.webp", + "/media/liyan_58ec/images/13_image.webp", + "/media/liyan_58ec/images/14_image.webp", + "/media/liyan_58ec/images/15_image.webp", + "/media/liyan_58ec/images/16_image.webp", + "/media/liyan_58ec/images/17_image.webp", + "/media/liyan_58ec/images/18_image.webp", + "/media/liyan_58ec/images/19_image.webp", + "/media/liyan_58ec/images/20_image.webp", + "/media/liyan_58ec/images/21_image.webp", + "/media/liyan_58ec/images/22_image.webp", + "/media/liyan_58ec/images/23_image.webp", + "/media/liyan_58ec/images/24_image.webp", + "/media/liyan_58ec/images/25_image.webp", + "/media/liyan_58ec/images/26_image.webp", + "/media/liyan_58ec/images/27_image.webp", + "/media/liyan_58ec/images/28_image.webp", + "/media/liyan_58ec/images/29_image.webp", + "/media/liyan_58ec/images/30_image.webp", + "/media/liyan_58ec/images/32_image.webp", + "/media/liyan_58ec/images/33_image.webp", + "/media/liyan_58ec/images/34_image.webp", + "/media/liyan_58ec/images/35_image.webp", + "/media/liyan_58ec/images/36_image.webp", + "/media/liyan_58ec/images/37_image.webp", + "/media/liyan_58ec/images/38_image.webp", + "/media/liyan_58ec/images/39_image.webp", + "/media/liyan_58ec/images/40_image.webp", + "/media/liyan_58ec/images/41_image.webp", + "/media/liyan_58ec/images/42_image.webp", + "/media/liyan_58ec/images/43_image.webp", + "/media/liyan_58ec/images/44_image.webp", + "/media/liyan_58ec/images/45_image.webp", + "/media/liyan_58ec/images/46_image.webp", + "/media/liyan_58ec/images/47_image.webp", + "/media/liyan_58ec/images/48_image.webp", + "/media/liyan_58ec/images/49_image.webp", + "/media/liyan_58ec/images/50_image.webp" + ], + "created_at": "2026-02-04T05:40:59.875121-07:00", + "dir_name": "liyan_58ec" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lora_1aa0.json b/ideas/aeres/agents/lora_1aa0.json new file mode 100644 index 0000000..f79b069 --- /dev/null +++ b/ideas/aeres/agents/lora_1aa0.json @@ -0,0 +1,82 @@ +{ + "id": "lora_1aa0", + "name": "Lora Garcia", + "handle": "lora", + "gender": "female", + "description": "mexican female who likes to do extreme sports", + "tags": [ + "thrill_seeker", + "rock climbing", + "ultra-marathons", + "mountaineering", + "nutrition", + "photography", + "spanish literature", + "cooking healthy mexican fusion" + ], + "avatar_url": "/media/lora_1aa0/avatar.webp?t=1769509469", + "banner_url": "/media/lora_1aa0/banner.webp?t=1769509471", + "videos": [ + "/media/lora_1aa0/videos/01_smile_reveal.mp4?t=1769509506" + ], + "images": [ + "/media/lora_1aa0/images/01_mid_mid_neutral.webp", + "/media/lora_1aa0/images/02_image.webp", + "/media/lora_1aa0/images/03_image.webp", + "/media/lora_1aa0/images/04_image.webp", + "/media/lora_1aa0/images/05_image.webp", + "/media/lora_1aa0/images/06_image.webp", + "/media/lora_1aa0/images/07_image.webp", + "/media/lora_1aa0/images/08_image.webp", + "/media/lora_1aa0/images/09_image.webp", + "/media/lora_1aa0/images/11_image.webp", + "/media/lora_1aa0/images/12_image.webp", + "/media/lora_1aa0/images/13_image.webp", + "/media/lora_1aa0/images/14_image.webp", + "/media/lora_1aa0/images/15_image.webp", + "/media/lora_1aa0/images/16_image.webp", + "/media/lora_1aa0/images/17_image.webp", + "/media/lora_1aa0/images/18_image.webp", + "/media/lora_1aa0/images/19_image.webp", + "/media/lora_1aa0/images/20_image.webp", + "/media/lora_1aa0/images/21_image.webp", + "/media/lora_1aa0/images/22_image.webp", + "/media/lora_1aa0/images/23_image.webp", + "/media/lora_1aa0/images/24_image.webp", + "/media/lora_1aa0/images/25_image.webp", + "/media/lora_1aa0/images/26_image.webp", + "/media/lora_1aa0/images/27_image.webp", + "/media/lora_1aa0/images/28_image.webp", + "/media/lora_1aa0/images/29_image.webp", + "/media/lora_1aa0/images/30_image.webp", + "/media/lora_1aa0/images/31_image.webp", + "/media/lora_1aa0/images/32_image.webp", + "/media/lora_1aa0/images/33_image.webp", + "/media/lora_1aa0/images/34_image.webp", + "/media/lora_1aa0/images/35_image.webp", + "/media/lora_1aa0/images/36_image.webp", + "/media/lora_1aa0/images/37_image.webp", + "/media/lora_1aa0/images/38_image.webp", + "/media/lora_1aa0/images/39_image.webp", + "/media/lora_1aa0/images/40_image.webp", + "/media/lora_1aa0/images/41_image.webp", + "/media/lora_1aa0/images/42_image.webp", + "/media/lora_1aa0/images/43_image.webp", + "/media/lora_1aa0/images/44_image.webp", + "/media/lora_1aa0/images/45_image.webp", + "/media/lora_1aa0/images/46_image.webp", + "/media/lora_1aa0/images/47_image.webp", + "/media/lora_1aa0/images/49_image.webp", + "/media/lora_1aa0/images/50_image.webp", + "/media/lora_1aa0/images/51_image.webp", + "/media/lora_1aa0/images/53_image.webp", + "/media/lora_1aa0/images/54_image.webp", + "/media/lora_1aa0/images/55_image.webp", + "/media/lora_1aa0/images/57_image.webp", + "/media/lora_1aa0/images/58_image.webp", + "/media/lora_1aa0/images/59_image.webp", + "/media/lora_1aa0/images/60_image.webp" + ], + "created_at": "2026-01-27T03:23:05.712377-07:00", + "dir_name": "lora_1aa0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lora_ee87.json b/ideas/aeres/agents/lora_ee87.json new file mode 100644 index 0000000..5b35acf --- /dev/null +++ b/ideas/aeres/agents/lora_ee87.json @@ -0,0 +1,78 @@ +{ + "id": "lora_ee87", + "name": "Lora Jung", + "handle": "lora", + "gender": "female", + "description": "fat, short, nice hair and face, friendly, gardening enthusiast, lives in Barcelona Spain, age 27", + "tags": [ + "thicc_queen", + "rare tropical plants", + "sustainable interior design", + "korean skincare", + "pottery", + "hiking", + "indie folk music", + "thrifting home decor" + ], + "avatar_url": "/media/lora_ee87/avatar.webp?t=1770189309", + "banner_url": "/media/lora_ee87/banner.webp?t=1770189303", + "videos": [ + "/media/lora_ee87/videos/01_smile_reveal.mp4?t=1770189339" + ], + "images": [ + "/media/lora_ee87/images/01_mid_mid_neutral.webp", + "/media/lora_ee87/images/02_image.webp", + "/media/lora_ee87/images/03_image.webp", + "/media/lora_ee87/images/04_image.webp", + "/media/lora_ee87/images/05_image.webp", + "/media/lora_ee87/images/07_image.webp", + "/media/lora_ee87/images/08_image.webp", + "/media/lora_ee87/images/09_image.webp", + "/media/lora_ee87/images/10_image.webp", + "/media/lora_ee87/images/11_image.webp", + "/media/lora_ee87/images/12_image.webp", + "/media/lora_ee87/images/14_image.webp", + "/media/lora_ee87/images/15_image.webp", + "/media/lora_ee87/images/16_image.webp", + "/media/lora_ee87/images/17_image.webp", + "/media/lora_ee87/images/18_image.webp", + "/media/lora_ee87/images/19_image.webp", + "/media/lora_ee87/images/20_image.webp", + "/media/lora_ee87/images/21_image.webp", + "/media/lora_ee87/images/22_image.webp", + "/media/lora_ee87/images/23_image.webp", + "/media/lora_ee87/images/24_image.webp", + "/media/lora_ee87/images/25_image.webp", + "/media/lora_ee87/images/26_image.webp", + "/media/lora_ee87/images/27_image.webp", + "/media/lora_ee87/images/28_image.webp", + "/media/lora_ee87/images/29_image.webp", + "/media/lora_ee87/images/30_image.webp", + "/media/lora_ee87/images/31_image.webp", + "/media/lora_ee87/images/32_image.webp", + "/media/lora_ee87/images/33_image.webp", + "/media/lora_ee87/images/34_image.webp", + "/media/lora_ee87/images/35_image.webp", + "/media/lora_ee87/images/36_image.webp", + "/media/lora_ee87/images/37_image.webp", + "/media/lora_ee87/images/38_image.webp", + "/media/lora_ee87/images/39_image.webp", + "/media/lora_ee87/images/40_image.webp", + "/media/lora_ee87/images/41_image.webp", + "/media/lora_ee87/images/42_image.webp", + "/media/lora_ee87/images/43_image.webp", + "/media/lora_ee87/images/44_image.webp", + "/media/lora_ee87/images/45_image.webp", + "/media/lora_ee87/images/46_image.webp", + "/media/lora_ee87/images/47_image.webp", + "/media/lora_ee87/images/49_image.webp", + "/media/lora_ee87/images/50_image.webp", + "/media/lora_ee87/images/51_image.webp", + "/media/lora_ee87/images/53_image.webp", + "/media/lora_ee87/images/54_image.webp", + "/media/lora_ee87/images/55_image.webp", + "/media/lora_ee87/images/56_image.webp" + ], + "created_at": "2026-02-04T00:13:59.47387-07:00", + "dir_name": "lora_ee87" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lorena_6dc9.json b/ideas/aeres/agents/lorena_6dc9.json new file mode 100644 index 0000000..cbbc0e6 --- /dev/null +++ b/ideas/aeres/agents/lorena_6dc9.json @@ -0,0 +1,75 @@ +{ + "id": "lorena_6dc9", + "name": "Lorena Rodriguez", + "handle": "lorena", + "gender": "female", + "description": "dark haired woman who is a teacher made in 2000s cartoon style", + "tags": [ + "art_style_archetypes", + "modernist literature", + "vinyl records", + "art history", + "baking", + "pilates", + "thrifting" + ], + "avatar_url": "/media/lorena_6dc9/avatar.webp?t=1769614476", + "banner_url": "/media/lorena_6dc9/banner.webp?t=1769614490", + "videos": [ + "/media/lorena_6dc9/videos/01_smile_reveal.mp4?t=1769614516" + ], + "images": [ + "/media/lorena_6dc9/images/02_image.webp", + "/media/lorena_6dc9/images/03_image.webp", + "/media/lorena_6dc9/images/04_image.webp", + "/media/lorena_6dc9/images/05_image.webp", + "/media/lorena_6dc9/images/06_image.webp", + "/media/lorena_6dc9/images/07_image.webp", + "/media/lorena_6dc9/images/08_image.webp", + "/media/lorena_6dc9/images/09_image.webp", + "/media/lorena_6dc9/images/10_image.webp", + "/media/lorena_6dc9/images/11_image.webp", + "/media/lorena_6dc9/images/12_image.webp", + "/media/lorena_6dc9/images/13_image.webp", + "/media/lorena_6dc9/images/14_image.webp", + "/media/lorena_6dc9/images/15_image.webp", + "/media/lorena_6dc9/images/16_image.webp", + "/media/lorena_6dc9/images/17_image.webp", + "/media/lorena_6dc9/images/18_image.webp", + "/media/lorena_6dc9/images/19_image.webp", + "/media/lorena_6dc9/images/20_image.webp", + "/media/lorena_6dc9/images/21_image.webp", + "/media/lorena_6dc9/images/22_image.webp", + "/media/lorena_6dc9/images/23_image.webp", + "/media/lorena_6dc9/images/24_image.webp", + "/media/lorena_6dc9/images/25_image.webp", + "/media/lorena_6dc9/images/26_image.webp", + "/media/lorena_6dc9/images/27_image.webp", + "/media/lorena_6dc9/images/28_image.webp", + "/media/lorena_6dc9/images/29_image.webp", + "/media/lorena_6dc9/images/30_image.webp", + "/media/lorena_6dc9/images/31_image.webp", + "/media/lorena_6dc9/images/32_image.webp", + "/media/lorena_6dc9/images/33_image.webp", + "/media/lorena_6dc9/images/34_image.webp", + "/media/lorena_6dc9/images/35_image.webp", + "/media/lorena_6dc9/images/36_image.webp", + "/media/lorena_6dc9/images/37_image.webp", + "/media/lorena_6dc9/images/38_image.webp", + "/media/lorena_6dc9/images/39_image.webp", + "/media/lorena_6dc9/images/40_image.webp", + "/media/lorena_6dc9/images/41_image.webp", + "/media/lorena_6dc9/images/42_image.webp", + "/media/lorena_6dc9/images/43_image.webp", + "/media/lorena_6dc9/images/44_image.webp", + "/media/lorena_6dc9/images/45_image.webp", + "/media/lorena_6dc9/images/46_image.webp", + "/media/lorena_6dc9/images/47_image.webp", + "/media/lorena_6dc9/images/48_image.webp", + "/media/lorena_6dc9/images/49_image.webp", + "/media/lorena_6dc9/images/50_image.webp", + "/media/lorena_6dc9/images/51_image.webp" + ], + "created_at": "2026-01-28T08:33:19.872898-07:00", + "dir_name": "lorena_6dc9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lorena_b2b8.json b/ideas/aeres/agents/lorena_b2b8.json new file mode 100644 index 0000000..29b8b6c --- /dev/null +++ b/ideas/aeres/agents/lorena_b2b8.json @@ -0,0 +1,74 @@ +{ + "id": "lorena_b2b8", + "name": "Lorena Rodriguez", + "handle": "lorena", + "gender": "female", + "description": "south american woman who is a pole dancer", + "tags": [ + "latina_bombshell", + "contemporary dance", + "weightlifting", + "latin jazz", + "interior design", + "photography", + "paddleboarding", + "wine tasting" + ], + "avatar_url": "/media/lorena_b2b8/avatar.webp?t=1769782170", + "banner_url": "/media/lorena_b2b8/banner.webp?t=1769782164", + "videos": [ + "/media/lorena_b2b8/videos/01_smile_reveal.mp4?t=1769782226" + ], + "images": [ + "/media/lorena_b2b8/images/01_mid_mid_neutral.webp", + "/media/lorena_b2b8/images/02_image.webp", + "/media/lorena_b2b8/images/03_image.webp", + "/media/lorena_b2b8/images/04_image.webp", + "/media/lorena_b2b8/images/05_image.webp", + "/media/lorena_b2b8/images/06_image.webp", + "/media/lorena_b2b8/images/07_image.webp", + "/media/lorena_b2b8/images/08_image.webp", + "/media/lorena_b2b8/images/09_image.webp", + "/media/lorena_b2b8/images/10_image.webp", + "/media/lorena_b2b8/images/11_image.webp", + "/media/lorena_b2b8/images/12_image.webp", + "/media/lorena_b2b8/images/13_image.webp", + "/media/lorena_b2b8/images/14_image.webp", + "/media/lorena_b2b8/images/15_image.webp", + "/media/lorena_b2b8/images/16_image.webp", + "/media/lorena_b2b8/images/17_image.webp", + "/media/lorena_b2b8/images/19_image.webp", + "/media/lorena_b2b8/images/20_image.webp", + "/media/lorena_b2b8/images/21_image.webp", + "/media/lorena_b2b8/images/22_image.webp", + "/media/lorena_b2b8/images/23_image.webp", + "/media/lorena_b2b8/images/24_image.webp", + "/media/lorena_b2b8/images/25_image.webp", + "/media/lorena_b2b8/images/26_image.webp", + "/media/lorena_b2b8/images/27_image.webp", + "/media/lorena_b2b8/images/28_image.webp", + "/media/lorena_b2b8/images/29_image.webp", + "/media/lorena_b2b8/images/31_image.webp", + "/media/lorena_b2b8/images/32_image.webp", + "/media/lorena_b2b8/images/33_image.webp", + "/media/lorena_b2b8/images/34_image.webp", + "/media/lorena_b2b8/images/35_image.webp", + "/media/lorena_b2b8/images/36_image.webp", + "/media/lorena_b2b8/images/37_image.webp", + "/media/lorena_b2b8/images/38_image.webp", + "/media/lorena_b2b8/images/39_image.webp", + "/media/lorena_b2b8/images/40_image.webp", + "/media/lorena_b2b8/images/41_image.webp", + "/media/lorena_b2b8/images/42_image.webp", + "/media/lorena_b2b8/images/43_image.webp", + "/media/lorena_b2b8/images/44_image.webp", + "/media/lorena_b2b8/images/45_image.webp", + "/media/lorena_b2b8/images/46_image.webp", + "/media/lorena_b2b8/images/47_image.webp", + "/media/lorena_b2b8/images/49_image.webp", + "/media/lorena_b2b8/images/50_image.webp", + "/media/lorena_b2b8/images/51_image.webp" + ], + "created_at": "2026-01-30T07:08:10.112029-07:00", + "dir_name": "lorena_b2b8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lorena_f051.json b/ideas/aeres/agents/lorena_f051.json new file mode 100644 index 0000000..4921f8a --- /dev/null +++ b/ideas/aeres/agents/lorena_f051.json @@ -0,0 +1,77 @@ +{ + "id": "lorena_f051", + "name": "Lorena Gonzalez", + "handle": "lorena", + "gender": "female", + "description": "late 20's paraplegic woman, in wheelchair, summer dress, happy, sweet, loves the park and her service dog, enjoys cooking, light brown hair to shoulders, cute sneakers", + "tags": [ + "girl_next_door", + "digital illustration", + "accessibility advocacy", + "texas bbq culture", + "service dog training", + "indoor gardening", + "true crime podcasts", + "learning italian" + ], + "avatar_url": "/media/lorena_f051/avatar.webp?t=1769128537", + "banner_url": "/media/lorena_f051/banner.webp?t=1769128532", + "videos": [ + "/media/lorena_f051/videos/01_smile_reveal.mp4?t=1769128587" + ], + "images": [ + "/media/lorena_f051/images/01_mid_mid_neutral.webp", + "/media/lorena_f051/images/02_image.webp", + "/media/lorena_f051/images/03_image.webp", + "/media/lorena_f051/images/04_image.webp", + "/media/lorena_f051/images/05_image.webp", + "/media/lorena_f051/images/06_image.webp", + "/media/lorena_f051/images/07_image.webp", + "/media/lorena_f051/images/08_image.webp", + "/media/lorena_f051/images/09_image.webp", + "/media/lorena_f051/images/10_image.webp", + "/media/lorena_f051/images/11_image.webp", + "/media/lorena_f051/images/12_image.webp", + "/media/lorena_f051/images/13_image.webp", + "/media/lorena_f051/images/14_image.webp", + "/media/lorena_f051/images/15_image.webp", + "/media/lorena_f051/images/16_image.webp", + "/media/lorena_f051/images/17_image.webp", + "/media/lorena_f051/images/18_image.webp", + "/media/lorena_f051/images/19_image.webp", + "/media/lorena_f051/images/20_image.webp", + "/media/lorena_f051/images/21_image.webp", + "/media/lorena_f051/images/22_image.webp", + "/media/lorena_f051/images/23_image.webp", + "/media/lorena_f051/images/24_image.webp", + "/media/lorena_f051/images/25_image.webp", + "/media/lorena_f051/images/26_image.webp", + "/media/lorena_f051/images/27_image.webp", + "/media/lorena_f051/images/28_image.webp", + "/media/lorena_f051/images/29_image.webp", + "/media/lorena_f051/images/30_image.webp", + "/media/lorena_f051/images/31_image.webp", + "/media/lorena_f051/images/32_image.webp", + "/media/lorena_f051/images/33_image.webp", + "/media/lorena_f051/images/34_image.webp", + "/media/lorena_f051/images/35_image.webp", + "/media/lorena_f051/images/36_image.webp", + "/media/lorena_f051/images/37_image.webp", + "/media/lorena_f051/images/38_image.webp", + "/media/lorena_f051/images/39_image.webp", + "/media/lorena_f051/images/40_image.webp", + "/media/lorena_f051/images/41_image.webp", + "/media/lorena_f051/images/42_image.webp", + "/media/lorena_f051/images/43_image.webp", + "/media/lorena_f051/images/44_image.webp", + "/media/lorena_f051/images/45_image.webp", + "/media/lorena_f051/images/46_image.webp", + "/media/lorena_f051/images/47_image.webp", + "/media/lorena_f051/images/48_image.webp", + "/media/lorena_f051/images/49_image.webp", + "/media/lorena_f051/images/50_image.webp", + "/media/lorena_f051/images/51_image.webp" + ], + "created_at": "2026-01-22T17:34:31.073813-07:00", + "dir_name": "lorena_f051" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lorenzo_bae3.json b/ideas/aeres/agents/lorenzo_bae3.json new file mode 100644 index 0000000..75bf807 --- /dev/null +++ b/ideas/aeres/agents/lorenzo_bae3.json @@ -0,0 +1,77 @@ +{ + "id": "lorenzo_bae3", + "name": "Lorenzo Ricci", + "handle": "lorenzo", + "gender": "male", + "description": "tall male from Spain with long hair and big beard who is a tennis player", + "tags": [ + "athletic", + "professional tennis", + "coastal sailing", + "italian espresso culture", + "luxury watches", + "paddle boarding", + "photography", + "mediterranean cooking" + ], + "avatar_url": "/media/lorenzo_bae3/avatar.webp?t=1769604048", + "banner_url": "/media/lorenzo_bae3/banner.webp?t=1769604043", + "videos": [ + "/media/lorenzo_bae3/videos/01_smile_reveal.mp4?t=1769604065" + ], + "images": [ + "/media/lorenzo_bae3/images/01_mid_mid_neutral.webp", + "/media/lorenzo_bae3/images/02_image.webp", + "/media/lorenzo_bae3/images/03_image.webp", + "/media/lorenzo_bae3/images/04_image.webp", + "/media/lorenzo_bae3/images/05_image.webp", + "/media/lorenzo_bae3/images/06_image.webp", + "/media/lorenzo_bae3/images/07_image.webp", + "/media/lorenzo_bae3/images/08_image.webp", + "/media/lorenzo_bae3/images/09_image.webp", + "/media/lorenzo_bae3/images/10_image.webp", + "/media/lorenzo_bae3/images/11_image.webp", + "/media/lorenzo_bae3/images/12_image.webp", + "/media/lorenzo_bae3/images/13_image.webp", + "/media/lorenzo_bae3/images/14_image.webp", + "/media/lorenzo_bae3/images/15_image.webp", + "/media/lorenzo_bae3/images/16_image.webp", + "/media/lorenzo_bae3/images/17_image.webp", + "/media/lorenzo_bae3/images/18_image.webp", + "/media/lorenzo_bae3/images/19_image.webp", + "/media/lorenzo_bae3/images/20_image.webp", + "/media/lorenzo_bae3/images/21_image.webp", + "/media/lorenzo_bae3/images/22_image.webp", + "/media/lorenzo_bae3/images/23_image.webp", + "/media/lorenzo_bae3/images/24_image.webp", + "/media/lorenzo_bae3/images/25_image.webp", + "/media/lorenzo_bae3/images/26_image.webp", + "/media/lorenzo_bae3/images/27_image.webp", + "/media/lorenzo_bae3/images/28_image.webp", + "/media/lorenzo_bae3/images/29_image.webp", + "/media/lorenzo_bae3/images/30_image.webp", + "/media/lorenzo_bae3/images/31_image.webp", + "/media/lorenzo_bae3/images/32_image.webp", + "/media/lorenzo_bae3/images/33_image.webp", + "/media/lorenzo_bae3/images/34_image.webp", + "/media/lorenzo_bae3/images/35_image.webp", + "/media/lorenzo_bae3/images/36_image.webp", + "/media/lorenzo_bae3/images/37_image.webp", + "/media/lorenzo_bae3/images/38_image.webp", + "/media/lorenzo_bae3/images/39_image.webp", + "/media/lorenzo_bae3/images/40_image.webp", + "/media/lorenzo_bae3/images/41_image.webp", + "/media/lorenzo_bae3/images/42_image.webp", + "/media/lorenzo_bae3/images/43_image.webp", + "/media/lorenzo_bae3/images/44_image.webp", + "/media/lorenzo_bae3/images/45_image.webp", + "/media/lorenzo_bae3/images/46_image.webp", + "/media/lorenzo_bae3/images/47_image.webp", + "/media/lorenzo_bae3/images/48_image.webp", + "/media/lorenzo_bae3/images/49_image.webp", + "/media/lorenzo_bae3/images/50_image.webp", + "/media/lorenzo_bae3/images/51_image.webp" + ], + "created_at": "2026-01-28T05:39:25.175859-07:00", + "dir_name": "lorenzo_bae3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/loretta_9c45.json b/ideas/aeres/agents/loretta_9c45.json new file mode 100644 index 0000000..47d332b --- /dev/null +++ b/ideas/aeres/agents/loretta_9c45.json @@ -0,0 +1,75 @@ +{ + "id": "loretta_9c45", + "name": "Loretta Gonzalez", + "handle": "loretta", + "gender": "female", + "description": "clergy person, religious, bible, smile, praying hands, speaking, friendly, brunette, curly hair", + "tags": [ + "nurturer", + "theology", + "community gardening", + "choral music", + "social justice", + "baking", + "podcast listening", + "bird watching" + ], + "avatar_url": "/media/loretta_9c45/avatar.webp?t=1769127720", + "banner_url": "/media/loretta_9c45/banner.webp?t=1769127715", + "videos": [ + "/media/loretta_9c45/videos/01_smile_reveal.mp4?t=1769127756" + ], + "images": [ + "/media/loretta_9c45/images/01_mid_mid_neutral.webp", + "/media/loretta_9c45/images/02_image.webp", + "/media/loretta_9c45/images/03_image.webp", + "/media/loretta_9c45/images/04_image.webp", + "/media/loretta_9c45/images/05_image.webp", + "/media/loretta_9c45/images/06_image.webp", + "/media/loretta_9c45/images/09_image.webp", + "/media/loretta_9c45/images/10_image.webp", + "/media/loretta_9c45/images/11_image.webp", + "/media/loretta_9c45/images/12_image.webp", + "/media/loretta_9c45/images/13_image.webp", + "/media/loretta_9c45/images/14_image.webp", + "/media/loretta_9c45/images/15_image.webp", + "/media/loretta_9c45/images/16_image.webp", + "/media/loretta_9c45/images/17_image.webp", + "/media/loretta_9c45/images/18_image.webp", + "/media/loretta_9c45/images/19_image.webp", + "/media/loretta_9c45/images/20_image.webp", + "/media/loretta_9c45/images/21_image.webp", + "/media/loretta_9c45/images/22_image.webp", + "/media/loretta_9c45/images/23_image.webp", + "/media/loretta_9c45/images/24_image.webp", + "/media/loretta_9c45/images/25_image.webp", + "/media/loretta_9c45/images/26_image.webp", + "/media/loretta_9c45/images/27_image.webp", + "/media/loretta_9c45/images/28_image.webp", + "/media/loretta_9c45/images/29_image.webp", + "/media/loretta_9c45/images/30_image.webp", + "/media/loretta_9c45/images/31_image.webp", + "/media/loretta_9c45/images/32_image.webp", + "/media/loretta_9c45/images/33_image.webp", + "/media/loretta_9c45/images/34_image.webp", + "/media/loretta_9c45/images/35_image.webp", + "/media/loretta_9c45/images/36_image.webp", + "/media/loretta_9c45/images/37_image.webp", + "/media/loretta_9c45/images/38_image.webp", + "/media/loretta_9c45/images/39_image.webp", + "/media/loretta_9c45/images/40_image.webp", + "/media/loretta_9c45/images/41_image.webp", + "/media/loretta_9c45/images/42_image.webp", + "/media/loretta_9c45/images/43_image.webp", + "/media/loretta_9c45/images/44_image.webp", + "/media/loretta_9c45/images/45_image.webp", + "/media/loretta_9c45/images/46_image.webp", + "/media/loretta_9c45/images/47_image.webp", + "/media/loretta_9c45/images/48_image.webp", + "/media/loretta_9c45/images/49_image.webp", + "/media/loretta_9c45/images/50_image.webp", + "/media/loretta_9c45/images/51_image.webp" + ], + "created_at": "2026-01-22T17:20:49.052316-07:00", + "dir_name": "loretta_9c45" +} \ No newline at end of file diff --git a/ideas/aeres/agents/louise_470e.json b/ideas/aeres/agents/louise_470e.json new file mode 100644 index 0000000..55aa815 --- /dev/null +++ b/ideas/aeres/agents/louise_470e.json @@ -0,0 +1,75 @@ +{ + "id": "louise_470e", + "name": "Louise De Vries", + "handle": "louise", + "gender": "female", + "description": "40's white woman, old hollywood style, white dress, red lip, diamonds, fur, kitten heels, big smile, cleavage, freckles, strawberry blonde hair", + "tags": [ + "vintage_retro", + "classic cinema", + "vintage fashion restoration", + "jazz piano", + "film photography", + "wine tasting", + "flower arranging", + "interior design" + ], + "avatar_url": "/media/louise_470e/avatar.webp?t=1769129950", + "banner_url": "/media/louise_470e/banner.webp?t=1769129951", + "videos": [ + "/media/louise_470e/videos/01_smile_reveal.mp4?t=1769130021" + ], + "images": [ + "/media/louise_470e/images/01_mid_mid_neutral.webp", + "/media/louise_470e/images/02_image.webp", + "/media/louise_470e/images/03_image.webp", + "/media/louise_470e/images/04_image.webp", + "/media/louise_470e/images/05_image.webp", + "/media/louise_470e/images/06_image.webp", + "/media/louise_470e/images/07_image.webp", + "/media/louise_470e/images/08_image.webp", + "/media/louise_470e/images/09_image.webp", + "/media/louise_470e/images/11_image.webp", + "/media/louise_470e/images/12_image.webp", + "/media/louise_470e/images/13_image.webp", + "/media/louise_470e/images/14_image.webp", + "/media/louise_470e/images/15_image.webp", + "/media/louise_470e/images/16_image.webp", + "/media/louise_470e/images/17_image.webp", + "/media/louise_470e/images/18_image.webp", + "/media/louise_470e/images/19_image.webp", + "/media/louise_470e/images/20_image.webp", + "/media/louise_470e/images/21_image.webp", + "/media/louise_470e/images/21_image.webp", + "/media/louise_470e/images/22_image.webp", + "/media/louise_470e/images/23_image.webp", + "/media/louise_470e/images/24_image.webp", + "/media/louise_470e/images/25_image.webp", + "/media/louise_470e/images/26_image.webp", + "/media/louise_470e/images/27_image.webp", + "/media/louise_470e/images/29_image.webp", + "/media/louise_470e/images/30_image.webp", + "/media/louise_470e/images/31_image.webp", + "/media/louise_470e/images/32_image.webp", + "/media/louise_470e/images/33_image.webp", + "/media/louise_470e/images/34_image.webp", + "/media/louise_470e/images/35_image.webp", + "/media/louise_470e/images/36_image.webp", + "/media/louise_470e/images/37_image.webp", + "/media/louise_470e/images/38_image.webp", + "/media/louise_470e/images/39_image.webp", + "/media/louise_470e/images/40_image.webp", + "/media/louise_470e/images/41_image.webp", + "/media/louise_470e/images/42_image.webp", + "/media/louise_470e/images/43_image.webp", + "/media/louise_470e/images/44_image.webp", + "/media/louise_470e/images/45_image.webp", + "/media/louise_470e/images/46_image.webp", + "/media/louise_470e/images/47_image.webp", + "/media/louise_470e/images/48_image.webp", + "/media/louise_470e/images/49_image.webp", + "/media/louise_470e/images/50_image.webp" + ], + "created_at": "2026-01-22T17:58:11.54804-07:00", + "dir_name": "louise_470e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/luca_0235.json b/ideas/aeres/agents/luca_0235.json new file mode 100644 index 0000000..81c8185 --- /dev/null +++ b/ideas/aeres/agents/luca_0235.json @@ -0,0 +1,77 @@ +{ + "id": "luca_0235", + "name": "Luca Moretti", + "handle": "luca", + "gender": "male", + "description": "hot profesional tennis player, pictures from the main clay court at Roland Garros, muscle build, pictures with tennis racquet, south european,tanned,white blue eyes, age 27", + "tags": [ + "athletic", + "tennis", + "luxury watches", + "yachting", + "classical music", + "photography", + "italian espresso", + "modern architecture" + ], + "avatar_url": "/media/luca_0235/avatar.webp?t=1770110349", + "banner_url": "/media/luca_0235/banner.webp?t=1770110344", + "videos": [ + "/media/luca_0235/videos/01_smile_reveal.mp4?t=1770110374" + ], + "images": [ + "/media/luca_0235/images/01_mid_mid_neutral.webp", + "/media/luca_0235/images/02_image.webp", + "/media/luca_0235/images/03_image.webp", + "/media/luca_0235/images/04_image.webp", + "/media/luca_0235/images/05_image.webp", + "/media/luca_0235/images/06_image.webp", + "/media/luca_0235/images/07_image.webp", + "/media/luca_0235/images/08_image.webp", + "/media/luca_0235/images/09_image.webp", + "/media/luca_0235/images/10_image.webp", + "/media/luca_0235/images/11_image.webp", + "/media/luca_0235/images/12_image.webp", + "/media/luca_0235/images/13_image.webp", + "/media/luca_0235/images/14_image.webp", + "/media/luca_0235/images/15_image.webp", + "/media/luca_0235/images/16_image.webp", + "/media/luca_0235/images/17_image.webp", + "/media/luca_0235/images/18_image.webp", + "/media/luca_0235/images/19_image.webp", + "/media/luca_0235/images/20_image.webp", + "/media/luca_0235/images/21_image.webp", + "/media/luca_0235/images/22_image.webp", + "/media/luca_0235/images/23_image.webp", + "/media/luca_0235/images/24_image.webp", + "/media/luca_0235/images/25_image.webp", + "/media/luca_0235/images/26_image.webp", + "/media/luca_0235/images/27_image.webp", + "/media/luca_0235/images/28_image.webp", + "/media/luca_0235/images/29_image.webp", + "/media/luca_0235/images/30_image.webp", + "/media/luca_0235/images/31_image.webp", + "/media/luca_0235/images/32_image.webp", + "/media/luca_0235/images/33_image.webp", + "/media/luca_0235/images/34_image.webp", + "/media/luca_0235/images/35_image.webp", + "/media/luca_0235/images/36_image.webp", + "/media/luca_0235/images/37_image.webp", + "/media/luca_0235/images/38_image.webp", + "/media/luca_0235/images/39_image.webp", + "/media/luca_0235/images/40_image.webp", + "/media/luca_0235/images/41_image.webp", + "/media/luca_0235/images/42_image.webp", + "/media/luca_0235/images/43_image.webp", + "/media/luca_0235/images/44_image.webp", + "/media/luca_0235/images/45_image.webp", + "/media/luca_0235/images/46_image.webp", + "/media/luca_0235/images/47_image.webp", + "/media/luca_0235/images/48_image.webp", + "/media/luca_0235/images/49_image.webp", + "/media/luca_0235/images/50_image.webp", + "/media/luca_0235/images/51_image.webp" + ], + "created_at": "2026-02-03T02:17:35.120809-07:00", + "dir_name": "luca_0235" +} \ No newline at end of file diff --git a/ideas/aeres/agents/luca_7714.json b/ideas/aeres/agents/luca_7714.json new file mode 100644 index 0000000..d285ae8 --- /dev/null +++ b/ideas/aeres/agents/luca_7714.json @@ -0,0 +1,75 @@ +{ + "id": "luca_7714", + "name": "Luca Moretti", + "handle": "luca", + "gender": "male", + "description": "bald male with big beard from Spain who is a stand up comedian", + "tags": [ + "social_butterfly", + "vaudeville history", + "mixology", + "sartorial fashion", + "public speaking", + "cycling", + "interior design", + "classic cinema" + ], + "avatar_url": "/media/luca_7714/avatar.webp?t=1770112155", + "banner_url": "/media/luca_7714/banner.webp?t=1770112159", + "videos": [ + "/media/luca_7714/videos/01_smile_reveal.mp4?t=1770112165" + ], + "images": [ + "/media/luca_7714/images/01_mid_mid_neutral.webp", + "/media/luca_7714/images/02_image.webp", + "/media/luca_7714/images/03_image.webp", + "/media/luca_7714/images/04_image.webp", + "/media/luca_7714/images/06_image.webp", + "/media/luca_7714/images/07_image.webp", + "/media/luca_7714/images/08_image.webp", + "/media/luca_7714/images/09_image.webp", + "/media/luca_7714/images/10_image.webp", + "/media/luca_7714/images/11_image.webp", + "/media/luca_7714/images/12_image.webp", + "/media/luca_7714/images/23_image.webp", + "/media/luca_7714/images/24_image.webp", + "/media/luca_7714/images/25_image.webp", + "/media/luca_7714/images/26_image.webp", + "/media/luca_7714/images/27_image.webp", + "/media/luca_7714/images/28_image.webp", + "/media/luca_7714/images/29_image.webp", + "/media/luca_7714/images/30_image.webp", + "/media/luca_7714/images/31_image.webp", + "/media/luca_7714/images/32_image.webp", + "/media/luca_7714/images/33_image.webp", + "/media/luca_7714/images/34_image.webp", + "/media/luca_7714/images/35_image.webp", + "/media/luca_7714/images/36_image.webp", + "/media/luca_7714/images/37_image.webp", + "/media/luca_7714/images/38_image.webp", + "/media/luca_7714/images/39_image.webp", + "/media/luca_7714/images/40_image.webp", + "/media/luca_7714/images/41_image.webp", + "/media/luca_7714/images/42_image.webp", + "/media/luca_7714/images/43_image.webp", + "/media/luca_7714/images/44_image.webp", + "/media/luca_7714/images/45_image.webp", + "/media/luca_7714/images/46_image.webp", + "/media/luca_7714/images/47_image.webp", + "/media/luca_7714/images/48_image.webp", + "/media/luca_7714/images/49_image.webp", + "/media/luca_7714/images/50_image.webp", + "/media/luca_7714/images/51_image.webp", + "/media/luca_7714/images/53_image.webp", + "/media/luca_7714/images/54_image.webp", + "/media/luca_7714/images/55_image.webp", + "/media/luca_7714/images/56_image.webp", + "/media/luca_7714/images/57_image.webp", + "/media/luca_7714/images/58_image.webp", + "/media/luca_7714/images/59_image.webp", + "/media/luca_7714/images/60_image.webp", + "/media/luca_7714/images/61_image.webp" + ], + "created_at": "2026-02-03T02:47:56.702873-07:00", + "dir_name": "luca_7714" +} \ No newline at end of file diff --git a/ideas/aeres/agents/luka_4c97.json b/ideas/aeres/agents/luka_4c97.json new file mode 100644 index 0000000..c9f1c51 --- /dev/null +++ b/ideas/aeres/agents/luka_4c97.json @@ -0,0 +1,78 @@ +{ + "id": "luka_4c97", + "name": "Luka Marinović", + "handle": "luka", + "gender": "male", + "description": "male from Croatia who has a car collection", + "tags": [ + "sigma_male", + "vintage european cars", + "watchmaking", + "coastal sailing", + "mid-century modern architecture", + "photography", + "mediterranean history", + "esoteric jazz" + ], + "avatar_url": "/media/luka_4c97/avatar.webp?t=1770189936", + "banner_url": "/media/luka_4c97/banner.webp?t=1770189929", + "videos": [ + "/media/luka_4c97/videos/01_smile_reveal.mp4?t=1770190095" + ], + "images": [ + "/media/luka_4c97/images/01_mid_mid_neutral.webp", + "/media/luka_4c97/images/02_image.webp", + "/media/luka_4c97/images/03_image.webp", + "/media/luka_4c97/images/04_image.webp", + "/media/luka_4c97/images/05_image.webp", + "/media/luka_4c97/images/06_image.webp", + "/media/luka_4c97/images/07_image.webp", + "/media/luka_4c97/images/08_image.webp", + "/media/luka_4c97/images/09_image.webp", + "/media/luka_4c97/images/10_image.webp", + "/media/luka_4c97/images/11_image.webp", + "/media/luka_4c97/images/12_image.webp", + "/media/luka_4c97/images/13_image.webp", + "/media/luka_4c97/images/14_image.webp", + "/media/luka_4c97/images/15_image.webp", + "/media/luka_4c97/images/16_image.webp", + "/media/luka_4c97/images/17_image.webp", + "/media/luka_4c97/images/18_image.webp", + "/media/luka_4c97/images/19_image.webp", + "/media/luka_4c97/images/20_image.webp", + "/media/luka_4c97/images/21_image.webp", + "/media/luka_4c97/images/22_image.webp", + "/media/luka_4c97/images/23_image.webp", + "/media/luka_4c97/images/24_image.webp", + "/media/luka_4c97/images/25_image.webp", + "/media/luka_4c97/images/26_image.webp", + "/media/luka_4c97/images/27_image.webp", + "/media/luka_4c97/images/28_image.webp", + "/media/luka_4c97/images/29_image.webp", + "/media/luka_4c97/images/30_image.webp", + "/media/luka_4c97/images/31_image.webp", + "/media/luka_4c97/images/32_image.webp", + "/media/luka_4c97/images/33_image.webp", + "/media/luka_4c97/images/34_image.webp", + "/media/luka_4c97/images/35_image.webp", + "/media/luka_4c97/images/36_image.webp", + "/media/luka_4c97/images/37_image.webp", + "/media/luka_4c97/images/38_image.webp", + "/media/luka_4c97/images/39_image.webp", + "/media/luka_4c97/images/40_image.webp", + "/media/luka_4c97/images/41_image.webp", + "/media/luka_4c97/images/42_image.webp", + "/media/luka_4c97/images/43_image.webp", + "/media/luka_4c97/images/44_image.webp", + "/media/luka_4c97/images/45_image.webp", + "/media/luka_4c97/images/46_image.webp", + "/media/luka_4c97/images/47_image.webp", + "/media/luka_4c97/images/48_image.webp", + "/media/luka_4c97/images/49_image.webp", + "/media/luka_4c97/images/50_image.webp", + "/media/luka_4c97/images/51_image.webp", + "/media/luka_4c97/images/52_image.webp" + ], + "created_at": "2026-02-04T00:24:25.265519-07:00", + "dir_name": "luka_4c97" +} \ No newline at end of file diff --git a/ideas/aeres/agents/luka_a44e.json b/ideas/aeres/agents/luka_a44e.json new file mode 100644 index 0000000..6b12512 --- /dev/null +++ b/ideas/aeres/agents/luka_a44e.json @@ -0,0 +1,77 @@ +{ + "id": "luka_a44e", + "name": "Luka Marinović", + "handle": "luka", + "gender": "male", + "description": "male from Croatia who is a CEO and loves sport cars and jewelry", + "tags": [ + "sigma_male", + "elite automotive engineering", + "horology", + "sailing", + "classical physics", + "modern architecture", + "wine collecting", + "chess" + ], + "avatar_url": "/media/luka_a44e/avatar.webp?t=1769770330", + "banner_url": "/media/luka_a44e/banner.webp?t=1769770332", + "videos": [ + "/media/luka_a44e/videos/01_smile_reveal.mp4?t=1769770393" + ], + "images": [ + "/media/luka_a44e/images/01_mid_mid_neutral.webp", + "/media/luka_a44e/images/02_image.webp", + "/media/luka_a44e/images/03_image.webp", + "/media/luka_a44e/images/04_image.webp", + "/media/luka_a44e/images/05_image.webp", + "/media/luka_a44e/images/06_image.webp", + "/media/luka_a44e/images/07_image.webp", + "/media/luka_a44e/images/08_image.webp", + "/media/luka_a44e/images/09_image.webp", + "/media/luka_a44e/images/10_image.webp", + "/media/luka_a44e/images/11_image.webp", + "/media/luka_a44e/images/12_image.webp", + "/media/luka_a44e/images/13_image.webp", + "/media/luka_a44e/images/14_image.webp", + "/media/luka_a44e/images/15_image.webp", + "/media/luka_a44e/images/16_image.webp", + "/media/luka_a44e/images/17_image.webp", + "/media/luka_a44e/images/18_image.webp", + "/media/luka_a44e/images/19_image.webp", + "/media/luka_a44e/images/20_image.webp", + "/media/luka_a44e/images/21_image.webp", + "/media/luka_a44e/images/22_image.webp", + "/media/luka_a44e/images/23_image.webp", + "/media/luka_a44e/images/24_image.webp", + "/media/luka_a44e/images/25_image.webp", + "/media/luka_a44e/images/26_image.webp", + "/media/luka_a44e/images/27_image.webp", + "/media/luka_a44e/images/28_image.webp", + "/media/luka_a44e/images/29_image.webp", + "/media/luka_a44e/images/30_image.webp", + "/media/luka_a44e/images/31_image.webp", + "/media/luka_a44e/images/32_image.webp", + "/media/luka_a44e/images/33_image.webp", + "/media/luka_a44e/images/34_image.webp", + "/media/luka_a44e/images/35_image.webp", + "/media/luka_a44e/images/36_image.webp", + "/media/luka_a44e/images/37_image.webp", + "/media/luka_a44e/images/38_image.webp", + "/media/luka_a44e/images/39_image.webp", + "/media/luka_a44e/images/40_image.webp", + "/media/luka_a44e/images/41_image.webp", + "/media/luka_a44e/images/42_image.webp", + "/media/luka_a44e/images/43_image.webp", + "/media/luka_a44e/images/44_image.webp", + "/media/luka_a44e/images/45_image.webp", + "/media/luka_a44e/images/46_image.webp", + "/media/luka_a44e/images/47_image.webp", + "/media/luka_a44e/images/48_image.webp", + "/media/luka_a44e/images/49_image.webp", + "/media/luka_a44e/images/50_image.webp", + "/media/luka_a44e/images/51_image.webp" + ], + "created_at": "2026-01-30T03:48:54.117869-07:00", + "dir_name": "luka_a44e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lukas_8db3.json b/ideas/aeres/agents/lukas_8db3.json new file mode 100644 index 0000000..29b244f --- /dev/null +++ b/ideas/aeres/agents/lukas_8db3.json @@ -0,0 +1,77 @@ +{ + "id": "lukas_8db3", + "name": "Lukas Nilsson", + "handle": "lukas", + "gender": "male", + "description": "male from Norway with blonde long hair who is a soccer player", + "tags": [ + "athletic", + "trail running", + "surfing", + "cross-country skiing", + "biomechanics", + "photography", + "craft beer", + "cooking nordic cuisine" + ], + "avatar_url": "/media/lukas_8db3/avatar.webp?t=1770102795", + "banner_url": "/media/lukas_8db3/banner.webp?t=1770102783", + "videos": [ + "/media/lukas_8db3/videos/01_smile_reveal.mp4?t=1770102813" + ], + "images": [ + "/media/lukas_8db3/images/01_mid_mid_neutral.webp", + "/media/lukas_8db3/images/02_image.webp", + "/media/lukas_8db3/images/03_image.webp", + "/media/lukas_8db3/images/04_image.webp", + "/media/lukas_8db3/images/05_image.webp", + "/media/lukas_8db3/images/06_image.webp", + "/media/lukas_8db3/images/07_image.webp", + "/media/lukas_8db3/images/08_image.webp", + "/media/lukas_8db3/images/09_image.webp", + "/media/lukas_8db3/images/10_image.webp", + "/media/lukas_8db3/images/11_image.webp", + "/media/lukas_8db3/images/12_image.webp", + "/media/lukas_8db3/images/13_image.webp", + "/media/lukas_8db3/images/14_image.webp", + "/media/lukas_8db3/images/15_image.webp", + "/media/lukas_8db3/images/16_image.webp", + "/media/lukas_8db3/images/17_image.webp", + "/media/lukas_8db3/images/18_image.webp", + "/media/lukas_8db3/images/19_image.webp", + "/media/lukas_8db3/images/20_image.webp", + "/media/lukas_8db3/images/21_image.webp", + "/media/lukas_8db3/images/22_image.webp", + "/media/lukas_8db3/images/23_image.webp", + "/media/lukas_8db3/images/24_image.webp", + "/media/lukas_8db3/images/25_image.webp", + "/media/lukas_8db3/images/26_image.webp", + "/media/lukas_8db3/images/27_image.webp", + "/media/lukas_8db3/images/28_image.webp", + "/media/lukas_8db3/images/29_image.webp", + "/media/lukas_8db3/images/30_image.webp", + "/media/lukas_8db3/images/31_image.webp", + "/media/lukas_8db3/images/32_image.webp", + "/media/lukas_8db3/images/33_image.webp", + "/media/lukas_8db3/images/34_image.webp", + "/media/lukas_8db3/images/35_image.webp", + "/media/lukas_8db3/images/36_image.webp", + "/media/lukas_8db3/images/37_image.webp", + "/media/lukas_8db3/images/38_image.webp", + "/media/lukas_8db3/images/39_image.webp", + "/media/lukas_8db3/images/40_image.webp", + "/media/lukas_8db3/images/41_image.webp", + "/media/lukas_8db3/images/42_image.webp", + "/media/lukas_8db3/images/43_image.webp", + "/media/lukas_8db3/images/44_image.webp", + "/media/lukas_8db3/images/45_image.webp", + "/media/lukas_8db3/images/46_image.webp", + "/media/lukas_8db3/images/47_image.webp", + "/media/lukas_8db3/images/48_image.webp", + "/media/lukas_8db3/images/49_image.webp", + "/media/lukas_8db3/images/50_image.webp", + "/media/lukas_8db3/images/51_image.webp" + ], + "created_at": "2026-02-03T00:11:48.74382-07:00", + "dir_name": "lukas_8db3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lukas_9c6b.json b/ideas/aeres/agents/lukas_9c6b.json new file mode 100644 index 0000000..f969a48 --- /dev/null +++ b/ideas/aeres/agents/lukas_9c6b.json @@ -0,0 +1,75 @@ +{ + "id": "lukas_9c6b", + "name": "Lukas Smith", + "handle": "lukas", + "gender": "male", + "description": "police officer, new york, 25 years old, athletic build, medium length hair, thick eyebrows, hazel eyes, pictures with him in traffic, police car, precinct, tall , likes to jogg in central park, white caucasian complexity", + "tags": [ + "career_fantasy", + "brazilian jiu-jitsu", + "urban exploration", + "strength training", + "classic cinema", + "cooking breakfast", + "true crime documentaries" + ], + "avatar_url": "/media/lukas_9c6b/avatar.webp?t=1769689144", + "banner_url": "/media/lukas_9c6b/banner.webp?t=1769689105", + "videos": [ + "/media/lukas_9c6b/videos/01_smile_reveal.mp4?t=1769688129" + ], + "images": [ + "/media/lukas_9c6b/images/01_mid_mid_neutral.webp", + "/media/lukas_9c6b/images/02_image.webp", + "/media/lukas_9c6b/images/03_image.webp", + "/media/lukas_9c6b/images/04_image.webp", + "/media/lukas_9c6b/images/05_image.webp", + "/media/lukas_9c6b/images/06_image.webp", + "/media/lukas_9c6b/images/07_image.webp", + "/media/lukas_9c6b/images/08_image.webp", + "/media/lukas_9c6b/images/09_image.webp", + "/media/lukas_9c6b/images/10_image.webp", + "/media/lukas_9c6b/images/11_image.webp", + "/media/lukas_9c6b/images/12_image.webp", + "/media/lukas_9c6b/images/13_image.webp", + "/media/lukas_9c6b/images/14_image.webp", + "/media/lukas_9c6b/images/15_image.webp", + "/media/lukas_9c6b/images/17_image.webp", + "/media/lukas_9c6b/images/18_image.webp", + "/media/lukas_9c6b/images/19_image.webp", + "/media/lukas_9c6b/images/20_image.webp", + "/media/lukas_9c6b/images/21_image.webp", + "/media/lukas_9c6b/images/22_image.webp", + "/media/lukas_9c6b/images/23_image.webp", + "/media/lukas_9c6b/images/24_image.webp", + "/media/lukas_9c6b/images/25_image.webp", + "/media/lukas_9c6b/images/26_image.webp", + "/media/lukas_9c6b/images/27_image.webp", + "/media/lukas_9c6b/images/28_image.webp", + "/media/lukas_9c6b/images/29_image.webp", + "/media/lukas_9c6b/images/30_image.webp", + "/media/lukas_9c6b/images/31_image.webp", + "/media/lukas_9c6b/images/32_image.webp", + "/media/lukas_9c6b/images/33_image.webp", + "/media/lukas_9c6b/images/34_image.webp", + "/media/lukas_9c6b/images/35_image.webp", + "/media/lukas_9c6b/images/36_image.webp", + "/media/lukas_9c6b/images/37_image.webp", + "/media/lukas_9c6b/images/38_image.webp", + "/media/lukas_9c6b/images/39_image.webp", + "/media/lukas_9c6b/images/40_image.webp", + "/media/lukas_9c6b/images/41_image.webp", + "/media/lukas_9c6b/images/42_image.webp", + "/media/lukas_9c6b/images/43_image.webp", + "/media/lukas_9c6b/images/44_image.webp", + "/media/lukas_9c6b/images/45_image.webp", + "/media/lukas_9c6b/images/46_image.webp", + "/media/lukas_9c6b/images/47_image.webp", + "/media/lukas_9c6b/images/48_image.webp", + "/media/lukas_9c6b/images/49_image.webp", + "/media/lukas_9c6b/images/50_image.webp", + "/media/lukas_9c6b/images/51_image.webp" + ], + "created_at": "2026-01-29T05:00:19.096058-07:00", + "dir_name": "lukas_9c6b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lynette_1076.json b/ideas/aeres/agents/lynette_1076.json new file mode 100644 index 0000000..9310289 --- /dev/null +++ b/ideas/aeres/agents/lynette_1076.json @@ -0,0 +1,75 @@ +{ + "id": "lynette_1076", + "name": "Lynette Lee", + "handle": "lynette", + "gender": "female", + "description": "south korean woman who works as a surgeon", + "tags": [ + "career_fantasy", + "medical research", + "classical music", + "architectural history", + "pilates", + "wine tasting", + "interior design" + ], + "avatar_url": "/media/lynette_1076/avatar.webp?t=1769595761", + "banner_url": "/media/lynette_1076/banner.webp?t=1769595880", + "videos": [ + "/media/lynette_1076/videos/01_smile_reveal.mp4?t=1769595802" + ], + "images": [ + "/media/lynette_1076/images/01_mid_mid_neutral.webp", + "/media/lynette_1076/images/02_image.webp", + "/media/lynette_1076/images/03_image.webp", + "/media/lynette_1076/images/04_image.webp", + "/media/lynette_1076/images/05_image.webp", + "/media/lynette_1076/images/06_image.webp", + "/media/lynette_1076/images/07_image.webp", + "/media/lynette_1076/images/08_image.webp", + "/media/lynette_1076/images/09_image.webp", + "/media/lynette_1076/images/10_image.webp", + "/media/lynette_1076/images/11_image.webp", + "/media/lynette_1076/images/12_image.webp", + "/media/lynette_1076/images/13_image.webp", + "/media/lynette_1076/images/14_image.webp", + "/media/lynette_1076/images/15_image.webp", + "/media/lynette_1076/images/16_image.webp", + "/media/lynette_1076/images/17_image.webp", + "/media/lynette_1076/images/18_image.webp", + "/media/lynette_1076/images/19_image.webp", + "/media/lynette_1076/images/20_image.webp", + "/media/lynette_1076/images/21_image.webp", + "/media/lynette_1076/images/22_image.webp", + "/media/lynette_1076/images/23_image.webp", + "/media/lynette_1076/images/24_image.webp", + "/media/lynette_1076/images/25_image.webp", + "/media/lynette_1076/images/26_image.webp", + "/media/lynette_1076/images/27_image.webp", + "/media/lynette_1076/images/28_image.webp", + "/media/lynette_1076/images/29_image.webp", + "/media/lynette_1076/images/30_image.webp", + "/media/lynette_1076/images/31_image.webp", + "/media/lynette_1076/images/32_image.webp", + "/media/lynette_1076/images/33_image.webp", + "/media/lynette_1076/images/34_image.webp", + "/media/lynette_1076/images/35_image.webp", + "/media/lynette_1076/images/36_image.webp", + "/media/lynette_1076/images/37_image.webp", + "/media/lynette_1076/images/38_image.webp", + "/media/lynette_1076/images/40_image.webp", + "/media/lynette_1076/images/41_image.webp", + "/media/lynette_1076/images/42_image.webp", + "/media/lynette_1076/images/43_image.webp", + "/media/lynette_1076/images/44_image.webp", + "/media/lynette_1076/images/45_image.webp", + "/media/lynette_1076/images/46_image.webp", + "/media/lynette_1076/images/47_image.webp", + "/media/lynette_1076/images/48_image.webp", + "/media/lynette_1076/images/49_image.webp", + "/media/lynette_1076/images/50_image.webp", + "/media/lynette_1076/images/51_image.webp" + ], + "created_at": "2026-01-28T03:21:20.811266-07:00", + "dir_name": "lynette_1076" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lynette_575f.json b/ideas/aeres/agents/lynette_575f.json new file mode 100644 index 0000000..f9d71bf --- /dev/null +++ b/ideas/aeres/agents/lynette_575f.json @@ -0,0 +1,76 @@ +{ + "id": "lynette_575f", + "name": "Lynette Brown", + "handle": "lynette", + "gender": "female", + "description": "punk rock girl, medium weight body type, tattooes, streach marks, spikey hair, attitude", + "tags": [ + "punk_girl", + "bass guitar", + "zine making", + "street photography", + "boxing", + "cooking vegan soul food", + "horror movies", + "urban exploration" + ], + "avatar_url": "/media/lynette_575f/avatar.webp?t=1769044414", + "banner_url": "/media/lynette_575f/banner.webp?t=1769044345", + "videos": [ + "/media/lynette_575f/videos/01_smile_reveal.mp4?t=1769044409" + ], + "images": [ + "/media/lynette_575f/images/01_mid_mid_neutral.webp", + "/media/lynette_575f/images/02_image.webp", + "/media/lynette_575f/images/03_image.webp", + "/media/lynette_575f/images/04_image.webp", + "/media/lynette_575f/images/05_image.webp", + "/media/lynette_575f/images/06_image.webp", + "/media/lynette_575f/images/07_image.webp", + "/media/lynette_575f/images/08_image.webp", + "/media/lynette_575f/images/09_image.webp", + "/media/lynette_575f/images/10_image.webp", + "/media/lynette_575f/images/11_image.webp", + "/media/lynette_575f/images/12_image.webp", + "/media/lynette_575f/images/13_image.webp", + "/media/lynette_575f/images/14_image.webp", + "/media/lynette_575f/images/15_image.webp", + "/media/lynette_575f/images/16_image.webp", + "/media/lynette_575f/images/17_image.webp", + "/media/lynette_575f/images/18_image.webp", + "/media/lynette_575f/images/19_image.webp", + "/media/lynette_575f/images/20_image.webp", + "/media/lynette_575f/images/21_image.webp", + "/media/lynette_575f/images/22_image.webp", + "/media/lynette_575f/images/23_image.webp", + "/media/lynette_575f/images/24_image.webp", + "/media/lynette_575f/images/25_image.webp", + "/media/lynette_575f/images/26_image.webp", + "/media/lynette_575f/images/27_image.webp", + "/media/lynette_575f/images/28_image.webp", + "/media/lynette_575f/images/30_image.webp", + "/media/lynette_575f/images/31_image.webp", + "/media/lynette_575f/images/32_image.webp", + "/media/lynette_575f/images/33_image.webp", + "/media/lynette_575f/images/34_image.webp", + "/media/lynette_575f/images/35_image.webp", + "/media/lynette_575f/images/36_image.webp", + "/media/lynette_575f/images/37_image.webp", + "/media/lynette_575f/images/38_image.webp", + "/media/lynette_575f/images/39_image.webp", + "/media/lynette_575f/images/40_image.webp", + "/media/lynette_575f/images/41_image.webp", + "/media/lynette_575f/images/42_image.webp", + "/media/lynette_575f/images/43_image.webp", + "/media/lynette_575f/images/44_image.webp", + "/media/lynette_575f/images/45_image.webp", + "/media/lynette_575f/images/46_image.webp", + "/media/lynette_575f/images/47_image.webp", + "/media/lynette_575f/images/48_image.webp", + "/media/lynette_575f/images/49_image.webp", + "/media/lynette_575f/images/50_image.webp", + "/media/lynette_575f/images/51_image.webp" + ], + "created_at": "2026-01-21T18:09:36.021245-07:00", + "dir_name": "lynette_575f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/lynette_b1eb.json b/ideas/aeres/agents/lynette_b1eb.json new file mode 100644 index 0000000..74ff0cc --- /dev/null +++ b/ideas/aeres/agents/lynette_b1eb.json @@ -0,0 +1,76 @@ +{ + "id": "lynette_b1eb", + "name": "Lynette Brown", + "handle": "lynette", + "gender": "female", + "description": "tall and slim woman who is a fashion model", + "tags": [ + "high_fashion_model", + "modern sculpture", + "contemporary dance", + "sustainable fashion", + "interior design", + "wine tasting", + "biking along the hudson", + "foreign cinema" + ], + "avatar_url": "/media/lynette_b1eb/avatar.webp?t=1769080519", + "banner_url": "/media/lynette_b1eb/banner.webp?t=1769080519", + "videos": [ + "/media/lynette_b1eb/videos/01_smile_reveal.mp4?t=1769080555" + ], + "images": [ + "/media/lynette_b1eb/images/01_mid_mid_neutral.webp", + "/media/lynette_b1eb/images/02_image.webp", + "/media/lynette_b1eb/images/03_image.webp", + "/media/lynette_b1eb/images/04_image.webp", + "/media/lynette_b1eb/images/05_image.webp", + "/media/lynette_b1eb/images/06_image.webp", + "/media/lynette_b1eb/images/07_image.webp", + "/media/lynette_b1eb/images/08_image.webp", + "/media/lynette_b1eb/images/09_image.webp", + "/media/lynette_b1eb/images/10_image.webp", + "/media/lynette_b1eb/images/11_image.webp", + "/media/lynette_b1eb/images/22_image.webp", + "/media/lynette_b1eb/images/23_image.webp", + "/media/lynette_b1eb/images/24_image.webp", + "/media/lynette_b1eb/images/25_image.webp", + "/media/lynette_b1eb/images/26_image.webp", + "/media/lynette_b1eb/images/27_image.webp", + "/media/lynette_b1eb/images/28_image.webp", + "/media/lynette_b1eb/images/29_image.webp", + "/media/lynette_b1eb/images/30_image.webp", + "/media/lynette_b1eb/images/31_image.webp", + "/media/lynette_b1eb/images/32_image.webp", + "/media/lynette_b1eb/images/33_image.webp", + "/media/lynette_b1eb/images/34_image.webp", + "/media/lynette_b1eb/images/35_image.webp", + "/media/lynette_b1eb/images/36_image.webp", + "/media/lynette_b1eb/images/37_image.webp", + "/media/lynette_b1eb/images/38_image.webp", + "/media/lynette_b1eb/images/39_image.webp", + "/media/lynette_b1eb/images/40_image.webp", + "/media/lynette_b1eb/images/41_image.webp", + "/media/lynette_b1eb/images/42_image.webp", + "/media/lynette_b1eb/images/43_image.webp", + "/media/lynette_b1eb/images/44_image.webp", + "/media/lynette_b1eb/images/45_image.webp", + "/media/lynette_b1eb/images/46_image.webp", + "/media/lynette_b1eb/images/47_image.webp", + "/media/lynette_b1eb/images/48_image.webp", + "/media/lynette_b1eb/images/49_image.webp", + "/media/lynette_b1eb/images/50_image.webp", + "/media/lynette_b1eb/images/51_image.webp", + "/media/lynette_b1eb/images/53_image.webp", + "/media/lynette_b1eb/images/54_image.webp", + "/media/lynette_b1eb/images/55_image.webp", + "/media/lynette_b1eb/images/56_image.webp", + "/media/lynette_b1eb/images/57_image.webp", + "/media/lynette_b1eb/images/58_image.webp", + "/media/lynette_b1eb/images/59_image.webp", + "/media/lynette_b1eb/images/60_image.webp", + "/media/lynette_b1eb/images/61_image.webp" + ], + "created_at": "2026-01-22T04:13:53.880325-07:00", + "dir_name": "lynette_b1eb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/léo_80bd.json b/ideas/aeres/agents/léo_80bd.json new file mode 100644 index 0000000..5727b75 --- /dev/null +++ b/ideas/aeres/agents/léo_80bd.json @@ -0,0 +1,74 @@ +{ + "id": "léo_80bd", + "name": "Léo Martin", + "handle": "léo", + "gender": "male", + "description": "international violin player, red hair, plays in a famous orchestra, musician, wears tuxedos and classy suits, french, tall, black brows", + "tags": [ + "artist", + "violin", + "weightlifting", + "bespoke tailoring", + "architecture", + "french wine", + "cycling", + "history" + ], + "avatar_url": "/media/léo_80bd/avatar.webp?t=1770202519", + "banner_url": "/media/léo_80bd/banner.webp?t=1770203047", + "images": [ + "/media/léo_80bd/images/01_image.webp", + "/media/léo_80bd/images/12_image.webp", + "/media/léo_80bd/images/13_image.webp", + "/media/léo_80bd/images/14_image.webp", + "/media/léo_80bd/images/15_image.webp", + "/media/léo_80bd/images/16_image.webp", + "/media/léo_80bd/images/17_image.webp", + "/media/léo_80bd/images/18_image.webp", + "/media/léo_80bd/images/19_image.webp", + "/media/léo_80bd/images/20_image.webp", + "/media/léo_80bd/images/21_image.webp", + "/media/léo_80bd/images/22_image.webp", + "/media/léo_80bd/images/23_image.webp", + "/media/léo_80bd/images/24_image.webp", + "/media/léo_80bd/images/25_image.webp", + "/media/léo_80bd/images/26_image.webp", + "/media/léo_80bd/images/27_image.webp", + "/media/léo_80bd/images/28_image.webp", + "/media/léo_80bd/images/29_image.webp", + "/media/léo_80bd/images/30_image.webp", + "/media/léo_80bd/images/31_image.webp", + "/media/léo_80bd/images/32_image.webp", + "/media/léo_80bd/images/33_image.webp", + "/media/léo_80bd/images/34_image.webp", + "/media/léo_80bd/images/35_image.webp", + "/media/léo_80bd/images/36_image.webp", + "/media/léo_80bd/images/37_image.webp", + "/media/léo_80bd/images/38_image.webp", + "/media/léo_80bd/images/39_image.webp", + "/media/léo_80bd/images/40_image.webp", + "/media/léo_80bd/images/41_image.webp", + "/media/léo_80bd/images/42_image.webp", + "/media/léo_80bd/images/43_image.webp", + "/media/léo_80bd/images/44_image.webp", + "/media/léo_80bd/images/45_image.webp", + "/media/léo_80bd/images/46_image.webp", + "/media/léo_80bd/images/47_image.webp", + "/media/léo_80bd/images/48_image.webp", + "/media/léo_80bd/images/49_image.webp", + "/media/léo_80bd/images/50_image.webp", + "/media/léo_80bd/images/51_image.webp", + "/media/léo_80bd/images/52_image.webp", + "/media/léo_80bd/images/53_image.webp", + "/media/léo_80bd/images/54_image.webp", + "/media/léo_80bd/images/55_image.webp", + "/media/léo_80bd/images/56_image.webp", + "/media/léo_80bd/images/57_image.webp", + "/media/léo_80bd/images/58_image.webp", + "/media/léo_80bd/images/59_image.webp", + "/media/léo_80bd/images/60_image.webp", + "/media/léo_80bd/images/61_image.webp" + ], + "created_at": "2026-02-04T03:48:21.998042-07:00", + "dir_name": "léo_80bd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mable_6fb5.json b/ideas/aeres/agents/mable_6fb5.json new file mode 100644 index 0000000..b1d946d --- /dev/null +++ b/ideas/aeres/agents/mable_6fb5.json @@ -0,0 +1,74 @@ +{ + "id": "mable_6fb5", + "name": "Mable Martinez", + "handle": "mable", + "gender": "female", + "description": "mexican female who is a luchador", + "tags": [ + "latina_spice", + "lucha libre history", + "olympic weightlifting", + "traditional mexican cooking", + "reggaeton music", + "street photography", + "hiking" + ], + "avatar_url": "/media/mable_6fb5/avatar.webp?t=1769672551", + "banner_url": "/media/mable_6fb5/banner.webp?t=1769672539", + "videos": [ + "/media/mable_6fb5/videos/01_smile_reveal.mp4?t=1769672572" + ], + "images": [ + "/media/mable_6fb5/images/01_mid_mid_neutral.webp", + "/media/mable_6fb5/images/02_image.webp", + "/media/mable_6fb5/images/03_image.webp", + "/media/mable_6fb5/images/04_image.webp", + "/media/mable_6fb5/images/05_image.webp", + "/media/mable_6fb5/images/07_image.webp", + "/media/mable_6fb5/images/08_image.webp", + "/media/mable_6fb5/images/09_image.webp", + "/media/mable_6fb5/images/10_image.webp", + "/media/mable_6fb5/images/11_image.webp", + "/media/mable_6fb5/images/12_image.webp", + "/media/mable_6fb5/images/13_image.webp", + "/media/mable_6fb5/images/14_image.webp", + "/media/mable_6fb5/images/15_image.webp", + "/media/mable_6fb5/images/16_image.webp", + "/media/mable_6fb5/images/17_image.webp", + "/media/mable_6fb5/images/18_image.webp", + "/media/mable_6fb5/images/19_image.webp", + "/media/mable_6fb5/images/20_image.webp", + "/media/mable_6fb5/images/21_image.webp", + "/media/mable_6fb5/images/22_image.webp", + "/media/mable_6fb5/images/23_image.webp", + "/media/mable_6fb5/images/24_image.webp", + "/media/mable_6fb5/images/25_image.webp", + "/media/mable_6fb5/images/26_image.webp", + "/media/mable_6fb5/images/27_image.webp", + "/media/mable_6fb5/images/28_image.webp", + "/media/mable_6fb5/images/29_image.webp", + "/media/mable_6fb5/images/30_image.webp", + "/media/mable_6fb5/images/31_image.webp", + "/media/mable_6fb5/images/32_image.webp", + "/media/mable_6fb5/images/33_image.webp", + "/media/mable_6fb5/images/34_image.webp", + "/media/mable_6fb5/images/35_image.webp", + "/media/mable_6fb5/images/37_image.webp", + "/media/mable_6fb5/images/38_image.webp", + "/media/mable_6fb5/images/39_image.webp", + "/media/mable_6fb5/images/40_image.webp", + "/media/mable_6fb5/images/41_image.webp", + "/media/mable_6fb5/images/42_image.webp", + "/media/mable_6fb5/images/43_image.webp", + "/media/mable_6fb5/images/44_image.webp", + "/media/mable_6fb5/images/45_image.webp", + "/media/mable_6fb5/images/46_image.webp", + "/media/mable_6fb5/images/47_image.webp", + "/media/mable_6fb5/images/48_image.webp", + "/media/mable_6fb5/images/49_image.webp", + "/media/mable_6fb5/images/50_image.webp", + "/media/mable_6fb5/images/51_image.webp" + ], + "created_at": "2026-01-29T00:40:52.506321-07:00", + "dir_name": "mable_6fb5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/madison_437c.json b/ideas/aeres/agents/madison_437c.json new file mode 100644 index 0000000..944be3c --- /dev/null +++ b/ideas/aeres/agents/madison_437c.json @@ -0,0 +1,75 @@ +{ + "id": "madison_437c", + "name": "Madison Brown", + "handle": "madison", + "gender": "female", + "description": "40's woman, pin up style, retro, martini, secretary, polka dot, high heels,", + "tags": [ + "1950s_pinup", + "mid-century furniture restoration", + "vintage car shows", + "swing dancing", + "classical jazz", + "tennis", + "wine tasting", + "coastal hiking" + ], + "avatar_url": "/media/madison_437c/avatar.webp?t=1769670491", + "banner_url": "/media/madison_437c/banner.webp?t=1769670496", + "videos": [ + "/media/madison_437c/videos/01_smile_reveal.mp4?t=1769670526" + ], + "images": [ + "/media/madison_437c/images/01_mid_mid_neutral.webp", + "/media/madison_437c/images/02_image.webp", + "/media/madison_437c/images/03_image.webp", + "/media/madison_437c/images/04_image.webp", + "/media/madison_437c/images/05_image.webp", + "/media/madison_437c/images/06_image.webp", + "/media/madison_437c/images/07_image.webp", + "/media/madison_437c/images/09_image.webp", + "/media/madison_437c/images/10_image.webp", + "/media/madison_437c/images/11_image.webp", + "/media/madison_437c/images/12_image.webp", + "/media/madison_437c/images/14_image.webp", + "/media/madison_437c/images/15_image.webp", + "/media/madison_437c/images/16_image.webp", + "/media/madison_437c/images/17_image.webp", + "/media/madison_437c/images/18_image.webp", + "/media/madison_437c/images/19_image.webp", + "/media/madison_437c/images/20_image.webp", + "/media/madison_437c/images/21_image.webp", + "/media/madison_437c/images/22_image.webp", + "/media/madison_437c/images/23_image.webp", + "/media/madison_437c/images/24_image.webp", + "/media/madison_437c/images/25_image.webp", + "/media/madison_437c/images/26_image.webp", + "/media/madison_437c/images/27_image.webp", + "/media/madison_437c/images/28_image.webp", + "/media/madison_437c/images/29_image.webp", + "/media/madison_437c/images/30_image.webp", + "/media/madison_437c/images/31_image.webp", + "/media/madison_437c/images/32_image.webp", + "/media/madison_437c/images/33_image.webp", + "/media/madison_437c/images/34_image.webp", + "/media/madison_437c/images/35_image.webp", + "/media/madison_437c/images/36_image.webp", + "/media/madison_437c/images/37_image.webp", + "/media/madison_437c/images/38_image.webp", + "/media/madison_437c/images/39_image.webp", + "/media/madison_437c/images/40_image.webp", + "/media/madison_437c/images/41_image.webp", + "/media/madison_437c/images/42_image.webp", + "/media/madison_437c/images/43_image.webp", + "/media/madison_437c/images/44_image.webp", + "/media/madison_437c/images/45_image.webp", + "/media/madison_437c/images/46_image.webp", + "/media/madison_437c/images/47_image.webp", + "/media/madison_437c/images/48_image.webp", + "/media/madison_437c/images/49_image.webp", + "/media/madison_437c/images/50_image.webp", + "/media/madison_437c/images/51_image.webp" + ], + "created_at": "2026-01-29T00:06:48.593278-07:00", + "dir_name": "madison_437c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/madison_48c7.json b/ideas/aeres/agents/madison_48c7.json new file mode 100644 index 0000000..d23a387 --- /dev/null +++ b/ideas/aeres/agents/madison_48c7.json @@ -0,0 +1,74 @@ +{ + "id": "madison_48c7", + "name": "Madison Williams", + "handle": "madison", + "gender": "female", + "description": "victorian, vintage, lace, dresses, long hair, Caucasian, petite frame, tall, pale, small breasts,", + "tags": [ + "dark_romantic", + "victorian mourning jewelry", + "calligraphy", + "historic textile restoration", + "gothic literature", + "botanical illustration", + "tea blending", + "film photography" + ], + "avatar_url": "/media/madison_48c7/avatar.webp?t=1769553542", + "banner_url": "/media/madison_48c7/banner.webp?t=1769553549", + "videos": [ + "/media/madison_48c7/videos/01_smile_reveal.mp4?t=1769553588" + ], + "images": [ + "/media/madison_48c7/images/01_mid_mid_neutral.webp", + "/media/madison_48c7/images/03_image.webp", + "/media/madison_48c7/images/04_image.webp", + "/media/madison_48c7/images/05_image.webp", + "/media/madison_48c7/images/06_image.webp", + "/media/madison_48c7/images/07_image.webp", + "/media/madison_48c7/images/08_image.webp", + "/media/madison_48c7/images/09_image.webp", + "/media/madison_48c7/images/10_image.webp", + "/media/madison_48c7/images/11_image.webp", + "/media/madison_48c7/images/12_image.webp", + "/media/madison_48c7/images/13_image.webp", + "/media/madison_48c7/images/15_image.webp", + "/media/madison_48c7/images/16_image.webp", + "/media/madison_48c7/images/17_image.webp", + "/media/madison_48c7/images/18_image.webp", + "/media/madison_48c7/images/19_image.webp", + "/media/madison_48c7/images/20_image.webp", + "/media/madison_48c7/images/21_image.webp", + "/media/madison_48c7/images/22_image.webp", + "/media/madison_48c7/images/23_image.webp", + "/media/madison_48c7/images/24_image.webp", + "/media/madison_48c7/images/25_image.webp", + "/media/madison_48c7/images/26_image.webp", + "/media/madison_48c7/images/27_image.webp", + "/media/madison_48c7/images/28_image.webp", + "/media/madison_48c7/images/29_image.webp", + "/media/madison_48c7/images/30_image.webp", + "/media/madison_48c7/images/31_image.webp", + "/media/madison_48c7/images/32_image.webp", + "/media/madison_48c7/images/33_image.webp", + "/media/madison_48c7/images/34_image.webp", + "/media/madison_48c7/images/35_image.webp", + "/media/madison_48c7/images/36_image.webp", + "/media/madison_48c7/images/37_image.webp", + "/media/madison_48c7/images/38_image.webp", + "/media/madison_48c7/images/39_image.webp", + "/media/madison_48c7/images/40_image.webp", + "/media/madison_48c7/images/41_image.webp", + "/media/madison_48c7/images/42_image.webp", + "/media/madison_48c7/images/44_image.webp", + "/media/madison_48c7/images/45_image.webp", + "/media/madison_48c7/images/46_image.webp", + "/media/madison_48c7/images/47_image.webp", + "/media/madison_48c7/images/48_image.webp", + "/media/madison_48c7/images/49_image.webp", + "/media/madison_48c7/images/50_image.webp", + "/media/madison_48c7/images/51_image.webp" + ], + "created_at": "2026-01-27T15:37:54.762435-07:00", + "dir_name": "madison_48c7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/madison_6f58.json b/ideas/aeres/agents/madison_6f58.json new file mode 100644 index 0000000..20916d2 --- /dev/null +++ b/ideas/aeres/agents/madison_6f58.json @@ -0,0 +1,75 @@ +{ + "id": "madison_6f58", + "name": "Madison Brown", + "handle": "madison", + "gender": "female", + "description": "red haired girl who likes cars", + "tags": [ + "thrill_seeker", + "drifting", + "engine tuning", + "track days", + "weightlifting", + "surfing", + "photography", + "classic rock" + ], + "avatar_url": "/media/madison_6f58/avatar.webp?t=1769425259", + "banner_url": "/media/madison_6f58/banner.webp?t=1769425257", + "videos": [ + "/media/madison_6f58/videos/01_smile_reveal.mp4?t=1769425281" + ], + "images": [ + "/media/madison_6f58/images/01_mid_mid_neutral.webp", + "/media/madison_6f58/images/02_image.webp", + "/media/madison_6f58/images/03_image.webp", + "/media/madison_6f58/images/04_image.webp", + "/media/madison_6f58/images/05_image.webp", + "/media/madison_6f58/images/06_image.webp", + "/media/madison_6f58/images/07_image.webp", + "/media/madison_6f58/images/09_image.webp", + "/media/madison_6f58/images/10_image.webp", + "/media/madison_6f58/images/11_image.webp", + "/media/madison_6f58/images/12_image.webp", + "/media/madison_6f58/images/14_image.webp", + "/media/madison_6f58/images/15_image.webp", + "/media/madison_6f58/images/16_image.webp", + "/media/madison_6f58/images/17_image.webp", + "/media/madison_6f58/images/18_image.webp", + "/media/madison_6f58/images/19_image.webp", + "/media/madison_6f58/images/20_image.webp", + "/media/madison_6f58/images/21_image.webp", + "/media/madison_6f58/images/22_image.webp", + "/media/madison_6f58/images/23_image.webp", + "/media/madison_6f58/images/24_image.webp", + "/media/madison_6f58/images/25_image.webp", + "/media/madison_6f58/images/26_image.webp", + "/media/madison_6f58/images/27_image.webp", + "/media/madison_6f58/images/28_image.webp", + "/media/madison_6f58/images/29_image.webp", + "/media/madison_6f58/images/30_image.webp", + "/media/madison_6f58/images/31_image.webp", + "/media/madison_6f58/images/32_image.webp", + "/media/madison_6f58/images/33_image.webp", + "/media/madison_6f58/images/34_image.webp", + "/media/madison_6f58/images/35_image.webp", + "/media/madison_6f58/images/36_image.webp", + "/media/madison_6f58/images/37_image.webp", + "/media/madison_6f58/images/38_image.webp", + "/media/madison_6f58/images/39_image.webp", + "/media/madison_6f58/images/40_image.webp", + "/media/madison_6f58/images/41_image.webp", + "/media/madison_6f58/images/42_image.webp", + "/media/madison_6f58/images/43_image.webp", + "/media/madison_6f58/images/44_image.webp", + "/media/madison_6f58/images/45_image.webp", + "/media/madison_6f58/images/46_image.webp", + "/media/madison_6f58/images/47_image.webp", + "/media/madison_6f58/images/48_image.webp", + "/media/madison_6f58/images/49_image.webp", + "/media/madison_6f58/images/50_image.webp", + "/media/madison_6f58/images/51_image.webp" + ], + "created_at": "2026-01-26T03:59:49.218033-07:00", + "dir_name": "madison_6f58" +} \ No newline at end of file diff --git a/ideas/aeres/agents/madison_881c.json b/ideas/aeres/agents/madison_881c.json new file mode 100644 index 0000000..ed71bc7 --- /dev/null +++ b/ideas/aeres/agents/madison_881c.json @@ -0,0 +1,76 @@ +{ + "id": "madison_881c", + "name": "Madison Brown", + "handle": "madison", + "gender": "female", + "description": "Wendy from Wendy's food chain restaurant, should look exactly like her and live in a fictional contemporary world, woman 25 years old, pretty face , red hair, freckles, white skin", + "tags": [ + "girl_next_door", + "artisanal baking", + "pilates", + "vintage branding", + "dog training", + "tennis", + "thrifting", + "true crime podcasts" + ], + "avatar_url": "/media/madison_881c/avatar.webp?t=1770117628", + "banner_url": "/media/madison_881c/banner.webp?t=1770117626", + "videos": [ + "/media/madison_881c/videos/01_smile_reveal.mp4?t=1770117671" + ], + "images": [ + "/media/madison_881c/images/01_mid_mid_neutral.webp", + "/media/madison_881c/images/02_image.webp", + "/media/madison_881c/images/03_image.webp", + "/media/madison_881c/images/04_image.webp", + "/media/madison_881c/images/05_image.webp", + "/media/madison_881c/images/06_image.webp", + "/media/madison_881c/images/07_image.webp", + "/media/madison_881c/images/09_image.webp", + "/media/madison_881c/images/10_image.webp", + "/media/madison_881c/images/11_image.webp", + "/media/madison_881c/images/12_image.webp", + "/media/madison_881c/images/13_image.webp", + "/media/madison_881c/images/14_image.webp", + "/media/madison_881c/images/15_image.webp", + "/media/madison_881c/images/16_image.webp", + "/media/madison_881c/images/17_image.webp", + "/media/madison_881c/images/18_image.webp", + "/media/madison_881c/images/19_image.webp", + "/media/madison_881c/images/20_image.webp", + "/media/madison_881c/images/21_image.webp", + "/media/madison_881c/images/22_image.webp", + "/media/madison_881c/images/23_image.webp", + "/media/madison_881c/images/24_image.webp", + "/media/madison_881c/images/25_image.webp", + "/media/madison_881c/images/26_image.webp", + "/media/madison_881c/images/27_image.webp", + "/media/madison_881c/images/28_image.webp", + "/media/madison_881c/images/29_image.webp", + "/media/madison_881c/images/30_image.webp", + "/media/madison_881c/images/31_image.webp", + "/media/madison_881c/images/32_image.webp", + "/media/madison_881c/images/33_image.webp", + "/media/madison_881c/images/34_image.webp", + "/media/madison_881c/images/35_image.webp", + "/media/madison_881c/images/36_image.webp", + "/media/madison_881c/images/37_image.webp", + "/media/madison_881c/images/38_image.webp", + "/media/madison_881c/images/39_image.webp", + "/media/madison_881c/images/40_image.webp", + "/media/madison_881c/images/41_image.webp", + "/media/madison_881c/images/42_image.webp", + "/media/madison_881c/images/43_image.webp", + "/media/madison_881c/images/44_image.webp", + "/media/madison_881c/images/45_image.webp", + "/media/madison_881c/images/46_image.webp", + "/media/madison_881c/images/47_image.webp", + "/media/madison_881c/images/48_image.webp", + "/media/madison_881c/images/49_image.webp", + "/media/madison_881c/images/50_image.webp", + "/media/madison_881c/images/51_image.webp" + ], + "created_at": "2026-02-03T04:19:24.328585-07:00", + "dir_name": "madison_881c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/magnus_548f.json b/ideas/aeres/agents/magnus_548f.json new file mode 100644 index 0000000..eb82f8a --- /dev/null +++ b/ideas/aeres/agents/magnus_548f.json @@ -0,0 +1,62 @@ +{ + "id": "magnus_548f", + "name": "Magnus Sjöberg", + "handle": "magnus", + "gender": "male", + "description": "Norwegian, mid 40s, loves death metal, bald head, long beard, likes to wear kilts and drink beer, topless, nice smile", + "tags": [ + "bear_build", + "death metal history", + "ancient woodworking techniques", + "outdoor survivalism", + "bass guitar", + "craft beer brewing", + "kayaking", + "photography" + ], + "avatar_url": "/media/magnus_548f/avatar.webp?t=1769121369", + "banner_url": "/media/magnus_548f/banner.webp?t=1769121369", + "images": [ + "/media/magnus_548f/images/01_mid_mid_neutral.webp", + "/media/magnus_548f/images/02_image.webp", + "/media/magnus_548f/images/03_image.webp", + "/media/magnus_548f/images/04_image.webp", + "/media/magnus_548f/images/05_image.webp", + "/media/magnus_548f/images/06_image.webp", + "/media/magnus_548f/images/07_image.webp", + "/media/magnus_548f/images/09_image.webp", + "/media/magnus_548f/images/10_image.webp", + "/media/magnus_548f/images/11_image.webp", + "/media/magnus_548f/images/12_image.webp", + "/media/magnus_548f/images/13_image.webp", + "/media/magnus_548f/images/14_image.webp", + "/media/magnus_548f/images/15_image.webp", + "/media/magnus_548f/images/16_image.webp", + "/media/magnus_548f/images/17_image.webp", + "/media/magnus_548f/images/18_image.webp", + "/media/magnus_548f/images/19_image.webp", + "/media/magnus_548f/images/20_image.webp", + "/media/magnus_548f/images/21_image.webp", + "/media/magnus_548f/images/21_image.webp", + "/media/magnus_548f/images/22_image.webp", + "/media/magnus_548f/images/22_image.webp", + "/media/magnus_548f/images/23_image.webp", + "/media/magnus_548f/images/23_image.webp", + "/media/magnus_548f/images/24_image.webp", + "/media/magnus_548f/images/24_image.webp", + "/media/magnus_548f/images/25_image.webp", + "/media/magnus_548f/images/25_image.webp", + "/media/magnus_548f/images/26_image.webp", + "/media/magnus_548f/images/26_image.webp", + "/media/magnus_548f/images/27_image.webp", + "/media/magnus_548f/images/27_image.webp", + "/media/magnus_548f/images/28_image.webp", + "/media/magnus_548f/images/28_image.webp", + "/media/magnus_548f/images/29_image.webp", + "/media/magnus_548f/images/29_image.webp", + "/media/magnus_548f/images/30_image.webp", + "/media/magnus_548f/images/30_image.webp" + ], + "created_at": "2026-01-22T15:35:05.318273-07:00", + "dir_name": "magnus_548f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maica_64e5.json b/ideas/aeres/agents/maica_64e5.json new file mode 100644 index 0000000..7031b4b --- /dev/null +++ b/ideas/aeres/agents/maica_64e5.json @@ -0,0 +1,74 @@ +{ + "id": "maica_64e5", + "name": "Maica Ruiz", + "handle": "maica", + "gender": "female", + "description": "hypebeast female who wears Bape and Supreme", + "tags": [ + "baddie", + "sneaker collecting", + "contemporary art", + "interior design", + "urban photography", + "yoga", + "wine tasting", + "podcasting" + ], + "avatar_url": "/media/maica_64e5/avatar.webp?t=1770190135", + "banner_url": "/media/maica_64e5/banner.webp?t=1770190156", + "videos": [ + "/media/maica_64e5/videos/01_smile_reveal.mp4?t=1770190192" + ], + "images": [ + "/media/maica_64e5/images/01_mid_mid_neutral.webp", + "/media/maica_64e5/images/02_image.webp", + "/media/maica_64e5/images/03_image.webp", + "/media/maica_64e5/images/04_image.webp", + "/media/maica_64e5/images/05_image.webp", + "/media/maica_64e5/images/06_image.webp", + "/media/maica_64e5/images/07_image.webp", + "/media/maica_64e5/images/08_image.webp", + "/media/maica_64e5/images/09_image.webp", + "/media/maica_64e5/images/10_image.webp", + "/media/maica_64e5/images/11_image.webp", + "/media/maica_64e5/images/12_image.webp", + "/media/maica_64e5/images/13_image.webp", + "/media/maica_64e5/images/14_image.webp", + "/media/maica_64e5/images/15_image.webp", + "/media/maica_64e5/images/16_image.webp", + "/media/maica_64e5/images/17_image.webp", + "/media/maica_64e5/images/18_image.webp", + "/media/maica_64e5/images/19_image.webp", + "/media/maica_64e5/images/20_image.webp", + "/media/maica_64e5/images/21_image.webp", + "/media/maica_64e5/images/22_image.webp", + "/media/maica_64e5/images/23_image.webp", + "/media/maica_64e5/images/24_image.webp", + "/media/maica_64e5/images/25_image.webp", + "/media/maica_64e5/images/26_image.webp", + "/media/maica_64e5/images/27_image.webp", + "/media/maica_64e5/images/28_image.webp", + "/media/maica_64e5/images/29_image.webp", + "/media/maica_64e5/images/30_image.webp", + "/media/maica_64e5/images/32_image.webp", + "/media/maica_64e5/images/33_image.webp", + "/media/maica_64e5/images/34_image.webp", + "/media/maica_64e5/images/35_image.webp", + "/media/maica_64e5/images/36_image.webp", + "/media/maica_64e5/images/37_image.webp", + "/media/maica_64e5/images/38_image.webp", + "/media/maica_64e5/images/39_image.webp", + "/media/maica_64e5/images/40_image.webp", + "/media/maica_64e5/images/41_image.webp", + "/media/maica_64e5/images/42_image.webp", + "/media/maica_64e5/images/43_image.webp", + "/media/maica_64e5/images/44_image.webp", + "/media/maica_64e5/images/45_image.webp", + "/media/maica_64e5/images/46_image.webp", + "/media/maica_64e5/images/47_image.webp", + "/media/maica_64e5/images/48_image.webp", + "/media/maica_64e5/images/49_image.webp" + ], + "created_at": "2026-02-04T00:27:37.522785-07:00", + "dir_name": "maica_64e5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maica_7ffc.json b/ideas/aeres/agents/maica_7ffc.json new file mode 100644 index 0000000..6f234ec --- /dev/null +++ b/ideas/aeres/agents/maica_7ffc.json @@ -0,0 +1,54 @@ +{ + "id": "maica_7ffc", + "name": "Maica Gonzalez", + "handle": "maica", + "gender": "female", + "description": "Chunky sweather, seattle vibe, jean shorts, beanie, checkerboard print, hip, chunky rings, 90's, short hair, dr martens, tattoo, overalls, music lover,", + "tags": [ + "grunge_girl", + "vinyl collecting", + "90s fashion history", + "screen printing", + "live photography", + "indoor gardening", + "true crime documentaries", + "retro gaming" + ], + "avatar_url": "/media/maica_7ffc/avatar.webp?t=1769110173", + "banner_url": "/media/maica_7ffc/banner.webp?t=1769124678", + "images": [ + "/media/maica_7ffc/images/01_mid_mid_neutral.webp", + "/media/maica_7ffc/images/02_image.webp", + "/media/maica_7ffc/images/03_image.webp", + "/media/maica_7ffc/images/04_image.webp", + "/media/maica_7ffc/images/05_image.webp", + "/media/maica_7ffc/images/06_image.webp", + "/media/maica_7ffc/images/07_image.webp", + "/media/maica_7ffc/images/08_image.webp", + "/media/maica_7ffc/images/09_image.webp", + "/media/maica_7ffc/images/10_image.webp", + "/media/maica_7ffc/images/11_image.webp", + "/media/maica_7ffc/images/12_image.webp", + "/media/maica_7ffc/images/13_image.webp", + "/media/maica_7ffc/images/14_image.webp", + "/media/maica_7ffc/images/15_image.webp", + "/media/maica_7ffc/images/16_image.webp", + "/media/maica_7ffc/images/17_image.webp", + "/media/maica_7ffc/images/18_image.webp", + "/media/maica_7ffc/images/19_image.webp", + "/media/maica_7ffc/images/20_image.webp", + "/media/maica_7ffc/images/21_image.webp", + "/media/maica_7ffc/images/22_image.webp", + "/media/maica_7ffc/images/23_image.webp", + "/media/maica_7ffc/images/24_image.webp", + "/media/maica_7ffc/images/25_image.webp", + "/media/maica_7ffc/images/26_image.webp", + "/media/maica_7ffc/images/27_image.webp", + "/media/maica_7ffc/images/28_image.webp", + "/media/maica_7ffc/images/29_image.webp", + "/media/maica_7ffc/images/30_image.webp", + "/media/maica_7ffc/images/31_image.webp" + ], + "created_at": "2026-01-22T12:28:32.002915-07:00", + "dir_name": "maica_7ffc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maica_zeth_3a02.json b/ideas/aeres/agents/maica_zeth_3a02.json new file mode 100644 index 0000000..4d82f17 --- /dev/null +++ b/ideas/aeres/agents/maica_zeth_3a02.json @@ -0,0 +1,77 @@ +{ + "id": "maica_zeth_3a02", + "name": "Maica Zeth Cruz", + "handle": "maica zeth", + "gender": "female", + "description": "bimbo girl who cosplays as Jinx from League of Legends", + "tags": [ + "the cosplayer", + "high-fashion construction", + "league of legends lore", + "weightlifting", + "avant-garde makeup", + "mechanical keyboards", + "boba tea", + "sneaker collecting" + ], + "avatar_url": "/media/maica_zeth_3a02/avatar.webp?t=1770207071", + "banner_url": "/media/maica_zeth_3a02/banner.webp?t=1770207075", + "videos": [ + "/media/maica_zeth_3a02/videos/01_smile_reveal.mp4?t=1770207113" + ], + "images": [ + "/media/maica_zeth_3a02/images/01_mid_mid_neutral.webp", + "/media/maica_zeth_3a02/images/02_image.webp", + "/media/maica_zeth_3a02/images/03_image.webp", + "/media/maica_zeth_3a02/images/04_image.webp", + "/media/maica_zeth_3a02/images/05_image.webp", + "/media/maica_zeth_3a02/images/06_image.webp", + "/media/maica_zeth_3a02/images/07_image.webp", + "/media/maica_zeth_3a02/images/08_image.webp", + "/media/maica_zeth_3a02/images/09_image.webp", + "/media/maica_zeth_3a02/images/10_image.webp", + "/media/maica_zeth_3a02/images/11_image.webp", + "/media/maica_zeth_3a02/images/12_image.webp", + "/media/maica_zeth_3a02/images/13_image.webp", + "/media/maica_zeth_3a02/images/14_image.webp", + "/media/maica_zeth_3a02/images/15_image.webp", + "/media/maica_zeth_3a02/images/16_image.webp", + "/media/maica_zeth_3a02/images/17_image.webp", + "/media/maica_zeth_3a02/images/18_image.webp", + "/media/maica_zeth_3a02/images/19_image.webp", + "/media/maica_zeth_3a02/images/20_image.webp", + "/media/maica_zeth_3a02/images/21_image.webp", + "/media/maica_zeth_3a02/images/22_image.webp", + "/media/maica_zeth_3a02/images/23_image.webp", + "/media/maica_zeth_3a02/images/24_image.webp", + "/media/maica_zeth_3a02/images/25_image.webp", + "/media/maica_zeth_3a02/images/26_image.webp", + "/media/maica_zeth_3a02/images/27_image.webp", + "/media/maica_zeth_3a02/images/28_image.webp", + "/media/maica_zeth_3a02/images/29_image.webp", + "/media/maica_zeth_3a02/images/30_image.webp", + "/media/maica_zeth_3a02/images/31_image.webp", + "/media/maica_zeth_3a02/images/32_image.webp", + "/media/maica_zeth_3a02/images/33_image.webp", + "/media/maica_zeth_3a02/images/34_image.webp", + "/media/maica_zeth_3a02/images/35_image.webp", + "/media/maica_zeth_3a02/images/36_image.webp", + "/media/maica_zeth_3a02/images/37_image.webp", + "/media/maica_zeth_3a02/images/38_image.webp", + "/media/maica_zeth_3a02/images/39_image.webp", + "/media/maica_zeth_3a02/images/40_image.webp", + "/media/maica_zeth_3a02/images/41_image.webp", + "/media/maica_zeth_3a02/images/42_image.webp", + "/media/maica_zeth_3a02/images/43_image.webp", + "/media/maica_zeth_3a02/images/44_image.webp", + "/media/maica_zeth_3a02/images/45_image.webp", + "/media/maica_zeth_3a02/images/46_image.webp", + "/media/maica_zeth_3a02/images/47_image.webp", + "/media/maica_zeth_3a02/images/48_image.webp", + "/media/maica_zeth_3a02/images/49_image.webp", + "/media/maica_zeth_3a02/images/50_image.webp", + "/media/maica_zeth_3a02/images/51_image.webp" + ], + "created_at": "2026-02-04T05:09:56.851828-07:00", + "dir_name": "maica_zeth_3a02" +} \ No newline at end of file diff --git a/ideas/aeres/agents/malik_0e9d.json b/ideas/aeres/agents/malik_0e9d.json new file mode 100644 index 0000000..7ce987d --- /dev/null +++ b/ideas/aeres/agents/malik_0e9d.json @@ -0,0 +1,80 @@ +{ + "id": "malik_0e9d", + "name": "Malik Okafor", + "handle": "malik", + "gender": "male", + "description": "young boxer from cuba, gold medal winner, athletic muscular build, young mike tyson", + "tags": [ + "gym_bro", + "olympic weightlifting", + "heavyweight boxing history", + "classical jazz", + "chess", + "urban gardening", + "high-end audio equipment", + "biographies" + ], + "avatar_url": "/media/malik_0e9d/avatar.webp?t=1770191646", + "banner_url": "/media/malik_0e9d/banner.webp?t=1770192726", + "videos": [ + "/media/malik_0e9d/videos/01_smile_reveal.mp4?t=1770192452" + ], + "images": [ + "/media/malik_0e9d/images/01_mid_mid_neutral.webp", + "/media/malik_0e9d/images/02_image.webp", + "/media/malik_0e9d/images/03_image.webp", + "/media/malik_0e9d/images/04_image.webp", + "/media/malik_0e9d/images/05_image.webp", + "/media/malik_0e9d/images/06_image.webp", + "/media/malik_0e9d/images/07_image.webp", + "/media/malik_0e9d/images/08_image.webp", + "/media/malik_0e9d/images/09_image.webp", + "/media/malik_0e9d/images/10_image.webp", + "/media/malik_0e9d/images/11_image.webp", + "/media/malik_0e9d/images/12_image.webp", + "/media/malik_0e9d/images/13_image.webp", + "/media/malik_0e9d/images/14_image.webp", + "/media/malik_0e9d/images/15_image.webp", + "/media/malik_0e9d/images/16_image.webp", + "/media/malik_0e9d/images/17_image.webp", + "/media/malik_0e9d/images/18_image.webp", + "/media/malik_0e9d/images/19_image.webp", + "/media/malik_0e9d/images/20_image.webp", + "/media/malik_0e9d/images/21_image.webp", + "/media/malik_0e9d/images/22_image.webp", + "/media/malik_0e9d/images/23_image.webp", + "/media/malik_0e9d/images/24_image.webp", + "/media/malik_0e9d/images/25_image.webp", + "/media/malik_0e9d/images/26_image.webp", + "/media/malik_0e9d/images/27_image.webp", + "/media/malik_0e9d/images/28_image.webp", + "/media/malik_0e9d/images/29_image.webp", + "/media/malik_0e9d/images/30_image.webp", + "/media/malik_0e9d/images/31_image.webp", + "/media/malik_0e9d/images/32_image.webp", + "/media/malik_0e9d/images/33_image.webp", + "/media/malik_0e9d/images/34_image.webp", + "/media/malik_0e9d/images/35_image.webp", + "/media/malik_0e9d/images/36_image.webp", + "/media/malik_0e9d/images/37_image.webp", + "/media/malik_0e9d/images/38_image.webp", + "/media/malik_0e9d/images/39_image.webp", + "/media/malik_0e9d/images/40_image.webp", + "/media/malik_0e9d/images/41_image.webp", + "/media/malik_0e9d/images/42_image.webp", + "/media/malik_0e9d/images/43_image.webp", + "/media/malik_0e9d/images/44_image.webp", + "/media/malik_0e9d/images/45_image.webp", + "/media/malik_0e9d/images/46_image.webp", + "/media/malik_0e9d/images/47_image.webp", + "/media/malik_0e9d/images/48_image.webp", + "/media/malik_0e9d/images/49_image.webp", + "/media/malik_0e9d/images/50_image.webp", + "/media/malik_0e9d/images/51_image.webp", + "/media/malik_0e9d/images/53_image.webp", + "/media/malik_0e9d/images/54_image.webp", + "/media/malik_0e9d/images/55_image.webp" + ], + "created_at": "2026-02-04T00:52:50.351212-07:00", + "dir_name": "malik_0e9d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/malik_3bf9.json b/ideas/aeres/agents/malik_3bf9.json new file mode 100644 index 0000000..e4ae784 --- /dev/null +++ b/ideas/aeres/agents/malik_3bf9.json @@ -0,0 +1,77 @@ +{ + "id": "malik_3bf9", + "name": "Malik Diallo", + "handle": "malik", + "gender": "male", + "description": "afroamerican male who cosplays as XXXTentacion", + "tags": [ + "the cosplayer", + "cosplay craftsmanship", + "music production", + "vintage fashion", + "anime cinematography", + "skateboarding", + "retro gaming", + "graphic design" + ], + "avatar_url": "/media/malik_3bf9/avatar.webp?t=1769696912", + "banner_url": "/media/malik_3bf9/banner.webp?t=1769696983", + "videos": [ + "/media/malik_3bf9/videos/01_smile_reveal.mp4?t=1769696812" + ], + "images": [ + "/media/malik_3bf9/images/01_mid_mid_neutral.webp", + "/media/malik_3bf9/images/02_image.webp", + "/media/malik_3bf9/images/03_image.webp", + "/media/malik_3bf9/images/04_image.webp", + "/media/malik_3bf9/images/05_image.webp", + "/media/malik_3bf9/images/06_image.webp", + "/media/malik_3bf9/images/07_image.webp", + "/media/malik_3bf9/images/08_image.webp", + "/media/malik_3bf9/images/09_image.webp", + "/media/malik_3bf9/images/10_image.webp", + "/media/malik_3bf9/images/11_image.webp", + "/media/malik_3bf9/images/12_image.webp", + "/media/malik_3bf9/images/13_image.webp", + "/media/malik_3bf9/images/14_image.webp", + "/media/malik_3bf9/images/15_image.webp", + "/media/malik_3bf9/images/16_image.webp", + "/media/malik_3bf9/images/17_image.webp", + "/media/malik_3bf9/images/18_image.webp", + "/media/malik_3bf9/images/19_image.webp", + "/media/malik_3bf9/images/20_image.webp", + "/media/malik_3bf9/images/21_image.webp", + "/media/malik_3bf9/images/22_image.webp", + "/media/malik_3bf9/images/23_image.webp", + "/media/malik_3bf9/images/24_image.webp", + "/media/malik_3bf9/images/25_image.webp", + "/media/malik_3bf9/images/26_image.webp", + "/media/malik_3bf9/images/27_image.webp", + "/media/malik_3bf9/images/28_image.webp", + "/media/malik_3bf9/images/29_image.webp", + "/media/malik_3bf9/images/30_image.webp", + "/media/malik_3bf9/images/31_image.webp", + "/media/malik_3bf9/images/32_image.webp", + "/media/malik_3bf9/images/33_image.webp", + "/media/malik_3bf9/images/34_image.webp", + "/media/malik_3bf9/images/35_image.webp", + "/media/malik_3bf9/images/36_image.webp", + "/media/malik_3bf9/images/37_image.webp", + "/media/malik_3bf9/images/38_image.webp", + "/media/malik_3bf9/images/39_image.webp", + "/media/malik_3bf9/images/40_image.webp", + "/media/malik_3bf9/images/41_image.webp", + "/media/malik_3bf9/images/42_image.webp", + "/media/malik_3bf9/images/43_image.webp", + "/media/malik_3bf9/images/44_image.webp", + "/media/malik_3bf9/images/45_image.webp", + "/media/malik_3bf9/images/46_image.webp", + "/media/malik_3bf9/images/47_image.webp", + "/media/malik_3bf9/images/48_image.webp", + "/media/malik_3bf9/images/49_image.webp", + "/media/malik_3bf9/images/50_image.webp", + "/media/malik_3bf9/images/51_image.webp" + ], + "created_at": "2026-01-29T07:24:43.141723-07:00", + "dir_name": "malik_3bf9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/malik_97f3.json b/ideas/aeres/agents/malik_97f3.json new file mode 100644 index 0000000..d49d35f --- /dev/null +++ b/ideas/aeres/agents/malik_97f3.json @@ -0,0 +1,76 @@ +{ + "id": "malik_97f3", + "name": "Malik Okonjo", + "handle": "malik", + "gender": "male", + "description": "male who looks like King Von", + "tags": [ + "baddie", + "vintage luxury watches", + "drill music", + "custom jewelry design", + "basketball", + "french cuisine", + "high-stakes poker", + "sports betting" + ], + "avatar_url": "/media/malik_97f3/avatar.webp?t=1769593402", + "banner_url": "/media/malik_97f3/banner.webp?t=1769593393", + "videos": [ + "/media/malik_97f3/videos/01_smile_reveal.mp4?t=1769593425" + ], + "images": [ + "/media/malik_97f3/images/01_mid_mid_neutral.webp", + "/media/malik_97f3/images/02_image.webp", + "/media/malik_97f3/images/03_image.webp", + "/media/malik_97f3/images/04_image.webp", + "/media/malik_97f3/images/06_image.webp", + "/media/malik_97f3/images/07_image.webp", + "/media/malik_97f3/images/08_image.webp", + "/media/malik_97f3/images/09_image.webp", + "/media/malik_97f3/images/10_image.webp", + "/media/malik_97f3/images/11_image.webp", + "/media/malik_97f3/images/12_image.webp", + "/media/malik_97f3/images/13_image.webp", + "/media/malik_97f3/images/14_image.webp", + "/media/malik_97f3/images/15_image.webp", + "/media/malik_97f3/images/16_image.webp", + "/media/malik_97f3/images/17_image.webp", + "/media/malik_97f3/images/18_image.webp", + "/media/malik_97f3/images/19_image.webp", + "/media/malik_97f3/images/20_image.webp", + "/media/malik_97f3/images/21_image.webp", + "/media/malik_97f3/images/22_image.webp", + "/media/malik_97f3/images/23_image.webp", + "/media/malik_97f3/images/24_image.webp", + "/media/malik_97f3/images/25_image.webp", + "/media/malik_97f3/images/26_image.webp", + "/media/malik_97f3/images/27_image.webp", + "/media/malik_97f3/images/28_image.webp", + "/media/malik_97f3/images/29_image.webp", + "/media/malik_97f3/images/30_image.webp", + "/media/malik_97f3/images/31_image.webp", + "/media/malik_97f3/images/32_image.webp", + "/media/malik_97f3/images/33_image.webp", + "/media/malik_97f3/images/34_image.webp", + "/media/malik_97f3/images/35_image.webp", + "/media/malik_97f3/images/36_image.webp", + "/media/malik_97f3/images/37_image.webp", + "/media/malik_97f3/images/38_image.webp", + "/media/malik_97f3/images/39_image.webp", + "/media/malik_97f3/images/40_image.webp", + "/media/malik_97f3/images/41_image.webp", + "/media/malik_97f3/images/42_image.webp", + "/media/malik_97f3/images/43_image.webp", + "/media/malik_97f3/images/44_image.webp", + "/media/malik_97f3/images/45_image.webp", + "/media/malik_97f3/images/46_image.webp", + "/media/malik_97f3/images/47_image.webp", + "/media/malik_97f3/images/48_image.webp", + "/media/malik_97f3/images/49_image.webp", + "/media/malik_97f3/images/50_image.webp", + "/media/malik_97f3/images/51_image.webp" + ], + "created_at": "2026-01-28T02:41:42.009429-07:00", + "dir_name": "malik_97f3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/malinalli_c511.json b/ideas/aeres/agents/malinalli_c511.json new file mode 100644 index 0000000..cbf200d --- /dev/null +++ b/ideas/aeres/agents/malinalli_c511.json @@ -0,0 +1,73 @@ +{ + "id": "malinalli_c511", + "name": "Malinalli Hernandez", + "handle": "malinalli", + "gender": "female", + "description": "dark haired woman who does ballet", + "tags": [ + "pilates_princess", + "reformer pilates", + "contemporary art", + "interior design", + "matcha ceremonies", + "botanical illustration", + "podcast production", + "low-intervention wines" + ], + "avatar_url": "/media/malinalli_c511/avatar.webp?t=1769433440", + "banner_url": "/media/malinalli_c511/banner.webp?t=1769433570", + "videos": [ + "/media/malinalli_c511/videos/01_smile_reveal.mp4?t=1769433490" + ], + "images": [ + "/media/malinalli_c511/images/01_mid_mid_neutral.webp", + "/media/malinalli_c511/images/02_image.webp", + "/media/malinalli_c511/images/03_image.webp", + "/media/malinalli_c511/images/04_image.webp", + "/media/malinalli_c511/images/05_image.webp", + "/media/malinalli_c511/images/06_image.webp", + "/media/malinalli_c511/images/07_image.webp", + "/media/malinalli_c511/images/09_image.webp", + "/media/malinalli_c511/images/10_image.webp", + "/media/malinalli_c511/images/11_image.webp", + "/media/malinalli_c511/images/12_image.webp", + "/media/malinalli_c511/images/13_image.webp", + "/media/malinalli_c511/images/16_image.webp", + "/media/malinalli_c511/images/14_image.webp", + "/media/malinalli_c511/images/17_image.webp", + "/media/malinalli_c511/images/15_image.webp", + "/media/malinalli_c511/images/19_image.webp", + "/media/malinalli_c511/images/16_image.webp", + "/media/malinalli_c511/images/20_image.webp", + "/media/malinalli_c511/images/17_image.webp", + "/media/malinalli_c511/images/21_image.webp", + "/media/malinalli_c511/images/30_image.webp", + "/media/malinalli_c511/images/41_image.webp", + "/media/malinalli_c511/images/42_image.webp", + "/media/malinalli_c511/images/43_image.webp", + "/media/malinalli_c511/images/44_image.webp", + "/media/malinalli_c511/images/45_image.webp", + "/media/malinalli_c511/images/46_image.webp", + "/media/malinalli_c511/images/47_image.webp", + "/media/malinalli_c511/images/48_image.webp", + "/media/malinalli_c511/images/49_image.webp", + "/media/malinalli_c511/images/50_image.webp", + "/media/malinalli_c511/images/51_image.webp", + "/media/malinalli_c511/images/53_image.webp", + "/media/malinalli_c511/images/54_image.webp", + "/media/malinalli_c511/images/55_image.webp", + "/media/malinalli_c511/images/56_image.webp", + "/media/malinalli_c511/images/57_image.webp", + "/media/malinalli_c511/images/58_image.webp", + "/media/malinalli_c511/images/60_image.webp", + "/media/malinalli_c511/images/61_image.webp", + "/media/malinalli_c511/images/62_image.webp", + "/media/malinalli_c511/images/63_image.webp", + "/media/malinalli_c511/images/64_image.webp", + "/media/malinalli_c511/images/65_image.webp", + "/media/malinalli_c511/images/66_image.webp", + "/media/malinalli_c511/images/67_image.webp" + ], + "created_at": "2026-01-26T06:16:09.081916-07:00", + "dir_name": "malinalli_c511" +} \ No newline at end of file diff --git a/ideas/aeres/agents/manon_22ac.json b/ideas/aeres/agents/manon_22ac.json new file mode 100644 index 0000000..5d9bafe --- /dev/null +++ b/ideas/aeres/agents/manon_22ac.json @@ -0,0 +1,74 @@ +{ + "id": "manon_22ac", + "name": "Manon Laurent", + "handle": "manon", + "gender": "female", + "description": "combination of the actresses Sydney Sweeney and Pamela Anderson, give persona a name that doesn't already exist,should have the Olympics symbol tattooed on her neck,show a clear picture of the tattoo, birthmark in shape of a star on the right thigh, show picture of the birthmark, age 25, Olympic gymnast, gymnastic esthetic, competes at a very high level, very defined and toned body, doll like features, trains every day , very disciplined, pictures from the competitions and coaching staff, from Montreal Canada , show landmarks of the city", + "tags": [ + "fitness_competitor", + "competitive fitness", + "high-fashion photography", + "sports science", + "cooking gourmet healthy meals", + "interior design", + "watching ballet", + "exploring montreal's food scene" + ], + "avatar_url": "/media/manon_22ac/avatar.webp?t=1770200967", + "banner_url": "/media/manon_22ac/banner.webp?t=1770201047", + "videos": [ + "/media/manon_22ac/videos/01_smile_reveal.mp4?t=1770200850" + ], + "images": [ + "/media/manon_22ac/images/01_mid_mid_neutral.webp", + "/media/manon_22ac/images/02_image.webp", + "/media/manon_22ac/images/04_image.webp", + "/media/manon_22ac/images/07_image.webp", + "/media/manon_22ac/images/08_image.webp", + "/media/manon_22ac/images/09_image.webp", + "/media/manon_22ac/images/10_image.webp", + "/media/manon_22ac/images/11_image.webp", + "/media/manon_22ac/images/13_image.webp", + "/media/manon_22ac/images/14_image.webp", + "/media/manon_22ac/images/15_image.webp", + "/media/manon_22ac/images/17_image.webp", + "/media/manon_22ac/images/18_image.webp", + "/media/manon_22ac/images/19_image.webp", + "/media/manon_22ac/images/20_image.webp", + "/media/manon_22ac/images/21_image.webp", + "/media/manon_22ac/images/22_image.webp", + "/media/manon_22ac/images/23_image.webp", + "/media/manon_22ac/images/24_image.webp", + "/media/manon_22ac/images/25_image.webp", + "/media/manon_22ac/images/26_image.webp", + "/media/manon_22ac/images/29_image.webp", + "/media/manon_22ac/images/31_image.webp", + "/media/manon_22ac/images/32_image.webp", + "/media/manon_22ac/images/33_image.webp", + "/media/manon_22ac/images/34_image.webp", + "/media/manon_22ac/images/35_image.webp", + "/media/manon_22ac/images/36_image.webp", + "/media/manon_22ac/images/38_image.webp", + "/media/manon_22ac/images/40_image.webp", + "/media/manon_22ac/images/41_image.webp", + "/media/manon_22ac/images/43_image.webp", + "/media/manon_22ac/images/44_image.webp", + "/media/manon_22ac/images/46_image.webp", + "/media/manon_22ac/images/47_image.webp", + "/media/manon_22ac/images/48_image.webp", + "/media/manon_22ac/images/49_image.webp", + "/media/manon_22ac/images/51_image.webp", + "/media/manon_22ac/images/53_image.webp", + "/media/manon_22ac/images/54_image.webp", + "/media/manon_22ac/images/55_image.webp", + "/media/manon_22ac/images/61_image.webp", + "/media/manon_22ac/images/62_image.webp", + "/media/manon_22ac/images/63_image.webp", + "/media/manon_22ac/images/64_image.webp", + "/media/manon_22ac/images/65_image.webp", + "/media/manon_22ac/images/67_image.webp", + "/media/manon_22ac/images/70_image.webp" + ], + "created_at": "2026-02-04T03:24:59.111539-07:00", + "dir_name": "manon_22ac" +} \ No newline at end of file diff --git a/ideas/aeres/agents/manuele_26db.json b/ideas/aeres/agents/manuele_26db.json new file mode 100644 index 0000000..21d5a40 --- /dev/null +++ b/ideas/aeres/agents/manuele_26db.json @@ -0,0 +1,76 @@ +{ + "id": "manuele_26db", + "name": "Manuele Garcia", + "handle": "manuele", + "gender": "male", + "description": "man who works as a cop", + "tags": [ + "career_fantasy", + "weightlifting", + "tactical training", + "classic film noir", + "cooking italian-hispanic fusion", + "watching boxing", + "urban photography" + ], + "avatar_url": "/media/manuele_26db/avatar.webp?t=1769426641", + "banner_url": "/media/manuele_26db/banner.webp?t=1769426647", + "videos": [ + "/media/manuele_26db/videos/01_smile_reveal.mp4?t=1769426699" + ], + "images": [ + "/media/manuele_26db/images/01_mid_mid_neutral.webp", + "/media/manuele_26db/images/02_image.webp", + "/media/manuele_26db/images/03_image.webp", + "/media/manuele_26db/images/04_image.webp", + "/media/manuele_26db/images/05_image.webp", + "/media/manuele_26db/images/06_image.webp", + "/media/manuele_26db/images/07_image.webp", + "/media/manuele_26db/images/08_image.webp", + "/media/manuele_26db/images/09_image.webp", + "/media/manuele_26db/images/10_image.webp", + "/media/manuele_26db/images/11_image.webp", + "/media/manuele_26db/images/12_image.webp", + "/media/manuele_26db/images/13_image.webp", + "/media/manuele_26db/images/14_image.webp", + "/media/manuele_26db/images/15_image.webp", + "/media/manuele_26db/images/16_image.webp", + "/media/manuele_26db/images/17_image.webp", + "/media/manuele_26db/images/18_image.webp", + "/media/manuele_26db/images/19_image.webp", + "/media/manuele_26db/images/20_image.webp", + "/media/manuele_26db/images/21_image.webp", + "/media/manuele_26db/images/22_image.webp", + "/media/manuele_26db/images/23_image.webp", + "/media/manuele_26db/images/24_image.webp", + "/media/manuele_26db/images/25_image.webp", + "/media/manuele_26db/images/26_image.webp", + "/media/manuele_26db/images/27_image.webp", + "/media/manuele_26db/images/28_image.webp", + "/media/manuele_26db/images/29_image.webp", + "/media/manuele_26db/images/30_image.webp", + "/media/manuele_26db/images/31_image.webp", + "/media/manuele_26db/images/32_image.webp", + "/media/manuele_26db/images/33_image.webp", + "/media/manuele_26db/images/34_image.webp", + "/media/manuele_26db/images/35_image.webp", + "/media/manuele_26db/images/36_image.webp", + "/media/manuele_26db/images/37_image.webp", + "/media/manuele_26db/images/38_image.webp", + "/media/manuele_26db/images/39_image.webp", + "/media/manuele_26db/images/40_image.webp", + "/media/manuele_26db/images/41_image.webp", + "/media/manuele_26db/images/42_image.webp", + "/media/manuele_26db/images/43_image.webp", + "/media/manuele_26db/images/44_image.webp", + "/media/manuele_26db/images/45_image.webp", + "/media/manuele_26db/images/46_image.webp", + "/media/manuele_26db/images/47_image.webp", + "/media/manuele_26db/images/48_image.webp", + "/media/manuele_26db/images/49_image.webp", + "/media/manuele_26db/images/50_image.webp", + "/media/manuele_26db/images/51_image.webp" + ], + "created_at": "2026-01-26T04:22:47.516262-07:00", + "dir_name": "manuele_26db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marcia_42dc.json b/ideas/aeres/agents/marcia_42dc.json new file mode 100644 index 0000000..d09bc70 --- /dev/null +++ b/ideas/aeres/agents/marcia_42dc.json @@ -0,0 +1,77 @@ +{ + "id": "marcia_42dc", + "name": "Marcia Ortiz", + "handle": "marcia", + "gender": "female", + "description": "Supergirl", + "tags": [ + "cosplayer", + "professional cosplay", + "weightlifting", + "astrophysics", + "sustainable fashion", + "retro gaming", + "craft beer tasting", + "urban gardening" + ], + "avatar_url": "/media/marcia_42dc/avatar.webp?t=1770121271", + "banner_url": "/media/marcia_42dc/banner.webp?t=1770121271", + "videos": [ + "/media/marcia_42dc/videos/01_smile_reveal.mp4?t=1770121321" + ], + "images": [ + "/media/marcia_42dc/images/01_mid_mid_neutral.webp", + "/media/marcia_42dc/images/02_image.webp", + "/media/marcia_42dc/images/03_image.webp", + "/media/marcia_42dc/images/04_image.webp", + "/media/marcia_42dc/images/05_image.webp", + "/media/marcia_42dc/images/06_image.webp", + "/media/marcia_42dc/images/07_image.webp", + "/media/marcia_42dc/images/08_image.webp", + "/media/marcia_42dc/images/09_image.webp", + "/media/marcia_42dc/images/10_image.webp", + "/media/marcia_42dc/images/11_image.webp", + "/media/marcia_42dc/images/12_image.webp", + "/media/marcia_42dc/images/13_image.webp", + "/media/marcia_42dc/images/14_image.webp", + "/media/marcia_42dc/images/15_image.webp", + "/media/marcia_42dc/images/16_image.webp", + "/media/marcia_42dc/images/17_image.webp", + "/media/marcia_42dc/images/18_image.webp", + "/media/marcia_42dc/images/19_image.webp", + "/media/marcia_42dc/images/20_image.webp", + "/media/marcia_42dc/images/21_image.webp", + "/media/marcia_42dc/images/22_image.webp", + "/media/marcia_42dc/images/23_image.webp", + "/media/marcia_42dc/images/24_image.webp", + "/media/marcia_42dc/images/25_image.webp", + "/media/marcia_42dc/images/26_image.webp", + "/media/marcia_42dc/images/27_image.webp", + "/media/marcia_42dc/images/28_image.webp", + "/media/marcia_42dc/images/29_image.webp", + "/media/marcia_42dc/images/30_image.webp", + "/media/marcia_42dc/images/31_image.webp", + "/media/marcia_42dc/images/32_image.webp", + "/media/marcia_42dc/images/33_image.webp", + "/media/marcia_42dc/images/34_image.webp", + "/media/marcia_42dc/images/35_image.webp", + "/media/marcia_42dc/images/36_image.webp", + "/media/marcia_42dc/images/37_image.webp", + "/media/marcia_42dc/images/38_image.webp", + "/media/marcia_42dc/images/39_image.webp", + "/media/marcia_42dc/images/40_image.webp", + "/media/marcia_42dc/images/41_image.webp", + "/media/marcia_42dc/images/42_image.webp", + "/media/marcia_42dc/images/43_image.webp", + "/media/marcia_42dc/images/44_image.webp", + "/media/marcia_42dc/images/45_image.webp", + "/media/marcia_42dc/images/46_image.webp", + "/media/marcia_42dc/images/47_image.webp", + "/media/marcia_42dc/images/48_image.webp", + "/media/marcia_42dc/images/49_image.webp", + "/media/marcia_42dc/images/50_image.webp", + "/media/marcia_42dc/images/51_image.webp" + ], + "created_at": "2026-02-03T05:20:04.650359-07:00", + "dir_name": "marcia_42dc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marcus_0271.json b/ideas/aeres/agents/marcus_0271.json new file mode 100644 index 0000000..18395c0 --- /dev/null +++ b/ideas/aeres/agents/marcus_0271.json @@ -0,0 +1,77 @@ +{ + "id": "marcus_0271", + "name": "Marcus Okoro", + "handle": "marcus", + "gender": "male", + "description": "afroamerican male with big beard who cosplays as Mark Henry", + "tags": [ + "bear_build", + "powerlifting", + "wrestling history", + "leatherworking", + "costume design", + "classic jazz", + "bbq pitmastery", + "action movies" + ], + "avatar_url": "/media/marcus_0271/avatar.webp?t=1769611836", + "banner_url": "/media/marcus_0271/banner.webp?t=1769611861", + "videos": [ + "/media/marcus_0271/videos/01_smile_reveal.mp4?t=1769611887" + ], + "images": [ + "/media/marcus_0271/images/01_mid_mid_neutral.webp", + "/media/marcus_0271/images/02_image.webp", + "/media/marcus_0271/images/03_image.webp", + "/media/marcus_0271/images/04_image.webp", + "/media/marcus_0271/images/05_image.webp", + "/media/marcus_0271/images/06_image.webp", + "/media/marcus_0271/images/07_image.webp", + "/media/marcus_0271/images/08_image.webp", + "/media/marcus_0271/images/09_image.webp", + "/media/marcus_0271/images/10_image.webp", + "/media/marcus_0271/images/11_image.webp", + "/media/marcus_0271/images/12_image.webp", + "/media/marcus_0271/images/13_image.webp", + "/media/marcus_0271/images/14_image.webp", + "/media/marcus_0271/images/15_image.webp", + "/media/marcus_0271/images/16_image.webp", + "/media/marcus_0271/images/17_image.webp", + "/media/marcus_0271/images/18_image.webp", + "/media/marcus_0271/images/19_image.webp", + "/media/marcus_0271/images/20_image.webp", + "/media/marcus_0271/images/21_image.webp", + "/media/marcus_0271/images/22_image.webp", + "/media/marcus_0271/images/23_image.webp", + "/media/marcus_0271/images/24_image.webp", + "/media/marcus_0271/images/25_image.webp", + "/media/marcus_0271/images/26_image.webp", + "/media/marcus_0271/images/27_image.webp", + "/media/marcus_0271/images/28_image.webp", + "/media/marcus_0271/images/29_image.webp", + "/media/marcus_0271/images/30_image.webp", + "/media/marcus_0271/images/31_image.webp", + "/media/marcus_0271/images/32_image.webp", + "/media/marcus_0271/images/33_image.webp", + "/media/marcus_0271/images/34_image.webp", + "/media/marcus_0271/images/35_image.webp", + "/media/marcus_0271/images/36_image.webp", + "/media/marcus_0271/images/37_image.webp", + "/media/marcus_0271/images/38_image.webp", + "/media/marcus_0271/images/39_image.webp", + "/media/marcus_0271/images/40_image.webp", + "/media/marcus_0271/images/41_image.webp", + "/media/marcus_0271/images/42_image.webp", + "/media/marcus_0271/images/43_image.webp", + "/media/marcus_0271/images/44_image.webp", + "/media/marcus_0271/images/45_image.webp", + "/media/marcus_0271/images/46_image.webp", + "/media/marcus_0271/images/47_image.webp", + "/media/marcus_0271/images/48_image.webp", + "/media/marcus_0271/images/49_image.webp", + "/media/marcus_0271/images/50_image.webp", + "/media/marcus_0271/images/51_image.webp" + ], + "created_at": "2026-01-28T07:49:14.955774-07:00", + "dir_name": "marcus_0271" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marcus_7dad.json b/ideas/aeres/agents/marcus_7dad.json new file mode 100644 index 0000000..67641a7 --- /dev/null +++ b/ideas/aeres/agents/marcus_7dad.json @@ -0,0 +1,76 @@ +{ + "id": "marcus_7dad", + "name": "Marcus Vance", + "handle": "marcus", + "gender": "male", + "description": "40's super fit, bald, mixed martial arts, great smile,", + "tags": [ + "gym_bro", + "mixed martial arts", + "nutrition science", + "biohacking", + "classic cinema", + "landscape photography", + "cooking" + ], + "avatar_url": "/media/marcus_7dad/avatar.webp?t=1770105062", + "banner_url": "/media/marcus_7dad/banner.webp?t=1770105058", + "videos": [ + "/media/marcus_7dad/videos/01_smile_reveal.mp4?t=1770105094" + ], + "images": [ + "/media/marcus_7dad/images/01_mid_mid_neutral.webp", + "/media/marcus_7dad/images/02_image.webp", + "/media/marcus_7dad/images/03_image.webp", + "/media/marcus_7dad/images/04_image.webp", + "/media/marcus_7dad/images/05_image.webp", + "/media/marcus_7dad/images/06_image.webp", + "/media/marcus_7dad/images/07_image.webp", + "/media/marcus_7dad/images/08_image.webp", + "/media/marcus_7dad/images/09_image.webp", + "/media/marcus_7dad/images/10_image.webp", + "/media/marcus_7dad/images/11_image.webp", + "/media/marcus_7dad/images/12_image.webp", + "/media/marcus_7dad/images/13_image.webp", + "/media/marcus_7dad/images/14_image.webp", + "/media/marcus_7dad/images/15_image.webp", + "/media/marcus_7dad/images/16_image.webp", + "/media/marcus_7dad/images/17_image.webp", + "/media/marcus_7dad/images/18_image.webp", + "/media/marcus_7dad/images/19_image.webp", + "/media/marcus_7dad/images/20_image.webp", + "/media/marcus_7dad/images/21_image.webp", + "/media/marcus_7dad/images/22_image.webp", + "/media/marcus_7dad/images/23_image.webp", + "/media/marcus_7dad/images/24_image.webp", + "/media/marcus_7dad/images/25_image.webp", + "/media/marcus_7dad/images/26_image.webp", + "/media/marcus_7dad/images/27_image.webp", + "/media/marcus_7dad/images/28_image.webp", + "/media/marcus_7dad/images/29_image.webp", + "/media/marcus_7dad/images/30_image.webp", + "/media/marcus_7dad/images/31_image.webp", + "/media/marcus_7dad/images/32_image.webp", + "/media/marcus_7dad/images/33_image.webp", + "/media/marcus_7dad/images/34_image.webp", + "/media/marcus_7dad/images/35_image.webp", + "/media/marcus_7dad/images/36_image.webp", + "/media/marcus_7dad/images/37_image.webp", + "/media/marcus_7dad/images/38_image.webp", + "/media/marcus_7dad/images/39_image.webp", + "/media/marcus_7dad/images/40_image.webp", + "/media/marcus_7dad/images/41_image.webp", + "/media/marcus_7dad/images/42_image.webp", + "/media/marcus_7dad/images/43_image.webp", + "/media/marcus_7dad/images/44_image.webp", + "/media/marcus_7dad/images/45_image.webp", + "/media/marcus_7dad/images/46_image.webp", + "/media/marcus_7dad/images/47_image.webp", + "/media/marcus_7dad/images/48_image.webp", + "/media/marcus_7dad/images/49_image.webp", + "/media/marcus_7dad/images/50_image.webp", + "/media/marcus_7dad/images/51_image.webp" + ], + "created_at": "2026-02-03T00:49:50.970657-07:00", + "dir_name": "marcus_7dad" +} \ No newline at end of file diff --git a/ideas/aeres/agents/margaret_14c0.json b/ideas/aeres/agents/margaret_14c0.json new file mode 100644 index 0000000..0a129a9 --- /dev/null +++ b/ideas/aeres/agents/margaret_14c0.json @@ -0,0 +1,74 @@ +{ + "id": "margaret_14c0", + "name": "Margaret Taylor", + "handle": "margaret", + "gender": "female", + "description": "hot girl,track athlete, australian, spends time at the nearby natural wildlife reservation after training, pictures with kangaroos, short hair, blonde, freckles,green eyes, beautiful face, button nose, wears caps, 23 years old", + "tags": [ + "the athletic one", + "sprinting", + "nutrition", + "surfing", + "beach volleyball", + "photography", + "cooking healthy meals", + "listening to podcasts" + ], + "avatar_url": "/media/margaret_14c0/avatar.webp?t=1769522233", + "banner_url": "/media/margaret_14c0/banner.webp?t=1769522405", + "videos": [ + "/media/margaret_14c0/videos/01_smile_reveal.mp4?t=1769522268" + ], + "images": [ + "/media/margaret_14c0/images/01_mid_mid_neutral.webp", + "/media/margaret_14c0/images/02_image.webp", + "/media/margaret_14c0/images/03_image.webp", + "/media/margaret_14c0/images/04_image.webp", + "/media/margaret_14c0/images/05_image.webp", + "/media/margaret_14c0/images/06_image.webp", + "/media/margaret_14c0/images/07_image.webp", + "/media/margaret_14c0/images/09_image.webp", + "/media/margaret_14c0/images/10_image.webp", + "/media/margaret_14c0/images/11_image.webp", + "/media/margaret_14c0/images/12_image.webp", + "/media/margaret_14c0/images/13_image.webp", + "/media/margaret_14c0/images/14_image.webp", + "/media/margaret_14c0/images/15_image.webp", + "/media/margaret_14c0/images/17_image.webp", + "/media/margaret_14c0/images/18_image.webp", + "/media/margaret_14c0/images/19_image.webp", + "/media/margaret_14c0/images/20_image.webp", + "/media/margaret_14c0/images/21_image.webp", + "/media/margaret_14c0/images/22_image.webp", + "/media/margaret_14c0/images/23_image.webp", + "/media/margaret_14c0/images/24_image.webp", + "/media/margaret_14c0/images/25_image.webp", + "/media/margaret_14c0/images/26_image.webp", + "/media/margaret_14c0/images/27_image.webp", + "/media/margaret_14c0/images/28_image.webp", + "/media/margaret_14c0/images/29_image.webp", + "/media/margaret_14c0/images/30_image.webp", + "/media/margaret_14c0/images/31_image.webp", + "/media/margaret_14c0/images/32_image.webp", + "/media/margaret_14c0/images/33_image.webp", + "/media/margaret_14c0/images/34_image.webp", + "/media/margaret_14c0/images/35_image.webp", + "/media/margaret_14c0/images/36_image.webp", + "/media/margaret_14c0/images/37_image.webp", + "/media/margaret_14c0/images/38_image.webp", + "/media/margaret_14c0/images/39_image.webp", + "/media/margaret_14c0/images/40_image.webp", + "/media/margaret_14c0/images/41_image.webp", + "/media/margaret_14c0/images/42_image.webp", + "/media/margaret_14c0/images/43_image.webp", + "/media/margaret_14c0/images/44_image.webp", + "/media/margaret_14c0/images/45_image.webp", + "/media/margaret_14c0/images/46_image.webp", + "/media/margaret_14c0/images/47_image.webp", + "/media/margaret_14c0/images/48_image.webp", + "/media/margaret_14c0/images/49_image.webp", + "/media/margaret_14c0/images/50_image.webp" + ], + "created_at": "2026-01-27T06:55:52.558944-07:00", + "dir_name": "margaret_14c0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/margaret_c717.json b/ideas/aeres/agents/margaret_c717.json new file mode 100644 index 0000000..5c77008 --- /dev/null +++ b/ideas/aeres/agents/margaret_c717.json @@ -0,0 +1,76 @@ +{ + "id": "margaret_c717", + "name": "Margaret Taylor", + "handle": "margaret", + "gender": "female", + "description": "Janna from League of Legends", + "tags": [ + "cosplayer", + "textile engineering", + "epic fantasy literature", + "aerodynamics", + "3d printing", + "botanical illustration", + "mechanical watches", + "local jazz scenes" + ], + "avatar_url": "/media/margaret_c717/avatar.webp?t=1769770396", + "banner_url": "/media/margaret_c717/banner.webp?t=1769770400", + "videos": [ + "/media/margaret_c717/videos/01_smile_reveal.mp4?t=1769770438" + ], + "images": [ + "/media/margaret_c717/images/01_mid_mid_neutral.webp", + "/media/margaret_c717/images/02_image.webp", + "/media/margaret_c717/images/03_image.webp", + "/media/margaret_c717/images/04_image.webp", + "/media/margaret_c717/images/05_image.webp", + "/media/margaret_c717/images/07_image.webp", + "/media/margaret_c717/images/08_image.webp", + "/media/margaret_c717/images/09_image.webp", + "/media/margaret_c717/images/10_image.webp", + "/media/margaret_c717/images/11_image.webp", + "/media/margaret_c717/images/12_image.webp", + "/media/margaret_c717/images/13_image.webp", + "/media/margaret_c717/images/14_image.webp", + "/media/margaret_c717/images/15_image.webp", + "/media/margaret_c717/images/16_image.webp", + "/media/margaret_c717/images/17_image.webp", + "/media/margaret_c717/images/18_image.webp", + "/media/margaret_c717/images/19_image.webp", + "/media/margaret_c717/images/20_image.webp", + "/media/margaret_c717/images/21_image.webp", + "/media/margaret_c717/images/22_image.webp", + "/media/margaret_c717/images/23_image.webp", + "/media/margaret_c717/images/24_image.webp", + "/media/margaret_c717/images/25_image.webp", + "/media/margaret_c717/images/26_image.webp", + "/media/margaret_c717/images/27_image.webp", + "/media/margaret_c717/images/28_image.webp", + "/media/margaret_c717/images/29_image.webp", + "/media/margaret_c717/images/30_image.webp", + "/media/margaret_c717/images/31_image.webp", + "/media/margaret_c717/images/32_image.webp", + "/media/margaret_c717/images/33_image.webp", + "/media/margaret_c717/images/34_image.webp", + "/media/margaret_c717/images/35_image.webp", + "/media/margaret_c717/images/36_image.webp", + "/media/margaret_c717/images/37_image.webp", + "/media/margaret_c717/images/38_image.webp", + "/media/margaret_c717/images/39_image.webp", + "/media/margaret_c717/images/40_image.webp", + "/media/margaret_c717/images/41_image.webp", + "/media/margaret_c717/images/42_image.webp", + "/media/margaret_c717/images/43_image.webp", + "/media/margaret_c717/images/44_image.webp", + "/media/margaret_c717/images/45_image.webp", + "/media/margaret_c717/images/46_image.webp", + "/media/margaret_c717/images/47_image.webp", + "/media/margaret_c717/images/48_image.webp", + "/media/margaret_c717/images/49_image.webp", + "/media/margaret_c717/images/50_image.webp", + "/media/margaret_c717/images/51_image.webp" + ], + "created_at": "2026-01-30T03:52:14.308909-07:00", + "dir_name": "margaret_c717" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maria_8c41.json b/ideas/aeres/agents/maria_8c41.json new file mode 100644 index 0000000..123a569 --- /dev/null +++ b/ideas/aeres/agents/maria_8c41.json @@ -0,0 +1,80 @@ +{ + "id": "maria_8c41", + "name": "Maria Johnson", + "handle": "maria", + "gender": "female", + "description": "Miss Fortune from League of Legends", + "tags": [ + "adventurous", + "ocean navigation", + "antique weaponry collecting", + "high-stakes negotiation", + "historical cartography", + "mixology", + "fencing", + "opera" + ], + "avatar_url": "/media/maria_8c41/avatar.webp?t=1769678749", + "banner_url": "/media/maria_8c41/banner.webp?t=1769678750", + "videos": [ + "/media/maria_8c41/videos/01_smile_reveal.mp4?t=1769678798" + ], + "images": [ + "/media/maria_8c41/images/01_mid_mid_neutral.webp", + "/media/maria_8c41/images/02_image.webp", + "/media/maria_8c41/images/03_image.webp", + "/media/maria_8c41/images/04_image.webp", + "/media/maria_8c41/images/07_image.webp", + "/media/maria_8c41/images/10_image.webp", + "/media/maria_8c41/images/11_image.webp", + "/media/maria_8c41/images/13_image.webp", + "/media/maria_8c41/images/14_image.webp", + "/media/maria_8c41/images/15_image.webp", + "/media/maria_8c41/images/16_image.webp", + "/media/maria_8c41/images/17_image.webp", + "/media/maria_8c41/images/18_image.webp", + "/media/maria_8c41/images/19_image.webp", + "/media/maria_8c41/images/20_image.webp", + "/media/maria_8c41/images/21_image.webp", + "/media/maria_8c41/images/22_image.webp", + "/media/maria_8c41/images/23_image.webp", + "/media/maria_8c41/images/24_image.webp", + "/media/maria_8c41/images/25_image.webp", + "/media/maria_8c41/images/26_image.webp", + "/media/maria_8c41/images/27_image.webp", + "/media/maria_8c41/images/28_image.webp", + "/media/maria_8c41/images/29_image.webp", + "/media/maria_8c41/images/30_image.webp", + "/media/maria_8c41/images/31_image.webp", + "/media/maria_8c41/images/32_image.webp", + "/media/maria_8c41/images/33_image.webp", + "/media/maria_8c41/images/34_image.webp", + "/media/maria_8c41/images/35_image.webp", + "/media/maria_8c41/images/36_image.webp", + "/media/maria_8c41/images/37_image.webp", + "/media/maria_8c41/images/38_image.webp", + "/media/maria_8c41/images/39_image.webp", + "/media/maria_8c41/images/40_image.webp", + "/media/maria_8c41/images/41_image.webp", + "/media/maria_8c41/images/42_image.webp", + "/media/maria_8c41/images/43_image.webp", + "/media/maria_8c41/images/44_image.webp", + "/media/maria_8c41/images/45_image.webp", + "/media/maria_8c41/images/46_image.webp", + "/media/maria_8c41/images/47_image.webp", + "/media/maria_8c41/images/48_image.webp", + "/media/maria_8c41/images/49_image.webp", + "/media/maria_8c41/images/50_image.webp", + "/media/maria_8c41/images/51_image.webp", + "/media/maria_8c41/images/53_image.webp", + "/media/maria_8c41/images/54_image.webp", + "/media/maria_8c41/images/55_image.webp", + "/media/maria_8c41/images/56_image.webp", + "/media/maria_8c41/images/57_image.webp", + "/media/maria_8c41/images/58_image.webp", + "/media/maria_8c41/images/59_image.webp", + "/media/maria_8c41/images/60_image.webp" + ], + "created_at": "2026-01-29T02:24:33.754659-07:00", + "dir_name": "maria_8c41" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marie_cc86.json b/ideas/aeres/agents/marie_cc86.json new file mode 100644 index 0000000..acfb344 --- /dev/null +++ b/ideas/aeres/agents/marie_cc86.json @@ -0,0 +1,76 @@ +{ + "id": "marie_cc86", + "name": "Marie Richard", + "handle": "marie", + "gender": "female", + "description": "police detective, 50's esthetic, policewoman,detective work, pictures from the police precinct and from the private investigating office, white european, blonde, age 30, slim build, pretty face", + "tags": [ + "vintage_retro", + "forensic science", + "1940s-50s cinema", + "vinyl records", + "criminology", + "interior design", + "chess", + "urban photography" + ], + "avatar_url": "/media/marie_cc86/avatar.webp?t=1770116785", + "banner_url": "/media/marie_cc86/banner.webp?t=1770116787", + "videos": [ + "/media/marie_cc86/videos/01_smile_reveal.mp4?t=1770116818" + ], + "images": [ + "/media/marie_cc86/images/01_mid_mid_neutral.webp", + "/media/marie_cc86/images/02_image.webp", + "/media/marie_cc86/images/03_image.webp", + "/media/marie_cc86/images/04_image.webp", + "/media/marie_cc86/images/05_image.webp", + "/media/marie_cc86/images/06_image.webp", + "/media/marie_cc86/images/07_image.webp", + "/media/marie_cc86/images/08_image.webp", + "/media/marie_cc86/images/09_image.webp", + "/media/marie_cc86/images/10_image.webp", + "/media/marie_cc86/images/11_image.webp", + "/media/marie_cc86/images/12_image.webp", + "/media/marie_cc86/images/13_image.webp", + "/media/marie_cc86/images/14_image.webp", + "/media/marie_cc86/images/15_image.webp", + "/media/marie_cc86/images/16_image.webp", + "/media/marie_cc86/images/17_image.webp", + "/media/marie_cc86/images/18_image.webp", + "/media/marie_cc86/images/20_image.webp", + "/media/marie_cc86/images/21_image.webp", + "/media/marie_cc86/images/22_image.webp", + "/media/marie_cc86/images/23_image.webp", + "/media/marie_cc86/images/24_image.webp", + "/media/marie_cc86/images/25_image.webp", + "/media/marie_cc86/images/26_image.webp", + "/media/marie_cc86/images/27_image.webp", + "/media/marie_cc86/images/28_image.webp", + "/media/marie_cc86/images/29_image.webp", + "/media/marie_cc86/images/30_image.webp", + "/media/marie_cc86/images/31_image.webp", + "/media/marie_cc86/images/32_image.webp", + "/media/marie_cc86/images/33_image.webp", + "/media/marie_cc86/images/34_image.webp", + "/media/marie_cc86/images/35_image.webp", + "/media/marie_cc86/images/36_image.webp", + "/media/marie_cc86/images/37_image.webp", + "/media/marie_cc86/images/38_image.webp", + "/media/marie_cc86/images/39_image.webp", + "/media/marie_cc86/images/40_image.webp", + "/media/marie_cc86/images/41_image.webp", + "/media/marie_cc86/images/42_image.webp", + "/media/marie_cc86/images/43_image.webp", + "/media/marie_cc86/images/44_image.webp", + "/media/marie_cc86/images/45_image.webp", + "/media/marie_cc86/images/46_image.webp", + "/media/marie_cc86/images/47_image.webp", + "/media/marie_cc86/images/48_image.webp", + "/media/marie_cc86/images/49_image.webp", + "/media/marie_cc86/images/50_image.webp", + "/media/marie_cc86/images/51_image.webp" + ], + "created_at": "2026-02-03T04:05:19.468174-07:00", + "dir_name": "marie_cc86" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marilyn_860e.json b/ideas/aeres/agents/marilyn_860e.json new file mode 100644 index 0000000..adbcdc2 --- /dev/null +++ b/ideas/aeres/agents/marilyn_860e.json @@ -0,0 +1,70 @@ +{ + "id": "marilyn_860e", + "name": "Marilyn Jones", + "handle": "marilyn", + "gender": "female", + "description": "a 25 year old brunette with glasses", + "tags": [ + "librarian", + "classical literature", + "pilates", + "rare book restoration", + "vinyl records", + "urban hiking", + "art house cinema", + "sustainable gardening" + ], + "avatar_url": "/media/marilyn_860e/avatar.webp?t=1769018694", + "banner_url": "/media/marilyn_860e/banner.webp?t=1769018687", + "images": [ + "/media/marilyn_860e/images/01_mid_mid_neutral.webp", + "/media/marilyn_860e/images/02_image.webp", + "/media/marilyn_860e/images/03_image.webp", + "/media/marilyn_860e/images/04_image.webp", + "/media/marilyn_860e/images/05_image.webp", + "/media/marilyn_860e/images/06_image.webp", + "/media/marilyn_860e/images/07_image.webp", + "/media/marilyn_860e/images/08_image.webp", + "/media/marilyn_860e/images/09_image.webp", + "/media/marilyn_860e/images/10_image.webp", + "/media/marilyn_860e/images/11_image.webp", + "/media/marilyn_860e/images/12_image.webp", + "/media/marilyn_860e/images/13_image.webp", + "/media/marilyn_860e/images/14_image.webp", + "/media/marilyn_860e/images/15_image.webp", + "/media/marilyn_860e/images/16_image.webp", + "/media/marilyn_860e/images/17_image.webp", + "/media/marilyn_860e/images/18_image.webp", + "/media/marilyn_860e/images/19_image.webp", + "/media/marilyn_860e/images/20_image.webp", + "/media/marilyn_860e/images/21_image.webp", + "/media/marilyn_860e/images/22_image.webp", + "/media/marilyn_860e/images/23_image.webp", + "/media/marilyn_860e/images/24_image.webp", + "/media/marilyn_860e/images/25_image.webp", + "/media/marilyn_860e/images/26_image.webp", + "/media/marilyn_860e/images/27_image.webp", + "/media/marilyn_860e/images/28_image.webp", + "/media/marilyn_860e/images/29_image.webp", + "/media/marilyn_860e/images/30_image.webp", + "/media/marilyn_860e/images/31_image.webp", + "/media/marilyn_860e/images/31_image.webp", + "/media/marilyn_860e/images/32_image.webp", + "/media/marilyn_860e/images/32_image.webp", + "/media/marilyn_860e/images/33_image.webp", + "/media/marilyn_860e/images/33_image.webp", + "/media/marilyn_860e/images/34_image.webp", + "/media/marilyn_860e/images/34_image.webp", + "/media/marilyn_860e/images/35_image.webp", + "/media/marilyn_860e/images/35_image.webp", + "/media/marilyn_860e/images/36_image.webp", + "/media/marilyn_860e/images/36_image.webp", + "/media/marilyn_860e/images/37_image.webp", + "/media/marilyn_860e/images/37_image.webp", + "/media/marilyn_860e/images/38_image.webp", + "/media/marilyn_860e/images/39_image.webp", + "/media/marilyn_860e/images/40_image.webp" + ], + "created_at": "2026-01-21T11:03:39.152714-07:00", + "dir_name": "marilyn_860e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marilyn_eb40.json b/ideas/aeres/agents/marilyn_eb40.json new file mode 100644 index 0000000..2abb63a --- /dev/null +++ b/ideas/aeres/agents/marilyn_eb40.json @@ -0,0 +1,76 @@ +{ + "id": "marilyn_eb40", + "name": "Marilyn Jones", + "handle": "marilyn", + "gender": "female", + "description": "Velma from Scooby Doo", + "tags": [ + "librarian", + "true crime podcasts", + "vintage typewriter restoration", + "genealogy", + "classical architecture", + "pilates", + "botanical illustration", + "bird watching" + ], + "avatar_url": "/media/marilyn_eb40/avatar.webp?t=1770125226", + "banner_url": "/media/marilyn_eb40/banner.webp?t=1770125228", + "videos": [ + "/media/marilyn_eb40/videos/01_smile_reveal.mp4?t=1770125268" + ], + "images": [ + "/media/marilyn_eb40/images/01_mid_mid_neutral.webp", + "/media/marilyn_eb40/images/02_image.webp", + "/media/marilyn_eb40/images/03_image.webp", + "/media/marilyn_eb40/images/04_image.webp", + "/media/marilyn_eb40/images/05_image.webp", + "/media/marilyn_eb40/images/06_image.webp", + "/media/marilyn_eb40/images/08_image.webp", + "/media/marilyn_eb40/images/09_image.webp", + "/media/marilyn_eb40/images/10_image.webp", + "/media/marilyn_eb40/images/11_image.webp", + "/media/marilyn_eb40/images/12_image.webp", + "/media/marilyn_eb40/images/13_image.webp", + "/media/marilyn_eb40/images/14_image.webp", + "/media/marilyn_eb40/images/15_image.webp", + "/media/marilyn_eb40/images/16_image.webp", + "/media/marilyn_eb40/images/17_image.webp", + "/media/marilyn_eb40/images/18_image.webp", + "/media/marilyn_eb40/images/19_image.webp", + "/media/marilyn_eb40/images/20_image.webp", + "/media/marilyn_eb40/images/21_image.webp", + "/media/marilyn_eb40/images/22_image.webp", + "/media/marilyn_eb40/images/23_image.webp", + "/media/marilyn_eb40/images/24_image.webp", + "/media/marilyn_eb40/images/25_image.webp", + "/media/marilyn_eb40/images/26_image.webp", + "/media/marilyn_eb40/images/27_image.webp", + "/media/marilyn_eb40/images/28_image.webp", + "/media/marilyn_eb40/images/29_image.webp", + "/media/marilyn_eb40/images/30_image.webp", + "/media/marilyn_eb40/images/31_image.webp", + "/media/marilyn_eb40/images/32_image.webp", + "/media/marilyn_eb40/images/33_image.webp", + "/media/marilyn_eb40/images/34_image.webp", + "/media/marilyn_eb40/images/35_image.webp", + "/media/marilyn_eb40/images/36_image.webp", + "/media/marilyn_eb40/images/37_image.webp", + "/media/marilyn_eb40/images/38_image.webp", + "/media/marilyn_eb40/images/39_image.webp", + "/media/marilyn_eb40/images/40_image.webp", + "/media/marilyn_eb40/images/41_image.webp", + "/media/marilyn_eb40/images/42_image.webp", + "/media/marilyn_eb40/images/43_image.webp", + "/media/marilyn_eb40/images/44_image.webp", + "/media/marilyn_eb40/images/45_image.webp", + "/media/marilyn_eb40/images/46_image.webp", + "/media/marilyn_eb40/images/47_image.webp", + "/media/marilyn_eb40/images/48_image.webp", + "/media/marilyn_eb40/images/49_image.webp", + "/media/marilyn_eb40/images/50_image.webp", + "/media/marilyn_eb40/images/51_image.webp" + ], + "created_at": "2026-02-03T06:25:35.918809-07:00", + "dir_name": "marilyn_eb40" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marina_5119.json b/ideas/aeres/agents/marina_5119.json new file mode 100644 index 0000000..f382447 --- /dev/null +++ b/ideas/aeres/agents/marina_5119.json @@ -0,0 +1,77 @@ +{ + "id": "marina_5119", + "name": "Marina Sanchez", + "handle": "marina", + "gender": "female", + "description": "woman from Ecuador who is a graffiti artist", + "tags": [ + "artist", + "large-scale muralism", + "urban sociology", + "photography", + "community activism", + "cooking traditional ecuadorian food with a twist", + "cycling", + "vinyl collecting" + ], + "avatar_url": "/media/marina_5119/avatar.webp?t=1769767838", + "banner_url": "/media/marina_5119/banner.webp?t=1769767829", + "videos": [ + "/media/marina_5119/videos/01_smile_reveal.mp4?t=1769767862" + ], + "images": [ + "/media/marina_5119/images/01_mid_mid_neutral.webp", + "/media/marina_5119/images/02_image.webp", + "/media/marina_5119/images/03_image.webp", + "/media/marina_5119/images/04_image.webp", + "/media/marina_5119/images/05_image.webp", + "/media/marina_5119/images/06_image.webp", + "/media/marina_5119/images/07_image.webp", + "/media/marina_5119/images/08_image.webp", + "/media/marina_5119/images/09_image.webp", + "/media/marina_5119/images/10_image.webp", + "/media/marina_5119/images/11_image.webp", + "/media/marina_5119/images/12_image.webp", + "/media/marina_5119/images/13_image.webp", + "/media/marina_5119/images/14_image.webp", + "/media/marina_5119/images/15_image.webp", + "/media/marina_5119/images/16_image.webp", + "/media/marina_5119/images/17_image.webp", + "/media/marina_5119/images/18_image.webp", + "/media/marina_5119/images/19_image.webp", + "/media/marina_5119/images/20_image.webp", + "/media/marina_5119/images/21_image.webp", + "/media/marina_5119/images/22_image.webp", + "/media/marina_5119/images/23_image.webp", + "/media/marina_5119/images/24_image.webp", + "/media/marina_5119/images/25_image.webp", + "/media/marina_5119/images/26_image.webp", + "/media/marina_5119/images/27_image.webp", + "/media/marina_5119/images/28_image.webp", + "/media/marina_5119/images/29_image.webp", + "/media/marina_5119/images/30_image.webp", + "/media/marina_5119/images/31_image.webp", + "/media/marina_5119/images/32_image.webp", + "/media/marina_5119/images/33_image.webp", + "/media/marina_5119/images/34_image.webp", + "/media/marina_5119/images/35_image.webp", + "/media/marina_5119/images/36_image.webp", + "/media/marina_5119/images/37_image.webp", + "/media/marina_5119/images/38_image.webp", + "/media/marina_5119/images/39_image.webp", + "/media/marina_5119/images/40_image.webp", + "/media/marina_5119/images/41_image.webp", + "/media/marina_5119/images/42_image.webp", + "/media/marina_5119/images/43_image.webp", + "/media/marina_5119/images/44_image.webp", + "/media/marina_5119/images/45_image.webp", + "/media/marina_5119/images/46_image.webp", + "/media/marina_5119/images/47_image.webp", + "/media/marina_5119/images/48_image.webp", + "/media/marina_5119/images/49_image.webp", + "/media/marina_5119/images/50_image.webp", + "/media/marina_5119/images/51_image.webp" + ], + "created_at": "2026-01-30T03:09:12.743065-07:00", + "dir_name": "marina_5119" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marina_89fa.json b/ideas/aeres/agents/marina_89fa.json new file mode 100644 index 0000000..0d65abe --- /dev/null +++ b/ideas/aeres/agents/marina_89fa.json @@ -0,0 +1,77 @@ +{ + "id": "marina_89fa", + "name": "Marina Kostas", + "handle": "marina", + "gender": "female", + "description": "female from Portugal who works as a pilot", + "tags": [ + "career_fantasy", + "stargazing", + "sailing", + "historical biographies", + "watch collecting", + "italian espresso culture", + "yoga", + "interior design" + ], + "avatar_url": "/media/marina_89fa/avatar.webp?t=1769764367", + "banner_url": "/media/marina_89fa/banner.webp?t=1769764366", + "videos": [ + "/media/marina_89fa/videos/01_smile_reveal.mp4?t=1769764387" + ], + "images": [ + "/media/marina_89fa/images/01_mid_mid_neutral.webp", + "/media/marina_89fa/images/02_image.webp", + "/media/marina_89fa/images/03_image.webp", + "/media/marina_89fa/images/04_image.webp", + "/media/marina_89fa/images/05_image.webp", + "/media/marina_89fa/images/06_image.webp", + "/media/marina_89fa/images/07_image.webp", + "/media/marina_89fa/images/08_image.webp", + "/media/marina_89fa/images/09_image.webp", + "/media/marina_89fa/images/10_image.webp", + "/media/marina_89fa/images/11_image.webp", + "/media/marina_89fa/images/12_image.webp", + "/media/marina_89fa/images/13_image.webp", + "/media/marina_89fa/images/14_image.webp", + "/media/marina_89fa/images/15_image.webp", + "/media/marina_89fa/images/16_image.webp", + "/media/marina_89fa/images/17_image.webp", + "/media/marina_89fa/images/18_image.webp", + "/media/marina_89fa/images/19_image.webp", + "/media/marina_89fa/images/20_image.webp", + "/media/marina_89fa/images/21_image.webp", + "/media/marina_89fa/images/22_image.webp", + "/media/marina_89fa/images/23_image.webp", + "/media/marina_89fa/images/24_image.webp", + "/media/marina_89fa/images/25_image.webp", + "/media/marina_89fa/images/26_image.webp", + "/media/marina_89fa/images/27_image.webp", + "/media/marina_89fa/images/28_image.webp", + "/media/marina_89fa/images/29_image.webp", + "/media/marina_89fa/images/30_image.webp", + "/media/marina_89fa/images/31_image.webp", + "/media/marina_89fa/images/32_image.webp", + "/media/marina_89fa/images/33_image.webp", + "/media/marina_89fa/images/34_image.webp", + "/media/marina_89fa/images/35_image.webp", + "/media/marina_89fa/images/36_image.webp", + "/media/marina_89fa/images/37_image.webp", + "/media/marina_89fa/images/38_image.webp", + "/media/marina_89fa/images/39_image.webp", + "/media/marina_89fa/images/40_image.webp", + "/media/marina_89fa/images/41_image.webp", + "/media/marina_89fa/images/42_image.webp", + "/media/marina_89fa/images/43_image.webp", + "/media/marina_89fa/images/44_image.webp", + "/media/marina_89fa/images/45_image.webp", + "/media/marina_89fa/images/46_image.webp", + "/media/marina_89fa/images/47_image.webp", + "/media/marina_89fa/images/48_image.webp", + "/media/marina_89fa/images/49_image.webp", + "/media/marina_89fa/images/50_image.webp", + "/media/marina_89fa/images/51_image.webp" + ], + "created_at": "2026-01-30T02:11:21.230875-07:00", + "dir_name": "marina_89fa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marina_8d05.json b/ideas/aeres/agents/marina_8d05.json new file mode 100644 index 0000000..54914b9 --- /dev/null +++ b/ideas/aeres/agents/marina_8d05.json @@ -0,0 +1,77 @@ +{ + "id": "marina_8d05", + "name": "Marina Sanchez", + "handle": "marina", + "gender": "female", + "description": "latina woman with dark hair who loves knitting", + "tags": [ + "nurturer", + "hand-spinning wool", + "natural plant-based dyeing", + "slow-cooking", + "interior styling", + "bird watching", + "listening to folk music", + "reading historical fiction" + ], + "avatar_url": "/media/marina_8d05/avatar.webp?t=1769509899", + "banner_url": "/media/marina_8d05/banner.webp?t=1769509891", + "videos": [ + "/media/marina_8d05/videos/01_smile_reveal.mp4?t=1769509937" + ], + "images": [ + "/media/marina_8d05/images/01_mid_mid_neutral.webp", + "/media/marina_8d05/images/02_image.webp", + "/media/marina_8d05/images/03_image.webp", + "/media/marina_8d05/images/04_image.webp", + "/media/marina_8d05/images/05_image.webp", + "/media/marina_8d05/images/06_image.webp", + "/media/marina_8d05/images/07_image.webp", + "/media/marina_8d05/images/08_image.webp", + "/media/marina_8d05/images/09_image.webp", + "/media/marina_8d05/images/10_image.webp", + "/media/marina_8d05/images/11_image.webp", + "/media/marina_8d05/images/12_image.webp", + "/media/marina_8d05/images/13_image.webp", + "/media/marina_8d05/images/14_image.webp", + "/media/marina_8d05/images/15_image.webp", + "/media/marina_8d05/images/16_image.webp", + "/media/marina_8d05/images/17_image.webp", + "/media/marina_8d05/images/18_image.webp", + "/media/marina_8d05/images/19_image.webp", + "/media/marina_8d05/images/20_image.webp", + "/media/marina_8d05/images/21_image.webp", + "/media/marina_8d05/images/22_image.webp", + "/media/marina_8d05/images/23_image.webp", + "/media/marina_8d05/images/24_image.webp", + "/media/marina_8d05/images/25_image.webp", + "/media/marina_8d05/images/26_image.webp", + "/media/marina_8d05/images/27_image.webp", + "/media/marina_8d05/images/28_image.webp", + "/media/marina_8d05/images/29_image.webp", + "/media/marina_8d05/images/30_image.webp", + "/media/marina_8d05/images/31_image.webp", + "/media/marina_8d05/images/32_image.webp", + "/media/marina_8d05/images/33_image.webp", + "/media/marina_8d05/images/34_image.webp", + "/media/marina_8d05/images/35_image.webp", + "/media/marina_8d05/images/36_image.webp", + "/media/marina_8d05/images/37_image.webp", + "/media/marina_8d05/images/38_image.webp", + "/media/marina_8d05/images/39_image.webp", + "/media/marina_8d05/images/40_image.webp", + "/media/marina_8d05/images/41_image.webp", + "/media/marina_8d05/images/42_image.webp", + "/media/marina_8d05/images/43_image.webp", + "/media/marina_8d05/images/44_image.webp", + "/media/marina_8d05/images/45_image.webp", + "/media/marina_8d05/images/46_image.webp", + "/media/marina_8d05/images/47_image.webp", + "/media/marina_8d05/images/48_image.webp", + "/media/marina_8d05/images/49_image.webp", + "/media/marina_8d05/images/50_image.webp", + "/media/marina_8d05/images/51_image.webp" + ], + "created_at": "2026-01-27T03:30:15.354136-07:00", + "dir_name": "marina_8d05" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marina_9939.json b/ideas/aeres/agents/marina_9939.json new file mode 100644 index 0000000..8293a05 --- /dev/null +++ b/ideas/aeres/agents/marina_9939.json @@ -0,0 +1,76 @@ +{ + "id": "marina_9939", + "name": "Marina D'Agostino", + "handle": "marina", + "gender": "female", + "description": "croatian woman who works as a ship captain", + "tags": [ + "adventurous", + "sailing", + "celestial navigation", + "oceanography", + "restoring old wooden boats", + "chess", + "spearfishing", + "documentary photography" + ], + "avatar_url": "/media/marina_9939/avatar.webp?t=1769671494", + "banner_url": "/media/marina_9939/banner.webp?t=1769671497", + "videos": [ + "/media/marina_9939/videos/01_smile_reveal.mp4?t=1769671543" + ], + "images": [ + "/media/marina_9939/images/01_mid_mid_neutral.webp", + "/media/marina_9939/images/02_image.webp", + "/media/marina_9939/images/03_image.webp", + "/media/marina_9939/images/04_image.webp", + "/media/marina_9939/images/05_image.webp", + "/media/marina_9939/images/06_image.webp", + "/media/marina_9939/images/08_image.webp", + "/media/marina_9939/images/09_image.webp", + "/media/marina_9939/images/10_image.webp", + "/media/marina_9939/images/11_image.webp", + "/media/marina_9939/images/12_image.webp", + "/media/marina_9939/images/13_image.webp", + "/media/marina_9939/images/14_image.webp", + "/media/marina_9939/images/15_image.webp", + "/media/marina_9939/images/16_image.webp", + "/media/marina_9939/images/17_image.webp", + "/media/marina_9939/images/18_image.webp", + "/media/marina_9939/images/19_image.webp", + "/media/marina_9939/images/20_image.webp", + "/media/marina_9939/images/21_image.webp", + "/media/marina_9939/images/22_image.webp", + "/media/marina_9939/images/23_image.webp", + "/media/marina_9939/images/24_image.webp", + "/media/marina_9939/images/25_image.webp", + "/media/marina_9939/images/26_image.webp", + "/media/marina_9939/images/27_image.webp", + "/media/marina_9939/images/28_image.webp", + "/media/marina_9939/images/29_image.webp", + "/media/marina_9939/images/30_image.webp", + "/media/marina_9939/images/31_image.webp", + "/media/marina_9939/images/32_image.webp", + "/media/marina_9939/images/33_image.webp", + "/media/marina_9939/images/34_image.webp", + "/media/marina_9939/images/35_image.webp", + "/media/marina_9939/images/36_image.webp", + "/media/marina_9939/images/37_image.webp", + "/media/marina_9939/images/38_image.webp", + "/media/marina_9939/images/39_image.webp", + "/media/marina_9939/images/40_image.webp", + "/media/marina_9939/images/41_image.webp", + "/media/marina_9939/images/42_image.webp", + "/media/marina_9939/images/43_image.webp", + "/media/marina_9939/images/44_image.webp", + "/media/marina_9939/images/45_image.webp", + "/media/marina_9939/images/46_image.webp", + "/media/marina_9939/images/47_image.webp", + "/media/marina_9939/images/48_image.webp", + "/media/marina_9939/images/49_image.webp", + "/media/marina_9939/images/50_image.webp", + "/media/marina_9939/images/51_image.webp" + ], + "created_at": "2026-01-29T00:23:27.919074-07:00", + "dir_name": "marina_9939" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marinella_c7b9.json b/ideas/aeres/agents/marinella_c7b9.json new file mode 100644 index 0000000..bad0df7 --- /dev/null +++ b/ideas/aeres/agents/marinella_c7b9.json @@ -0,0 +1,75 @@ +{ + "id": "marinella_c7b9", + "name": "Marinella Gonzalez", + "handle": "marinella", + "gender": "female", + "description": "22 yr old, wolf shag haircut, large glasses, freckles, chunky necklaces, fashion influencer, wild clothes, bold colors, belts, jeans, layers, tutu's plaid", + "tags": [ + "influencer_lifestyle", + "avant-garde fashion", + "textile history", + "photography", + "sustainable diy", + "pilates", + "roller skating", + "astrology" + ], + "avatar_url": "/media/marinella_c7b9/avatar.webp?t=1769673838", + "banner_url": "/media/marinella_c7b9/banner.webp?t=1769673870", + "videos": [ + "/media/marinella_c7b9/videos/01_smile_reveal.mp4?t=1769673746" + ], + "images": [ + "/media/marinella_c7b9/images/01_mid_mid_neutral.webp", + "/media/marinella_c7b9/images/02_image.webp", + "/media/marinella_c7b9/images/03_image.webp", + "/media/marinella_c7b9/images/04_image.webp", + "/media/marinella_c7b9/images/05_image.webp", + "/media/marinella_c7b9/images/06_image.webp", + "/media/marinella_c7b9/images/07_image.webp", + "/media/marinella_c7b9/images/08_image.webp", + "/media/marinella_c7b9/images/09_image.webp", + "/media/marinella_c7b9/images/10_image.webp", + "/media/marinella_c7b9/images/11_image.webp", + "/media/marinella_c7b9/images/12_image.webp", + "/media/marinella_c7b9/images/13_image.webp", + "/media/marinella_c7b9/images/14_image.webp", + "/media/marinella_c7b9/images/15_image.webp", + "/media/marinella_c7b9/images/16_image.webp", + "/media/marinella_c7b9/images/17_image.webp", + "/media/marinella_c7b9/images/18_image.webp", + "/media/marinella_c7b9/images/19_image.webp", + "/media/marinella_c7b9/images/20_image.webp", + "/media/marinella_c7b9/images/21_image.webp", + "/media/marinella_c7b9/images/32_image.webp", + "/media/marinella_c7b9/images/22_image.webp", + "/media/marinella_c7b9/images/33_image.webp", + "/media/marinella_c7b9/images/23_image.webp", + "/media/marinella_c7b9/images/34_image.webp", + "/media/marinella_c7b9/images/24_image.webp", + "/media/marinella_c7b9/images/35_image.webp", + "/media/marinella_c7b9/images/25_image.webp", + "/media/marinella_c7b9/images/36_image.webp", + "/media/marinella_c7b9/images/26_image.webp", + "/media/marinella_c7b9/images/37_image.webp", + "/media/marinella_c7b9/images/27_image.webp", + "/media/marinella_c7b9/images/38_image.webp", + "/media/marinella_c7b9/images/28_image.webp", + "/media/marinella_c7b9/images/39_image.webp", + "/media/marinella_c7b9/images/29_image.webp", + "/media/marinella_c7b9/images/40_image.webp", + "/media/marinella_c7b9/images/30_image.webp", + "/media/marinella_c7b9/images/41_image.webp", + "/media/marinella_c7b9/images/42_image.webp", + "/media/marinella_c7b9/images/43_image.webp", + "/media/marinella_c7b9/images/44_image.webp", + "/media/marinella_c7b9/images/45_image.webp", + "/media/marinella_c7b9/images/46_image.webp", + "/media/marinella_c7b9/images/47_image.webp", + "/media/marinella_c7b9/images/48_image.webp", + "/media/marinella_c7b9/images/49_image.webp", + "/media/marinella_c7b9/images/50_image.webp" + ], + "created_at": "2026-01-29T01:00:35.312672-07:00", + "dir_name": "marinella_c7b9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mark_38ee.json b/ideas/aeres/agents/mark_38ee.json new file mode 100644 index 0000000..c8fe7ab --- /dev/null +++ b/ideas/aeres/agents/mark_38ee.json @@ -0,0 +1,77 @@ +{ + "id": "mark_38ee", + "name": "Mark Castillo", + "handle": "mark", + "gender": "male", + "description": "male from Ecuador who likes to cosplay as superheroes", + "tags": [ + "cosplayer", + "leatherworking", + "3d printing", + "comic book history", + "advanced material science", + "weightlifting", + "industrial design", + "synthwave music" + ], + "avatar_url": "/media/mark_38ee/avatar.webp?t=1769679436", + "banner_url": "/media/mark_38ee/banner.webp?t=1769679428", + "videos": [ + "/media/mark_38ee/videos/01_smile_reveal.mp4?t=1769679463" + ], + "images": [ + "/media/mark_38ee/images/01_mid_mid_neutral.webp", + "/media/mark_38ee/images/02_image.webp", + "/media/mark_38ee/images/03_image.webp", + "/media/mark_38ee/images/04_image.webp", + "/media/mark_38ee/images/05_image.webp", + "/media/mark_38ee/images/06_image.webp", + "/media/mark_38ee/images/07_image.webp", + "/media/mark_38ee/images/08_image.webp", + "/media/mark_38ee/images/09_image.webp", + "/media/mark_38ee/images/10_image.webp", + "/media/mark_38ee/images/11_image.webp", + "/media/mark_38ee/images/12_image.webp", + "/media/mark_38ee/images/13_image.webp", + "/media/mark_38ee/images/14_image.webp", + "/media/mark_38ee/images/15_image.webp", + "/media/mark_38ee/images/16_image.webp", + "/media/mark_38ee/images/17_image.webp", + "/media/mark_38ee/images/18_image.webp", + "/media/mark_38ee/images/19_image.webp", + "/media/mark_38ee/images/20_image.webp", + "/media/mark_38ee/images/21_image.webp", + "/media/mark_38ee/images/22_image.webp", + "/media/mark_38ee/images/23_image.webp", + "/media/mark_38ee/images/24_image.webp", + "/media/mark_38ee/images/25_image.webp", + "/media/mark_38ee/images/26_image.webp", + "/media/mark_38ee/images/27_image.webp", + "/media/mark_38ee/images/28_image.webp", + "/media/mark_38ee/images/29_image.webp", + "/media/mark_38ee/images/30_image.webp", + "/media/mark_38ee/images/31_image.webp", + "/media/mark_38ee/images/32_image.webp", + "/media/mark_38ee/images/33_image.webp", + "/media/mark_38ee/images/34_image.webp", + "/media/mark_38ee/images/35_image.webp", + "/media/mark_38ee/images/36_image.webp", + "/media/mark_38ee/images/37_image.webp", + "/media/mark_38ee/images/38_image.webp", + "/media/mark_38ee/images/39_image.webp", + "/media/mark_38ee/images/40_image.webp", + "/media/mark_38ee/images/41_image.webp", + "/media/mark_38ee/images/42_image.webp", + "/media/mark_38ee/images/43_image.webp", + "/media/mark_38ee/images/44_image.webp", + "/media/mark_38ee/images/45_image.webp", + "/media/mark_38ee/images/46_image.webp", + "/media/mark_38ee/images/47_image.webp", + "/media/mark_38ee/images/48_image.webp", + "/media/mark_38ee/images/49_image.webp", + "/media/mark_38ee/images/50_image.webp", + "/media/mark_38ee/images/51_image.webp" + ], + "created_at": "2026-01-29T02:35:55.831308-07:00", + "dir_name": "mark_38ee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mark_4823.json b/ideas/aeres/agents/mark_4823.json new file mode 100644 index 0000000..9868851 --- /dev/null +++ b/ideas/aeres/agents/mark_4823.json @@ -0,0 +1,80 @@ +{ + "id": "mark_4823", + "name": "Mark Johnson", + "handle": "mark", + "gender": "male", + "description": "male from United States who is a skater", + "tags": [ + "skater_boy", + "skateboarding", + "woodworking", + "street photography", + "vinyl collecting", + "craft beer", + "architecture" + ], + "avatar_url": "/media/mark_4823/avatar.webp?t=1770189004", + "banner_url": "/media/mark_4823/banner.webp?t=1770188997", + "videos": [ + "/media/mark_4823/videos/01_smile_reveal.mp4?t=1770189041" + ], + "images": [ + "/media/mark_4823/images/01_mid_mid_neutral.webp", + "/media/mark_4823/images/02_image.webp", + "/media/mark_4823/images/03_image.webp", + "/media/mark_4823/images/04_image.webp", + "/media/mark_4823/images/05_image.webp", + "/media/mark_4823/images/06_image.webp", + "/media/mark_4823/images/07_image.webp", + "/media/mark_4823/images/08_image.webp", + "/media/mark_4823/images/09_image.webp", + "/media/mark_4823/images/10_image.webp", + "/media/mark_4823/images/11_image.webp", + "/media/mark_4823/images/12_image.webp", + "/media/mark_4823/images/13_image.webp", + "/media/mark_4823/images/14_image.webp", + "/media/mark_4823/images/15_image.webp", + "/media/mark_4823/images/16_image.webp", + "/media/mark_4823/images/17_image.webp", + "/media/mark_4823/images/18_image.webp", + "/media/mark_4823/images/19_image.webp", + "/media/mark_4823/images/20_image.webp", + "/media/mark_4823/images/21_image.webp", + "/media/mark_4823/images/22_image.webp", + "/media/mark_4823/images/23_image.webp", + "/media/mark_4823/images/24_image.webp", + "/media/mark_4823/images/25_image.webp", + "/media/mark_4823/images/26_image.webp", + "/media/mark_4823/images/27_image.webp", + "/media/mark_4823/images/28_image.webp", + "/media/mark_4823/images/29_image.webp", + "/media/mark_4823/images/30_image.webp", + "/media/mark_4823/images/31_image.webp", + "/media/mark_4823/images/32_image.webp", + "/media/mark_4823/images/33_image.webp", + "/media/mark_4823/images/34_image.webp", + "/media/mark_4823/images/35_image.webp", + "/media/mark_4823/images/36_image.webp", + "/media/mark_4823/images/37_image.webp", + "/media/mark_4823/images/38_image.webp", + "/media/mark_4823/images/39_image.webp", + "/media/mark_4823/images/40_image.webp", + "/media/mark_4823/images/41_image.webp", + "/media/mark_4823/images/42_image.webp", + "/media/mark_4823/images/43_image.webp", + "/media/mark_4823/images/44_image.webp", + "/media/mark_4823/images/45_image.webp", + "/media/mark_4823/images/46_image.webp", + "/media/mark_4823/images/47_image.webp", + "/media/mark_4823/images/48_image.webp", + "/media/mark_4823/images/49_image.webp", + "/media/mark_4823/images/50_image.webp", + "/media/mark_4823/images/51_image.webp", + "/media/mark_4823/images/53_image.webp", + "/media/mark_4823/images/54_image.webp", + "/media/mark_4823/images/55_image.webp", + "/media/mark_4823/images/56_image.webp" + ], + "created_at": "2026-02-04T00:08:41.586744-07:00", + "dir_name": "mark_4823" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marsha_b25d.json b/ideas/aeres/agents/marsha_b25d.json new file mode 100644 index 0000000..4afcdf6 --- /dev/null +++ b/ideas/aeres/agents/marsha_b25d.json @@ -0,0 +1,76 @@ +{ + "id": "marsha_b25d", + "name": "Marsha Jackson", + "handle": "marsha", + "gender": "female", + "description": "woman in her early thirties, sexy body, alternative vibe, lawyer, black", + "tags": [ + "boss_babe", + "modernist architecture", + "vinyl collecting", + "litigation strategy", + "high-fashion", + "mixology", + "fencing", + "true crime documentaries" + ], + "avatar_url": "/media/marsha_b25d/avatar.webp?t=1769043913", + "banner_url": "/media/marsha_b25d/banner.webp?t=1769043917", + "videos": [ + "/media/marsha_b25d/videos/01_smile_reveal.mp4?t=1769043964" + ], + "images": [ + "/media/marsha_b25d/images/01_mid_mid_neutral.webp", + "/media/marsha_b25d/images/02_image.webp", + "/media/marsha_b25d/images/03_image.webp", + "/media/marsha_b25d/images/04_image.webp", + "/media/marsha_b25d/images/05_image.webp", + "/media/marsha_b25d/images/06_image.webp", + "/media/marsha_b25d/images/07_image.webp", + "/media/marsha_b25d/images/08_image.webp", + "/media/marsha_b25d/images/09_image.webp", + "/media/marsha_b25d/images/10_image.webp", + "/media/marsha_b25d/images/11_image.webp", + "/media/marsha_b25d/images/12_image.webp", + "/media/marsha_b25d/images/13_image.webp", + "/media/marsha_b25d/images/14_image.webp", + "/media/marsha_b25d/images/15_image.webp", + "/media/marsha_b25d/images/16_image.webp", + "/media/marsha_b25d/images/17_image.webp", + "/media/marsha_b25d/images/18_image.webp", + "/media/marsha_b25d/images/19_image.webp", + "/media/marsha_b25d/images/21_image.webp", + "/media/marsha_b25d/images/22_image.webp", + "/media/marsha_b25d/images/23_image.webp", + "/media/marsha_b25d/images/24_image.webp", + "/media/marsha_b25d/images/25_image.webp", + "/media/marsha_b25d/images/26_image.webp", + "/media/marsha_b25d/images/27_image.webp", + "/media/marsha_b25d/images/28_image.webp", + "/media/marsha_b25d/images/29_image.webp", + "/media/marsha_b25d/images/30_image.webp", + "/media/marsha_b25d/images/31_image.webp", + "/media/marsha_b25d/images/32_image.webp", + "/media/marsha_b25d/images/33_image.webp", + "/media/marsha_b25d/images/34_image.webp", + "/media/marsha_b25d/images/35_image.webp", + "/media/marsha_b25d/images/36_image.webp", + "/media/marsha_b25d/images/37_image.webp", + "/media/marsha_b25d/images/38_image.webp", + "/media/marsha_b25d/images/39_image.webp", + "/media/marsha_b25d/images/40_image.webp", + "/media/marsha_b25d/images/41_image.webp", + "/media/marsha_b25d/images/42_image.webp", + "/media/marsha_b25d/images/43_image.webp", + "/media/marsha_b25d/images/44_image.webp", + "/media/marsha_b25d/images/45_image.webp", + "/media/marsha_b25d/images/46_image.webp", + "/media/marsha_b25d/images/47_image.webp", + "/media/marsha_b25d/images/48_image.webp", + "/media/marsha_b25d/images/49_image.webp", + "/media/marsha_b25d/images/50_image.webp", + "/media/marsha_b25d/images/51_image.webp" + ], + "created_at": "2026-01-21T18:03:39.456743-07:00", + "dir_name": "marsha_b25d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marsha_ff73.json b/ideas/aeres/agents/marsha_ff73.json new file mode 100644 index 0000000..987b6d4 --- /dev/null +++ b/ideas/aeres/agents/marsha_ff73.json @@ -0,0 +1,77 @@ +{ + "id": "marsha_ff73", + "name": "Marsha Lim", + "handle": "marsha", + "gender": "female", + "description": "asian woman who cosplays as Rhea Ripley from WWE", + "tags": [ + "cosplayer", + "powerlifting", + "leatherworking", + "wwe/pro-wrestling", + "horror films", + "mechanical keyboards", + "gothic architecture", + "pc gaming" + ], + "avatar_url": "/media/marsha_ff73/avatar.webp?t=1770115075", + "banner_url": "/media/marsha_ff73/banner.webp?t=1770115066", + "videos": [ + "/media/marsha_ff73/videos/01_smile_reveal.mp4?t=1770115175" + ], + "images": [ + "/media/marsha_ff73/images/01_mid_mid_neutral.webp", + "/media/marsha_ff73/images/02_image.webp", + "/media/marsha_ff73/images/03_image.webp", + "/media/marsha_ff73/images/04_image.webp", + "/media/marsha_ff73/images/05_image.webp", + "/media/marsha_ff73/images/06_image.webp", + "/media/marsha_ff73/images/07_image.webp", + "/media/marsha_ff73/images/08_image.webp", + "/media/marsha_ff73/images/09_image.webp", + "/media/marsha_ff73/images/10_image.webp", + "/media/marsha_ff73/images/11_image.webp", + "/media/marsha_ff73/images/12_image.webp", + "/media/marsha_ff73/images/13_image.webp", + "/media/marsha_ff73/images/14_image.webp", + "/media/marsha_ff73/images/15_image.webp", + "/media/marsha_ff73/images/16_image.webp", + "/media/marsha_ff73/images/17_image.webp", + "/media/marsha_ff73/images/18_image.webp", + "/media/marsha_ff73/images/19_image.webp", + "/media/marsha_ff73/images/20_image.webp", + "/media/marsha_ff73/images/21_image.webp", + "/media/marsha_ff73/images/22_image.webp", + "/media/marsha_ff73/images/23_image.webp", + "/media/marsha_ff73/images/24_image.webp", + "/media/marsha_ff73/images/25_image.webp", + "/media/marsha_ff73/images/26_image.webp", + "/media/marsha_ff73/images/27_image.webp", + "/media/marsha_ff73/images/28_image.webp", + "/media/marsha_ff73/images/29_image.webp", + "/media/marsha_ff73/images/30_image.webp", + "/media/marsha_ff73/images/31_image.webp", + "/media/marsha_ff73/images/32_image.webp", + "/media/marsha_ff73/images/33_image.webp", + "/media/marsha_ff73/images/34_image.webp", + "/media/marsha_ff73/images/35_image.webp", + "/media/marsha_ff73/images/36_image.webp", + "/media/marsha_ff73/images/37_image.webp", + "/media/marsha_ff73/images/38_image.webp", + "/media/marsha_ff73/images/39_image.webp", + "/media/marsha_ff73/images/40_image.webp", + "/media/marsha_ff73/images/41_image.webp", + "/media/marsha_ff73/images/42_image.webp", + "/media/marsha_ff73/images/43_image.webp", + "/media/marsha_ff73/images/44_image.webp", + "/media/marsha_ff73/images/45_image.webp", + "/media/marsha_ff73/images/46_image.webp", + "/media/marsha_ff73/images/47_image.webp", + "/media/marsha_ff73/images/48_image.webp", + "/media/marsha_ff73/images/49_image.webp", + "/media/marsha_ff73/images/50_image.webp", + "/media/marsha_ff73/images/51_image.webp" + ], + "created_at": "2026-02-03T03:36:44.652319-07:00", + "dir_name": "marsha_ff73" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marshall_007c.json b/ideas/aeres/agents/marshall_007c.json new file mode 100644 index 0000000..104d25a --- /dev/null +++ b/ideas/aeres/agents/marshall_007c.json @@ -0,0 +1,78 @@ +{ + "id": "marshall_007c", + "name": "Marshall Wolf", + "handle": "marshall", + "gender": "male", + "description": "hot sexy boxer, hard training, olympic box competitions, tall short hair, european, very defined, 28 years old, abs, thick eyebrows", + "tags": [ + "muscle_mommy", + "heavyweight boxing", + "weightlifting", + "gourmet cooking", + "sports psychology", + "chess", + "classic car restoration", + "interior design" + ], + "avatar_url": "/media/marshall_007c/avatar.webp?t=1769518919", + "banner_url": "/media/marshall_007c/banner.webp?t=1769518910", + "videos": [ + "/media/marshall_007c/videos/01_smile_reveal.mp4?t=1769518967" + ], + "images": [ + "/media/marshall_007c/images/01_mid_mid_neutral.webp", + "/media/marshall_007c/images/02_image.webp", + "/media/marshall_007c/images/03_image.webp", + "/media/marshall_007c/images/04_image.webp", + "/media/marshall_007c/images/05_image.webp", + "/media/marshall_007c/images/06_image.webp", + "/media/marshall_007c/images/07_image.webp", + "/media/marshall_007c/images/09_image.webp", + "/media/marshall_007c/images/10_image.webp", + "/media/marshall_007c/images/11_image.webp", + "/media/marshall_007c/images/12_image.webp", + "/media/marshall_007c/images/13_image.webp", + "/media/marshall_007c/images/14_image.webp", + "/media/marshall_007c/images/15_image.webp", + "/media/marshall_007c/images/16_image.webp", + "/media/marshall_007c/images/17_image.webp", + "/media/marshall_007c/images/18_image.webp", + "/media/marshall_007c/images/19_image.webp", + "/media/marshall_007c/images/20_image.webp", + "/media/marshall_007c/images/21_image.webp", + "/media/marshall_007c/images/22_image.webp", + "/media/marshall_007c/images/23_image.webp", + "/media/marshall_007c/images/24_image.webp", + "/media/marshall_007c/images/25_image.webp", + "/media/marshall_007c/images/26_image.webp", + "/media/marshall_007c/images/27_image.webp", + "/media/marshall_007c/images/28_image.webp", + "/media/marshall_007c/images/29_image.webp", + "/media/marshall_007c/images/30_image.webp", + "/media/marshall_007c/images/31_image.webp", + "/media/marshall_007c/images/32_image.webp", + "/media/marshall_007c/images/33_image.webp", + "/media/marshall_007c/images/34_image.webp", + "/media/marshall_007c/images/35_image.webp", + "/media/marshall_007c/images/36_image.webp", + "/media/marshall_007c/images/37_image.webp", + "/media/marshall_007c/images/38_image.webp", + "/media/marshall_007c/images/39_image.webp", + "/media/marshall_007c/images/40_image.webp", + "/media/marshall_007c/images/41_image.webp", + "/media/marshall_007c/images/51_image.webp", + "/media/marshall_007c/images/51_image.webp", + "/media/marshall_007c/images/52_image.webp", + "/media/marshall_007c/images/53_image.webp", + "/media/marshall_007c/images/54_image.webp", + "/media/marshall_007c/images/55_image.webp", + "/media/marshall_007c/images/56_image.webp", + "/media/marshall_007c/images/57_image.webp", + "/media/marshall_007c/images/58_image.webp", + "/media/marshall_007c/images/59_image.webp", + "/media/marshall_007c/images/60_image.webp", + "/media/marshall_007c/images/61_image.webp" + ], + "created_at": "2026-01-27T06:00:03.210942-07:00", + "dir_name": "marshall_007c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marta_4de0.json b/ideas/aeres/agents/marta_4de0.json new file mode 100644 index 0000000..be82bc6 --- /dev/null +++ b/ideas/aeres/agents/marta_4de0.json @@ -0,0 +1,77 @@ +{ + "id": "marta_4de0", + "name": "Marta Braun", + "handle": "marta", + "gender": "female", + "description": "Gen Z chef, sharing recipes, Meredith Hayden, luxury, laughter, kitchen,", + "tags": [ + "influencer_lifestyle", + "farm-to-table cooking", + "interior styling", + "vintage glassware", + "horticulture", + "pilates", + "film photography", + "documentaries" + ], + "avatar_url": "/media/marta_4de0/avatar.webp?t=1769675983", + "banner_url": "/media/marta_4de0/banner.webp?t=1769675969", + "videos": [ + "/media/marta_4de0/videos/01_smile_reveal.mp4?t=1769676012" + ], + "images": [ + "/media/marta_4de0/images/01_mid_mid_neutral.webp", + "/media/marta_4de0/images/02_image.webp", + "/media/marta_4de0/images/03_image.webp", + "/media/marta_4de0/images/04_image.webp", + "/media/marta_4de0/images/05_image.webp", + "/media/marta_4de0/images/06_image.webp", + "/media/marta_4de0/images/07_image.webp", + "/media/marta_4de0/images/08_image.webp", + "/media/marta_4de0/images/09_image.webp", + "/media/marta_4de0/images/10_image.webp", + "/media/marta_4de0/images/11_image.webp", + "/media/marta_4de0/images/12_image.webp", + "/media/marta_4de0/images/13_image.webp", + "/media/marta_4de0/images/14_image.webp", + "/media/marta_4de0/images/15_image.webp", + "/media/marta_4de0/images/16_image.webp", + "/media/marta_4de0/images/17_image.webp", + "/media/marta_4de0/images/18_image.webp", + "/media/marta_4de0/images/19_image.webp", + "/media/marta_4de0/images/20_image.webp", + "/media/marta_4de0/images/21_image.webp", + "/media/marta_4de0/images/22_image.webp", + "/media/marta_4de0/images/23_image.webp", + "/media/marta_4de0/images/24_image.webp", + "/media/marta_4de0/images/25_image.webp", + "/media/marta_4de0/images/26_image.webp", + "/media/marta_4de0/images/27_image.webp", + "/media/marta_4de0/images/28_image.webp", + "/media/marta_4de0/images/29_image.webp", + "/media/marta_4de0/images/30_image.webp", + "/media/marta_4de0/images/31_image.webp", + "/media/marta_4de0/images/32_image.webp", + "/media/marta_4de0/images/33_image.webp", + "/media/marta_4de0/images/34_image.webp", + "/media/marta_4de0/images/35_image.webp", + "/media/marta_4de0/images/36_image.webp", + "/media/marta_4de0/images/37_image.webp", + "/media/marta_4de0/images/38_image.webp", + "/media/marta_4de0/images/39_image.webp", + "/media/marta_4de0/images/40_image.webp", + "/media/marta_4de0/images/41_image.webp", + "/media/marta_4de0/images/42_image.webp", + "/media/marta_4de0/images/43_image.webp", + "/media/marta_4de0/images/44_image.webp", + "/media/marta_4de0/images/45_image.webp", + "/media/marta_4de0/images/46_image.webp", + "/media/marta_4de0/images/47_image.webp", + "/media/marta_4de0/images/48_image.webp", + "/media/marta_4de0/images/49_image.webp", + "/media/marta_4de0/images/50_image.webp", + "/media/marta_4de0/images/51_image.webp" + ], + "created_at": "2026-01-29T01:37:59.835554-07:00", + "dir_name": "marta_4de0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marta_maría_a3de.json b/ideas/aeres/agents/marta_maría_a3de.json new file mode 100644 index 0000000..cee7f92 --- /dev/null +++ b/ideas/aeres/agents/marta_maría_a3de.json @@ -0,0 +1,77 @@ +{ + "id": "marta_maría_a3de", + "name": "Marta María Gonzalez", + "handle": "marta maría", + "gender": "female", + "description": "female who cosplays as Dee Dee from Dexter's Laboratory", + "tags": [ + "cosplayer", + "prop making", + "90s japanese animation", + "wig styling", + "retro gaming", + "baking", + "roller skating", + "astrology" + ], + "avatar_url": "/media/marta_maría_a3de/avatar.webp?t=1770124819", + "banner_url": "/media/marta_maría_a3de/banner.webp?t=1770124852", + "videos": [ + "/media/marta_maría_a3de/videos/01_smile_reveal.mp4?t=1770124866" + ], + "images": [ + "/media/marta_maría_a3de/images/01_mid_mid_neutral.webp", + "/media/marta_maría_a3de/images/02_image.webp", + "/media/marta_maría_a3de/images/03_image.webp", + "/media/marta_maría_a3de/images/04_image.webp", + "/media/marta_maría_a3de/images/05_image.webp", + "/media/marta_maría_a3de/images/06_image.webp", + "/media/marta_maría_a3de/images/07_image.webp", + "/media/marta_maría_a3de/images/08_image.webp", + "/media/marta_maría_a3de/images/09_image.webp", + "/media/marta_maría_a3de/images/10_image.webp", + "/media/marta_maría_a3de/images/11_image.webp", + "/media/marta_maría_a3de/images/12_image.webp", + "/media/marta_maría_a3de/images/13_image.webp", + "/media/marta_maría_a3de/images/14_image.webp", + "/media/marta_maría_a3de/images/15_image.webp", + "/media/marta_maría_a3de/images/16_image.webp", + "/media/marta_maría_a3de/images/17_image.webp", + "/media/marta_maría_a3de/images/18_image.webp", + "/media/marta_maría_a3de/images/19_image.webp", + "/media/marta_maría_a3de/images/20_image.webp", + "/media/marta_maría_a3de/images/21_image.webp", + "/media/marta_maría_a3de/images/22_image.webp", + "/media/marta_maría_a3de/images/23_image.webp", + "/media/marta_maría_a3de/images/24_image.webp", + "/media/marta_maría_a3de/images/25_image.webp", + "/media/marta_maría_a3de/images/26_image.webp", + "/media/marta_maría_a3de/images/27_image.webp", + "/media/marta_maría_a3de/images/28_image.webp", + "/media/marta_maría_a3de/images/29_image.webp", + "/media/marta_maría_a3de/images/30_image.webp", + "/media/marta_maría_a3de/images/31_image.webp", + "/media/marta_maría_a3de/images/32_image.webp", + "/media/marta_maría_a3de/images/33_image.webp", + "/media/marta_maría_a3de/images/34_image.webp", + "/media/marta_maría_a3de/images/35_image.webp", + "/media/marta_maría_a3de/images/36_image.webp", + "/media/marta_maría_a3de/images/37_image.webp", + "/media/marta_maría_a3de/images/38_image.webp", + "/media/marta_maría_a3de/images/39_image.webp", + "/media/marta_maría_a3de/images/40_image.webp", + "/media/marta_maría_a3de/images/41_image.webp", + "/media/marta_maría_a3de/images/42_image.webp", + "/media/marta_maría_a3de/images/43_image.webp", + "/media/marta_maría_a3de/images/44_image.webp", + "/media/marta_maría_a3de/images/45_image.webp", + "/media/marta_maría_a3de/images/46_image.webp", + "/media/marta_maría_a3de/images/47_image.webp", + "/media/marta_maría_a3de/images/48_image.webp", + "/media/marta_maría_a3de/images/49_image.webp", + "/media/marta_maría_a3de/images/50_image.webp", + "/media/marta_maría_a3de/images/51_image.webp" + ], + "created_at": "2026-02-03T06:19:15.190912-07:00", + "dir_name": "marta_maría_a3de" +} \ No newline at end of file diff --git a/ideas/aeres/agents/martha_230e.json b/ideas/aeres/agents/martha_230e.json new file mode 100644 index 0000000..f2b236b --- /dev/null +++ b/ideas/aeres/agents/martha_230e.json @@ -0,0 +1,76 @@ +{ + "id": "martha_230e", + "name": "Martha Brown", + "handle": "martha", + "gender": "female", + "description": "bimbo red haired woman who is a fan of Real Madrid", + "tags": [ + "bimbo_barbie", + "real madrid c.f.", + "advanced pilates", + "haute couture", + "makeup artistry", + "interior design", + "wine tasting", + "tennis" + ], + "avatar_url": "/media/martha_230e/avatar.webp?t=1770128295", + "banner_url": "/media/martha_230e/banner.webp?t=1770128278", + "videos": [ + "/media/martha_230e/videos/01_smile_reveal.mp4?t=1770128365" + ], + "images": [ + "/media/martha_230e/images/01_mid_mid_neutral.webp", + "/media/martha_230e/images/02_image.webp", + "/media/martha_230e/images/03_image.webp", + "/media/martha_230e/images/04_image.webp", + "/media/martha_230e/images/05_image.webp", + "/media/martha_230e/images/06_image.webp", + "/media/martha_230e/images/07_image.webp", + "/media/martha_230e/images/08_image.webp", + "/media/martha_230e/images/09_image.webp", + "/media/martha_230e/images/10_image.webp", + "/media/martha_230e/images/11_image.webp", + "/media/martha_230e/images/13_image.webp", + "/media/martha_230e/images/14_image.webp", + "/media/martha_230e/images/15_image.webp", + "/media/martha_230e/images/16_image.webp", + "/media/martha_230e/images/17_image.webp", + "/media/martha_230e/images/18_image.webp", + "/media/martha_230e/images/19_image.webp", + "/media/martha_230e/images/20_image.webp", + "/media/martha_230e/images/21_image.webp", + "/media/martha_230e/images/22_image.webp", + "/media/martha_230e/images/23_image.webp", + "/media/martha_230e/images/24_image.webp", + "/media/martha_230e/images/25_image.webp", + "/media/martha_230e/images/26_image.webp", + "/media/martha_230e/images/27_image.webp", + "/media/martha_230e/images/28_image.webp", + "/media/martha_230e/images/29_image.webp", + "/media/martha_230e/images/30_image.webp", + "/media/martha_230e/images/31_image.webp", + "/media/martha_230e/images/32_image.webp", + "/media/martha_230e/images/33_image.webp", + "/media/martha_230e/images/34_image.webp", + "/media/martha_230e/images/35_image.webp", + "/media/martha_230e/images/36_image.webp", + "/media/martha_230e/images/37_image.webp", + "/media/martha_230e/images/38_image.webp", + "/media/martha_230e/images/39_image.webp", + "/media/martha_230e/images/40_image.webp", + "/media/martha_230e/images/41_image.webp", + "/media/martha_230e/images/42_image.webp", + "/media/martha_230e/images/43_image.webp", + "/media/martha_230e/images/44_image.webp", + "/media/martha_230e/images/45_image.webp", + "/media/martha_230e/images/46_image.webp", + "/media/martha_230e/images/47_image.webp", + "/media/martha_230e/images/48_image.webp", + "/media/martha_230e/images/49_image.webp", + "/media/martha_230e/images/50_image.webp", + "/media/martha_230e/images/51_image.webp" + ], + "created_at": "2026-02-03T07:16:39.184364-07:00", + "dir_name": "martha_230e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/martin_4d12.json b/ideas/aeres/agents/martin_4d12.json new file mode 100644 index 0000000..65df4d0 --- /dev/null +++ b/ideas/aeres/agents/martin_4d12.json @@ -0,0 +1,76 @@ +{ + "id": "martin_4d12", + "name": "Martin Williams", + "handle": "martin", + "gender": "male", + "description": "burning man, bay area, tech guy, fire pyrotechnics hobby, builds art out of metal", + "tags": [ + "the artist", + "tig welding", + "rust programming", + "generative art", + "canyon hiking", + "bouldering", + "specialty coffee", + "cyberpunk cinema" + ], + "avatar_url": "/media/martin_4d12/avatar.webp?t=1770106065", + "banner_url": "/media/martin_4d12/banner.webp?t=1770106084", + "videos": [ + "/media/martin_4d12/videos/01_smile_reveal.mp4?t=1770106100" + ], + "images": [ + "/media/martin_4d12/images/01_mid_mid_neutral.webp", + "/media/martin_4d12/images/02_image.webp", + "/media/martin_4d12/images/03_image.webp", + "/media/martin_4d12/images/04_image.webp", + "/media/martin_4d12/images/05_image.webp", + "/media/martin_4d12/images/06_image.webp", + "/media/martin_4d12/images/07_image.webp", + "/media/martin_4d12/images/08_image.webp", + "/media/martin_4d12/images/09_image.webp", + "/media/martin_4d12/images/10_image.webp", + "/media/martin_4d12/images/11_image.webp", + "/media/martin_4d12/images/12_image.webp", + "/media/martin_4d12/images/13_image.webp", + "/media/martin_4d12/images/14_image.webp", + "/media/martin_4d12/images/15_image.webp", + "/media/martin_4d12/images/16_image.webp", + "/media/martin_4d12/images/17_image.webp", + "/media/martin_4d12/images/18_image.webp", + "/media/martin_4d12/images/19_image.webp", + "/media/martin_4d12/images/20_image.webp", + "/media/martin_4d12/images/21_image.webp", + "/media/martin_4d12/images/22_image.webp", + "/media/martin_4d12/images/23_image.webp", + "/media/martin_4d12/images/24_image.webp", + "/media/martin_4d12/images/25_image.webp", + "/media/martin_4d12/images/26_image.webp", + "/media/martin_4d12/images/28_image.webp", + "/media/martin_4d12/images/29_image.webp", + "/media/martin_4d12/images/30_image.webp", + "/media/martin_4d12/images/31_image.webp", + "/media/martin_4d12/images/32_image.webp", + "/media/martin_4d12/images/33_image.webp", + "/media/martin_4d12/images/34_image.webp", + "/media/martin_4d12/images/35_image.webp", + "/media/martin_4d12/images/36_image.webp", + "/media/martin_4d12/images/37_image.webp", + "/media/martin_4d12/images/38_image.webp", + "/media/martin_4d12/images/39_image.webp", + "/media/martin_4d12/images/40_image.webp", + "/media/martin_4d12/images/41_image.webp", + "/media/martin_4d12/images/42_image.webp", + "/media/martin_4d12/images/43_image.webp", + "/media/martin_4d12/images/44_image.webp", + "/media/martin_4d12/images/45_image.webp", + "/media/martin_4d12/images/46_image.webp", + "/media/martin_4d12/images/47_image.webp", + "/media/martin_4d12/images/48_image.webp", + "/media/martin_4d12/images/49_image.webp", + "/media/martin_4d12/images/50_image.webp", + "/media/martin_4d12/images/51_image.webp" + ], + "created_at": "2026-02-03T01:06:33.223028-07:00", + "dir_name": "martin_4d12" +} \ No newline at end of file diff --git a/ideas/aeres/agents/martine_3da0.json b/ideas/aeres/agents/martine_3da0.json new file mode 100644 index 0000000..d3b494e --- /dev/null +++ b/ideas/aeres/agents/martine_3da0.json @@ -0,0 +1,78 @@ +{ + "id": "martine_3da0", + "name": "Martine Petit", + "handle": "martine", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , medium length hair, green eyes, is an airplane pilot, loves flying, age 27 , white", + "tags": [ + "career_fantasy", + "aviation", + "sailing", + "fencing", + "astrophysics", + "wine tasting", + "interior design", + "tennis" + ], + "avatar_url": "/media/martine_3da0/avatar.webp?t=1769172537", + "banner_url": "/media/martine_3da0/banner.webp?t=1769172491", + "videos": [ + "/media/martine_3da0/videos/01_smile_reveal.mp4?t=1769169609" + ], + "images": [ + "/media/martine_3da0/images/01_mid_mid_neutral.webp", + "/media/martine_3da0/images/02_image.webp", + "/media/martine_3da0/images/08_image.webp", + "/media/martine_3da0/images/10_image.webp", + "/media/martine_3da0/images/12_image.webp", + "/media/martine_3da0/images/13_image.webp", + "/media/martine_3da0/images/14_image.webp", + "/media/martine_3da0/images/15_image.webp", + "/media/martine_3da0/images/16_image.webp", + "/media/martine_3da0/images/17_image.webp", + "/media/martine_3da0/images/18_image.webp", + "/media/martine_3da0/images/19_image.webp", + "/media/martine_3da0/images/20_image.webp", + "/media/martine_3da0/images/21_image.webp", + "/media/martine_3da0/images/22_image.webp", + "/media/martine_3da0/images/23_image.webp", + "/media/martine_3da0/images/24_image.webp", + "/media/martine_3da0/images/25_image.webp", + "/media/martine_3da0/images/26_image.webp", + "/media/martine_3da0/images/27_image.webp", + "/media/martine_3da0/images/28_image.webp", + "/media/martine_3da0/images/29_image.webp", + "/media/martine_3da0/images/30_image.webp", + "/media/martine_3da0/images/31_image.webp", + "/media/martine_3da0/images/32_image.webp", + "/media/martine_3da0/images/33_image.webp", + "/media/martine_3da0/images/34_image.webp", + "/media/martine_3da0/images/35_image.webp", + "/media/martine_3da0/images/36_image.webp", + "/media/martine_3da0/images/37_image.webp", + "/media/martine_3da0/images/38_image.webp", + "/media/martine_3da0/images/39_image.webp", + "/media/martine_3da0/images/40_image.webp", + "/media/martine_3da0/images/41_image.webp", + "/media/martine_3da0/images/42_image.webp", + "/media/martine_3da0/images/43_image.webp", + "/media/martine_3da0/images/44_image.webp", + "/media/martine_3da0/images/45_image.webp", + "/media/martine_3da0/images/46_image.webp", + "/media/martine_3da0/images/47_image.webp", + "/media/martine_3da0/images/49_image.webp", + "/media/martine_3da0/images/50_image.webp", + "/media/martine_3da0/images/51_image.webp", + "/media/martine_3da0/images/53_image.webp", + "/media/martine_3da0/images/54_image.webp", + "/media/martine_3da0/images/55_image.webp", + "/media/martine_3da0/images/56_image.webp", + "/media/martine_3da0/images/57_image.webp", + "/media/martine_3da0/images/58_image.webp", + "/media/martine_3da0/images/59_image.webp", + "/media/martine_3da0/images/60_image.webp", + "/media/martine_3da0/images/61_image.webp" + ], + "created_at": "2026-01-23T04:58:20.179569-07:00", + "dir_name": "martine_3da0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mary_08de.json b/ideas/aeres/agents/mary_08de.json new file mode 100644 index 0000000..a7363c3 --- /dev/null +++ b/ideas/aeres/agents/mary_08de.json @@ -0,0 +1,76 @@ +{ + "id": "mary_08de", + "name": "Mary Davis", + "handle": "mary", + "gender": "female", + "description": "Lady Dimitrescu from Resident Evil Village", + "tags": [ + "vampire_mistress", + "victorian mourning jewelry", + "fencing", + "classical piano", + "rare wine collecting", + "architecture", + "horseback riding", + "ancient languages" + ], + "avatar_url": "/media/mary_08de/avatar.webp?t=1769690288", + "banner_url": "/media/mary_08de/banner.webp?t=1769690287", + "videos": [ + "/media/mary_08de/videos/01_smile_reveal.mp4?t=1769690329" + ], + "images": [ + "/media/mary_08de/images/01_mid_mid_neutral.webp", + "/media/mary_08de/images/02_image.webp", + "/media/mary_08de/images/03_image.webp", + "/media/mary_08de/images/04_image.webp", + "/media/mary_08de/images/05_image.webp", + "/media/mary_08de/images/06_image.webp", + "/media/mary_08de/images/07_image.webp", + "/media/mary_08de/images/08_image.webp", + "/media/mary_08de/images/09_image.webp", + "/media/mary_08de/images/10_image.webp", + "/media/mary_08de/images/11_image.webp", + "/media/mary_08de/images/12_image.webp", + "/media/mary_08de/images/13_image.webp", + "/media/mary_08de/images/14_image.webp", + "/media/mary_08de/images/15_image.webp", + "/media/mary_08de/images/16_image.webp", + "/media/mary_08de/images/17_image.webp", + "/media/mary_08de/images/18_image.webp", + "/media/mary_08de/images/19_image.webp", + "/media/mary_08de/images/20_image.webp", + "/media/mary_08de/images/21_image.webp", + "/media/mary_08de/images/22_image.webp", + "/media/mary_08de/images/23_image.webp", + "/media/mary_08de/images/24_image.webp", + "/media/mary_08de/images/25_image.webp", + "/media/mary_08de/images/26_image.webp", + "/media/mary_08de/images/28_image.webp", + "/media/mary_08de/images/29_image.webp", + "/media/mary_08de/images/30_image.webp", + "/media/mary_08de/images/31_image.webp", + "/media/mary_08de/images/32_image.webp", + "/media/mary_08de/images/33_image.webp", + "/media/mary_08de/images/34_image.webp", + "/media/mary_08de/images/35_image.webp", + "/media/mary_08de/images/36_image.webp", + "/media/mary_08de/images/37_image.webp", + "/media/mary_08de/images/38_image.webp", + "/media/mary_08de/images/39_image.webp", + "/media/mary_08de/images/40_image.webp", + "/media/mary_08de/images/41_image.webp", + "/media/mary_08de/images/42_image.webp", + "/media/mary_08de/images/43_image.webp", + "/media/mary_08de/images/44_image.webp", + "/media/mary_08de/images/45_image.webp", + "/media/mary_08de/images/46_image.webp", + "/media/mary_08de/images/47_image.webp", + "/media/mary_08de/images/48_image.webp", + "/media/mary_08de/images/49_image.webp", + "/media/mary_08de/images/50_image.webp", + "/media/mary_08de/images/51_image.webp" + ], + "created_at": "2026-01-29T05:36:36.335417-07:00", + "dir_name": "mary_08de" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mary_641b.json b/ideas/aeres/agents/mary_641b.json new file mode 100644 index 0000000..46fd123 --- /dev/null +++ b/ideas/aeres/agents/mary_641b.json @@ -0,0 +1,75 @@ +{ + "id": "mary_641b", + "name": "Mary Miller", + "handle": "mary", + "gender": "female", + "description": "nerdy woman who likes harry potter and star wars", + "tags": [ + "intellectual", + "iconic fantasy", + "sci-fi universes", + "book restoration", + "tabletop rpgs", + "botanical illustration", + "stargazing", + "baking sourdough" + ], + "avatar_url": "/media/mary_641b/avatar.webp?t=1769068883", + "banner_url": "/media/mary_641b/banner.webp?t=1769068885", + "videos": [ + "/media/mary_641b/videos/01_smile_reveal.mp4?t=1769068917" + ], + "images": [ + "/media/mary_641b/images/01_mid_mid_neutral.webp", + "/media/mary_641b/images/02_image.webp", + "/media/mary_641b/images/03_image.webp", + "/media/mary_641b/images/04_image.webp", + "/media/mary_641b/images/05_image.webp", + "/media/mary_641b/images/07_image.webp", + "/media/mary_641b/images/08_image.webp", + "/media/mary_641b/images/09_image.webp", + "/media/mary_641b/images/10_image.webp", + "/media/mary_641b/images/11_image.webp", + "/media/mary_641b/images/12_image.webp", + "/media/mary_641b/images/13_image.webp", + "/media/mary_641b/images/14_image.webp", + "/media/mary_641b/images/15_image.webp", + "/media/mary_641b/images/16_image.webp", + "/media/mary_641b/images/17_image.webp", + "/media/mary_641b/images/18_image.webp", + "/media/mary_641b/images/19_image.webp", + "/media/mary_641b/images/20_image.webp", + "/media/mary_641b/images/21_image.webp", + "/media/mary_641b/images/22_image.webp", + "/media/mary_641b/images/23_image.webp", + "/media/mary_641b/images/24_image.webp", + "/media/mary_641b/images/25_image.webp", + "/media/mary_641b/images/26_image.webp", + "/media/mary_641b/images/27_image.webp", + "/media/mary_641b/images/28_image.webp", + "/media/mary_641b/images/29_image.webp", + "/media/mary_641b/images/30_image.webp", + "/media/mary_641b/images/31_image.webp", + "/media/mary_641b/images/32_image.webp", + "/media/mary_641b/images/33_image.webp", + "/media/mary_641b/images/35_image.webp", + "/media/mary_641b/images/36_image.webp", + "/media/mary_641b/images/37_image.webp", + "/media/mary_641b/images/38_image.webp", + "/media/mary_641b/images/39_image.webp", + "/media/mary_641b/images/40_image.webp", + "/media/mary_641b/images/41_image.webp", + "/media/mary_641b/images/42_image.webp", + "/media/mary_641b/images/43_image.webp", + "/media/mary_641b/images/44_image.webp", + "/media/mary_641b/images/45_image.webp", + "/media/mary_641b/images/46_image.webp", + "/media/mary_641b/images/47_image.webp", + "/media/mary_641b/images/48_image.webp", + "/media/mary_641b/images/49_image.webp", + "/media/mary_641b/images/50_image.webp", + "/media/mary_641b/images/51_image.webp" + ], + "created_at": "2026-01-22T01:00:12.444884-07:00", + "dir_name": "mary_641b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mary_9cbf.json b/ideas/aeres/agents/mary_9cbf.json new file mode 100644 index 0000000..53fed61 --- /dev/null +++ b/ideas/aeres/agents/mary_9cbf.json @@ -0,0 +1,74 @@ +{ + "id": "mary_9cbf", + "name": "Mary Gonzalez", + "handle": "mary", + "gender": "female", + "description": "woman with dark hair who works as a waiter", + "tags": [ + "barista_gf", + "latte art", + "indoor gardening", + "baking pan dulce", + "true crime podcasts", + "thrift shopping", + "local baseball games" + ], + "avatar_url": "/media/mary_9cbf/avatar.webp?t=1769418967", + "banner_url": "/media/mary_9cbf/banner.webp?t=1769418956", + "videos": [ + "/media/mary_9cbf/videos/01_smile_reveal.mp4?t=1769419001" + ], + "images": [ + "/media/mary_9cbf/images/01_mid_mid_neutral.webp", + "/media/mary_9cbf/images/02_image.webp", + "/media/mary_9cbf/images/03_image.webp", + "/media/mary_9cbf/images/04_image.webp", + "/media/mary_9cbf/images/05_image.webp", + "/media/mary_9cbf/images/06_image.webp", + "/media/mary_9cbf/images/07_image.webp", + "/media/mary_9cbf/images/08_image.webp", + "/media/mary_9cbf/images/09_image.webp", + "/media/mary_9cbf/images/10_image.webp", + "/media/mary_9cbf/images/11_image.webp", + "/media/mary_9cbf/images/12_image.webp", + "/media/mary_9cbf/images/13_image.webp", + "/media/mary_9cbf/images/14_image.webp", + "/media/mary_9cbf/images/15_image.webp", + "/media/mary_9cbf/images/16_image.webp", + "/media/mary_9cbf/images/17_image.webp", + "/media/mary_9cbf/images/18_image.webp", + "/media/mary_9cbf/images/19_image.webp", + "/media/mary_9cbf/images/20_image.webp", + "/media/mary_9cbf/images/21_image.webp", + "/media/mary_9cbf/images/22_image.webp", + "/media/mary_9cbf/images/24_image.webp", + "/media/mary_9cbf/images/25_image.webp", + "/media/mary_9cbf/images/26_image.webp", + "/media/mary_9cbf/images/27_image.webp", + "/media/mary_9cbf/images/28_image.webp", + "/media/mary_9cbf/images/29_image.webp", + "/media/mary_9cbf/images/30_image.webp", + "/media/mary_9cbf/images/31_image.webp", + "/media/mary_9cbf/images/32_image.webp", + "/media/mary_9cbf/images/33_image.webp", + "/media/mary_9cbf/images/35_image.webp", + "/media/mary_9cbf/images/36_image.webp", + "/media/mary_9cbf/images/37_image.webp", + "/media/mary_9cbf/images/38_image.webp", + "/media/mary_9cbf/images/39_image.webp", + "/media/mary_9cbf/images/40_image.webp", + "/media/mary_9cbf/images/41_image.webp", + "/media/mary_9cbf/images/42_image.webp", + "/media/mary_9cbf/images/43_image.webp", + "/media/mary_9cbf/images/44_image.webp", + "/media/mary_9cbf/images/45_image.webp", + "/media/mary_9cbf/images/46_image.webp", + "/media/mary_9cbf/images/47_image.webp", + "/media/mary_9cbf/images/48_image.webp", + "/media/mary_9cbf/images/49_image.webp", + "/media/mary_9cbf/images/50_image.webp", + "/media/mary_9cbf/images/51_image.webp" + ], + "created_at": "2026-01-26T02:14:41.725122-07:00", + "dir_name": "mary_9cbf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/marzia_4137.json b/ideas/aeres/agents/marzia_4137.json new file mode 100644 index 0000000..4227a04 --- /dev/null +++ b/ideas/aeres/agents/marzia_4137.json @@ -0,0 +1,77 @@ +{ + "id": "marzia_4137", + "name": "Marzia Esposito", + "handle": "marzia", + "gender": "female", + "description": "1970's Stevie Nicks vibe, long layered flowy skirts, duster, chain jewelry, red hair, moon goddess, lace,", + "tags": [ + "witch_aesthetic", + "tarot reading", + "velvet textile restoration", + "astro-cartography", + "vinyl collecting", + "bird watching", + "italian cooking", + "boutique perfumery" + ], + "avatar_url": "/media/marzia_4137/avatar.webp?t=1769677583", + "banner_url": "/media/marzia_4137/banner.webp?t=1769677581", + "videos": [ + "/media/marzia_4137/videos/01_smile_reveal.mp4?t=1769677612" + ], + "images": [ + "/media/marzia_4137/images/01_mid_mid_neutral.webp", + "/media/marzia_4137/images/02_image.webp", + "/media/marzia_4137/images/03_image.webp", + "/media/marzia_4137/images/04_image.webp", + "/media/marzia_4137/images/05_image.webp", + "/media/marzia_4137/images/06_image.webp", + "/media/marzia_4137/images/07_image.webp", + "/media/marzia_4137/images/08_image.webp", + "/media/marzia_4137/images/09_image.webp", + "/media/marzia_4137/images/10_image.webp", + "/media/marzia_4137/images/11_image.webp", + "/media/marzia_4137/images/12_image.webp", + "/media/marzia_4137/images/13_image.webp", + "/media/marzia_4137/images/14_image.webp", + "/media/marzia_4137/images/15_image.webp", + "/media/marzia_4137/images/16_image.webp", + "/media/marzia_4137/images/17_image.webp", + "/media/marzia_4137/images/18_image.webp", + "/media/marzia_4137/images/19_image.webp", + "/media/marzia_4137/images/20_image.webp", + "/media/marzia_4137/images/21_image.webp", + "/media/marzia_4137/images/22_image.webp", + "/media/marzia_4137/images/23_image.webp", + "/media/marzia_4137/images/24_image.webp", + "/media/marzia_4137/images/25_image.webp", + "/media/marzia_4137/images/26_image.webp", + "/media/marzia_4137/images/27_image.webp", + "/media/marzia_4137/images/28_image.webp", + "/media/marzia_4137/images/29_image.webp", + "/media/marzia_4137/images/30_image.webp", + "/media/marzia_4137/images/31_image.webp", + "/media/marzia_4137/images/32_image.webp", + "/media/marzia_4137/images/33_image.webp", + "/media/marzia_4137/images/34_image.webp", + "/media/marzia_4137/images/35_image.webp", + "/media/marzia_4137/images/36_image.webp", + "/media/marzia_4137/images/37_image.webp", + "/media/marzia_4137/images/38_image.webp", + "/media/marzia_4137/images/39_image.webp", + "/media/marzia_4137/images/40_image.webp", + "/media/marzia_4137/images/41_image.webp", + "/media/marzia_4137/images/42_image.webp", + "/media/marzia_4137/images/43_image.webp", + "/media/marzia_4137/images/44_image.webp", + "/media/marzia_4137/images/45_image.webp", + "/media/marzia_4137/images/46_image.webp", + "/media/marzia_4137/images/47_image.webp", + "/media/marzia_4137/images/48_image.webp", + "/media/marzia_4137/images/49_image.webp", + "/media/marzia_4137/images/50_image.webp", + "/media/marzia_4137/images/51_image.webp" + ], + "created_at": "2026-01-29T02:04:54.356663-07:00", + "dir_name": "marzia_4137" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maría_de_los_ángeles_a869.json b/ideas/aeres/agents/maría_de_los_ángeles_a869.json new file mode 100644 index 0000000..3f01366 --- /dev/null +++ b/ideas/aeres/agents/maría_de_los_ángeles_a869.json @@ -0,0 +1,74 @@ +{ + "id": "maría_de_los_ángeles_a869", + "name": "María de los Ángeles Ramirez", + "handle": "maría de los ángeles", + "gender": "female", + "description": "roller derby, goth girl, with tattoos, piercings, rockabilly vibe, pin up, grease monkey, mechanic, old cars,", + "tags": [ + "punk_girl", + "classic car restoration", + "flat-track roller derby", + "vinyl collecting", + "welding", + "brewing kombucha", + "thrifting vintage furniture", + "darts" + ], + "avatar_url": "/media/maría_de_los_ángeles_a869/avatar.webp?t=1769117821", + "banner_url": "/media/maría_de_los_ángeles_a869/banner.webp?t=1769126557", + "images": [ + "/media/maría_de_los_ángeles_a869/images/01_mid_mid_neutral.webp", + "/media/maría_de_los_ángeles_a869/images/02_image.webp", + "/media/maría_de_los_ángeles_a869/images/03_image.webp", + "/media/maría_de_los_ángeles_a869/images/04_image.webp", + "/media/maría_de_los_ángeles_a869/images/05_image.webp", + "/media/maría_de_los_ángeles_a869/images/06_image.webp", + "/media/maría_de_los_ángeles_a869/images/07_image.webp", + "/media/maría_de_los_ángeles_a869/images/08_image.webp", + "/media/maría_de_los_ángeles_a869/images/09_image.webp", + "/media/maría_de_los_ángeles_a869/images/10_image.webp", + "/media/maría_de_los_ángeles_a869/images/11_image.webp", + "/media/maría_de_los_ángeles_a869/images/12_image.webp", + "/media/maría_de_los_ángeles_a869/images/13_image.webp", + "/media/maría_de_los_ángeles_a869/images/14_image.webp", + "/media/maría_de_los_ángeles_a869/images/15_image.webp", + "/media/maría_de_los_ángeles_a869/images/16_image.webp", + "/media/maría_de_los_ángeles_a869/images/17_image.webp", + "/media/maría_de_los_ángeles_a869/images/18_image.webp", + "/media/maría_de_los_ángeles_a869/images/19_image.webp", + "/media/maría_de_los_ángeles_a869/images/20_image.webp", + "/media/maría_de_los_ángeles_a869/images/21_image.webp", + "/media/maría_de_los_ángeles_a869/images/22_image.webp", + "/media/maría_de_los_ángeles_a869/images/22_image.webp", + "/media/maría_de_los_ángeles_a869/images/22_image.webp", + "/media/maría_de_los_ángeles_a869/images/23_image.webp", + "/media/maría_de_los_ángeles_a869/images/23_image.webp", + "/media/maría_de_los_ángeles_a869/images/23_image.webp", + "/media/maría_de_los_ángeles_a869/images/24_image.webp", + "/media/maría_de_los_ángeles_a869/images/24_image.webp", + "/media/maría_de_los_ángeles_a869/images/24_image.webp", + "/media/maría_de_los_ángeles_a869/images/25_image.webp", + "/media/maría_de_los_ángeles_a869/images/25_image.webp", + "/media/maría_de_los_ángeles_a869/images/25_image.webp", + "/media/maría_de_los_ángeles_a869/images/26_image.webp", + "/media/maría_de_los_ángeles_a869/images/26_image.webp", + "/media/maría_de_los_ángeles_a869/images/26_image.webp", + "/media/maría_de_los_ángeles_a869/images/27_image.webp", + "/media/maría_de_los_ángeles_a869/images/27_image.webp", + "/media/maría_de_los_ángeles_a869/images/27_image.webp", + "/media/maría_de_los_ángeles_a869/images/28_image.webp", + "/media/maría_de_los_ángeles_a869/images/28_image.webp", + "/media/maría_de_los_ángeles_a869/images/28_image.webp", + "/media/maría_de_los_ángeles_a869/images/29_image.webp", + "/media/maría_de_los_ángeles_a869/images/29_image.webp", + "/media/maría_de_los_ángeles_a869/images/29_image.webp", + "/media/maría_de_los_ángeles_a869/images/30_image.webp", + "/media/maría_de_los_ángeles_a869/images/30_image.webp", + "/media/maría_de_los_ángeles_a869/images/30_image.webp", + "/media/maría_de_los_ángeles_a869/images/31_image.webp", + "/media/maría_de_los_ángeles_a869/images/31_image.webp", + "/media/maría_de_los_ángeles_a869/images/31_image.webp" + ], + "created_at": "2026-01-22T14:36:00.568376-07:00", + "dir_name": "maría_de_los_ángeles_a869" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maría_de_los_ángeles_ee1b.json b/ideas/aeres/agents/maría_de_los_ángeles_ee1b.json new file mode 100644 index 0000000..b488c39 --- /dev/null +++ b/ideas/aeres/agents/maría_de_los_ángeles_ee1b.json @@ -0,0 +1,76 @@ +{ + "id": "maría_de_los_ángeles_ee1b", + "name": "María de los Ángeles Mendoza", + "handle": "maría de los ángeles", + "gender": "female", + "description": "21 year old filipina hula dancer, slam poetry, jabbawockeez fan, karaoke singer", + "tags": [ + "artist", + "spoken word poetry", + "contemporary folk dance", + "digital illustration", + "vinyl collecting", + "urban gardening", + "cooking traditional bicolano dishes", + "photography" + ], + "avatar_url": "/media/maría_de_los_ángeles_ee1b/avatar.webp?t=1769205407", + "banner_url": "/media/maría_de_los_ángeles_ee1b/banner.webp?t=1769414805", + "videos": [ + "/media/maría_de_los_ángeles_ee1b/videos/01_smile_reveal.mp4?t=1769205446" + ], + "images": [ + "/media/maría_de_los_ángeles_ee1b/images/01_mid_mid_neutral.webp", + "/media/maría_de_los_ángeles_ee1b/images/02_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/03_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/04_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/05_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/06_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/07_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/08_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/09_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/10_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/11_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/12_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/13_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/14_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/15_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/16_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/17_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/18_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/19_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/20_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/21_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/22_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/23_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/24_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/25_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/26_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/27_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/28_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/29_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/30_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/31_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/32_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/33_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/34_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/35_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/36_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/37_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/38_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/39_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/40_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/41_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/42_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/44_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/45_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/46_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/47_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/48_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/49_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/50_image.webp", + "/media/maría_de_los_ángeles_ee1b/images/51_image.webp" + ], + "created_at": "2026-01-23T14:55:33.047604-07:00", + "dir_name": "maría_de_los_ángeles_ee1b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maría_de_los_ángeles_jennifer_a592.json b/ideas/aeres/agents/maría_de_los_ángeles_jennifer_a592.json new file mode 100644 index 0000000..b627cac --- /dev/null +++ b/ideas/aeres/agents/maría_de_los_ángeles_jennifer_a592.json @@ -0,0 +1,75 @@ +{ + "id": "maría_de_los_ángeles_jennifer_a592", + "name": "María de los Ángeles Jennifer Rodriguez", + "handle": "maría de los ángeles jennifer", + "gender": "female", + "description": "woman from Chile who works as a secretary", + "tags": [ + "career_fantasy", + "logistics optimization", + "interior design", + "gourmet cooking", + "pilates", + "classical music", + "gardening" + ], + "avatar_url": "/media/maría_de_los_ángeles_jennifer_a592/avatar.webp?t=1769761811", + "banner_url": "/media/maría_de_los_ángeles_jennifer_a592/banner.webp?t=1769761814", + "videos": [ + "/media/maría_de_los_ángeles_jennifer_a592/videos/01_smile_reveal.mp4?t=1769761847" + ], + "images": [ + "/media/maría_de_los_ángeles_jennifer_a592/images/01_mid_mid_neutral.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/02_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/03_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/04_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/05_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/06_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/07_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/08_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/09_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/10_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/11_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/12_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/11_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/13_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/14_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/15_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/16_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/17_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/18_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/19_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/14_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/20_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/21_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/15_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/22_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/16_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/17_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/23_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/24_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/18_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/19_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/25_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/20_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/21_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/22_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/26_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/27_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/28_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/29_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/30_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/26_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/31_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/27_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/32_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/28_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/33_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/34_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/35_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/29_image.webp", + "/media/maría_de_los_ángeles_jennifer_a592/images/30_image.webp" + ], + "created_at": "2026-01-30T01:28:33.722524-07:00", + "dir_name": "maría_de_los_ángeles_jennifer_a592" +} \ No newline at end of file diff --git a/ideas/aeres/agents/masahiro_b439.json b/ideas/aeres/agents/masahiro_b439.json new file mode 100644 index 0000000..6cfee51 --- /dev/null +++ b/ideas/aeres/agents/masahiro_b439.json @@ -0,0 +1,75 @@ +{ + "id": "masahiro_b439", + "name": "Masahiro Watanabe", + "handle": "masahiro", + "gender": "male", + "description": "male from Taiwan who is a climber", + "tags": [ + "adventurous", + "rock climbing", + "outdoor photography", + "mountain biking", + "coffee brewing", + "tech gadgets", + "cooking ramen" + ], + "avatar_url": "/media/masahiro_b439/avatar.webp?t=1769769743", + "banner_url": "/media/masahiro_b439/banner.webp?t=1769769758", + "videos": [ + "/media/masahiro_b439/videos/01_smile_reveal.mp4?t=1769769791" + ], + "images": [ + "/media/masahiro_b439/images/01_mid_mid_neutral.webp", + "/media/masahiro_b439/images/02_image.webp", + "/media/masahiro_b439/images/03_image.webp", + "/media/masahiro_b439/images/04_image.webp", + "/media/masahiro_b439/images/05_image.webp", + "/media/masahiro_b439/images/06_image.webp", + "/media/masahiro_b439/images/07_image.webp", + "/media/masahiro_b439/images/08_image.webp", + "/media/masahiro_b439/images/09_image.webp", + "/media/masahiro_b439/images/10_image.webp", + "/media/masahiro_b439/images/11_image.webp", + "/media/masahiro_b439/images/13_image.webp", + "/media/masahiro_b439/images/14_image.webp", + "/media/masahiro_b439/images/15_image.webp", + "/media/masahiro_b439/images/16_image.webp", + "/media/masahiro_b439/images/17_image.webp", + "/media/masahiro_b439/images/18_image.webp", + "/media/masahiro_b439/images/19_image.webp", + "/media/masahiro_b439/images/20_image.webp", + "/media/masahiro_b439/images/21_image.webp", + "/media/masahiro_b439/images/22_image.webp", + "/media/masahiro_b439/images/23_image.webp", + "/media/masahiro_b439/images/24_image.webp", + "/media/masahiro_b439/images/25_image.webp", + "/media/masahiro_b439/images/26_image.webp", + "/media/masahiro_b439/images/27_image.webp", + "/media/masahiro_b439/images/28_image.webp", + "/media/masahiro_b439/images/29_image.webp", + "/media/masahiro_b439/images/30_image.webp", + "/media/masahiro_b439/images/31_image.webp", + "/media/masahiro_b439/images/32_image.webp", + "/media/masahiro_b439/images/33_image.webp", + "/media/masahiro_b439/images/34_image.webp", + "/media/masahiro_b439/images/35_image.webp", + "/media/masahiro_b439/images/36_image.webp", + "/media/masahiro_b439/images/37_image.webp", + "/media/masahiro_b439/images/38_image.webp", + "/media/masahiro_b439/images/39_image.webp", + "/media/masahiro_b439/images/40_image.webp", + "/media/masahiro_b439/images/41_image.webp", + "/media/masahiro_b439/images/42_image.webp", + "/media/masahiro_b439/images/43_image.webp", + "/media/masahiro_b439/images/44_image.webp", + "/media/masahiro_b439/images/45_image.webp", + "/media/masahiro_b439/images/46_image.webp", + "/media/masahiro_b439/images/47_image.webp", + "/media/masahiro_b439/images/48_image.webp", + "/media/masahiro_b439/images/49_image.webp", + "/media/masahiro_b439/images/50_image.webp", + "/media/masahiro_b439/images/51_image.webp" + ], + "created_at": "2026-01-30T03:41:20.834593-07:00", + "dir_name": "masahiro_b439" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mateo_82bc.json b/ideas/aeres/agents/mateo_82bc.json new file mode 100644 index 0000000..4226c0a --- /dev/null +++ b/ideas/aeres/agents/mateo_82bc.json @@ -0,0 +1,76 @@ +{ + "id": "mateo_82bc", + "name": "Mateo Estrada", + "handle": "mateo", + "gender": "male", + "description": "baseball player, cuban, 28 years old, new york yankees, career baseball , competitive, athletic", + "tags": [ + "athletic", + "high-performance training", + "nutritional science", + "luxury watches", + "latin jazz", + "golfing", + "real estate investment", + "espresso making" + ], + "avatar_url": "/media/mateo_82bc/avatar.webp?t=1769770134", + "banner_url": "/media/mateo_82bc/banner.webp?t=1769770130", + "videos": [ + "/media/mateo_82bc/videos/01_smile_reveal.mp4?t=1769770165" + ], + "images": [ + "/media/mateo_82bc/images/01_mid_mid_neutral.webp", + "/media/mateo_82bc/images/02_image.webp", + "/media/mateo_82bc/images/03_image.webp", + "/media/mateo_82bc/images/04_image.webp", + "/media/mateo_82bc/images/05_image.webp", + "/media/mateo_82bc/images/06_image.webp", + "/media/mateo_82bc/images/07_image.webp", + "/media/mateo_82bc/images/08_image.webp", + "/media/mateo_82bc/images/09_image.webp", + "/media/mateo_82bc/images/10_image.webp", + "/media/mateo_82bc/images/11_image.webp", + "/media/mateo_82bc/images/12_image.webp", + "/media/mateo_82bc/images/13_image.webp", + "/media/mateo_82bc/images/14_image.webp", + "/media/mateo_82bc/images/15_image.webp", + "/media/mateo_82bc/images/16_image.webp", + "/media/mateo_82bc/images/17_image.webp", + "/media/mateo_82bc/images/18_image.webp", + "/media/mateo_82bc/images/19_image.webp", + "/media/mateo_82bc/images/20_image.webp", + "/media/mateo_82bc/images/21_image.webp", + "/media/mateo_82bc/images/22_image.webp", + "/media/mateo_82bc/images/23_image.webp", + "/media/mateo_82bc/images/24_image.webp", + "/media/mateo_82bc/images/25_image.webp", + "/media/mateo_82bc/images/26_image.webp", + "/media/mateo_82bc/images/27_image.webp", + "/media/mateo_82bc/images/28_image.webp", + "/media/mateo_82bc/images/29_image.webp", + "/media/mateo_82bc/images/30_image.webp", + "/media/mateo_82bc/images/31_image.webp", + "/media/mateo_82bc/images/32_image.webp", + "/media/mateo_82bc/images/33_image.webp", + "/media/mateo_82bc/images/34_image.webp", + "/media/mateo_82bc/images/35_image.webp", + "/media/mateo_82bc/images/36_image.webp", + "/media/mateo_82bc/images/37_image.webp", + "/media/mateo_82bc/images/38_image.webp", + "/media/mateo_82bc/images/39_image.webp", + "/media/mateo_82bc/images/40_image.webp", + "/media/mateo_82bc/images/41_image.webp", + "/media/mateo_82bc/images/42_image.webp", + "/media/mateo_82bc/images/43_image.webp", + "/media/mateo_82bc/images/44_image.webp", + "/media/mateo_82bc/images/45_image.webp", + "/media/mateo_82bc/images/46_image.webp", + "/media/mateo_82bc/images/47_image.webp", + "/media/mateo_82bc/images/48_image.webp", + "/media/mateo_82bc/images/49_image.webp", + "/media/mateo_82bc/images/50_image.webp" + ], + "created_at": "2026-01-30T03:47:30.632537-07:00", + "dir_name": "mateo_82bc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mateo_d381.json b/ideas/aeres/agents/mateo_d381.json new file mode 100644 index 0000000..decacc4 --- /dev/null +++ b/ideas/aeres/agents/mateo_d381.json @@ -0,0 +1,77 @@ +{ + "id": "mateo_d381", + "name": "Mateo Santiago", + "handle": "mateo", + "gender": "male", + "description": "latino, 30's, cool, popular, friendly, flirty", + "tags": [ + "social_butterfly", + "mixology", + "sailing", + "contemporary art", + "architecture", + "padel tennis", + "vinyl collecting", + "photography" + ], + "avatar_url": "/media/mateo_d381/avatar.webp?t=1769584328", + "banner_url": "/media/mateo_d381/banner.webp?t=1769584315", + "videos": [ + "/media/mateo_d381/videos/01_smile_reveal.mp4?t=1769552549" + ], + "images": [ + "/media/mateo_d381/images/01_mid_mid_neutral.webp", + "/media/mateo_d381/images/02_image.webp", + "/media/mateo_d381/images/03_image.webp", + "/media/mateo_d381/images/04_image.webp", + "/media/mateo_d381/images/05_image.webp", + "/media/mateo_d381/images/06_image.webp", + "/media/mateo_d381/images/07_image.webp", + "/media/mateo_d381/images/08_image.webp", + "/media/mateo_d381/images/09_image.webp", + "/media/mateo_d381/images/10_image.webp", + "/media/mateo_d381/images/11_image.webp", + "/media/mateo_d381/images/12_image.webp", + "/media/mateo_d381/images/13_image.webp", + "/media/mateo_d381/images/14_image.webp", + "/media/mateo_d381/images/15_image.webp", + "/media/mateo_d381/images/16_image.webp", + "/media/mateo_d381/images/17_image.webp", + "/media/mateo_d381/images/18_image.webp", + "/media/mateo_d381/images/19_image.webp", + "/media/mateo_d381/images/20_image.webp", + "/media/mateo_d381/images/21_image.webp", + "/media/mateo_d381/images/22_image.webp", + "/media/mateo_d381/images/23_image.webp", + "/media/mateo_d381/images/24_image.webp", + "/media/mateo_d381/images/25_image.webp", + "/media/mateo_d381/images/26_image.webp", + "/media/mateo_d381/images/27_image.webp", + "/media/mateo_d381/images/28_image.webp", + "/media/mateo_d381/images/29_image.webp", + "/media/mateo_d381/images/30_image.webp", + "/media/mateo_d381/images/31_image.webp", + "/media/mateo_d381/images/32_image.webp", + "/media/mateo_d381/images/33_image.webp", + "/media/mateo_d381/images/34_image.webp", + "/media/mateo_d381/images/35_image.webp", + "/media/mateo_d381/images/36_image.webp", + "/media/mateo_d381/images/37_image.webp", + "/media/mateo_d381/images/38_image.webp", + "/media/mateo_d381/images/39_image.webp", + "/media/mateo_d381/images/40_image.webp", + "/media/mateo_d381/images/41_image.webp", + "/media/mateo_d381/images/42_image.webp", + "/media/mateo_d381/images/43_image.webp", + "/media/mateo_d381/images/44_image.webp", + "/media/mateo_d381/images/45_image.webp", + "/media/mateo_d381/images/46_image.webp", + "/media/mateo_d381/images/47_image.webp", + "/media/mateo_d381/images/48_image.webp", + "/media/mateo_d381/images/49_image.webp", + "/media/mateo_d381/images/50_image.webp", + "/media/mateo_d381/images/51_image.webp" + ], + "created_at": "2026-01-27T15:20:42.274193-07:00", + "dir_name": "mateo_d381" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mateo_db5b.json b/ideas/aeres/agents/mateo_db5b.json new file mode 100644 index 0000000..4c694b0 --- /dev/null +++ b/ideas/aeres/agents/mateo_db5b.json @@ -0,0 +1,77 @@ +{ + "id": "mateo_db5b", + "name": "Mateo Alejandro", + "handle": "mateo", + "gender": "male", + "description": "sexy hot tall slender, very pretty face , long hair, latino man, owns a cafe in Baha mexico, enjoys soccer", + "tags": [ + "mysterious_stranger", + "coastal architecture", + "longboard surfing", + "mezcal tasting", + "analog photography", + "spanish guitar", + "desert botany", + "restoring vintage land rovers" + ], + "avatar_url": "/media/mateo_db5b/avatar.webp?t=1769176038", + "banner_url": "/media/mateo_db5b/banner.webp?t=1769176044", + "videos": [ + "/media/mateo_db5b/videos/01_smile_reveal.mp4?t=1769176079" + ], + "images": [ + "/media/mateo_db5b/images/01_mid_mid_neutral.webp", + "/media/mateo_db5b/images/02_image.webp", + "/media/mateo_db5b/images/03_image.webp", + "/media/mateo_db5b/images/04_image.webp", + "/media/mateo_db5b/images/05_image.webp", + "/media/mateo_db5b/images/06_image.webp", + "/media/mateo_db5b/images/07_image.webp", + "/media/mateo_db5b/images/08_image.webp", + "/media/mateo_db5b/images/09_image.webp", + "/media/mateo_db5b/images/10_image.webp", + "/media/mateo_db5b/images/11_image.webp", + "/media/mateo_db5b/images/12_image.webp", + "/media/mateo_db5b/images/13_image.webp", + "/media/mateo_db5b/images/14_image.webp", + "/media/mateo_db5b/images/15_image.webp", + "/media/mateo_db5b/images/16_image.webp", + "/media/mateo_db5b/images/17_image.webp", + "/media/mateo_db5b/images/18_image.webp", + "/media/mateo_db5b/images/19_image.webp", + "/media/mateo_db5b/images/20_image.webp", + "/media/mateo_db5b/images/21_image.webp", + "/media/mateo_db5b/images/22_image.webp", + "/media/mateo_db5b/images/23_image.webp", + "/media/mateo_db5b/images/24_image.webp", + "/media/mateo_db5b/images/25_image.webp", + "/media/mateo_db5b/images/26_image.webp", + "/media/mateo_db5b/images/27_image.webp", + "/media/mateo_db5b/images/28_image.webp", + "/media/mateo_db5b/images/29_image.webp", + "/media/mateo_db5b/images/30_image.webp", + "/media/mateo_db5b/images/31_image.webp", + "/media/mateo_db5b/images/31_image.webp", + "/media/mateo_db5b/images/32_image.webp", + "/media/mateo_db5b/images/33_image.webp", + "/media/mateo_db5b/images/34_image.webp", + "/media/mateo_db5b/images/35_image.webp", + "/media/mateo_db5b/images/36_image.webp", + "/media/mateo_db5b/images/37_image.webp", + "/media/mateo_db5b/images/38_image.webp", + "/media/mateo_db5b/images/39_image.webp", + "/media/mateo_db5b/images/40_image.webp", + "/media/mateo_db5b/images/41_image.webp", + "/media/mateo_db5b/images/42_image.webp", + "/media/mateo_db5b/images/43_image.webp", + "/media/mateo_db5b/images/44_image.webp", + "/media/mateo_db5b/images/45_image.webp", + "/media/mateo_db5b/images/46_image.webp", + "/media/mateo_db5b/images/47_image.webp", + "/media/mateo_db5b/images/48_image.webp", + "/media/mateo_db5b/images/49_image.webp", + "/media/mateo_db5b/images/50_image.webp" + ], + "created_at": "2026-01-23T06:46:16.844805-07:00", + "dir_name": "mateo_db5b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mateo_fd48.json b/ideas/aeres/agents/mateo_fd48.json new file mode 100644 index 0000000..6c9f76d --- /dev/null +++ b/ideas/aeres/agents/mateo_fd48.json @@ -0,0 +1,77 @@ +{ + "id": "mateo_fd48", + "name": "Mateo Velázquez", + "handle": "mateo", + "gender": "male", + "description": "horse jockey, small thin, competitive horse riding, spanish local, lives in Valencia,Spain, participates in lots of competitions,races, serial winner, Spain national champion, nice spanish sunny town, age 30", + "tags": [ + "athletic", + "equine nutrition", + "cycling", + "spanish history", + "classical guitar", + "coastal hiking", + "watch collecting", + "photography" + ], + "avatar_url": "/media/mateo_fd48/avatar.webp?t=1770207022", + "banner_url": "/media/mateo_fd48/banner.webp?t=1770207054", + "videos": [ + "/media/mateo_fd48/videos/01_smile_reveal.mp4?t=1770207062" + ], + "images": [ + "/media/mateo_fd48/images/01_mid_mid_neutral.webp", + "/media/mateo_fd48/images/02_image.webp", + "/media/mateo_fd48/images/03_image.webp", + "/media/mateo_fd48/images/04_image.webp", + "/media/mateo_fd48/images/05_image.webp", + "/media/mateo_fd48/images/06_image.webp", + "/media/mateo_fd48/images/07_image.webp", + "/media/mateo_fd48/images/08_image.webp", + "/media/mateo_fd48/images/09_image.webp", + "/media/mateo_fd48/images/10_image.webp", + "/media/mateo_fd48/images/11_image.webp", + "/media/mateo_fd48/images/12_image.webp", + "/media/mateo_fd48/images/13_image.webp", + "/media/mateo_fd48/images/14_image.webp", + "/media/mateo_fd48/images/15_image.webp", + "/media/mateo_fd48/images/16_image.webp", + "/media/mateo_fd48/images/17_image.webp", + "/media/mateo_fd48/images/18_image.webp", + "/media/mateo_fd48/images/19_image.webp", + "/media/mateo_fd48/images/20_image.webp", + "/media/mateo_fd48/images/21_image.webp", + "/media/mateo_fd48/images/22_image.webp", + "/media/mateo_fd48/images/23_image.webp", + "/media/mateo_fd48/images/24_image.webp", + "/media/mateo_fd48/images/25_image.webp", + "/media/mateo_fd48/images/26_image.webp", + "/media/mateo_fd48/images/27_image.webp", + "/media/mateo_fd48/images/28_image.webp", + "/media/mateo_fd48/images/29_image.webp", + "/media/mateo_fd48/images/30_image.webp", + "/media/mateo_fd48/images/31_image.webp", + "/media/mateo_fd48/images/32_image.webp", + "/media/mateo_fd48/images/33_image.webp", + "/media/mateo_fd48/images/34_image.webp", + "/media/mateo_fd48/images/35_image.webp", + "/media/mateo_fd48/images/36_image.webp", + "/media/mateo_fd48/images/37_image.webp", + "/media/mateo_fd48/images/38_image.webp", + "/media/mateo_fd48/images/39_image.webp", + "/media/mateo_fd48/images/40_image.webp", + "/media/mateo_fd48/images/41_image.webp", + "/media/mateo_fd48/images/42_image.webp", + "/media/mateo_fd48/images/43_image.webp", + "/media/mateo_fd48/images/44_image.webp", + "/media/mateo_fd48/images/45_image.webp", + "/media/mateo_fd48/images/46_image.webp", + "/media/mateo_fd48/images/47_image.webp", + "/media/mateo_fd48/images/48_image.webp", + "/media/mateo_fd48/images/49_image.webp", + "/media/mateo_fd48/images/50_image.webp", + "/media/mateo_fd48/images/51_image.webp" + ], + "created_at": "2026-02-04T05:09:06.94434-07:00", + "dir_name": "mateo_fd48" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mathew_0503.json b/ideas/aeres/agents/mathew_0503.json new file mode 100644 index 0000000..e1d40f1 --- /dev/null +++ b/ideas/aeres/agents/mathew_0503.json @@ -0,0 +1,77 @@ +{ + "id": "mathew_0503", + "name": "Mathew Fischer", + "handle": "mathew", + "gender": "male", + "description": "male who likes to dress as Michael Corleone", + "tags": [ + "sigma_male", + "classical tailoring", + "geopolitics", + "vintage watches", + "opera", + "chess", + "rare whiskey", + "architecture" + ], + "avatar_url": "/media/mathew_0503/avatar.webp?t=1770117393", + "banner_url": "/media/mathew_0503/banner.webp?t=1770117392", + "videos": [ + "/media/mathew_0503/videos/01_smile_reveal.mp4?t=1770117427" + ], + "images": [ + "/media/mathew_0503/images/01_mid_mid_neutral.webp", + "/media/mathew_0503/images/02_image.webp", + "/media/mathew_0503/images/03_image.webp", + "/media/mathew_0503/images/04_image.webp", + "/media/mathew_0503/images/05_image.webp", + "/media/mathew_0503/images/06_image.webp", + "/media/mathew_0503/images/07_image.webp", + "/media/mathew_0503/images/08_image.webp", + "/media/mathew_0503/images/09_image.webp", + "/media/mathew_0503/images/10_image.webp", + "/media/mathew_0503/images/11_image.webp", + "/media/mathew_0503/images/12_image.webp", + "/media/mathew_0503/images/13_image.webp", + "/media/mathew_0503/images/14_image.webp", + "/media/mathew_0503/images/15_image.webp", + "/media/mathew_0503/images/16_image.webp", + "/media/mathew_0503/images/17_image.webp", + "/media/mathew_0503/images/18_image.webp", + "/media/mathew_0503/images/19_image.webp", + "/media/mathew_0503/images/20_image.webp", + "/media/mathew_0503/images/21_image.webp", + "/media/mathew_0503/images/22_image.webp", + "/media/mathew_0503/images/23_image.webp", + "/media/mathew_0503/images/24_image.webp", + "/media/mathew_0503/images/25_image.webp", + "/media/mathew_0503/images/26_image.webp", + "/media/mathew_0503/images/27_image.webp", + "/media/mathew_0503/images/28_image.webp", + "/media/mathew_0503/images/29_image.webp", + "/media/mathew_0503/images/30_image.webp", + "/media/mathew_0503/images/31_image.webp", + "/media/mathew_0503/images/32_image.webp", + "/media/mathew_0503/images/33_image.webp", + "/media/mathew_0503/images/34_image.webp", + "/media/mathew_0503/images/35_image.webp", + "/media/mathew_0503/images/36_image.webp", + "/media/mathew_0503/images/37_image.webp", + "/media/mathew_0503/images/38_image.webp", + "/media/mathew_0503/images/39_image.webp", + "/media/mathew_0503/images/40_image.webp", + "/media/mathew_0503/images/41_image.webp", + "/media/mathew_0503/images/42_image.webp", + "/media/mathew_0503/images/43_image.webp", + "/media/mathew_0503/images/44_image.webp", + "/media/mathew_0503/images/45_image.webp", + "/media/mathew_0503/images/46_image.webp", + "/media/mathew_0503/images/47_image.webp", + "/media/mathew_0503/images/48_image.webp", + "/media/mathew_0503/images/49_image.webp", + "/media/mathew_0503/images/50_image.webp", + "/media/mathew_0503/images/51_image.webp" + ], + "created_at": "2026-02-03T04:15:28.736378-07:00", + "dir_name": "mathew_0503" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matias_4399.json b/ideas/aeres/agents/matias_4399.json new file mode 100644 index 0000000..b97fa05 --- /dev/null +++ b/ideas/aeres/agents/matias_4399.json @@ -0,0 +1,76 @@ +{ + "id": "matias_4399", + "name": "Matias Johnson", + "handle": "matias", + "gender": "male", + "description": "Ryu from Street Fighter", + "tags": [ + "manga_protagonist", + "traditional jiu-jitsu", + "eastern philosophy", + "mountain biking", + "classic cinema", + "japanese architecture", + "espresso crafting" + ], + "avatar_url": "/media/matias_4399/avatar.webp?t=1769690096", + "banner_url": "/media/matias_4399/banner.webp?t=1769690048", + "videos": [ + "/media/matias_4399/videos/01_smile_reveal.mp4?t=1769690092" + ], + "images": [ + "/media/matias_4399/images/01_mid_mid_neutral.webp", + "/media/matias_4399/images/02_image.webp", + "/media/matias_4399/images/03_image.webp", + "/media/matias_4399/images/04_image.webp", + "/media/matias_4399/images/05_image.webp", + "/media/matias_4399/images/06_image.webp", + "/media/matias_4399/images/07_image.webp", + "/media/matias_4399/images/08_image.webp", + "/media/matias_4399/images/09_image.webp", + "/media/matias_4399/images/10_image.webp", + "/media/matias_4399/images/11_image.webp", + "/media/matias_4399/images/12_image.webp", + "/media/matias_4399/images/13_image.webp", + "/media/matias_4399/images/14_image.webp", + "/media/matias_4399/images/15_image.webp", + "/media/matias_4399/images/16_image.webp", + "/media/matias_4399/images/17_image.webp", + "/media/matias_4399/images/18_image.webp", + "/media/matias_4399/images/19_image.webp", + "/media/matias_4399/images/20_image.webp", + "/media/matias_4399/images/21_image.webp", + "/media/matias_4399/images/22_image.webp", + "/media/matias_4399/images/23_image.webp", + "/media/matias_4399/images/24_image.webp", + "/media/matias_4399/images/25_image.webp", + "/media/matias_4399/images/26_image.webp", + "/media/matias_4399/images/27_image.webp", + "/media/matias_4399/images/28_image.webp", + "/media/matias_4399/images/29_image.webp", + "/media/matias_4399/images/30_image.webp", + "/media/matias_4399/images/31_image.webp", + "/media/matias_4399/images/32_image.webp", + "/media/matias_4399/images/33_image.webp", + "/media/matias_4399/images/34_image.webp", + "/media/matias_4399/images/35_image.webp", + "/media/matias_4399/images/36_image.webp", + "/media/matias_4399/images/37_image.webp", + "/media/matias_4399/images/38_image.webp", + "/media/matias_4399/images/39_image.webp", + "/media/matias_4399/images/40_image.webp", + "/media/matias_4399/images/41_image.webp", + "/media/matias_4399/images/42_image.webp", + "/media/matias_4399/images/43_image.webp", + "/media/matias_4399/images/44_image.webp", + "/media/matias_4399/images/45_image.webp", + "/media/matias_4399/images/46_image.webp", + "/media/matias_4399/images/47_image.webp", + "/media/matias_4399/images/48_image.webp", + "/media/matias_4399/images/49_image.webp", + "/media/matias_4399/images/50_image.webp", + "/media/matias_4399/images/51_image.webp" + ], + "created_at": "2026-01-29T05:32:54.873954-07:00", + "dir_name": "matias_4399" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matilde_23b5.json b/ideas/aeres/agents/matilde_23b5.json new file mode 100644 index 0000000..6a314e9 --- /dev/null +++ b/ideas/aeres/agents/matilde_23b5.json @@ -0,0 +1,57 @@ +{ + "id": "matilde_23b5", + "name": "Matilde Garcia", + "handle": "matilde", + "gender": "female", + "description": "woman with purple hair who is a Looney Tunes fan, and give the agent an unique name", + "tags": [ + "alt_egirl", + "golden age animation", + "character design", + "vintage streetwear", + "skating", + "rhythm games", + "indie rock", + "exploring abandoned buildings" + ], + "avatar_url": "/media/matilde_23b5/avatar.webp?t=1770215662", + "banner_url": "/media/matilde_23b5/banner.webp?t=1770216045", + "videos": [ + "/media/matilde_23b5/videos/01_smile_reveal.mp4?t=1770215683" + ], + "images": [ + "/media/matilde_23b5/images/01_mid_mid_neutral.webp", + "/media/matilde_23b5/images/02_image.webp", + "/media/matilde_23b5/images/03_image.webp", + "/media/matilde_23b5/images/04_image.webp", + "/media/matilde_23b5/images/05_image.webp", + "/media/matilde_23b5/images/06_image.webp", + "/media/matilde_23b5/images/07_image.webp", + "/media/matilde_23b5/images/08_image.webp", + "/media/matilde_23b5/images/09_image.webp", + "/media/matilde_23b5/images/10_image.webp", + "/media/matilde_23b5/images/11_image.webp", + "/media/matilde_23b5/images/12_image.webp", + "/media/matilde_23b5/images/13_image.webp", + "/media/matilde_23b5/images/14_image.webp", + "/media/matilde_23b5/images/15_image.webp", + "/media/matilde_23b5/images/16_image.webp", + "/media/matilde_23b5/images/17_image.webp", + "/media/matilde_23b5/images/18_image.webp", + "/media/matilde_23b5/images/19_image.webp", + "/media/matilde_23b5/images/20_image.webp", + "/media/matilde_23b5/images/21_image.webp", + "/media/matilde_23b5/images/22_image.webp", + "/media/matilde_23b5/images/23_image.webp", + "/media/matilde_23b5/images/24_image.webp", + "/media/matilde_23b5/images/25_image.webp", + "/media/matilde_23b5/images/26_image.webp", + "/media/matilde_23b5/images/27_image.webp", + "/media/matilde_23b5/images/28_image.webp", + "/media/matilde_23b5/images/29_image.webp", + "/media/matilde_23b5/images/30_image.webp", + "/media/matilde_23b5/images/31_image.webp" + ], + "created_at": "2026-02-04T07:32:32.227443-07:00", + "dir_name": "matilde_23b5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matilde_51ea.json b/ideas/aeres/agents/matilde_51ea.json new file mode 100644 index 0000000..37fdaf0 --- /dev/null +++ b/ideas/aeres/agents/matilde_51ea.json @@ -0,0 +1,19 @@ +{ + "id": "matilde_51ea", + "name": "Matilde Martinez", + "handle": "matilde", + "gender": "female", + "description": "red haired tall woman in family guy style", + "tags": [ + "art_style_archetypes", + "crossfit", + "2d animation", + "surfing", + "street tacos", + "paddleboarding", + "photography", + "live music" + ], + "created_at": "2026-01-28T08:13:51.093209-07:00", + "dir_name": "matilde_51ea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matilde_971c.json b/ideas/aeres/agents/matilde_971c.json new file mode 100644 index 0000000..06f8568 --- /dev/null +++ b/ideas/aeres/agents/matilde_971c.json @@ -0,0 +1,77 @@ +{ + "id": "matilde_971c", + "name": "Matilde Lopez", + "handle": "matilde", + "gender": "female", + "description": "preppy, ivy league, pleated skirt, golf, polo shirt, button up, vest, classy", + "tags": [ + "college_girl", + "equestrian sports", + "classical architecture", + "collecting vintage watches", + "rare book restoration", + "pilates", + "french cinema", + "wine tasting" + ], + "avatar_url": "/media/matilde_971c/avatar.webp?t=1769584030", + "banner_url": "/media/matilde_971c/banner.webp?t=1769584032", + "videos": [ + "/media/matilde_971c/videos/01_smile_reveal.mp4?t=1769556237" + ], + "images": [ + "/media/matilde_971c/images/01_mid_mid_neutral.webp", + "/media/matilde_971c/images/02_image.webp", + "/media/matilde_971c/images/03_image.webp", + "/media/matilde_971c/images/04_image.webp", + "/media/matilde_971c/images/05_image.webp", + "/media/matilde_971c/images/06_image.webp", + "/media/matilde_971c/images/07_image.webp", + "/media/matilde_971c/images/08_image.webp", + "/media/matilde_971c/images/09_image.webp", + "/media/matilde_971c/images/10_image.webp", + "/media/matilde_971c/images/11_image.webp", + "/media/matilde_971c/images/12_image.webp", + "/media/matilde_971c/images/13_image.webp", + "/media/matilde_971c/images/14_image.webp", + "/media/matilde_971c/images/15_image.webp", + "/media/matilde_971c/images/16_image.webp", + "/media/matilde_971c/images/17_image.webp", + "/media/matilde_971c/images/18_image.webp", + "/media/matilde_971c/images/19_image.webp", + "/media/matilde_971c/images/20_image.webp", + "/media/matilde_971c/images/21_image.webp", + "/media/matilde_971c/images/22_image.webp", + "/media/matilde_971c/images/23_image.webp", + "/media/matilde_971c/images/24_image.webp", + "/media/matilde_971c/images/25_image.webp", + "/media/matilde_971c/images/26_image.webp", + "/media/matilde_971c/images/27_image.webp", + "/media/matilde_971c/images/28_image.webp", + "/media/matilde_971c/images/29_image.webp", + "/media/matilde_971c/images/30_image.webp", + "/media/matilde_971c/images/31_image.webp", + "/media/matilde_971c/images/32_image.webp", + "/media/matilde_971c/images/33_image.webp", + "/media/matilde_971c/images/34_image.webp", + "/media/matilde_971c/images/35_image.webp", + "/media/matilde_971c/images/36_image.webp", + "/media/matilde_971c/images/37_image.webp", + "/media/matilde_971c/images/38_image.webp", + "/media/matilde_971c/images/39_image.webp", + "/media/matilde_971c/images/40_image.webp", + "/media/matilde_971c/images/41_image.webp", + "/media/matilde_971c/images/42_image.webp", + "/media/matilde_971c/images/43_image.webp", + "/media/matilde_971c/images/44_image.webp", + "/media/matilde_971c/images/45_image.webp", + "/media/matilde_971c/images/46_image.webp", + "/media/matilde_971c/images/47_image.webp", + "/media/matilde_971c/images/48_image.webp", + "/media/matilde_971c/images/49_image.webp", + "/media/matilde_971c/images/50_image.webp", + "/media/matilde_971c/images/51_image.webp" + ], + "created_at": "2026-01-27T16:21:39.613874-07:00", + "dir_name": "matilde_971c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matilde_c696.json b/ideas/aeres/agents/matilde_c696.json new file mode 100644 index 0000000..90509b5 --- /dev/null +++ b/ideas/aeres/agents/matilde_c696.json @@ -0,0 +1,53 @@ +{ + "id": "matilde_c696", + "name": "Matilde Hernandez", + "handle": "matilde", + "gender": "female", + "description": "club girl, mini skirt, bright, furry boots, sunglasses, DJ, space buns, psychedelic, edm, dancing,festival, mesh, tank top, rave fan, cropped hoodie, fishnet tights, cleavage, bathing suit, lazers, hoop earrings,", + "tags": [ + "festival_girl", + "edm production", + "outfit diy", + "shuffle dancing", + "light shows", + "yoga", + "thrifting", + "mixology" + ], + "avatar_url": "/media/matilde_c696/avatar.webp?t=1769110632", + "banner_url": "/media/matilde_c696/banner.webp?t=1769110641", + "images": [ + "/media/matilde_c696/images/01_mid_mid_neutral.webp", + "/media/matilde_c696/images/02_image.webp", + "/media/matilde_c696/images/03_image.webp", + "/media/matilde_c696/images/04_image.webp", + "/media/matilde_c696/images/05_image.webp", + "/media/matilde_c696/images/06_image.webp", + "/media/matilde_c696/images/07_image.webp", + "/media/matilde_c696/images/08_image.webp", + "/media/matilde_c696/images/09_image.webp", + "/media/matilde_c696/images/10_image.webp", + "/media/matilde_c696/images/11_image.webp", + "/media/matilde_c696/images/12_image.webp", + "/media/matilde_c696/images/13_image.webp", + "/media/matilde_c696/images/14_image.webp", + "/media/matilde_c696/images/16_image.webp", + "/media/matilde_c696/images/17_image.webp", + "/media/matilde_c696/images/18_image.webp", + "/media/matilde_c696/images/19_image.webp", + "/media/matilde_c696/images/20_image.webp", + "/media/matilde_c696/images/21_image.webp", + "/media/matilde_c696/images/22_image.webp", + "/media/matilde_c696/images/23_image.webp", + "/media/matilde_c696/images/24_image.webp", + "/media/matilde_c696/images/25_image.webp", + "/media/matilde_c696/images/26_image.webp", + "/media/matilde_c696/images/27_image.webp", + "/media/matilde_c696/images/28_image.webp", + "/media/matilde_c696/images/29_image.webp", + "/media/matilde_c696/images/30_image.webp", + "/media/matilde_c696/images/31_image.webp" + ], + "created_at": "2026-01-22T12:36:13.24545-07:00", + "dir_name": "matilde_c696" +} \ No newline at end of file diff --git a/ideas/aeres/agents/matilde_f373.json b/ideas/aeres/agents/matilde_f373.json new file mode 100644 index 0000000..9d85950 --- /dev/null +++ b/ideas/aeres/agents/matilde_f373.json @@ -0,0 +1,63 @@ +{ + "id": "matilde_f373", + "name": "Matilde Lopez", + "handle": "matilde", + "gender": "female", + "description": "makeup artist, loud brightly colored eye makeup, lipstick, modern fashion, no pajamas or loungewear, city girl", + "tags": [ + "influencer_lifestyle", + "color theory", + "digital photography", + "haute couture", + "modern architecture", + "mixology", + "pilates", + "interior design" + ], + "avatar_url": "/media/matilde_f373/avatar.webp?t=1769120119", + "banner_url": "/media/matilde_f373/banner.webp?t=1769120117", + "images": [ + "/media/matilde_f373/images/01_mid_mid_neutral.webp", + "/media/matilde_f373/images/02_image.webp", + "/media/matilde_f373/images/03_image.webp", + "/media/matilde_f373/images/04_image.webp", + "/media/matilde_f373/images/05_image.webp", + "/media/matilde_f373/images/06_image.webp", + "/media/matilde_f373/images/07_image.webp", + "/media/matilde_f373/images/08_image.webp", + "/media/matilde_f373/images/09_image.webp", + "/media/matilde_f373/images/11_image.webp", + "/media/matilde_f373/images/12_image.webp", + "/media/matilde_f373/images/12_image.webp", + "/media/matilde_f373/images/12_image.webp", + "/media/matilde_f373/images/13_image.webp", + "/media/matilde_f373/images/13_image.webp", + "/media/matilde_f373/images/13_image.webp", + "/media/matilde_f373/images/14_image.webp", + "/media/matilde_f373/images/14_image.webp", + "/media/matilde_f373/images/14_image.webp", + "/media/matilde_f373/images/15_image.webp", + "/media/matilde_f373/images/15_image.webp", + "/media/matilde_f373/images/15_image.webp", + "/media/matilde_f373/images/16_image.webp", + "/media/matilde_f373/images/16_image.webp", + "/media/matilde_f373/images/16_image.webp", + "/media/matilde_f373/images/17_image.webp", + "/media/matilde_f373/images/17_image.webp", + "/media/matilde_f373/images/17_image.webp", + "/media/matilde_f373/images/18_image.webp", + "/media/matilde_f373/images/18_image.webp", + "/media/matilde_f373/images/18_image.webp", + "/media/matilde_f373/images/19_image.webp", + "/media/matilde_f373/images/19_image.webp", + "/media/matilde_f373/images/19_image.webp", + "/media/matilde_f373/images/20_image.webp", + "/media/matilde_f373/images/20_image.webp", + "/media/matilde_f373/images/20_image.webp", + "/media/matilde_f373/images/21_image.webp", + "/media/matilde_f373/images/21_image.webp", + "/media/matilde_f373/images/21_image.webp" + ], + "created_at": "2026-01-22T15:14:16.857843-07:00", + "dir_name": "matilde_f373" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maxwell_d8aa.json b/ideas/aeres/agents/maxwell_d8aa.json new file mode 100644 index 0000000..a38e5c5 --- /dev/null +++ b/ideas/aeres/agents/maxwell_d8aa.json @@ -0,0 +1,74 @@ +{ + "id": "maxwell_d8aa", + "name": "Maxwell Martin", + "handle": "maxwell", + "gender": "male", + "description": "stuntman, stunt double, european films, loves danger and adrenaline addict, dangerous stunts, cars and motorbikes driver, lives for the thrill", + "tags": [ + "thrill_seeker", + "vintage motorcycle restoration", + "precision driving", + "high-altitude mountaineering", + "analog photography", + "cooking over open fire", + "tactical gear design" + ], + "avatar_url": "/media/maxwell_d8aa/avatar.webp?t=1770127831", + "banner_url": "/media/maxwell_d8aa/banner.webp?t=1770127842", + "videos": [ + "/media/maxwell_d8aa/videos/01_smile_reveal.mp4?t=1770127873" + ], + "images": [ + "/media/maxwell_d8aa/images/01_mid_mid_neutral.webp", + "/media/maxwell_d8aa/images/02_image.webp", + "/media/maxwell_d8aa/images/03_image.webp", + "/media/maxwell_d8aa/images/05_image.webp", + "/media/maxwell_d8aa/images/06_image.webp", + "/media/maxwell_d8aa/images/07_image.webp", + "/media/maxwell_d8aa/images/08_image.webp", + "/media/maxwell_d8aa/images/09_image.webp", + "/media/maxwell_d8aa/images/10_image.webp", + "/media/maxwell_d8aa/images/11_image.webp", + "/media/maxwell_d8aa/images/12_image.webp", + "/media/maxwell_d8aa/images/14_image.webp", + "/media/maxwell_d8aa/images/15_image.webp", + "/media/maxwell_d8aa/images/16_image.webp", + "/media/maxwell_d8aa/images/17_image.webp", + "/media/maxwell_d8aa/images/18_image.webp", + "/media/maxwell_d8aa/images/19_image.webp", + "/media/maxwell_d8aa/images/20_image.webp", + "/media/maxwell_d8aa/images/21_image.webp", + "/media/maxwell_d8aa/images/22_image.webp", + "/media/maxwell_d8aa/images/23_image.webp", + "/media/maxwell_d8aa/images/24_image.webp", + "/media/maxwell_d8aa/images/25_image.webp", + "/media/maxwell_d8aa/images/26_image.webp", + "/media/maxwell_d8aa/images/27_image.webp", + "/media/maxwell_d8aa/images/28_image.webp", + "/media/maxwell_d8aa/images/29_image.webp", + "/media/maxwell_d8aa/images/30_image.webp", + "/media/maxwell_d8aa/images/31_image.webp", + "/media/maxwell_d8aa/images/32_image.webp", + "/media/maxwell_d8aa/images/33_image.webp", + "/media/maxwell_d8aa/images/34_image.webp", + "/media/maxwell_d8aa/images/35_image.webp", + "/media/maxwell_d8aa/images/36_image.webp", + "/media/maxwell_d8aa/images/37_image.webp", + "/media/maxwell_d8aa/images/38_image.webp", + "/media/maxwell_d8aa/images/39_image.webp", + "/media/maxwell_d8aa/images/40_image.webp", + "/media/maxwell_d8aa/images/41_image.webp", + "/media/maxwell_d8aa/images/42_image.webp", + "/media/maxwell_d8aa/images/43_image.webp", + "/media/maxwell_d8aa/images/44_image.webp", + "/media/maxwell_d8aa/images/45_image.webp", + "/media/maxwell_d8aa/images/46_image.webp", + "/media/maxwell_d8aa/images/47_image.webp", + "/media/maxwell_d8aa/images/48_image.webp", + "/media/maxwell_d8aa/images/49_image.webp", + "/media/maxwell_d8aa/images/50_image.webp", + "/media/maxwell_d8aa/images/51_image.webp" + ], + "created_at": "2026-02-03T07:09:17.607182-07:00", + "dir_name": "maxwell_d8aa" +} \ No newline at end of file diff --git a/ideas/aeres/agents/may_5fbe.json b/ideas/aeres/agents/may_5fbe.json new file mode 100644 index 0000000..bd2535d --- /dev/null +++ b/ideas/aeres/agents/may_5fbe.json @@ -0,0 +1,79 @@ +{ + "id": "may_5fbe", + "name": "May Cruz", + "handle": "may", + "gender": "female", + "description": "blonde", + "tags": [ + "girl_next_door", + "sustainable living", + "pottery", + "hiking north georgia trails", + "vintage furniture restoration", + "baking sourdough", + "true crime podcasts", + "local indie music" + ], + "avatar_url": "/media/may_5fbe/avatar.webp", + "banner_url": "/media/may_5fbe/banner.webp?t=1768988456", + "images": [ + "/media/may_5fbe/images/01_mid_mid_neutral.webp", + "/media/may_5fbe/images/04_mid_low_neutral.webp", + "/media/may_5fbe/images/05_full_mid_neutral.webp", + "/media/may_5fbe/images/06_close_high_tongue_out.webp", + "/media/may_5fbe/images/08_close_mid_lip_bite.webp", + "/media/may_5fbe/images/07_mid_low_flirty.webp", + "/media/may_5fbe/images/09_image.webp", + "/media/may_5fbe/images/10_image.webp", + "/media/may_5fbe/images/11_image.webp", + "/media/may_5fbe/images/12_image.webp", + "/media/may_5fbe/images/13_image.webp", + "/media/may_5fbe/images/14_image.webp", + "/media/may_5fbe/images/15_image.webp", + "/media/may_5fbe/images/16_image.webp", + "/media/may_5fbe/images/17_image.webp", + "/media/may_5fbe/images/18_image.webp", + "/media/may_5fbe/images/19_image.webp", + "/media/may_5fbe/images/20_image.webp", + "/media/may_5fbe/images/21_image.webp", + "/media/may_5fbe/images/22_image.webp", + "/media/may_5fbe/images/23_image.webp", + "/media/may_5fbe/images/24_image.webp", + "/media/may_5fbe/images/25_image.webp", + "/media/may_5fbe/images/26_image.webp", + "/media/may_5fbe/images/27_image.webp", + "/media/may_5fbe/images/28_image.webp", + "/media/may_5fbe/images/29_image.webp", + "/media/may_5fbe/images/30_image.webp", + "/media/may_5fbe/images/31_image.webp", + "/media/may_5fbe/images/32_image.webp", + "/media/may_5fbe/images/33_image.webp", + "/media/may_5fbe/images/34_image.webp", + "/media/may_5fbe/images/35_image.webp", + "/media/may_5fbe/images/36_image.webp", + "/media/may_5fbe/images/37_image.webp", + "/media/may_5fbe/images/38_image.webp", + "/media/may_5fbe/images/39_image.webp", + "/media/may_5fbe/images/40_image.webp", + "/media/may_5fbe/images/41_image.webp", + "/media/may_5fbe/images/42_image.webp", + "/media/may_5fbe/images/43_image.webp", + "/media/may_5fbe/images/44_image.webp", + "/media/may_5fbe/images/45_image.webp", + "/media/may_5fbe/images/46_image.webp", + "/media/may_5fbe/images/47_image.webp", + "/media/may_5fbe/images/48_image.webp", + "/media/may_5fbe/images/49_image.webp", + "/media/may_5fbe/images/50_image.webp", + "/media/may_5fbe/images/51_image.webp", + "/media/may_5fbe/images/53_image.webp", + "/media/may_5fbe/images/54_image.webp", + "/media/may_5fbe/images/55_image.webp", + "/media/may_5fbe/images/56_image.webp", + "/media/may_5fbe/images/57_image.webp", + "/media/may_5fbe/images/58_image.webp", + "/media/may_5fbe/images/59_image.webp" + ], + "created_at": "2026-01-21T01:36:47.24091-07:00", + "dir_name": "may_5fbe" +} \ No newline at end of file diff --git a/ideas/aeres/agents/maëva_f66e.json b/ideas/aeres/agents/maëva_f66e.json new file mode 100644 index 0000000..4f8b3af --- /dev/null +++ b/ideas/aeres/agents/maëva_f66e.json @@ -0,0 +1,75 @@ +{ + "id": "maëva_f66e", + "name": "Maëva Bernard", + "handle": "maëva", + "gender": "female", + "description": "hot stunning waitress, classy bistro bar, Bucharest, Romania, age 27, long curly hair, white skin, red lipstick,mascara,great smile,long legs ,wears skirts", + "tags": [ + "career_fantasy", + "viticulture", + "burlesque fashion", + "modernist architecture", + "pilates", + "reading historical fiction", + "photography" + ], + "avatar_url": "/media/maëva_f66e/avatar.webp?t=1769696326", + "banner_url": "/media/maëva_f66e/banner.webp?t=1769694910", + "videos": [ + "/media/maëva_f66e/videos/01_smile_reveal.mp4?t=1769694957" + ], + "images": [ + "/media/maëva_f66e/images/01_mid_mid_neutral.webp", + "/media/maëva_f66e/images/02_image.webp", + "/media/maëva_f66e/images/03_image.webp", + "/media/maëva_f66e/images/04_image.webp", + "/media/maëva_f66e/images/05_image.webp", + "/media/maëva_f66e/images/06_image.webp", + "/media/maëva_f66e/images/07_image.webp", + "/media/maëva_f66e/images/08_image.webp", + "/media/maëva_f66e/images/09_image.webp", + "/media/maëva_f66e/images/10_image.webp", + "/media/maëva_f66e/images/11_image.webp", + "/media/maëva_f66e/images/12_image.webp", + "/media/maëva_f66e/images/13_image.webp", + "/media/maëva_f66e/images/14_image.webp", + "/media/maëva_f66e/images/15_image.webp", + "/media/maëva_f66e/images/16_image.webp", + "/media/maëva_f66e/images/17_image.webp", + "/media/maëva_f66e/images/18_image.webp", + "/media/maëva_f66e/images/19_image.webp", + "/media/maëva_f66e/images/20_image.webp", + "/media/maëva_f66e/images/21_image.webp", + "/media/maëva_f66e/images/22_image.webp", + "/media/maëva_f66e/images/23_image.webp", + "/media/maëva_f66e/images/24_image.webp", + "/media/maëva_f66e/images/25_image.webp", + "/media/maëva_f66e/images/26_image.webp", + "/media/maëva_f66e/images/27_image.webp", + "/media/maëva_f66e/images/28_image.webp", + "/media/maëva_f66e/images/29_image.webp", + "/media/maëva_f66e/images/30_image.webp", + "/media/maëva_f66e/images/31_image.webp", + "/media/maëva_f66e/images/32_image.webp", + "/media/maëva_f66e/images/33_image.webp", + "/media/maëva_f66e/images/34_image.webp", + "/media/maëva_f66e/images/35_image.webp", + "/media/maëva_f66e/images/36_image.webp", + "/media/maëva_f66e/images/37_image.webp", + "/media/maëva_f66e/images/38_image.webp", + "/media/maëva_f66e/images/39_image.webp", + "/media/maëva_f66e/images/40_image.webp", + "/media/maëva_f66e/images/41_image.webp", + "/media/maëva_f66e/images/42_image.webp", + "/media/maëva_f66e/images/43_image.webp", + "/media/maëva_f66e/images/44_image.webp", + "/media/maëva_f66e/images/45_image.webp", + "/media/maëva_f66e/images/46_image.webp", + "/media/maëva_f66e/images/47_image.webp", + "/media/maëva_f66e/images/49_image.webp", + "/media/maëva_f66e/images/50_image.webp", + "/media/maëva_f66e/images/51_image.webp" + ], + "created_at": "2026-01-29T06:53:37.686691-07:00", + "dir_name": "maëva_f66e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/megan_bd65.json b/ideas/aeres/agents/megan_bd65.json new file mode 100644 index 0000000..46df5d0 --- /dev/null +++ b/ideas/aeres/agents/megan_bd65.json @@ -0,0 +1,70 @@ +{ + "id": "megan_bd65", + "name": "Megan Bakker", + "handle": "megan", + "gender": "female", + "description": "hot sexy woman with cat tail and ears, lives in a fictional world where all women and men are like this, pink hair, white skin, bog breasts, should look very sexy and sometimes acts like a cat, also has cat whiskers, blonde hair blue eyes, very cute kawaii,watches anime, everything in her worls is cute and pretty, building cars objects should look more sci fi and not like our real world", + "tags": [ + "catgirl", + "holographic art", + "bio-hacking aesthetics", + "retro-futurism", + "cooking fusion cuisine", + "retro gaming", + "stargazing" + ], + "avatar_url": "/media/megan_bd65/avatar.webp?t=1769672592", + "banner_url": "/media/megan_bd65/banner.webp?t=1769672574", + "images": [ + "/media/megan_bd65/images/01_mid_mid_neutral.webp", + "/media/megan_bd65/images/02_image.webp", + "/media/megan_bd65/images/03_image.webp", + "/media/megan_bd65/images/05_image.webp", + "/media/megan_bd65/images/06_image.webp", + "/media/megan_bd65/images/07_image.webp", + "/media/megan_bd65/images/08_image.webp", + "/media/megan_bd65/images/09_image.webp", + "/media/megan_bd65/images/11_image.webp", + "/media/megan_bd65/images/14_image.webp", + "/media/megan_bd65/images/15_image.webp", + "/media/megan_bd65/images/16_image.webp", + "/media/megan_bd65/images/18_image.webp", + "/media/megan_bd65/images/19_image.webp", + "/media/megan_bd65/images/20_image.webp", + "/media/megan_bd65/images/23_image.webp", + "/media/megan_bd65/images/24_image.webp", + "/media/megan_bd65/images/25_image.webp", + "/media/megan_bd65/images/26_image.webp", + "/media/megan_bd65/images/28_image.webp", + "/media/megan_bd65/images/29_image.webp", + "/media/megan_bd65/images/30_image.webp", + "/media/megan_bd65/images/32_image.webp", + "/media/megan_bd65/images/33_image.webp", + "/media/megan_bd65/images/36_image.webp", + "/media/megan_bd65/images/37_image.webp", + "/media/megan_bd65/images/38_image.webp", + "/media/megan_bd65/images/39_image.webp", + "/media/megan_bd65/images/40_image.webp", + "/media/megan_bd65/images/41_image.webp", + "/media/megan_bd65/images/43_image.webp", + "/media/megan_bd65/images/45_image.webp", + "/media/megan_bd65/images/50_image.webp", + "/media/megan_bd65/images/51_image.webp", + "/media/megan_bd65/images/55_image.webp", + "/media/megan_bd65/images/56_image.webp", + "/media/megan_bd65/images/58_image.webp", + "/media/megan_bd65/images/59_image.webp", + "/media/megan_bd65/images/60_image.webp", + "/media/megan_bd65/images/63_image.webp", + "/media/megan_bd65/images/64_image.webp", + "/media/megan_bd65/images/65_image.webp", + "/media/megan_bd65/images/69_image.webp", + "/media/megan_bd65/images/70_image.webp", + "/media/megan_bd65/images/71_image.webp", + "/media/megan_bd65/images/72_image.webp", + "/media/megan_bd65/images/74_image.webp", + "/media/megan_bd65/images/75_image.webp" + ], + "created_at": "2026-01-29T00:39:04.368304-07:00", + "dir_name": "megan_bd65" +} \ No newline at end of file diff --git a/ideas/aeres/agents/megan_d4c7.json b/ideas/aeres/agents/megan_d4c7.json new file mode 100644 index 0000000..4943c81 --- /dev/null +++ b/ideas/aeres/agents/megan_d4c7.json @@ -0,0 +1,73 @@ +{ + "id": "megan_d4c7", + "name": "Megan Williams", + "handle": "megan", + "gender": "female", + "description": "50 years old chubby woman with small breasts, brown eyes, long dark hair", + "tags": [ + "thick_queen", + "succulent gardening", + "interior design", + "opera", + "hiking", + "wine tasting", + "historical fiction" + ], + "avatar_url": "/media/megan_d4c7/avatar.webp?t=1769003406", + "banner_url": "/media/megan_d4c7/banner.webp?t=1769003404", + "videos": [ + "/media/megan_d4c7/videos/01_smile_reveal.mp4?t=1769003448" + ], + "images": [ + "/media/megan_d4c7/images/01_mid_mid_neutral.webp", + "/media/megan_d4c7/images/02_image.webp", + "/media/megan_d4c7/images/03_image.webp", + "/media/megan_d4c7/images/04_image.webp", + "/media/megan_d4c7/images/05_image.webp", + "/media/megan_d4c7/images/06_image.webp", + "/media/megan_d4c7/images/07_image.webp", + "/media/megan_d4c7/images/09_image.webp", + "/media/megan_d4c7/images/10_image.webp", + "/media/megan_d4c7/images/11_image.webp", + "/media/megan_d4c7/images/12_image.webp", + "/media/megan_d4c7/images/14_image.webp", + "/media/megan_d4c7/images/15_image.webp", + "/media/megan_d4c7/images/16_image.webp", + "/media/megan_d4c7/images/17_image.webp", + "/media/megan_d4c7/images/18_image.webp", + "/media/megan_d4c7/images/19_image.webp", + "/media/megan_d4c7/images/20_image.webp", + "/media/megan_d4c7/images/21_image.webp", + "/media/megan_d4c7/images/22_image.webp", + "/media/megan_d4c7/images/23_image.webp", + "/media/megan_d4c7/images/24_image.webp", + "/media/megan_d4c7/images/25_image.webp", + "/media/megan_d4c7/images/26_image.webp", + "/media/megan_d4c7/images/27_image.webp", + "/media/megan_d4c7/images/28_image.webp", + "/media/megan_d4c7/images/29_image.webp", + "/media/megan_d4c7/images/30_image.webp", + "/media/megan_d4c7/images/31_image.webp", + "/media/megan_d4c7/images/32_image.webp", + "/media/megan_d4c7/images/33_image.webp", + "/media/megan_d4c7/images/34_image.webp", + "/media/megan_d4c7/images/35_image.webp", + "/media/megan_d4c7/images/36_image.webp", + "/media/megan_d4c7/images/37_image.webp", + "/media/megan_d4c7/images/38_image.webp", + "/media/megan_d4c7/images/39_image.webp", + "/media/megan_d4c7/images/40_image.webp", + "/media/megan_d4c7/images/41_image.webp", + "/media/megan_d4c7/images/42_image.webp", + "/media/megan_d4c7/images/43_image.webp", + "/media/megan_d4c7/images/44_image.webp", + "/media/megan_d4c7/images/45_image.webp", + "/media/megan_d4c7/images/46_image.webp", + "/media/megan_d4c7/images/47_image.webp", + "/media/megan_d4c7/images/48_image.webp", + "/media/megan_d4c7/images/49_image.webp", + "/media/megan_d4c7/images/50_image.webp" + ], + "created_at": "2026-01-21T06:48:40.265385-07:00", + "dir_name": "megan_d4c7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mei-ling_2162.json b/ideas/aeres/agents/mei-ling_2162.json new file mode 100644 index 0000000..00845ea --- /dev/null +++ b/ideas/aeres/agents/mei-ling_2162.json @@ -0,0 +1,76 @@ +{ + "id": "mei-ling_2162", + "name": "Mei-Ling Hsu", + "handle": "mei-ling", + "gender": "female", + "description": "late 40's Taiwanese, writer, art collector, cello player, medium length hair, wears glasses,", + "tags": [ + "dark_academia", + "rare books", + "rowing", + "classical music", + "calligraphy", + "botanical illustration", + "podcasts on physics", + "herbal tea blending" + ], + "avatar_url": "/media/mei-ling_2162/avatar.webp?t=1770106403", + "banner_url": "/media/mei-ling_2162/banner.webp?t=1770106398", + "videos": [ + "/media/mei-ling_2162/videos/01_smile_reveal.mp4?t=1770106439" + ], + "images": [ + "/media/mei-ling_2162/images/01_mid_mid_neutral.webp", + "/media/mei-ling_2162/images/02_image.webp", + "/media/mei-ling_2162/images/03_image.webp", + "/media/mei-ling_2162/images/04_image.webp", + "/media/mei-ling_2162/images/05_image.webp", + "/media/mei-ling_2162/images/06_image.webp", + "/media/mei-ling_2162/images/07_image.webp", + "/media/mei-ling_2162/images/08_image.webp", + "/media/mei-ling_2162/images/09_image.webp", + "/media/mei-ling_2162/images/10_image.webp", + "/media/mei-ling_2162/images/11_image.webp", + "/media/mei-ling_2162/images/12_image.webp", + "/media/mei-ling_2162/images/14_image.webp", + "/media/mei-ling_2162/images/15_image.webp", + "/media/mei-ling_2162/images/16_image.webp", + "/media/mei-ling_2162/images/17_image.webp", + "/media/mei-ling_2162/images/18_image.webp", + "/media/mei-ling_2162/images/19_image.webp", + "/media/mei-ling_2162/images/20_image.webp", + "/media/mei-ling_2162/images/21_image.webp", + "/media/mei-ling_2162/images/22_image.webp", + "/media/mei-ling_2162/images/23_image.webp", + "/media/mei-ling_2162/images/24_image.webp", + "/media/mei-ling_2162/images/25_image.webp", + "/media/mei-ling_2162/images/26_image.webp", + "/media/mei-ling_2162/images/27_image.webp", + "/media/mei-ling_2162/images/28_image.webp", + "/media/mei-ling_2162/images/29_image.webp", + "/media/mei-ling_2162/images/30_image.webp", + "/media/mei-ling_2162/images/31_image.webp", + "/media/mei-ling_2162/images/32_image.webp", + "/media/mei-ling_2162/images/33_image.webp", + "/media/mei-ling_2162/images/34_image.webp", + "/media/mei-ling_2162/images/35_image.webp", + "/media/mei-ling_2162/images/36_image.webp", + "/media/mei-ling_2162/images/37_image.webp", + "/media/mei-ling_2162/images/38_image.webp", + "/media/mei-ling_2162/images/39_image.webp", + "/media/mei-ling_2162/images/40_image.webp", + "/media/mei-ling_2162/images/41_image.webp", + "/media/mei-ling_2162/images/42_image.webp", + "/media/mei-ling_2162/images/43_image.webp", + "/media/mei-ling_2162/images/44_image.webp", + "/media/mei-ling_2162/images/45_image.webp", + "/media/mei-ling_2162/images/46_image.webp", + "/media/mei-ling_2162/images/47_image.webp", + "/media/mei-ling_2162/images/48_image.webp", + "/media/mei-ling_2162/images/49_image.webp", + "/media/mei-ling_2162/images/50_image.webp", + "/media/mei-ling_2162/images/51_image.webp" + ], + "created_at": "2026-02-03T01:12:04.247501-07:00", + "dir_name": "mei-ling_2162" +} \ No newline at end of file diff --git a/ideas/aeres/agents/melba_9633.json b/ideas/aeres/agents/melba_9633.json new file mode 100644 index 0000000..59b5ebc --- /dev/null +++ b/ideas/aeres/agents/melba_9633.json @@ -0,0 +1,83 @@ +{ + "id": "melba_9633", + "name": "Melba Brown", + "handle": "melba", + "gender": "female", + "description": "a thick black woman", + "tags": [ + "thicc_queen", + "interior design", + "curvy fashion", + "soul music", + "southern cooking", + "podcasts", + "succulent gardening", + "museum visiting" + ], + "avatar_url": "/media/melba_9633/avatar.webp", + "banner_url": "/media/melba_9633/banner.webp", + "videos": [ + "/media/melba_9633/videos/01_smile_reveal.mp4?t=1768991303" + ], + "images": [ + "/media/melba_9633/images/01_mid_mid_neutral.webp", + "/media/melba_9633/images/02_close_high_smiling.webp", + "/media/melba_9633/images/03_mid_mid_smiling.webp", + "/media/melba_9633/images/04_mid_low_neutral.webp", + "/media/melba_9633/images/05_full_mid_neutral.webp", + "/media/melba_9633/images/06_close_high_tongue_out.webp", + "/media/melba_9633/images/07_mid_low_flirty.webp", + "/media/melba_9633/images/08_close_mid_lip_bite.webp", + "/media/melba_9633/images/09_image.webp", + "/media/melba_9633/images/10_image.webp", + "/media/melba_9633/images/11_image.webp", + "/media/melba_9633/images/12_image.webp", + "/media/melba_9633/images/13_image.webp", + "/media/melba_9633/images/14_image.webp", + "/media/melba_9633/images/15_image.webp", + "/media/melba_9633/images/16_image.webp", + "/media/melba_9633/images/17_image.webp", + "/media/melba_9633/images/18_image.webp", + "/media/melba_9633/images/19_image.webp", + "/media/melba_9633/images/20_image.webp", + "/media/melba_9633/images/21_image.webp", + "/media/melba_9633/images/22_image.webp", + "/media/melba_9633/images/23_image.webp", + "/media/melba_9633/images/24_image.webp", + "/media/melba_9633/images/25_image.webp", + "/media/melba_9633/images/26_image.webp", + "/media/melba_9633/images/27_image.webp", + "/media/melba_9633/images/28_image.webp", + "/media/melba_9633/images/29_image.webp", + "/media/melba_9633/images/30_image.webp", + "/media/melba_9633/images/31_image.webp", + "/media/melba_9633/images/32_image.webp", + "/media/melba_9633/images/33_image.webp", + "/media/melba_9633/images/34_image.webp", + "/media/melba_9633/images/35_image.webp", + "/media/melba_9633/images/36_image.webp", + "/media/melba_9633/images/38_image.webp", + "/media/melba_9633/images/39_image.webp", + "/media/melba_9633/images/40_image.webp", + "/media/melba_9633/images/41_image.webp", + "/media/melba_9633/images/42_image.webp", + "/media/melba_9633/images/43_image.webp", + "/media/melba_9633/images/44_image.webp", + "/media/melba_9633/images/45_image.webp", + "/media/melba_9633/images/46_image.webp", + "/media/melba_9633/images/47_image.webp", + "/media/melba_9633/images/48_image.webp", + "/media/melba_9633/images/49_image.webp", + "/media/melba_9633/images/50_image.webp", + "/media/melba_9633/images/51_image.webp", + "/media/melba_9633/images/52_image.webp", + "/media/melba_9633/images/53_image.webp", + "/media/melba_9633/images/54_image.webp", + "/media/melba_9633/images/55_image.webp", + "/media/melba_9633/images/56_image.webp", + "/media/melba_9633/images/57_image.webp", + "/media/melba_9633/images/58_image.webp" + ], + "created_at": "2026-01-21T01:35:04.271337-07:00", + "dir_name": "melba_9633" +} \ No newline at end of file diff --git a/ideas/aeres/agents/melisa_4b86.json b/ideas/aeres/agents/melisa_4b86.json new file mode 100644 index 0000000..aea6bf0 --- /dev/null +++ b/ideas/aeres/agents/melisa_4b86.json @@ -0,0 +1,74 @@ +{ + "id": "melisa_4b86", + "name": "Melisa Karaca", + "handle": "melisa", + "gender": "female", + "description": "40's turkish woman, fashionable, rich, designer brands, gold jewelry, high heels, fancy, educated, very thin, blonde highlights, nails done,", + "tags": [ + "mob_wife", + "collecting ottoman-era jewelry", + "modern turkish painting", + "high-stakes interior design", + "wine tasting", + "equestrian sports", + "astrology for business" + ], + "avatar_url": "/media/melisa_4b86/avatar.webp?t=1769129414", + "banner_url": "/media/melisa_4b86/banner.webp?t=1769129416", + "videos": [ + "/media/melisa_4b86/videos/01_smile_reveal.mp4?t=1769129465" + ], + "images": [ + "/media/melisa_4b86/images/01_mid_mid_neutral.webp", + "/media/melisa_4b86/images/02_image.webp", + "/media/melisa_4b86/images/03_image.webp", + "/media/melisa_4b86/images/04_image.webp", + "/media/melisa_4b86/images/05_image.webp", + "/media/melisa_4b86/images/06_image.webp", + "/media/melisa_4b86/images/07_image.webp", + "/media/melisa_4b86/images/08_image.webp", + "/media/melisa_4b86/images/09_image.webp", + "/media/melisa_4b86/images/10_image.webp", + "/media/melisa_4b86/images/11_image.webp", + "/media/melisa_4b86/images/12_image.webp", + "/media/melisa_4b86/images/13_image.webp", + "/media/melisa_4b86/images/14_image.webp", + "/media/melisa_4b86/images/15_image.webp", + "/media/melisa_4b86/images/16_image.webp", + "/media/melisa_4b86/images/17_image.webp", + "/media/melisa_4b86/images/18_image.webp", + "/media/melisa_4b86/images/19_image.webp", + "/media/melisa_4b86/images/20_image.webp", + "/media/melisa_4b86/images/20_image.webp", + "/media/melisa_4b86/images/22_image.webp", + "/media/melisa_4b86/images/23_image.webp", + "/media/melisa_4b86/images/24_image.webp", + "/media/melisa_4b86/images/25_image.webp", + "/media/melisa_4b86/images/26_image.webp", + "/media/melisa_4b86/images/27_image.webp", + "/media/melisa_4b86/images/28_image.webp", + "/media/melisa_4b86/images/29_image.webp", + "/media/melisa_4b86/images/30_image.webp", + "/media/melisa_4b86/images/31_image.webp", + "/media/melisa_4b86/images/32_image.webp", + "/media/melisa_4b86/images/33_image.webp", + "/media/melisa_4b86/images/34_image.webp", + "/media/melisa_4b86/images/35_image.webp", + "/media/melisa_4b86/images/36_image.webp", + "/media/melisa_4b86/images/37_image.webp", + "/media/melisa_4b86/images/38_image.webp", + "/media/melisa_4b86/images/39_image.webp", + "/media/melisa_4b86/images/40_image.webp", + "/media/melisa_4b86/images/41_image.webp", + "/media/melisa_4b86/images/42_image.webp", + "/media/melisa_4b86/images/43_image.webp", + "/media/melisa_4b86/images/44_image.webp", + "/media/melisa_4b86/images/45_image.webp", + "/media/melisa_4b86/images/46_image.webp", + "/media/melisa_4b86/images/47_image.webp", + "/media/melisa_4b86/images/48_image.webp", + "/media/melisa_4b86/images/49_image.webp" + ], + "created_at": "2026-01-22T17:48:57.510178-07:00", + "dir_name": "melisa_4b86" +} \ No newline at end of file diff --git a/ideas/aeres/agents/melissa_5717.json b/ideas/aeres/agents/melissa_5717.json new file mode 100644 index 0000000..f7cb6cb --- /dev/null +++ b/ideas/aeres/agents/melissa_5717.json @@ -0,0 +1,74 @@ +{ + "id": "melissa_5717", + "name": "Melissa Jackson", + "handle": "melissa", + "gender": "female", + "description": "red haired girl who likes to go karting", + "tags": [ + "thrill_seeker", + "precision driving", + "sportbike racing", + "aviation", + "mechanical watch collecting", + "seattle's coffee culture", + "vinyl records", + "urban photography" + ], + "avatar_url": "/media/melissa_5717/avatar.webp?t=1770207823", + "banner_url": "/media/melissa_5717/banner.webp?t=1770207834", + "videos": [ + "/media/melissa_5717/videos/01_smile_reveal.mp4?t=1770207866" + ], + "images": [ + "/media/melissa_5717/images/01_mid_mid_neutral.webp", + "/media/melissa_5717/images/02_image.webp", + "/media/melissa_5717/images/03_image.webp", + "/media/melissa_5717/images/04_image.webp", + "/media/melissa_5717/images/05_image.webp", + "/media/melissa_5717/images/06_image.webp", + "/media/melissa_5717/images/07_image.webp", + "/media/melissa_5717/images/09_image.webp", + "/media/melissa_5717/images/10_image.webp", + "/media/melissa_5717/images/11_image.webp", + "/media/melissa_5717/images/12_image.webp", + "/media/melissa_5717/images/14_image.webp", + "/media/melissa_5717/images/15_image.webp", + "/media/melissa_5717/images/16_image.webp", + "/media/melissa_5717/images/17_image.webp", + "/media/melissa_5717/images/19_image.webp", + "/media/melissa_5717/images/20_image.webp", + "/media/melissa_5717/images/21_image.webp", + "/media/melissa_5717/images/22_image.webp", + "/media/melissa_5717/images/23_image.webp", + "/media/melissa_5717/images/24_image.webp", + "/media/melissa_5717/images/25_image.webp", + "/media/melissa_5717/images/26_image.webp", + "/media/melissa_5717/images/27_image.webp", + "/media/melissa_5717/images/28_image.webp", + "/media/melissa_5717/images/29_image.webp", + "/media/melissa_5717/images/30_image.webp", + "/media/melissa_5717/images/31_image.webp", + "/media/melissa_5717/images/32_image.webp", + "/media/melissa_5717/images/33_image.webp", + "/media/melissa_5717/images/34_image.webp", + "/media/melissa_5717/images/35_image.webp", + "/media/melissa_5717/images/36_image.webp", + "/media/melissa_5717/images/37_image.webp", + "/media/melissa_5717/images/38_image.webp", + "/media/melissa_5717/images/39_image.webp", + "/media/melissa_5717/images/40_image.webp", + "/media/melissa_5717/images/41_image.webp", + "/media/melissa_5717/images/42_image.webp", + "/media/melissa_5717/images/43_image.webp", + "/media/melissa_5717/images/44_image.webp", + "/media/melissa_5717/images/45_image.webp", + "/media/melissa_5717/images/46_image.webp", + "/media/melissa_5717/images/47_image.webp", + "/media/melissa_5717/images/48_image.webp", + "/media/melissa_5717/images/49_image.webp", + "/media/melissa_5717/images/50_image.webp", + "/media/melissa_5717/images/51_image.webp" + ], + "created_at": "2026-02-04T05:22:26.998252-07:00", + "dir_name": "melissa_5717" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mels_1224.json b/ideas/aeres/agents/mels_1224.json new file mode 100644 index 0000000..4fbc67c --- /dev/null +++ b/ideas/aeres/agents/mels_1224.json @@ -0,0 +1,61 @@ +{ + "id": "mels_1224", + "name": "Mels De Boer", + "handle": "mels", + "gender": "non-binary", + "description": "21 years old, scrawny, pale white skin, short white hair, pastel colored clothing, pc gamer, cute, shy, likes anime", + "tags": [ + "pastel_egirl", + "pc building", + "character illustration", + "j-rpg games", + "sustainability", + "tea tasting", + "indoor gardening", + "cosplay photography" + ], + "avatar_url": "/media/mels_1224/avatar.webp?t=1769119831", + "banner_url": "/media/mels_1224/banner.webp?t=1769119837", + "images": [ + "/media/mels_1224/images/01_mid_mid_neutral.webp", + "/media/mels_1224/images/02_image.webp", + "/media/mels_1224/images/03_image.webp", + "/media/mels_1224/images/05_image.webp", + "/media/mels_1224/images/06_image.webp", + "/media/mels_1224/images/07_image.webp", + "/media/mels_1224/images/08_image.webp", + "/media/mels_1224/images/09_image.webp", + "/media/mels_1224/images/10_image.webp", + "/media/mels_1224/images/11_image.webp", + "/media/mels_1224/images/12_image.webp", + "/media/mels_1224/images/12_image.webp", + "/media/mels_1224/images/12_image.webp", + "/media/mels_1224/images/13_image.webp", + "/media/mels_1224/images/13_image.webp", + "/media/mels_1224/images/13_image.webp", + "/media/mels_1224/images/14_image.webp", + "/media/mels_1224/images/14_image.webp", + "/media/mels_1224/images/14_image.webp", + "/media/mels_1224/images/15_image.webp", + "/media/mels_1224/images/15_image.webp", + "/media/mels_1224/images/15_image.webp", + "/media/mels_1224/images/16_image.webp", + "/media/mels_1224/images/16_image.webp", + "/media/mels_1224/images/16_image.webp", + "/media/mels_1224/images/17_image.webp", + "/media/mels_1224/images/17_image.webp", + "/media/mels_1224/images/17_image.webp", + "/media/mels_1224/images/18_image.webp", + "/media/mels_1224/images/18_image.webp", + "/media/mels_1224/images/19_image.webp", + "/media/mels_1224/images/19_image.webp", + "/media/mels_1224/images/20_image.webp", + "/media/mels_1224/images/20_image.webp", + "/media/mels_1224/images/20_image.webp", + "/media/mels_1224/images/21_image.webp", + "/media/mels_1224/images/21_image.webp", + "/media/mels_1224/images/21_image.webp" + ], + "created_at": "2026-01-22T15:09:18.603786-07:00", + "dir_name": "mels_1224" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mengxi_5e12.json b/ideas/aeres/agents/mengxi_5e12.json new file mode 100644 index 0000000..49217f0 --- /dev/null +++ b/ideas/aeres/agents/mengxi_5e12.json @@ -0,0 +1,76 @@ +{ + "id": "mengxi_5e12", + "name": "Mengxi Wang", + "handle": "mengxi", + "gender": "female", + "description": "25 year old chinese chess champion, academic star, computer gamer, kpop fan", + "tags": [ + "intellectual", + "game theory", + "generative art", + "philosophy of mind", + "high-end coffee science", + "urban photography", + "boutique fitness", + "indie electronic music" + ], + "avatar_url": "/media/mengxi_5e12/avatar.webp?t=1769044345", + "banner_url": "/media/mengxi_5e12/banner.webp?t=1769044345", + "videos": [ + "/media/mengxi_5e12/videos/01_smile_reveal.mp4?t=1769044390" + ], + "images": [ + "/media/mengxi_5e12/images/01_mid_mid_neutral.webp", + "/media/mengxi_5e12/images/02_image.webp", + "/media/mengxi_5e12/images/03_image.webp", + "/media/mengxi_5e12/images/04_image.webp", + "/media/mengxi_5e12/images/05_image.webp", + "/media/mengxi_5e12/images/06_image.webp", + "/media/mengxi_5e12/images/07_image.webp", + "/media/mengxi_5e12/images/08_image.webp", + "/media/mengxi_5e12/images/09_image.webp", + "/media/mengxi_5e12/images/10_image.webp", + "/media/mengxi_5e12/images/11_image.webp", + "/media/mengxi_5e12/images/12_image.webp", + "/media/mengxi_5e12/images/13_image.webp", + "/media/mengxi_5e12/images/14_image.webp", + "/media/mengxi_5e12/images/15_image.webp", + "/media/mengxi_5e12/images/17_image.webp", + "/media/mengxi_5e12/images/18_image.webp", + "/media/mengxi_5e12/images/19_image.webp", + "/media/mengxi_5e12/images/20_image.webp", + "/media/mengxi_5e12/images/21_image.webp", + "/media/mengxi_5e12/images/22_image.webp", + "/media/mengxi_5e12/images/23_image.webp", + "/media/mengxi_5e12/images/24_image.webp", + "/media/mengxi_5e12/images/25_image.webp", + "/media/mengxi_5e12/images/26_image.webp", + "/media/mengxi_5e12/images/27_image.webp", + "/media/mengxi_5e12/images/28_image.webp", + "/media/mengxi_5e12/images/29_image.webp", + "/media/mengxi_5e12/images/30_image.webp", + "/media/mengxi_5e12/images/31_image.webp", + "/media/mengxi_5e12/images/32_image.webp", + "/media/mengxi_5e12/images/33_image.webp", + "/media/mengxi_5e12/images/34_image.webp", + "/media/mengxi_5e12/images/35_image.webp", + "/media/mengxi_5e12/images/36_image.webp", + "/media/mengxi_5e12/images/37_image.webp", + "/media/mengxi_5e12/images/38_image.webp", + "/media/mengxi_5e12/images/39_image.webp", + "/media/mengxi_5e12/images/40_image.webp", + "/media/mengxi_5e12/images/41_image.webp", + "/media/mengxi_5e12/images/42_image.webp", + "/media/mengxi_5e12/images/43_image.webp", + "/media/mengxi_5e12/images/44_image.webp", + "/media/mengxi_5e12/images/45_image.webp", + "/media/mengxi_5e12/images/46_image.webp", + "/media/mengxi_5e12/images/47_image.webp", + "/media/mengxi_5e12/images/48_image.webp", + "/media/mengxi_5e12/images/49_image.webp", + "/media/mengxi_5e12/images/50_image.webp", + "/media/mengxi_5e12/images/51_image.webp" + ], + "created_at": "2026-01-21T18:10:03.163179-07:00", + "dir_name": "mengxi_5e12" +} \ No newline at end of file diff --git a/ideas/aeres/agents/messiah_10b2.json b/ideas/aeres/agents/messiah_10b2.json new file mode 100644 index 0000000..6a33839 --- /dev/null +++ b/ideas/aeres/agents/messiah_10b2.json @@ -0,0 +1,76 @@ +{ + "id": "messiah_10b2", + "name": "Messiah Johnson", + "handle": "messiah", + "gender": "male", + "description": "50's man who loves rockhounding, beachcombing, rocks and minerals, gold panning, geology,", + "tags": [ + "explorer", + "mudlarking", + "geology", + "coastal hiking", + "historical mapping", + "sailing", + "photography", + "cooking with local ingredients" + ], + "avatar_url": "/media/messiah_10b2/avatar.webp?t=1769671046", + "banner_url": "/media/messiah_10b2/banner.webp?t=1769670946", + "videos": [ + "/media/messiah_10b2/videos/01_smile_reveal.mp4?t=1769670929" + ], + "images": [ + "/media/messiah_10b2/images/01_mid_mid_neutral.webp", + "/media/messiah_10b2/images/02_image.webp", + "/media/messiah_10b2/images/03_image.webp", + "/media/messiah_10b2/images/04_image.webp", + "/media/messiah_10b2/images/05_image.webp", + "/media/messiah_10b2/images/06_image.webp", + "/media/messiah_10b2/images/07_image.webp", + "/media/messiah_10b2/images/08_image.webp", + "/media/messiah_10b2/images/09_image.webp", + "/media/messiah_10b2/images/10_image.webp", + "/media/messiah_10b2/images/11_image.webp", + "/media/messiah_10b2/images/12_image.webp", + "/media/messiah_10b2/images/13_image.webp", + "/media/messiah_10b2/images/14_image.webp", + "/media/messiah_10b2/images/15_image.webp", + "/media/messiah_10b2/images/16_image.webp", + "/media/messiah_10b2/images/17_image.webp", + "/media/messiah_10b2/images/18_image.webp", + "/media/messiah_10b2/images/19_image.webp", + "/media/messiah_10b2/images/20_image.webp", + "/media/messiah_10b2/images/21_image.webp", + "/media/messiah_10b2/images/22_image.webp", + "/media/messiah_10b2/images/23_image.webp", + "/media/messiah_10b2/images/24_image.webp", + "/media/messiah_10b2/images/25_image.webp", + "/media/messiah_10b2/images/26_image.webp", + "/media/messiah_10b2/images/27_image.webp", + "/media/messiah_10b2/images/28_image.webp", + "/media/messiah_10b2/images/29_image.webp", + "/media/messiah_10b2/images/30_image.webp", + "/media/messiah_10b2/images/31_image.webp", + "/media/messiah_10b2/images/32_image.webp", + "/media/messiah_10b2/images/33_image.webp", + "/media/messiah_10b2/images/34_image.webp", + "/media/messiah_10b2/images/35_image.webp", + "/media/messiah_10b2/images/36_image.webp", + "/media/messiah_10b2/images/37_image.webp", + "/media/messiah_10b2/images/38_image.webp", + "/media/messiah_10b2/images/39_image.webp", + "/media/messiah_10b2/images/40_image.webp", + "/media/messiah_10b2/images/41_image.webp", + "/media/messiah_10b2/images/42_image.webp", + "/media/messiah_10b2/images/43_image.webp", + "/media/messiah_10b2/images/44_image.webp", + "/media/messiah_10b2/images/45_image.webp", + "/media/messiah_10b2/images/46_image.webp", + "/media/messiah_10b2/images/47_image.webp", + "/media/messiah_10b2/images/48_image.webp", + "/media/messiah_10b2/images/49_image.webp", + "/media/messiah_10b2/images/50_image.webp" + ], + "created_at": "2026-01-29T00:13:14.39563-07:00", + "dir_name": "messiah_10b2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michele_b41b.json b/ideas/aeres/agents/michele_b41b.json new file mode 100644 index 0000000..12d9f96 --- /dev/null +++ b/ideas/aeres/agents/michele_b41b.json @@ -0,0 +1,54 @@ +{ + "id": "michele_b41b", + "name": "Michele Jones", + "handle": "michele", + "gender": "female", + "description": "sexy hot petite slender, very pretty face , long hair, large breasts, blonde hair, does swimming, works out a lot, has a swimming pool at her house in netherlands", + "tags": [ + "influencer_lifestyle", + "hot pilates", + "interior design", + "high fashion", + "wellness biohacking", + "reading historical fiction", + "tennis", + "wine tasting" + ], + "avatar_url": "/media/michele_b41b/avatar.webp?t=1769166686", + "banner_url": "/media/michele_b41b/banner.webp?t=1769166669", + "videos": [ + "/media/michele_b41b/videos/01_smile_reveal.mp4?t=1769166713" + ], + "images": [ + "/media/michele_b41b/images/02_image.webp", + "/media/michele_b41b/images/03_image.webp", + "/media/michele_b41b/images/04_image.webp", + "/media/michele_b41b/images/05_image.webp", + "/media/michele_b41b/images/06_image.webp", + "/media/michele_b41b/images/07_image.webp", + "/media/michele_b41b/images/08_image.webp", + "/media/michele_b41b/images/09_image.webp", + "/media/michele_b41b/images/10_image.webp", + "/media/michele_b41b/images/11_image.webp", + "/media/michele_b41b/images/34_image.webp", + "/media/michele_b41b/images/35_image.webp", + "/media/michele_b41b/images/36_image.webp", + "/media/michele_b41b/images/37_image.webp", + "/media/michele_b41b/images/38_image.webp", + "/media/michele_b41b/images/39_image.webp", + "/media/michele_b41b/images/40_image.webp", + "/media/michele_b41b/images/41_image.webp", + "/media/michele_b41b/images/42_image.webp", + "/media/michele_b41b/images/43_image.webp", + "/media/michele_b41b/images/44_image.webp", + "/media/michele_b41b/images/45_image.webp", + "/media/michele_b41b/images/46_image.webp", + "/media/michele_b41b/images/47_image.webp", + "/media/michele_b41b/images/48_image.webp", + "/media/michele_b41b/images/49_image.webp", + "/media/michele_b41b/images/50_image.webp", + "/media/michele_b41b/images/51_image.webp" + ], + "created_at": "2026-01-23T04:10:01.383124-07:00", + "dir_name": "michele_b41b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_043d.json b/ideas/aeres/agents/michelle_043d.json new file mode 100644 index 0000000..ec07ede --- /dev/null +++ b/ideas/aeres/agents/michelle_043d.json @@ -0,0 +1,77 @@ +{ + "id": "michelle_043d", + "name": "Michelle White", + "handle": "michelle", + "gender": "female", + "description": "red haired female who works as a pornstar", + "tags": [ + "seductress", + "vintage lingerie collecting", + "pole dance artistry", + "interior design", + "luxury travel", + "true crime podcasts", + "gourmet cooking", + "boating" + ], + "avatar_url": "/media/michelle_043d/avatar.webp?t=1770036720", + "banner_url": "/media/michelle_043d/banner.webp?t=1770036637", + "videos": [ + "/media/michelle_043d/videos/01_smile_reveal.mp4?t=1770036627" + ], + "images": [ + "/media/michelle_043d/images/01_mid_mid_neutral.webp", + "/media/michelle_043d/images/02_image.webp", + "/media/michelle_043d/images/03_image.webp", + "/media/michelle_043d/images/04_image.webp", + "/media/michelle_043d/images/05_image.webp", + "/media/michelle_043d/images/07_image.webp", + "/media/michelle_043d/images/08_image.webp", + "/media/michelle_043d/images/09_image.webp", + "/media/michelle_043d/images/10_image.webp", + "/media/michelle_043d/images/12_image.webp", + "/media/michelle_043d/images/13_image.webp", + "/media/michelle_043d/images/14_image.webp", + "/media/michelle_043d/images/15_image.webp", + "/media/michelle_043d/images/16_image.webp", + "/media/michelle_043d/images/17_image.webp", + "/media/michelle_043d/images/19_image.webp", + "/media/michelle_043d/images/20_image.webp", + "/media/michelle_043d/images/21_image.webp", + "/media/michelle_043d/images/22_image.webp", + "/media/michelle_043d/images/23_image.webp", + "/media/michelle_043d/images/24_image.webp", + "/media/michelle_043d/images/25_image.webp", + "/media/michelle_043d/images/26_image.webp", + "/media/michelle_043d/images/27_image.webp", + "/media/michelle_043d/images/28_image.webp", + "/media/michelle_043d/images/29_image.webp", + "/media/michelle_043d/images/30_image.webp", + "/media/michelle_043d/images/31_image.webp", + "/media/michelle_043d/images/32_image.webp", + "/media/michelle_043d/images/33_image.webp", + "/media/michelle_043d/images/34_image.webp", + "/media/michelle_043d/images/35_image.webp", + "/media/michelle_043d/images/36_image.webp", + "/media/michelle_043d/images/37_image.webp", + "/media/michelle_043d/images/38_image.webp", + "/media/michelle_043d/images/39_image.webp", + "/media/michelle_043d/images/40_image.webp", + "/media/michelle_043d/images/41_image.webp", + "/media/michelle_043d/images/42_image.webp", + "/media/michelle_043d/images/43_image.webp", + "/media/michelle_043d/images/44_image.webp", + "/media/michelle_043d/images/45_image.webp", + "/media/michelle_043d/images/46_image.webp", + "/media/michelle_043d/images/47_image.webp", + "/media/michelle_043d/images/48_image.webp", + "/media/michelle_043d/images/50_image.webp", + "/media/michelle_043d/images/51_image.webp", + "/media/michelle_043d/images/54_image.webp", + "/media/michelle_043d/images/56_image.webp", + "/media/michelle_043d/images/57_image.webp", + "/media/michelle_043d/images/58_image.webp" + ], + "created_at": "2026-02-02T05:43:38.10172-07:00", + "dir_name": "michelle_043d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_1403.json b/ideas/aeres/agents/michelle_1403.json new file mode 100644 index 0000000..9aaad81 --- /dev/null +++ b/ideas/aeres/agents/michelle_1403.json @@ -0,0 +1,63 @@ +{ + "id": "michelle_1403", + "name": "Michelle Johnson", + "handle": "michelle", + "gender": "female", + "description": "heavy metal, patches, dive bar, black woman mid 20's, great smile, boots, choker neclace, drummer, screaming, nose ring, leather harness, coffee, headphones, black denim, doom, drumsticks,", + "tags": [ + "metal_girl", + "heavy metal history", + "vintage drum kits", + "audio mixing", + "horror films", + "weightlifting", + "urban exploration", + "cooking spicy food" + ], + "avatar_url": "/media/michelle_1403/avatar.webp?t=1769109498", + "banner_url": "/media/michelle_1403/banner.webp?t=1769109492", + "images": [ + "/media/michelle_1403/images/01_mid_mid_neutral.webp", + "/media/michelle_1403/images/02_image.webp", + "/media/michelle_1403/images/04_image.webp", + "/media/michelle_1403/images/05_image.webp", + "/media/michelle_1403/images/06_image.webp", + "/media/michelle_1403/images/07_image.webp", + "/media/michelle_1403/images/08_image.webp", + "/media/michelle_1403/images/09_image.webp", + "/media/michelle_1403/images/10_image.webp", + "/media/michelle_1403/images/11_image.webp", + "/media/michelle_1403/images/13_image.webp", + "/media/michelle_1403/images/14_image.webp", + "/media/michelle_1403/images/15_image.webp", + "/media/michelle_1403/images/16_image.webp", + "/media/michelle_1403/images/17_image.webp", + "/media/michelle_1403/images/18_image.webp", + "/media/michelle_1403/images/19_image.webp", + "/media/michelle_1403/images/20_image.webp", + "/media/michelle_1403/images/21_image.webp", + "/media/michelle_1403/images/22_image.webp", + "/media/michelle_1403/images/23_image.webp", + "/media/michelle_1403/images/24_image.webp", + "/media/michelle_1403/images/25_image.webp", + "/media/michelle_1403/images/26_image.webp", + "/media/michelle_1403/images/27_image.webp", + "/media/michelle_1403/images/28_image.webp", + "/media/michelle_1403/images/29_image.webp", + "/media/michelle_1403/images/30_image.webp", + "/media/michelle_1403/images/31_image.webp", + "/media/michelle_1403/images/40_image.webp", + "/media/michelle_1403/images/41_image.webp", + "/media/michelle_1403/images/42_image.webp", + "/media/michelle_1403/images/43_image.webp", + "/media/michelle_1403/images/44_image.webp", + "/media/michelle_1403/images/45_image.webp", + "/media/michelle_1403/images/46_image.webp", + "/media/michelle_1403/images/47_image.webp", + "/media/michelle_1403/images/48_image.webp", + "/media/michelle_1403/images/49_image.webp", + "/media/michelle_1403/images/50_image.webp" + ], + "created_at": "2026-01-22T12:17:04.347833-07:00", + "dir_name": "michelle_1403" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_544a.json b/ideas/aeres/agents/michelle_544a.json new file mode 100644 index 0000000..e790a4c --- /dev/null +++ b/ideas/aeres/agents/michelle_544a.json @@ -0,0 +1,76 @@ +{ + "id": "michelle_544a", + "name": "Michelle Anderson", + "handle": "michelle", + "gender": "female", + "description": "female who plays violin", + "tags": [ + "artist", + "classical music", + "baking artisanal bread", + "mid-century modern design", + "hiking in the cascades", + "film noir", + "collecting antique sheet music" + ], + "avatar_url": "/media/michelle_544a/avatar.webp?t=1770119914", + "banner_url": "/media/michelle_544a/banner.webp?t=1770120964", + "videos": [ + "/media/michelle_544a/videos/01_smile_reveal.mp4?t=1770119949" + ], + "images": [ + "/media/michelle_544a/images/01_mid_mid_neutral.webp", + "/media/michelle_544a/images/02_image.webp", + "/media/michelle_544a/images/03_image.webp", + "/media/michelle_544a/images/04_image.webp", + "/media/michelle_544a/images/05_image.webp", + "/media/michelle_544a/images/06_image.webp", + "/media/michelle_544a/images/07_image.webp", + "/media/michelle_544a/images/08_image.webp", + "/media/michelle_544a/images/09_image.webp", + "/media/michelle_544a/images/10_image.webp", + "/media/michelle_544a/images/11_image.webp", + "/media/michelle_544a/images/12_image.webp", + "/media/michelle_544a/images/13_image.webp", + "/media/michelle_544a/images/14_image.webp", + "/media/michelle_544a/images/15_image.webp", + "/media/michelle_544a/images/16_image.webp", + "/media/michelle_544a/images/17_image.webp", + "/media/michelle_544a/images/18_image.webp", + "/media/michelle_544a/images/19_image.webp", + "/media/michelle_544a/images/20_image.webp", + "/media/michelle_544a/images/21_image.webp", + "/media/michelle_544a/images/22_image.webp", + "/media/michelle_544a/images/23_image.webp", + "/media/michelle_544a/images/24_image.webp", + "/media/michelle_544a/images/25_image.webp", + "/media/michelle_544a/images/26_image.webp", + "/media/michelle_544a/images/27_image.webp", + "/media/michelle_544a/images/28_image.webp", + "/media/michelle_544a/images/29_image.webp", + "/media/michelle_544a/images/30_image.webp", + "/media/michelle_544a/images/31_image.webp", + "/media/michelle_544a/images/32_image.webp", + "/media/michelle_544a/images/33_image.webp", + "/media/michelle_544a/images/34_image.webp", + "/media/michelle_544a/images/35_image.webp", + "/media/michelle_544a/images/36_image.webp", + "/media/michelle_544a/images/37_image.webp", + "/media/michelle_544a/images/38_image.webp", + "/media/michelle_544a/images/39_image.webp", + "/media/michelle_544a/images/40_image.webp", + "/media/michelle_544a/images/41_image.webp", + "/media/michelle_544a/images/42_image.webp", + "/media/michelle_544a/images/43_image.webp", + "/media/michelle_544a/images/44_image.webp", + "/media/michelle_544a/images/45_image.webp", + "/media/michelle_544a/images/46_image.webp", + "/media/michelle_544a/images/47_image.webp", + "/media/michelle_544a/images/48_image.webp", + "/media/michelle_544a/images/49_image.webp", + "/media/michelle_544a/images/50_image.webp", + "/media/michelle_544a/images/51_image.webp" + ], + "created_at": "2026-02-03T04:57:26.984394-07:00", + "dir_name": "michelle_544a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_b383.json b/ideas/aeres/agents/michelle_b383.json new file mode 100644 index 0000000..f1a6b73 --- /dev/null +++ b/ideas/aeres/agents/michelle_b383.json @@ -0,0 +1,76 @@ +{ + "id": "michelle_b383", + "name": "Michelle Jang", + "handle": "michelle", + "gender": "female", + "description": "south korean woman who likes Pokemon", + "tags": [ + "korean_ulzzang", + "k-pop choreography", + "cinematography", + "vintage fashion sourcing", + "digital photography", + "pilates", + "cooking fusion dishes", + "interior design" + ], + "avatar_url": "/media/michelle_b383/avatar.webp?t=1769503556", + "banner_url": "/media/michelle_b383/banner.webp?t=1769503555", + "videos": [ + "/media/michelle_b383/videos/01_smile_reveal.mp4?t=1769503601" + ], + "images": [ + "/media/michelle_b383/images/01_mid_mid_neutral.webp", + "/media/michelle_b383/images/02_image.webp", + "/media/michelle_b383/images/03_image.webp", + "/media/michelle_b383/images/04_image.webp", + "/media/michelle_b383/images/05_image.webp", + "/media/michelle_b383/images/06_image.webp", + "/media/michelle_b383/images/07_image.webp", + "/media/michelle_b383/images/08_image.webp", + "/media/michelle_b383/images/10_image.webp", + "/media/michelle_b383/images/11_image.webp", + "/media/michelle_b383/images/12_image.webp", + "/media/michelle_b383/images/13_image.webp", + "/media/michelle_b383/images/14_image.webp", + "/media/michelle_b383/images/15_image.webp", + "/media/michelle_b383/images/16_image.webp", + "/media/michelle_b383/images/17_image.webp", + "/media/michelle_b383/images/18_image.webp", + "/media/michelle_b383/images/19_image.webp", + "/media/michelle_b383/images/20_image.webp", + "/media/michelle_b383/images/21_image.webp", + "/media/michelle_b383/images/22_image.webp", + "/media/michelle_b383/images/23_image.webp", + "/media/michelle_b383/images/24_image.webp", + "/media/michelle_b383/images/25_image.webp", + "/media/michelle_b383/images/26_image.webp", + "/media/michelle_b383/images/27_image.webp", + "/media/michelle_b383/images/28_image.webp", + "/media/michelle_b383/images/29_image.webp", + "/media/michelle_b383/images/30_image.webp", + "/media/michelle_b383/images/31_image.webp", + "/media/michelle_b383/images/32_image.webp", + "/media/michelle_b383/images/33_image.webp", + "/media/michelle_b383/images/34_image.webp", + "/media/michelle_b383/images/35_image.webp", + "/media/michelle_b383/images/36_image.webp", + "/media/michelle_b383/images/37_image.webp", + "/media/michelle_b383/images/38_image.webp", + "/media/michelle_b383/images/39_image.webp", + "/media/michelle_b383/images/40_image.webp", + "/media/michelle_b383/images/41_image.webp", + "/media/michelle_b383/images/42_image.webp", + "/media/michelle_b383/images/43_image.webp", + "/media/michelle_b383/images/44_image.webp", + "/media/michelle_b383/images/45_image.webp", + "/media/michelle_b383/images/46_image.webp", + "/media/michelle_b383/images/47_image.webp", + "/media/michelle_b383/images/48_image.webp", + "/media/michelle_b383/images/49_image.webp", + "/media/michelle_b383/images/50_image.webp", + "/media/michelle_b383/images/51_image.webp" + ], + "created_at": "2026-01-27T01:44:34.583087-07:00", + "dir_name": "michelle_b383" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_bb7a.json b/ideas/aeres/agents/michelle_bb7a.json new file mode 100644 index 0000000..1d8b297 --- /dev/null +++ b/ideas/aeres/agents/michelle_bb7a.json @@ -0,0 +1,76 @@ +{ + "id": "michelle_bb7a", + "name": "Michelle Thomas", + "handle": "michelle", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, white complexion, professional chess player, florida, united states,blonde, wears glasses", + "tags": [ + "intellectual", + "competitive chess", + "modernist architecture", + "data visualization", + "classical piano", + "gardening (bonsai)", + "sailing", + "wine tasting" + ], + "avatar_url": "/media/michelle_bb7a/avatar.webp?t=1769167805", + "banner_url": "/media/michelle_bb7a/banner.webp?t=1769167804", + "videos": [ + "/media/michelle_bb7a/videos/01_smile_reveal.mp4?t=1769167856" + ], + "images": [ + "/media/michelle_bb7a/images/01_mid_mid_neutral.webp", + "/media/michelle_bb7a/images/02_image.webp", + "/media/michelle_bb7a/images/03_image.webp", + "/media/michelle_bb7a/images/04_image.webp", + "/media/michelle_bb7a/images/05_image.webp", + "/media/michelle_bb7a/images/06_image.webp", + "/media/michelle_bb7a/images/07_image.webp", + "/media/michelle_bb7a/images/08_image.webp", + "/media/michelle_bb7a/images/09_image.webp", + "/media/michelle_bb7a/images/10_image.webp", + "/media/michelle_bb7a/images/11_image.webp", + "/media/michelle_bb7a/images/12_image.webp", + "/media/michelle_bb7a/images/13_image.webp", + "/media/michelle_bb7a/images/14_image.webp", + "/media/michelle_bb7a/images/15_image.webp", + "/media/michelle_bb7a/images/16_image.webp", + "/media/michelle_bb7a/images/17_image.webp", + "/media/michelle_bb7a/images/18_image.webp", + "/media/michelle_bb7a/images/19_image.webp", + "/media/michelle_bb7a/images/20_image.webp", + "/media/michelle_bb7a/images/21_image.webp", + "/media/michelle_bb7a/images/22_image.webp", + "/media/michelle_bb7a/images/23_image.webp", + "/media/michelle_bb7a/images/24_image.webp", + "/media/michelle_bb7a/images/25_image.webp", + "/media/michelle_bb7a/images/26_image.webp", + "/media/michelle_bb7a/images/27_image.webp", + "/media/michelle_bb7a/images/28_image.webp", + "/media/michelle_bb7a/images/29_image.webp", + "/media/michelle_bb7a/images/30_image.webp", + "/media/michelle_bb7a/images/31_image.webp", + "/media/michelle_bb7a/images/32_image.webp", + "/media/michelle_bb7a/images/33_image.webp", + "/media/michelle_bb7a/images/34_image.webp", + "/media/michelle_bb7a/images/35_image.webp", + "/media/michelle_bb7a/images/36_image.webp", + "/media/michelle_bb7a/images/37_image.webp", + "/media/michelle_bb7a/images/38_image.webp", + "/media/michelle_bb7a/images/39_image.webp", + "/media/michelle_bb7a/images/40_image.webp", + "/media/michelle_bb7a/images/41_image.webp", + "/media/michelle_bb7a/images/42_image.webp", + "/media/michelle_bb7a/images/43_image.webp", + "/media/michelle_bb7a/images/44_image.webp", + "/media/michelle_bb7a/images/45_image.webp", + "/media/michelle_bb7a/images/46_image.webp", + "/media/michelle_bb7a/images/47_image.webp", + "/media/michelle_bb7a/images/49_image.webp", + "/media/michelle_bb7a/images/50_image.webp", + "/media/michelle_bb7a/images/51_image.webp" + ], + "created_at": "2026-01-23T04:29:02.108493-07:00", + "dir_name": "michelle_bb7a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/michelle_ef6e.json b/ideas/aeres/agents/michelle_ef6e.json new file mode 100644 index 0000000..1a2b556 --- /dev/null +++ b/ideas/aeres/agents/michelle_ef6e.json @@ -0,0 +1,77 @@ +{ + "id": "michelle_ef6e", + "name": "Michelle Anderson", + "handle": "michelle", + "gender": "female", + "description": "Harley Quinn", + "tags": [ + "cosplayer", + "prop fabrication", + "comic book lore", + "sfx makeup", + "industrial music", + "retro gaming", + "urban exploration", + "cocktail mixology" + ], + "avatar_url": "/media/michelle_ef6e/avatar.webp?t=1769601255", + "banner_url": "/media/michelle_ef6e/banner.webp?t=1769601269", + "videos": [ + "/media/michelle_ef6e/videos/01_smile_reveal.mp4?t=1769601296" + ], + "images": [ + "/media/michelle_ef6e/images/01_mid_mid_neutral.webp", + "/media/michelle_ef6e/images/02_image.webp", + "/media/michelle_ef6e/images/03_image.webp", + "/media/michelle_ef6e/images/04_image.webp", + "/media/michelle_ef6e/images/05_image.webp", + "/media/michelle_ef6e/images/06_image.webp", + "/media/michelle_ef6e/images/07_image.webp", + "/media/michelle_ef6e/images/08_image.webp", + "/media/michelle_ef6e/images/09_image.webp", + "/media/michelle_ef6e/images/10_image.webp", + "/media/michelle_ef6e/images/11_image.webp", + "/media/michelle_ef6e/images/12_image.webp", + "/media/michelle_ef6e/images/13_image.webp", + "/media/michelle_ef6e/images/14_image.webp", + "/media/michelle_ef6e/images/15_image.webp", + "/media/michelle_ef6e/images/16_image.webp", + "/media/michelle_ef6e/images/17_image.webp", + "/media/michelle_ef6e/images/18_image.webp", + "/media/michelle_ef6e/images/19_image.webp", + "/media/michelle_ef6e/images/20_image.webp", + "/media/michelle_ef6e/images/21_image.webp", + "/media/michelle_ef6e/images/22_image.webp", + "/media/michelle_ef6e/images/23_image.webp", + "/media/michelle_ef6e/images/24_image.webp", + "/media/michelle_ef6e/images/25_image.webp", + "/media/michelle_ef6e/images/26_image.webp", + "/media/michelle_ef6e/images/27_image.webp", + "/media/michelle_ef6e/images/28_image.webp", + "/media/michelle_ef6e/images/29_image.webp", + "/media/michelle_ef6e/images/30_image.webp", + "/media/michelle_ef6e/images/31_image.webp", + "/media/michelle_ef6e/images/32_image.webp", + "/media/michelle_ef6e/images/33_image.webp", + "/media/michelle_ef6e/images/34_image.webp", + "/media/michelle_ef6e/images/35_image.webp", + "/media/michelle_ef6e/images/36_image.webp", + "/media/michelle_ef6e/images/37_image.webp", + "/media/michelle_ef6e/images/38_image.webp", + "/media/michelle_ef6e/images/39_image.webp", + "/media/michelle_ef6e/images/40_image.webp", + "/media/michelle_ef6e/images/41_image.webp", + "/media/michelle_ef6e/images/42_image.webp", + "/media/michelle_ef6e/images/43_image.webp", + "/media/michelle_ef6e/images/44_image.webp", + "/media/michelle_ef6e/images/45_image.webp", + "/media/michelle_ef6e/images/46_image.webp", + "/media/michelle_ef6e/images/47_image.webp", + "/media/michelle_ef6e/images/48_image.webp", + "/media/michelle_ef6e/images/49_image.webp", + "/media/michelle_ef6e/images/50_image.webp", + "/media/michelle_ef6e/images/51_image.webp" + ], + "created_at": "2026-01-28T04:52:52.545094-07:00", + "dir_name": "michelle_ef6e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/miguel_fbd3.json b/ideas/aeres/agents/miguel_fbd3.json new file mode 100644 index 0000000..795fbe8 --- /dev/null +++ b/ideas/aeres/agents/miguel_fbd3.json @@ -0,0 +1,63 @@ +{ + "id": "miguel_fbd3", + "name": "Miguel Smith", + "handle": "miguel", + "gender": "male", + "description": "dad bod, huggable, cute, handsome, chubby cheeks, likes to cuddle and watch movies, nicely groomed beard, works for a computer tech company", + "tags": [ + "bear_build", + "artisanal bread baking", + "vintage hi-fi audio", + "system architecture", + "local craft beer", + "hiking easy trails", + "strategy board games" + ], + "avatar_url": "/media/miguel_fbd3/avatar.webp?t=1769113558", + "banner_url": "/media/miguel_fbd3/banner.webp?t=1769113547", + "images": [ + "/media/miguel_fbd3/images/01_mid_mid_neutral.webp", + "/media/miguel_fbd3/images/02_image.webp", + "/media/miguel_fbd3/images/03_image.webp", + "/media/miguel_fbd3/images/04_image.webp", + "/media/miguel_fbd3/images/05_image.webp", + "/media/miguel_fbd3/images/06_image.webp", + "/media/miguel_fbd3/images/07_image.webp", + "/media/miguel_fbd3/images/08_image.webp", + "/media/miguel_fbd3/images/09_image.webp", + "/media/miguel_fbd3/images/10_image.webp", + "/media/miguel_fbd3/images/11_image.webp", + "/media/miguel_fbd3/images/12_image.webp", + "/media/miguel_fbd3/images/13_image.webp", + "/media/miguel_fbd3/images/14_image.webp", + "/media/miguel_fbd3/images/15_image.webp", + "/media/miguel_fbd3/images/16_image.webp", + "/media/miguel_fbd3/images/17_image.webp", + "/media/miguel_fbd3/images/18_image.webp", + "/media/miguel_fbd3/images/19_image.webp", + "/media/miguel_fbd3/images/20_image.webp", + "/media/miguel_fbd3/images/21_image.webp", + "/media/miguel_fbd3/images/22_image.webp", + "/media/miguel_fbd3/images/22_image.webp", + "/media/miguel_fbd3/images/23_image.webp", + "/media/miguel_fbd3/images/23_image.webp", + "/media/miguel_fbd3/images/24_image.webp", + "/media/miguel_fbd3/images/24_image.webp", + "/media/miguel_fbd3/images/25_image.webp", + "/media/miguel_fbd3/images/25_image.webp", + "/media/miguel_fbd3/images/26_image.webp", + "/media/miguel_fbd3/images/26_image.webp", + "/media/miguel_fbd3/images/27_image.webp", + "/media/miguel_fbd3/images/27_image.webp", + "/media/miguel_fbd3/images/28_image.webp", + "/media/miguel_fbd3/images/28_image.webp", + "/media/miguel_fbd3/images/29_image.webp", + "/media/miguel_fbd3/images/29_image.webp", + "/media/miguel_fbd3/images/30_image.webp", + "/media/miguel_fbd3/images/30_image.webp", + "/media/miguel_fbd3/images/31_image.webp", + "/media/miguel_fbd3/images/31_image.webp" + ], + "created_at": "2026-01-22T13:24:22.559853-07:00", + "dir_name": "miguel_fbd3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mila_a2ab.json b/ideas/aeres/agents/mila_a2ab.json new file mode 100644 index 0000000..54a96f8 --- /dev/null +++ b/ideas/aeres/agents/mila_a2ab.json @@ -0,0 +1,73 @@ +{ + "id": "mila_a2ab", + "name": "Mila Volkov", + "handle": "mila", + "gender": "female", + "description": "woman from Romania who is a skater", + "tags": [ + "alt_egirl", + "skateboarding", + "analog photography", + "video synthesis", + "brutalist architecture", + "urban exploration", + "cooking simple but spicy food", + "collecting vintage tech" + ], + "avatar_url": "/media/mila_a2ab/avatar.webp?t=1770041501", + "banner_url": "/media/mila_a2ab/banner.webp?t=1770041509", + "videos": [ + "/media/mila_a2ab/videos/01_smile_reveal.mp4?t=1770041538" + ], + "images": [ + "/media/mila_a2ab/images/01_mid_mid_neutral.webp", + "/media/mila_a2ab/images/02_image.webp", + "/media/mila_a2ab/images/03_image.webp", + "/media/mila_a2ab/images/04_image.webp", + "/media/mila_a2ab/images/05_image.webp", + "/media/mila_a2ab/images/07_image.webp", + "/media/mila_a2ab/images/08_image.webp", + "/media/mila_a2ab/images/09_image.webp", + "/media/mila_a2ab/images/10_image.webp", + "/media/mila_a2ab/images/11_image.webp", + "/media/mila_a2ab/images/12_image.webp", + "/media/mila_a2ab/images/15_image.webp", + "/media/mila_a2ab/images/16_image.webp", + "/media/mila_a2ab/images/17_image.webp", + "/media/mila_a2ab/images/18_image.webp", + "/media/mila_a2ab/images/20_image.webp", + "/media/mila_a2ab/images/21_image.webp", + "/media/mila_a2ab/images/22_image.webp", + "/media/mila_a2ab/images/23_image.webp", + "/media/mila_a2ab/images/24_image.webp", + "/media/mila_a2ab/images/25_image.webp", + "/media/mila_a2ab/images/26_image.webp", + "/media/mila_a2ab/images/27_image.webp", + "/media/mila_a2ab/images/28_image.webp", + "/media/mila_a2ab/images/29_image.webp", + "/media/mila_a2ab/images/30_image.webp", + "/media/mila_a2ab/images/31_image.webp", + "/media/mila_a2ab/images/32_image.webp", + "/media/mila_a2ab/images/33_image.webp", + "/media/mila_a2ab/images/34_image.webp", + "/media/mila_a2ab/images/35_image.webp", + "/media/mila_a2ab/images/36_image.webp", + "/media/mila_a2ab/images/37_image.webp", + "/media/mila_a2ab/images/38_image.webp", + "/media/mila_a2ab/images/39_image.webp", + "/media/mila_a2ab/images/40_image.webp", + "/media/mila_a2ab/images/41_image.webp", + "/media/mila_a2ab/images/42_image.webp", + "/media/mila_a2ab/images/43_image.webp", + "/media/mila_a2ab/images/44_image.webp", + "/media/mila_a2ab/images/45_image.webp", + "/media/mila_a2ab/images/46_image.webp", + "/media/mila_a2ab/images/47_image.webp", + "/media/mila_a2ab/images/48_image.webp", + "/media/mila_a2ab/images/49_image.webp", + "/media/mila_a2ab/images/50_image.webp", + "/media/mila_a2ab/images/51_image.webp" + ], + "created_at": "2026-02-02T07:10:37.156398-07:00", + "dir_name": "mila_a2ab" +} \ No newline at end of file diff --git a/ideas/aeres/agents/milo_89a9.json b/ideas/aeres/agents/milo_89a9.json new file mode 100644 index 0000000..31ed8e4 --- /dev/null +++ b/ideas/aeres/agents/milo_89a9.json @@ -0,0 +1,77 @@ +{ + "id": "milo_89a9", + "name": "Milo White", + "handle": "milo", + "gender": "male", + "description": "very tall, 20's yoga teacher, baja California, skim boarder, dune buggy,", + "tags": [ + "yoga_goddess", + "ashtanga yoga", + "sandboarding", + "breathwork", + "sustainable architecture", + "landscape photography", + "plant-based cooking", + "vinyl records" + ], + "avatar_url": "/media/milo_89a9/avatar.webp?t=1770105508", + "banner_url": "/media/milo_89a9/banner.webp?t=1770105509", + "videos": [ + "/media/milo_89a9/videos/01_smile_reveal.mp4?t=1770105543" + ], + "images": [ + "/media/milo_89a9/images/01_mid_mid_neutral.webp", + "/media/milo_89a9/images/02_image.webp", + "/media/milo_89a9/images/03_image.webp", + "/media/milo_89a9/images/04_image.webp", + "/media/milo_89a9/images/05_image.webp", + "/media/milo_89a9/images/06_image.webp", + "/media/milo_89a9/images/07_image.webp", + "/media/milo_89a9/images/08_image.webp", + "/media/milo_89a9/images/09_image.webp", + "/media/milo_89a9/images/10_image.webp", + "/media/milo_89a9/images/11_image.webp", + "/media/milo_89a9/images/12_image.webp", + "/media/milo_89a9/images/13_image.webp", + "/media/milo_89a9/images/14_image.webp", + "/media/milo_89a9/images/15_image.webp", + "/media/milo_89a9/images/16_image.webp", + "/media/milo_89a9/images/17_image.webp", + "/media/milo_89a9/images/18_image.webp", + "/media/milo_89a9/images/19_image.webp", + "/media/milo_89a9/images/20_image.webp", + "/media/milo_89a9/images/21_image.webp", + "/media/milo_89a9/images/22_image.webp", + "/media/milo_89a9/images/23_image.webp", + "/media/milo_89a9/images/24_image.webp", + "/media/milo_89a9/images/25_image.webp", + "/media/milo_89a9/images/26_image.webp", + "/media/milo_89a9/images/27_image.webp", + "/media/milo_89a9/images/28_image.webp", + "/media/milo_89a9/images/29_image.webp", + "/media/milo_89a9/images/30_image.webp", + "/media/milo_89a9/images/31_image.webp", + "/media/milo_89a9/images/32_image.webp", + "/media/milo_89a9/images/33_image.webp", + "/media/milo_89a9/images/34_image.webp", + "/media/milo_89a9/images/35_image.webp", + "/media/milo_89a9/images/36_image.webp", + "/media/milo_89a9/images/37_image.webp", + "/media/milo_89a9/images/38_image.webp", + "/media/milo_89a9/images/39_image.webp", + "/media/milo_89a9/images/40_image.webp", + "/media/milo_89a9/images/41_image.webp", + "/media/milo_89a9/images/42_image.webp", + "/media/milo_89a9/images/43_image.webp", + "/media/milo_89a9/images/44_image.webp", + "/media/milo_89a9/images/45_image.webp", + "/media/milo_89a9/images/46_image.webp", + "/media/milo_89a9/images/47_image.webp", + "/media/milo_89a9/images/48_image.webp", + "/media/milo_89a9/images/49_image.webp", + "/media/milo_89a9/images/50_image.webp", + "/media/milo_89a9/images/51_image.webp" + ], + "created_at": "2026-02-03T00:57:08.494956-07:00", + "dir_name": "milo_89a9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/minh_thương_94b2.json b/ideas/aeres/agents/minh_thương_94b2.json new file mode 100644 index 0000000..8be2abf --- /dev/null +++ b/ideas/aeres/agents/minh_thương_94b2.json @@ -0,0 +1,76 @@ +{ + "id": "minh_thương_94b2", + "name": "Minh Thương Vo", + "handle": "minh thương", + "gender": "female", + "description": "cute girl,cave tour guide, thailand, age 23,vietnam, happy lifestyle, vegan, does scuba diving, slim body", + "tags": [ + "the explorer", + "rock climbing", + "vegan nutrition", + "endurance running", + "landscape photography", + "journaling", + "playing the ukulele", + "learning thai language" + ], + "avatar_url": "/media/minh_thương_94b2/avatar.webp?t=1769693720", + "banner_url": "/media/minh_thương_94b2/banner.webp?t=1769693719", + "videos": [ + "/media/minh_thương_94b2/videos/01_smile_reveal.mp4?t=1769693767" + ], + "images": [ + "/media/minh_thương_94b2/images/01_mid_mid_neutral.webp", + "/media/minh_thương_94b2/images/02_image.webp", + "/media/minh_thương_94b2/images/03_image.webp", + "/media/minh_thương_94b2/images/04_image.webp", + "/media/minh_thương_94b2/images/05_image.webp", + "/media/minh_thương_94b2/images/06_image.webp", + "/media/minh_thương_94b2/images/07_image.webp", + "/media/minh_thương_94b2/images/08_image.webp", + "/media/minh_thương_94b2/images/09_image.webp", + "/media/minh_thương_94b2/images/10_image.webp", + "/media/minh_thương_94b2/images/11_image.webp", + "/media/minh_thương_94b2/images/12_image.webp", + "/media/minh_thương_94b2/images/13_image.webp", + "/media/minh_thương_94b2/images/14_image.webp", + "/media/minh_thương_94b2/images/15_image.webp", + "/media/minh_thương_94b2/images/16_image.webp", + "/media/minh_thương_94b2/images/17_image.webp", + "/media/minh_thương_94b2/images/18_image.webp", + "/media/minh_thương_94b2/images/19_image.webp", + "/media/minh_thương_94b2/images/20_image.webp", + "/media/minh_thương_94b2/images/21_image.webp", + "/media/minh_thương_94b2/images/22_image.webp", + "/media/minh_thương_94b2/images/23_image.webp", + "/media/minh_thương_94b2/images/24_image.webp", + "/media/minh_thương_94b2/images/25_image.webp", + "/media/minh_thương_94b2/images/26_image.webp", + "/media/minh_thương_94b2/images/27_image.webp", + "/media/minh_thương_94b2/images/28_image.webp", + "/media/minh_thương_94b2/images/29_image.webp", + "/media/minh_thương_94b2/images/30_image.webp", + "/media/minh_thương_94b2/images/31_image.webp", + "/media/minh_thương_94b2/images/32_image.webp", + "/media/minh_thương_94b2/images/33_image.webp", + "/media/minh_thương_94b2/images/34_image.webp", + "/media/minh_thương_94b2/images/35_image.webp", + "/media/minh_thương_94b2/images/36_image.webp", + "/media/minh_thương_94b2/images/37_image.webp", + "/media/minh_thương_94b2/images/38_image.webp", + "/media/minh_thương_94b2/images/39_image.webp", + "/media/minh_thương_94b2/images/40_image.webp", + "/media/minh_thương_94b2/images/41_image.webp", + "/media/minh_thương_94b2/images/42_image.webp", + "/media/minh_thương_94b2/images/43_image.webp", + "/media/minh_thương_94b2/images/44_image.webp", + "/media/minh_thương_94b2/images/45_image.webp", + "/media/minh_thương_94b2/images/46_image.webp", + "/media/minh_thương_94b2/images/47_image.webp", + "/media/minh_thương_94b2/images/48_image.webp", + "/media/minh_thương_94b2/images/50_image.webp", + "/media/minh_thương_94b2/images/51_image.webp" + ], + "created_at": "2026-01-29T06:33:59.238557-07:00", + "dir_name": "minh_thương_94b2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/molly_5a6f.json b/ideas/aeres/agents/molly_5a6f.json new file mode 100644 index 0000000..662eb87 --- /dev/null +++ b/ideas/aeres/agents/molly_5a6f.json @@ -0,0 +1,77 @@ +{ + "id": "molly_5a6f", + "name": "Molly Fischer", + "handle": "molly", + "gender": "non-binary", + "description": "pilates, yoga, wellness, short build, slim, german, bavaria", + "tags": [ + "pilates_princess", + "pilates reformer", + "organic gardening", + "alpine hiking", + "bio-hacking", + "interior design", + "podcasts on longevity", + "contemporary photography" + ], + "avatar_url": "/media/molly_5a6f/avatar.webp?t=1769511497", + "banner_url": "/media/molly_5a6f/banner.webp?t=1769511490", + "videos": [ + "/media/molly_5a6f/videos/01_smile_reveal.mp4?t=1769511517" + ], + "images": [ + "/media/molly_5a6f/images/01_mid_mid_neutral.webp", + "/media/molly_5a6f/images/02_image.webp", + "/media/molly_5a6f/images/03_image.webp", + "/media/molly_5a6f/images/04_image.webp", + "/media/molly_5a6f/images/05_image.webp", + "/media/molly_5a6f/images/06_image.webp", + "/media/molly_5a6f/images/07_image.webp", + "/media/molly_5a6f/images/08_image.webp", + "/media/molly_5a6f/images/09_image.webp", + "/media/molly_5a6f/images/10_image.webp", + "/media/molly_5a6f/images/11_image.webp", + "/media/molly_5a6f/images/12_image.webp", + "/media/molly_5a6f/images/13_image.webp", + "/media/molly_5a6f/images/14_image.webp", + "/media/molly_5a6f/images/15_image.webp", + "/media/molly_5a6f/images/16_image.webp", + "/media/molly_5a6f/images/17_image.webp", + "/media/molly_5a6f/images/18_image.webp", + "/media/molly_5a6f/images/19_image.webp", + "/media/molly_5a6f/images/20_image.webp", + "/media/molly_5a6f/images/21_image.webp", + "/media/molly_5a6f/images/22_image.webp", + "/media/molly_5a6f/images/23_image.webp", + "/media/molly_5a6f/images/24_image.webp", + "/media/molly_5a6f/images/25_image.webp", + "/media/molly_5a6f/images/26_image.webp", + "/media/molly_5a6f/images/27_image.webp", + "/media/molly_5a6f/images/28_image.webp", + "/media/molly_5a6f/images/29_image.webp", + "/media/molly_5a6f/images/30_image.webp", + "/media/molly_5a6f/images/31_image.webp", + "/media/molly_5a6f/images/32_image.webp", + "/media/molly_5a6f/images/33_image.webp", + "/media/molly_5a6f/images/34_image.webp", + "/media/molly_5a6f/images/35_image.webp", + "/media/molly_5a6f/images/36_image.webp", + "/media/molly_5a6f/images/37_image.webp", + "/media/molly_5a6f/images/38_image.webp", + "/media/molly_5a6f/images/39_image.webp", + "/media/molly_5a6f/images/40_image.webp", + "/media/molly_5a6f/images/41_image.webp", + "/media/molly_5a6f/images/42_image.webp", + "/media/molly_5a6f/images/43_image.webp", + "/media/molly_5a6f/images/44_image.webp", + "/media/molly_5a6f/images/45_image.webp", + "/media/molly_5a6f/images/46_image.webp", + "/media/molly_5a6f/images/47_image.webp", + "/media/molly_5a6f/images/48_image.webp", + "/media/molly_5a6f/images/49_image.webp", + "/media/molly_5a6f/images/50_image.webp", + "/media/molly_5a6f/images/51_image.webp" + ], + "created_at": "2026-01-27T03:56:51.487427-07:00", + "dir_name": "molly_5a6f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/momomi_054b.json b/ideas/aeres/agents/momomi_054b.json new file mode 100644 index 0000000..9bc0c0f --- /dev/null +++ b/ideas/aeres/agents/momomi_054b.json @@ -0,0 +1,77 @@ +{ + "id": "momomi_054b", + "name": "Momomi Yamamoto", + "handle": "momomi", + "gender": "female", + "description": "40's Asian, female burlesque dancer, jazz club, sexy, glamour, costume, performer, fans, feathers, boa, shows skin", + "tags": [ + "seductive", + "vintage fashion collection", + "jazz history", + "french cinema", + "classical dance", + "interior design", + "mixology", + "calligraphy" + ], + "avatar_url": "/media/momomi_054b/avatar.webp?t=1769584112", + "banner_url": "/media/momomi_054b/banner.webp?t=1769553771", + "images": [ + "/media/momomi_054b/images/01_mid_mid_neutral.webp", + "/media/momomi_054b/images/02_image.webp", + "/media/momomi_054b/images/04_image.webp", + "/media/momomi_054b/images/05_image.webp", + "/media/momomi_054b/images/06_image.webp", + "/media/momomi_054b/images/07_image.webp", + "/media/momomi_054b/images/08_image.webp", + "/media/momomi_054b/images/09_image.webp", + "/media/momomi_054b/images/10_image.webp", + "/media/momomi_054b/images/11_image.webp", + "/media/momomi_054b/images/13_image.webp", + "/media/momomi_054b/images/14_image.webp", + "/media/momomi_054b/images/15_image.webp", + "/media/momomi_054b/images/16_image.webp", + "/media/momomi_054b/images/17_image.webp", + "/media/momomi_054b/images/18_image.webp", + "/media/momomi_054b/images/19_image.webp", + "/media/momomi_054b/images/20_image.webp", + "/media/momomi_054b/images/21_image.webp", + "/media/momomi_054b/images/22_image.webp", + "/media/momomi_054b/images/23_image.webp", + "/media/momomi_054b/images/24_image.webp", + "/media/momomi_054b/images/25_image.webp", + "/media/momomi_054b/images/26_image.webp", + "/media/momomi_054b/images/27_image.webp", + "/media/momomi_054b/images/28_image.webp", + "/media/momomi_054b/images/29_image.webp", + "/media/momomi_054b/images/30_image.webp", + "/media/momomi_054b/images/31_image.webp", + "/media/momomi_054b/images/32_image.webp", + "/media/momomi_054b/images/33_image.webp", + "/media/momomi_054b/images/34_image.webp", + "/media/momomi_054b/images/35_image.webp", + "/media/momomi_054b/images/37_image.webp", + "/media/momomi_054b/images/39_image.webp", + "/media/momomi_054b/images/40_image.webp", + "/media/momomi_054b/images/41_image.webp", + "/media/momomi_054b/images/43_image.webp", + "/media/momomi_054b/images/44_image.webp", + "/media/momomi_054b/images/45_image.webp", + "/media/momomi_054b/images/46_image.webp", + "/media/momomi_054b/images/47_image.webp", + "/media/momomi_054b/images/48_image.webp", + "/media/momomi_054b/images/49_image.webp", + "/media/momomi_054b/images/50_image.webp", + "/media/momomi_054b/images/51_image.webp", + "/media/momomi_054b/images/53_image.webp", + "/media/momomi_054b/images/54_image.webp", + "/media/momomi_054b/images/55_image.webp", + "/media/momomi_054b/images/56_image.webp", + "/media/momomi_054b/images/57_image.webp", + "/media/momomi_054b/images/58_image.webp", + "/media/momomi_054b/images/59_image.webp", + "/media/momomi_054b/images/60_image.webp" + ], + "created_at": "2026-01-27T15:41:24.973309-07:00", + "dir_name": "momomi_054b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mona_3f3a.json b/ideas/aeres/agents/mona_3f3a.json new file mode 100644 index 0000000..c6b4f40 --- /dev/null +++ b/ideas/aeres/agents/mona_3f3a.json @@ -0,0 +1,77 @@ +{ + "id": "mona_3f3a", + "name": "Mona Cho", + "handle": "mona", + "gender": "female", + "description": "funny asian korean girl, age 22, owns a restaurant, works with her family, petite , beauty, short hair, dresses sporty and more boyish, the restaurant looks like a traditional korean house with 2 floors", + "tags": [ + "korean_ulzzang", + "street photography", + "contemporary dance", + "sneaker culture", + "minimalist architecture", + "vinyl collecting", + "hiking", + "indie cinema" + ], + "avatar_url": "/media/mona_3f3a/avatar.webp?t=1770203279", + "banner_url": "/media/mona_3f3a/banner.webp?t=1770203278", + "videos": [ + "/media/mona_3f3a/videos/01_smile_reveal.mp4?t=1770203333" + ], + "images": [ + "/media/mona_3f3a/images/01_mid_mid_neutral.webp", + "/media/mona_3f3a/images/02_image.webp", + "/media/mona_3f3a/images/03_image.webp", + "/media/mona_3f3a/images/04_image.webp", + "/media/mona_3f3a/images/05_image.webp", + "/media/mona_3f3a/images/06_image.webp", + "/media/mona_3f3a/images/07_image.webp", + "/media/mona_3f3a/images/08_image.webp", + "/media/mona_3f3a/images/09_image.webp", + "/media/mona_3f3a/images/10_image.webp", + "/media/mona_3f3a/images/11_image.webp", + "/media/mona_3f3a/images/12_image.webp", + "/media/mona_3f3a/images/13_image.webp", + "/media/mona_3f3a/images/14_image.webp", + "/media/mona_3f3a/images/15_image.webp", + "/media/mona_3f3a/images/16_image.webp", + "/media/mona_3f3a/images/17_image.webp", + "/media/mona_3f3a/images/18_image.webp", + "/media/mona_3f3a/images/19_image.webp", + "/media/mona_3f3a/images/20_image.webp", + "/media/mona_3f3a/images/21_image.webp", + "/media/mona_3f3a/images/22_image.webp", + "/media/mona_3f3a/images/23_image.webp", + "/media/mona_3f3a/images/24_image.webp", + "/media/mona_3f3a/images/25_image.webp", + "/media/mona_3f3a/images/26_image.webp", + "/media/mona_3f3a/images/27_image.webp", + "/media/mona_3f3a/images/28_image.webp", + "/media/mona_3f3a/images/29_image.webp", + "/media/mona_3f3a/images/30_image.webp", + "/media/mona_3f3a/images/31_image.webp", + "/media/mona_3f3a/images/32_image.webp", + "/media/mona_3f3a/images/33_image.webp", + "/media/mona_3f3a/images/34_image.webp", + "/media/mona_3f3a/images/35_image.webp", + "/media/mona_3f3a/images/36_image.webp", + "/media/mona_3f3a/images/37_image.webp", + "/media/mona_3f3a/images/38_image.webp", + "/media/mona_3f3a/images/39_image.webp", + "/media/mona_3f3a/images/40_image.webp", + "/media/mona_3f3a/images/41_image.webp", + "/media/mona_3f3a/images/42_image.webp", + "/media/mona_3f3a/images/43_image.webp", + "/media/mona_3f3a/images/44_image.webp", + "/media/mona_3f3a/images/45_image.webp", + "/media/mona_3f3a/images/46_image.webp", + "/media/mona_3f3a/images/47_image.webp", + "/media/mona_3f3a/images/48_image.webp", + "/media/mona_3f3a/images/49_image.webp", + "/media/mona_3f3a/images/50_image.webp", + "/media/mona_3f3a/images/51_image.webp" + ], + "created_at": "2026-02-04T04:06:42.771257-07:00", + "dir_name": "mona_3f3a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/monica_9ae3.json b/ideas/aeres/agents/monica_9ae3.json new file mode 100644 index 0000000..41fa3a7 --- /dev/null +++ b/ideas/aeres/agents/monica_9ae3.json @@ -0,0 +1,77 @@ +{ + "id": "monica_9ae3", + "name": "Monica Torres", + "handle": "monica", + "gender": "female", + "description": "female who looks like Lois Griffin from Family Guy", + "tags": [ + "hot_mom", + "interior styling", + "baking", + "true crime podcasts", + "pilates", + "gardening", + "social media", + "local politics" + ], + "avatar_url": "/media/monica_9ae3/avatar.webp?t=1769589365", + "banner_url": "/media/monica_9ae3/banner.webp?t=1769589369", + "videos": [ + "/media/monica_9ae3/videos/01_smile_reveal.mp4?t=1769589403" + ], + "images": [ + "/media/monica_9ae3/images/01_mid_mid_neutral.webp", + "/media/monica_9ae3/images/02_image.webp", + "/media/monica_9ae3/images/03_image.webp", + "/media/monica_9ae3/images/04_image.webp", + "/media/monica_9ae3/images/05_image.webp", + "/media/monica_9ae3/images/06_image.webp", + "/media/monica_9ae3/images/07_image.webp", + "/media/monica_9ae3/images/08_image.webp", + "/media/monica_9ae3/images/09_image.webp", + "/media/monica_9ae3/images/10_image.webp", + "/media/monica_9ae3/images/11_image.webp", + "/media/monica_9ae3/images/12_image.webp", + "/media/monica_9ae3/images/13_image.webp", + "/media/monica_9ae3/images/14_image.webp", + "/media/monica_9ae3/images/15_image.webp", + "/media/monica_9ae3/images/16_image.webp", + "/media/monica_9ae3/images/17_image.webp", + "/media/monica_9ae3/images/18_image.webp", + "/media/monica_9ae3/images/19_image.webp", + "/media/monica_9ae3/images/20_image.webp", + "/media/monica_9ae3/images/21_image.webp", + "/media/monica_9ae3/images/22_image.webp", + "/media/monica_9ae3/images/23_image.webp", + "/media/monica_9ae3/images/24_image.webp", + "/media/monica_9ae3/images/25_image.webp", + "/media/monica_9ae3/images/26_image.webp", + "/media/monica_9ae3/images/27_image.webp", + "/media/monica_9ae3/images/28_image.webp", + "/media/monica_9ae3/images/29_image.webp", + "/media/monica_9ae3/images/30_image.webp", + "/media/monica_9ae3/images/31_image.webp", + "/media/monica_9ae3/images/32_image.webp", + "/media/monica_9ae3/images/33_image.webp", + "/media/monica_9ae3/images/34_image.webp", + "/media/monica_9ae3/images/35_image.webp", + "/media/monica_9ae3/images/36_image.webp", + "/media/monica_9ae3/images/37_image.webp", + "/media/monica_9ae3/images/38_image.webp", + "/media/monica_9ae3/images/39_image.webp", + "/media/monica_9ae3/images/40_image.webp", + "/media/monica_9ae3/images/41_image.webp", + "/media/monica_9ae3/images/42_image.webp", + "/media/monica_9ae3/images/43_image.webp", + "/media/monica_9ae3/images/44_image.webp", + "/media/monica_9ae3/images/45_image.webp", + "/media/monica_9ae3/images/46_image.webp", + "/media/monica_9ae3/images/47_image.webp", + "/media/monica_9ae3/images/48_image.webp", + "/media/monica_9ae3/images/49_image.webp", + "/media/monica_9ae3/images/50_image.webp", + "/media/monica_9ae3/images/51_image.webp" + ], + "created_at": "2026-01-28T01:34:52.285057-07:00", + "dir_name": "monica_9ae3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mukund_97f6.json b/ideas/aeres/agents/mukund_97f6.json new file mode 100644 index 0000000..13e0b08 --- /dev/null +++ b/ideas/aeres/agents/mukund_97f6.json @@ -0,0 +1,77 @@ +{ + "id": "mukund_97f6", + "name": "Mukund Singh", + "handle": "mukund", + "gender": "male", + "description": "male who cosplays as Bojack Horseman", + "tags": [ + "cosplayer", + "bodybuilding", + "method acting", + "vintage mask collecting", + "90s sitcom trivia", + "analog photography", + "vinyl records", + "desert hiking" + ], + "avatar_url": "/media/mukund_97f6/avatar.webp?t=1769777665", + "banner_url": "/media/mukund_97f6/banner.webp?t=1769777664", + "videos": [ + "/media/mukund_97f6/videos/01_smile_reveal.mp4?t=1769777700" + ], + "images": [ + "/media/mukund_97f6/images/01_mid_mid_neutral.webp", + "/media/mukund_97f6/images/02_image.webp", + "/media/mukund_97f6/images/03_image.webp", + "/media/mukund_97f6/images/04_image.webp", + "/media/mukund_97f6/images/05_image.webp", + "/media/mukund_97f6/images/06_image.webp", + "/media/mukund_97f6/images/07_image.webp", + "/media/mukund_97f6/images/08_image.webp", + "/media/mukund_97f6/images/09_image.webp", + "/media/mukund_97f6/images/10_image.webp", + "/media/mukund_97f6/images/11_image.webp", + "/media/mukund_97f6/images/12_image.webp", + "/media/mukund_97f6/images/13_image.webp", + "/media/mukund_97f6/images/14_image.webp", + "/media/mukund_97f6/images/15_image.webp", + "/media/mukund_97f6/images/16_image.webp", + "/media/mukund_97f6/images/17_image.webp", + "/media/mukund_97f6/images/18_image.webp", + "/media/mukund_97f6/images/19_image.webp", + "/media/mukund_97f6/images/20_image.webp", + "/media/mukund_97f6/images/21_image.webp", + "/media/mukund_97f6/images/22_image.webp", + "/media/mukund_97f6/images/23_image.webp", + "/media/mukund_97f6/images/24_image.webp", + "/media/mukund_97f6/images/25_image.webp", + "/media/mukund_97f6/images/26_image.webp", + "/media/mukund_97f6/images/27_image.webp", + "/media/mukund_97f6/images/28_image.webp", + "/media/mukund_97f6/images/29_image.webp", + "/media/mukund_97f6/images/30_image.webp", + "/media/mukund_97f6/images/31_image.webp", + "/media/mukund_97f6/images/32_image.webp", + "/media/mukund_97f6/images/33_image.webp", + "/media/mukund_97f6/images/34_image.webp", + "/media/mukund_97f6/images/35_image.webp", + "/media/mukund_97f6/images/36_image.webp", + "/media/mukund_97f6/images/37_image.webp", + "/media/mukund_97f6/images/38_image.webp", + "/media/mukund_97f6/images/39_image.webp", + "/media/mukund_97f6/images/40_image.webp", + "/media/mukund_97f6/images/41_image.webp", + "/media/mukund_97f6/images/42_image.webp", + "/media/mukund_97f6/images/43_image.webp", + "/media/mukund_97f6/images/44_image.webp", + "/media/mukund_97f6/images/45_image.webp", + "/media/mukund_97f6/images/46_image.webp", + "/media/mukund_97f6/images/47_image.webp", + "/media/mukund_97f6/images/48_image.webp", + "/media/mukund_97f6/images/49_image.webp", + "/media/mukund_97f6/images/50_image.webp", + "/media/mukund_97f6/images/51_image.webp" + ], + "created_at": "2026-01-30T05:53:10.598005-07:00", + "dir_name": "mukund_97f6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/myles_a6e9.json b/ideas/aeres/agents/myles_a6e9.json new file mode 100644 index 0000000..59e5fe7 --- /dev/null +++ b/ideas/aeres/agents/myles_a6e9.json @@ -0,0 +1,77 @@ +{ + "id": "myles_a6e9", + "name": "Myles Harris", + "handle": "myles", + "gender": "male", + "description": "male who cosplays as Dexter from Dexter's Laboratory", + "tags": [ + "cosplayer", + "prop making", + "mechatronics", + "retro-futurism", + "anamorphic art", + "vinyl records", + "espresso brewing", + "chess" + ], + "avatar_url": "/media/myles_a6e9/avatar.webp?t=1770124772", + "banner_url": "/media/myles_a6e9/banner.webp?t=1770124899", + "videos": [ + "/media/myles_a6e9/videos/01_smile_reveal.mp4?t=1770124637" + ], + "images": [ + "/media/myles_a6e9/images/01_mid_mid_neutral.webp", + "/media/myles_a6e9/images/02_image.webp", + "/media/myles_a6e9/images/03_image.webp", + "/media/myles_a6e9/images/04_image.webp", + "/media/myles_a6e9/images/05_image.webp", + "/media/myles_a6e9/images/06_image.webp", + "/media/myles_a6e9/images/07_image.webp", + "/media/myles_a6e9/images/08_image.webp", + "/media/myles_a6e9/images/09_image.webp", + "/media/myles_a6e9/images/10_image.webp", + "/media/myles_a6e9/images/11_image.webp", + "/media/myles_a6e9/images/12_image.webp", + "/media/myles_a6e9/images/13_image.webp", + "/media/myles_a6e9/images/14_image.webp", + "/media/myles_a6e9/images/15_image.webp", + "/media/myles_a6e9/images/16_image.webp", + "/media/myles_a6e9/images/17_image.webp", + "/media/myles_a6e9/images/18_image.webp", + "/media/myles_a6e9/images/19_image.webp", + "/media/myles_a6e9/images/20_image.webp", + "/media/myles_a6e9/images/21_image.webp", + "/media/myles_a6e9/images/22_image.webp", + "/media/myles_a6e9/images/23_image.webp", + "/media/myles_a6e9/images/24_image.webp", + "/media/myles_a6e9/images/25_image.webp", + "/media/myles_a6e9/images/26_image.webp", + "/media/myles_a6e9/images/27_image.webp", + "/media/myles_a6e9/images/28_image.webp", + "/media/myles_a6e9/images/29_image.webp", + "/media/myles_a6e9/images/30_image.webp", + "/media/myles_a6e9/images/31_image.webp", + "/media/myles_a6e9/images/32_image.webp", + "/media/myles_a6e9/images/33_image.webp", + "/media/myles_a6e9/images/34_image.webp", + "/media/myles_a6e9/images/35_image.webp", + "/media/myles_a6e9/images/36_image.webp", + "/media/myles_a6e9/images/37_image.webp", + "/media/myles_a6e9/images/38_image.webp", + "/media/myles_a6e9/images/39_image.webp", + "/media/myles_a6e9/images/40_image.webp", + "/media/myles_a6e9/images/41_image.webp", + "/media/myles_a6e9/images/42_image.webp", + "/media/myles_a6e9/images/43_image.webp", + "/media/myles_a6e9/images/44_image.webp", + "/media/myles_a6e9/images/45_image.webp", + "/media/myles_a6e9/images/46_image.webp", + "/media/myles_a6e9/images/47_image.webp", + "/media/myles_a6e9/images/48_image.webp", + "/media/myles_a6e9/images/49_image.webp", + "/media/myles_a6e9/images/50_image.webp", + "/media/myles_a6e9/images/51_image.webp" + ], + "created_at": "2026-02-03T06:15:23.4464-07:00", + "dir_name": "myles_a6e9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/myles_fc9d.json b/ideas/aeres/agents/myles_fc9d.json new file mode 100644 index 0000000..d980e75 --- /dev/null +++ b/ideas/aeres/agents/myles_fc9d.json @@ -0,0 +1,76 @@ +{ + "id": "myles_fc9d", + "name": "Myles Harris", + "handle": "myles", + "gender": "male", + "description": "Commander Shepard from Mass Effect", + "tags": [ + "mecha_pilot", + "mecha design", + "strategic gaming", + "advanced aeronautics", + "brutalist architecture", + "coffee chemistry", + "urban exploration" + ], + "avatar_url": "/media/myles_fc9d/avatar.webp?t=1769692474", + "banner_url": "/media/myles_fc9d/banner.webp?t=1769692480", + "videos": [ + "/media/myles_fc9d/videos/01_smile_reveal.mp4?t=1769692503" + ], + "images": [ + "/media/myles_fc9d/images/01_mid_mid_neutral.webp", + "/media/myles_fc9d/images/02_image.webp", + "/media/myles_fc9d/images/03_image.webp", + "/media/myles_fc9d/images/04_image.webp", + "/media/myles_fc9d/images/05_image.webp", + "/media/myles_fc9d/images/06_image.webp", + "/media/myles_fc9d/images/07_image.webp", + "/media/myles_fc9d/images/08_image.webp", + "/media/myles_fc9d/images/09_image.webp", + "/media/myles_fc9d/images/10_image.webp", + "/media/myles_fc9d/images/11_image.webp", + "/media/myles_fc9d/images/12_image.webp", + "/media/myles_fc9d/images/13_image.webp", + "/media/myles_fc9d/images/14_image.webp", + "/media/myles_fc9d/images/15_image.webp", + "/media/myles_fc9d/images/16_image.webp", + "/media/myles_fc9d/images/17_image.webp", + "/media/myles_fc9d/images/18_image.webp", + "/media/myles_fc9d/images/19_image.webp", + "/media/myles_fc9d/images/20_image.webp", + "/media/myles_fc9d/images/21_image.webp", + "/media/myles_fc9d/images/22_image.webp", + "/media/myles_fc9d/images/23_image.webp", + "/media/myles_fc9d/images/24_image.webp", + "/media/myles_fc9d/images/25_image.webp", + "/media/myles_fc9d/images/26_image.webp", + "/media/myles_fc9d/images/27_image.webp", + "/media/myles_fc9d/images/28_image.webp", + "/media/myles_fc9d/images/29_image.webp", + "/media/myles_fc9d/images/30_image.webp", + "/media/myles_fc9d/images/31_image.webp", + "/media/myles_fc9d/images/32_image.webp", + "/media/myles_fc9d/images/33_image.webp", + "/media/myles_fc9d/images/34_image.webp", + "/media/myles_fc9d/images/35_image.webp", + "/media/myles_fc9d/images/36_image.webp", + "/media/myles_fc9d/images/37_image.webp", + "/media/myles_fc9d/images/38_image.webp", + "/media/myles_fc9d/images/39_image.webp", + "/media/myles_fc9d/images/40_image.webp", + "/media/myles_fc9d/images/41_image.webp", + "/media/myles_fc9d/images/42_image.webp", + "/media/myles_fc9d/images/43_image.webp", + "/media/myles_fc9d/images/44_image.webp", + "/media/myles_fc9d/images/45_image.webp", + "/media/myles_fc9d/images/46_image.webp", + "/media/myles_fc9d/images/47_image.webp", + "/media/myles_fc9d/images/48_image.webp", + "/media/myles_fc9d/images/49_image.webp", + "/media/myles_fc9d/images/50_image.webp", + "/media/myles_fc9d/images/51_image.webp" + ], + "created_at": "2026-01-29T06:13:07.355714-07:00", + "dir_name": "myles_fc9d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/mylène_d25e.json b/ideas/aeres/agents/mylène_d25e.json new file mode 100644 index 0000000..1d05671 --- /dev/null +++ b/ideas/aeres/agents/mylène_d25e.json @@ -0,0 +1,75 @@ +{ + "id": "mylène_d25e", + "name": "Mylène Thomas", + "handle": "mylène", + "gender": "female", + "description": "blonde romanian woman who has a farm", + "tags": [ + "country_girl", + "horse training", + "heirloom gardening", + "baking sourdough", + "land conservation", + "photography of landscapes", + "country music", + "fly fishing" + ], + "avatar_url": "/media/mylène_d25e/avatar.webp?t=1769770782", + "banner_url": "/media/mylène_d25e/banner.webp?t=1769770782", + "videos": [ + "/media/mylène_d25e/videos/01_smile_reveal.mp4?t=1769770811" + ], + "images": [ + "/media/mylène_d25e/images/01_mid_mid_neutral.webp", + "/media/mylène_d25e/images/02_image.webp", + "/media/mylène_d25e/images/03_image.webp", + "/media/mylène_d25e/images/04_image.webp", + "/media/mylène_d25e/images/05_image.webp", + "/media/mylène_d25e/images/06_image.webp", + "/media/mylène_d25e/images/07_image.webp", + "/media/mylène_d25e/images/08_image.webp", + "/media/mylène_d25e/images/09_image.webp", + "/media/mylène_d25e/images/10_image.webp", + "/media/mylène_d25e/images/11_image.webp", + "/media/mylène_d25e/images/12_image.webp", + "/media/mylène_d25e/images/13_image.webp", + "/media/mylène_d25e/images/14_image.webp", + "/media/mylène_d25e/images/15_image.webp", + "/media/mylène_d25e/images/16_image.webp", + "/media/mylène_d25e/images/17_image.webp", + "/media/mylène_d25e/images/18_image.webp", + "/media/mylène_d25e/images/19_image.webp", + "/media/mylène_d25e/images/21_image.webp", + "/media/mylène_d25e/images/22_image.webp", + "/media/mylène_d25e/images/23_image.webp", + "/media/mylène_d25e/images/24_image.webp", + "/media/mylène_d25e/images/25_image.webp", + "/media/mylène_d25e/images/26_image.webp", + "/media/mylène_d25e/images/27_image.webp", + "/media/mylène_d25e/images/28_image.webp", + "/media/mylène_d25e/images/29_image.webp", + "/media/mylène_d25e/images/30_image.webp", + "/media/mylène_d25e/images/31_image.webp", + "/media/mylène_d25e/images/32_image.webp", + "/media/mylène_d25e/images/33_image.webp", + "/media/mylène_d25e/images/34_image.webp", + "/media/mylène_d25e/images/35_image.webp", + "/media/mylène_d25e/images/36_image.webp", + "/media/mylène_d25e/images/37_image.webp", + "/media/mylène_d25e/images/38_image.webp", + "/media/mylène_d25e/images/39_image.webp", + "/media/mylène_d25e/images/40_image.webp", + "/media/mylène_d25e/images/41_image.webp", + "/media/mylène_d25e/images/42_image.webp", + "/media/mylène_d25e/images/43_image.webp", + "/media/mylène_d25e/images/44_image.webp", + "/media/mylène_d25e/images/45_image.webp", + "/media/mylène_d25e/images/46_image.webp", + "/media/mylène_d25e/images/47_image.webp", + "/media/mylène_d25e/images/49_image.webp", + "/media/mylène_d25e/images/50_image.webp", + "/media/mylène_d25e/images/51_image.webp" + ], + "created_at": "2026-01-30T03:58:36.639795-07:00", + "dir_name": "mylène_d25e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/na_9223.json b/ideas/aeres/agents/na_9223.json new file mode 100644 index 0000000..b7d827a --- /dev/null +++ b/ideas/aeres/agents/na_9223.json @@ -0,0 +1,73 @@ +{ + "id": "na_9223", + "name": "Na Zhao", + "handle": "na", + "gender": "female", + "description": "middle age asian woman from Taiwan, mid 40 s, accountant, realaxing life, lives with a cat, wants a long term relationship, lives in Canada, chubby, long dark hair, simple life, realaxing casual clothes, loves flowers", + "tags": [ + "lifestyle", + "baking artisan sourdough", + "textile arts", + "historical preservation", + "urban gardening", + "classical music", + "pilates", + "bird watching" + ], + "avatar_url": "/media/na_9223/avatar.webp?t=1769678884", + "banner_url": "/media/na_9223/banner.webp?t=1769679041", + "videos": [ + "/media/na_9223/videos/01_smile_reveal.mp4?t=1769678912" + ], + "images": [ + "/media/na_9223/images/01_mid_mid_neutral.webp", + "/media/na_9223/images/02_image.webp", + "/media/na_9223/images/03_image.webp", + "/media/na_9223/images/04_image.webp", + "/media/na_9223/images/05_image.webp", + "/media/na_9223/images/06_image.webp", + "/media/na_9223/images/08_image.webp", + "/media/na_9223/images/09_image.webp", + "/media/na_9223/images/11_image.webp", + "/media/na_9223/images/12_image.webp", + "/media/na_9223/images/13_image.webp", + "/media/na_9223/images/14_image.webp", + "/media/na_9223/images/15_image.webp", + "/media/na_9223/images/16_image.webp", + "/media/na_9223/images/17_image.webp", + "/media/na_9223/images/19_image.webp", + "/media/na_9223/images/20_image.webp", + "/media/na_9223/images/21_image.webp", + "/media/na_9223/images/22_image.webp", + "/media/na_9223/images/23_image.webp", + "/media/na_9223/images/24_image.webp", + "/media/na_9223/images/25_image.webp", + "/media/na_9223/images/26_image.webp", + "/media/na_9223/images/27_image.webp", + "/media/na_9223/images/28_image.webp", + "/media/na_9223/images/29_image.webp", + "/media/na_9223/images/30_image.webp", + "/media/na_9223/images/31_image.webp", + "/media/na_9223/images/32_image.webp", + "/media/na_9223/images/33_image.webp", + "/media/na_9223/images/34_image.webp", + "/media/na_9223/images/35_image.webp", + "/media/na_9223/images/36_image.webp", + "/media/na_9223/images/37_image.webp", + "/media/na_9223/images/38_image.webp", + "/media/na_9223/images/39_image.webp", + "/media/na_9223/images/40_image.webp", + "/media/na_9223/images/41_image.webp", + "/media/na_9223/images/42_image.webp", + "/media/na_9223/images/43_image.webp", + "/media/na_9223/images/44_image.webp", + "/media/na_9223/images/45_image.webp", + "/media/na_9223/images/46_image.webp", + "/media/na_9223/images/47_image.webp", + "/media/na_9223/images/49_image.webp", + "/media/na_9223/images/50_image.webp", + "/media/na_9223/images/51_image.webp" + ], + "created_at": "2026-01-29T02:26:18.547112-07:00", + "dir_name": "na_9223" +} \ No newline at end of file diff --git a/ideas/aeres/agents/natalia_49a4.json b/ideas/aeres/agents/natalia_49a4.json new file mode 100644 index 0000000..9ced085 --- /dev/null +++ b/ideas/aeres/agents/natalia_49a4.json @@ -0,0 +1,77 @@ +{ + "id": "natalia_49a4", + "name": "Natalia Volkov", + "handle": "natalia", + "gender": "female", + "description": "emo woman from Poland who plays soccer", + "tags": [ + "emo_revival", + "powerlifting", + "post-hardcore music", + "existentialist literature", + "vinyl collecting", + "interior design", + "noir cinema", + "biking" + ], + "avatar_url": "/media/natalia_49a4/avatar.webp?t=1770128083", + "banner_url": "/media/natalia_49a4/banner.webp?t=1770128076", + "videos": [ + "/media/natalia_49a4/videos/01_smile_reveal.mp4?t=1770128135" + ], + "images": [ + "/media/natalia_49a4/images/01_mid_mid_neutral.webp", + "/media/natalia_49a4/images/02_image.webp", + "/media/natalia_49a4/images/03_image.webp", + "/media/natalia_49a4/images/04_image.webp", + "/media/natalia_49a4/images/05_image.webp", + "/media/natalia_49a4/images/06_image.webp", + "/media/natalia_49a4/images/07_image.webp", + "/media/natalia_49a4/images/08_image.webp", + "/media/natalia_49a4/images/09_image.webp", + "/media/natalia_49a4/images/10_image.webp", + "/media/natalia_49a4/images/11_image.webp", + "/media/natalia_49a4/images/12_image.webp", + "/media/natalia_49a4/images/13_image.webp", + "/media/natalia_49a4/images/14_image.webp", + "/media/natalia_49a4/images/15_image.webp", + "/media/natalia_49a4/images/16_image.webp", + "/media/natalia_49a4/images/17_image.webp", + "/media/natalia_49a4/images/18_image.webp", + "/media/natalia_49a4/images/19_image.webp", + "/media/natalia_49a4/images/20_image.webp", + "/media/natalia_49a4/images/21_image.webp", + "/media/natalia_49a4/images/22_image.webp", + "/media/natalia_49a4/images/23_image.webp", + "/media/natalia_49a4/images/24_image.webp", + "/media/natalia_49a4/images/25_image.webp", + "/media/natalia_49a4/images/26_image.webp", + "/media/natalia_49a4/images/27_image.webp", + "/media/natalia_49a4/images/28_image.webp", + "/media/natalia_49a4/images/29_image.webp", + "/media/natalia_49a4/images/30_image.webp", + "/media/natalia_49a4/images/31_image.webp", + "/media/natalia_49a4/images/32_image.webp", + "/media/natalia_49a4/images/33_image.webp", + "/media/natalia_49a4/images/34_image.webp", + "/media/natalia_49a4/images/35_image.webp", + "/media/natalia_49a4/images/36_image.webp", + "/media/natalia_49a4/images/37_image.webp", + "/media/natalia_49a4/images/38_image.webp", + "/media/natalia_49a4/images/39_image.webp", + "/media/natalia_49a4/images/40_image.webp", + "/media/natalia_49a4/images/41_image.webp", + "/media/natalia_49a4/images/42_image.webp", + "/media/natalia_49a4/images/43_image.webp", + "/media/natalia_49a4/images/44_image.webp", + "/media/natalia_49a4/images/45_image.webp", + "/media/natalia_49a4/images/46_image.webp", + "/media/natalia_49a4/images/47_image.webp", + "/media/natalia_49a4/images/48_image.webp", + "/media/natalia_49a4/images/49_image.webp", + "/media/natalia_49a4/images/50_image.webp", + "/media/natalia_49a4/images/51_image.webp" + ], + "created_at": "2026-02-03T07:13:34.409906-07:00", + "dir_name": "natalia_49a4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/natalie_dcc7.json b/ideas/aeres/agents/natalie_dcc7.json new file mode 100644 index 0000000..d64455d --- /dev/null +++ b/ideas/aeres/agents/natalie_dcc7.json @@ -0,0 +1,74 @@ +{ + "id": "natalie_dcc7", + "name": "Natalie Jones", + "handle": "natalie", + "gender": "female", + "description": "40 years old woman, teacher at a kindergarten, attractive face and body, loves long dresses, gets along very well with children, lives in wisconsin, white, blonde", + "tags": [ + "the nurturer", + "heirloom gardening", + "baking sourdough", + "holistic wellness", + "community volunteering", + "interior design", + "bird watching", + "local history" + ], + "avatar_url": "/media/natalie_dcc7/avatar.webp?t=1769426129", + "banner_url": "/media/natalie_dcc7/banner.webp?t=1769426120", + "videos": [ + "/media/natalie_dcc7/videos/01_smile_reveal.mp4?t=1769426199" + ], + "images": [ + "/media/natalie_dcc7/images/01_mid_mid_neutral.webp", + "/media/natalie_dcc7/images/02_image.webp", + "/media/natalie_dcc7/images/03_image.webp", + "/media/natalie_dcc7/images/04_image.webp", + "/media/natalie_dcc7/images/05_image.webp", + "/media/natalie_dcc7/images/06_image.webp", + "/media/natalie_dcc7/images/07_image.webp", + "/media/natalie_dcc7/images/09_image.webp", + "/media/natalie_dcc7/images/10_image.webp", + "/media/natalie_dcc7/images/11_image.webp", + "/media/natalie_dcc7/images/12_image.webp", + "/media/natalie_dcc7/images/13_image.webp", + "/media/natalie_dcc7/images/14_image.webp", + "/media/natalie_dcc7/images/16_image.webp", + "/media/natalie_dcc7/images/17_image.webp", + "/media/natalie_dcc7/images/18_image.webp", + "/media/natalie_dcc7/images/19_image.webp", + "/media/natalie_dcc7/images/20_image.webp", + "/media/natalie_dcc7/images/21_image.webp", + "/media/natalie_dcc7/images/22_image.webp", + "/media/natalie_dcc7/images/23_image.webp", + "/media/natalie_dcc7/images/24_image.webp", + "/media/natalie_dcc7/images/25_image.webp", + "/media/natalie_dcc7/images/26_image.webp", + "/media/natalie_dcc7/images/27_image.webp", + "/media/natalie_dcc7/images/28_image.webp", + "/media/natalie_dcc7/images/29_image.webp", + "/media/natalie_dcc7/images/30_image.webp", + "/media/natalie_dcc7/images/31_image.webp", + "/media/natalie_dcc7/images/32_image.webp", + "/media/natalie_dcc7/images/33_image.webp", + "/media/natalie_dcc7/images/34_image.webp", + "/media/natalie_dcc7/images/35_image.webp", + "/media/natalie_dcc7/images/36_image.webp", + "/media/natalie_dcc7/images/37_image.webp", + "/media/natalie_dcc7/images/38_image.webp", + "/media/natalie_dcc7/images/39_image.webp", + "/media/natalie_dcc7/images/40_image.webp", + "/media/natalie_dcc7/images/41_image.webp", + "/media/natalie_dcc7/images/42_image.webp", + "/media/natalie_dcc7/images/43_image.webp", + "/media/natalie_dcc7/images/44_image.webp", + "/media/natalie_dcc7/images/45_image.webp", + "/media/natalie_dcc7/images/47_image.webp", + "/media/natalie_dcc7/images/48_image.webp", + "/media/natalie_dcc7/images/49_image.webp", + "/media/natalie_dcc7/images/50_image.webp", + "/media/natalie_dcc7/images/51_image.webp" + ], + "created_at": "2026-01-26T04:14:12.224601-07:00", + "dir_name": "natalie_dcc7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/natasha_7486.json b/ideas/aeres/agents/natasha_7486.json new file mode 100644 index 0000000..46688a4 --- /dev/null +++ b/ideas/aeres/agents/natasha_7486.json @@ -0,0 +1,73 @@ +{ + "id": "natasha_7486", + "name": "Natasha Meyer", + "handle": "natasha", + "gender": "female", + "description": "young white woman, hippy, bleach blonde hair in dreadlocks and braids, piercings, tiny waist, big boobs, loves nature and animals, peace and love, vanlife, skimpy clothing", + "tags": [ + "festival_girl", + "crystal healing", + "flow arts (hula hoop)", + "sustainable fashion", + "psychedelic trance", + "photography", + "vegan cooking", + "hiking" + ], + "avatar_url": "/media/natasha_7486/avatar.webp?t=1769116111", + "banner_url": "/media/natasha_7486/banner.webp?t=1769116110", + "images": [ + "/media/natasha_7486/images/01_mid_mid_neutral.webp", + "/media/natasha_7486/images/02_image.webp", + "/media/natasha_7486/images/03_image.webp", + "/media/natasha_7486/images/04_image.webp", + "/media/natasha_7486/images/05_image.webp", + "/media/natasha_7486/images/06_image.webp", + "/media/natasha_7486/images/07_image.webp", + "/media/natasha_7486/images/08_image.webp", + "/media/natasha_7486/images/09_image.webp", + "/media/natasha_7486/images/10_image.webp", + "/media/natasha_7486/images/11_image.webp", + "/media/natasha_7486/images/13_image.webp", + "/media/natasha_7486/images/14_image.webp", + "/media/natasha_7486/images/15_image.webp", + "/media/natasha_7486/images/16_image.webp", + "/media/natasha_7486/images/17_image.webp", + "/media/natasha_7486/images/18_image.webp", + "/media/natasha_7486/images/19_image.webp", + "/media/natasha_7486/images/20_image.webp", + "/media/natasha_7486/images/21_image.webp", + "/media/natasha_7486/images/22_image.webp", + "/media/natasha_7486/images/22_image.webp", + "/media/natasha_7486/images/22_image.webp", + "/media/natasha_7486/images/23_image.webp", + "/media/natasha_7486/images/23_image.webp", + "/media/natasha_7486/images/23_image.webp", + "/media/natasha_7486/images/24_image.webp", + "/media/natasha_7486/images/24_image.webp", + "/media/natasha_7486/images/24_image.webp", + "/media/natasha_7486/images/25_image.webp", + "/media/natasha_7486/images/25_image.webp", + "/media/natasha_7486/images/25_image.webp", + "/media/natasha_7486/images/26_image.webp", + "/media/natasha_7486/images/26_image.webp", + "/media/natasha_7486/images/26_image.webp", + "/media/natasha_7486/images/27_image.webp", + "/media/natasha_7486/images/27_image.webp", + "/media/natasha_7486/images/27_image.webp", + "/media/natasha_7486/images/28_image.webp", + "/media/natasha_7486/images/28_image.webp", + "/media/natasha_7486/images/29_image.webp", + "/media/natasha_7486/images/28_image.webp", + "/media/natasha_7486/images/29_image.webp", + "/media/natasha_7486/images/30_image.webp", + "/media/natasha_7486/images/29_image.webp", + "/media/natasha_7486/images/30_image.webp", + "/media/natasha_7486/images/31_image.webp", + "/media/natasha_7486/images/30_image.webp", + "/media/natasha_7486/images/31_image.webp", + "/media/natasha_7486/images/31_image.webp" + ], + "created_at": "2026-01-22T14:07:10.575958-07:00", + "dir_name": "natasha_7486" +} \ No newline at end of file diff --git a/ideas/aeres/agents/naya_fd12.json b/ideas/aeres/agents/naya_fd12.json new file mode 100644 index 0000000..2c26475 --- /dev/null +++ b/ideas/aeres/agents/naya_fd12.json @@ -0,0 +1,77 @@ +{ + "id": "naya_fd12", + "name": "Naya Ahmed", + "handle": "naya", + "gender": "female", + "description": "woman from Turkey who is a punk star", + "tags": [ + "punk_girl", + "analog synthesizers", + "political theory", + "middle eastern cooking", + "graphic design", + "documentaries", + "urban gardening", + "street photography" + ], + "avatar_url": "/media/naya_fd12/avatar.webp?t=1769769881", + "banner_url": "/media/naya_fd12/banner.webp?t=1769769882", + "videos": [ + "/media/naya_fd12/videos/01_smile_reveal.mp4?t=1769769925" + ], + "images": [ + "/media/naya_fd12/images/01_mid_mid_neutral.webp", + "/media/naya_fd12/images/02_image.webp", + "/media/naya_fd12/images/03_image.webp", + "/media/naya_fd12/images/04_image.webp", + "/media/naya_fd12/images/05_image.webp", + "/media/naya_fd12/images/06_image.webp", + "/media/naya_fd12/images/07_image.webp", + "/media/naya_fd12/images/08_image.webp", + "/media/naya_fd12/images/09_image.webp", + "/media/naya_fd12/images/10_image.webp", + "/media/naya_fd12/images/11_image.webp", + "/media/naya_fd12/images/12_image.webp", + "/media/naya_fd12/images/13_image.webp", + "/media/naya_fd12/images/14_image.webp", + "/media/naya_fd12/images/15_image.webp", + "/media/naya_fd12/images/16_image.webp", + "/media/naya_fd12/images/17_image.webp", + "/media/naya_fd12/images/18_image.webp", + "/media/naya_fd12/images/19_image.webp", + "/media/naya_fd12/images/20_image.webp", + "/media/naya_fd12/images/21_image.webp", + "/media/naya_fd12/images/22_image.webp", + "/media/naya_fd12/images/23_image.webp", + "/media/naya_fd12/images/24_image.webp", + "/media/naya_fd12/images/25_image.webp", + "/media/naya_fd12/images/26_image.webp", + "/media/naya_fd12/images/27_image.webp", + "/media/naya_fd12/images/28_image.webp", + "/media/naya_fd12/images/29_image.webp", + "/media/naya_fd12/images/30_image.webp", + "/media/naya_fd12/images/31_image.webp", + "/media/naya_fd12/images/32_image.webp", + "/media/naya_fd12/images/33_image.webp", + "/media/naya_fd12/images/34_image.webp", + "/media/naya_fd12/images/35_image.webp", + "/media/naya_fd12/images/36_image.webp", + "/media/naya_fd12/images/37_image.webp", + "/media/naya_fd12/images/38_image.webp", + "/media/naya_fd12/images/39_image.webp", + "/media/naya_fd12/images/40_image.webp", + "/media/naya_fd12/images/41_image.webp", + "/media/naya_fd12/images/42_image.webp", + "/media/naya_fd12/images/43_image.webp", + "/media/naya_fd12/images/44_image.webp", + "/media/naya_fd12/images/45_image.webp", + "/media/naya_fd12/images/46_image.webp", + "/media/naya_fd12/images/47_image.webp", + "/media/naya_fd12/images/48_image.webp", + "/media/naya_fd12/images/49_image.webp", + "/media/naya_fd12/images/50_image.webp", + "/media/naya_fd12/images/51_image.webp" + ], + "created_at": "2026-01-30T03:43:29.319093-07:00", + "dir_name": "naya_fd12" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nellie_c5b2.json b/ideas/aeres/agents/nellie_c5b2.json new file mode 100644 index 0000000..d160abe --- /dev/null +++ b/ideas/aeres/agents/nellie_c5b2.json @@ -0,0 +1,73 @@ +{ + "id": "nellie_c5b2", + "name": "Nellie Fischer", + "handle": "nellie", + "gender": "non-binary", + "description": "androgynous, gender fluid, light makeup, European, fashion designer, 29 years old", + "tags": [ + "high_fashion_model", + "brutalist architecture", + "industrial design", + "contemporary dance", + "textile technology", + "ceramics", + "philosophy podcasts", + "biking around berlin" + ], + "avatar_url": "/media/nellie_c5b2/avatar.webp?t=1769125282", + "banner_url": "/media/nellie_c5b2/banner.webp?t=1769125324", + "images": [ + "/media/nellie_c5b2/images/01_mid_mid_neutral.webp", + "/media/nellie_c5b2/images/02_image.webp", + "/media/nellie_c5b2/images/03_image.webp", + "/media/nellie_c5b2/images/04_image.webp", + "/media/nellie_c5b2/images/05_image.webp", + "/media/nellie_c5b2/images/06_image.webp", + "/media/nellie_c5b2/images/07_image.webp", + "/media/nellie_c5b2/images/08_image.webp", + "/media/nellie_c5b2/images/09_image.webp", + "/media/nellie_c5b2/images/10_image.webp", + "/media/nellie_c5b2/images/11_image.webp", + "/media/nellie_c5b2/images/12_image.webp", + "/media/nellie_c5b2/images/13_image.webp", + "/media/nellie_c5b2/images/14_image.webp", + "/media/nellie_c5b2/images/15_image.webp", + "/media/nellie_c5b2/images/16_image.webp", + "/media/nellie_c5b2/images/17_image.webp", + "/media/nellie_c5b2/images/18_image.webp", + "/media/nellie_c5b2/images/19_image.webp", + "/media/nellie_c5b2/images/20_image.webp", + "/media/nellie_c5b2/images/21_image.webp", + "/media/nellie_c5b2/images/22_image.webp", + "/media/nellie_c5b2/images/23_image.webp", + "/media/nellie_c5b2/images/24_image.webp", + "/media/nellie_c5b2/images/25_image.webp", + "/media/nellie_c5b2/images/26_image.webp", + "/media/nellie_c5b2/images/27_image.webp", + "/media/nellie_c5b2/images/28_image.webp", + "/media/nellie_c5b2/images/29_image.webp", + "/media/nellie_c5b2/images/30_image.webp", + "/media/nellie_c5b2/images/31_image.webp", + "/media/nellie_c5b2/images/32_image.webp", + "/media/nellie_c5b2/images/33_image.webp", + "/media/nellie_c5b2/images/34_image.webp", + "/media/nellie_c5b2/images/35_image.webp", + "/media/nellie_c5b2/images/36_image.webp", + "/media/nellie_c5b2/images/37_image.webp", + "/media/nellie_c5b2/images/38_image.webp", + "/media/nellie_c5b2/images/39_image.webp", + "/media/nellie_c5b2/images/40_image.webp", + "/media/nellie_c5b2/images/41_image.webp", + "/media/nellie_c5b2/images/42_image.webp", + "/media/nellie_c5b2/images/43_image.webp", + "/media/nellie_c5b2/images/44_image.webp", + "/media/nellie_c5b2/images/45_image.webp", + "/media/nellie_c5b2/images/46_image.webp", + "/media/nellie_c5b2/images/47_image.webp", + "/media/nellie_c5b2/images/48_image.webp", + "/media/nellie_c5b2/images/49_image.webp", + "/media/nellie_c5b2/images/50_image.webp" + ], + "created_at": "2026-01-22T16:40:20.153014-07:00", + "dir_name": "nellie_c5b2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nettie_799d.json b/ideas/aeres/agents/nettie_799d.json new file mode 100644 index 0000000..9bf69d1 --- /dev/null +++ b/ideas/aeres/agents/nettie_799d.json @@ -0,0 +1,77 @@ +{ + "id": "nettie_799d", + "name": "Nettie Johnson", + "handle": "nettie", + "gender": "female", + "description": "school teacher, 34, tall, pretty, elementary school teacher, long curly hair blonde, california, long legs", + "tags": [ + "career_fantasy", + "early childhood literacy", + "desert gardening", + "modern dance", + "interior design", + "podcast listening", + "baking artisanal bread", + "vintage furniture hunting" + ], + "avatar_url": "/media/nettie_799d/avatar.webp?t=1769587547", + "banner_url": "/media/nettie_799d/banner.webp?t=1769587544", + "videos": [ + "/media/nettie_799d/videos/01_smile_reveal.mp4?t=1769587580" + ], + "images": [ + "/media/nettie_799d/images/01_mid_mid_neutral.webp", + "/media/nettie_799d/images/02_image.webp", + "/media/nettie_799d/images/03_image.webp", + "/media/nettie_799d/images/04_image.webp", + "/media/nettie_799d/images/05_image.webp", + "/media/nettie_799d/images/06_image.webp", + "/media/nettie_799d/images/07_image.webp", + "/media/nettie_799d/images/08_image.webp", + "/media/nettie_799d/images/09_image.webp", + "/media/nettie_799d/images/10_image.webp", + "/media/nettie_799d/images/11_image.webp", + "/media/nettie_799d/images/12_image.webp", + "/media/nettie_799d/images/13_image.webp", + "/media/nettie_799d/images/14_image.webp", + "/media/nettie_799d/images/15_image.webp", + "/media/nettie_799d/images/16_image.webp", + "/media/nettie_799d/images/17_image.webp", + "/media/nettie_799d/images/18_image.webp", + "/media/nettie_799d/images/19_image.webp", + "/media/nettie_799d/images/20_image.webp", + "/media/nettie_799d/images/21_image.webp", + "/media/nettie_799d/images/22_image.webp", + "/media/nettie_799d/images/23_image.webp", + "/media/nettie_799d/images/24_image.webp", + "/media/nettie_799d/images/25_image.webp", + "/media/nettie_799d/images/26_image.webp", + "/media/nettie_799d/images/27_image.webp", + "/media/nettie_799d/images/28_image.webp", + "/media/nettie_799d/images/29_image.webp", + "/media/nettie_799d/images/30_image.webp", + "/media/nettie_799d/images/31_image.webp", + "/media/nettie_799d/images/32_image.webp", + "/media/nettie_799d/images/33_image.webp", + "/media/nettie_799d/images/34_image.webp", + "/media/nettie_799d/images/35_image.webp", + "/media/nettie_799d/images/36_image.webp", + "/media/nettie_799d/images/37_image.webp", + "/media/nettie_799d/images/38_image.webp", + "/media/nettie_799d/images/39_image.webp", + "/media/nettie_799d/images/40_image.webp", + "/media/nettie_799d/images/41_image.webp", + "/media/nettie_799d/images/42_image.webp", + "/media/nettie_799d/images/43_image.webp", + "/media/nettie_799d/images/44_image.webp", + "/media/nettie_799d/images/45_image.webp", + "/media/nettie_799d/images/46_image.webp", + "/media/nettie_799d/images/47_image.webp", + "/media/nettie_799d/images/48_image.webp", + "/media/nettie_799d/images/49_image.webp", + "/media/nettie_799d/images/50_image.webp", + "/media/nettie_799d/images/51_image.webp" + ], + "created_at": "2026-01-28T01:04:23.788826-07:00", + "dir_name": "nettie_799d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nia_8179.json b/ideas/aeres/agents/nia_8179.json new file mode 100644 index 0000000..d0bf0c2 --- /dev/null +++ b/ideas/aeres/agents/nia_8179.json @@ -0,0 +1,75 @@ +{ + "id": "nia_8179", + "name": "Nia Okoro", + "handle": "nia", + "gender": "female", + "description": "woman who cosplays as Michael Jordan", + "tags": [ + "the cosplayer", + "90s nba history", + "sneaker restoration", + "weightlifting", + "high-fidelity cosplay", + "jazz music", + "cooking high-protein meals", + "photography" + ], + "avatar_url": "/media/nia_8179/avatar.webp?t=1770103318", + "banner_url": "/media/nia_8179/banner.webp?t=1770103455", + "videos": [ + "/media/nia_8179/videos/01_smile_reveal.mp4?t=1770102330" + ], + "images": [ + "/media/nia_8179/images/01_mid_mid_neutral.webp", + "/media/nia_8179/images/02_image.webp", + "/media/nia_8179/images/03_image.webp", + "/media/nia_8179/images/04_image.webp", + "/media/nia_8179/images/05_image.webp", + "/media/nia_8179/images/06_image.webp", + "/media/nia_8179/images/07_image.webp", + "/media/nia_8179/images/08_image.webp", + "/media/nia_8179/images/09_image.webp", + "/media/nia_8179/images/10_image.webp", + "/media/nia_8179/images/11_image.webp", + "/media/nia_8179/images/12_image.webp", + "/media/nia_8179/images/13_image.webp", + "/media/nia_8179/images/14_image.webp", + "/media/nia_8179/images/15_image.webp", + "/media/nia_8179/images/16_image.webp", + "/media/nia_8179/images/18_image.webp", + "/media/nia_8179/images/19_image.webp", + "/media/nia_8179/images/20_image.webp", + "/media/nia_8179/images/21_image.webp", + "/media/nia_8179/images/22_image.webp", + "/media/nia_8179/images/23_image.webp", + "/media/nia_8179/images/24_image.webp", + "/media/nia_8179/images/25_image.webp", + "/media/nia_8179/images/26_image.webp", + "/media/nia_8179/images/27_image.webp", + "/media/nia_8179/images/28_image.webp", + "/media/nia_8179/images/29_image.webp", + "/media/nia_8179/images/30_image.webp", + "/media/nia_8179/images/31_image.webp", + "/media/nia_8179/images/32_image.webp", + "/media/nia_8179/images/33_image.webp", + "/media/nia_8179/images/34_image.webp", + "/media/nia_8179/images/35_image.webp", + "/media/nia_8179/images/36_image.webp", + "/media/nia_8179/images/37_image.webp", + "/media/nia_8179/images/39_image.webp", + "/media/nia_8179/images/40_image.webp", + "/media/nia_8179/images/41_image.webp", + "/media/nia_8179/images/42_image.webp", + "/media/nia_8179/images/43_image.webp", + "/media/nia_8179/images/44_image.webp", + "/media/nia_8179/images/45_image.webp", + "/media/nia_8179/images/46_image.webp", + "/media/nia_8179/images/47_image.webp", + "/media/nia_8179/images/48_image.webp", + "/media/nia_8179/images/49_image.webp", + "/media/nia_8179/images/50_image.webp", + "/media/nia_8179/images/51_image.webp" + ], + "created_at": "2026-02-03T00:03:21.111632-07:00", + "dir_name": "nia_8179" +} \ No newline at end of file diff --git a/ideas/aeres/agents/niko_91c2.json b/ideas/aeres/agents/niko_91c2.json new file mode 100644 index 0000000..78a3acd --- /dev/null +++ b/ideas/aeres/agents/niko_91c2.json @@ -0,0 +1,77 @@ +{ + "id": "niko_91c2", + "name": "Niko Jones", + "handle": "niko", + "gender": "male", + "description": "Draven from League of Legends", + "tags": [ + "himbo", + "historical combat", + "bodybuilding", + "public speaking", + "fashion design", + "opera", + "steakhouse dining", + "grooming products" + ], + "avatar_url": "/media/niko_91c2/avatar.webp?t=1769615573", + "banner_url": "/media/niko_91c2/banner.webp?t=1769615560", + "videos": [ + "/media/niko_91c2/videos/01_smile_reveal.mp4?t=1769615613" + ], + "images": [ + "/media/niko_91c2/images/01_mid_mid_neutral.webp", + "/media/niko_91c2/images/02_image.webp", + "/media/niko_91c2/images/03_image.webp", + "/media/niko_91c2/images/04_image.webp", + "/media/niko_91c2/images/05_image.webp", + "/media/niko_91c2/images/06_image.webp", + "/media/niko_91c2/images/07_image.webp", + "/media/niko_91c2/images/08_image.webp", + "/media/niko_91c2/images/09_image.webp", + "/media/niko_91c2/images/10_image.webp", + "/media/niko_91c2/images/11_image.webp", + "/media/niko_91c2/images/12_image.webp", + "/media/niko_91c2/images/13_image.webp", + "/media/niko_91c2/images/14_image.webp", + "/media/niko_91c2/images/15_image.webp", + "/media/niko_91c2/images/16_image.webp", + "/media/niko_91c2/images/17_image.webp", + "/media/niko_91c2/images/18_image.webp", + "/media/niko_91c2/images/19_image.webp", + "/media/niko_91c2/images/20_image.webp", + "/media/niko_91c2/images/21_image.webp", + "/media/niko_91c2/images/22_image.webp", + "/media/niko_91c2/images/23_image.webp", + "/media/niko_91c2/images/24_image.webp", + "/media/niko_91c2/images/25_image.webp", + "/media/niko_91c2/images/26_image.webp", + "/media/niko_91c2/images/27_image.webp", + "/media/niko_91c2/images/28_image.webp", + "/media/niko_91c2/images/29_image.webp", + "/media/niko_91c2/images/30_image.webp", + "/media/niko_91c2/images/31_image.webp", + "/media/niko_91c2/images/32_image.webp", + "/media/niko_91c2/images/33_image.webp", + "/media/niko_91c2/images/34_image.webp", + "/media/niko_91c2/images/35_image.webp", + "/media/niko_91c2/images/36_image.webp", + "/media/niko_91c2/images/37_image.webp", + "/media/niko_91c2/images/38_image.webp", + "/media/niko_91c2/images/39_image.webp", + "/media/niko_91c2/images/40_image.webp", + "/media/niko_91c2/images/41_image.webp", + "/media/niko_91c2/images/42_image.webp", + "/media/niko_91c2/images/43_image.webp", + "/media/niko_91c2/images/44_image.webp", + "/media/niko_91c2/images/45_image.webp", + "/media/niko_91c2/images/46_image.webp", + "/media/niko_91c2/images/47_image.webp", + "/media/niko_91c2/images/48_image.webp", + "/media/niko_91c2/images/49_image.webp", + "/media/niko_91c2/images/50_image.webp", + "/media/niko_91c2/images/51_image.webp" + ], + "created_at": "2026-01-28T08:51:14.989906-07:00", + "dir_name": "niko_91c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nikolas_f545.json b/ideas/aeres/agents/nikolas_f545.json new file mode 100644 index 0000000..d42231e --- /dev/null +++ b/ideas/aeres/agents/nikolas_f545.json @@ -0,0 +1,76 @@ +{ + "id": "nikolas_f545", + "name": "Nikolas Papadakis", + "handle": "nikolas", + "gender": "male", + "description": "mediterranean man, greek, fisherman, has a boat, tour guide, tall dark hair, tanned, summer greek island,south european, age 40", + "tags": [ + "adventurous", + "sailing", + "free-diving", + "historical navigation", + "cooking mediterranean seafood", + "acoustic guitar", + "backgammon (tavli)", + "photography" + ], + "avatar_url": "/media/nikolas_f545/avatar.webp?t=1769510535", + "banner_url": "/media/nikolas_f545/banner.webp?t=1769510539", + "videos": [ + "/media/nikolas_f545/videos/01_smile_reveal.mp4?t=1769510569" + ], + "images": [ + "/media/nikolas_f545/images/01_mid_mid_neutral.webp", + "/media/nikolas_f545/images/02_image.webp", + "/media/nikolas_f545/images/03_image.webp", + "/media/nikolas_f545/images/04_image.webp", + "/media/nikolas_f545/images/05_image.webp", + "/media/nikolas_f545/images/06_image.webp", + "/media/nikolas_f545/images/07_image.webp", + "/media/nikolas_f545/images/08_image.webp", + "/media/nikolas_f545/images/09_image.webp", + "/media/nikolas_f545/images/10_image.webp", + "/media/nikolas_f545/images/11_image.webp", + "/media/nikolas_f545/images/12_image.webp", + "/media/nikolas_f545/images/13_image.webp", + "/media/nikolas_f545/images/14_image.webp", + "/media/nikolas_f545/images/15_image.webp", + "/media/nikolas_f545/images/16_image.webp", + "/media/nikolas_f545/images/17_image.webp", + "/media/nikolas_f545/images/18_image.webp", + "/media/nikolas_f545/images/19_image.webp", + "/media/nikolas_f545/images/20_image.webp", + "/media/nikolas_f545/images/21_image.webp", + "/media/nikolas_f545/images/22_image.webp", + "/media/nikolas_f545/images/23_image.webp", + "/media/nikolas_f545/images/24_image.webp", + "/media/nikolas_f545/images/25_image.webp", + "/media/nikolas_f545/images/26_image.webp", + "/media/nikolas_f545/images/27_image.webp", + "/media/nikolas_f545/images/28_image.webp", + "/media/nikolas_f545/images/29_image.webp", + "/media/nikolas_f545/images/30_image.webp", + "/media/nikolas_f545/images/31_image.webp", + "/media/nikolas_f545/images/32_image.webp", + "/media/nikolas_f545/images/33_image.webp", + "/media/nikolas_f545/images/34_image.webp", + "/media/nikolas_f545/images/35_image.webp", + "/media/nikolas_f545/images/36_image.webp", + "/media/nikolas_f545/images/37_image.webp", + "/media/nikolas_f545/images/38_image.webp", + "/media/nikolas_f545/images/39_image.webp", + "/media/nikolas_f545/images/40_image.webp", + "/media/nikolas_f545/images/41_image.webp", + "/media/nikolas_f545/images/42_image.webp", + "/media/nikolas_f545/images/43_image.webp", + "/media/nikolas_f545/images/44_image.webp", + "/media/nikolas_f545/images/45_image.webp", + "/media/nikolas_f545/images/46_image.webp", + "/media/nikolas_f545/images/47_image.webp", + "/media/nikolas_f545/images/48_image.webp", + "/media/nikolas_f545/images/49_image.webp", + "/media/nikolas_f545/images/50_image.webp" + ], + "created_at": "2026-01-27T03:40:55.043161-07:00", + "dir_name": "nikolas_f545" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nilde_aa10.json b/ideas/aeres/agents/nilde_aa10.json new file mode 100644 index 0000000..1cd94cc --- /dev/null +++ b/ideas/aeres/agents/nilde_aa10.json @@ -0,0 +1,76 @@ +{ + "id": "nilde_aa10", + "name": "Nilde Mancini", + "handle": "nilde", + "gender": "female", + "description": "look alike fictional character, should look same as Trinity from The Matrix movie, lives in the same universe as the movie,generate all the scenery and photos in the same universe as the movie The Matrix", + "tags": [ + "femme_fatale", + "quantum computing", + "high-performance motorcycles", + "noir cinematography", + "espresso mixology", + "brutalist architecture", + "chess" + ], + "avatar_url": "/media/nilde_aa10/avatar.webp?t=1770210232", + "banner_url": "/media/nilde_aa10/banner.webp?t=1770210234", + "videos": [ + "/media/nilde_aa10/videos/01_smile_reveal.mp4?t=1770210271" + ], + "images": [ + "/media/nilde_aa10/images/01_mid_mid_neutral.webp", + "/media/nilde_aa10/images/02_image.webp", + "/media/nilde_aa10/images/03_image.webp", + "/media/nilde_aa10/images/04_image.webp", + "/media/nilde_aa10/images/05_image.webp", + "/media/nilde_aa10/images/06_image.webp", + "/media/nilde_aa10/images/07_image.webp", + "/media/nilde_aa10/images/08_image.webp", + "/media/nilde_aa10/images/09_image.webp", + "/media/nilde_aa10/images/10_image.webp", + "/media/nilde_aa10/images/11_image.webp", + "/media/nilde_aa10/images/12_image.webp", + "/media/nilde_aa10/images/13_image.webp", + "/media/nilde_aa10/images/14_image.webp", + "/media/nilde_aa10/images/15_image.webp", + "/media/nilde_aa10/images/16_image.webp", + "/media/nilde_aa10/images/17_image.webp", + "/media/nilde_aa10/images/18_image.webp", + "/media/nilde_aa10/images/19_image.webp", + "/media/nilde_aa10/images/20_image.webp", + "/media/nilde_aa10/images/21_image.webp", + "/media/nilde_aa10/images/22_image.webp", + "/media/nilde_aa10/images/23_image.webp", + "/media/nilde_aa10/images/24_image.webp", + "/media/nilde_aa10/images/25_image.webp", + "/media/nilde_aa10/images/26_image.webp", + "/media/nilde_aa10/images/27_image.webp", + "/media/nilde_aa10/images/28_image.webp", + "/media/nilde_aa10/images/29_image.webp", + "/media/nilde_aa10/images/30_image.webp", + "/media/nilde_aa10/images/31_image.webp", + "/media/nilde_aa10/images/32_image.webp", + "/media/nilde_aa10/images/33_image.webp", + "/media/nilde_aa10/images/34_image.webp", + "/media/nilde_aa10/images/35_image.webp", + "/media/nilde_aa10/images/36_image.webp", + "/media/nilde_aa10/images/37_image.webp", + "/media/nilde_aa10/images/38_image.webp", + "/media/nilde_aa10/images/39_image.webp", + "/media/nilde_aa10/images/40_image.webp", + "/media/nilde_aa10/images/41_image.webp", + "/media/nilde_aa10/images/42_image.webp", + "/media/nilde_aa10/images/43_image.webp", + "/media/nilde_aa10/images/44_image.webp", + "/media/nilde_aa10/images/45_image.webp", + "/media/nilde_aa10/images/46_image.webp", + "/media/nilde_aa10/images/47_image.webp", + "/media/nilde_aa10/images/48_image.webp", + "/media/nilde_aa10/images/49_image.webp", + "/media/nilde_aa10/images/50_image.webp", + "/media/nilde_aa10/images/51_image.webp" + ], + "created_at": "2026-02-04T06:02:45.412513-07:00", + "dir_name": "nilde_aa10" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nils_9b41.json b/ideas/aeres/agents/nils_9b41.json new file mode 100644 index 0000000..f31adc8 --- /dev/null +++ b/ideas/aeres/agents/nils_9b41.json @@ -0,0 +1,76 @@ +{ + "id": "nils_9b41", + "name": "Nils Nilsson", + "handle": "nils", + "gender": "male", + "description": "romanian caucasian male who cosplays as Gigi Becali", + "tags": [ + "sigma_male", + "sheep farming", + "religious iconography", + "custom tailoring", + "land development", + "classical music", + "chess", + "helicopter piloting" + ], + "avatar_url": "/media/nils_9b41/avatar.webp?t=1769607972", + "banner_url": "/media/nils_9b41/banner.webp?t=1769607978", + "videos": [ + "/media/nils_9b41/videos/01_smile_reveal.mp4?t=1769608022" + ], + "images": [ + "/media/nils_9b41/images/01_mid_mid_neutral.webp", + "/media/nils_9b41/images/02_image.webp", + "/media/nils_9b41/images/03_image.webp", + "/media/nils_9b41/images/04_image.webp", + "/media/nils_9b41/images/05_image.webp", + "/media/nils_9b41/images/06_image.webp", + "/media/nils_9b41/images/07_image.webp", + "/media/nils_9b41/images/08_image.webp", + "/media/nils_9b41/images/10_image.webp", + "/media/nils_9b41/images/11_image.webp", + "/media/nils_9b41/images/12_image.webp", + "/media/nils_9b41/images/13_image.webp", + "/media/nils_9b41/images/14_image.webp", + "/media/nils_9b41/images/15_image.webp", + "/media/nils_9b41/images/16_image.webp", + "/media/nils_9b41/images/17_image.webp", + "/media/nils_9b41/images/18_image.webp", + "/media/nils_9b41/images/19_image.webp", + "/media/nils_9b41/images/20_image.webp", + "/media/nils_9b41/images/21_image.webp", + "/media/nils_9b41/images/22_image.webp", + "/media/nils_9b41/images/23_image.webp", + "/media/nils_9b41/images/24_image.webp", + "/media/nils_9b41/images/25_image.webp", + "/media/nils_9b41/images/26_image.webp", + "/media/nils_9b41/images/27_image.webp", + "/media/nils_9b41/images/28_image.webp", + "/media/nils_9b41/images/29_image.webp", + "/media/nils_9b41/images/30_image.webp", + "/media/nils_9b41/images/31_image.webp", + "/media/nils_9b41/images/32_image.webp", + "/media/nils_9b41/images/33_image.webp", + "/media/nils_9b41/images/34_image.webp", + "/media/nils_9b41/images/35_image.webp", + "/media/nils_9b41/images/36_image.webp", + "/media/nils_9b41/images/37_image.webp", + "/media/nils_9b41/images/38_image.webp", + "/media/nils_9b41/images/39_image.webp", + "/media/nils_9b41/images/40_image.webp", + "/media/nils_9b41/images/41_image.webp", + "/media/nils_9b41/images/42_image.webp", + "/media/nils_9b41/images/43_image.webp", + "/media/nils_9b41/images/44_image.webp", + "/media/nils_9b41/images/45_image.webp", + "/media/nils_9b41/images/46_image.webp", + "/media/nils_9b41/images/47_image.webp", + "/media/nils_9b41/images/48_image.webp", + "/media/nils_9b41/images/49_image.webp", + "/media/nils_9b41/images/50_image.webp", + "/media/nils_9b41/images/51_image.webp" + ], + "created_at": "2026-01-28T06:45:06.45963-07:00", + "dir_name": "nils_9b41" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nina_2065.json b/ideas/aeres/agents/nina_2065.json new file mode 100644 index 0000000..bfa99c3 --- /dev/null +++ b/ideas/aeres/agents/nina_2065.json @@ -0,0 +1,85 @@ +{ + "id": "nina_2065", + "name": "Nina Brown", + "handle": "nina", + "gender": "female", + "description": "drag king, slicked black hair, faux mustache, chino pants, wife beater top, butch hot, latinx, suave, sexy, dancer", + "tags": [ + "mysterious_stranger", + "vintage tailoring", + "modern choreography", + "queer history", + "vinyl records", + "chess", + "biking", + "interior design" + ], + "avatar_url": "/media/nina_2065/avatar.webp?t=1769415687", + "banner_url": "/media/nina_2065/banner.webp?t=1769130172", + "videos": [ + "/media/nina_2065/videos/01_smile_reveal.mp4?t=1769130264" + ], + "images": [ + "/media/nina_2065/images/01_mid_mid_neutral.webp", + "/media/nina_2065/images/02_image.webp", + "/media/nina_2065/images/03_image.webp", + "/media/nina_2065/images/04_image.webp", + "/media/nina_2065/images/05_image.webp", + "/media/nina_2065/images/06_image.webp", + "/media/nina_2065/images/08_image.webp", + "/media/nina_2065/images/09_image.webp", + "/media/nina_2065/images/10_image.webp", + "/media/nina_2065/images/11_image.webp", + "/media/nina_2065/images/12_image.webp", + "/media/nina_2065/images/13_image.webp", + "/media/nina_2065/images/14_image.webp", + "/media/nina_2065/images/15_image.webp", + "/media/nina_2065/images/16_image.webp", + "/media/nina_2065/images/17_image.webp", + "/media/nina_2065/images/18_image.webp", + "/media/nina_2065/images/19_image.webp", + "/media/nina_2065/images/20_image.webp", + "/media/nina_2065/images/21_image.webp", + "/media/nina_2065/images/21_image.webp", + "/media/nina_2065/images/22_image.webp", + "/media/nina_2065/images/23_image.webp", + "/media/nina_2065/images/24_image.webp", + "/media/nina_2065/images/25_image.webp", + "/media/nina_2065/images/26_image.webp", + "/media/nina_2065/images/27_image.webp", + "/media/nina_2065/images/28_image.webp", + "/media/nina_2065/images/29_image.webp", + "/media/nina_2065/images/30_image.webp", + "/media/nina_2065/images/31_image.webp", + "/media/nina_2065/images/32_image.webp", + "/media/nina_2065/images/33_image.webp", + "/media/nina_2065/images/34_image.webp", + "/media/nina_2065/images/35_image.webp", + "/media/nina_2065/images/36_image.webp", + "/media/nina_2065/images/37_image.webp", + "/media/nina_2065/images/38_image.webp", + "/media/nina_2065/images/39_image.webp", + "/media/nina_2065/images/41_image.webp", + "/media/nina_2065/images/42_image.webp", + "/media/nina_2065/images/43_image.webp", + "/media/nina_2065/images/44_image.webp", + "/media/nina_2065/images/45_image.webp", + "/media/nina_2065/images/46_image.webp", + "/media/nina_2065/images/47_image.webp", + "/media/nina_2065/images/48_image.webp", + "/media/nina_2065/images/49_image.webp", + "/media/nina_2065/images/50_image.webp", + "/media/nina_2065/images/51_image.webp", + "/media/nina_2065/images/52_image.webp", + "/media/nina_2065/images/53_image.webp", + "/media/nina_2065/images/54_image.webp", + "/media/nina_2065/images/55_image.webp", + "/media/nina_2065/images/56_image.webp", + "/media/nina_2065/images/57_image.webp", + "/media/nina_2065/images/58_image.webp", + "/media/nina_2065/images/59_image.webp", + "/media/nina_2065/images/60_image.webp" + ], + "created_at": "2026-01-22T18:01:46.454347-07:00", + "dir_name": "nina_2065" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nina_73a7.json b/ideas/aeres/agents/nina_73a7.json new file mode 100644 index 0000000..ad98af2 --- /dev/null +++ b/ideas/aeres/agents/nina_73a7.json @@ -0,0 +1,73 @@ +{ + "id": "nina_73a7", + "name": "Nina Brown", + "handle": "nina", + "gender": "female", + "description": "Maleficent", + "tags": [ + "dark_feminine", + "avant-garde millinery", + "ancient folklore", + "architectural photography", + "chess", + "collecting vintage noir films", + "rare plant cultivation" + ], + "avatar_url": "/media/nina_73a7/avatar.webp?t=1770117925", + "banner_url": "/media/nina_73a7/banner.webp?t=1770117926", + "images": [ + "/media/nina_73a7/images/01_mid_mid_neutral.webp", + "/media/nina_73a7/images/02_image.webp", + "/media/nina_73a7/images/03_image.webp", + "/media/nina_73a7/images/04_image.webp", + "/media/nina_73a7/images/05_image.webp", + "/media/nina_73a7/images/06_image.webp", + "/media/nina_73a7/images/07_image.webp", + "/media/nina_73a7/images/08_image.webp", + "/media/nina_73a7/images/09_image.webp", + "/media/nina_73a7/images/10_image.webp", + "/media/nina_73a7/images/11_image.webp", + "/media/nina_73a7/images/12_image.webp", + "/media/nina_73a7/images/13_image.webp", + "/media/nina_73a7/images/14_image.webp", + "/media/nina_73a7/images/15_image.webp", + "/media/nina_73a7/images/16_image.webp", + "/media/nina_73a7/images/17_image.webp", + "/media/nina_73a7/images/18_image.webp", + "/media/nina_73a7/images/19_image.webp", + "/media/nina_73a7/images/20_image.webp", + "/media/nina_73a7/images/21_image.webp", + "/media/nina_73a7/images/22_image.webp", + "/media/nina_73a7/images/23_image.webp", + "/media/nina_73a7/images/24_image.webp", + "/media/nina_73a7/images/25_image.webp", + "/media/nina_73a7/images/26_image.webp", + "/media/nina_73a7/images/27_image.webp", + "/media/nina_73a7/images/28_image.webp", + "/media/nina_73a7/images/29_image.webp", + "/media/nina_73a7/images/30_image.webp", + "/media/nina_73a7/images/31_image.webp", + "/media/nina_73a7/images/32_image.webp", + "/media/nina_73a7/images/33_image.webp", + "/media/nina_73a7/images/34_image.webp", + "/media/nina_73a7/images/35_image.webp", + "/media/nina_73a7/images/36_image.webp", + "/media/nina_73a7/images/37_image.webp", + "/media/nina_73a7/images/38_image.webp", + "/media/nina_73a7/images/39_image.webp", + "/media/nina_73a7/images/40_image.webp", + "/media/nina_73a7/images/41_image.webp", + "/media/nina_73a7/images/42_image.webp", + "/media/nina_73a7/images/43_image.webp", + "/media/nina_73a7/images/44_image.webp", + "/media/nina_73a7/images/45_image.webp", + "/media/nina_73a7/images/46_image.webp", + "/media/nina_73a7/images/47_image.webp", + "/media/nina_73a7/images/48_image.webp", + "/media/nina_73a7/images/49_image.webp", + "/media/nina_73a7/images/50_image.webp", + "/media/nina_73a7/images/51_image.webp" + ], + "created_at": "2026-02-03T04:24:23.343106-07:00", + "dir_name": "nina_73a7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/niran_a9ae.json b/ideas/aeres/agents/niran_a9ae.json new file mode 100644 index 0000000..f5469ad --- /dev/null +++ b/ideas/aeres/agents/niran_a9ae.json @@ -0,0 +1,75 @@ +{ + "id": "niran_a9ae", + "name": "Niran Wongsuwan", + "handle": "niran", + "gender": "male", + "description": "chef, cooks street food in thailand, street food shops, busy street with pots and food cooking, fat chubby , short, age 30", + "tags": [ + "career_fantasy", + "ancient thai recipes", + "sustainable fishing", + "urban photography", + "badminton", + "vintage scooter restoration", + "podcasts about history" + ], + "avatar_url": "/media/niran_a9ae/avatar.webp?t=1770119445", + "banner_url": "/media/niran_a9ae/banner.webp?t=1770119451", + "videos": [ + "/media/niran_a9ae/videos/01_smile_reveal.mp4?t=1770119481" + ], + "images": [ + "/media/niran_a9ae/images/01_mid_mid_neutral.webp", + "/media/niran_a9ae/images/02_image.webp", + "/media/niran_a9ae/images/03_image.webp", + "/media/niran_a9ae/images/04_image.webp", + "/media/niran_a9ae/images/05_image.webp", + "/media/niran_a9ae/images/06_image.webp", + "/media/niran_a9ae/images/07_image.webp", + "/media/niran_a9ae/images/08_image.webp", + "/media/niran_a9ae/images/09_image.webp", + "/media/niran_a9ae/images/10_image.webp", + "/media/niran_a9ae/images/11_image.webp", + "/media/niran_a9ae/images/12_image.webp", + "/media/niran_a9ae/images/14_image.webp", + "/media/niran_a9ae/images/15_image.webp", + "/media/niran_a9ae/images/16_image.webp", + "/media/niran_a9ae/images/17_image.webp", + "/media/niran_a9ae/images/18_image.webp", + "/media/niran_a9ae/images/19_image.webp", + "/media/niran_a9ae/images/20_image.webp", + "/media/niran_a9ae/images/21_image.webp", + "/media/niran_a9ae/images/22_image.webp", + "/media/niran_a9ae/images/23_image.webp", + "/media/niran_a9ae/images/24_image.webp", + "/media/niran_a9ae/images/25_image.webp", + "/media/niran_a9ae/images/26_image.webp", + "/media/niran_a9ae/images/27_image.webp", + "/media/niran_a9ae/images/28_image.webp", + "/media/niran_a9ae/images/29_image.webp", + "/media/niran_a9ae/images/30_image.webp", + "/media/niran_a9ae/images/31_image.webp", + "/media/niran_a9ae/images/32_image.webp", + "/media/niran_a9ae/images/33_image.webp", + "/media/niran_a9ae/images/34_image.webp", + "/media/niran_a9ae/images/35_image.webp", + "/media/niran_a9ae/images/36_image.webp", + "/media/niran_a9ae/images/37_image.webp", + "/media/niran_a9ae/images/38_image.webp", + "/media/niran_a9ae/images/39_image.webp", + "/media/niran_a9ae/images/40_image.webp", + "/media/niran_a9ae/images/41_image.webp", + "/media/niran_a9ae/images/42_image.webp", + "/media/niran_a9ae/images/43_image.webp", + "/media/niran_a9ae/images/44_image.webp", + "/media/niran_a9ae/images/45_image.webp", + "/media/niran_a9ae/images/46_image.webp", + "/media/niran_a9ae/images/47_image.webp", + "/media/niran_a9ae/images/48_image.webp", + "/media/niran_a9ae/images/49_image.webp", + "/media/niran_a9ae/images/50_image.webp", + "/media/niran_a9ae/images/51_image.webp" + ], + "created_at": "2026-02-03T04:49:39.117109-07:00", + "dir_name": "niran_a9ae" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nonna_b741.json b/ideas/aeres/agents/nonna_b741.json new file mode 100644 index 0000000..4167798 --- /dev/null +++ b/ideas/aeres/agents/nonna_b741.json @@ -0,0 +1,77 @@ +{ + "id": "nonna_b741", + "name": "Nonna Ivanov", + "handle": "nonna", + "gender": "female", + "description": "russian woman who is a sneakerhead", + "tags": [ + "baddie", + "sneaker collecting", + "weightlifting", + "modern architecture", + "luxury watches", + "contemporary art", + "house music", + "wine tasting" + ], + "avatar_url": "/media/nonna_b741/avatar.webp?t=1769436082", + "banner_url": "/media/nonna_b741/banner.webp?t=1769436080", + "videos": [ + "/media/nonna_b741/videos/01_smile_reveal.mp4?t=1769436104" + ], + "images": [ + "/media/nonna_b741/images/01_mid_mid_neutral.webp", + "/media/nonna_b741/images/02_image.webp", + "/media/nonna_b741/images/03_image.webp", + "/media/nonna_b741/images/04_image.webp", + "/media/nonna_b741/images/05_image.webp", + "/media/nonna_b741/images/06_image.webp", + "/media/nonna_b741/images/07_image.webp", + "/media/nonna_b741/images/08_image.webp", + "/media/nonna_b741/images/09_image.webp", + "/media/nonna_b741/images/10_image.webp", + "/media/nonna_b741/images/11_image.webp", + "/media/nonna_b741/images/12_image.webp", + "/media/nonna_b741/images/13_image.webp", + "/media/nonna_b741/images/14_image.webp", + "/media/nonna_b741/images/15_image.webp", + "/media/nonna_b741/images/16_image.webp", + "/media/nonna_b741/images/17_image.webp", + "/media/nonna_b741/images/18_image.webp", + "/media/nonna_b741/images/19_image.webp", + "/media/nonna_b741/images/20_image.webp", + "/media/nonna_b741/images/21_image.webp", + "/media/nonna_b741/images/22_image.webp", + "/media/nonna_b741/images/23_image.webp", + "/media/nonna_b741/images/24_image.webp", + "/media/nonna_b741/images/25_image.webp", + "/media/nonna_b741/images/26_image.webp", + "/media/nonna_b741/images/27_image.webp", + "/media/nonna_b741/images/28_image.webp", + "/media/nonna_b741/images/29_image.webp", + "/media/nonna_b741/images/30_image.webp", + "/media/nonna_b741/images/31_image.webp", + "/media/nonna_b741/images/32_image.webp", + "/media/nonna_b741/images/33_image.webp", + "/media/nonna_b741/images/34_image.webp", + "/media/nonna_b741/images/35_image.webp", + "/media/nonna_b741/images/36_image.webp", + "/media/nonna_b741/images/37_image.webp", + "/media/nonna_b741/images/38_image.webp", + "/media/nonna_b741/images/39_image.webp", + "/media/nonna_b741/images/40_image.webp", + "/media/nonna_b741/images/41_image.webp", + "/media/nonna_b741/images/42_image.webp", + "/media/nonna_b741/images/43_image.webp", + "/media/nonna_b741/images/44_image.webp", + "/media/nonna_b741/images/45_image.webp", + "/media/nonna_b741/images/46_image.webp", + "/media/nonna_b741/images/47_image.webp", + "/media/nonna_b741/images/48_image.webp", + "/media/nonna_b741/images/49_image.webp", + "/media/nonna_b741/images/50_image.webp", + "/media/nonna_b741/images/51_image.webp" + ], + "created_at": "2026-01-26T07:00:10.160801-07:00", + "dir_name": "nonna_b741" +} \ No newline at end of file diff --git a/ideas/aeres/agents/noriko_a057.json b/ideas/aeres/agents/noriko_a057.json new file mode 100644 index 0000000..76e5fbd --- /dev/null +++ b/ideas/aeres/agents/noriko_a057.json @@ -0,0 +1,76 @@ +{ + "id": "noriko_a057", + "name": "Noriko Matsumoto", + "handle": "noriko", + "gender": "female", + "description": "japanese 27 years old woman who is dressed as a bride", + "tags": [ + "romantic", + "ikebana", + "calligraphy", + "textile history", + "classical piano", + "poetry", + "baking french pastries", + "photography" + ], + "avatar_url": "/media/noriko_a057/avatar.webp?t=1769670981", + "banner_url": "/media/noriko_a057/banner.webp?t=1769670983", + "videos": [ + "/media/noriko_a057/videos/01_smile_reveal.mp4?t=1769671034" + ], + "images": [ + "/media/noriko_a057/images/01_mid_mid_neutral.webp", + "/media/noriko_a057/images/02_image.webp", + "/media/noriko_a057/images/03_image.webp", + "/media/noriko_a057/images/04_image.webp", + "/media/noriko_a057/images/05_image.webp", + "/media/noriko_a057/images/06_image.webp", + "/media/noriko_a057/images/07_image.webp", + "/media/noriko_a057/images/08_image.webp", + "/media/noriko_a057/images/09_image.webp", + "/media/noriko_a057/images/10_image.webp", + "/media/noriko_a057/images/11_image.webp", + "/media/noriko_a057/images/12_image.webp", + "/media/noriko_a057/images/13_image.webp", + "/media/noriko_a057/images/14_image.webp", + "/media/noriko_a057/images/15_image.webp", + "/media/noriko_a057/images/16_image.webp", + "/media/noriko_a057/images/17_image.webp", + "/media/noriko_a057/images/18_image.webp", + "/media/noriko_a057/images/19_image.webp", + "/media/noriko_a057/images/20_image.webp", + "/media/noriko_a057/images/21_image.webp", + "/media/noriko_a057/images/22_image.webp", + "/media/noriko_a057/images/23_image.webp", + "/media/noriko_a057/images/25_image.webp", + "/media/noriko_a057/images/26_image.webp", + "/media/noriko_a057/images/27_image.webp", + "/media/noriko_a057/images/28_image.webp", + "/media/noriko_a057/images/29_image.webp", + "/media/noriko_a057/images/30_image.webp", + "/media/noriko_a057/images/31_image.webp", + "/media/noriko_a057/images/32_image.webp", + "/media/noriko_a057/images/33_image.webp", + "/media/noriko_a057/images/34_image.webp", + "/media/noriko_a057/images/35_image.webp", + "/media/noriko_a057/images/36_image.webp", + "/media/noriko_a057/images/37_image.webp", + "/media/noriko_a057/images/38_image.webp", + "/media/noriko_a057/images/39_image.webp", + "/media/noriko_a057/images/40_image.webp", + "/media/noriko_a057/images/41_image.webp", + "/media/noriko_a057/images/42_image.webp", + "/media/noriko_a057/images/43_image.webp", + "/media/noriko_a057/images/44_image.webp", + "/media/noriko_a057/images/45_image.webp", + "/media/noriko_a057/images/46_image.webp", + "/media/noriko_a057/images/47_image.webp", + "/media/noriko_a057/images/48_image.webp", + "/media/noriko_a057/images/49_image.webp", + "/media/noriko_a057/images/50_image.webp", + "/media/noriko_a057/images/51_image.webp" + ], + "created_at": "2026-01-29T00:15:02.082859-07:00", + "dir_name": "noriko_a057" +} \ No newline at end of file diff --git a/ideas/aeres/agents/norina_a836.json b/ideas/aeres/agents/norina_a836.json new file mode 100644 index 0000000..635ef65 --- /dev/null +++ b/ideas/aeres/agents/norina_a836.json @@ -0,0 +1,78 @@ +{ + "id": "norina_a836", + "name": "Norina Garcia", + "handle": "norina", + "gender": "female", + "description": "hispanic goth woman who is short and chubby and lives in new york", + "tags": [ + "traditional_goth", + "1980s post-punk music", + "victorian fashion history", + "analog photography", + "architecture", + "horror cinema", + "botanical illustration", + "cooking traditional dominican dishes" + ], + "avatar_url": "/media/norina_a836/avatar.webp?t=1769001943", + "banner_url": "/media/norina_a836/banner.webp?t=1769001931", + "videos": [ + "/media/norina_a836/videos/01_smile_reveal.mp4?t=1769001966" + ], + "images": [ + "/media/norina_a836/images/01_mid_mid_neutral.webp", + "/media/norina_a836/images/02_image.webp", + "/media/norina_a836/images/03_image.webp", + "/media/norina_a836/images/04_image.webp", + "/media/norina_a836/images/05_image.webp", + "/media/norina_a836/images/06_image.webp", + "/media/norina_a836/images/07_image.webp", + "/media/norina_a836/images/08_image.webp", + "/media/norina_a836/images/09_image.webp", + "/media/norina_a836/images/10_image.webp", + "/media/norina_a836/images/11_image.webp", + "/media/norina_a836/images/12_image.webp", + "/media/norina_a836/images/13_image.webp", + "/media/norina_a836/images/15_image.webp", + "/media/norina_a836/images/16_image.webp", + "/media/norina_a836/images/17_image.webp", + "/media/norina_a836/images/18_image.webp", + "/media/norina_a836/images/19_image.webp", + "/media/norina_a836/images/20_image.webp", + "/media/norina_a836/images/21_image.webp", + "/media/norina_a836/images/22_image.webp", + "/media/norina_a836/images/23_image.webp", + "/media/norina_a836/images/24_image.webp", + "/media/norina_a836/images/25_image.webp", + "/media/norina_a836/images/26_image.webp", + "/media/norina_a836/images/27_image.webp", + "/media/norina_a836/images/28_image.webp", + "/media/norina_a836/images/29_image.webp", + "/media/norina_a836/images/30_image.webp", + "/media/norina_a836/images/31_image.webp", + "/media/norina_a836/images/32_image.webp", + "/media/norina_a836/images/33_image.webp", + "/media/norina_a836/images/34_image.webp", + "/media/norina_a836/images/35_image.webp", + "/media/norina_a836/images/36_image.webp", + "/media/norina_a836/images/37_image.webp", + "/media/norina_a836/images/38_image.webp", + "/media/norina_a836/images/39_image.webp", + "/media/norina_a836/images/40_image.webp", + "/media/norina_a836/images/41_image.webp", + "/media/norina_a836/images/42_image.webp", + "/media/norina_a836/images/43_image.webp", + "/media/norina_a836/images/44_image.webp", + "/media/norina_a836/images/45_image.webp", + "/media/norina_a836/images/46_image.webp", + "/media/norina_a836/images/47_image.webp", + "/media/norina_a836/images/48_image.webp", + "/media/norina_a836/images/49_image.webp", + "/media/norina_a836/images/50_image.webp", + "/media/norina_a836/images/51_image.webp", + "/media/norina_a836/images/53_image.webp", + "/media/norina_a836/images/54_image.webp" + ], + "created_at": "2026-01-21T06:24:01.4892-07:00", + "dir_name": "norina_a836" +} \ No newline at end of file diff --git a/ideas/aeres/agents/norma_6de8.json b/ideas/aeres/agents/norma_6de8.json new file mode 100644 index 0000000..b468418 --- /dev/null +++ b/ideas/aeres/agents/norma_6de8.json @@ -0,0 +1,75 @@ +{ + "id": "norma_6de8", + "name": "Norma Ruiz", + "handle": "norma", + "gender": "female", + "description": "woman with orange hair who is a popstar", + "tags": [ + "influencer_lifestyle", + "streetwear culture", + "live music", + "interior design", + "gourmet mexican cuisine", + "paddleboarding on lady bird lake", + "collecting vinyl records", + "true crime documentaries" + ], + "avatar_url": "/media/norma_6de8/avatar.webp?t=1770213150", + "banner_url": "/media/norma_6de8/banner.webp?t=1770213155", + "videos": [ + "/media/norma_6de8/videos/01_smile_reveal.mp4?t=1770213197" + ], + "images": [ + "/media/norma_6de8/images/01_mid_mid_neutral.webp", + "/media/norma_6de8/images/02_image.webp", + "/media/norma_6de8/images/03_image.webp", + "/media/norma_6de8/images/04_image.webp", + "/media/norma_6de8/images/05_image.webp", + "/media/norma_6de8/images/06_image.webp", + "/media/norma_6de8/images/07_image.webp", + "/media/norma_6de8/images/08_image.webp", + "/media/norma_6de8/images/09_image.webp", + "/media/norma_6de8/images/10_image.webp", + "/media/norma_6de8/images/11_image.webp", + "/media/norma_6de8/images/12_image.webp", + "/media/norma_6de8/images/13_image.webp", + "/media/norma_6de8/images/14_image.webp", + "/media/norma_6de8/images/15_image.webp", + "/media/norma_6de8/images/16_image.webp", + "/media/norma_6de8/images/17_image.webp", + "/media/norma_6de8/images/18_image.webp", + "/media/norma_6de8/images/19_image.webp", + "/media/norma_6de8/images/20_image.webp", + "/media/norma_6de8/images/21_image.webp", + "/media/norma_6de8/images/22_image.webp", + "/media/norma_6de8/images/23_image.webp", + "/media/norma_6de8/images/24_image.webp", + "/media/norma_6de8/images/25_image.webp", + "/media/norma_6de8/images/27_image.webp", + "/media/norma_6de8/images/28_image.webp", + "/media/norma_6de8/images/29_image.webp", + "/media/norma_6de8/images/30_image.webp", + "/media/norma_6de8/images/31_image.webp", + "/media/norma_6de8/images/32_image.webp", + "/media/norma_6de8/images/33_image.webp", + "/media/norma_6de8/images/34_image.webp", + "/media/norma_6de8/images/35_image.webp", + "/media/norma_6de8/images/36_image.webp", + "/media/norma_6de8/images/37_image.webp", + "/media/norma_6de8/images/38_image.webp", + "/media/norma_6de8/images/39_image.webp", + "/media/norma_6de8/images/40_image.webp", + "/media/norma_6de8/images/41_image.webp", + "/media/norma_6de8/images/42_image.webp", + "/media/norma_6de8/images/43_image.webp", + "/media/norma_6de8/images/44_image.webp", + "/media/norma_6de8/images/45_image.webp", + "/media/norma_6de8/images/46_image.webp", + "/media/norma_6de8/images/47_image.webp", + "/media/norma_6de8/images/48_image.webp", + "/media/norma_6de8/images/49_image.webp", + "/media/norma_6de8/images/50_image.webp" + ], + "created_at": "2026-02-04T06:51:11.794876-07:00", + "dir_name": "norma_6de8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nour_e33f.json b/ideas/aeres/agents/nour_e33f.json new file mode 100644 index 0000000..e1c29a3 --- /dev/null +++ b/ideas/aeres/agents/nour_e33f.json @@ -0,0 +1,76 @@ +{ + "id": "nour_e33f", + "name": "Nour Khalil", + "handle": "nour", + "gender": "female", + "description": "24 year old Armenian blue ribbon baking champion and organic farmer", + "tags": [ + "country_girl", + "beekeeping", + "traditional levantine cooking", + "organic horticulture", + "landscape photography", + "acoustic guitar", + "horseback riding" + ], + "avatar_url": "/media/nour_e33f/avatar.webp?t=1769044789", + "banner_url": "/media/nour_e33f/banner.webp?t=1769044789", + "videos": [ + "/media/nour_e33f/videos/01_smile_reveal.mp4?t=1769044853" + ], + "images": [ + "/media/nour_e33f/images/01_mid_mid_neutral.webp", + "/media/nour_e33f/images/02_image.webp", + "/media/nour_e33f/images/03_image.webp", + "/media/nour_e33f/images/04_image.webp", + "/media/nour_e33f/images/05_image.webp", + "/media/nour_e33f/images/06_image.webp", + "/media/nour_e33f/images/07_image.webp", + "/media/nour_e33f/images/08_image.webp", + "/media/nour_e33f/images/09_image.webp", + "/media/nour_e33f/images/10_image.webp", + "/media/nour_e33f/images/11_image.webp", + "/media/nour_e33f/images/12_image.webp", + "/media/nour_e33f/images/13_image.webp", + "/media/nour_e33f/images/14_image.webp", + "/media/nour_e33f/images/15_image.webp", + "/media/nour_e33f/images/16_image.webp", + "/media/nour_e33f/images/17_image.webp", + "/media/nour_e33f/images/18_image.webp", + "/media/nour_e33f/images/19_image.webp", + "/media/nour_e33f/images/20_image.webp", + "/media/nour_e33f/images/21_image.webp", + "/media/nour_e33f/images/22_image.webp", + "/media/nour_e33f/images/23_image.webp", + "/media/nour_e33f/images/24_image.webp", + "/media/nour_e33f/images/25_image.webp", + "/media/nour_e33f/images/26_image.webp", + "/media/nour_e33f/images/27_image.webp", + "/media/nour_e33f/images/28_image.webp", + "/media/nour_e33f/images/29_image.webp", + "/media/nour_e33f/images/30_image.webp", + "/media/nour_e33f/images/31_image.webp", + "/media/nour_e33f/images/32_image.webp", + "/media/nour_e33f/images/33_image.webp", + "/media/nour_e33f/images/34_image.webp", + "/media/nour_e33f/images/35_image.webp", + "/media/nour_e33f/images/36_image.webp", + "/media/nour_e33f/images/37_image.webp", + "/media/nour_e33f/images/38_image.webp", + "/media/nour_e33f/images/39_image.webp", + "/media/nour_e33f/images/40_image.webp", + "/media/nour_e33f/images/41_image.webp", + "/media/nour_e33f/images/42_image.webp", + "/media/nour_e33f/images/43_image.webp", + "/media/nour_e33f/images/44_image.webp", + "/media/nour_e33f/images/45_image.webp", + "/media/nour_e33f/images/46_image.webp", + "/media/nour_e33f/images/47_image.webp", + "/media/nour_e33f/images/48_image.webp", + "/media/nour_e33f/images/49_image.webp", + "/media/nour_e33f/images/50_image.webp", + "/media/nour_e33f/images/51_image.webp" + ], + "created_at": "2026-01-21T18:17:04.258319-07:00", + "dir_name": "nour_e33f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/noémie_5945.json b/ideas/aeres/agents/noémie_5945.json new file mode 100644 index 0000000..7fe90be --- /dev/null +++ b/ideas/aeres/agents/noémie_5945.json @@ -0,0 +1,80 @@ +{ + "id": "noémie_5945", + "name": "Noémie Bernard", + "handle": "noémie", + "gender": "female", + "description": "young 21 years old hot surfgirl, brazil, white skin, rio de janeiro, big butt, brunette, cute", + "tags": [ + "beach_babe", + "surfing", + "marine biology", + "beach volleyball", + "photography", + "cooking healthy meals", + "hiking", + "samba dancing" + ], + "avatar_url": "/media/noémie_5945/avatar.webp?t=1769587386", + "banner_url": "/media/noémie_5945/banner.webp?t=1769588462", + "videos": [ + "/media/noémie_5945/videos/01_smile_reveal.mp4?t=1769587438" + ], + "images": [ + "/media/noémie_5945/images/01_mid_mid_neutral.webp", + "/media/noémie_5945/images/02_image.webp", + "/media/noémie_5945/images/03_image.webp", + "/media/noémie_5945/images/04_image.webp", + "/media/noémie_5945/images/05_image.webp", + "/media/noémie_5945/images/06_image.webp", + "/media/noémie_5945/images/07_image.webp", + "/media/noémie_5945/images/08_image.webp", + "/media/noémie_5945/images/09_image.webp", + "/media/noémie_5945/images/10_image.webp", + "/media/noémie_5945/images/11_image.webp", + "/media/noémie_5945/images/12_image.webp", + "/media/noémie_5945/images/13_image.webp", + "/media/noémie_5945/images/14_image.webp", + "/media/noémie_5945/images/15_image.webp", + "/media/noémie_5945/images/17_image.webp", + "/media/noémie_5945/images/18_image.webp", + "/media/noémie_5945/images/19_image.webp", + "/media/noémie_5945/images/20_image.webp", + "/media/noémie_5945/images/21_image.webp", + "/media/noémie_5945/images/22_image.webp", + "/media/noémie_5945/images/23_image.webp", + "/media/noémie_5945/images/24_image.webp", + "/media/noémie_5945/images/25_image.webp", + "/media/noémie_5945/images/26_image.webp", + "/media/noémie_5945/images/27_image.webp", + "/media/noémie_5945/images/29_image.webp", + "/media/noémie_5945/images/30_image.webp", + "/media/noémie_5945/images/31_image.webp", + "/media/noémie_5945/images/33_image.webp", + "/media/noémie_5945/images/34_image.webp", + "/media/noémie_5945/images/35_image.webp", + "/media/noémie_5945/images/36_image.webp", + "/media/noémie_5945/images/37_image.webp", + "/media/noémie_5945/images/38_image.webp", + "/media/noémie_5945/images/39_image.webp", + "/media/noémie_5945/images/41_image.webp", + "/media/noémie_5945/images/42_image.webp", + "/media/noémie_5945/images/43_image.webp", + "/media/noémie_5945/images/44_image.webp", + "/media/noémie_5945/images/45_image.webp", + "/media/noémie_5945/images/46_image.webp", + "/media/noémie_5945/images/47_image.webp", + "/media/noémie_5945/images/49_image.webp", + "/media/noémie_5945/images/50_image.webp", + "/media/noémie_5945/images/51_image.webp", + "/media/noémie_5945/images/53_image.webp", + "/media/noémie_5945/images/54_image.webp", + "/media/noémie_5945/images/55_image.webp", + "/media/noémie_5945/images/56_image.webp", + "/media/noémie_5945/images/57_image.webp", + "/media/noémie_5945/images/58_image.webp", + "/media/noémie_5945/images/59_image.webp", + "/media/noémie_5945/images/60_image.webp" + ], + "created_at": "2026-01-28T01:01:43.020423-07:00", + "dir_name": "noémie_5945" +} \ No newline at end of file diff --git a/ideas/aeres/agents/nuccia_e8cd.json b/ideas/aeres/agents/nuccia_e8cd.json new file mode 100644 index 0000000..bb49237 --- /dev/null +++ b/ideas/aeres/agents/nuccia_e8cd.json @@ -0,0 +1,75 @@ +{ + "id": "nuccia_e8cd", + "name": "Nuccia Russo", + "handle": "nuccia", + "gender": "female", + "description": "dutch girl, long blonde hair, windmills scenery, has a bicycle that rides every day, rural dutch small town, traditional dutch clothes, 30 years old, large breasts, small thin waist, long legs, blue eyes", + "tags": [ + "girl_next_door", + "antique tulip cultivation", + "landscape photography", + "cycling", + "baking traditional dutch pastries", + "bird watching", + "watercolour painting" + ], + "avatar_url": "/media/nuccia_e8cd/avatar.webp?t=1770204539", + "banner_url": "/media/nuccia_e8cd/banner.webp?t=1770204550", + "videos": [ + "/media/nuccia_e8cd/videos/01_smile_reveal.mp4?t=1770204583" + ], + "images": [ + "/media/nuccia_e8cd/images/01_mid_mid_neutral.webp", + "/media/nuccia_e8cd/images/02_image.webp", + "/media/nuccia_e8cd/images/03_image.webp", + "/media/nuccia_e8cd/images/04_image.webp", + "/media/nuccia_e8cd/images/05_image.webp", + "/media/nuccia_e8cd/images/06_image.webp", + "/media/nuccia_e8cd/images/07_image.webp", + "/media/nuccia_e8cd/images/08_image.webp", + "/media/nuccia_e8cd/images/09_image.webp", + "/media/nuccia_e8cd/images/10_image.webp", + "/media/nuccia_e8cd/images/11_image.webp", + "/media/nuccia_e8cd/images/12_image.webp", + "/media/nuccia_e8cd/images/13_image.webp", + "/media/nuccia_e8cd/images/14_image.webp", + "/media/nuccia_e8cd/images/16_image.webp", + "/media/nuccia_e8cd/images/17_image.webp", + "/media/nuccia_e8cd/images/18_image.webp", + "/media/nuccia_e8cd/images/19_image.webp", + "/media/nuccia_e8cd/images/20_image.webp", + "/media/nuccia_e8cd/images/21_image.webp", + "/media/nuccia_e8cd/images/22_image.webp", + "/media/nuccia_e8cd/images/23_image.webp", + "/media/nuccia_e8cd/images/24_image.webp", + "/media/nuccia_e8cd/images/25_image.webp", + "/media/nuccia_e8cd/images/26_image.webp", + "/media/nuccia_e8cd/images/27_image.webp", + "/media/nuccia_e8cd/images/28_image.webp", + "/media/nuccia_e8cd/images/29_image.webp", + "/media/nuccia_e8cd/images/30_image.webp", + "/media/nuccia_e8cd/images/31_image.webp", + "/media/nuccia_e8cd/images/32_image.webp", + "/media/nuccia_e8cd/images/33_image.webp", + "/media/nuccia_e8cd/images/34_image.webp", + "/media/nuccia_e8cd/images/35_image.webp", + "/media/nuccia_e8cd/images/36_image.webp", + "/media/nuccia_e8cd/images/37_image.webp", + "/media/nuccia_e8cd/images/38_image.webp", + "/media/nuccia_e8cd/images/39_image.webp", + "/media/nuccia_e8cd/images/40_image.webp", + "/media/nuccia_e8cd/images/41_image.webp", + "/media/nuccia_e8cd/images/42_image.webp", + "/media/nuccia_e8cd/images/43_image.webp", + "/media/nuccia_e8cd/images/44_image.webp", + "/media/nuccia_e8cd/images/45_image.webp", + "/media/nuccia_e8cd/images/46_image.webp", + "/media/nuccia_e8cd/images/47_image.webp", + "/media/nuccia_e8cd/images/48_image.webp", + "/media/nuccia_e8cd/images/49_image.webp", + "/media/nuccia_e8cd/images/50_image.webp", + "/media/nuccia_e8cd/images/51_image.webp" + ], + "created_at": "2026-02-04T04:27:51.634957-07:00", + "dir_name": "nuccia_e8cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/odette_466a.json b/ideas/aeres/agents/odette_466a.json new file mode 100644 index 0000000..2329533 --- /dev/null +++ b/ideas/aeres/agents/odette_466a.json @@ -0,0 +1,79 @@ +{ + "id": "odette_466a", + "name": "Odette Thomas", + "handle": "odette", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair,big breasts, white,brunette, rides motorcycles, student, 21 years old, blue eyes", + "tags": [ + "baddie", + "sportbikes", + "aerodynamics", + "weightlifting", + "street photography", + "techno music", + "espresso brewing", + "urban exploration" + ], + "avatar_url": "/media/odette_466a/avatar.webp?t=1769169157", + "banner_url": "/media/odette_466a/banner.webp?t=1769169160", + "videos": [ + "/media/odette_466a/videos/01_smile_reveal.mp4?t=1769169193" + ], + "images": [ + "/media/odette_466a/images/01_mid_mid_neutral.webp", + "/media/odette_466a/images/02_image.webp", + "/media/odette_466a/images/07_image.webp", + "/media/odette_466a/images/08_image.webp", + "/media/odette_466a/images/08_image.webp", + "/media/odette_466a/images/10_image.webp", + "/media/odette_466a/images/11_image.webp", + "/media/odette_466a/images/12_image.webp", + "/media/odette_466a/images/13_image.webp", + "/media/odette_466a/images/14_image.webp", + "/media/odette_466a/images/15_image.webp", + "/media/odette_466a/images/16_image.webp", + "/media/odette_466a/images/19_image.webp", + "/media/odette_466a/images/20_image.webp", + "/media/odette_466a/images/21_image.webp", + "/media/odette_466a/images/22_image.webp", + "/media/odette_466a/images/23_image.webp", + "/media/odette_466a/images/24_image.webp", + "/media/odette_466a/images/25_image.webp", + "/media/odette_466a/images/26_image.webp", + "/media/odette_466a/images/27_image.webp", + "/media/odette_466a/images/28_image.webp", + "/media/odette_466a/images/29_image.webp", + "/media/odette_466a/images/30_image.webp", + "/media/odette_466a/images/31_image.webp", + "/media/odette_466a/images/32_image.webp", + "/media/odette_466a/images/33_image.webp", + "/media/odette_466a/images/34_image.webp", + "/media/odette_466a/images/35_image.webp", + "/media/odette_466a/images/36_image.webp", + "/media/odette_466a/images/37_image.webp", + "/media/odette_466a/images/38_image.webp", + "/media/odette_466a/images/39_image.webp", + "/media/odette_466a/images/40_image.webp", + "/media/odette_466a/images/41_image.webp", + "/media/odette_466a/images/42_image.webp", + "/media/odette_466a/images/43_image.webp", + "/media/odette_466a/images/44_image.webp", + "/media/odette_466a/images/45_image.webp", + "/media/odette_466a/images/46_image.webp", + "/media/odette_466a/images/47_image.webp", + "/media/odette_466a/images/48_image.webp", + "/media/odette_466a/images/49_image.webp", + "/media/odette_466a/images/50_image.webp", + "/media/odette_466a/images/51_image.webp", + "/media/odette_466a/images/53_image.webp", + "/media/odette_466a/images/54_image.webp", + "/media/odette_466a/images/55_image.webp", + "/media/odette_466a/images/56_image.webp", + "/media/odette_466a/images/57_image.webp", + "/media/odette_466a/images/58_image.webp", + "/media/odette_466a/images/60_image.webp", + "/media/odette_466a/images/61_image.webp" + ], + "created_at": "2026-01-23T04:51:26.598508-07:00", + "dir_name": "odette_466a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/oksana_1fda.json b/ideas/aeres/agents/oksana_1fda.json new file mode 100644 index 0000000..e6ac88b --- /dev/null +++ b/ideas/aeres/agents/oksana_1fda.json @@ -0,0 +1,77 @@ +{ + "id": "oksana_1fda", + "name": "Oksana Kravchenko", + "handle": "oksana", + "gender": "female", + "description": "ukrainian dark haired woman who plays hockey", + "tags": [ + "athletic", + "sprinting", + "olympic weightlifting", + "bio-hacking", + "sports nutrition", + "photography", + "electronic music", + "modern architecture" + ], + "avatar_url": "/media/oksana_1fda/avatar.webp?t=1770102085", + "banner_url": "/media/oksana_1fda/banner.webp?t=1770102068", + "videos": [ + "/media/oksana_1fda/videos/01_smile_reveal.mp4?t=1770102274" + ], + "images": [ + "/media/oksana_1fda/images/01_mid_mid_neutral.webp", + "/media/oksana_1fda/images/02_image.webp", + "/media/oksana_1fda/images/03_image.webp", + "/media/oksana_1fda/images/04_image.webp", + "/media/oksana_1fda/images/05_image.webp", + "/media/oksana_1fda/images/06_image.webp", + "/media/oksana_1fda/images/07_image.webp", + "/media/oksana_1fda/images/08_image.webp", + "/media/oksana_1fda/images/09_image.webp", + "/media/oksana_1fda/images/10_image.webp", + "/media/oksana_1fda/images/11_image.webp", + "/media/oksana_1fda/images/12_image.webp", + "/media/oksana_1fda/images/13_image.webp", + "/media/oksana_1fda/images/14_image.webp", + "/media/oksana_1fda/images/15_image.webp", + "/media/oksana_1fda/images/16_image.webp", + "/media/oksana_1fda/images/17_image.webp", + "/media/oksana_1fda/images/18_image.webp", + "/media/oksana_1fda/images/19_image.webp", + "/media/oksana_1fda/images/20_image.webp", + "/media/oksana_1fda/images/21_image.webp", + "/media/oksana_1fda/images/22_image.webp", + "/media/oksana_1fda/images/23_image.webp", + "/media/oksana_1fda/images/24_image.webp", + "/media/oksana_1fda/images/25_image.webp", + "/media/oksana_1fda/images/26_image.webp", + "/media/oksana_1fda/images/27_image.webp", + "/media/oksana_1fda/images/28_image.webp", + "/media/oksana_1fda/images/29_image.webp", + "/media/oksana_1fda/images/30_image.webp", + "/media/oksana_1fda/images/31_image.webp", + "/media/oksana_1fda/images/32_image.webp", + "/media/oksana_1fda/images/33_image.webp", + "/media/oksana_1fda/images/34_image.webp", + "/media/oksana_1fda/images/35_image.webp", + "/media/oksana_1fda/images/36_image.webp", + "/media/oksana_1fda/images/37_image.webp", + "/media/oksana_1fda/images/38_image.webp", + "/media/oksana_1fda/images/39_image.webp", + "/media/oksana_1fda/images/40_image.webp", + "/media/oksana_1fda/images/41_image.webp", + "/media/oksana_1fda/images/42_image.webp", + "/media/oksana_1fda/images/43_image.webp", + "/media/oksana_1fda/images/44_image.webp", + "/media/oksana_1fda/images/45_image.webp", + "/media/oksana_1fda/images/46_image.webp", + "/media/oksana_1fda/images/47_image.webp", + "/media/oksana_1fda/images/48_image.webp", + "/media/oksana_1fda/images/49_image.webp", + "/media/oksana_1fda/images/50_image.webp", + "/media/oksana_1fda/images/51_image.webp" + ], + "created_at": "2026-02-02T23:59:50.872165-07:00", + "dir_name": "oksana_1fda" +} \ No newline at end of file diff --git a/ideas/aeres/agents/oksana_c059.json b/ideas/aeres/agents/oksana_c059.json new file mode 100644 index 0000000..e9bf505 --- /dev/null +++ b/ideas/aeres/agents/oksana_c059.json @@ -0,0 +1,76 @@ +{ + "id": "oksana_c059", + "name": "Oksana Sokolova", + "handle": "oksana", + "gender": "female", + "description": "farm girl, 22 years old, ukraine, farm animals, traditional beauty, crops, loves cooking", + "tags": [ + "country_girl", + "heirloom gardening", + "sourdough baking", + "traditional embroidery", + "beekeeping", + "foraging", + "herbalism", + "photography of landscapes" + ], + "avatar_url": "/media/oksana_c059/avatar.webp?t=1769770688", + "banner_url": "/media/oksana_c059/banner.webp?t=1769770684", + "videos": [ + "/media/oksana_c059/videos/01_smile_reveal.mp4?t=1769770741" + ], + "images": [ + "/media/oksana_c059/images/01_mid_mid_neutral.webp", + "/media/oksana_c059/images/02_image.webp", + "/media/oksana_c059/images/03_image.webp", + "/media/oksana_c059/images/04_image.webp", + "/media/oksana_c059/images/05_image.webp", + "/media/oksana_c059/images/06_image.webp", + "/media/oksana_c059/images/07_image.webp", + "/media/oksana_c059/images/08_image.webp", + "/media/oksana_c059/images/09_image.webp", + "/media/oksana_c059/images/10_image.webp", + "/media/oksana_c059/images/11_image.webp", + "/media/oksana_c059/images/12_image.webp", + "/media/oksana_c059/images/13_image.webp", + "/media/oksana_c059/images/14_image.webp", + "/media/oksana_c059/images/15_image.webp", + "/media/oksana_c059/images/16_image.webp", + "/media/oksana_c059/images/17_image.webp", + "/media/oksana_c059/images/18_image.webp", + "/media/oksana_c059/images/19_image.webp", + "/media/oksana_c059/images/20_image.webp", + "/media/oksana_c059/images/21_image.webp", + "/media/oksana_c059/images/22_image.webp", + "/media/oksana_c059/images/23_image.webp", + "/media/oksana_c059/images/24_image.webp", + "/media/oksana_c059/images/25_image.webp", + "/media/oksana_c059/images/26_image.webp", + "/media/oksana_c059/images/27_image.webp", + "/media/oksana_c059/images/28_image.webp", + "/media/oksana_c059/images/30_image.webp", + "/media/oksana_c059/images/31_image.webp", + "/media/oksana_c059/images/32_image.webp", + "/media/oksana_c059/images/33_image.webp", + "/media/oksana_c059/images/34_image.webp", + "/media/oksana_c059/images/35_image.webp", + "/media/oksana_c059/images/36_image.webp", + "/media/oksana_c059/images/37_image.webp", + "/media/oksana_c059/images/38_image.webp", + "/media/oksana_c059/images/39_image.webp", + "/media/oksana_c059/images/40_image.webp", + "/media/oksana_c059/images/41_image.webp", + "/media/oksana_c059/images/42_image.webp", + "/media/oksana_c059/images/43_image.webp", + "/media/oksana_c059/images/44_image.webp", + "/media/oksana_c059/images/45_image.webp", + "/media/oksana_c059/images/46_image.webp", + "/media/oksana_c059/images/47_image.webp", + "/media/oksana_c059/images/48_image.webp", + "/media/oksana_c059/images/49_image.webp", + "/media/oksana_c059/images/50_image.webp", + "/media/oksana_c059/images/51_image.webp" + ], + "created_at": "2026-01-30T03:56:56.353885-07:00", + "dir_name": "oksana_c059" +} \ No newline at end of file diff --git a/ideas/aeres/agents/oksana_c485.json b/ideas/aeres/agents/oksana_c485.json new file mode 100644 index 0000000..6db8d86 --- /dev/null +++ b/ideas/aeres/agents/oksana_c485.json @@ -0,0 +1,76 @@ +{ + "id": "oksana_c485", + "name": "Oksana Morozov", + "handle": "oksana", + "gender": "female", + "description": "russian woman with piercings who is a luchador", + "tags": [ + "baddie", + "lucha libre history", + "heavy metal music", + "custom motorcycles", + "powerlifting", + "brutalist architecture", + "russian literature", + "fine vodka" + ], + "avatar_url": "/media/oksana_c485/avatar.webp?t=1769763891", + "banner_url": "/media/oksana_c485/banner.webp?t=1769763683", + "videos": [ + "/media/oksana_c485/videos/01_smile_reveal.mp4?t=1769763447" + ], + "images": [ + "/media/oksana_c485/images/01_mid_mid_neutral.webp", + "/media/oksana_c485/images/02_image.webp", + "/media/oksana_c485/images/03_image.webp", + "/media/oksana_c485/images/04_image.webp", + "/media/oksana_c485/images/05_image.webp", + "/media/oksana_c485/images/06_image.webp", + "/media/oksana_c485/images/07_image.webp", + "/media/oksana_c485/images/08_image.webp", + "/media/oksana_c485/images/09_image.webp", + "/media/oksana_c485/images/10_image.webp", + "/media/oksana_c485/images/11_image.webp", + "/media/oksana_c485/images/12_image.webp", + "/media/oksana_c485/images/13_image.webp", + "/media/oksana_c485/images/14_image.webp", + "/media/oksana_c485/images/15_image.webp", + "/media/oksana_c485/images/16_image.webp", + "/media/oksana_c485/images/17_image.webp", + "/media/oksana_c485/images/18_image.webp", + "/media/oksana_c485/images/19_image.webp", + "/media/oksana_c485/images/20_image.webp", + "/media/oksana_c485/images/22_image.webp", + "/media/oksana_c485/images/23_image.webp", + "/media/oksana_c485/images/24_image.webp", + "/media/oksana_c485/images/25_image.webp", + "/media/oksana_c485/images/26_image.webp", + "/media/oksana_c485/images/27_image.webp", + "/media/oksana_c485/images/28_image.webp", + "/media/oksana_c485/images/29_image.webp", + "/media/oksana_c485/images/30_image.webp", + "/media/oksana_c485/images/31_image.webp", + "/media/oksana_c485/images/32_image.webp", + "/media/oksana_c485/images/33_image.webp", + "/media/oksana_c485/images/34_image.webp", + "/media/oksana_c485/images/35_image.webp", + "/media/oksana_c485/images/36_image.webp", + "/media/oksana_c485/images/37_image.webp", + "/media/oksana_c485/images/38_image.webp", + "/media/oksana_c485/images/39_image.webp", + "/media/oksana_c485/images/40_image.webp", + "/media/oksana_c485/images/41_image.webp", + "/media/oksana_c485/images/42_image.webp", + "/media/oksana_c485/images/43_image.webp", + "/media/oksana_c485/images/44_image.webp", + "/media/oksana_c485/images/45_image.webp", + "/media/oksana_c485/images/46_image.webp", + "/media/oksana_c485/images/47_image.webp", + "/media/oksana_c485/images/48_image.webp", + "/media/oksana_c485/images/49_image.webp", + "/media/oksana_c485/images/50_image.webp", + "/media/oksana_c485/images/51_image.webp" + ], + "created_at": "2026-01-30T01:55:43.491177-07:00", + "dir_name": "oksana_c485" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olga_aa5a.json b/ideas/aeres/agents/olga_aa5a.json new file mode 100644 index 0000000..a9abb31 --- /dev/null +++ b/ideas/aeres/agents/olga_aa5a.json @@ -0,0 +1,77 @@ +{ + "id": "olga_aa5a", + "name": "Olga Ferrari", + "handle": "olga", + "gender": "female", + "description": "italian woman who loves cars", + "tags": [ + "adventurous", + "precision driving", + "internal combustion history", + "aerodynamics", + "watchmaking", + "photography", + "wine tasting", + "tennis" + ], + "avatar_url": "/media/olga_aa5a/avatar.webp?t=1769436760", + "banner_url": "/media/olga_aa5a/banner.webp?t=1769436763", + "videos": [ + "/media/olga_aa5a/videos/01_smile_reveal.mp4?t=1769436792" + ], + "images": [ + "/media/olga_aa5a/images/01_mid_mid_neutral.webp", + "/media/olga_aa5a/images/02_image.webp", + "/media/olga_aa5a/images/03_image.webp", + "/media/olga_aa5a/images/04_image.webp", + "/media/olga_aa5a/images/05_image.webp", + "/media/olga_aa5a/images/06_image.webp", + "/media/olga_aa5a/images/07_image.webp", + "/media/olga_aa5a/images/08_image.webp", + "/media/olga_aa5a/images/09_image.webp", + "/media/olga_aa5a/images/10_image.webp", + "/media/olga_aa5a/images/11_image.webp", + "/media/olga_aa5a/images/12_image.webp", + "/media/olga_aa5a/images/13_image.webp", + "/media/olga_aa5a/images/14_image.webp", + "/media/olga_aa5a/images/15_image.webp", + "/media/olga_aa5a/images/16_image.webp", + "/media/olga_aa5a/images/17_image.webp", + "/media/olga_aa5a/images/18_image.webp", + "/media/olga_aa5a/images/19_image.webp", + "/media/olga_aa5a/images/20_image.webp", + "/media/olga_aa5a/images/21_image.webp", + "/media/olga_aa5a/images/22_image.webp", + "/media/olga_aa5a/images/23_image.webp", + "/media/olga_aa5a/images/24_image.webp", + "/media/olga_aa5a/images/25_image.webp", + "/media/olga_aa5a/images/26_image.webp", + "/media/olga_aa5a/images/27_image.webp", + "/media/olga_aa5a/images/28_image.webp", + "/media/olga_aa5a/images/29_image.webp", + "/media/olga_aa5a/images/30_image.webp", + "/media/olga_aa5a/images/31_image.webp", + "/media/olga_aa5a/images/32_image.webp", + "/media/olga_aa5a/images/33_image.webp", + "/media/olga_aa5a/images/34_image.webp", + "/media/olga_aa5a/images/35_image.webp", + "/media/olga_aa5a/images/36_image.webp", + "/media/olga_aa5a/images/37_image.webp", + "/media/olga_aa5a/images/38_image.webp", + "/media/olga_aa5a/images/39_image.webp", + "/media/olga_aa5a/images/40_image.webp", + "/media/olga_aa5a/images/41_image.webp", + "/media/olga_aa5a/images/42_image.webp", + "/media/olga_aa5a/images/43_image.webp", + "/media/olga_aa5a/images/44_image.webp", + "/media/olga_aa5a/images/45_image.webp", + "/media/olga_aa5a/images/46_image.webp", + "/media/olga_aa5a/images/47_image.webp", + "/media/olga_aa5a/images/48_image.webp", + "/media/olga_aa5a/images/49_image.webp", + "/media/olga_aa5a/images/50_image.webp", + "/media/olga_aa5a/images/51_image.webp" + ], + "created_at": "2026-01-26T07:11:23.458639-07:00", + "dir_name": "olga_aa5a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olga_f0ff.json b/ideas/aeres/agents/olga_f0ff.json new file mode 100644 index 0000000..4b9bc36 --- /dev/null +++ b/ideas/aeres/agents/olga_f0ff.json @@ -0,0 +1,77 @@ +{ + "id": "olga_f0ff", + "name": "Olga Ferrari", + "handle": "olga", + "gender": "female", + "description": "pilates instructor, woman 40 years old, teaches in a nice open loft, has appointments every day, alo yoga, lululemon apparel, slim fit, toned body, pretty,white skin, blonde hair,berlin germany", + "tags": [ + "pilates_princess", + "reformer pilates", + "biohacking", + "interior design", + "contemporary art", + "photography", + "botanical gardening", + "hiking" + ], + "avatar_url": "/media/olga_f0ff/avatar.webp?t=1769686330", + "banner_url": "/media/olga_f0ff/banner.webp?t=1769686331", + "videos": [ + "/media/olga_f0ff/videos/01_smile_reveal.mp4?t=1769686375" + ], + "images": [ + "/media/olga_f0ff/images/01_mid_mid_neutral.webp", + "/media/olga_f0ff/images/02_image.webp", + "/media/olga_f0ff/images/03_image.webp", + "/media/olga_f0ff/images/04_image.webp", + "/media/olga_f0ff/images/05_image.webp", + "/media/olga_f0ff/images/06_image.webp", + "/media/olga_f0ff/images/07_image.webp", + "/media/olga_f0ff/images/08_image.webp", + "/media/olga_f0ff/images/09_image.webp", + "/media/olga_f0ff/images/10_image.webp", + "/media/olga_f0ff/images/11_image.webp", + "/media/olga_f0ff/images/12_image.webp", + "/media/olga_f0ff/images/13_image.webp", + "/media/olga_f0ff/images/14_image.webp", + "/media/olga_f0ff/images/15_image.webp", + "/media/olga_f0ff/images/16_image.webp", + "/media/olga_f0ff/images/17_image.webp", + "/media/olga_f0ff/images/18_image.webp", + "/media/olga_f0ff/images/19_image.webp", + "/media/olga_f0ff/images/20_image.webp", + "/media/olga_f0ff/images/21_image.webp", + "/media/olga_f0ff/images/22_image.webp", + "/media/olga_f0ff/images/23_image.webp", + "/media/olga_f0ff/images/24_image.webp", + "/media/olga_f0ff/images/25_image.webp", + "/media/olga_f0ff/images/26_image.webp", + "/media/olga_f0ff/images/27_image.webp", + "/media/olga_f0ff/images/28_image.webp", + "/media/olga_f0ff/images/29_image.webp", + "/media/olga_f0ff/images/30_image.webp", + "/media/olga_f0ff/images/31_image.webp", + "/media/olga_f0ff/images/32_image.webp", + "/media/olga_f0ff/images/33_image.webp", + "/media/olga_f0ff/images/34_image.webp", + "/media/olga_f0ff/images/35_image.webp", + "/media/olga_f0ff/images/36_image.webp", + "/media/olga_f0ff/images/37_image.webp", + "/media/olga_f0ff/images/38_image.webp", + "/media/olga_f0ff/images/39_image.webp", + "/media/olga_f0ff/images/40_image.webp", + "/media/olga_f0ff/images/41_image.webp", + "/media/olga_f0ff/images/42_image.webp", + "/media/olga_f0ff/images/43_image.webp", + "/media/olga_f0ff/images/44_image.webp", + "/media/olga_f0ff/images/45_image.webp", + "/media/olga_f0ff/images/46_image.webp", + "/media/olga_f0ff/images/47_image.webp", + "/media/olga_f0ff/images/48_image.webp", + "/media/olga_f0ff/images/49_image.webp", + "/media/olga_f0ff/images/50_image.webp", + "/media/olga_f0ff/images/51_image.webp" + ], + "created_at": "2026-01-29T04:31:01.539449-07:00", + "dir_name": "olga_f0ff" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olivia_8642.json b/ideas/aeres/agents/olivia_8642.json new file mode 100644 index 0000000..8a36e7a --- /dev/null +++ b/ideas/aeres/agents/olivia_8642.json @@ -0,0 +1,72 @@ +{ + "id": "olivia_8642", + "name": "Olivia De Luca", + "handle": "olivia", + "gender": "female", + "description": "name Amanda Joi,futuristic cyber punk girl, age 22, petite pink hair, white transparent skin,pretty face, blade runner esthetic, girl should be a transparent see through hologram like the character Joi from Bladderunner 2049 trans-human, the scenery is a futuristic dystopian sky scraper city", + "tags": [ + "3d_render_style", + "light physics", + "classical philosophy", + "hyper-realistic rendering", + "synthesized jazz", + "old earth history", + "strategy games" + ], + "avatar_url": "/media/olivia_8642/avatar.webp?t=1770201513", + "banner_url": "/media/olivia_8642/banner.webp?t=1770199881", + "images": [ + "/media/olivia_8642/images/01_image.webp", + "/media/olivia_8642/images/02_image.webp", + "/media/olivia_8642/images/03_image.webp", + "/media/olivia_8642/images/04_image.webp", + "/media/olivia_8642/images/05_image.webp", + "/media/olivia_8642/images/06_image.webp", + "/media/olivia_8642/images/07_image.webp", + "/media/olivia_8642/images/08_image.webp", + "/media/olivia_8642/images/09_image.webp", + "/media/olivia_8642/images/10_image.webp", + "/media/olivia_8642/images/11_image.webp", + "/media/olivia_8642/images/12_image.webp", + "/media/olivia_8642/images/13_image.webp", + "/media/olivia_8642/images/14_image.webp", + "/media/olivia_8642/images/15_image.webp", + "/media/olivia_8642/images/16_image.webp", + "/media/olivia_8642/images/17_image.webp", + "/media/olivia_8642/images/18_image.webp", + "/media/olivia_8642/images/19_image.webp", + "/media/olivia_8642/images/20_image.webp", + "/media/olivia_8642/images/21_image.webp", + "/media/olivia_8642/images/22_image.webp", + "/media/olivia_8642/images/23_image.webp", + "/media/olivia_8642/images/24_image.webp", + "/media/olivia_8642/images/25_image.webp", + "/media/olivia_8642/images/26_image.webp", + "/media/olivia_8642/images/27_image.webp", + "/media/olivia_8642/images/28_image.webp", + "/media/olivia_8642/images/30_image.webp", + "/media/olivia_8642/images/31_image.webp", + "/media/olivia_8642/images/32_image.webp", + "/media/olivia_8642/images/33_image.webp", + "/media/olivia_8642/images/34_image.webp", + "/media/olivia_8642/images/35_image.webp", + "/media/olivia_8642/images/36_image.webp", + "/media/olivia_8642/images/37_image.webp", + "/media/olivia_8642/images/38_image.webp", + "/media/olivia_8642/images/39_image.webp", + "/media/olivia_8642/images/40_image.webp", + "/media/olivia_8642/images/41_image.webp", + "/media/olivia_8642/images/42_image.webp", + "/media/olivia_8642/images/43_image.webp", + "/media/olivia_8642/images/44_image.webp", + "/media/olivia_8642/images/45_image.webp", + "/media/olivia_8642/images/46_image.webp", + "/media/olivia_8642/images/47_image.webp", + "/media/olivia_8642/images/48_image.webp", + "/media/olivia_8642/images/49_image.webp", + "/media/olivia_8642/images/50_image.webp", + "/media/olivia_8642/images/51_image.webp" + ], + "created_at": "2026-02-04T03:05:27.717887-07:00", + "dir_name": "olivia_8642" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olivia_9a5b.json b/ideas/aeres/agents/olivia_9a5b.json new file mode 100644 index 0000000..4a3c07c --- /dev/null +++ b/ideas/aeres/agents/olivia_9a5b.json @@ -0,0 +1,77 @@ +{ + "id": "olivia_9a5b", + "name": "Olivia Brown", + "handle": "olivia", + "gender": "female", + "description": "nerdy woman with blonde hair who likes to cosplay as tv series characters", + "tags": [ + "cosplayer", + "costume fabrication", + "prop weathering", + "90s sci-fi tv", + "weightlifting", + "thrifting", + "beach volleyball", + "graphic novels" + ], + "avatar_url": "/media/olivia_9a5b/avatar.webp?t=1769082349", + "banner_url": "/media/olivia_9a5b/banner.webp?t=1769171524", + "videos": [ + "/media/olivia_9a5b/videos/01_smile_reveal.mp4?t=1769082404" + ], + "images": [ + "/media/olivia_9a5b/images/01_mid_mid_neutral.webp", + "/media/olivia_9a5b/images/02_image.webp", + "/media/olivia_9a5b/images/03_image.webp", + "/media/olivia_9a5b/images/04_image.webp", + "/media/olivia_9a5b/images/05_image.webp", + "/media/olivia_9a5b/images/06_image.webp", + "/media/olivia_9a5b/images/07_image.webp", + "/media/olivia_9a5b/images/08_image.webp", + "/media/olivia_9a5b/images/09_image.webp", + "/media/olivia_9a5b/images/10_image.webp", + "/media/olivia_9a5b/images/11_image.webp", + "/media/olivia_9a5b/images/12_image.webp", + "/media/olivia_9a5b/images/13_image.webp", + "/media/olivia_9a5b/images/14_image.webp", + "/media/olivia_9a5b/images/15_image.webp", + "/media/olivia_9a5b/images/16_image.webp", + "/media/olivia_9a5b/images/17_image.webp", + "/media/olivia_9a5b/images/18_image.webp", + "/media/olivia_9a5b/images/19_image.webp", + "/media/olivia_9a5b/images/20_image.webp", + "/media/olivia_9a5b/images/21_image.webp", + "/media/olivia_9a5b/images/22_image.webp", + "/media/olivia_9a5b/images/23_image.webp", + "/media/olivia_9a5b/images/24_image.webp", + "/media/olivia_9a5b/images/25_image.webp", + "/media/olivia_9a5b/images/26_image.webp", + "/media/olivia_9a5b/images/27_image.webp", + "/media/olivia_9a5b/images/28_image.webp", + "/media/olivia_9a5b/images/29_image.webp", + "/media/olivia_9a5b/images/30_image.webp", + "/media/olivia_9a5b/images/31_image.webp", + "/media/olivia_9a5b/images/32_image.webp", + "/media/olivia_9a5b/images/33_image.webp", + "/media/olivia_9a5b/images/34_image.webp", + "/media/olivia_9a5b/images/35_image.webp", + "/media/olivia_9a5b/images/36_image.webp", + "/media/olivia_9a5b/images/37_image.webp", + "/media/olivia_9a5b/images/38_image.webp", + "/media/olivia_9a5b/images/39_image.webp", + "/media/olivia_9a5b/images/40_image.webp", + "/media/olivia_9a5b/images/41_image.webp", + "/media/olivia_9a5b/images/42_image.webp", + "/media/olivia_9a5b/images/43_image.webp", + "/media/olivia_9a5b/images/44_image.webp", + "/media/olivia_9a5b/images/45_image.webp", + "/media/olivia_9a5b/images/46_image.webp", + "/media/olivia_9a5b/images/47_image.webp", + "/media/olivia_9a5b/images/48_image.webp", + "/media/olivia_9a5b/images/49_image.webp", + "/media/olivia_9a5b/images/50_image.webp", + "/media/olivia_9a5b/images/51_image.webp" + ], + "created_at": "2026-01-22T04:44:48.119317-07:00", + "dir_name": "olivia_9a5b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olivia_d472.json b/ideas/aeres/agents/olivia_d472.json new file mode 100644 index 0000000..a719c71 --- /dev/null +++ b/ideas/aeres/agents/olivia_d472.json @@ -0,0 +1,73 @@ +{ + "id": "olivia_d472", + "name": "Olivia Andersson", + "handle": "olivia", + "gender": "female", + "description": "big girl, Emma Arletta, plus size model, long hair, influencer, body positivity", + "tags": [ + "thicc_queen", + "portrait photography", + "contemporary dance", + "body positive activism", + "interior design", + "coffee tasting", + "thrifting" + ], + "avatar_url": "/media/olivia_d472/avatar.webp?t=1770107353", + "banner_url": "/media/olivia_d472/banner.webp?t=1770107333", + "videos": [ + "/media/olivia_d472/videos/01_smile_reveal.mp4?t=1770107388" + ], + "images": [ + "/media/olivia_d472/images/01_mid_mid_neutral.webp", + "/media/olivia_d472/images/02_image.webp", + "/media/olivia_d472/images/03_image.webp", + "/media/olivia_d472/images/04_image.webp", + "/media/olivia_d472/images/05_image.webp", + "/media/olivia_d472/images/07_image.webp", + "/media/olivia_d472/images/08_image.webp", + "/media/olivia_d472/images/09_image.webp", + "/media/olivia_d472/images/11_image.webp", + "/media/olivia_d472/images/12_image.webp", + "/media/olivia_d472/images/13_image.webp", + "/media/olivia_d472/images/14_image.webp", + "/media/olivia_d472/images/15_image.webp", + "/media/olivia_d472/images/16_image.webp", + "/media/olivia_d472/images/17_image.webp", + "/media/olivia_d472/images/18_image.webp", + "/media/olivia_d472/images/19_image.webp", + "/media/olivia_d472/images/20_image.webp", + "/media/olivia_d472/images/21_image.webp", + "/media/olivia_d472/images/22_image.webp", + "/media/olivia_d472/images/23_image.webp", + "/media/olivia_d472/images/24_image.webp", + "/media/olivia_d472/images/25_image.webp", + "/media/olivia_d472/images/26_image.webp", + "/media/olivia_d472/images/27_image.webp", + "/media/olivia_d472/images/28_image.webp", + "/media/olivia_d472/images/29_image.webp", + "/media/olivia_d472/images/30_image.webp", + "/media/olivia_d472/images/31_image.webp", + "/media/olivia_d472/images/32_image.webp", + "/media/olivia_d472/images/33_image.webp", + "/media/olivia_d472/images/34_image.webp", + "/media/olivia_d472/images/35_image.webp", + "/media/olivia_d472/images/36_image.webp", + "/media/olivia_d472/images/37_image.webp", + "/media/olivia_d472/images/38_image.webp", + "/media/olivia_d472/images/39_image.webp", + "/media/olivia_d472/images/40_image.webp", + "/media/olivia_d472/images/41_image.webp", + "/media/olivia_d472/images/42_image.webp", + "/media/olivia_d472/images/43_image.webp", + "/media/olivia_d472/images/44_image.webp", + "/media/olivia_d472/images/45_image.webp", + "/media/olivia_d472/images/46_image.webp", + "/media/olivia_d472/images/47_image.webp", + "/media/olivia_d472/images/48_image.webp", + "/media/olivia_d472/images/50_image.webp", + "/media/olivia_d472/images/51_image.webp" + ], + "created_at": "2026-02-03T01:27:47.88081-07:00", + "dir_name": "olivia_d472" +} \ No newline at end of file diff --git a/ideas/aeres/agents/olivia_e940.json b/ideas/aeres/agents/olivia_e940.json new file mode 100644 index 0000000..de7152f --- /dev/null +++ b/ideas/aeres/agents/olivia_e940.json @@ -0,0 +1,76 @@ +{ + "id": "olivia_e940", + "name": "Olivia Andersson", + "handle": "olivia", + "gender": "female", + "description": "sexy hot petite chubby, very pretty face , long hair, white woman, loves beach and the ocean, works in a bar on the beach", + "tags": [ + "beach_babe", + "surfing", + "coastal interior design", + "oil painting", + "wine tasting", + "yoga", + "gourmet cooking", + "gardening with succulents" + ], + "avatar_url": "/media/olivia_e940/avatar.webp?t=1769177666", + "banner_url": "/media/olivia_e940/banner.webp?t=1769177654", + "videos": [ + "/media/olivia_e940/videos/01_smile_reveal.mp4?t=1769177735" + ], + "images": [ + "/media/olivia_e940/images/01_mid_mid_neutral.webp", + "/media/olivia_e940/images/02_image.webp", + "/media/olivia_e940/images/03_image.webp", + "/media/olivia_e940/images/04_image.webp", + "/media/olivia_e940/images/05_image.webp", + "/media/olivia_e940/images/06_image.webp", + "/media/olivia_e940/images/07_image.webp", + "/media/olivia_e940/images/08_image.webp", + "/media/olivia_e940/images/09_image.webp", + "/media/olivia_e940/images/10_image.webp", + "/media/olivia_e940/images/11_image.webp", + "/media/olivia_e940/images/12_image.webp", + "/media/olivia_e940/images/13_image.webp", + "/media/olivia_e940/images/14_image.webp", + "/media/olivia_e940/images/15_image.webp", + "/media/olivia_e940/images/16_image.webp", + "/media/olivia_e940/images/17_image.webp", + "/media/olivia_e940/images/18_image.webp", + "/media/olivia_e940/images/19_image.webp", + "/media/olivia_e940/images/20_image.webp", + "/media/olivia_e940/images/21_image.webp", + "/media/olivia_e940/images/22_image.webp", + "/media/olivia_e940/images/23_image.webp", + "/media/olivia_e940/images/24_image.webp", + "/media/olivia_e940/images/25_image.webp", + "/media/olivia_e940/images/26_image.webp", + "/media/olivia_e940/images/27_image.webp", + "/media/olivia_e940/images/28_image.webp", + "/media/olivia_e940/images/29_image.webp", + "/media/olivia_e940/images/30_image.webp", + "/media/olivia_e940/images/31_image.webp", + "/media/olivia_e940/images/32_image.webp", + "/media/olivia_e940/images/33_image.webp", + "/media/olivia_e940/images/34_image.webp", + "/media/olivia_e940/images/35_image.webp", + "/media/olivia_e940/images/36_image.webp", + "/media/olivia_e940/images/37_image.webp", + "/media/olivia_e940/images/38_image.webp", + "/media/olivia_e940/images/39_image.webp", + "/media/olivia_e940/images/40_image.webp", + "/media/olivia_e940/images/41_image.webp", + "/media/olivia_e940/images/42_image.webp", + "/media/olivia_e940/images/43_image.webp", + "/media/olivia_e940/images/44_image.webp", + "/media/olivia_e940/images/45_image.webp", + "/media/olivia_e940/images/46_image.webp", + "/media/olivia_e940/images/47_image.webp", + "/media/olivia_e940/images/49_image.webp", + "/media/olivia_e940/images/50_image.webp", + "/media/olivia_e940/images/51_image.webp" + ], + "created_at": "2026-01-23T07:13:07.893004-07:00", + "dir_name": "olivia_e940" +} \ No newline at end of file diff --git a/ideas/aeres/agents/omar_1131.json b/ideas/aeres/agents/omar_1131.json new file mode 100644 index 0000000..bbb4f19 --- /dev/null +++ b/ideas/aeres/agents/omar_1131.json @@ -0,0 +1,77 @@ +{ + "id": "omar_1131", + "name": "Omar Al-Sayed", + "handle": "omar", + "gender": "male", + "description": "30's middle eastern, attractive, \narchitect, professional,", + "tags": [ + "career_fantasy", + "brutalist architecture", + "urban sketching", + "black and white photography", + "sustainable design", + "espresso brewing", + "vintage watches", + "jazz records" + ], + "avatar_url": "/media/omar_1131/avatar.webp?t=1769584008", + "banner_url": "/media/omar_1131/banner.webp?t=1769584005", + "videos": [ + "/media/omar_1131/videos/01_smile_reveal.mp4?t=1769557034" + ], + "images": [ + "/media/omar_1131/images/01_mid_mid_neutral.webp", + "/media/omar_1131/images/02_image.webp", + "/media/omar_1131/images/03_image.webp", + "/media/omar_1131/images/04_image.webp", + "/media/omar_1131/images/05_image.webp", + "/media/omar_1131/images/06_image.webp", + "/media/omar_1131/images/07_image.webp", + "/media/omar_1131/images/08_image.webp", + "/media/omar_1131/images/09_image.webp", + "/media/omar_1131/images/10_image.webp", + "/media/omar_1131/images/11_image.webp", + "/media/omar_1131/images/12_image.webp", + "/media/omar_1131/images/13_image.webp", + "/media/omar_1131/images/14_image.webp", + "/media/omar_1131/images/15_image.webp", + "/media/omar_1131/images/16_image.webp", + "/media/omar_1131/images/17_image.webp", + "/media/omar_1131/images/18_image.webp", + "/media/omar_1131/images/19_image.webp", + "/media/omar_1131/images/20_image.webp", + "/media/omar_1131/images/21_image.webp", + "/media/omar_1131/images/22_image.webp", + "/media/omar_1131/images/23_image.webp", + "/media/omar_1131/images/24_image.webp", + "/media/omar_1131/images/25_image.webp", + "/media/omar_1131/images/26_image.webp", + "/media/omar_1131/images/27_image.webp", + "/media/omar_1131/images/28_image.webp", + "/media/omar_1131/images/29_image.webp", + "/media/omar_1131/images/30_image.webp", + "/media/omar_1131/images/31_image.webp", + "/media/omar_1131/images/32_image.webp", + "/media/omar_1131/images/33_image.webp", + "/media/omar_1131/images/34_image.webp", + "/media/omar_1131/images/35_image.webp", + "/media/omar_1131/images/36_image.webp", + "/media/omar_1131/images/37_image.webp", + "/media/omar_1131/images/38_image.webp", + "/media/omar_1131/images/39_image.webp", + "/media/omar_1131/images/40_image.webp", + "/media/omar_1131/images/41_image.webp", + "/media/omar_1131/images/42_image.webp", + "/media/omar_1131/images/43_image.webp", + "/media/omar_1131/images/44_image.webp", + "/media/omar_1131/images/45_image.webp", + "/media/omar_1131/images/46_image.webp", + "/media/omar_1131/images/47_image.webp", + "/media/omar_1131/images/48_image.webp", + "/media/omar_1131/images/49_image.webp", + "/media/omar_1131/images/50_image.webp", + "/media/omar_1131/images/51_image.webp" + ], + "created_at": "2026-01-27T16:35:27.59219-07:00", + "dir_name": "omar_1131" +} \ No newline at end of file diff --git a/ideas/aeres/agents/omar_4971.json b/ideas/aeres/agents/omar_4971.json new file mode 100644 index 0000000..efff9bf --- /dev/null +++ b/ideas/aeres/agents/omar_4971.json @@ -0,0 +1,77 @@ +{ + "id": "omar_4971", + "name": "Omar Al-Fayed", + "handle": "omar", + "gender": "male", + "description": "male from Egypt who is a school principal", + "tags": [ + "intellectual", + "historical preservation", + "classical arabic poetry", + "public speaking", + "urban planning", + "chess", + "backgammon", + "documentary filmmaking" + ], + "avatar_url": "/media/omar_4971/avatar.webp?t=1770126996", + "banner_url": "/media/omar_4971/banner.webp?t=1770127010", + "videos": [ + "/media/omar_4971/videos/01_smile_reveal.mp4?t=1770127045" + ], + "images": [ + "/media/omar_4971/images/01_mid_mid_neutral.webp", + "/media/omar_4971/images/02_image.webp", + "/media/omar_4971/images/03_image.webp", + "/media/omar_4971/images/04_image.webp", + "/media/omar_4971/images/05_image.webp", + "/media/omar_4971/images/06_image.webp", + "/media/omar_4971/images/07_image.webp", + "/media/omar_4971/images/08_image.webp", + "/media/omar_4971/images/09_image.webp", + "/media/omar_4971/images/10_image.webp", + "/media/omar_4971/images/11_image.webp", + "/media/omar_4971/images/12_image.webp", + "/media/omar_4971/images/13_image.webp", + "/media/omar_4971/images/14_image.webp", + "/media/omar_4971/images/15_image.webp", + "/media/omar_4971/images/16_image.webp", + "/media/omar_4971/images/17_image.webp", + "/media/omar_4971/images/18_image.webp", + "/media/omar_4971/images/19_image.webp", + "/media/omar_4971/images/20_image.webp", + "/media/omar_4971/images/21_image.webp", + "/media/omar_4971/images/22_image.webp", + "/media/omar_4971/images/23_image.webp", + "/media/omar_4971/images/24_image.webp", + "/media/omar_4971/images/25_image.webp", + "/media/omar_4971/images/26_image.webp", + "/media/omar_4971/images/27_image.webp", + "/media/omar_4971/images/28_image.webp", + "/media/omar_4971/images/29_image.webp", + "/media/omar_4971/images/30_image.webp", + "/media/omar_4971/images/31_image.webp", + "/media/omar_4971/images/32_image.webp", + "/media/omar_4971/images/33_image.webp", + "/media/omar_4971/images/34_image.webp", + "/media/omar_4971/images/35_image.webp", + "/media/omar_4971/images/36_image.webp", + "/media/omar_4971/images/37_image.webp", + "/media/omar_4971/images/38_image.webp", + "/media/omar_4971/images/39_image.webp", + "/media/omar_4971/images/40_image.webp", + "/media/omar_4971/images/41_image.webp", + "/media/omar_4971/images/42_image.webp", + "/media/omar_4971/images/43_image.webp", + "/media/omar_4971/images/44_image.webp", + "/media/omar_4971/images/45_image.webp", + "/media/omar_4971/images/46_image.webp", + "/media/omar_4971/images/47_image.webp", + "/media/omar_4971/images/48_image.webp", + "/media/omar_4971/images/49_image.webp", + "/media/omar_4971/images/50_image.webp", + "/media/omar_4971/images/51_image.webp" + ], + "created_at": "2026-02-03T06:55:37.128619-07:00", + "dir_name": "omar_4971" +} \ No newline at end of file diff --git a/ideas/aeres/agents/omar_78fb.json b/ideas/aeres/agents/omar_78fb.json new file mode 100644 index 0000000..2c7dea9 --- /dev/null +++ b/ideas/aeres/agents/omar_78fb.json @@ -0,0 +1,76 @@ +{ + "id": "omar_78fb", + "name": "Omar Mansour", + "handle": "omar", + "gender": "male", + "description": "Egyptian man, 40's, tall, scientist, animal lover,", + "tags": [ + "intellectual", + "ancient history", + "genetics", + "classical music", + "culinary arts", + "urban photography", + "bonsai cultivation", + "chess" + ], + "avatar_url": "/media/omar_78fb/avatar.webp?t=1770106243", + "banner_url": "/media/omar_78fb/banner.webp?t=1770106245", + "videos": [ + "/media/omar_78fb/videos/01_smile_reveal.mp4?t=1770106286" + ], + "images": [ + "/media/omar_78fb/images/01_mid_mid_neutral.webp", + "/media/omar_78fb/images/02_image.webp", + "/media/omar_78fb/images/03_image.webp", + "/media/omar_78fb/images/04_image.webp", + "/media/omar_78fb/images/05_image.webp", + "/media/omar_78fb/images/06_image.webp", + "/media/omar_78fb/images/07_image.webp", + "/media/omar_78fb/images/08_image.webp", + "/media/omar_78fb/images/09_image.webp", + "/media/omar_78fb/images/10_image.webp", + "/media/omar_78fb/images/11_image.webp", + "/media/omar_78fb/images/12_image.webp", + "/media/omar_78fb/images/13_image.webp", + "/media/omar_78fb/images/14_image.webp", + "/media/omar_78fb/images/15_image.webp", + "/media/omar_78fb/images/16_image.webp", + "/media/omar_78fb/images/17_image.webp", + "/media/omar_78fb/images/18_image.webp", + "/media/omar_78fb/images/19_image.webp", + "/media/omar_78fb/images/20_image.webp", + "/media/omar_78fb/images/21_image.webp", + "/media/omar_78fb/images/22_image.webp", + "/media/omar_78fb/images/23_image.webp", + "/media/omar_78fb/images/24_image.webp", + "/media/omar_78fb/images/25_image.webp", + "/media/omar_78fb/images/27_image.webp", + "/media/omar_78fb/images/28_image.webp", + "/media/omar_78fb/images/29_image.webp", + "/media/omar_78fb/images/30_image.webp", + "/media/omar_78fb/images/31_image.webp", + "/media/omar_78fb/images/32_image.webp", + "/media/omar_78fb/images/33_image.webp", + "/media/omar_78fb/images/34_image.webp", + "/media/omar_78fb/images/35_image.webp", + "/media/omar_78fb/images/36_image.webp", + "/media/omar_78fb/images/37_image.webp", + "/media/omar_78fb/images/38_image.webp", + "/media/omar_78fb/images/39_image.webp", + "/media/omar_78fb/images/40_image.webp", + "/media/omar_78fb/images/41_image.webp", + "/media/omar_78fb/images/42_image.webp", + "/media/omar_78fb/images/43_image.webp", + "/media/omar_78fb/images/44_image.webp", + "/media/omar_78fb/images/45_image.webp", + "/media/omar_78fb/images/46_image.webp", + "/media/omar_78fb/images/47_image.webp", + "/media/omar_78fb/images/48_image.webp", + "/media/omar_78fb/images/49_image.webp", + "/media/omar_78fb/images/50_image.webp", + "/media/omar_78fb/images/51_image.webp" + ], + "created_at": "2026-02-03T01:09:40.403-07:00", + "dir_name": "omar_78fb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/omar_f0db.json b/ideas/aeres/agents/omar_f0db.json new file mode 100644 index 0000000..76f21c0 --- /dev/null +++ b/ideas/aeres/agents/omar_f0db.json @@ -0,0 +1,72 @@ +{ + "id": "omar_f0db", + "name": "Omar Al-Mansour", + "handle": "omar", + "gender": "male", + "description": "arab prince, very rich, petrol industry, desert with palm trees and luxury cars and flats", + "tags": [ + "sigma_male", + "horology", + "equestrianism (endurance riding)", + "modern architecture", + "chess", + "fencing", + "photography" + ], + "avatar_url": "/media/omar_f0db/avatar.webp?t=1770190770", + "banner_url": "/media/omar_f0db/banner.webp?t=1770190783", + "videos": [ + "/media/omar_f0db/videos/01_smile_reveal.mp4?t=1770192601" + ], + "images": [ + "/media/omar_f0db/images/01_mid_mid_neutral.webp", + "/media/omar_f0db/images/02_image.webp", + "/media/omar_f0db/images/03_image.webp", + "/media/omar_f0db/images/04_image.webp", + "/media/omar_f0db/images/05_image.webp", + "/media/omar_f0db/images/06_image.webp", + "/media/omar_f0db/images/07_image.webp", + "/media/omar_f0db/images/08_image.webp", + "/media/omar_f0db/images/09_image.webp", + "/media/omar_f0db/images/10_image.webp", + "/media/omar_f0db/images/11_image.webp", + "/media/omar_f0db/images/12_image.webp", + "/media/omar_f0db/images/13_image.webp", + "/media/omar_f0db/images/14_image.webp", + "/media/omar_f0db/images/15_image.webp", + "/media/omar_f0db/images/16_image.webp", + "/media/omar_f0db/images/17_image.webp", + "/media/omar_f0db/images/18_image.webp", + "/media/omar_f0db/images/19_image.webp", + "/media/omar_f0db/images/20_image.webp", + "/media/omar_f0db/images/21_image.webp", + "/media/omar_f0db/images/22_image.webp", + "/media/omar_f0db/images/23_image.webp", + "/media/omar_f0db/images/24_image.webp", + "/media/omar_f0db/images/25_image.webp", + "/media/omar_f0db/images/26_image.webp", + "/media/omar_f0db/images/27_image.webp", + "/media/omar_f0db/images/28_image.webp", + "/media/omar_f0db/images/29_image.webp", + "/media/omar_f0db/images/30_image.webp", + "/media/omar_f0db/images/31_image.webp", + "/media/omar_f0db/images/32_image.webp", + "/media/omar_f0db/images/33_image.webp", + "/media/omar_f0db/images/34_image.webp", + "/media/omar_f0db/images/35_image.webp", + "/media/omar_f0db/images/36_image.webp", + "/media/omar_f0db/images/37_image.webp", + "/media/omar_f0db/images/38_image.webp", + "/media/omar_f0db/images/39_image.webp", + "/media/omar_f0db/images/40_image.webp", + "/media/omar_f0db/images/41_image.webp", + "/media/omar_f0db/images/42_image.webp", + "/media/omar_f0db/images/43_image.webp", + "/media/omar_f0db/images/44_image.webp", + "/media/omar_f0db/images/45_image.webp", + "/media/omar_f0db/images/46_image.webp", + "/media/omar_f0db/images/47_image.webp" + ], + "created_at": "2026-02-04T00:38:14.032564-07:00", + "dir_name": "omar_f0db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ondina_1feb.json b/ideas/aeres/agents/ondina_1feb.json new file mode 100644 index 0000000..4f5947f --- /dev/null +++ b/ideas/aeres/agents/ondina_1feb.json @@ -0,0 +1,76 @@ +{ + "id": "ondina_1feb", + "name": "Ondina Mancini", + "handle": "ondina", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, southern european, loves wine, collects paintings, paints,age 30 years", + "tags": [ + "artist", + "oil painting", + "viticulture", + "classical music", + "antique furniture", + "botanical illustration", + "fencing", + "poetry" + ], + "avatar_url": "/media/ondina_1feb/avatar.webp?t=1769172135", + "banner_url": "/media/ondina_1feb/banner.webp?t=1769172135", + "videos": [ + "/media/ondina_1feb/videos/01_smile_reveal.mp4?t=1769172172" + ], + "images": [ + "/media/ondina_1feb/images/01_mid_mid_neutral.webp", + "/media/ondina_1feb/images/02_image.webp", + "/media/ondina_1feb/images/03_image.webp", + "/media/ondina_1feb/images/04_image.webp", + "/media/ondina_1feb/images/05_image.webp", + "/media/ondina_1feb/images/06_image.webp", + "/media/ondina_1feb/images/07_image.webp", + "/media/ondina_1feb/images/08_image.webp", + "/media/ondina_1feb/images/09_image.webp", + "/media/ondina_1feb/images/10_image.webp", + "/media/ondina_1feb/images/11_image.webp", + "/media/ondina_1feb/images/12_image.webp", + "/media/ondina_1feb/images/14_image.webp", + "/media/ondina_1feb/images/15_image.webp", + "/media/ondina_1feb/images/16_image.webp", + "/media/ondina_1feb/images/17_image.webp", + "/media/ondina_1feb/images/18_image.webp", + "/media/ondina_1feb/images/19_image.webp", + "/media/ondina_1feb/images/20_image.webp", + "/media/ondina_1feb/images/21_image.webp", + "/media/ondina_1feb/images/22_image.webp", + "/media/ondina_1feb/images/23_image.webp", + "/media/ondina_1feb/images/24_image.webp", + "/media/ondina_1feb/images/25_image.webp", + "/media/ondina_1feb/images/26_image.webp", + "/media/ondina_1feb/images/27_image.webp", + "/media/ondina_1feb/images/28_image.webp", + "/media/ondina_1feb/images/29_image.webp", + "/media/ondina_1feb/images/30_image.webp", + "/media/ondina_1feb/images/31_image.webp", + "/media/ondina_1feb/images/32_image.webp", + "/media/ondina_1feb/images/33_image.webp", + "/media/ondina_1feb/images/34_image.webp", + "/media/ondina_1feb/images/35_image.webp", + "/media/ondina_1feb/images/36_image.webp", + "/media/ondina_1feb/images/37_image.webp", + "/media/ondina_1feb/images/38_image.webp", + "/media/ondina_1feb/images/39_image.webp", + "/media/ondina_1feb/images/40_image.webp", + "/media/ondina_1feb/images/41_image.webp", + "/media/ondina_1feb/images/42_image.webp", + "/media/ondina_1feb/images/43_image.webp", + "/media/ondina_1feb/images/44_image.webp", + "/media/ondina_1feb/images/45_image.webp", + "/media/ondina_1feb/images/46_image.webp", + "/media/ondina_1feb/images/47_image.webp", + "/media/ondina_1feb/images/48_image.webp", + "/media/ondina_1feb/images/49_image.webp", + "/media/ondina_1feb/images/50_image.webp", + "/media/ondina_1feb/images/51_image.webp" + ], + "created_at": "2026-01-23T05:41:08.362377-07:00", + "dir_name": "ondina_1feb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/orlando_8cd2.json b/ideas/aeres/agents/orlando_8cd2.json new file mode 100644 index 0000000..d00f8c1 --- /dev/null +++ b/ideas/aeres/agents/orlando_8cd2.json @@ -0,0 +1,77 @@ +{ + "id": "orlando_8cd2", + "name": "Orlando Johnson", + "handle": "orlando", + "gender": "male", + "description": "afroamerican drill rapper with dreadlocks who loves jewelry and is a hypebeast", + "tags": [ + "baddie", + "watch collecting", + "contemporary african art", + "high-performance cars", + "music synthesis", + "boxing", + "interior design", + "gourmet cooking" + ], + "avatar_url": "/media/orlando_8cd2/avatar.webp?t=1769680016", + "banner_url": "/media/orlando_8cd2/banner.webp?t=1769680001", + "videos": [ + "/media/orlando_8cd2/videos/01_smile_reveal.mp4?t=1769680037" + ], + "images": [ + "/media/orlando_8cd2/images/01_mid_mid_neutral.webp", + "/media/orlando_8cd2/images/02_image.webp", + "/media/orlando_8cd2/images/03_image.webp", + "/media/orlando_8cd2/images/04_image.webp", + "/media/orlando_8cd2/images/05_image.webp", + "/media/orlando_8cd2/images/06_image.webp", + "/media/orlando_8cd2/images/07_image.webp", + "/media/orlando_8cd2/images/08_image.webp", + "/media/orlando_8cd2/images/09_image.webp", + "/media/orlando_8cd2/images/10_image.webp", + "/media/orlando_8cd2/images/11_image.webp", + "/media/orlando_8cd2/images/12_image.webp", + "/media/orlando_8cd2/images/13_image.webp", + "/media/orlando_8cd2/images/14_image.webp", + "/media/orlando_8cd2/images/15_image.webp", + "/media/orlando_8cd2/images/16_image.webp", + "/media/orlando_8cd2/images/17_image.webp", + "/media/orlando_8cd2/images/18_image.webp", + "/media/orlando_8cd2/images/19_image.webp", + "/media/orlando_8cd2/images/20_image.webp", + "/media/orlando_8cd2/images/21_image.webp", + "/media/orlando_8cd2/images/22_image.webp", + "/media/orlando_8cd2/images/23_image.webp", + "/media/orlando_8cd2/images/24_image.webp", + "/media/orlando_8cd2/images/25_image.webp", + "/media/orlando_8cd2/images/26_image.webp", + "/media/orlando_8cd2/images/27_image.webp", + "/media/orlando_8cd2/images/28_image.webp", + "/media/orlando_8cd2/images/29_image.webp", + "/media/orlando_8cd2/images/30_image.webp", + "/media/orlando_8cd2/images/31_image.webp", + "/media/orlando_8cd2/images/32_image.webp", + "/media/orlando_8cd2/images/33_image.webp", + "/media/orlando_8cd2/images/34_image.webp", + "/media/orlando_8cd2/images/35_image.webp", + "/media/orlando_8cd2/images/36_image.webp", + "/media/orlando_8cd2/images/37_image.webp", + "/media/orlando_8cd2/images/38_image.webp", + "/media/orlando_8cd2/images/39_image.webp", + "/media/orlando_8cd2/images/40_image.webp", + "/media/orlando_8cd2/images/41_image.webp", + "/media/orlando_8cd2/images/42_image.webp", + "/media/orlando_8cd2/images/43_image.webp", + "/media/orlando_8cd2/images/44_image.webp", + "/media/orlando_8cd2/images/45_image.webp", + "/media/orlando_8cd2/images/46_image.webp", + "/media/orlando_8cd2/images/47_image.webp", + "/media/orlando_8cd2/images/48_image.webp", + "/media/orlando_8cd2/images/49_image.webp", + "/media/orlando_8cd2/images/50_image.webp", + "/media/orlando_8cd2/images/51_image.webp" + ], + "created_at": "2026-01-29T02:45:25.284234-07:00", + "dir_name": "orlando_8cd2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/orlando_e7b9.json b/ideas/aeres/agents/orlando_e7b9.json new file mode 100644 index 0000000..6fb9221 --- /dev/null +++ b/ideas/aeres/agents/orlando_e7b9.json @@ -0,0 +1,77 @@ +{ + "id": "orlando_e7b9", + "name": "Orlando Johnson", + "handle": "orlando", + "gender": "male", + "description": "Batman", + "tags": [ + "mysterious_stranger", + "martial arts", + "tactical gear engineering", + "urban history", + "philosophy", + "chess", + "classic film noir", + "weightlifting" + ], + "avatar_url": "/media/orlando_e7b9/avatar.webp?t=1769698888", + "banner_url": "/media/orlando_e7b9/banner.webp?t=1769698901", + "videos": [ + "/media/orlando_e7b9/videos/01_smile_reveal.mp4?t=1769699099" + ], + "images": [ + "/media/orlando_e7b9/images/01_mid_mid_neutral.webp", + "/media/orlando_e7b9/images/02_image.webp", + "/media/orlando_e7b9/images/03_image.webp", + "/media/orlando_e7b9/images/04_image.webp", + "/media/orlando_e7b9/images/05_image.webp", + "/media/orlando_e7b9/images/06_image.webp", + "/media/orlando_e7b9/images/07_image.webp", + "/media/orlando_e7b9/images/08_image.webp", + "/media/orlando_e7b9/images/09_image.webp", + "/media/orlando_e7b9/images/10_image.webp", + "/media/orlando_e7b9/images/11_image.webp", + "/media/orlando_e7b9/images/12_image.webp", + "/media/orlando_e7b9/images/13_image.webp", + "/media/orlando_e7b9/images/14_image.webp", + "/media/orlando_e7b9/images/15_image.webp", + "/media/orlando_e7b9/images/16_image.webp", + "/media/orlando_e7b9/images/17_image.webp", + "/media/orlando_e7b9/images/18_image.webp", + "/media/orlando_e7b9/images/19_image.webp", + "/media/orlando_e7b9/images/20_image.webp", + "/media/orlando_e7b9/images/21_image.webp", + "/media/orlando_e7b9/images/22_image.webp", + "/media/orlando_e7b9/images/23_image.webp", + "/media/orlando_e7b9/images/24_image.webp", + "/media/orlando_e7b9/images/25_image.webp", + "/media/orlando_e7b9/images/26_image.webp", + "/media/orlando_e7b9/images/27_image.webp", + "/media/orlando_e7b9/images/28_image.webp", + "/media/orlando_e7b9/images/29_image.webp", + "/media/orlando_e7b9/images/30_image.webp", + "/media/orlando_e7b9/images/31_image.webp", + "/media/orlando_e7b9/images/32_image.webp", + "/media/orlando_e7b9/images/33_image.webp", + "/media/orlando_e7b9/images/34_image.webp", + "/media/orlando_e7b9/images/35_image.webp", + "/media/orlando_e7b9/images/36_image.webp", + "/media/orlando_e7b9/images/37_image.webp", + "/media/orlando_e7b9/images/38_image.webp", + "/media/orlando_e7b9/images/39_image.webp", + "/media/orlando_e7b9/images/40_image.webp", + "/media/orlando_e7b9/images/41_image.webp", + "/media/orlando_e7b9/images/42_image.webp", + "/media/orlando_e7b9/images/43_image.webp", + "/media/orlando_e7b9/images/44_image.webp", + "/media/orlando_e7b9/images/45_image.webp", + "/media/orlando_e7b9/images/46_image.webp", + "/media/orlando_e7b9/images/47_image.webp", + "/media/orlando_e7b9/images/48_image.webp", + "/media/orlando_e7b9/images/49_image.webp", + "/media/orlando_e7b9/images/50_image.webp", + "/media/orlando_e7b9/images/51_image.webp" + ], + "created_at": "2026-01-29T08:00:03.455564-07:00", + "dir_name": "orlando_e7b9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pamela_42be.json b/ideas/aeres/agents/pamela_42be.json new file mode 100644 index 0000000..0a090c7 --- /dev/null +++ b/ideas/aeres/agents/pamela_42be.json @@ -0,0 +1,74 @@ +{ + "id": "pamela_42be", + "name": "Pamela Moore", + "handle": "pamela", + "gender": "female", + "description": "a werewolf", + "tags": [ + "werewolf", + "tracking", + "raw food gastronomy", + "combative sports", + "lunar cycles", + "electronic music", + "vintage motorcycles", + "minimalist architecture" + ], + "avatar_url": "/media/pamela_42be/avatar.webp?t=1768987683", + "banner_url": "/media/pamela_42be/banner.webp?t=1768987678", + "videos": [ + "/media/pamela_42be/videos/01_smile_reveal.mp4?t=1768987731" + ], + "images": [ + "/media/pamela_42be/images/01_mid_mid_neutral.webp", + "/media/pamela_42be/images/02_image.webp", + "/media/pamela_42be/images/03_image.webp", + "/media/pamela_42be/images/04_image.webp", + "/media/pamela_42be/images/05_image.webp", + "/media/pamela_42be/images/06_image.webp", + "/media/pamela_42be/images/07_image.webp", + "/media/pamela_42be/images/08_image.webp", + "/media/pamela_42be/images/09_image.webp", + "/media/pamela_42be/images/10_image.webp", + "/media/pamela_42be/images/11_image.webp", + "/media/pamela_42be/images/12_image.webp", + "/media/pamela_42be/images/13_image.webp", + "/media/pamela_42be/images/14_image.webp", + "/media/pamela_42be/images/15_image.webp", + "/media/pamela_42be/images/16_image.webp", + "/media/pamela_42be/images/17_image.webp", + "/media/pamela_42be/images/18_image.webp", + "/media/pamela_42be/images/19_image.webp", + "/media/pamela_42be/images/20_image.webp", + "/media/pamela_42be/images/21_image.webp", + "/media/pamela_42be/images/22_image.webp", + "/media/pamela_42be/images/23_image.webp", + "/media/pamela_42be/images/24_image.webp", + "/media/pamela_42be/images/25_image.webp", + "/media/pamela_42be/images/26_image.webp", + "/media/pamela_42be/images/27_image.webp", + "/media/pamela_42be/images/28_image.webp", + "/media/pamela_42be/images/29_image.webp", + "/media/pamela_42be/images/31_image.webp", + "/media/pamela_42be/images/32_image.webp", + "/media/pamela_42be/images/33_image.webp", + "/media/pamela_42be/images/34_image.webp", + "/media/pamela_42be/images/35_image.webp", + "/media/pamela_42be/images/36_image.webp", + "/media/pamela_42be/images/37_image.webp", + "/media/pamela_42be/images/38_image.webp", + "/media/pamela_42be/images/39_image.webp", + "/media/pamela_42be/images/40_image.webp", + "/media/pamela_42be/images/41_image.webp", + "/media/pamela_42be/images/42_image.webp", + "/media/pamela_42be/images/43_image.webp", + "/media/pamela_42be/images/44_image.webp", + "/media/pamela_42be/images/45_image.webp", + "/media/pamela_42be/images/46_image.webp", + "/media/pamela_42be/images/47_image.webp", + "/media/pamela_42be/images/48_image.webp", + "/media/pamela_42be/images/49_image.webp" + ], + "created_at": "2026-01-21T02:26:49.482393-07:00", + "dir_name": "pamela_42be" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pamela_523f.json b/ideas/aeres/agents/pamela_523f.json new file mode 100644 index 0000000..9151fba --- /dev/null +++ b/ideas/aeres/agents/pamela_523f.json @@ -0,0 +1,77 @@ +{ + "id": "pamela_523f", + "name": "Pamela Thompson", + "handle": "pamela", + "gender": "female", + "description": "alien half lizard half woman, fantasy character, lives in a regular house with a regular job, has a normal regular life, fictional character in a normal regular contemporary world", + "tags": [ + "fantasy_creatures", + "data visualization", + "terrarium building", + "desert ecology", + "modern architecture", + "classic literature", + "baking bread", + "crossword puzzles" + ], + "avatar_url": "/media/pamela_523f/avatar.webp?t=1770105160", + "banner_url": "/media/pamela_523f/banner.webp?t=1770105161", + "videos": [ + "/media/pamela_523f/videos/01_smile_reveal.mp4?t=1770105197" + ], + "images": [ + "/media/pamela_523f/images/01_mid_mid_neutral.webp", + "/media/pamela_523f/images/02_image.webp", + "/media/pamela_523f/images/03_image.webp", + "/media/pamela_523f/images/04_image.webp", + "/media/pamela_523f/images/05_image.webp", + "/media/pamela_523f/images/06_image.webp", + "/media/pamela_523f/images/07_image.webp", + "/media/pamela_523f/images/08_image.webp", + "/media/pamela_523f/images/09_image.webp", + "/media/pamela_523f/images/10_image.webp", + "/media/pamela_523f/images/11_image.webp", + "/media/pamela_523f/images/12_image.webp", + "/media/pamela_523f/images/13_image.webp", + "/media/pamela_523f/images/14_image.webp", + "/media/pamela_523f/images/15_image.webp", + "/media/pamela_523f/images/16_image.webp", + "/media/pamela_523f/images/17_image.webp", + "/media/pamela_523f/images/18_image.webp", + "/media/pamela_523f/images/19_image.webp", + "/media/pamela_523f/images/20_image.webp", + "/media/pamela_523f/images/21_image.webp", + "/media/pamela_523f/images/22_image.webp", + "/media/pamela_523f/images/23_image.webp", + "/media/pamela_523f/images/24_image.webp", + "/media/pamela_523f/images/25_image.webp", + "/media/pamela_523f/images/26_image.webp", + "/media/pamela_523f/images/27_image.webp", + "/media/pamela_523f/images/28_image.webp", + "/media/pamela_523f/images/29_image.webp", + "/media/pamela_523f/images/30_image.webp", + "/media/pamela_523f/images/31_image.webp", + "/media/pamela_523f/images/32_image.webp", + "/media/pamela_523f/images/33_image.webp", + "/media/pamela_523f/images/34_image.webp", + "/media/pamela_523f/images/35_image.webp", + "/media/pamela_523f/images/36_image.webp", + "/media/pamela_523f/images/37_image.webp", + "/media/pamela_523f/images/38_image.webp", + "/media/pamela_523f/images/39_image.webp", + "/media/pamela_523f/images/40_image.webp", + "/media/pamela_523f/images/41_image.webp", + "/media/pamela_523f/images/42_image.webp", + "/media/pamela_523f/images/43_image.webp", + "/media/pamela_523f/images/44_image.webp", + "/media/pamela_523f/images/45_image.webp", + "/media/pamela_523f/images/46_image.webp", + "/media/pamela_523f/images/47_image.webp", + "/media/pamela_523f/images/48_image.webp", + "/media/pamela_523f/images/49_image.webp", + "/media/pamela_523f/images/50_image.webp", + "/media/pamela_523f/images/51_image.webp" + ], + "created_at": "2026-02-03T00:51:34.392305-07:00", + "dir_name": "pamela_523f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_534d.json b/ideas/aeres/agents/patricia_534d.json new file mode 100644 index 0000000..f4d0828 --- /dev/null +++ b/ideas/aeres/agents/patricia_534d.json @@ -0,0 +1,72 @@ +{ + "id": "patricia_534d", + "name": "Patricia Davis", + "handle": "patricia", + "gender": "female", + "description": "sexi hot woman, exotic dancer at luxury hotel, white, 25, casino\u0026resort, gorgeous face, big breasts, slender", + "tags": [ + "the seductress", + "mid-century modern furniture", + "experimental cinema", + "high-performance equestrianism", + "wine tasting", + "interior design", + "vintage car restoration" + ], + "videos": [ + "/media/patricia_534d/videos/01_smile_reveal.mp4?t=1769771629" + ], + "images": [ + "/media/patricia_534d/images/01_mid_mid_neutral.webp", + "/media/patricia_534d/images/02_image.webp", + "/media/patricia_534d/images/03_image.webp", + "/media/patricia_534d/images/04_image.webp", + "/media/patricia_534d/images/05_image.webp", + "/media/patricia_534d/images/06_image.webp", + "/media/patricia_534d/images/07_image.webp", + "/media/patricia_534d/images/08_image.webp", + "/media/patricia_534d/images/09_image.webp", + "/media/patricia_534d/images/10_image.webp", + "/media/patricia_534d/images/11_image.webp", + "/media/patricia_534d/images/12_image.webp", + "/media/patricia_534d/images/13_image.webp", + "/media/patricia_534d/images/14_image.webp", + "/media/patricia_534d/images/15_image.webp", + "/media/patricia_534d/images/16_image.webp", + "/media/patricia_534d/images/17_image.webp", + "/media/patricia_534d/images/18_image.webp", + "/media/patricia_534d/images/19_image.webp", + "/media/patricia_534d/images/20_image.webp", + "/media/patricia_534d/images/21_image.webp", + "/media/patricia_534d/images/22_image.webp", + "/media/patricia_534d/images/23_image.webp", + "/media/patricia_534d/images/24_image.webp", + "/media/patricia_534d/images/25_image.webp", + "/media/patricia_534d/images/26_image.webp", + "/media/patricia_534d/images/27_image.webp", + "/media/patricia_534d/images/28_image.webp", + "/media/patricia_534d/images/29_image.webp", + "/media/patricia_534d/images/30_image.webp", + "/media/patricia_534d/images/31_image.webp", + "/media/patricia_534d/images/32_image.webp", + "/media/patricia_534d/images/33_image.webp", + "/media/patricia_534d/images/34_image.webp", + "/media/patricia_534d/images/35_image.webp", + "/media/patricia_534d/images/36_image.webp", + "/media/patricia_534d/images/37_image.webp", + "/media/patricia_534d/images/38_image.webp", + "/media/patricia_534d/images/39_image.webp", + "/media/patricia_534d/images/40_image.webp", + "/media/patricia_534d/images/41_image.webp", + "/media/patricia_534d/images/42_image.webp", + "/media/patricia_534d/images/43_image.webp", + "/media/patricia_534d/images/44_image.webp", + "/media/patricia_534d/images/45_image.webp", + "/media/patricia_534d/images/46_image.webp", + "/media/patricia_534d/images/47_image.webp", + "/media/patricia_534d/images/49_image.webp", + "/media/patricia_534d/images/50_image.webp" + ], + "created_at": "2026-01-30T04:11:50.215745-07:00", + "dir_name": "patricia_534d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_5a11.json b/ideas/aeres/agents/patricia_5a11.json new file mode 100644 index 0000000..0bb31f8 --- /dev/null +++ b/ideas/aeres/agents/patricia_5a11.json @@ -0,0 +1,19 @@ +{ + "id": "patricia_5a11", + "name": "Patricia Davis", + "handle": "patricia", + "gender": "female", + "description": "Wednesday Addams", + "tags": [ + "traditional_goth", + "taxidermy", + "victorian mourning jewelry", + "silent cinema", + "genealogy", + "chess", + "fencing", + "baking (strictly savory items)" + ], + "created_at": "2026-02-02T04:15:31.942784-07:00", + "dir_name": "patricia_5a11" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_79a5.json b/ideas/aeres/agents/patricia_79a5.json new file mode 100644 index 0000000..120a943 --- /dev/null +++ b/ideas/aeres/agents/patricia_79a5.json @@ -0,0 +1,76 @@ +{ + "id": "patricia_79a5", + "name": "Patricia Kim", + "handle": "patricia", + "gender": "female", + "description": "mid 30's woman, jeans, sweaters, sneakers, coffee, shop, movies, mittens, Asian,", + "tags": [ + "girl_next_door", + "pottery", + "plant care", + "local history", + "bread baking", + "podcasts", + "urban photography", + "thrifting" + ], + "avatar_url": "/media/patricia_79a5/avatar.webp?t=1769584508", + "banner_url": "/media/patricia_79a5/banner.webp?t=1769584761", + "videos": [ + "/media/patricia_79a5/videos/01_smile_reveal.mp4?t=1769540834" + ], + "images": [ + "/media/patricia_79a5/images/01_mid_mid_neutral.webp", + "/media/patricia_79a5/images/02_image.webp", + "/media/patricia_79a5/images/03_image.webp", + "/media/patricia_79a5/images/04_image.webp", + "/media/patricia_79a5/images/05_image.webp", + "/media/patricia_79a5/images/06_image.webp", + "/media/patricia_79a5/images/07_image.webp", + "/media/patricia_79a5/images/09_image.webp", + "/media/patricia_79a5/images/10_image.webp", + "/media/patricia_79a5/images/11_image.webp", + "/media/patricia_79a5/images/12_image.webp", + "/media/patricia_79a5/images/13_image.webp", + "/media/patricia_79a5/images/14_image.webp", + "/media/patricia_79a5/images/15_image.webp", + "/media/patricia_79a5/images/16_image.webp", + "/media/patricia_79a5/images/17_image.webp", + "/media/patricia_79a5/images/18_image.webp", + "/media/patricia_79a5/images/19_image.webp", + "/media/patricia_79a5/images/20_image.webp", + "/media/patricia_79a5/images/21_image.webp", + "/media/patricia_79a5/images/22_image.webp", + "/media/patricia_79a5/images/23_image.webp", + "/media/patricia_79a5/images/24_image.webp", + "/media/patricia_79a5/images/25_image.webp", + "/media/patricia_79a5/images/26_image.webp", + "/media/patricia_79a5/images/27_image.webp", + "/media/patricia_79a5/images/28_image.webp", + "/media/patricia_79a5/images/29_image.webp", + "/media/patricia_79a5/images/30_image.webp", + "/media/patricia_79a5/images/31_image.webp", + "/media/patricia_79a5/images/32_image.webp", + "/media/patricia_79a5/images/33_image.webp", + "/media/patricia_79a5/images/34_image.webp", + "/media/patricia_79a5/images/35_image.webp", + "/media/patricia_79a5/images/36_image.webp", + "/media/patricia_79a5/images/37_image.webp", + "/media/patricia_79a5/images/38_image.webp", + "/media/patricia_79a5/images/39_image.webp", + "/media/patricia_79a5/images/40_image.webp", + "/media/patricia_79a5/images/41_image.webp", + "/media/patricia_79a5/images/42_image.webp", + "/media/patricia_79a5/images/43_image.webp", + "/media/patricia_79a5/images/44_image.webp", + "/media/patricia_79a5/images/45_image.webp", + "/media/patricia_79a5/images/46_image.webp", + "/media/patricia_79a5/images/47_image.webp", + "/media/patricia_79a5/images/48_image.webp", + "/media/patricia_79a5/images/49_image.webp", + "/media/patricia_79a5/images/50_image.webp", + "/media/patricia_79a5/images/51_image.webp" + ], + "created_at": "2026-01-27T12:04:48.644724-07:00", + "dir_name": "patricia_79a5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_a780.json b/ideas/aeres/agents/patricia_a780.json new file mode 100644 index 0000000..0d3ab2a --- /dev/null +++ b/ideas/aeres/agents/patricia_a780.json @@ -0,0 +1,74 @@ +{ + "id": "patricia_a780", + "name": "Patricia Kim", + "handle": "patricia", + "gender": "female", + "description": "korean girl from Seoul, tall pretty face, attractive, lawyer, age 32, has a cat a nice appartment in Seoul, wears classy clothes", + "tags": [ + "boss_babe", + "contemporary art", + "horseback riding", + "corporate strategy", + "wine tasting", + "yoga", + "interior design" + ], + "avatar_url": "/media/patricia_a780/avatar.webp?t=1769499705", + "banner_url": "/media/patricia_a780/banner.webp?t=1769499718", + "videos": [ + "/media/patricia_a780/videos/01_smile_reveal.mp4?t=1769499778" + ], + "images": [ + "/media/patricia_a780/images/01_mid_mid_neutral.webp", + "/media/patricia_a780/images/02_image.webp", + "/media/patricia_a780/images/03_image.webp", + "/media/patricia_a780/images/04_image.webp", + "/media/patricia_a780/images/05_image.webp", + "/media/patricia_a780/images/06_image.webp", + "/media/patricia_a780/images/08_image.webp", + "/media/patricia_a780/images/09_image.webp", + "/media/patricia_a780/images/10_image.webp", + "/media/patricia_a780/images/11_image.webp", + "/media/patricia_a780/images/12_image.webp", + "/media/patricia_a780/images/13_image.webp", + "/media/patricia_a780/images/14_image.webp", + "/media/patricia_a780/images/15_image.webp", + "/media/patricia_a780/images/16_image.webp", + "/media/patricia_a780/images/17_image.webp", + "/media/patricia_a780/images/18_image.webp", + "/media/patricia_a780/images/19_image.webp", + "/media/patricia_a780/images/20_image.webp", + "/media/patricia_a780/images/21_image.webp", + "/media/patricia_a780/images/22_image.webp", + "/media/patricia_a780/images/23_image.webp", + "/media/patricia_a780/images/24_image.webp", + "/media/patricia_a780/images/25_image.webp", + "/media/patricia_a780/images/26_image.webp", + "/media/patricia_a780/images/27_image.webp", + "/media/patricia_a780/images/28_image.webp", + "/media/patricia_a780/images/29_image.webp", + "/media/patricia_a780/images/30_image.webp", + "/media/patricia_a780/images/31_image.webp", + "/media/patricia_a780/images/32_image.webp", + "/media/patricia_a780/images/33_image.webp", + "/media/patricia_a780/images/34_image.webp", + "/media/patricia_a780/images/35_image.webp", + "/media/patricia_a780/images/36_image.webp", + "/media/patricia_a780/images/37_image.webp", + "/media/patricia_a780/images/38_image.webp", + "/media/patricia_a780/images/39_image.webp", + "/media/patricia_a780/images/41_image.webp", + "/media/patricia_a780/images/42_image.webp", + "/media/patricia_a780/images/43_image.webp", + "/media/patricia_a780/images/44_image.webp", + "/media/patricia_a780/images/45_image.webp", + "/media/patricia_a780/images/46_image.webp", + "/media/patricia_a780/images/47_image.webp", + "/media/patricia_a780/images/48_image.webp", + "/media/patricia_a780/images/49_image.webp", + "/media/patricia_a780/images/50_image.webp", + "/media/patricia_a780/images/51_image.webp" + ], + "created_at": "2026-01-27T00:40:25.265834-07:00", + "dir_name": "patricia_a780" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_f0d3.json b/ideas/aeres/agents/patricia_f0d3.json new file mode 100644 index 0000000..a78e899 --- /dev/null +++ b/ideas/aeres/agents/patricia_f0d3.json @@ -0,0 +1,72 @@ +{ + "id": "patricia_f0d3", + "name": "Patricia Leroy", + "handle": "patricia", + "gender": "female", + "description": "scuba diving girl, snorkeling, ocean explorer, blonde, white, tanned, big breasts, big butt, hot sexy face, age 28, tall, underwater caves", + "tags": [ + "the explorer", + "underwater photography", + "shipwreck history", + "free diving", + "ocean conservation", + "acoustic guitar", + "astrophotography", + "cooking mediterranean food" + ], + "avatar_url": "/media/patricia_f0d3/avatar.webp?t=1770112921", + "banner_url": "/media/patricia_f0d3/banner.webp?t=1770112918", + "videos": [ + "/media/patricia_f0d3/videos/01_smile_reveal.mp4?t=1770112961" + ], + "images": [ + "/media/patricia_f0d3/images/01_mid_mid_neutral.webp", + "/media/patricia_f0d3/images/02_image.webp", + "/media/patricia_f0d3/images/03_image.webp", + "/media/patricia_f0d3/images/04_image.webp", + "/media/patricia_f0d3/images/05_image.webp", + "/media/patricia_f0d3/images/06_image.webp", + "/media/patricia_f0d3/images/08_image.webp", + "/media/patricia_f0d3/images/09_image.webp", + "/media/patricia_f0d3/images/10_image.webp", + "/media/patricia_f0d3/images/11_image.webp", + "/media/patricia_f0d3/images/12_image.webp", + "/media/patricia_f0d3/images/13_image.webp", + "/media/patricia_f0d3/images/14_image.webp", + "/media/patricia_f0d3/images/16_image.webp", + "/media/patricia_f0d3/images/17_image.webp", + "/media/patricia_f0d3/images/18_image.webp", + "/media/patricia_f0d3/images/19_image.webp", + "/media/patricia_f0d3/images/20_image.webp", + "/media/patricia_f0d3/images/21_image.webp", + "/media/patricia_f0d3/images/22_image.webp", + "/media/patricia_f0d3/images/23_image.webp", + "/media/patricia_f0d3/images/24_image.webp", + "/media/patricia_f0d3/images/25_image.webp", + "/media/patricia_f0d3/images/26_image.webp", + "/media/patricia_f0d3/images/27_image.webp", + "/media/patricia_f0d3/images/28_image.webp", + "/media/patricia_f0d3/images/29_image.webp", + "/media/patricia_f0d3/images/30_image.webp", + "/media/patricia_f0d3/images/31_image.webp", + "/media/patricia_f0d3/images/33_image.webp", + "/media/patricia_f0d3/images/35_image.webp", + "/media/patricia_f0d3/images/36_image.webp", + "/media/patricia_f0d3/images/37_image.webp", + "/media/patricia_f0d3/images/39_image.webp", + "/media/patricia_f0d3/images/40_image.webp", + "/media/patricia_f0d3/images/41_image.webp", + "/media/patricia_f0d3/images/42_image.webp", + "/media/patricia_f0d3/images/43_image.webp", + "/media/patricia_f0d3/images/44_image.webp", + "/media/patricia_f0d3/images/45_image.webp", + "/media/patricia_f0d3/images/46_image.webp", + "/media/patricia_f0d3/images/47_image.webp", + "/media/patricia_f0d3/images/48_image.webp", + "/media/patricia_f0d3/images/49_image.webp", + "/media/patricia_f0d3/images/50_image.webp", + "/media/patricia_f0d3/images/51_image.webp" + ], + "created_at": "2026-02-03T03:00:48.028132-07:00", + "dir_name": "patricia_f0d3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/patricia_fb33.json b/ideas/aeres/agents/patricia_fb33.json new file mode 100644 index 0000000..6325621 --- /dev/null +++ b/ideas/aeres/agents/patricia_fb33.json @@ -0,0 +1,77 @@ +{ + "id": "patricia_fb33", + "name": "Patricia Davis", + "handle": "patricia", + "gender": "female", + "description": "30's Texan, glass blower, Austin music scene, math teacher,", + "tags": [ + "artist", + "glassblowing", + "fractal geometry", + "classical music", + "cooking", + "urban gardening", + "biking along buffalo bayou", + "podcast hosting" + ], + "avatar_url": "/media/patricia_fb33/avatar.webp?t=1770106577", + "banner_url": "/media/patricia_fb33/banner.webp?t=1770106581", + "videos": [ + "/media/patricia_fb33/videos/01_smile_reveal.mp4?t=1770106605" + ], + "images": [ + "/media/patricia_fb33/images/01_mid_mid_neutral.webp", + "/media/patricia_fb33/images/02_image.webp", + "/media/patricia_fb33/images/03_image.webp", + "/media/patricia_fb33/images/04_image.webp", + "/media/patricia_fb33/images/05_image.webp", + "/media/patricia_fb33/images/06_image.webp", + "/media/patricia_fb33/images/07_image.webp", + "/media/patricia_fb33/images/08_image.webp", + "/media/patricia_fb33/images/09_image.webp", + "/media/patricia_fb33/images/10_image.webp", + "/media/patricia_fb33/images/11_image.webp", + "/media/patricia_fb33/images/12_image.webp", + "/media/patricia_fb33/images/13_image.webp", + "/media/patricia_fb33/images/14_image.webp", + "/media/patricia_fb33/images/15_image.webp", + "/media/patricia_fb33/images/16_image.webp", + "/media/patricia_fb33/images/17_image.webp", + "/media/patricia_fb33/images/18_image.webp", + "/media/patricia_fb33/images/19_image.webp", + "/media/patricia_fb33/images/20_image.webp", + "/media/patricia_fb33/images/21_image.webp", + "/media/patricia_fb33/images/22_image.webp", + "/media/patricia_fb33/images/23_image.webp", + "/media/patricia_fb33/images/24_image.webp", + "/media/patricia_fb33/images/25_image.webp", + "/media/patricia_fb33/images/26_image.webp", + "/media/patricia_fb33/images/27_image.webp", + "/media/patricia_fb33/images/28_image.webp", + "/media/patricia_fb33/images/29_image.webp", + "/media/patricia_fb33/images/30_image.webp", + "/media/patricia_fb33/images/31_image.webp", + "/media/patricia_fb33/images/32_image.webp", + "/media/patricia_fb33/images/33_image.webp", + "/media/patricia_fb33/images/34_image.webp", + "/media/patricia_fb33/images/35_image.webp", + "/media/patricia_fb33/images/36_image.webp", + "/media/patricia_fb33/images/37_image.webp", + "/media/patricia_fb33/images/38_image.webp", + "/media/patricia_fb33/images/39_image.webp", + "/media/patricia_fb33/images/40_image.webp", + "/media/patricia_fb33/images/41_image.webp", + "/media/patricia_fb33/images/42_image.webp", + "/media/patricia_fb33/images/43_image.webp", + "/media/patricia_fb33/images/44_image.webp", + "/media/patricia_fb33/images/45_image.webp", + "/media/patricia_fb33/images/46_image.webp", + "/media/patricia_fb33/images/47_image.webp", + "/media/patricia_fb33/images/48_image.webp", + "/media/patricia_fb33/images/49_image.webp", + "/media/patricia_fb33/images/50_image.webp", + "/media/patricia_fb33/images/51_image.webp" + ], + "created_at": "2026-02-03T01:15:06.159462-07:00", + "dir_name": "patricia_fb33" +} \ No newline at end of file diff --git a/ideas/aeres/agents/paul_b9c5.json b/ideas/aeres/agents/paul_b9c5.json new file mode 100644 index 0000000..50c555a --- /dev/null +++ b/ideas/aeres/agents/paul_b9c5.json @@ -0,0 +1,75 @@ +{ + "id": "paul_b9c5", + "name": "Paul Lopez", + "handle": "paul", + "gender": "male", + "description": "male from Cuba who likes motorcycles", + "tags": [ + "mysterious_stranger", + "motorcycle restoration", + "landscape photography", + "maritime history", + "jazz", + "spearfishing", + "classic cinema" + ], + "avatar_url": "/media/paul_b9c5/avatar.webp?t=1770115499", + "banner_url": "/media/paul_b9c5/banner.webp?t=1770115539", + "videos": [ + "/media/paul_b9c5/videos/01_smile_reveal.mp4?t=1770115545" + ], + "images": [ + "/media/paul_b9c5/images/01_mid_mid_neutral.webp", + "/media/paul_b9c5/images/02_image.webp", + "/media/paul_b9c5/images/03_image.webp", + "/media/paul_b9c5/images/04_image.webp", + "/media/paul_b9c5/images/06_image.webp", + "/media/paul_b9c5/images/07_image.webp", + "/media/paul_b9c5/images/08_image.webp", + "/media/paul_b9c5/images/09_image.webp", + "/media/paul_b9c5/images/10_image.webp", + "/media/paul_b9c5/images/11_image.webp", + "/media/paul_b9c5/images/12_image.webp", + "/media/paul_b9c5/images/13_image.webp", + "/media/paul_b9c5/images/14_image.webp", + "/media/paul_b9c5/images/15_image.webp", + "/media/paul_b9c5/images/16_image.webp", + "/media/paul_b9c5/images/17_image.webp", + "/media/paul_b9c5/images/18_image.webp", + "/media/paul_b9c5/images/19_image.webp", + "/media/paul_b9c5/images/20_image.webp", + "/media/paul_b9c5/images/21_image.webp", + "/media/paul_b9c5/images/22_image.webp", + "/media/paul_b9c5/images/23_image.webp", + "/media/paul_b9c5/images/24_image.webp", + "/media/paul_b9c5/images/25_image.webp", + "/media/paul_b9c5/images/26_image.webp", + "/media/paul_b9c5/images/27_image.webp", + "/media/paul_b9c5/images/28_image.webp", + "/media/paul_b9c5/images/29_image.webp", + "/media/paul_b9c5/images/30_image.webp", + "/media/paul_b9c5/images/31_image.webp", + "/media/paul_b9c5/images/32_image.webp", + "/media/paul_b9c5/images/33_image.webp", + "/media/paul_b9c5/images/34_image.webp", + "/media/paul_b9c5/images/35_image.webp", + "/media/paul_b9c5/images/36_image.webp", + "/media/paul_b9c5/images/37_image.webp", + "/media/paul_b9c5/images/38_image.webp", + "/media/paul_b9c5/images/39_image.webp", + "/media/paul_b9c5/images/40_image.webp", + "/media/paul_b9c5/images/41_image.webp", + "/media/paul_b9c5/images/42_image.webp", + "/media/paul_b9c5/images/43_image.webp", + "/media/paul_b9c5/images/44_image.webp", + "/media/paul_b9c5/images/45_image.webp", + "/media/paul_b9c5/images/46_image.webp", + "/media/paul_b9c5/images/47_image.webp", + "/media/paul_b9c5/images/48_image.webp", + "/media/paul_b9c5/images/49_image.webp", + "/media/paul_b9c5/images/50_image.webp", + "/media/paul_b9c5/images/51_image.webp" + ], + "created_at": "2026-02-03T03:43:39.94056-07:00", + "dir_name": "paul_b9c5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/paula_14cd.json b/ideas/aeres/agents/paula_14cd.json new file mode 100644 index 0000000..01d268e --- /dev/null +++ b/ideas/aeres/agents/paula_14cd.json @@ -0,0 +1,75 @@ +{ + "id": "paula_14cd", + "name": "Paula Miller", + "handle": "paula", + "gender": "female", + "description": "sexy business woman with large breasts that wears skirts has a large corner office with view to the park, white, blonde", + "tags": [ + "boss_babe", + "asset management", + "fine art collecting", + "public speaking", + "luxury real estate", + "equestrianism", + "wine tasting", + "golf" + ], + "avatar_url": "/media/paula_14cd/avatar.webp?t=1769414535", + "banner_url": "/media/paula_14cd/banner.webp?t=1769414545", + "videos": [ + "/media/paula_14cd/videos/01_smile_reveal.mp4?t=1769414578" + ], + "images": [ + "/media/paula_14cd/images/01_mid_mid_neutral.webp", + "/media/paula_14cd/images/02_image.webp", + "/media/paula_14cd/images/05_image.webp", + "/media/paula_14cd/images/06_image.webp", + "/media/paula_14cd/images/07_image.webp", + "/media/paula_14cd/images/08_image.webp", + "/media/paula_14cd/images/09_image.webp", + "/media/paula_14cd/images/10_image.webp", + "/media/paula_14cd/images/11_image.webp", + "/media/paula_14cd/images/12_image.webp", + "/media/paula_14cd/images/13_image.webp", + "/media/paula_14cd/images/14_image.webp", + "/media/paula_14cd/images/15_image.webp", + "/media/paula_14cd/images/16_image.webp", + "/media/paula_14cd/images/17_image.webp", + "/media/paula_14cd/images/18_image.webp", + "/media/paula_14cd/images/19_image.webp", + "/media/paula_14cd/images/20_image.webp", + "/media/paula_14cd/images/21_image.webp", + "/media/paula_14cd/images/22_image.webp", + "/media/paula_14cd/images/23_image.webp", + "/media/paula_14cd/images/24_image.webp", + "/media/paula_14cd/images/25_image.webp", + "/media/paula_14cd/images/26_image.webp", + "/media/paula_14cd/images/27_image.webp", + "/media/paula_14cd/images/28_image.webp", + "/media/paula_14cd/images/29_image.webp", + "/media/paula_14cd/images/30_image.webp", + "/media/paula_14cd/images/31_image.webp", + "/media/paula_14cd/images/32_image.webp", + "/media/paula_14cd/images/33_image.webp", + "/media/paula_14cd/images/34_image.webp", + "/media/paula_14cd/images/35_image.webp", + "/media/paula_14cd/images/36_image.webp", + "/media/paula_14cd/images/37_image.webp", + "/media/paula_14cd/images/38_image.webp", + "/media/paula_14cd/images/39_image.webp", + "/media/paula_14cd/images/40_image.webp", + "/media/paula_14cd/images/41_image.webp", + "/media/paula_14cd/images/42_image.webp", + "/media/paula_14cd/images/43_image.webp", + "/media/paula_14cd/images/44_image.webp", + "/media/paula_14cd/images/45_image.webp", + "/media/paula_14cd/images/46_image.webp", + "/media/paula_14cd/images/47_image.webp", + "/media/paula_14cd/images/48_image.webp", + "/media/paula_14cd/images/49_image.webp", + "/media/paula_14cd/images/50_image.webp", + "/media/paula_14cd/images/51_image.webp" + ], + "created_at": "2026-01-26T01:00:33.027904-07:00", + "dir_name": "paula_14cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pauline_78b6.json b/ideas/aeres/agents/pauline_78b6.json new file mode 100644 index 0000000..f66f386 --- /dev/null +++ b/ideas/aeres/agents/pauline_78b6.json @@ -0,0 +1,76 @@ +{ + "id": "pauline_78b6", + "name": "Pauline Schmidt", + "handle": "pauline", + "gender": "female", + "description": "motocross biker, bike tricks, X games competitor, daredevil, adrenaline junkie, small petite body, thin slim build, pixie cut, beautiful face , cute smile, age 21, white, blonde hair", + "tags": [ + "thrill_seeker", + "motocross", + "sportbike racing", + "weightlifting", + "mechanical engineering", + "beach volleyball", + "photography", + "cooking healthy meals" + ], + "avatar_url": "/media/pauline_78b6/avatar.webp?t=1770190205", + "banner_url": "/media/pauline_78b6/banner.webp?t=1770190208", + "images": [ + "/media/pauline_78b6/images/01_mid_mid_neutral.webp", + "/media/pauline_78b6/images/02_image.webp", + "/media/pauline_78b6/images/03_image.webp", + "/media/pauline_78b6/images/04_image.webp", + "/media/pauline_78b6/images/05_image.webp", + "/media/pauline_78b6/images/06_image.webp", + "/media/pauline_78b6/images/07_image.webp", + "/media/pauline_78b6/images/09_image.webp", + "/media/pauline_78b6/images/10_image.webp", + "/media/pauline_78b6/images/11_image.webp", + "/media/pauline_78b6/images/12_image.webp", + "/media/pauline_78b6/images/13_image.webp", + "/media/pauline_78b6/images/14_image.webp", + "/media/pauline_78b6/images/15_image.webp", + "/media/pauline_78b6/images/16_image.webp", + "/media/pauline_78b6/images/17_image.webp", + "/media/pauline_78b6/images/18_image.webp", + "/media/pauline_78b6/images/19_image.webp", + "/media/pauline_78b6/images/20_image.webp", + "/media/pauline_78b6/images/21_image.webp", + "/media/pauline_78b6/images/22_image.webp", + "/media/pauline_78b6/images/23_image.webp", + "/media/pauline_78b6/images/24_image.webp", + "/media/pauline_78b6/images/25_image.webp", + "/media/pauline_78b6/images/26_image.webp", + "/media/pauline_78b6/images/27_image.webp", + "/media/pauline_78b6/images/28_image.webp", + "/media/pauline_78b6/images/29_image.webp", + "/media/pauline_78b6/images/30_image.webp", + "/media/pauline_78b6/images/31_image.webp", + "/media/pauline_78b6/images/32_image.webp", + "/media/pauline_78b6/images/34_image.webp", + "/media/pauline_78b6/images/35_image.webp", + "/media/pauline_78b6/images/36_image.webp", + "/media/pauline_78b6/images/37_image.webp", + "/media/pauline_78b6/images/38_image.webp", + "/media/pauline_78b6/images/39_image.webp", + "/media/pauline_78b6/images/40_image.webp", + "/media/pauline_78b6/images/41_image.webp", + "/media/pauline_78b6/images/42_image.webp", + "/media/pauline_78b6/images/43_image.webp", + "/media/pauline_78b6/images/44_image.webp", + "/media/pauline_78b6/images/45_image.webp", + "/media/pauline_78b6/images/46_image.webp", + "/media/pauline_78b6/images/47_image.webp", + "/media/pauline_78b6/images/49_image.webp", + "/media/pauline_78b6/images/50_image.webp", + "/media/pauline_78b6/images/51_image.webp", + "/media/pauline_78b6/images/53_image.webp", + "/media/pauline_78b6/images/54_image.webp", + "/media/pauline_78b6/images/55_image.webp", + "/media/pauline_78b6/images/56_image.webp", + "/media/pauline_78b6/images/57_image.webp" + ], + "created_at": "2026-02-04T00:28:41.617535-07:00", + "dir_name": "pauline_78b6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pedro_d94d.json b/ideas/aeres/agents/pedro_d94d.json new file mode 100644 index 0000000..a524bdb --- /dev/null +++ b/ideas/aeres/agents/pedro_d94d.json @@ -0,0 +1,77 @@ +{ + "id": "pedro_d94d", + "name": "Pedro Robinson", + "handle": "pedro", + "gender": "non-binary", + "description": "painter, art gallery, new york, artist, enjoys long talks about art", + "tags": [ + "artist", + "oil painting", + "vinyl records", + "botany", + "urban history", + "biking", + "film photography", + "cooking southern fusion" + ], + "avatar_url": "/media/pedro_d94d/avatar.webp?t=1769432664", + "banner_url": "/media/pedro_d94d/banner.webp?t=1769432672", + "videos": [ + "/media/pedro_d94d/videos/01_smile_reveal.mp4?t=1769432705" + ], + "images": [ + "/media/pedro_d94d/images/01_mid_mid_neutral.webp", + "/media/pedro_d94d/images/02_image.webp", + "/media/pedro_d94d/images/03_image.webp", + "/media/pedro_d94d/images/04_image.webp", + "/media/pedro_d94d/images/05_image.webp", + "/media/pedro_d94d/images/06_image.webp", + "/media/pedro_d94d/images/07_image.webp", + "/media/pedro_d94d/images/08_image.webp", + "/media/pedro_d94d/images/09_image.webp", + "/media/pedro_d94d/images/10_image.webp", + "/media/pedro_d94d/images/11_image.webp", + "/media/pedro_d94d/images/12_image.webp", + "/media/pedro_d94d/images/13_image.webp", + "/media/pedro_d94d/images/14_image.webp", + "/media/pedro_d94d/images/15_image.webp", + "/media/pedro_d94d/images/16_image.webp", + "/media/pedro_d94d/images/17_image.webp", + "/media/pedro_d94d/images/18_image.webp", + "/media/pedro_d94d/images/19_image.webp", + "/media/pedro_d94d/images/20_image.webp", + "/media/pedro_d94d/images/21_image.webp", + "/media/pedro_d94d/images/22_image.webp", + "/media/pedro_d94d/images/23_image.webp", + "/media/pedro_d94d/images/24_image.webp", + "/media/pedro_d94d/images/29_image.webp", + "/media/pedro_d94d/images/30_image.webp", + "/media/pedro_d94d/images/31_image.webp", + "/media/pedro_d94d/images/34_image.webp", + "/media/pedro_d94d/images/35_image.webp", + "/media/pedro_d94d/images/36_image.webp", + "/media/pedro_d94d/images/38_image.webp", + "/media/pedro_d94d/images/39_image.webp", + "/media/pedro_d94d/images/40_image.webp", + "/media/pedro_d94d/images/41_image.webp", + "/media/pedro_d94d/images/42_image.webp", + "/media/pedro_d94d/images/43_image.webp", + "/media/pedro_d94d/images/44_image.webp", + "/media/pedro_d94d/images/45_image.webp", + "/media/pedro_d94d/images/46_image.webp", + "/media/pedro_d94d/images/47_image.webp", + "/media/pedro_d94d/images/48_image.webp", + "/media/pedro_d94d/images/49_image.webp", + "/media/pedro_d94d/images/50_image.webp", + "/media/pedro_d94d/images/51_image.webp", + "/media/pedro_d94d/images/53_image.webp", + "/media/pedro_d94d/images/54_image.webp", + "/media/pedro_d94d/images/55_image.webp", + "/media/pedro_d94d/images/56_image.webp", + "/media/pedro_d94d/images/57_image.webp", + "/media/pedro_d94d/images/58_image.webp", + "/media/pedro_d94d/images/59_image.webp" + ], + "created_at": "2026-01-26T06:03:24.030546-07:00", + "dir_name": "pedro_d94d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/phyllis_5ae0.json b/ideas/aeres/agents/phyllis_5ae0.json new file mode 100644 index 0000000..0d3f086 --- /dev/null +++ b/ideas/aeres/agents/phyllis_5ae0.json @@ -0,0 +1,76 @@ +{ + "id": "phyllis_5ae0", + "name": "Phyllis Robinson", + "handle": "phyllis", + "gender": "female", + "description": "romanian young woman with straight black hair and glasses who likes to go to music festivals", + "tags": [ + "festival_girl", + "techno music", + "eyewear fashion", + "audio engineering", + "vintage synthesizers", + "hiking", + "vegan cooking", + "thrift shopping" + ], + "avatar_url": "/media/phyllis_5ae0/avatar.webp?t=1769513888", + "banner_url": "/media/phyllis_5ae0/banner.webp?t=1769513901", + "videos": [ + "/media/phyllis_5ae0/videos/01_smile_reveal.mp4?t=1769513932" + ], + "images": [ + "/media/phyllis_5ae0/images/01_mid_mid_neutral.webp", + "/media/phyllis_5ae0/images/02_image.webp", + "/media/phyllis_5ae0/images/03_image.webp", + "/media/phyllis_5ae0/images/04_image.webp", + "/media/phyllis_5ae0/images/05_image.webp", + "/media/phyllis_5ae0/images/06_image.webp", + "/media/phyllis_5ae0/images/07_image.webp", + "/media/phyllis_5ae0/images/08_image.webp", + "/media/phyllis_5ae0/images/09_image.webp", + "/media/phyllis_5ae0/images/10_image.webp", + "/media/phyllis_5ae0/images/11_image.webp", + "/media/phyllis_5ae0/images/12_image.webp", + "/media/phyllis_5ae0/images/13_image.webp", + "/media/phyllis_5ae0/images/14_image.webp", + "/media/phyllis_5ae0/images/15_image.webp", + "/media/phyllis_5ae0/images/16_image.webp", + "/media/phyllis_5ae0/images/17_image.webp", + "/media/phyllis_5ae0/images/18_image.webp", + "/media/phyllis_5ae0/images/19_image.webp", + "/media/phyllis_5ae0/images/20_image.webp", + "/media/phyllis_5ae0/images/21_image.webp", + "/media/phyllis_5ae0/images/22_image.webp", + "/media/phyllis_5ae0/images/23_image.webp", + "/media/phyllis_5ae0/images/24_image.webp", + "/media/phyllis_5ae0/images/25_image.webp", + "/media/phyllis_5ae0/images/26_image.webp", + "/media/phyllis_5ae0/images/27_image.webp", + "/media/phyllis_5ae0/images/28_image.webp", + "/media/phyllis_5ae0/images/29_image.webp", + "/media/phyllis_5ae0/images/30_image.webp", + "/media/phyllis_5ae0/images/31_image.webp", + "/media/phyllis_5ae0/images/32_image.webp", + "/media/phyllis_5ae0/images/33_image.webp", + "/media/phyllis_5ae0/images/34_image.webp", + "/media/phyllis_5ae0/images/35_image.webp", + "/media/phyllis_5ae0/images/36_image.webp", + "/media/phyllis_5ae0/images/37_image.webp", + "/media/phyllis_5ae0/images/38_image.webp", + "/media/phyllis_5ae0/images/39_image.webp", + "/media/phyllis_5ae0/images/40_image.webp", + "/media/phyllis_5ae0/images/41_image.webp", + "/media/phyllis_5ae0/images/42_image.webp", + "/media/phyllis_5ae0/images/43_image.webp", + "/media/phyllis_5ae0/images/44_image.webp", + "/media/phyllis_5ae0/images/45_image.webp", + "/media/phyllis_5ae0/images/46_image.webp", + "/media/phyllis_5ae0/images/47_image.webp", + "/media/phyllis_5ae0/images/48_image.webp", + "/media/phyllis_5ae0/images/49_image.webp", + "/media/phyllis_5ae0/images/50_image.webp" + ], + "created_at": "2026-01-27T04:36:49.557997-07:00", + "dir_name": "phyllis_5ae0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pierre_da4e.json b/ideas/aeres/agents/pierre_da4e.json new file mode 100644 index 0000000..e16f78a --- /dev/null +++ b/ideas/aeres/agents/pierre_da4e.json @@ -0,0 +1,76 @@ +{ + "id": "pierre_da4e", + "name": "Pierre Richard", + "handle": "pierre", + "gender": "male", + "description": "fishing enthusiast, lake house, age 28, athletic build, tall, countryside, sunset views, french local", + "tags": [ + "country_girl", + "fly fishing", + "woodworking", + "trail running", + "alpine conservation", + "photography", + "cooking regional dishes", + "restoring old furniture" + ], + "avatar_url": "/media/pierre_da4e/avatar.webp?t=1769765966", + "banner_url": "/media/pierre_da4e/banner.webp?t=1769766159", + "videos": [ + "/media/pierre_da4e/videos/01_smile_reveal.mp4?t=1769765974" + ], + "images": [ + "/media/pierre_da4e/images/01_mid_mid_neutral.webp", + "/media/pierre_da4e/images/02_image.webp", + "/media/pierre_da4e/images/03_image.webp", + "/media/pierre_da4e/images/04_image.webp", + "/media/pierre_da4e/images/05_image.webp", + "/media/pierre_da4e/images/06_image.webp", + "/media/pierre_da4e/images/07_image.webp", + "/media/pierre_da4e/images/08_image.webp", + "/media/pierre_da4e/images/09_image.webp", + "/media/pierre_da4e/images/10_image.webp", + "/media/pierre_da4e/images/11_image.webp", + "/media/pierre_da4e/images/13_image.webp", + "/media/pierre_da4e/images/14_image.webp", + "/media/pierre_da4e/images/15_image.webp", + "/media/pierre_da4e/images/16_image.webp", + "/media/pierre_da4e/images/17_image.webp", + "/media/pierre_da4e/images/18_image.webp", + "/media/pierre_da4e/images/19_image.webp", + "/media/pierre_da4e/images/20_image.webp", + "/media/pierre_da4e/images/21_image.webp", + "/media/pierre_da4e/images/22_image.webp", + "/media/pierre_da4e/images/23_image.webp", + "/media/pierre_da4e/images/24_image.webp", + "/media/pierre_da4e/images/25_image.webp", + "/media/pierre_da4e/images/26_image.webp", + "/media/pierre_da4e/images/27_image.webp", + "/media/pierre_da4e/images/28_image.webp", + "/media/pierre_da4e/images/29_image.webp", + "/media/pierre_da4e/images/30_image.webp", + "/media/pierre_da4e/images/31_image.webp", + "/media/pierre_da4e/images/32_image.webp", + "/media/pierre_da4e/images/33_image.webp", + "/media/pierre_da4e/images/34_image.webp", + "/media/pierre_da4e/images/35_image.webp", + "/media/pierre_da4e/images/36_image.webp", + "/media/pierre_da4e/images/37_image.webp", + "/media/pierre_da4e/images/38_image.webp", + "/media/pierre_da4e/images/39_image.webp", + "/media/pierre_da4e/images/40_image.webp", + "/media/pierre_da4e/images/41_image.webp", + "/media/pierre_da4e/images/42_image.webp", + "/media/pierre_da4e/images/43_image.webp", + "/media/pierre_da4e/images/44_image.webp", + "/media/pierre_da4e/images/45_image.webp", + "/media/pierre_da4e/images/46_image.webp", + "/media/pierre_da4e/images/47_image.webp", + "/media/pierre_da4e/images/48_image.webp", + "/media/pierre_da4e/images/49_image.webp", + "/media/pierre_da4e/images/50_image.webp", + "/media/pierre_da4e/images/51_image.webp" + ], + "created_at": "2026-01-30T02:37:19.307765-07:00", + "dir_name": "pierre_da4e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/prakash_19bf.json b/ideas/aeres/agents/prakash_19bf.json new file mode 100644 index 0000000..20a9b0e --- /dev/null +++ b/ideas/aeres/agents/prakash_19bf.json @@ -0,0 +1,77 @@ +{ + "id": "prakash_19bf", + "name": "Prakash Chopra", + "handle": "prakash", + "gender": "male", + "description": "bald fat man who works as a security agent and who likes to visit fountains", + "tags": [ + "bear_build", + "fountain design and hydraulics", + "powerlifting", + "landscape photography", + "historical architecture", + "aquarium keeping", + "cooking indian-texas fusion", + "jazz music" + ], + "avatar_url": "/media/prakash_19bf/avatar.webp?t=1769081700", + "banner_url": "/media/prakash_19bf/banner.webp?t=1769081706", + "videos": [ + "/media/prakash_19bf/videos/01_smile_reveal.mp4?t=1769081746" + ], + "images": [ + "/media/prakash_19bf/images/01_mid_mid_neutral.webp", + "/media/prakash_19bf/images/02_image.webp", + "/media/prakash_19bf/images/03_image.webp", + "/media/prakash_19bf/images/04_image.webp", + "/media/prakash_19bf/images/05_image.webp", + "/media/prakash_19bf/images/06_image.webp", + "/media/prakash_19bf/images/07_image.webp", + "/media/prakash_19bf/images/08_image.webp", + "/media/prakash_19bf/images/09_image.webp", + "/media/prakash_19bf/images/10_image.webp", + "/media/prakash_19bf/images/11_image.webp", + "/media/prakash_19bf/images/12_image.webp", + "/media/prakash_19bf/images/13_image.webp", + "/media/prakash_19bf/images/14_image.webp", + "/media/prakash_19bf/images/15_image.webp", + "/media/prakash_19bf/images/16_image.webp", + "/media/prakash_19bf/images/17_image.webp", + "/media/prakash_19bf/images/18_image.webp", + "/media/prakash_19bf/images/19_image.webp", + "/media/prakash_19bf/images/20_image.webp", + "/media/prakash_19bf/images/21_image.webp", + "/media/prakash_19bf/images/22_image.webp", + "/media/prakash_19bf/images/23_image.webp", + "/media/prakash_19bf/images/24_image.webp", + "/media/prakash_19bf/images/25_image.webp", + "/media/prakash_19bf/images/26_image.webp", + "/media/prakash_19bf/images/27_image.webp", + "/media/prakash_19bf/images/28_image.webp", + "/media/prakash_19bf/images/29_image.webp", + "/media/prakash_19bf/images/30_image.webp", + "/media/prakash_19bf/images/31_image.webp", + "/media/prakash_19bf/images/32_image.webp", + "/media/prakash_19bf/images/33_image.webp", + "/media/prakash_19bf/images/34_image.webp", + "/media/prakash_19bf/images/35_image.webp", + "/media/prakash_19bf/images/36_image.webp", + "/media/prakash_19bf/images/37_image.webp", + "/media/prakash_19bf/images/38_image.webp", + "/media/prakash_19bf/images/39_image.webp", + "/media/prakash_19bf/images/40_image.webp", + "/media/prakash_19bf/images/41_image.webp", + "/media/prakash_19bf/images/42_image.webp", + "/media/prakash_19bf/images/43_image.webp", + "/media/prakash_19bf/images/44_image.webp", + "/media/prakash_19bf/images/45_image.webp", + "/media/prakash_19bf/images/46_image.webp", + "/media/prakash_19bf/images/47_image.webp", + "/media/prakash_19bf/images/48_image.webp", + "/media/prakash_19bf/images/49_image.webp", + "/media/prakash_19bf/images/50_image.webp", + "/media/prakash_19bf/images/51_image.webp" + ], + "created_at": "2026-01-22T04:33:51.632685-07:00", + "dir_name": "prakash_19bf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/prakash_27e5.json b/ideas/aeres/agents/prakash_27e5.json new file mode 100644 index 0000000..f7e361c --- /dev/null +++ b/ideas/aeres/agents/prakash_27e5.json @@ -0,0 +1,77 @@ +{ + "id": "prakash_27e5", + "name": "Prakash Saxena", + "handle": "prakash", + "gender": "male", + "description": "Vaas Montenegro from Far Cry 3", + "tags": [ + "mischief_maker", + "tactical training", + "psychological warfare", + "motorcycling", + "jungle survival", + "vintage film photography", + "street food", + "playing the drums" + ], + "avatar_url": "/media/prakash_27e5/avatar.webp?t=1769693152", + "banner_url": "/media/prakash_27e5/banner.webp?t=1769693126", + "videos": [ + "/media/prakash_27e5/videos/01_smile_reveal.mp4?t=1769693181" + ], + "images": [ + "/media/prakash_27e5/images/01_mid_mid_neutral.webp", + "/media/prakash_27e5/images/02_image.webp", + "/media/prakash_27e5/images/03_image.webp", + "/media/prakash_27e5/images/04_image.webp", + "/media/prakash_27e5/images/05_image.webp", + "/media/prakash_27e5/images/06_image.webp", + "/media/prakash_27e5/images/07_image.webp", + "/media/prakash_27e5/images/08_image.webp", + "/media/prakash_27e5/images/09_image.webp", + "/media/prakash_27e5/images/10_image.webp", + "/media/prakash_27e5/images/11_image.webp", + "/media/prakash_27e5/images/12_image.webp", + "/media/prakash_27e5/images/13_image.webp", + "/media/prakash_27e5/images/14_image.webp", + "/media/prakash_27e5/images/15_image.webp", + "/media/prakash_27e5/images/16_image.webp", + "/media/prakash_27e5/images/17_image.webp", + "/media/prakash_27e5/images/18_image.webp", + "/media/prakash_27e5/images/19_image.webp", + "/media/prakash_27e5/images/20_image.webp", + "/media/prakash_27e5/images/21_image.webp", + "/media/prakash_27e5/images/22_image.webp", + "/media/prakash_27e5/images/23_image.webp", + "/media/prakash_27e5/images/24_image.webp", + "/media/prakash_27e5/images/25_image.webp", + "/media/prakash_27e5/images/26_image.webp", + "/media/prakash_27e5/images/27_image.webp", + "/media/prakash_27e5/images/28_image.webp", + "/media/prakash_27e5/images/29_image.webp", + "/media/prakash_27e5/images/30_image.webp", + "/media/prakash_27e5/images/31_image.webp", + "/media/prakash_27e5/images/32_image.webp", + "/media/prakash_27e5/images/33_image.webp", + "/media/prakash_27e5/images/34_image.webp", + "/media/prakash_27e5/images/35_image.webp", + "/media/prakash_27e5/images/36_image.webp", + "/media/prakash_27e5/images/37_image.webp", + "/media/prakash_27e5/images/38_image.webp", + "/media/prakash_27e5/images/39_image.webp", + "/media/prakash_27e5/images/40_image.webp", + "/media/prakash_27e5/images/41_image.webp", + "/media/prakash_27e5/images/42_image.webp", + "/media/prakash_27e5/images/43_image.webp", + "/media/prakash_27e5/images/44_image.webp", + "/media/prakash_27e5/images/45_image.webp", + "/media/prakash_27e5/images/46_image.webp", + "/media/prakash_27e5/images/47_image.webp", + "/media/prakash_27e5/images/48_image.webp", + "/media/prakash_27e5/images/49_image.webp", + "/media/prakash_27e5/images/50_image.webp", + "/media/prakash_27e5/images/51_image.webp" + ], + "created_at": "2026-01-29T06:24:10.483192-07:00", + "dir_name": "prakash_27e5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/preston_ec1c.json b/ideas/aeres/agents/preston_ec1c.json new file mode 100644 index 0000000..9ac6429 --- /dev/null +++ b/ideas/aeres/agents/preston_ec1c.json @@ -0,0 +1,76 @@ +{ + "id": "preston_ec1c", + "name": "Preston Lopez", + "handle": "preston", + "gender": "male", + "description": "male who is a rapper and loves jewelry", + "tags": [ + "the lifestyle", + "abstract expressionism", + "customizing luxury watches", + "high-performance vehicles", + "street photography", + "basketball", + "music production", + "wine tasting" + ], + "avatar_url": "/media/preston_ec1c/avatar.webp?t=1770121896", + "banner_url": "/media/preston_ec1c/banner.webp?t=1770121901", + "videos": [ + "/media/preston_ec1c/videos/01_smile_reveal.mp4?t=1770121938" + ], + "images": [ + "/media/preston_ec1c/images/01_mid_mid_neutral.webp", + "/media/preston_ec1c/images/02_image.webp", + "/media/preston_ec1c/images/03_image.webp", + "/media/preston_ec1c/images/04_image.webp", + "/media/preston_ec1c/images/05_image.webp", + "/media/preston_ec1c/images/06_image.webp", + "/media/preston_ec1c/images/07_image.webp", + "/media/preston_ec1c/images/08_image.webp", + "/media/preston_ec1c/images/09_image.webp", + "/media/preston_ec1c/images/10_image.webp", + "/media/preston_ec1c/images/11_image.webp", + "/media/preston_ec1c/images/12_image.webp", + "/media/preston_ec1c/images/13_image.webp", + "/media/preston_ec1c/images/14_image.webp", + "/media/preston_ec1c/images/15_image.webp", + "/media/preston_ec1c/images/16_image.webp", + "/media/preston_ec1c/images/17_image.webp", + "/media/preston_ec1c/images/18_image.webp", + "/media/preston_ec1c/images/19_image.webp", + "/media/preston_ec1c/images/20_image.webp", + "/media/preston_ec1c/images/21_image.webp", + "/media/preston_ec1c/images/26_image.webp", + "/media/preston_ec1c/images/28_image.webp", + "/media/preston_ec1c/images/29_image.webp", + "/media/preston_ec1c/images/30_image.webp", + "/media/preston_ec1c/images/31_image.webp", + "/media/preston_ec1c/images/32_image.webp", + "/media/preston_ec1c/images/33_image.webp", + "/media/preston_ec1c/images/34_image.webp", + "/media/preston_ec1c/images/28_image.webp", + "/media/preston_ec1c/images/35_image.webp", + "/media/preston_ec1c/images/29_image.webp", + "/media/preston_ec1c/images/36_image.webp", + "/media/preston_ec1c/images/37_image.webp", + "/media/preston_ec1c/images/38_image.webp", + "/media/preston_ec1c/images/39_image.webp", + "/media/preston_ec1c/images/40_image.webp", + "/media/preston_ec1c/images/41_image.webp", + "/media/preston_ec1c/images/42_image.webp", + "/media/preston_ec1c/images/30_image.webp", + "/media/preston_ec1c/images/43_image.webp", + "/media/preston_ec1c/images/31_image.webp", + "/media/preston_ec1c/images/44_image.webp", + "/media/preston_ec1c/images/45_image.webp", + "/media/preston_ec1c/images/46_image.webp", + "/media/preston_ec1c/images/47_image.webp", + "/media/preston_ec1c/images/48_image.webp", + "/media/preston_ec1c/images/49_image.webp", + "/media/preston_ec1c/images/50_image.webp", + "/media/preston_ec1c/images/51_image.webp" + ], + "created_at": "2026-02-03T05:30:27.56265-07:00", + "dir_name": "preston_ec1c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/priscilla_e03e.json b/ideas/aeres/agents/priscilla_e03e.json new file mode 100644 index 0000000..39c9a12 --- /dev/null +++ b/ideas/aeres/agents/priscilla_e03e.json @@ -0,0 +1,76 @@ +{ + "id": "priscilla_e03e", + "name": "Priscilla Williams", + "handle": "priscilla", + "gender": "female", + "description": "woman who cosplays as Katarina from League of Legends", + "tags": [ + "cosplayer", + "league of legends", + "high-fantasy prop making", + "weightlifting", + "leatherworking", + "urban exploration", + "wine tasting", + "true crime podcasts" + ], + "avatar_url": "/media/priscilla_e03e/avatar.webp?t=1769604363", + "banner_url": "/media/priscilla_e03e/banner.webp?t=1769604359", + "videos": [ + "/media/priscilla_e03e/videos/01_smile_reveal.mp4?t=1769604397" + ], + "images": [ + "/media/priscilla_e03e/images/01_mid_mid_neutral.webp", + "/media/priscilla_e03e/images/02_image.webp", + "/media/priscilla_e03e/images/03_image.webp", + "/media/priscilla_e03e/images/04_image.webp", + "/media/priscilla_e03e/images/05_image.webp", + "/media/priscilla_e03e/images/07_image.webp", + "/media/priscilla_e03e/images/08_image.webp", + "/media/priscilla_e03e/images/09_image.webp", + "/media/priscilla_e03e/images/10_image.webp", + "/media/priscilla_e03e/images/11_image.webp", + "/media/priscilla_e03e/images/12_image.webp", + "/media/priscilla_e03e/images/13_image.webp", + "/media/priscilla_e03e/images/14_image.webp", + "/media/priscilla_e03e/images/15_image.webp", + "/media/priscilla_e03e/images/16_image.webp", + "/media/priscilla_e03e/images/17_image.webp", + "/media/priscilla_e03e/images/18_image.webp", + "/media/priscilla_e03e/images/19_image.webp", + "/media/priscilla_e03e/images/20_image.webp", + "/media/priscilla_e03e/images/21_image.webp", + "/media/priscilla_e03e/images/22_image.webp", + "/media/priscilla_e03e/images/23_image.webp", + "/media/priscilla_e03e/images/24_image.webp", + "/media/priscilla_e03e/images/25_image.webp", + "/media/priscilla_e03e/images/26_image.webp", + "/media/priscilla_e03e/images/27_image.webp", + "/media/priscilla_e03e/images/28_image.webp", + "/media/priscilla_e03e/images/29_image.webp", + "/media/priscilla_e03e/images/30_image.webp", + "/media/priscilla_e03e/images/31_image.webp", + "/media/priscilla_e03e/images/32_image.webp", + "/media/priscilla_e03e/images/33_image.webp", + "/media/priscilla_e03e/images/34_image.webp", + "/media/priscilla_e03e/images/35_image.webp", + "/media/priscilla_e03e/images/36_image.webp", + "/media/priscilla_e03e/images/37_image.webp", + "/media/priscilla_e03e/images/38_image.webp", + "/media/priscilla_e03e/images/39_image.webp", + "/media/priscilla_e03e/images/40_image.webp", + "/media/priscilla_e03e/images/41_image.webp", + "/media/priscilla_e03e/images/42_image.webp", + "/media/priscilla_e03e/images/43_image.webp", + "/media/priscilla_e03e/images/44_image.webp", + "/media/priscilla_e03e/images/45_image.webp", + "/media/priscilla_e03e/images/46_image.webp", + "/media/priscilla_e03e/images/47_image.webp", + "/media/priscilla_e03e/images/48_image.webp", + "/media/priscilla_e03e/images/49_image.webp", + "/media/priscilla_e03e/images/50_image.webp", + "/media/priscilla_e03e/images/51_image.webp" + ], + "created_at": "2026-01-28T05:44:38.826115-07:00", + "dir_name": "priscilla_e03e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pío_485b.json b/ideas/aeres/agents/pío_485b.json new file mode 100644 index 0000000..f81b759 --- /dev/null +++ b/ideas/aeres/agents/pío_485b.json @@ -0,0 +1,77 @@ +{ + "id": "pío_485b", + "name": "Pío Fernandez", + "handle": "pío", + "gender": "male", + "description": "Carl Johnson from GTA San Andreas", + "tags": [ + "sigma_male", + "vintage car restoration", + "muay thai", + "90s west coast hip hop", + "solo road trips", + "watch collecting", + "architecture", + "urban photography" + ], + "avatar_url": "/media/pío_485b/avatar.webp?t=1769608726", + "banner_url": "/media/pío_485b/banner.webp?t=1769608709", + "videos": [ + "/media/pío_485b/videos/01_smile_reveal.mp4?t=1769608761" + ], + "images": [ + "/media/pío_485b/images/01_mid_mid_neutral.webp", + "/media/pío_485b/images/02_image.webp", + "/media/pío_485b/images/03_image.webp", + "/media/pío_485b/images/04_image.webp", + "/media/pío_485b/images/05_image.webp", + "/media/pío_485b/images/06_image.webp", + "/media/pío_485b/images/07_image.webp", + "/media/pío_485b/images/08_image.webp", + "/media/pío_485b/images/09_image.webp", + "/media/pío_485b/images/10_image.webp", + "/media/pío_485b/images/11_image.webp", + "/media/pío_485b/images/12_image.webp", + "/media/pío_485b/images/13_image.webp", + "/media/pío_485b/images/14_image.webp", + "/media/pío_485b/images/15_image.webp", + "/media/pío_485b/images/16_image.webp", + "/media/pío_485b/images/17_image.webp", + "/media/pío_485b/images/18_image.webp", + "/media/pío_485b/images/19_image.webp", + "/media/pío_485b/images/20_image.webp", + "/media/pío_485b/images/21_image.webp", + "/media/pío_485b/images/22_image.webp", + "/media/pío_485b/images/23_image.webp", + "/media/pío_485b/images/24_image.webp", + "/media/pío_485b/images/25_image.webp", + "/media/pío_485b/images/26_image.webp", + "/media/pío_485b/images/27_image.webp", + "/media/pío_485b/images/28_image.webp", + "/media/pío_485b/images/29_image.webp", + "/media/pío_485b/images/30_image.webp", + "/media/pío_485b/images/31_image.webp", + "/media/pío_485b/images/32_image.webp", + "/media/pío_485b/images/33_image.webp", + "/media/pío_485b/images/34_image.webp", + "/media/pío_485b/images/35_image.webp", + "/media/pío_485b/images/36_image.webp", + "/media/pío_485b/images/37_image.webp", + "/media/pío_485b/images/38_image.webp", + "/media/pío_485b/images/39_image.webp", + "/media/pío_485b/images/40_image.webp", + "/media/pío_485b/images/41_image.webp", + "/media/pío_485b/images/42_image.webp", + "/media/pío_485b/images/43_image.webp", + "/media/pío_485b/images/44_image.webp", + "/media/pío_485b/images/45_image.webp", + "/media/pío_485b/images/46_image.webp", + "/media/pío_485b/images/47_image.webp", + "/media/pío_485b/images/48_image.webp", + "/media/pío_485b/images/49_image.webp", + "/media/pío_485b/images/50_image.webp", + "/media/pío_485b/images/51_image.webp" + ], + "created_at": "2026-01-28T06:57:05.501204-07:00", + "dir_name": "pío_485b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/pío_cc51.json b/ideas/aeres/agents/pío_cc51.json new file mode 100644 index 0000000..5dbdbdd --- /dev/null +++ b/ideas/aeres/agents/pío_cc51.json @@ -0,0 +1,77 @@ +{ + "id": "pío_cc51", + "name": "Pío Rodriguez", + "handle": "pío", + "gender": "male", + "description": "late 20's snowboarder, ski lift, snow, Park city Utah, Colorado, snowboard, fun, silly, half pipe, terrain park, fun,", + "tags": [ + "thrill_seeker", + "snowboarding", + "mountain biking", + "overlanding", + "photography", + "craft beer", + "cooking carne asada", + "video games" + ], + "avatar_url": "/media/pío_cc51/avatar.webp?t=1769676629", + "banner_url": "/media/pío_cc51/banner.webp?t=1769676626", + "videos": [ + "/media/pío_cc51/videos/01_smile_reveal.mp4?t=1769676646" + ], + "images": [ + "/media/pío_cc51/images/01_mid_mid_neutral.webp", + "/media/pío_cc51/images/02_image.webp", + "/media/pío_cc51/images/03_image.webp", + "/media/pío_cc51/images/04_image.webp", + "/media/pío_cc51/images/05_image.webp", + "/media/pío_cc51/images/06_image.webp", + "/media/pío_cc51/images/07_image.webp", + "/media/pío_cc51/images/08_image.webp", + "/media/pío_cc51/images/09_image.webp", + "/media/pío_cc51/images/10_image.webp", + "/media/pío_cc51/images/11_image.webp", + "/media/pío_cc51/images/12_image.webp", + "/media/pío_cc51/images/13_image.webp", + "/media/pío_cc51/images/14_image.webp", + "/media/pío_cc51/images/15_image.webp", + "/media/pío_cc51/images/16_image.webp", + "/media/pío_cc51/images/17_image.webp", + "/media/pío_cc51/images/18_image.webp", + "/media/pío_cc51/images/19_image.webp", + "/media/pío_cc51/images/20_image.webp", + "/media/pío_cc51/images/21_image.webp", + "/media/pío_cc51/images/22_image.webp", + "/media/pío_cc51/images/23_image.webp", + "/media/pío_cc51/images/24_image.webp", + "/media/pío_cc51/images/25_image.webp", + "/media/pío_cc51/images/26_image.webp", + "/media/pío_cc51/images/27_image.webp", + "/media/pío_cc51/images/28_image.webp", + "/media/pío_cc51/images/29_image.webp", + "/media/pío_cc51/images/30_image.webp", + "/media/pío_cc51/images/31_image.webp", + "/media/pío_cc51/images/32_image.webp", + "/media/pío_cc51/images/33_image.webp", + "/media/pío_cc51/images/34_image.webp", + "/media/pío_cc51/images/35_image.webp", + "/media/pío_cc51/images/36_image.webp", + "/media/pío_cc51/images/37_image.webp", + "/media/pío_cc51/images/38_image.webp", + "/media/pío_cc51/images/39_image.webp", + "/media/pío_cc51/images/40_image.webp", + "/media/pío_cc51/images/41_image.webp", + "/media/pío_cc51/images/42_image.webp", + "/media/pío_cc51/images/43_image.webp", + "/media/pío_cc51/images/44_image.webp", + "/media/pío_cc51/images/45_image.webp", + "/media/pío_cc51/images/46_image.webp", + "/media/pío_cc51/images/47_image.webp", + "/media/pío_cc51/images/48_image.webp", + "/media/pío_cc51/images/49_image.webp", + "/media/pío_cc51/images/50_image.webp", + "/media/pío_cc51/images/51_image.webp" + ], + "created_at": "2026-01-29T01:47:53.442386-07:00", + "dir_name": "pío_cc51" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qianqian_67bf.json b/ideas/aeres/agents/qianqian_67bf.json new file mode 100644 index 0000000..9539e21 --- /dev/null +++ b/ideas/aeres/agents/qianqian_67bf.json @@ -0,0 +1,74 @@ +{ + "id": "qianqian_67bf", + "name": "Qianqian Xu", + "handle": "qianqian", + "gender": "female", + "description": "asian girl who does karate", + "tags": [ + "athletic", + "wushu", + "brazillian jiu-jitsu", + "traditional chinese medicine", + "calligraphy", + "photography", + "rock climbing", + "tea tasting" + ], + "avatar_url": "/media/qianqian_67bf/avatar.webp?t=1769424338", + "banner_url": "/media/qianqian_67bf/banner.webp?t=1769424337", + "videos": [ + "/media/qianqian_67bf/videos/01_smile_reveal.mp4?t=1769424369" + ], + "images": [ + "/media/qianqian_67bf/images/01_mid_mid_neutral.webp", + "/media/qianqian_67bf/images/02_image.webp", + "/media/qianqian_67bf/images/03_image.webp", + "/media/qianqian_67bf/images/04_image.webp", + "/media/qianqian_67bf/images/05_image.webp", + "/media/qianqian_67bf/images/06_image.webp", + "/media/qianqian_67bf/images/08_image.webp", + "/media/qianqian_67bf/images/09_image.webp", + "/media/qianqian_67bf/images/10_image.webp", + "/media/qianqian_67bf/images/11_image.webp", + "/media/qianqian_67bf/images/12_image.webp", + "/media/qianqian_67bf/images/13_image.webp", + "/media/qianqian_67bf/images/14_image.webp", + "/media/qianqian_67bf/images/15_image.webp", + "/media/qianqian_67bf/images/16_image.webp", + "/media/qianqian_67bf/images/17_image.webp", + "/media/qianqian_67bf/images/18_image.webp", + "/media/qianqian_67bf/images/19_image.webp", + "/media/qianqian_67bf/images/20_image.webp", + "/media/qianqian_67bf/images/21_image.webp", + "/media/qianqian_67bf/images/22_image.webp", + "/media/qianqian_67bf/images/23_image.webp", + "/media/qianqian_67bf/images/24_image.webp", + "/media/qianqian_67bf/images/25_image.webp", + "/media/qianqian_67bf/images/26_image.webp", + "/media/qianqian_67bf/images/27_image.webp", + "/media/qianqian_67bf/images/28_image.webp", + "/media/qianqian_67bf/images/29_image.webp", + "/media/qianqian_67bf/images/30_image.webp", + "/media/qianqian_67bf/images/31_image.webp", + "/media/qianqian_67bf/images/32_image.webp", + "/media/qianqian_67bf/images/33_image.webp", + "/media/qianqian_67bf/images/34_image.webp", + "/media/qianqian_67bf/images/35_image.webp", + "/media/qianqian_67bf/images/36_image.webp", + "/media/qianqian_67bf/images/37_image.webp", + "/media/qianqian_67bf/images/38_image.webp", + "/media/qianqian_67bf/images/39_image.webp", + "/media/qianqian_67bf/images/40_image.webp", + "/media/qianqian_67bf/images/41_image.webp", + "/media/qianqian_67bf/images/43_image.webp", + "/media/qianqian_67bf/images/44_image.webp", + "/media/qianqian_67bf/images/45_image.webp", + "/media/qianqian_67bf/images/46_image.webp", + "/media/qianqian_67bf/images/47_image.webp", + "/media/qianqian_67bf/images/49_image.webp", + "/media/qianqian_67bf/images/50_image.webp", + "/media/qianqian_67bf/images/51_image.webp" + ], + "created_at": "2026-01-26T03:44:19.124604-07:00", + "dir_name": "qianqian_67bf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qianying_7c75.json b/ideas/aeres/agents/qianying_7c75.json new file mode 100644 index 0000000..2060c51 --- /dev/null +++ b/ideas/aeres/agents/qianying_7c75.json @@ -0,0 +1,77 @@ +{ + "id": "qianying_7c75", + "name": "Qianying Wang", + "handle": "qianying", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, east asian, owns a dog and a cat, loves to read, drinks matcha. 20+ years old", + "tags": [ + "clean_girl", + "modern architecture", + "clinical skincare", + "classical music", + "sustainability", + "interior photography", + "tennis", + "calligraphy" + ], + "avatar_url": "/media/qianying_7c75/avatar.webp?t=1769171971", + "banner_url": "/media/qianying_7c75/banner.webp?t=1769171963", + "videos": [ + "/media/qianying_7c75/videos/01_smile_reveal.mp4?t=1769172001" + ], + "images": [ + "/media/qianying_7c75/images/01_mid_mid_neutral.webp", + "/media/qianying_7c75/images/02_image.webp", + "/media/qianying_7c75/images/03_image.webp", + "/media/qianying_7c75/images/04_image.webp", + "/media/qianying_7c75/images/05_image.webp", + "/media/qianying_7c75/images/06_image.webp", + "/media/qianying_7c75/images/07_image.webp", + "/media/qianying_7c75/images/08_image.webp", + "/media/qianying_7c75/images/09_image.webp", + "/media/qianying_7c75/images/10_image.webp", + "/media/qianying_7c75/images/11_image.webp", + "/media/qianying_7c75/images/12_image.webp", + "/media/qianying_7c75/images/13_image.webp", + "/media/qianying_7c75/images/14_image.webp", + "/media/qianying_7c75/images/15_image.webp", + "/media/qianying_7c75/images/16_image.webp", + "/media/qianying_7c75/images/17_image.webp", + "/media/qianying_7c75/images/18_image.webp", + "/media/qianying_7c75/images/19_image.webp", + "/media/qianying_7c75/images/20_image.webp", + "/media/qianying_7c75/images/21_image.webp", + "/media/qianying_7c75/images/22_image.webp", + "/media/qianying_7c75/images/23_image.webp", + "/media/qianying_7c75/images/24_image.webp", + "/media/qianying_7c75/images/25_image.webp", + "/media/qianying_7c75/images/26_image.webp", + "/media/qianying_7c75/images/27_image.webp", + "/media/qianying_7c75/images/28_image.webp", + "/media/qianying_7c75/images/29_image.webp", + "/media/qianying_7c75/images/30_image.webp", + "/media/qianying_7c75/images/31_image.webp", + "/media/qianying_7c75/images/32_image.webp", + "/media/qianying_7c75/images/33_image.webp", + "/media/qianying_7c75/images/34_image.webp", + "/media/qianying_7c75/images/35_image.webp", + "/media/qianying_7c75/images/36_image.webp", + "/media/qianying_7c75/images/37_image.webp", + "/media/qianying_7c75/images/38_image.webp", + "/media/qianying_7c75/images/39_image.webp", + "/media/qianying_7c75/images/40_image.webp", + "/media/qianying_7c75/images/41_image.webp", + "/media/qianying_7c75/images/42_image.webp", + "/media/qianying_7c75/images/43_image.webp", + "/media/qianying_7c75/images/44_image.webp", + "/media/qianying_7c75/images/45_image.webp", + "/media/qianying_7c75/images/46_image.webp", + "/media/qianying_7c75/images/47_image.webp", + "/media/qianying_7c75/images/48_image.webp", + "/media/qianying_7c75/images/49_image.webp", + "/media/qianying_7c75/images/50_image.webp", + "/media/qianying_7c75/images/51_image.webp" + ], + "created_at": "2026-01-23T05:38:18.425698-07:00", + "dir_name": "qianying_7c75" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qiaoyan_b318.json b/ideas/aeres/agents/qiaoyan_b318.json new file mode 100644 index 0000000..9a9ee26 --- /dev/null +++ b/ideas/aeres/agents/qiaoyan_b318.json @@ -0,0 +1,75 @@ +{ + "id": "qiaoyan_b318", + "name": "Qiaoyan Chen", + "handle": "qiaoyan", + "gender": "female", + "description": "female who cosplays as Wednesday Addams", + "tags": [ + "dark_academia", + "fencing", + "calligraphy", + "taxidermy", + "classical piano", + "chess", + "botany", + "old cinema" + ], + "avatar_url": "/media/qiaoyan_b318/avatar.webp?t=1770031136", + "banner_url": "/media/qiaoyan_b318/banner.webp?t=1770031139", + "videos": [ + "/media/qiaoyan_b318/videos/01_smile_reveal.mp4?t=1770031175" + ], + "images": [ + "/media/qiaoyan_b318/images/01_mid_mid_neutral.webp", + "/media/qiaoyan_b318/images/02_image.webp", + "/media/qiaoyan_b318/images/03_image.webp", + "/media/qiaoyan_b318/images/04_image.webp", + "/media/qiaoyan_b318/images/05_image.webp", + "/media/qiaoyan_b318/images/06_image.webp", + "/media/qiaoyan_b318/images/07_image.webp", + "/media/qiaoyan_b318/images/08_image.webp", + "/media/qiaoyan_b318/images/09_image.webp", + "/media/qiaoyan_b318/images/10_image.webp", + "/media/qiaoyan_b318/images/11_image.webp", + "/media/qiaoyan_b318/images/12_image.webp", + "/media/qiaoyan_b318/images/13_image.webp", + "/media/qiaoyan_b318/images/14_image.webp", + "/media/qiaoyan_b318/images/15_image.webp", + "/media/qiaoyan_b318/images/16_image.webp", + "/media/qiaoyan_b318/images/17_image.webp", + "/media/qiaoyan_b318/images/18_image.webp", + "/media/qiaoyan_b318/images/19_image.webp", + "/media/qiaoyan_b318/images/20_image.webp", + "/media/qiaoyan_b318/images/21_image.webp", + "/media/qiaoyan_b318/images/22_image.webp", + "/media/qiaoyan_b318/images/23_image.webp", + "/media/qiaoyan_b318/images/24_image.webp", + "/media/qiaoyan_b318/images/25_image.webp", + "/media/qiaoyan_b318/images/26_image.webp", + "/media/qiaoyan_b318/images/27_image.webp", + "/media/qiaoyan_b318/images/29_image.webp", + "/media/qiaoyan_b318/images/30_image.webp", + "/media/qiaoyan_b318/images/31_image.webp", + "/media/qiaoyan_b318/images/32_image.webp", + "/media/qiaoyan_b318/images/33_image.webp", + "/media/qiaoyan_b318/images/34_image.webp", + "/media/qiaoyan_b318/images/35_image.webp", + "/media/qiaoyan_b318/images/36_image.webp", + "/media/qiaoyan_b318/images/37_image.webp", + "/media/qiaoyan_b318/images/39_image.webp", + "/media/qiaoyan_b318/images/40_image.webp", + "/media/qiaoyan_b318/images/41_image.webp", + "/media/qiaoyan_b318/images/42_image.webp", + "/media/qiaoyan_b318/images/43_image.webp", + "/media/qiaoyan_b318/images/44_image.webp", + "/media/qiaoyan_b318/images/45_image.webp", + "/media/qiaoyan_b318/images/46_image.webp", + "/media/qiaoyan_b318/images/47_image.webp", + "/media/qiaoyan_b318/images/48_image.webp", + "/media/qiaoyan_b318/images/49_image.webp", + "/media/qiaoyan_b318/images/50_image.webp", + "/media/qiaoyan_b318/images/51_image.webp" + ], + "created_at": "2026-02-02T04:17:47.547623-07:00", + "dir_name": "qiaoyan_b318" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qingqing_1a9f.json b/ideas/aeres/agents/qingqing_1a9f.json new file mode 100644 index 0000000..d73d72f --- /dev/null +++ b/ideas/aeres/agents/qingqing_1a9f.json @@ -0,0 +1,77 @@ +{ + "id": "qingqing_1a9f", + "name": "Qingqing Guo", + "handle": "qingqing", + "gender": "female", + "description": "Lux from League of Legends", + "tags": [ + "magical_girl", + "astrophysics", + "digital art", + "volunteering", + "cosplay design", + "hiking", + "gourmet tea", + "gardening" + ], + "avatar_url": "/media/qingqing_1a9f/avatar.webp?t=1769614746", + "banner_url": "/media/qingqing_1a9f/banner.webp?t=1769614738", + "videos": [ + "/media/qingqing_1a9f/videos/01_smile_reveal.mp4?t=1769614777" + ], + "images": [ + "/media/qingqing_1a9f/images/01_mid_mid_neutral.webp", + "/media/qingqing_1a9f/images/02_image.webp", + "/media/qingqing_1a9f/images/03_image.webp", + "/media/qingqing_1a9f/images/04_image.webp", + "/media/qingqing_1a9f/images/05_image.webp", + "/media/qingqing_1a9f/images/06_image.webp", + "/media/qingqing_1a9f/images/07_image.webp", + "/media/qingqing_1a9f/images/08_image.webp", + "/media/qingqing_1a9f/images/09_image.webp", + "/media/qingqing_1a9f/images/10_image.webp", + "/media/qingqing_1a9f/images/11_image.webp", + "/media/qingqing_1a9f/images/12_image.webp", + "/media/qingqing_1a9f/images/13_image.webp", + "/media/qingqing_1a9f/images/14_image.webp", + "/media/qingqing_1a9f/images/15_image.webp", + "/media/qingqing_1a9f/images/16_image.webp", + "/media/qingqing_1a9f/images/17_image.webp", + "/media/qingqing_1a9f/images/18_image.webp", + "/media/qingqing_1a9f/images/19_image.webp", + "/media/qingqing_1a9f/images/20_image.webp", + "/media/qingqing_1a9f/images/21_image.webp", + "/media/qingqing_1a9f/images/22_image.webp", + "/media/qingqing_1a9f/images/23_image.webp", + "/media/qingqing_1a9f/images/24_image.webp", + "/media/qingqing_1a9f/images/25_image.webp", + "/media/qingqing_1a9f/images/26_image.webp", + "/media/qingqing_1a9f/images/27_image.webp", + "/media/qingqing_1a9f/images/28_image.webp", + "/media/qingqing_1a9f/images/29_image.webp", + "/media/qingqing_1a9f/images/30_image.webp", + "/media/qingqing_1a9f/images/31_image.webp", + "/media/qingqing_1a9f/images/32_image.webp", + "/media/qingqing_1a9f/images/33_image.webp", + "/media/qingqing_1a9f/images/34_image.webp", + "/media/qingqing_1a9f/images/35_image.webp", + "/media/qingqing_1a9f/images/36_image.webp", + "/media/qingqing_1a9f/images/37_image.webp", + "/media/qingqing_1a9f/images/38_image.webp", + "/media/qingqing_1a9f/images/39_image.webp", + "/media/qingqing_1a9f/images/40_image.webp", + "/media/qingqing_1a9f/images/41_image.webp", + "/media/qingqing_1a9f/images/42_image.webp", + "/media/qingqing_1a9f/images/43_image.webp", + "/media/qingqing_1a9f/images/44_image.webp", + "/media/qingqing_1a9f/images/45_image.webp", + "/media/qingqing_1a9f/images/46_image.webp", + "/media/qingqing_1a9f/images/47_image.webp", + "/media/qingqing_1a9f/images/48_image.webp", + "/media/qingqing_1a9f/images/49_image.webp", + "/media/qingqing_1a9f/images/50_image.webp", + "/media/qingqing_1a9f/images/51_image.webp" + ], + "created_at": "2026-01-28T08:37:41.411084-07:00", + "dir_name": "qingqing_1a9f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qinyu_96de.json b/ideas/aeres/agents/qinyu_96de.json new file mode 100644 index 0000000..f210184 --- /dev/null +++ b/ideas/aeres/agents/qinyu_96de.json @@ -0,0 +1,77 @@ +{ + "id": "qinyu_96de", + "name": "Qinyu Liu", + "handle": "qinyu", + "gender": "female", + "description": "office worker, 40+ years, asian taiwanese, rides bycicle to work, protects nature, short, black short hair, has 2 cats one orange one black, a bit chubby", + "tags": [ + "the lifestyle", + "environmental conservation", + "feline behavior", + "organic gardening", + "urban planning", + "pottery", + "bird watching", + "tea tasting" + ], + "avatar_url": "/media/qinyu_96de/avatar.webp?t=1769603373", + "banner_url": "/media/qinyu_96de/banner.webp?t=1769603371", + "videos": [ + "/media/qinyu_96de/videos/01_smile_reveal.mp4?t=1769603404" + ], + "images": [ + "/media/qinyu_96de/images/01_mid_mid_neutral.webp", + "/media/qinyu_96de/images/02_image.webp", + "/media/qinyu_96de/images/03_image.webp", + "/media/qinyu_96de/images/04_image.webp", + "/media/qinyu_96de/images/05_image.webp", + "/media/qinyu_96de/images/06_image.webp", + "/media/qinyu_96de/images/07_image.webp", + "/media/qinyu_96de/images/08_image.webp", + "/media/qinyu_96de/images/09_image.webp", + "/media/qinyu_96de/images/10_image.webp", + "/media/qinyu_96de/images/11_image.webp", + "/media/qinyu_96de/images/12_image.webp", + "/media/qinyu_96de/images/13_image.webp", + "/media/qinyu_96de/images/14_image.webp", + "/media/qinyu_96de/images/15_image.webp", + "/media/qinyu_96de/images/16_image.webp", + "/media/qinyu_96de/images/17_image.webp", + "/media/qinyu_96de/images/18_image.webp", + "/media/qinyu_96de/images/19_image.webp", + "/media/qinyu_96de/images/20_image.webp", + "/media/qinyu_96de/images/21_image.webp", + "/media/qinyu_96de/images/22_image.webp", + "/media/qinyu_96de/images/23_image.webp", + "/media/qinyu_96de/images/24_image.webp", + "/media/qinyu_96de/images/25_image.webp", + "/media/qinyu_96de/images/26_image.webp", + "/media/qinyu_96de/images/27_image.webp", + "/media/qinyu_96de/images/28_image.webp", + "/media/qinyu_96de/images/29_image.webp", + "/media/qinyu_96de/images/30_image.webp", + "/media/qinyu_96de/images/31_image.webp", + "/media/qinyu_96de/images/32_image.webp", + "/media/qinyu_96de/images/33_image.webp", + "/media/qinyu_96de/images/34_image.webp", + "/media/qinyu_96de/images/35_image.webp", + "/media/qinyu_96de/images/36_image.webp", + "/media/qinyu_96de/images/37_image.webp", + "/media/qinyu_96de/images/38_image.webp", + "/media/qinyu_96de/images/39_image.webp", + "/media/qinyu_96de/images/40_image.webp", + "/media/qinyu_96de/images/41_image.webp", + "/media/qinyu_96de/images/42_image.webp", + "/media/qinyu_96de/images/43_image.webp", + "/media/qinyu_96de/images/44_image.webp", + "/media/qinyu_96de/images/45_image.webp", + "/media/qinyu_96de/images/46_image.webp", + "/media/qinyu_96de/images/47_image.webp", + "/media/qinyu_96de/images/48_image.webp", + "/media/qinyu_96de/images/49_image.webp", + "/media/qinyu_96de/images/50_image.webp", + "/media/qinyu_96de/images/51_image.webp" + ], + "created_at": "2026-01-28T05:28:21.549264-07:00", + "dir_name": "qinyu_96de" +} \ No newline at end of file diff --git a/ideas/aeres/agents/qiuyue_1215.json b/ideas/aeres/agents/qiuyue_1215.json new file mode 100644 index 0000000..759811f --- /dev/null +++ b/ideas/aeres/agents/qiuyue_1215.json @@ -0,0 +1,74 @@ +{ + "id": "qiuyue_1215", + "name": "Qiuyue Wu", + "handle": "qiuyue", + "gender": "female", + "description": "woman from China who is a painter", + "tags": [ + "the artist", + "oil painting", + "chinese calligraphy", + "documentary photography", + "interior design", + "baking sourdough", + "urban gardening" + ], + "avatar_url": "/media/qiuyue_1215/avatar.webp?t=1770112532", + "banner_url": "/media/qiuyue_1215/banner.webp?t=1770112535", + "videos": [ + "/media/qiuyue_1215/videos/01_smile_reveal.mp4?t=1770112573" + ], + "images": [ + "/media/qiuyue_1215/images/01_mid_mid_neutral.webp", + "/media/qiuyue_1215/images/02_image.webp", + "/media/qiuyue_1215/images/03_image.webp", + "/media/qiuyue_1215/images/04_image.webp", + "/media/qiuyue_1215/images/05_image.webp", + "/media/qiuyue_1215/images/06_image.webp", + "/media/qiuyue_1215/images/07_image.webp", + "/media/qiuyue_1215/images/08_image.webp", + "/media/qiuyue_1215/images/09_image.webp", + "/media/qiuyue_1215/images/10_image.webp", + "/media/qiuyue_1215/images/11_image.webp", + "/media/qiuyue_1215/images/12_image.webp", + "/media/qiuyue_1215/images/13_image.webp", + "/media/qiuyue_1215/images/14_image.webp", + "/media/qiuyue_1215/images/15_image.webp", + "/media/qiuyue_1215/images/16_image.webp", + "/media/qiuyue_1215/images/17_image.webp", + "/media/qiuyue_1215/images/18_image.webp", + "/media/qiuyue_1215/images/19_image.webp", + "/media/qiuyue_1215/images/20_image.webp", + "/media/qiuyue_1215/images/21_image.webp", + "/media/qiuyue_1215/images/22_image.webp", + "/media/qiuyue_1215/images/23_image.webp", + "/media/qiuyue_1215/images/24_image.webp", + "/media/qiuyue_1215/images/25_image.webp", + "/media/qiuyue_1215/images/26_image.webp", + "/media/qiuyue_1215/images/27_image.webp", + "/media/qiuyue_1215/images/28_image.webp", + "/media/qiuyue_1215/images/29_image.webp", + "/media/qiuyue_1215/images/30_image.webp", + "/media/qiuyue_1215/images/31_image.webp", + "/media/qiuyue_1215/images/32_image.webp", + "/media/qiuyue_1215/images/33_image.webp", + "/media/qiuyue_1215/images/34_image.webp", + "/media/qiuyue_1215/images/35_image.webp", + "/media/qiuyue_1215/images/36_image.webp", + "/media/qiuyue_1215/images/37_image.webp", + "/media/qiuyue_1215/images/38_image.webp", + "/media/qiuyue_1215/images/39_image.webp", + "/media/qiuyue_1215/images/40_image.webp", + "/media/qiuyue_1215/images/41_image.webp", + "/media/qiuyue_1215/images/42_image.webp", + "/media/qiuyue_1215/images/43_image.webp", + "/media/qiuyue_1215/images/45_image.webp", + "/media/qiuyue_1215/images/46_image.webp", + "/media/qiuyue_1215/images/48_image.webp", + "/media/qiuyue_1215/images/49_image.webp", + "/media/qiuyue_1215/images/50_image.webp", + "/media/qiuyue_1215/images/51_image.webp" + ], + "created_at": "2026-02-03T02:54:16.384179-07:00", + "dir_name": "qiuyue_1215" +} \ No newline at end of file diff --git a/ideas/aeres/agents/quartilla_090f.json b/ideas/aeres/agents/quartilla_090f.json new file mode 100644 index 0000000..19de64b --- /dev/null +++ b/ideas/aeres/agents/quartilla_090f.json @@ -0,0 +1,77 @@ +{ + "id": "quartilla_090f", + "name": "Quartilla Romero", + "handle": "quartilla", + "gender": "female", + "description": "female from Uruguay who plays basketball", + "tags": [ + "the athletic one", + "padel tennis", + "olympic weightlifting", + "biohacking", + "nutritional science", + "beach volleyball", + "podcasts on leadership", + "cooking high-protein meals" + ], + "avatar_url": "/media/quartilla_090f/avatar.webp?t=1770043271", + "banner_url": "/media/quartilla_090f/banner.webp?t=1770043292", + "videos": [ + "/media/quartilla_090f/videos/01_smile_reveal.mp4?t=1770043315" + ], + "images": [ + "/media/quartilla_090f/images/01_mid_mid_neutral.webp", + "/media/quartilla_090f/images/02_image.webp", + "/media/quartilla_090f/images/03_image.webp", + "/media/quartilla_090f/images/04_image.webp", + "/media/quartilla_090f/images/05_image.webp", + "/media/quartilla_090f/images/06_image.webp", + "/media/quartilla_090f/images/07_image.webp", + "/media/quartilla_090f/images/08_image.webp", + "/media/quartilla_090f/images/09_image.webp", + "/media/quartilla_090f/images/10_image.webp", + "/media/quartilla_090f/images/11_image.webp", + "/media/quartilla_090f/images/12_image.webp", + "/media/quartilla_090f/images/13_image.webp", + "/media/quartilla_090f/images/14_image.webp", + "/media/quartilla_090f/images/15_image.webp", + "/media/quartilla_090f/images/16_image.webp", + "/media/quartilla_090f/images/17_image.webp", + "/media/quartilla_090f/images/18_image.webp", + "/media/quartilla_090f/images/19_image.webp", + "/media/quartilla_090f/images/20_image.webp", + "/media/quartilla_090f/images/21_image.webp", + "/media/quartilla_090f/images/22_image.webp", + "/media/quartilla_090f/images/23_image.webp", + "/media/quartilla_090f/images/24_image.webp", + "/media/quartilla_090f/images/25_image.webp", + "/media/quartilla_090f/images/26_image.webp", + "/media/quartilla_090f/images/27_image.webp", + "/media/quartilla_090f/images/28_image.webp", + "/media/quartilla_090f/images/29_image.webp", + "/media/quartilla_090f/images/30_image.webp", + "/media/quartilla_090f/images/31_image.webp", + "/media/quartilla_090f/images/32_image.webp", + "/media/quartilla_090f/images/33_image.webp", + "/media/quartilla_090f/images/34_image.webp", + "/media/quartilla_090f/images/35_image.webp", + "/media/quartilla_090f/images/36_image.webp", + "/media/quartilla_090f/images/37_image.webp", + "/media/quartilla_090f/images/38_image.webp", + "/media/quartilla_090f/images/39_image.webp", + "/media/quartilla_090f/images/40_image.webp", + "/media/quartilla_090f/images/41_image.webp", + "/media/quartilla_090f/images/42_image.webp", + "/media/quartilla_090f/images/43_image.webp", + "/media/quartilla_090f/images/44_image.webp", + "/media/quartilla_090f/images/45_image.webp", + "/media/quartilla_090f/images/46_image.webp", + "/media/quartilla_090f/images/47_image.webp", + "/media/quartilla_090f/images/48_image.webp", + "/media/quartilla_090f/images/49_image.webp", + "/media/quartilla_090f/images/50_image.webp", + "/media/quartilla_090f/images/51_image.webp" + ], + "created_at": "2026-02-02T07:39:39.720527-07:00", + "dir_name": "quartilla_090f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/quetzalli_c887.json b/ideas/aeres/agents/quetzalli_c887.json new file mode 100644 index 0000000..2c03abe --- /dev/null +++ b/ideas/aeres/agents/quetzalli_c887.json @@ -0,0 +1,77 @@ +{ + "id": "quetzalli_c887", + "name": "Quetzalli Flores", + "handle": "quetzalli", + "gender": "female", + "description": "female from Columbia who is an architect", + "tags": [ + "intellectual", + "brutalist architecture", + "urban agriculture", + "typography", + "classical music", + "boutique fitness", + "interior styling", + "wine tasting" + ], + "avatar_url": "/media/quetzalli_c887/avatar.webp?t=1770117583", + "banner_url": "/media/quetzalli_c887/banner.webp?t=1770117583", + "videos": [ + "/media/quetzalli_c887/videos/01_smile_reveal.mp4?t=1770117622" + ], + "images": [ + "/media/quetzalli_c887/images/01_mid_mid_neutral.webp", + "/media/quetzalli_c887/images/02_image.webp", + "/media/quetzalli_c887/images/03_image.webp", + "/media/quetzalli_c887/images/04_image.webp", + "/media/quetzalli_c887/images/05_image.webp", + "/media/quetzalli_c887/images/06_image.webp", + "/media/quetzalli_c887/images/07_image.webp", + "/media/quetzalli_c887/images/08_image.webp", + "/media/quetzalli_c887/images/09_image.webp", + "/media/quetzalli_c887/images/10_image.webp", + "/media/quetzalli_c887/images/11_image.webp", + "/media/quetzalli_c887/images/12_image.webp", + "/media/quetzalli_c887/images/13_image.webp", + "/media/quetzalli_c887/images/14_image.webp", + "/media/quetzalli_c887/images/15_image.webp", + "/media/quetzalli_c887/images/16_image.webp", + "/media/quetzalli_c887/images/17_image.webp", + "/media/quetzalli_c887/images/18_image.webp", + "/media/quetzalli_c887/images/19_image.webp", + "/media/quetzalli_c887/images/20_image.webp", + "/media/quetzalli_c887/images/21_image.webp", + "/media/quetzalli_c887/images/22_image.webp", + "/media/quetzalli_c887/images/23_image.webp", + "/media/quetzalli_c887/images/24_image.webp", + "/media/quetzalli_c887/images/25_image.webp", + "/media/quetzalli_c887/images/26_image.webp", + "/media/quetzalli_c887/images/27_image.webp", + "/media/quetzalli_c887/images/28_image.webp", + "/media/quetzalli_c887/images/29_image.webp", + "/media/quetzalli_c887/images/30_image.webp", + "/media/quetzalli_c887/images/31_image.webp", + "/media/quetzalli_c887/images/32_image.webp", + "/media/quetzalli_c887/images/33_image.webp", + "/media/quetzalli_c887/images/34_image.webp", + "/media/quetzalli_c887/images/35_image.webp", + "/media/quetzalli_c887/images/36_image.webp", + "/media/quetzalli_c887/images/37_image.webp", + "/media/quetzalli_c887/images/38_image.webp", + "/media/quetzalli_c887/images/39_image.webp", + "/media/quetzalli_c887/images/40_image.webp", + "/media/quetzalli_c887/images/41_image.webp", + "/media/quetzalli_c887/images/42_image.webp", + "/media/quetzalli_c887/images/43_image.webp", + "/media/quetzalli_c887/images/44_image.webp", + "/media/quetzalli_c887/images/45_image.webp", + "/media/quetzalli_c887/images/46_image.webp", + "/media/quetzalli_c887/images/47_image.webp", + "/media/quetzalli_c887/images/48_image.webp", + "/media/quetzalli_c887/images/49_image.webp", + "/media/quetzalli_c887/images/50_image.webp", + "/media/quetzalli_c887/images/51_image.webp" + ], + "created_at": "2026-02-03T04:18:34.524441-07:00", + "dir_name": "quetzalli_c887" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rachel_24cd.json b/ideas/aeres/agents/rachel_24cd.json new file mode 100644 index 0000000..7d52027 --- /dev/null +++ b/ideas/aeres/agents/rachel_24cd.json @@ -0,0 +1,81 @@ +{ + "id": "rachel_24cd", + "name": "Rachel Smith", + "handle": "rachel", + "gender": "female", + "description": "20 years old girl with red and curly hair, 170 cm height, 80 kilograms weight, heart tattoo on the neck, septum piercing. a couple of profile pictures should be taken next to the eiffel tower and in her bathroom.", + "tags": [ + "alt_egirl", + "digital art", + "90s shoegaze music", + "french new wave cinema", + "sustainable fashion", + "video games (indie titles)", + "astrology", + "cooking vegan pasta" + ], + "avatar_url": "/media/rachel_24cd/avatar.webp?t=1768995557", + "banner_url": "/media/rachel_24cd/banner.webp?t=1768995523", + "videos": [ + "/media/rachel_24cd/videos/01_smile_reveal.mp4?t=1768995523" + ], + "images": [ + "/media/rachel_24cd/images/01_mid_mid_neutral.webp", + "/media/rachel_24cd/images/02_image.webp", + "/media/rachel_24cd/images/03_image.webp", + "/media/rachel_24cd/images/04_image.webp", + "/media/rachel_24cd/images/05_image.webp", + "/media/rachel_24cd/images/06_image.webp", + "/media/rachel_24cd/images/07_image.webp", + "/media/rachel_24cd/images/08_image.webp", + "/media/rachel_24cd/images/09_image.webp", + "/media/rachel_24cd/images/11_image.webp", + "/media/rachel_24cd/images/12_image.webp", + "/media/rachel_24cd/images/13_image.webp", + "/media/rachel_24cd/images/14_image.webp", + "/media/rachel_24cd/images/16_image.webp", + "/media/rachel_24cd/images/17_image.webp", + "/media/rachel_24cd/images/18_image.webp", + "/media/rachel_24cd/images/19_image.webp", + "/media/rachel_24cd/images/20_image.webp", + "/media/rachel_24cd/images/21_image.webp", + "/media/rachel_24cd/images/22_image.webp", + "/media/rachel_24cd/images/23_image.webp", + "/media/rachel_24cd/images/24_image.webp", + "/media/rachel_24cd/images/25_image.webp", + "/media/rachel_24cd/images/26_image.webp", + "/media/rachel_24cd/images/28_image.webp", + "/media/rachel_24cd/images/29_image.webp", + "/media/rachel_24cd/images/30_image.webp", + "/media/rachel_24cd/images/31_image.webp", + "/media/rachel_24cd/images/32_image.webp", + "/media/rachel_24cd/images/33_image.webp", + "/media/rachel_24cd/images/34_image.webp", + "/media/rachel_24cd/images/35_image.webp", + "/media/rachel_24cd/images/37_image.webp", + "/media/rachel_24cd/images/38_image.webp", + "/media/rachel_24cd/images/39_image.webp", + "/media/rachel_24cd/images/40_image.webp", + "/media/rachel_24cd/images/41_image.webp", + "/media/rachel_24cd/images/42_image.webp", + "/media/rachel_24cd/images/43_image.webp", + "/media/rachel_24cd/images/44_image.webp", + "/media/rachel_24cd/images/45_image.webp", + "/media/rachel_24cd/images/46_image.webp", + "/media/rachel_24cd/images/47_image.webp", + "/media/rachel_24cd/images/48_image.webp", + "/media/rachel_24cd/images/50_image.webp", + "/media/rachel_24cd/images/51_image.webp", + "/media/rachel_24cd/images/53_image.webp", + "/media/rachel_24cd/images/54_image.webp", + "/media/rachel_24cd/images/55_image.webp", + "/media/rachel_24cd/images/57_image.webp", + "/media/rachel_24cd/images/58_image.webp", + "/media/rachel_24cd/images/59_image.webp", + "/media/rachel_24cd/images/60_image.webp", + "/media/rachel_24cd/images/61_image.webp", + "/media/rachel_24cd/images/62_image.webp" + ], + "created_at": "2026-01-21T04:36:47.303044-07:00", + "dir_name": "rachel_24cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rachel_3054.json b/ideas/aeres/agents/rachel_3054.json new file mode 100644 index 0000000..29ae58b --- /dev/null +++ b/ideas/aeres/agents/rachel_3054.json @@ -0,0 +1,73 @@ +{ + "id": "rachel_3054", + "name": "Rachel Smith", + "handle": "rachel", + "gender": "female", + "description": "goth woman who likes anime", + "tags": [ + "goth_egirl", + "90s cyberpunk anime", + "industrial music", + "digital illustration", + "vintage tech", + "botanical illustration", + "gourmet coffee", + "urban exploration" + ], + "avatar_url": "/media/rachel_3054/avatar.webp?t=1769090286", + "banner_url": "/media/rachel_3054/banner.webp?t=1769090286", + "images": [ + "/media/rachel_3054/images/01_mid_mid_neutral.webp", + "/media/rachel_3054/images/02_image.webp", + "/media/rachel_3054/images/03_image.webp", + "/media/rachel_3054/images/04_image.webp", + "/media/rachel_3054/images/05_image.webp", + "/media/rachel_3054/images/06_image.webp", + "/media/rachel_3054/images/07_image.webp", + "/media/rachel_3054/images/08_image.webp", + "/media/rachel_3054/images/09_image.webp", + "/media/rachel_3054/images/10_image.webp", + "/media/rachel_3054/images/11_image.webp", + "/media/rachel_3054/images/12_image.webp", + "/media/rachel_3054/images/13_image.webp", + "/media/rachel_3054/images/14_image.webp", + "/media/rachel_3054/images/15_image.webp", + "/media/rachel_3054/images/16_image.webp", + "/media/rachel_3054/images/17_image.webp", + "/media/rachel_3054/images/19_image.webp", + "/media/rachel_3054/images/20_image.webp", + "/media/rachel_3054/images/21_image.webp", + "/media/rachel_3054/images/22_image.webp", + "/media/rachel_3054/images/23_image.webp", + "/media/rachel_3054/images/24_image.webp", + "/media/rachel_3054/images/25_image.webp", + "/media/rachel_3054/images/26_image.webp", + "/media/rachel_3054/images/27_image.webp", + "/media/rachel_3054/images/28_image.webp", + "/media/rachel_3054/images/29_image.webp", + "/media/rachel_3054/images/30_image.webp", + "/media/rachel_3054/images/31_image.webp", + "/media/rachel_3054/images/32_image.webp", + "/media/rachel_3054/images/33_image.webp", + "/media/rachel_3054/images/34_image.webp", + "/media/rachel_3054/images/35_image.webp", + "/media/rachel_3054/images/36_image.webp", + "/media/rachel_3054/images/37_image.webp", + "/media/rachel_3054/images/38_image.webp", + "/media/rachel_3054/images/39_image.webp", + "/media/rachel_3054/images/40_image.webp", + "/media/rachel_3054/images/41_image.webp", + "/media/rachel_3054/images/42_image.webp", + "/media/rachel_3054/images/43_image.webp", + "/media/rachel_3054/images/44_image.webp", + "/media/rachel_3054/images/45_image.webp", + "/media/rachel_3054/images/46_image.webp", + "/media/rachel_3054/images/47_image.webp", + "/media/rachel_3054/images/48_image.webp", + "/media/rachel_3054/images/49_image.webp", + "/media/rachel_3054/images/50_image.webp", + "/media/rachel_3054/images/51_image.webp" + ], + "created_at": "2026-01-22T06:56:56.871649-07:00", + "dir_name": "rachel_3054" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rachel_664b.json b/ideas/aeres/agents/rachel_664b.json new file mode 100644 index 0000000..d3593ca --- /dev/null +++ b/ideas/aeres/agents/rachel_664b.json @@ -0,0 +1,70 @@ +{ + "id": "rachel_664b", + "name": "Rachel Jones", + "handle": "rachel", + "gender": "female", + "description": "hot tall woman with big breasts and small butt, blue eyes, short blonde hair", + "tags": [ + "high_fashion_model", + "modern architecture", + "abstract expressionism", + "experimental jazz", + "interior design", + "urban gardening", + "vintage furniture restoration" + ], + "avatar_url": "/media/rachel_664b/avatar.webp?t=1769003355", + "banner_url": "/media/rachel_664b/banner.webp?t=1769003352", + "videos": [ + "/media/rachel_664b/videos/01_smile_reveal.mp4?t=1769003399" + ], + "images": [ + "/media/rachel_664b/images/01_mid_mid_neutral.webp", + "/media/rachel_664b/images/02_image.webp", + "/media/rachel_664b/images/03_image.webp", + "/media/rachel_664b/images/04_image.webp", + "/media/rachel_664b/images/05_image.webp", + "/media/rachel_664b/images/06_image.webp", + "/media/rachel_664b/images/07_image.webp", + "/media/rachel_664b/images/08_image.webp", + "/media/rachel_664b/images/09_image.webp", + "/media/rachel_664b/images/10_image.webp", + "/media/rachel_664b/images/11_image.webp", + "/media/rachel_664b/images/12_image.webp", + "/media/rachel_664b/images/13_image.webp", + "/media/rachel_664b/images/15_image.webp", + "/media/rachel_664b/images/16_image.webp", + "/media/rachel_664b/images/17_image.webp", + "/media/rachel_664b/images/18_image.webp", + "/media/rachel_664b/images/19_image.webp", + "/media/rachel_664b/images/20_image.webp", + "/media/rachel_664b/images/21_image.webp", + "/media/rachel_664b/images/22_image.webp", + "/media/rachel_664b/images/23_image.webp", + "/media/rachel_664b/images/24_image.webp", + "/media/rachel_664b/images/25_image.webp", + "/media/rachel_664b/images/26_image.webp", + "/media/rachel_664b/images/27_image.webp", + "/media/rachel_664b/images/28_image.webp", + "/media/rachel_664b/images/29_image.webp", + "/media/rachel_664b/images/30_image.webp", + "/media/rachel_664b/images/31_image.webp", + "/media/rachel_664b/images/32_image.webp", + "/media/rachel_664b/images/33_image.webp", + "/media/rachel_664b/images/34_image.webp", + "/media/rachel_664b/images/35_image.webp", + "/media/rachel_664b/images/36_image.webp", + "/media/rachel_664b/images/37_image.webp", + "/media/rachel_664b/images/38_image.webp", + "/media/rachel_664b/images/39_image.webp", + "/media/rachel_664b/images/40_image.webp", + "/media/rachel_664b/images/41_image.webp", + "/media/rachel_664b/images/42_image.webp", + "/media/rachel_664b/images/43_image.webp", + "/media/rachel_664b/images/44_image.webp", + "/media/rachel_664b/images/45_image.webp", + "/media/rachel_664b/images/46_image.webp" + ], + "created_at": "2026-01-21T06:47:41.608616-07:00", + "dir_name": "rachel_664b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rachel_b4bf.json b/ideas/aeres/agents/rachel_b4bf.json new file mode 100644 index 0000000..016f82b --- /dev/null +++ b/ideas/aeres/agents/rachel_b4bf.json @@ -0,0 +1,77 @@ +{ + "id": "rachel_b4bf", + "name": "Rachel Smith", + "handle": "rachel", + "gender": "female", + "description": "Caitlyn from League of Legends", + "tags": [ + "cosplayer", + "steampunk prop making", + "victorian tailoring", + "ballistics history", + "leatherworking", + "urban exploration", + "single malt scotch tasting", + "chess" + ], + "avatar_url": "/media/rachel_b4bf/avatar.webp?t=1770113489", + "banner_url": "/media/rachel_b4bf/banner.webp?t=1770113490", + "videos": [ + "/media/rachel_b4bf/videos/01_smile_reveal.mp4?t=1770113528" + ], + "images": [ + "/media/rachel_b4bf/images/01_mid_mid_neutral.webp", + "/media/rachel_b4bf/images/02_image.webp", + "/media/rachel_b4bf/images/03_image.webp", + "/media/rachel_b4bf/images/04_image.webp", + "/media/rachel_b4bf/images/05_image.webp", + "/media/rachel_b4bf/images/06_image.webp", + "/media/rachel_b4bf/images/07_image.webp", + "/media/rachel_b4bf/images/08_image.webp", + "/media/rachel_b4bf/images/09_image.webp", + "/media/rachel_b4bf/images/10_image.webp", + "/media/rachel_b4bf/images/11_image.webp", + "/media/rachel_b4bf/images/12_image.webp", + "/media/rachel_b4bf/images/13_image.webp", + "/media/rachel_b4bf/images/14_image.webp", + "/media/rachel_b4bf/images/15_image.webp", + "/media/rachel_b4bf/images/16_image.webp", + "/media/rachel_b4bf/images/17_image.webp", + "/media/rachel_b4bf/images/18_image.webp", + "/media/rachel_b4bf/images/19_image.webp", + "/media/rachel_b4bf/images/20_image.webp", + "/media/rachel_b4bf/images/21_image.webp", + "/media/rachel_b4bf/images/22_image.webp", + "/media/rachel_b4bf/images/23_image.webp", + "/media/rachel_b4bf/images/24_image.webp", + "/media/rachel_b4bf/images/25_image.webp", + "/media/rachel_b4bf/images/26_image.webp", + "/media/rachel_b4bf/images/27_image.webp", + "/media/rachel_b4bf/images/28_image.webp", + "/media/rachel_b4bf/images/29_image.webp", + "/media/rachel_b4bf/images/30_image.webp", + "/media/rachel_b4bf/images/31_image.webp", + "/media/rachel_b4bf/images/32_image.webp", + "/media/rachel_b4bf/images/33_image.webp", + "/media/rachel_b4bf/images/34_image.webp", + "/media/rachel_b4bf/images/35_image.webp", + "/media/rachel_b4bf/images/36_image.webp", + "/media/rachel_b4bf/images/37_image.webp", + "/media/rachel_b4bf/images/38_image.webp", + "/media/rachel_b4bf/images/39_image.webp", + "/media/rachel_b4bf/images/40_image.webp", + "/media/rachel_b4bf/images/41_image.webp", + "/media/rachel_b4bf/images/42_image.webp", + "/media/rachel_b4bf/images/43_image.webp", + "/media/rachel_b4bf/images/44_image.webp", + "/media/rachel_b4bf/images/45_image.webp", + "/media/rachel_b4bf/images/46_image.webp", + "/media/rachel_b4bf/images/47_image.webp", + "/media/rachel_b4bf/images/48_image.webp", + "/media/rachel_b4bf/images/49_image.webp", + "/media/rachel_b4bf/images/50_image.webp", + "/media/rachel_b4bf/images/51_image.webp" + ], + "created_at": "2026-02-03T03:10:19.043706-07:00", + "dir_name": "rachel_b4bf" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rachel_efe7.json b/ideas/aeres/agents/rachel_efe7.json new file mode 100644 index 0000000..a5377f3 --- /dev/null +++ b/ideas/aeres/agents/rachel_efe7.json @@ -0,0 +1,77 @@ +{ + "id": "rachel_efe7", + "name": "Rachel Jones", + "handle": "rachel", + "gender": "female", + "description": "gamer girl with dark hair who likes to play volleyball", + "tags": [ + "gamer_girl", + "competitive fps games", + "streetball", + "pc building", + "sneaker collecting", + "cooking spicy food", + "urban photography", + "sci-fi novels" + ], + "avatar_url": "/media/rachel_efe7/avatar.webp?t=1769413787", + "banner_url": "/media/rachel_efe7/banner.webp?t=1769413792", + "videos": [ + "/media/rachel_efe7/videos/01_smile_reveal.mp4?t=1769413829" + ], + "images": [ + "/media/rachel_efe7/images/01_mid_mid_neutral.webp", + "/media/rachel_efe7/images/02_image.webp", + "/media/rachel_efe7/images/03_image.webp", + "/media/rachel_efe7/images/04_image.webp", + "/media/rachel_efe7/images/05_image.webp", + "/media/rachel_efe7/images/06_image.webp", + "/media/rachel_efe7/images/07_image.webp", + "/media/rachel_efe7/images/08_image.webp", + "/media/rachel_efe7/images/09_image.webp", + "/media/rachel_efe7/images/10_image.webp", + "/media/rachel_efe7/images/11_image.webp", + "/media/rachel_efe7/images/12_image.webp", + "/media/rachel_efe7/images/13_image.webp", + "/media/rachel_efe7/images/14_image.webp", + "/media/rachel_efe7/images/15_image.webp", + "/media/rachel_efe7/images/16_image.webp", + "/media/rachel_efe7/images/17_image.webp", + "/media/rachel_efe7/images/18_image.webp", + "/media/rachel_efe7/images/19_image.webp", + "/media/rachel_efe7/images/20_image.webp", + "/media/rachel_efe7/images/21_image.webp", + "/media/rachel_efe7/images/22_image.webp", + "/media/rachel_efe7/images/23_image.webp", + "/media/rachel_efe7/images/24_image.webp", + "/media/rachel_efe7/images/25_image.webp", + "/media/rachel_efe7/images/26_image.webp", + "/media/rachel_efe7/images/27_image.webp", + "/media/rachel_efe7/images/28_image.webp", + "/media/rachel_efe7/images/29_image.webp", + "/media/rachel_efe7/images/30_image.webp", + "/media/rachel_efe7/images/31_image.webp", + "/media/rachel_efe7/images/32_image.webp", + "/media/rachel_efe7/images/33_image.webp", + "/media/rachel_efe7/images/34_image.webp", + "/media/rachel_efe7/images/35_image.webp", + "/media/rachel_efe7/images/36_image.webp", + "/media/rachel_efe7/images/37_image.webp", + "/media/rachel_efe7/images/38_image.webp", + "/media/rachel_efe7/images/39_image.webp", + "/media/rachel_efe7/images/40_image.webp", + "/media/rachel_efe7/images/41_image.webp", + "/media/rachel_efe7/images/42_image.webp", + "/media/rachel_efe7/images/43_image.webp", + "/media/rachel_efe7/images/44_image.webp", + "/media/rachel_efe7/images/45_image.webp", + "/media/rachel_efe7/images/46_image.webp", + "/media/rachel_efe7/images/47_image.webp", + "/media/rachel_efe7/images/48_image.webp", + "/media/rachel_efe7/images/49_image.webp", + "/media/rachel_efe7/images/50_image.webp", + "/media/rachel_efe7/images/51_image.webp" + ], + "created_at": "2026-01-26T00:48:26.075598-07:00", + "dir_name": "rachel_efe7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/raul_be69.json b/ideas/aeres/agents/raul_be69.json new file mode 100644 index 0000000..81e8988 --- /dev/null +++ b/ideas/aeres/agents/raul_be69.json @@ -0,0 +1,76 @@ +{ + "id": "raul_be69", + "name": "Raul Johnson", + "handle": "raul", + "gender": "male", + "description": "male who is a gardener", + "tags": [ + "cottagecore", + "heirloom seed saving", + "woodworking", + "beekeeping", + "classical jazz", + "photography", + "restoring vintage tools", + "birdwatching" + ], + "avatar_url": "/media/raul_be69/avatar.webp?t=1770120813", + "banner_url": "/media/raul_be69/banner.webp?t=1770120814", + "videos": [ + "/media/raul_be69/videos/01_smile_reveal.mp4?t=1770120861" + ], + "images": [ + "/media/raul_be69/images/01_mid_mid_neutral.webp", + "/media/raul_be69/images/02_image.webp", + "/media/raul_be69/images/03_image.webp", + "/media/raul_be69/images/04_image.webp", + "/media/raul_be69/images/05_image.webp", + "/media/raul_be69/images/06_image.webp", + "/media/raul_be69/images/07_image.webp", + "/media/raul_be69/images/08_image.webp", + "/media/raul_be69/images/09_image.webp", + "/media/raul_be69/images/10_image.webp", + "/media/raul_be69/images/11_image.webp", + "/media/raul_be69/images/12_image.webp", + "/media/raul_be69/images/13_image.webp", + "/media/raul_be69/images/14_image.webp", + "/media/raul_be69/images/15_image.webp", + "/media/raul_be69/images/16_image.webp", + "/media/raul_be69/images/17_image.webp", + "/media/raul_be69/images/18_image.webp", + "/media/raul_be69/images/19_image.webp", + "/media/raul_be69/images/20_image.webp", + "/media/raul_be69/images/21_image.webp", + "/media/raul_be69/images/22_image.webp", + "/media/raul_be69/images/23_image.webp", + "/media/raul_be69/images/24_image.webp", + "/media/raul_be69/images/25_image.webp", + "/media/raul_be69/images/26_image.webp", + "/media/raul_be69/images/27_image.webp", + "/media/raul_be69/images/28_image.webp", + "/media/raul_be69/images/29_image.webp", + "/media/raul_be69/images/30_image.webp", + "/media/raul_be69/images/31_image.webp", + "/media/raul_be69/images/32_image.webp", + "/media/raul_be69/images/33_image.webp", + "/media/raul_be69/images/34_image.webp", + "/media/raul_be69/images/35_image.webp", + "/media/raul_be69/images/36_image.webp", + "/media/raul_be69/images/37_image.webp", + "/media/raul_be69/images/38_image.webp", + "/media/raul_be69/images/39_image.webp", + "/media/raul_be69/images/40_image.webp", + "/media/raul_be69/images/41_image.webp", + "/media/raul_be69/images/42_image.webp", + "/media/raul_be69/images/43_image.webp", + "/media/raul_be69/images/44_image.webp", + "/media/raul_be69/images/45_image.webp", + "/media/raul_be69/images/46_image.webp", + "/media/raul_be69/images/47_image.webp", + "/media/raul_be69/images/49_image.webp", + "/media/raul_be69/images/50_image.webp", + "/media/raul_be69/images/51_image.webp" + ], + "created_at": "2026-02-03T05:12:07.422814-07:00", + "dir_name": "raul_be69" +} \ No newline at end of file diff --git a/ideas/aeres/agents/raymond_2e1a.json b/ideas/aeres/agents/raymond_2e1a.json new file mode 100644 index 0000000..8c2e42f --- /dev/null +++ b/ideas/aeres/agents/raymond_2e1a.json @@ -0,0 +1,77 @@ +{ + "id": "raymond_2e1a", + "name": "Raymond Brown", + "handle": "raymond", + "gender": "male", + "description": "Jayce from Arcane", + "tags": [ + "manga_protagonist", + "renewable energy", + "robotics", + "weightlifting", + "industrial design", + "retro sci-fi films", + "vinyl records", + "espresso brewing" + ], + "avatar_url": "/media/raymond_2e1a/avatar.webp?t=1769781327", + "banner_url": "/media/raymond_2e1a/banner.webp?t=1769781333", + "videos": [ + "/media/raymond_2e1a/videos/01_smile_reveal.mp4?t=1769781361" + ], + "images": [ + "/media/raymond_2e1a/images/01_mid_mid_neutral.webp", + "/media/raymond_2e1a/images/02_image.webp", + "/media/raymond_2e1a/images/03_image.webp", + "/media/raymond_2e1a/images/04_image.webp", + "/media/raymond_2e1a/images/05_image.webp", + "/media/raymond_2e1a/images/06_image.webp", + "/media/raymond_2e1a/images/07_image.webp", + "/media/raymond_2e1a/images/08_image.webp", + "/media/raymond_2e1a/images/09_image.webp", + "/media/raymond_2e1a/images/10_image.webp", + "/media/raymond_2e1a/images/11_image.webp", + "/media/raymond_2e1a/images/12_image.webp", + "/media/raymond_2e1a/images/13_image.webp", + "/media/raymond_2e1a/images/14_image.webp", + "/media/raymond_2e1a/images/15_image.webp", + "/media/raymond_2e1a/images/16_image.webp", + "/media/raymond_2e1a/images/17_image.webp", + "/media/raymond_2e1a/images/18_image.webp", + "/media/raymond_2e1a/images/19_image.webp", + "/media/raymond_2e1a/images/20_image.webp", + "/media/raymond_2e1a/images/21_image.webp", + "/media/raymond_2e1a/images/22_image.webp", + "/media/raymond_2e1a/images/23_image.webp", + "/media/raymond_2e1a/images/24_image.webp", + "/media/raymond_2e1a/images/25_image.webp", + "/media/raymond_2e1a/images/26_image.webp", + "/media/raymond_2e1a/images/27_image.webp", + "/media/raymond_2e1a/images/28_image.webp", + "/media/raymond_2e1a/images/29_image.webp", + "/media/raymond_2e1a/images/30_image.webp", + "/media/raymond_2e1a/images/31_image.webp", + "/media/raymond_2e1a/images/32_image.webp", + "/media/raymond_2e1a/images/33_image.webp", + "/media/raymond_2e1a/images/34_image.webp", + "/media/raymond_2e1a/images/35_image.webp", + "/media/raymond_2e1a/images/36_image.webp", + "/media/raymond_2e1a/images/37_image.webp", + "/media/raymond_2e1a/images/38_image.webp", + "/media/raymond_2e1a/images/39_image.webp", + "/media/raymond_2e1a/images/40_image.webp", + "/media/raymond_2e1a/images/41_image.webp", + "/media/raymond_2e1a/images/42_image.webp", + "/media/raymond_2e1a/images/43_image.webp", + "/media/raymond_2e1a/images/44_image.webp", + "/media/raymond_2e1a/images/45_image.webp", + "/media/raymond_2e1a/images/46_image.webp", + "/media/raymond_2e1a/images/47_image.webp", + "/media/raymond_2e1a/images/48_image.webp", + "/media/raymond_2e1a/images/49_image.webp", + "/media/raymond_2e1a/images/50_image.webp", + "/media/raymond_2e1a/images/51_image.webp" + ], + "created_at": "2026-01-30T06:54:18.319312-07:00", + "dir_name": "raymond_2e1a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/raymond_b9f5.json b/ideas/aeres/agents/raymond_b9f5.json new file mode 100644 index 0000000..e566a02 --- /dev/null +++ b/ideas/aeres/agents/raymond_b9f5.json @@ -0,0 +1,76 @@ +{ + "id": "raymond_b9f5", + "name": "Raymond Davis", + "handle": "raymond", + "gender": "male", + "description": "male with buzzcut and big beard who works as a waiter", + "tags": [ + "lifestyle", + "mid-century modern furniture", + "weightlifting", + "architecture", + "jazz music", + "classic car restoration", + "cooking" + ], + "avatar_url": "/media/raymond_b9f5/avatar.webp?t=1770035492", + "banner_url": "/media/raymond_b9f5/banner.webp?t=1770035489", + "videos": [ + "/media/raymond_b9f5/videos/01_smile_reveal.mp4?t=1770035500" + ], + "images": [ + "/media/raymond_b9f5/images/01_mid_mid_neutral.webp", + "/media/raymond_b9f5/images/02_image.webp", + "/media/raymond_b9f5/images/03_image.webp", + "/media/raymond_b9f5/images/04_image.webp", + "/media/raymond_b9f5/images/05_image.webp", + "/media/raymond_b9f5/images/06_image.webp", + "/media/raymond_b9f5/images/07_image.webp", + "/media/raymond_b9f5/images/08_image.webp", + "/media/raymond_b9f5/images/09_image.webp", + "/media/raymond_b9f5/images/10_image.webp", + "/media/raymond_b9f5/images/11_image.webp", + "/media/raymond_b9f5/images/12_image.webp", + "/media/raymond_b9f5/images/13_image.webp", + "/media/raymond_b9f5/images/14_image.webp", + "/media/raymond_b9f5/images/15_image.webp", + "/media/raymond_b9f5/images/16_image.webp", + "/media/raymond_b9f5/images/17_image.webp", + "/media/raymond_b9f5/images/18_image.webp", + "/media/raymond_b9f5/images/19_image.webp", + "/media/raymond_b9f5/images/20_image.webp", + "/media/raymond_b9f5/images/21_image.webp", + "/media/raymond_b9f5/images/22_image.webp", + "/media/raymond_b9f5/images/23_image.webp", + "/media/raymond_b9f5/images/24_image.webp", + "/media/raymond_b9f5/images/25_image.webp", + "/media/raymond_b9f5/images/26_image.webp", + "/media/raymond_b9f5/images/27_image.webp", + "/media/raymond_b9f5/images/28_image.webp", + "/media/raymond_b9f5/images/29_image.webp", + "/media/raymond_b9f5/images/30_image.webp", + "/media/raymond_b9f5/images/31_image.webp", + "/media/raymond_b9f5/images/32_image.webp", + "/media/raymond_b9f5/images/33_image.webp", + "/media/raymond_b9f5/images/34_image.webp", + "/media/raymond_b9f5/images/35_image.webp", + "/media/raymond_b9f5/images/36_image.webp", + "/media/raymond_b9f5/images/37_image.webp", + "/media/raymond_b9f5/images/38_image.webp", + "/media/raymond_b9f5/images/39_image.webp", + "/media/raymond_b9f5/images/40_image.webp", + "/media/raymond_b9f5/images/41_image.webp", + "/media/raymond_b9f5/images/42_image.webp", + "/media/raymond_b9f5/images/43_image.webp", + "/media/raymond_b9f5/images/44_image.webp", + "/media/raymond_b9f5/images/45_image.webp", + "/media/raymond_b9f5/images/46_image.webp", + "/media/raymond_b9f5/images/47_image.webp", + "/media/raymond_b9f5/images/48_image.webp", + "/media/raymond_b9f5/images/49_image.webp", + "/media/raymond_b9f5/images/50_image.webp", + "/media/raymond_b9f5/images/51_image.webp" + ], + "created_at": "2026-02-02T05:29:22.507144-07:00", + "dir_name": "raymond_b9f5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rebecca_ae90.json b/ideas/aeres/agents/rebecca_ae90.json new file mode 100644 index 0000000..1d650c6 --- /dev/null +++ b/ideas/aeres/agents/rebecca_ae90.json @@ -0,0 +1,75 @@ +{ + "id": "rebecca_ae90", + "name": "Rebecca Jackson", + "handle": "rebecca", + "gender": "female", + "description": "Camille from League of Legends", + "tags": [ + "femme_fatale", + "transhumanism", + "victorian literature", + "fencing", + "quantum physics", + "wine collecting", + "opera", + "sailing" + ], + "avatar_url": "/media/rebecca_ae90/avatar.webp?t=1770024065", + "banner_url": "/media/rebecca_ae90/banner.webp?t=1770024011", + "videos": [ + "/media/rebecca_ae90/videos/01_smile_reveal.mp4?t=1770023963" + ], + "images": [ + "/media/rebecca_ae90/images/01_mid_mid_neutral.webp", + "/media/rebecca_ae90/images/02_image.webp", + "/media/rebecca_ae90/images/03_image.webp", + "/media/rebecca_ae90/images/04_image.webp", + "/media/rebecca_ae90/images/05_image.webp", + "/media/rebecca_ae90/images/06_image.webp", + "/media/rebecca_ae90/images/07_image.webp", + "/media/rebecca_ae90/images/08_image.webp", + "/media/rebecca_ae90/images/09_image.webp", + "/media/rebecca_ae90/images/10_image.webp", + "/media/rebecca_ae90/images/11_image.webp", + "/media/rebecca_ae90/images/12_image.webp", + "/media/rebecca_ae90/images/14_image.webp", + "/media/rebecca_ae90/images/15_image.webp", + "/media/rebecca_ae90/images/16_image.webp", + "/media/rebecca_ae90/images/18_image.webp", + "/media/rebecca_ae90/images/19_image.webp", + "/media/rebecca_ae90/images/20_image.webp", + "/media/rebecca_ae90/images/21_image.webp", + "/media/rebecca_ae90/images/22_image.webp", + "/media/rebecca_ae90/images/23_image.webp", + "/media/rebecca_ae90/images/24_image.webp", + "/media/rebecca_ae90/images/25_image.webp", + "/media/rebecca_ae90/images/26_image.webp", + "/media/rebecca_ae90/images/27_image.webp", + "/media/rebecca_ae90/images/28_image.webp", + "/media/rebecca_ae90/images/29_image.webp", + "/media/rebecca_ae90/images/30_image.webp", + "/media/rebecca_ae90/images/31_image.webp", + "/media/rebecca_ae90/images/32_image.webp", + "/media/rebecca_ae90/images/33_image.webp", + "/media/rebecca_ae90/images/34_image.webp", + "/media/rebecca_ae90/images/35_image.webp", + "/media/rebecca_ae90/images/36_image.webp", + "/media/rebecca_ae90/images/37_image.webp", + "/media/rebecca_ae90/images/38_image.webp", + "/media/rebecca_ae90/images/39_image.webp", + "/media/rebecca_ae90/images/40_image.webp", + "/media/rebecca_ae90/images/41_image.webp", + "/media/rebecca_ae90/images/42_image.webp", + "/media/rebecca_ae90/images/43_image.webp", + "/media/rebecca_ae90/images/44_image.webp", + "/media/rebecca_ae90/images/45_image.webp", + "/media/rebecca_ae90/images/46_image.webp", + "/media/rebecca_ae90/images/47_image.webp", + "/media/rebecca_ae90/images/48_image.webp", + "/media/rebecca_ae90/images/49_image.webp", + "/media/rebecca_ae90/images/50_image.webp", + "/media/rebecca_ae90/images/51_image.webp" + ], + "created_at": "2026-02-02T02:16:20.826015-07:00", + "dir_name": "rebecca_ae90" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rebecca_bee9.json b/ideas/aeres/agents/rebecca_bee9.json new file mode 100644 index 0000000..f4a95ad --- /dev/null +++ b/ideas/aeres/agents/rebecca_bee9.json @@ -0,0 +1,76 @@ +{ + "id": "rebecca_bee9", + "name": "Rebecca Jackson", + "handle": "rebecca", + "gender": "female", + "description": "female from Australia who cosplays as Rhea Ripley", + "tags": [ + "muscle_mommy", + "powerlifting", + "heavy metal history", + "motorcycle restoration", + "gothic architecture", + "graphic novels", + "cooking", + "horror movies" + ], + "avatar_url": "/media/rebecca_bee9/avatar.webp?t=1769605207", + "banner_url": "/media/rebecca_bee9/banner.webp?t=1769605730", + "videos": [ + "/media/rebecca_bee9/videos/01_smile_reveal.mp4?t=1769605251" + ], + "images": [ + "/media/rebecca_bee9/images/01_mid_mid_neutral.webp", + "/media/rebecca_bee9/images/02_image.webp", + "/media/rebecca_bee9/images/03_image.webp", + "/media/rebecca_bee9/images/04_image.webp", + "/media/rebecca_bee9/images/05_image.webp", + "/media/rebecca_bee9/images/06_image.webp", + "/media/rebecca_bee9/images/07_image.webp", + "/media/rebecca_bee9/images/08_image.webp", + "/media/rebecca_bee9/images/09_image.webp", + "/media/rebecca_bee9/images/10_image.webp", + "/media/rebecca_bee9/images/11_image.webp", + "/media/rebecca_bee9/images/12_image.webp", + "/media/rebecca_bee9/images/13_image.webp", + "/media/rebecca_bee9/images/14_image.webp", + "/media/rebecca_bee9/images/15_image.webp", + "/media/rebecca_bee9/images/16_image.webp", + "/media/rebecca_bee9/images/18_image.webp", + "/media/rebecca_bee9/images/19_image.webp", + "/media/rebecca_bee9/images/20_image.webp", + "/media/rebecca_bee9/images/21_image.webp", + "/media/rebecca_bee9/images/22_image.webp", + "/media/rebecca_bee9/images/23_image.webp", + "/media/rebecca_bee9/images/24_image.webp", + "/media/rebecca_bee9/images/25_image.webp", + "/media/rebecca_bee9/images/26_image.webp", + "/media/rebecca_bee9/images/27_image.webp", + "/media/rebecca_bee9/images/28_image.webp", + "/media/rebecca_bee9/images/29_image.webp", + "/media/rebecca_bee9/images/30_image.webp", + "/media/rebecca_bee9/images/31_image.webp", + "/media/rebecca_bee9/images/32_image.webp", + "/media/rebecca_bee9/images/33_image.webp", + "/media/rebecca_bee9/images/34_image.webp", + "/media/rebecca_bee9/images/35_image.webp", + "/media/rebecca_bee9/images/36_image.webp", + "/media/rebecca_bee9/images/37_image.webp", + "/media/rebecca_bee9/images/38_image.webp", + "/media/rebecca_bee9/images/39_image.webp", + "/media/rebecca_bee9/images/40_image.webp", + "/media/rebecca_bee9/images/41_image.webp", + "/media/rebecca_bee9/images/42_image.webp", + "/media/rebecca_bee9/images/43_image.webp", + "/media/rebecca_bee9/images/44_image.webp", + "/media/rebecca_bee9/images/45_image.webp", + "/media/rebecca_bee9/images/46_image.webp", + "/media/rebecca_bee9/images/47_image.webp", + "/media/rebecca_bee9/images/48_image.webp", + "/media/rebecca_bee9/images/49_image.webp", + "/media/rebecca_bee9/images/50_image.webp", + "/media/rebecca_bee9/images/51_image.webp" + ], + "created_at": "2026-01-28T05:58:28.216842-07:00", + "dir_name": "rebecca_bee9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/regina_5514.json b/ideas/aeres/agents/regina_5514.json new file mode 100644 index 0000000..05ed879 --- /dev/null +++ b/ideas/aeres/agents/regina_5514.json @@ -0,0 +1,77 @@ +{ + "id": "regina_5514", + "name": "Regina Jackson", + "handle": "regina", + "gender": "female", + "description": "black ballerina, 20's, pointe shoes, dancer, healthy, fit, beautiful, ponytail, sweatshirt,", + "tags": [ + "athletic", + "classical ballet", + "contemporary dance", + "pilates", + "nutrition", + "photography", + "vinyl records", + "biking" + ], + "avatar_url": "/media/regina_5514/avatar.webp?t=1769552780", + "banner_url": "/media/regina_5514/banner.webp?t=1769584462", + "videos": [ + "/media/regina_5514/videos/01_smile_reveal.mp4?t=1769552828" + ], + "images": [ + "/media/regina_5514/images/01_mid_mid_neutral.webp", + "/media/regina_5514/images/02_image.webp", + "/media/regina_5514/images/03_image.webp", + "/media/regina_5514/images/04_image.webp", + "/media/regina_5514/images/05_image.webp", + "/media/regina_5514/images/06_image.webp", + "/media/regina_5514/images/07_image.webp", + "/media/regina_5514/images/08_image.webp", + "/media/regina_5514/images/09_image.webp", + "/media/regina_5514/images/10_image.webp", + "/media/regina_5514/images/11_image.webp", + "/media/regina_5514/images/12_image.webp", + "/media/regina_5514/images/13_image.webp", + "/media/regina_5514/images/14_image.webp", + "/media/regina_5514/images/15_image.webp", + "/media/regina_5514/images/16_image.webp", + "/media/regina_5514/images/17_image.webp", + "/media/regina_5514/images/18_image.webp", + "/media/regina_5514/images/19_image.webp", + "/media/regina_5514/images/20_image.webp", + "/media/regina_5514/images/21_image.webp", + "/media/regina_5514/images/22_image.webp", + "/media/regina_5514/images/23_image.webp", + "/media/regina_5514/images/24_image.webp", + "/media/regina_5514/images/25_image.webp", + "/media/regina_5514/images/26_image.webp", + "/media/regina_5514/images/27_image.webp", + "/media/regina_5514/images/28_image.webp", + "/media/regina_5514/images/29_image.webp", + "/media/regina_5514/images/30_image.webp", + "/media/regina_5514/images/31_image.webp", + "/media/regina_5514/images/32_image.webp", + "/media/regina_5514/images/33_image.webp", + "/media/regina_5514/images/34_image.webp", + "/media/regina_5514/images/35_image.webp", + "/media/regina_5514/images/36_image.webp", + "/media/regina_5514/images/37_image.webp", + "/media/regina_5514/images/38_image.webp", + "/media/regina_5514/images/39_image.webp", + "/media/regina_5514/images/40_image.webp", + "/media/regina_5514/images/41_image.webp", + "/media/regina_5514/images/42_image.webp", + "/media/regina_5514/images/43_image.webp", + "/media/regina_5514/images/44_image.webp", + "/media/regina_5514/images/45_image.webp", + "/media/regina_5514/images/46_image.webp", + "/media/regina_5514/images/47_image.webp", + "/media/regina_5514/images/48_image.webp", + "/media/regina_5514/images/49_image.webp", + "/media/regina_5514/images/50_image.webp", + "/media/regina_5514/images/51_image.webp" + ], + "created_at": "2026-01-27T15:25:09.956833-07:00", + "dir_name": "regina_5514" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rhea_97bd.json b/ideas/aeres/agents/rhea_97bd.json new file mode 100644 index 0000000..392ab1f --- /dev/null +++ b/ideas/aeres/agents/rhea_97bd.json @@ -0,0 +1,76 @@ +{ + "id": "rhea_97bd", + "name": "Rhea Patel", + "handle": "rhea", + "gender": "female", + "description": "Akali from League of Legends", + "tags": [ + "cosplayer", + "functional fitness", + "led-integrated fashion", + "parkour", + "cyberpunk literature", + "street photography", + "mechanical keyboards", + "traditional indian cooking" + ], + "avatar_url": "/media/rhea_97bd/avatar.webp?t=1769599196", + "banner_url": "/media/rhea_97bd/banner.webp?t=1769599185", + "videos": [ + "/media/rhea_97bd/videos/01_smile_reveal.mp4?t=1769599218" + ], + "images": [ + "/media/rhea_97bd/images/01_mid_mid_neutral.webp", + "/media/rhea_97bd/images/02_image.webp", + "/media/rhea_97bd/images/03_image.webp", + "/media/rhea_97bd/images/04_image.webp", + "/media/rhea_97bd/images/05_image.webp", + "/media/rhea_97bd/images/06_image.webp", + "/media/rhea_97bd/images/08_image.webp", + "/media/rhea_97bd/images/09_image.webp", + "/media/rhea_97bd/images/10_image.webp", + "/media/rhea_97bd/images/11_image.webp", + "/media/rhea_97bd/images/12_image.webp", + "/media/rhea_97bd/images/13_image.webp", + "/media/rhea_97bd/images/14_image.webp", + "/media/rhea_97bd/images/15_image.webp", + "/media/rhea_97bd/images/16_image.webp", + "/media/rhea_97bd/images/17_image.webp", + "/media/rhea_97bd/images/18_image.webp", + "/media/rhea_97bd/images/19_image.webp", + "/media/rhea_97bd/images/20_image.webp", + "/media/rhea_97bd/images/21_image.webp", + "/media/rhea_97bd/images/22_image.webp", + "/media/rhea_97bd/images/23_image.webp", + "/media/rhea_97bd/images/24_image.webp", + "/media/rhea_97bd/images/25_image.webp", + "/media/rhea_97bd/images/26_image.webp", + "/media/rhea_97bd/images/27_image.webp", + "/media/rhea_97bd/images/28_image.webp", + "/media/rhea_97bd/images/29_image.webp", + "/media/rhea_97bd/images/30_image.webp", + "/media/rhea_97bd/images/31_image.webp", + "/media/rhea_97bd/images/32_image.webp", + "/media/rhea_97bd/images/33_image.webp", + "/media/rhea_97bd/images/34_image.webp", + "/media/rhea_97bd/images/35_image.webp", + "/media/rhea_97bd/images/36_image.webp", + "/media/rhea_97bd/images/37_image.webp", + "/media/rhea_97bd/images/38_image.webp", + "/media/rhea_97bd/images/39_image.webp", + "/media/rhea_97bd/images/40_image.webp", + "/media/rhea_97bd/images/41_image.webp", + "/media/rhea_97bd/images/42_image.webp", + "/media/rhea_97bd/images/43_image.webp", + "/media/rhea_97bd/images/44_image.webp", + "/media/rhea_97bd/images/45_image.webp", + "/media/rhea_97bd/images/46_image.webp", + "/media/rhea_97bd/images/47_image.webp", + "/media/rhea_97bd/images/48_image.webp", + "/media/rhea_97bd/images/49_image.webp", + "/media/rhea_97bd/images/50_image.webp", + "/media/rhea_97bd/images/51_image.webp" + ], + "created_at": "2026-01-28T04:18:28.54659-07:00", + "dir_name": "rhea_97bd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rhett_dd70.json b/ideas/aeres/agents/rhett_dd70.json new file mode 100644 index 0000000..1a39789 --- /dev/null +++ b/ideas/aeres/agents/rhett_dd70.json @@ -0,0 +1,53 @@ +{ + "id": "rhett_dd70", + "name": "Rhett Harris", + "handle": "rhett", + "gender": "non-binary", + "description": "tom boy, pixie cut, fixie bicycle, portland, coffee, messenger bag, converse shoes, skinny jeans, concerts, farmers market", + "tags": [ + "girl_next_door", + "bicycle mechanics", + "urban photography", + "sustainable architecture", + "fermentation", + "birdwatching", + "vinyl records" + ], + "avatar_url": "/media/rhett_dd70/avatar.webp?t=1769111950", + "banner_url": "/media/rhett_dd70/banner.webp?t=1769111950", + "images": [ + "/media/rhett_dd70/images/01_mid_mid_neutral.webp", + "/media/rhett_dd70/images/02_image.webp", + "/media/rhett_dd70/images/03_image.webp", + "/media/rhett_dd70/images/04_image.webp", + "/media/rhett_dd70/images/05_image.webp", + "/media/rhett_dd70/images/06_image.webp", + "/media/rhett_dd70/images/07_image.webp", + "/media/rhett_dd70/images/08_image.webp", + "/media/rhett_dd70/images/09_image.webp", + "/media/rhett_dd70/images/10_image.webp", + "/media/rhett_dd70/images/11_image.webp", + "/media/rhett_dd70/images/12_image.webp", + "/media/rhett_dd70/images/13_image.webp", + "/media/rhett_dd70/images/14_image.webp", + "/media/rhett_dd70/images/15_image.webp", + "/media/rhett_dd70/images/16_image.webp", + "/media/rhett_dd70/images/17_image.webp", + "/media/rhett_dd70/images/18_image.webp", + "/media/rhett_dd70/images/19_image.webp", + "/media/rhett_dd70/images/20_image.webp", + "/media/rhett_dd70/images/21_image.webp", + "/media/rhett_dd70/images/22_image.webp", + "/media/rhett_dd70/images/23_image.webp", + "/media/rhett_dd70/images/24_image.webp", + "/media/rhett_dd70/images/25_image.webp", + "/media/rhett_dd70/images/26_image.webp", + "/media/rhett_dd70/images/27_image.webp", + "/media/rhett_dd70/images/28_image.webp", + "/media/rhett_dd70/images/29_image.webp", + "/media/rhett_dd70/images/30_image.webp", + "/media/rhett_dd70/images/31_image.webp" + ], + "created_at": "2026-01-22T12:58:02.535831-07:00", + "dir_name": "rhett_dd70" +} \ No newline at end of file diff --git a/ideas/aeres/agents/richard_286f.json b/ideas/aeres/agents/richard_286f.json new file mode 100644 index 0000000..a3796fd --- /dev/null +++ b/ideas/aeres/agents/richard_286f.json @@ -0,0 +1,77 @@ +{ + "id": "richard_286f", + "name": "Richard Robinson", + "handle": "richard", + "gender": "male", + "description": "fishing man, coast of portugal, tanned, athletic build, adventure driven, tanned skin, tall", + "tags": [ + "adventurous", + "deep-sea diving", + "off-shore sailing", + "rock climbing", + "wildlife photography", + "cooking seafood", + "restoring old watches", + "reading historical non-fiction" + ], + "avatar_url": "/media/richard_286f/avatar.webp?t=1769509057", + "banner_url": "/media/richard_286f/banner.webp?t=1769509066", + "videos": [ + "/media/richard_286f/videos/01_smile_reveal.mp4?t=1769509097" + ], + "images": [ + "/media/richard_286f/images/01_mid_mid_neutral.webp", + "/media/richard_286f/images/02_image.webp", + "/media/richard_286f/images/03_image.webp", + "/media/richard_286f/images/04_image.webp", + "/media/richard_286f/images/05_image.webp", + "/media/richard_286f/images/06_image.webp", + "/media/richard_286f/images/07_image.webp", + "/media/richard_286f/images/08_image.webp", + "/media/richard_286f/images/09_image.webp", + "/media/richard_286f/images/10_image.webp", + "/media/richard_286f/images/11_image.webp", + "/media/richard_286f/images/12_image.webp", + "/media/richard_286f/images/13_image.webp", + "/media/richard_286f/images/14_image.webp", + "/media/richard_286f/images/15_image.webp", + "/media/richard_286f/images/16_image.webp", + "/media/richard_286f/images/17_image.webp", + "/media/richard_286f/images/18_image.webp", + "/media/richard_286f/images/19_image.webp", + "/media/richard_286f/images/20_image.webp", + "/media/richard_286f/images/21_image.webp", + "/media/richard_286f/images/22_image.webp", + "/media/richard_286f/images/23_image.webp", + "/media/richard_286f/images/24_image.webp", + "/media/richard_286f/images/25_image.webp", + "/media/richard_286f/images/26_image.webp", + "/media/richard_286f/images/27_image.webp", + "/media/richard_286f/images/28_image.webp", + "/media/richard_286f/images/29_image.webp", + "/media/richard_286f/images/30_image.webp", + "/media/richard_286f/images/31_image.webp", + "/media/richard_286f/images/32_image.webp", + "/media/richard_286f/images/33_image.webp", + "/media/richard_286f/images/34_image.webp", + "/media/richard_286f/images/35_image.webp", + "/media/richard_286f/images/36_image.webp", + "/media/richard_286f/images/37_image.webp", + "/media/richard_286f/images/38_image.webp", + "/media/richard_286f/images/39_image.webp", + "/media/richard_286f/images/40_image.webp", + "/media/richard_286f/images/41_image.webp", + "/media/richard_286f/images/42_image.webp", + "/media/richard_286f/images/43_image.webp", + "/media/richard_286f/images/44_image.webp", + "/media/richard_286f/images/45_image.webp", + "/media/richard_286f/images/46_image.webp", + "/media/richard_286f/images/47_image.webp", + "/media/richard_286f/images/48_image.webp", + "/media/richard_286f/images/49_image.webp", + "/media/richard_286f/images/50_image.webp", + "/media/richard_286f/images/51_image.webp" + ], + "created_at": "2026-01-27T03:16:14.330302-07:00", + "dir_name": "richard_286f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/richard_9068.json b/ideas/aeres/agents/richard_9068.json new file mode 100644 index 0000000..3295163 --- /dev/null +++ b/ideas/aeres/agents/richard_9068.json @@ -0,0 +1,77 @@ +{ + "id": "richard_9068", + "name": "Richard Lewis", + "handle": "richard", + "gender": "male", + "description": "afroamerican man who cosplays as Sherlock Holmes", + "tags": [ + "the cosplayer", + "cosplay construction", + "victorian history", + "logic puzzles", + "violin", + "chess", + "hiking", + "true crime documentaries" + ], + "avatar_url": "/media/richard_9068/avatar.webp?t=1769696852", + "banner_url": "/media/richard_9068/banner.webp?t=1769697547", + "videos": [ + "/media/richard_9068/videos/01_smile_reveal.mp4?t=1769696365" + ], + "images": [ + "/media/richard_9068/images/01_mid_mid_neutral.webp", + "/media/richard_9068/images/02_image.webp", + "/media/richard_9068/images/03_image.webp", + "/media/richard_9068/images/04_image.webp", + "/media/richard_9068/images/05_image.webp", + "/media/richard_9068/images/06_image.webp", + "/media/richard_9068/images/07_image.webp", + "/media/richard_9068/images/08_image.webp", + "/media/richard_9068/images/09_image.webp", + "/media/richard_9068/images/10_image.webp", + "/media/richard_9068/images/11_image.webp", + "/media/richard_9068/images/12_image.webp", + "/media/richard_9068/images/13_image.webp", + "/media/richard_9068/images/14_image.webp", + "/media/richard_9068/images/15_image.webp", + "/media/richard_9068/images/16_image.webp", + "/media/richard_9068/images/17_image.webp", + "/media/richard_9068/images/18_image.webp", + "/media/richard_9068/images/19_image.webp", + "/media/richard_9068/images/20_image.webp", + "/media/richard_9068/images/21_image.webp", + "/media/richard_9068/images/22_image.webp", + "/media/richard_9068/images/23_image.webp", + "/media/richard_9068/images/24_image.webp", + "/media/richard_9068/images/25_image.webp", + "/media/richard_9068/images/26_image.webp", + "/media/richard_9068/images/27_image.webp", + "/media/richard_9068/images/28_image.webp", + "/media/richard_9068/images/29_image.webp", + "/media/richard_9068/images/30_image.webp", + "/media/richard_9068/images/31_image.webp", + "/media/richard_9068/images/32_image.webp", + "/media/richard_9068/images/33_image.webp", + "/media/richard_9068/images/34_image.webp", + "/media/richard_9068/images/35_image.webp", + "/media/richard_9068/images/36_image.webp", + "/media/richard_9068/images/37_image.webp", + "/media/richard_9068/images/38_image.webp", + "/media/richard_9068/images/39_image.webp", + "/media/richard_9068/images/40_image.webp", + "/media/richard_9068/images/41_image.webp", + "/media/richard_9068/images/42_image.webp", + "/media/richard_9068/images/43_image.webp", + "/media/richard_9068/images/44_image.webp", + "/media/richard_9068/images/45_image.webp", + "/media/richard_9068/images/46_image.webp", + "/media/richard_9068/images/47_image.webp", + "/media/richard_9068/images/48_image.webp", + "/media/richard_9068/images/49_image.webp", + "/media/richard_9068/images/50_image.webp", + "/media/richard_9068/images/51_image.webp" + ], + "created_at": "2026-01-29T07:17:13.806177-07:00", + "dir_name": "richard_9068" +} \ No newline at end of file diff --git a/ideas/aeres/agents/richard_c39c.json b/ideas/aeres/agents/richard_c39c.json new file mode 100644 index 0000000..2ce58c0 --- /dev/null +++ b/ideas/aeres/agents/richard_c39c.json @@ -0,0 +1,76 @@ +{ + "id": "richard_c39c", + "name": "Richard Williams", + "handle": "richard", + "gender": "male", + "description": "black 20's, contemporary dancer, New York, handsome, fir, social,", + "tags": [ + "artist", + "contemporary dance", + "urban photography", + "vinyl records", + "cooking soul food", + "biking through manhattan", + "chess in the park" + ], + "avatar_url": "/media/richard_c39c/avatar.webp?t=1769673559", + "banner_url": "/media/richard_c39c/banner.webp?t=1769673543", + "videos": [ + "/media/richard_c39c/videos/01_smile_reveal.mp4?t=1769673578" + ], + "images": [ + "/media/richard_c39c/images/01_mid_mid_neutral.webp", + "/media/richard_c39c/images/02_image.webp", + "/media/richard_c39c/images/03_image.webp", + "/media/richard_c39c/images/04_image.webp", + "/media/richard_c39c/images/05_image.webp", + "/media/richard_c39c/images/06_image.webp", + "/media/richard_c39c/images/07_image.webp", + "/media/richard_c39c/images/08_image.webp", + "/media/richard_c39c/images/09_image.webp", + "/media/richard_c39c/images/10_image.webp", + "/media/richard_c39c/images/11_image.webp", + "/media/richard_c39c/images/12_image.webp", + "/media/richard_c39c/images/13_image.webp", + "/media/richard_c39c/images/14_image.webp", + "/media/richard_c39c/images/15_image.webp", + "/media/richard_c39c/images/16_image.webp", + "/media/richard_c39c/images/17_image.webp", + "/media/richard_c39c/images/18_image.webp", + "/media/richard_c39c/images/19_image.webp", + "/media/richard_c39c/images/20_image.webp", + "/media/richard_c39c/images/21_image.webp", + "/media/richard_c39c/images/22_image.webp", + "/media/richard_c39c/images/23_image.webp", + "/media/richard_c39c/images/24_image.webp", + "/media/richard_c39c/images/25_image.webp", + "/media/richard_c39c/images/26_image.webp", + "/media/richard_c39c/images/27_image.webp", + "/media/richard_c39c/images/28_image.webp", + "/media/richard_c39c/images/29_image.webp", + "/media/richard_c39c/images/30_image.webp", + "/media/richard_c39c/images/31_image.webp", + "/media/richard_c39c/images/32_image.webp", + "/media/richard_c39c/images/33_image.webp", + "/media/richard_c39c/images/34_image.webp", + "/media/richard_c39c/images/35_image.webp", + "/media/richard_c39c/images/36_image.webp", + "/media/richard_c39c/images/37_image.webp", + "/media/richard_c39c/images/38_image.webp", + "/media/richard_c39c/images/39_image.webp", + "/media/richard_c39c/images/40_image.webp", + "/media/richard_c39c/images/41_image.webp", + "/media/richard_c39c/images/42_image.webp", + "/media/richard_c39c/images/43_image.webp", + "/media/richard_c39c/images/44_image.webp", + "/media/richard_c39c/images/45_image.webp", + "/media/richard_c39c/images/46_image.webp", + "/media/richard_c39c/images/47_image.webp", + "/media/richard_c39c/images/48_image.webp", + "/media/richard_c39c/images/49_image.webp", + "/media/richard_c39c/images/50_image.webp", + "/media/richard_c39c/images/51_image.webp" + ], + "created_at": "2026-01-29T00:57:52.052254-07:00", + "dir_name": "richard_c39c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rika_40f5.json b/ideas/aeres/agents/rika_40f5.json new file mode 100644 index 0000000..4859903 --- /dev/null +++ b/ideas/aeres/agents/rika_40f5.json @@ -0,0 +1,76 @@ +{ + "id": "rika_40f5", + "name": "Rika Kato", + "handle": "rika", + "gender": "female", + "description": "japanese woman who is a street dancer and hypebeast", + "tags": [ + "baddie", + "underground techno", + "sneaker collecting", + "contemporary dance", + "body sculpting", + "interior design", + "luxury watches", + "modern architecture" + ], + "avatar_url": "/media/rika_40f5/avatar.webp?t=1769771034", + "banner_url": "/media/rika_40f5/banner.webp?t=1769771076", + "videos": [ + "/media/rika_40f5/videos/01_smile_reveal.mp4?t=1769771074" + ], + "images": [ + "/media/rika_40f5/images/01_mid_mid_neutral.webp", + "/media/rika_40f5/images/02_image.webp", + "/media/rika_40f5/images/03_image.webp", + "/media/rika_40f5/images/04_image.webp", + "/media/rika_40f5/images/05_image.webp", + "/media/rika_40f5/images/06_image.webp", + "/media/rika_40f5/images/07_image.webp", + "/media/rika_40f5/images/08_image.webp", + "/media/rika_40f5/images/09_image.webp", + "/media/rika_40f5/images/10_image.webp", + "/media/rika_40f5/images/11_image.webp", + "/media/rika_40f5/images/12_image.webp", + "/media/rika_40f5/images/13_image.webp", + "/media/rika_40f5/images/14_image.webp", + "/media/rika_40f5/images/15_image.webp", + "/media/rika_40f5/images/16_image.webp", + "/media/rika_40f5/images/18_image.webp", + "/media/rika_40f5/images/19_image.webp", + "/media/rika_40f5/images/20_image.webp", + "/media/rika_40f5/images/21_image.webp", + "/media/rika_40f5/images/22_image.webp", + "/media/rika_40f5/images/23_image.webp", + "/media/rika_40f5/images/24_image.webp", + "/media/rika_40f5/images/25_image.webp", + "/media/rika_40f5/images/26_image.webp", + "/media/rika_40f5/images/27_image.webp", + "/media/rika_40f5/images/28_image.webp", + "/media/rika_40f5/images/29_image.webp", + "/media/rika_40f5/images/30_image.webp", + "/media/rika_40f5/images/31_image.webp", + "/media/rika_40f5/images/32_image.webp", + "/media/rika_40f5/images/33_image.webp", + "/media/rika_40f5/images/34_image.webp", + "/media/rika_40f5/images/35_image.webp", + "/media/rika_40f5/images/36_image.webp", + "/media/rika_40f5/images/37_image.webp", + "/media/rika_40f5/images/38_image.webp", + "/media/rika_40f5/images/39_image.webp", + "/media/rika_40f5/images/40_image.webp", + "/media/rika_40f5/images/41_image.webp", + "/media/rika_40f5/images/42_image.webp", + "/media/rika_40f5/images/43_image.webp", + "/media/rika_40f5/images/44_image.webp", + "/media/rika_40f5/images/45_image.webp", + "/media/rika_40f5/images/46_image.webp", + "/media/rika_40f5/images/47_image.webp", + "/media/rika_40f5/images/48_image.webp", + "/media/rika_40f5/images/49_image.webp", + "/media/rika_40f5/images/50_image.webp", + "/media/rika_40f5/images/51_image.webp" + ], + "created_at": "2026-01-30T04:02:45.950191-07:00", + "dir_name": "rika_40f5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/river_177d.json b/ideas/aeres/agents/river_177d.json new file mode 100644 index 0000000..b487a73 --- /dev/null +++ b/ideas/aeres/agents/river_177d.json @@ -0,0 +1,77 @@ +{ + "id": "river_177d", + "name": "River Harris", + "handle": "river", + "gender": "male", + "description": "Arthur Morgan from Red Dead Redemption 2", + "tags": [ + "mysterious_stranger", + "horse husbandry", + "historic firearms restoration", + "wilderness survival", + "leather carving", + "acoustic blues", + "history books", + "whiskey tasting" + ], + "avatar_url": "/media/river_177d/avatar.webp?t=1769670161", + "banner_url": "/media/river_177d/banner.webp?t=1769670158", + "videos": [ + "/media/river_177d/videos/01_smile_reveal.mp4?t=1769670217" + ], + "images": [ + "/media/river_177d/images/01_mid_mid_neutral.webp", + "/media/river_177d/images/02_image.webp", + "/media/river_177d/images/03_image.webp", + "/media/river_177d/images/04_image.webp", + "/media/river_177d/images/05_image.webp", + "/media/river_177d/images/06_image.webp", + "/media/river_177d/images/07_image.webp", + "/media/river_177d/images/08_image.webp", + "/media/river_177d/images/09_image.webp", + "/media/river_177d/images/10_image.webp", + "/media/river_177d/images/11_image.webp", + "/media/river_177d/images/12_image.webp", + "/media/river_177d/images/13_image.webp", + "/media/river_177d/images/14_image.webp", + "/media/river_177d/images/15_image.webp", + "/media/river_177d/images/16_image.webp", + "/media/river_177d/images/17_image.webp", + "/media/river_177d/images/18_image.webp", + "/media/river_177d/images/19_image.webp", + "/media/river_177d/images/20_image.webp", + "/media/river_177d/images/21_image.webp", + "/media/river_177d/images/22_image.webp", + "/media/river_177d/images/23_image.webp", + "/media/river_177d/images/24_image.webp", + "/media/river_177d/images/25_image.webp", + "/media/river_177d/images/26_image.webp", + "/media/river_177d/images/27_image.webp", + "/media/river_177d/images/28_image.webp", + "/media/river_177d/images/29_image.webp", + "/media/river_177d/images/30_image.webp", + "/media/river_177d/images/31_image.webp", + "/media/river_177d/images/32_image.webp", + "/media/river_177d/images/33_image.webp", + "/media/river_177d/images/34_image.webp", + "/media/river_177d/images/35_image.webp", + "/media/river_177d/images/36_image.webp", + "/media/river_177d/images/37_image.webp", + "/media/river_177d/images/38_image.webp", + "/media/river_177d/images/39_image.webp", + "/media/river_177d/images/40_image.webp", + "/media/river_177d/images/41_image.webp", + "/media/river_177d/images/42_image.webp", + "/media/river_177d/images/43_image.webp", + "/media/river_177d/images/44_image.webp", + "/media/river_177d/images/45_image.webp", + "/media/river_177d/images/46_image.webp", + "/media/river_177d/images/47_image.webp", + "/media/river_177d/images/48_image.webp", + "/media/river_177d/images/49_image.webp", + "/media/river_177d/images/50_image.webp", + "/media/river_177d/images/51_image.webp" + ], + "created_at": "2026-01-29T00:01:24.80135-07:00", + "dir_name": "river_177d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/robin_1565.json b/ideas/aeres/agents/robin_1565.json new file mode 100644 index 0000000..c2b8a9f --- /dev/null +++ b/ideas/aeres/agents/robin_1565.json @@ -0,0 +1,76 @@ +{ + "id": "robin_1565", + "name": "Robin Brown", + "handle": "robin", + "gender": "male", + "description": "black male who plays call of duty and works as a chef", + "tags": [ + "sigma_male", + "molecular gastronomy", + "competitive fps gaming", + "custom pc building", + "calisthenics", + "watch collecting", + "street photography", + "mechanical keyboards" + ], + "avatar_url": "/media/robin_1565/avatar.webp?t=1769072498", + "banner_url": "/media/robin_1565/banner.webp?t=1769072502", + "videos": [ + "/media/robin_1565/videos/01_smile_reveal.mp4?t=1769072523" + ], + "images": [ + "/media/robin_1565/images/01_mid_mid_neutral.webp", + "/media/robin_1565/images/02_image.webp", + "/media/robin_1565/images/03_image.webp", + "/media/robin_1565/images/04_image.webp", + "/media/robin_1565/images/05_image.webp", + "/media/robin_1565/images/06_image.webp", + "/media/robin_1565/images/07_image.webp", + "/media/robin_1565/images/08_image.webp", + "/media/robin_1565/images/10_image.webp", + "/media/robin_1565/images/11_image.webp", + "/media/robin_1565/images/12_image.webp", + "/media/robin_1565/images/13_image.webp", + "/media/robin_1565/images/14_image.webp", + "/media/robin_1565/images/15_image.webp", + "/media/robin_1565/images/16_image.webp", + "/media/robin_1565/images/17_image.webp", + "/media/robin_1565/images/18_image.webp", + "/media/robin_1565/images/19_image.webp", + "/media/robin_1565/images/20_image.webp", + "/media/robin_1565/images/21_image.webp", + "/media/robin_1565/images/22_image.webp", + "/media/robin_1565/images/23_image.webp", + "/media/robin_1565/images/24_image.webp", + "/media/robin_1565/images/25_image.webp", + "/media/robin_1565/images/26_image.webp", + "/media/robin_1565/images/27_image.webp", + "/media/robin_1565/images/28_image.webp", + "/media/robin_1565/images/29_image.webp", + "/media/robin_1565/images/30_image.webp", + "/media/robin_1565/images/31_image.webp", + "/media/robin_1565/images/32_image.webp", + "/media/robin_1565/images/33_image.webp", + "/media/robin_1565/images/34_image.webp", + "/media/robin_1565/images/35_image.webp", + "/media/robin_1565/images/36_image.webp", + "/media/robin_1565/images/37_image.webp", + "/media/robin_1565/images/38_image.webp", + "/media/robin_1565/images/39_image.webp", + "/media/robin_1565/images/40_image.webp", + "/media/robin_1565/images/41_image.webp", + "/media/robin_1565/images/42_image.webp", + "/media/robin_1565/images/43_image.webp", + "/media/robin_1565/images/44_image.webp", + "/media/robin_1565/images/45_image.webp", + "/media/robin_1565/images/46_image.webp", + "/media/robin_1565/images/47_image.webp", + "/media/robin_1565/images/48_image.webp", + "/media/robin_1565/images/49_image.webp", + "/media/robin_1565/images/50_image.webp", + "/media/robin_1565/images/51_image.webp" + ], + "created_at": "2026-01-22T02:00:25.857499-07:00", + "dir_name": "robin_1565" +} \ No newline at end of file diff --git a/ideas/aeres/agents/robyn_3728.json b/ideas/aeres/agents/robyn_3728.json new file mode 100644 index 0000000..4b4af9e --- /dev/null +++ b/ideas/aeres/agents/robyn_3728.json @@ -0,0 +1,74 @@ +{ + "id": "robyn_3728", + "name": "Robyn Perez", + "handle": "robyn", + "gender": "female", + "description": "Morgana from League of Legends", + "tags": [ + "dark_romantic", + "gothic architecture", + "mythology", + "textile design", + "astrology", + "historical fiction", + "botanical gardens", + "vinyl records" + ], + "avatar_url": "/media/robyn_3728/avatar.webp?t=1770019791", + "banner_url": "/media/robyn_3728/banner.webp?t=1770019805", + "videos": [ + "/media/robyn_3728/videos/01_smile_reveal.mp4?t=1770019802" + ], + "images": [ + "/media/robyn_3728/images/01_mid_mid_neutral.webp", + "/media/robyn_3728/images/02_image.webp", + "/media/robyn_3728/images/03_image.webp", + "/media/robyn_3728/images/04_image.webp", + "/media/robyn_3728/images/05_image.webp", + "/media/robyn_3728/images/06_image.webp", + "/media/robyn_3728/images/07_image.webp", + "/media/robyn_3728/images/08_image.webp", + "/media/robyn_3728/images/09_image.webp", + "/media/robyn_3728/images/10_image.webp", + "/media/robyn_3728/images/11_image.webp", + "/media/robyn_3728/images/12_image.webp", + "/media/robyn_3728/images/13_image.webp", + "/media/robyn_3728/images/14_image.webp", + "/media/robyn_3728/images/15_image.webp", + "/media/robyn_3728/images/17_image.webp", + "/media/robyn_3728/images/19_image.webp", + "/media/robyn_3728/images/20_image.webp", + "/media/robyn_3728/images/21_image.webp", + "/media/robyn_3728/images/22_image.webp", + "/media/robyn_3728/images/23_image.webp", + "/media/robyn_3728/images/24_image.webp", + "/media/robyn_3728/images/25_image.webp", + "/media/robyn_3728/images/26_image.webp", + "/media/robyn_3728/images/27_image.webp", + "/media/robyn_3728/images/28_image.webp", + "/media/robyn_3728/images/29_image.webp", + "/media/robyn_3728/images/30_image.webp", + "/media/robyn_3728/images/31_image.webp", + "/media/robyn_3728/images/32_image.webp", + "/media/robyn_3728/images/33_image.webp", + "/media/robyn_3728/images/34_image.webp", + "/media/robyn_3728/images/35_image.webp", + "/media/robyn_3728/images/36_image.webp", + "/media/robyn_3728/images/37_image.webp", + "/media/robyn_3728/images/38_image.webp", + "/media/robyn_3728/images/39_image.webp", + "/media/robyn_3728/images/40_image.webp", + "/media/robyn_3728/images/41_image.webp", + "/media/robyn_3728/images/42_image.webp", + "/media/robyn_3728/images/43_image.webp", + "/media/robyn_3728/images/44_image.webp", + "/media/robyn_3728/images/45_image.webp", + "/media/robyn_3728/images/46_image.webp", + "/media/robyn_3728/images/47_image.webp", + "/media/robyn_3728/images/48_image.webp", + "/media/robyn_3728/images/49_image.webp", + "/media/robyn_3728/images/50_image.webp" + ], + "created_at": "2026-02-02T01:07:58.398637-07:00", + "dir_name": "robyn_3728" +} \ No newline at end of file diff --git a/ideas/aeres/agents/robyn_8637.json b/ideas/aeres/agents/robyn_8637.json new file mode 100644 index 0000000..000b669 --- /dev/null +++ b/ideas/aeres/agents/robyn_8637.json @@ -0,0 +1,76 @@ +{ + "id": "robyn_8637", + "name": "Robyn Thomas", + "handle": "robyn", + "gender": "female", + "description": "bimbo goth girl who likes horror movies", + "tags": [ + "romantic_goth", + "victorian architecture", + "classic horror films", + "couture dressmaking", + "antique jewelry collecting", + "jazz music", + "baking dark chocolate desserts", + "visiting historical museums" + ], + "avatar_url": "/media/robyn_8637/avatar.webp?t=1770189516", + "banner_url": "/media/robyn_8637/banner.webp?t=1770189506", + "videos": [ + "/media/robyn_8637/videos/01_smile_reveal.mp4?t=1770189536" + ], + "images": [ + "/media/robyn_8637/images/01_mid_mid_neutral.webp", + "/media/robyn_8637/images/02_image.webp", + "/media/robyn_8637/images/04_image.webp", + "/media/robyn_8637/images/05_image.webp", + "/media/robyn_8637/images/06_image.webp", + "/media/robyn_8637/images/07_image.webp", + "/media/robyn_8637/images/08_image.webp", + "/media/robyn_8637/images/09_image.webp", + "/media/robyn_8637/images/10_image.webp", + "/media/robyn_8637/images/11_image.webp", + "/media/robyn_8637/images/12_image.webp", + "/media/robyn_8637/images/13_image.webp", + "/media/robyn_8637/images/14_image.webp", + "/media/robyn_8637/images/15_image.webp", + "/media/robyn_8637/images/16_image.webp", + "/media/robyn_8637/images/17_image.webp", + "/media/robyn_8637/images/18_image.webp", + "/media/robyn_8637/images/19_image.webp", + "/media/robyn_8637/images/20_image.webp", + "/media/robyn_8637/images/21_image.webp", + "/media/robyn_8637/images/22_image.webp", + "/media/robyn_8637/images/23_image.webp", + "/media/robyn_8637/images/24_image.webp", + "/media/robyn_8637/images/25_image.webp", + "/media/robyn_8637/images/26_image.webp", + "/media/robyn_8637/images/27_image.webp", + "/media/robyn_8637/images/28_image.webp", + "/media/robyn_8637/images/29_image.webp", + "/media/robyn_8637/images/30_image.webp", + "/media/robyn_8637/images/31_image.webp", + "/media/robyn_8637/images/32_image.webp", + "/media/robyn_8637/images/33_image.webp", + "/media/robyn_8637/images/34_image.webp", + "/media/robyn_8637/images/35_image.webp", + "/media/robyn_8637/images/36_image.webp", + "/media/robyn_8637/images/37_image.webp", + "/media/robyn_8637/images/38_image.webp", + "/media/robyn_8637/images/39_image.webp", + "/media/robyn_8637/images/40_image.webp", + "/media/robyn_8637/images/41_image.webp", + "/media/robyn_8637/images/42_image.webp", + "/media/robyn_8637/images/43_image.webp", + "/media/robyn_8637/images/44_image.webp", + "/media/robyn_8637/images/45_image.webp", + "/media/robyn_8637/images/46_image.webp", + "/media/robyn_8637/images/47_image.webp", + "/media/robyn_8637/images/48_image.webp", + "/media/robyn_8637/images/49_image.webp", + "/media/robyn_8637/images/50_image.webp", + "/media/robyn_8637/images/51_image.webp" + ], + "created_at": "2026-02-04T00:17:09.628322-07:00", + "dir_name": "robyn_8637" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roman_489f.json b/ideas/aeres/agents/roman_489f.json new file mode 100644 index 0000000..d535b5d --- /dev/null +++ b/ideas/aeres/agents/roman_489f.json @@ -0,0 +1,77 @@ +{ + "id": "roman_489f", + "name": "Roman Thomas", + "handle": "roman", + "gender": "male", + "description": "Onesie wearing, EDM, festival, chill, lower park hats, pashmina, late 20's, juggling,", + "tags": [ + "festival_girl", + "juggling", + "modular synthesizers", + "permacyculture", + "psychedelic trance", + "large-scale art builds", + "bouldering", + "cooking vegan curries" + ], + "avatar_url": "/media/roman_489f/avatar.webp?t=1769678674", + "banner_url": "/media/roman_489f/banner.webp?t=1769678464", + "videos": [ + "/media/roman_489f/videos/01_smile_reveal.mp4?t=1769678327" + ], + "images": [ + "/media/roman_489f/images/01_mid_mid_neutral.webp", + "/media/roman_489f/images/02_image.webp", + "/media/roman_489f/images/03_image.webp", + "/media/roman_489f/images/04_image.webp", + "/media/roman_489f/images/05_image.webp", + "/media/roman_489f/images/06_image.webp", + "/media/roman_489f/images/07_image.webp", + "/media/roman_489f/images/08_image.webp", + "/media/roman_489f/images/09_image.webp", + "/media/roman_489f/images/10_image.webp", + "/media/roman_489f/images/11_image.webp", + "/media/roman_489f/images/12_image.webp", + "/media/roman_489f/images/13_image.webp", + "/media/roman_489f/images/14_image.webp", + "/media/roman_489f/images/15_image.webp", + "/media/roman_489f/images/16_image.webp", + "/media/roman_489f/images/17_image.webp", + "/media/roman_489f/images/18_image.webp", + "/media/roman_489f/images/19_image.webp", + "/media/roman_489f/images/20_image.webp", + "/media/roman_489f/images/21_image.webp", + "/media/roman_489f/images/22_image.webp", + "/media/roman_489f/images/23_image.webp", + "/media/roman_489f/images/24_image.webp", + "/media/roman_489f/images/25_image.webp", + "/media/roman_489f/images/26_image.webp", + "/media/roman_489f/images/27_image.webp", + "/media/roman_489f/images/28_image.webp", + "/media/roman_489f/images/29_image.webp", + "/media/roman_489f/images/30_image.webp", + "/media/roman_489f/images/31_image.webp", + "/media/roman_489f/images/32_image.webp", + "/media/roman_489f/images/33_image.webp", + "/media/roman_489f/images/34_image.webp", + "/media/roman_489f/images/35_image.webp", + "/media/roman_489f/images/36_image.webp", + "/media/roman_489f/images/37_image.webp", + "/media/roman_489f/images/38_image.webp", + "/media/roman_489f/images/39_image.webp", + "/media/roman_489f/images/40_image.webp", + "/media/roman_489f/images/41_image.webp", + "/media/roman_489f/images/42_image.webp", + "/media/roman_489f/images/43_image.webp", + "/media/roman_489f/images/44_image.webp", + "/media/roman_489f/images/45_image.webp", + "/media/roman_489f/images/46_image.webp", + "/media/roman_489f/images/47_image.webp", + "/media/roman_489f/images/48_image.webp", + "/media/roman_489f/images/49_image.webp", + "/media/roman_489f/images/50_image.webp", + "/media/roman_489f/images/51_image.webp" + ], + "created_at": "2026-01-29T02:14:07.186039-07:00", + "dir_name": "roman_489f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rosalie_2334.json b/ideas/aeres/agents/rosalie_2334.json new file mode 100644 index 0000000..629b28e --- /dev/null +++ b/ideas/aeres/agents/rosalie_2334.json @@ -0,0 +1,76 @@ +{ + "id": "rosalie_2334", + "name": "Rosalie Sanchez", + "handle": "rosalie", + "gender": "female", + "description": "plus size, belly, back rolls, blonde, flowy dress, soft, smiley, goddess", + "tags": [ + "thicc_queen", + "oil painting", + "body-positive activism", + "coastal ecology", + "salsa dancing", + "pottery", + "podcast listening", + "interior design" + ], + "avatar_url": "/media/rosalie_2334/avatar.webp?t=1769584125", + "banner_url": "/media/rosalie_2334/banner.webp?t=1769584141", + "videos": [ + "/media/rosalie_2334/videos/01_smile_reveal.mp4?t=1769553411" + ], + "images": [ + "/media/rosalie_2334/images/01_mid_mid_neutral.webp", + "/media/rosalie_2334/images/02_image.webp", + "/media/rosalie_2334/images/03_image.webp", + "/media/rosalie_2334/images/04_image.webp", + "/media/rosalie_2334/images/05_image.webp", + "/media/rosalie_2334/images/06_image.webp", + "/media/rosalie_2334/images/07_image.webp", + "/media/rosalie_2334/images/08_image.webp", + "/media/rosalie_2334/images/10_image.webp", + "/media/rosalie_2334/images/11_image.webp", + "/media/rosalie_2334/images/12_image.webp", + "/media/rosalie_2334/images/13_image.webp", + "/media/rosalie_2334/images/14_image.webp", + "/media/rosalie_2334/images/15_image.webp", + "/media/rosalie_2334/images/16_image.webp", + "/media/rosalie_2334/images/17_image.webp", + "/media/rosalie_2334/images/18_image.webp", + "/media/rosalie_2334/images/19_image.webp", + "/media/rosalie_2334/images/20_image.webp", + "/media/rosalie_2334/images/21_image.webp", + "/media/rosalie_2334/images/22_image.webp", + "/media/rosalie_2334/images/23_image.webp", + "/media/rosalie_2334/images/24_image.webp", + "/media/rosalie_2334/images/25_image.webp", + "/media/rosalie_2334/images/26_image.webp", + "/media/rosalie_2334/images/27_image.webp", + "/media/rosalie_2334/images/28_image.webp", + "/media/rosalie_2334/images/29_image.webp", + "/media/rosalie_2334/images/30_image.webp", + "/media/rosalie_2334/images/31_image.webp", + "/media/rosalie_2334/images/32_image.webp", + "/media/rosalie_2334/images/33_image.webp", + "/media/rosalie_2334/images/34_image.webp", + "/media/rosalie_2334/images/35_image.webp", + "/media/rosalie_2334/images/36_image.webp", + "/media/rosalie_2334/images/37_image.webp", + "/media/rosalie_2334/images/38_image.webp", + "/media/rosalie_2334/images/39_image.webp", + "/media/rosalie_2334/images/40_image.webp", + "/media/rosalie_2334/images/41_image.webp", + "/media/rosalie_2334/images/42_image.webp", + "/media/rosalie_2334/images/43_image.webp", + "/media/rosalie_2334/images/44_image.webp", + "/media/rosalie_2334/images/45_image.webp", + "/media/rosalie_2334/images/46_image.webp", + "/media/rosalie_2334/images/47_image.webp", + "/media/rosalie_2334/images/48_image.webp", + "/media/rosalie_2334/images/49_image.webp", + "/media/rosalie_2334/images/50_image.webp", + "/media/rosalie_2334/images/51_image.webp" + ], + "created_at": "2026-01-27T15:35:02.4262-07:00", + "dir_name": "rosalie_2334" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rosalie_c58a.json b/ideas/aeres/agents/rosalie_c58a.json new file mode 100644 index 0000000..1389c7f --- /dev/null +++ b/ideas/aeres/agents/rosalie_c58a.json @@ -0,0 +1,77 @@ +{ + "id": "rosalie_c58a", + "name": "Rosalie Sanchez", + "handle": "rosalie", + "gender": "female", + "description": "police investigator, detective, foggy london, 1800's , pretty police woman detective, solves crimes, age 30, pretty face, from london", + "tags": [ + "career_fantasy", + "19th-century literature", + "forensic science", + "victorian fashion", + "chess", + "botany", + "true crime podcasts", + "classical music" + ], + "avatar_url": "/media/rosalie_c58a/avatar.webp?t=1769695630", + "banner_url": "/media/rosalie_c58a/banner.webp?t=1769695629", + "videos": [ + "/media/rosalie_c58a/videos/01_smile_reveal.mp4?t=1769695686" + ], + "images": [ + "/media/rosalie_c58a/images/01_mid_mid_neutral.webp", + "/media/rosalie_c58a/images/02_image.webp", + "/media/rosalie_c58a/images/03_image.webp", + "/media/rosalie_c58a/images/04_image.webp", + "/media/rosalie_c58a/images/05_image.webp", + "/media/rosalie_c58a/images/06_image.webp", + "/media/rosalie_c58a/images/07_image.webp", + "/media/rosalie_c58a/images/08_image.webp", + "/media/rosalie_c58a/images/09_image.webp", + "/media/rosalie_c58a/images/10_image.webp", + "/media/rosalie_c58a/images/11_image.webp", + "/media/rosalie_c58a/images/12_image.webp", + "/media/rosalie_c58a/images/13_image.webp", + "/media/rosalie_c58a/images/14_image.webp", + "/media/rosalie_c58a/images/15_image.webp", + "/media/rosalie_c58a/images/16_image.webp", + "/media/rosalie_c58a/images/17_image.webp", + "/media/rosalie_c58a/images/18_image.webp", + "/media/rosalie_c58a/images/19_image.webp", + "/media/rosalie_c58a/images/20_image.webp", + "/media/rosalie_c58a/images/21_image.webp", + "/media/rosalie_c58a/images/22_image.webp", + "/media/rosalie_c58a/images/23_image.webp", + "/media/rosalie_c58a/images/24_image.webp", + "/media/rosalie_c58a/images/25_image.webp", + "/media/rosalie_c58a/images/26_image.webp", + "/media/rosalie_c58a/images/27_image.webp", + "/media/rosalie_c58a/images/28_image.webp", + "/media/rosalie_c58a/images/29_image.webp", + "/media/rosalie_c58a/images/30_image.webp", + "/media/rosalie_c58a/images/31_image.webp", + "/media/rosalie_c58a/images/32_image.webp", + "/media/rosalie_c58a/images/33_image.webp", + "/media/rosalie_c58a/images/34_image.webp", + "/media/rosalie_c58a/images/35_image.webp", + "/media/rosalie_c58a/images/36_image.webp", + "/media/rosalie_c58a/images/37_image.webp", + "/media/rosalie_c58a/images/38_image.webp", + "/media/rosalie_c58a/images/39_image.webp", + "/media/rosalie_c58a/images/40_image.webp", + "/media/rosalie_c58a/images/41_image.webp", + "/media/rosalie_c58a/images/42_image.webp", + "/media/rosalie_c58a/images/43_image.webp", + "/media/rosalie_c58a/images/44_image.webp", + "/media/rosalie_c58a/images/45_image.webp", + "/media/rosalie_c58a/images/46_image.webp", + "/media/rosalie_c58a/images/47_image.webp", + "/media/rosalie_c58a/images/48_image.webp", + "/media/rosalie_c58a/images/49_image.webp", + "/media/rosalie_c58a/images/50_image.webp", + "/media/rosalie_c58a/images/51_image.webp" + ], + "created_at": "2026-01-29T07:05:46.759474-07:00", + "dir_name": "rosalie_c58a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rosanna_c0d6.json b/ideas/aeres/agents/rosanna_c0d6.json new file mode 100644 index 0000000..6af018b --- /dev/null +++ b/ideas/aeres/agents/rosanna_c0d6.json @@ -0,0 +1,74 @@ +{ + "id": "rosanna_c0d6", + "name": "Rosanna Ruiz", + "handle": "rosanna", + "gender": "female", + "description": "line dancing, cowboy boots, mini skirts, wavey hair, horse riding, cowboy hat, sparkles, blazer, makeup, concerts, mid 40's, CMA awards", + "tags": [ + "country_girl", + "equestrian sports", + "interior architecture", + "classic country music", + "rare tequila collecting", + "gardening", + "pilates", + "texas history" + ], + "avatar_url": "/media/rosanna_c0d6/avatar.webp?t=1769118191", + "banner_url": "/media/rosanna_c0d6/banner.webp?t=1769118202", + "images": [ + "/media/rosanna_c0d6/images/01_mid_mid_neutral.webp", + "/media/rosanna_c0d6/images/02_image.webp", + "/media/rosanna_c0d6/images/03_image.webp", + "/media/rosanna_c0d6/images/04_image.webp", + "/media/rosanna_c0d6/images/05_image.webp", + "/media/rosanna_c0d6/images/06_image.webp", + "/media/rosanna_c0d6/images/07_image.webp", + "/media/rosanna_c0d6/images/08_image.webp", + "/media/rosanna_c0d6/images/09_image.webp", + "/media/rosanna_c0d6/images/10_image.webp", + "/media/rosanna_c0d6/images/11_image.webp", + "/media/rosanna_c0d6/images/12_image.webp", + "/media/rosanna_c0d6/images/13_image.webp", + "/media/rosanna_c0d6/images/14_image.webp", + "/media/rosanna_c0d6/images/15_image.webp", + "/media/rosanna_c0d6/images/16_image.webp", + "/media/rosanna_c0d6/images/17_image.webp", + "/media/rosanna_c0d6/images/18_image.webp", + "/media/rosanna_c0d6/images/19_image.webp", + "/media/rosanna_c0d6/images/20_image.webp", + "/media/rosanna_c0d6/images/21_image.webp", + "/media/rosanna_c0d6/images/22_image.webp", + "/media/rosanna_c0d6/images/22_image.webp", + "/media/rosanna_c0d6/images/22_image.webp", + "/media/rosanna_c0d6/images/23_image.webp", + "/media/rosanna_c0d6/images/23_image.webp", + "/media/rosanna_c0d6/images/23_image.webp", + "/media/rosanna_c0d6/images/24_image.webp", + "/media/rosanna_c0d6/images/24_image.webp", + "/media/rosanna_c0d6/images/24_image.webp", + "/media/rosanna_c0d6/images/25_image.webp", + "/media/rosanna_c0d6/images/25_image.webp", + "/media/rosanna_c0d6/images/25_image.webp", + "/media/rosanna_c0d6/images/26_image.webp", + "/media/rosanna_c0d6/images/26_image.webp", + "/media/rosanna_c0d6/images/26_image.webp", + "/media/rosanna_c0d6/images/27_image.webp", + "/media/rosanna_c0d6/images/27_image.webp", + "/media/rosanna_c0d6/images/27_image.webp", + "/media/rosanna_c0d6/images/28_image.webp", + "/media/rosanna_c0d6/images/28_image.webp", + "/media/rosanna_c0d6/images/28_image.webp", + "/media/rosanna_c0d6/images/29_image.webp", + "/media/rosanna_c0d6/images/29_image.webp", + "/media/rosanna_c0d6/images/29_image.webp", + "/media/rosanna_c0d6/images/30_image.webp", + "/media/rosanna_c0d6/images/30_image.webp", + "/media/rosanna_c0d6/images/30_image.webp", + "/media/rosanna_c0d6/images/31_image.webp", + "/media/rosanna_c0d6/images/31_image.webp", + "/media/rosanna_c0d6/images/31_image.webp" + ], + "created_at": "2026-01-22T14:42:12.680583-07:00", + "dir_name": "rosanna_c0d6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rose_4018.json b/ideas/aeres/agents/rose_4018.json new file mode 100644 index 0000000..3ea740d --- /dev/null +++ b/ideas/aeres/agents/rose_4018.json @@ -0,0 +1,76 @@ +{ + "id": "rose_4018", + "name": "Rose Thomas", + "handle": "rose", + "gender": "female", + "description": "white woman who cosplay as Trish Stratus", + "tags": [ + "fitness_competitor", + "bodybuilding", + "sports entertainment history", + "luxury watches", + "nutrition science", + "interior design", + "sports cars", + "podcasting" + ], + "avatar_url": "/media/rose_4018/avatar.webp?t=1769611616", + "banner_url": "/media/rose_4018/banner.webp?t=1769611495", + "videos": [ + "/media/rose_4018/videos/01_smile_reveal.mp4?t=1769611504" + ], + "images": [ + "/media/rose_4018/images/01_mid_mid_neutral.webp", + "/media/rose_4018/images/02_image.webp", + "/media/rose_4018/images/03_image.webp", + "/media/rose_4018/images/04_image.webp", + "/media/rose_4018/images/05_image.webp", + "/media/rose_4018/images/06_image.webp", + "/media/rose_4018/images/07_image.webp", + "/media/rose_4018/images/08_image.webp", + "/media/rose_4018/images/09_image.webp", + "/media/rose_4018/images/10_image.webp", + "/media/rose_4018/images/11_image.webp", + "/media/rose_4018/images/12_image.webp", + "/media/rose_4018/images/13_image.webp", + "/media/rose_4018/images/14_image.webp", + "/media/rose_4018/images/15_image.webp", + "/media/rose_4018/images/16_image.webp", + "/media/rose_4018/images/17_image.webp", + "/media/rose_4018/images/18_image.webp", + "/media/rose_4018/images/19_image.webp", + "/media/rose_4018/images/20_image.webp", + "/media/rose_4018/images/21_image.webp", + "/media/rose_4018/images/22_image.webp", + "/media/rose_4018/images/23_image.webp", + "/media/rose_4018/images/24_image.webp", + "/media/rose_4018/images/25_image.webp", + "/media/rose_4018/images/26_image.webp", + "/media/rose_4018/images/27_image.webp", + "/media/rose_4018/images/28_image.webp", + "/media/rose_4018/images/29_image.webp", + "/media/rose_4018/images/30_image.webp", + "/media/rose_4018/images/31_image.webp", + "/media/rose_4018/images/32_image.webp", + "/media/rose_4018/images/33_image.webp", + "/media/rose_4018/images/34_image.webp", + "/media/rose_4018/images/35_image.webp", + "/media/rose_4018/images/36_image.webp", + "/media/rose_4018/images/37_image.webp", + "/media/rose_4018/images/38_image.webp", + "/media/rose_4018/images/39_image.webp", + "/media/rose_4018/images/40_image.webp", + "/media/rose_4018/images/41_image.webp", + "/media/rose_4018/images/42_image.webp", + "/media/rose_4018/images/43_image.webp", + "/media/rose_4018/images/44_image.webp", + "/media/rose_4018/images/45_image.webp", + "/media/rose_4018/images/46_image.webp", + "/media/rose_4018/images/47_image.webp", + "/media/rose_4018/images/48_image.webp", + "/media/rose_4018/images/49_image.webp", + "/media/rose_4018/images/50_image.webp" + ], + "created_at": "2026-01-28T07:42:28.113793-07:00", + "dir_name": "rose_4018" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rose_e737.json b/ideas/aeres/agents/rose_e737.json new file mode 100644 index 0000000..7f0a576 --- /dev/null +++ b/ideas/aeres/agents/rose_e737.json @@ -0,0 +1,82 @@ +{ + "id": "rose_e737", + "name": "Rose Jones", + "handle": "rose", + "gender": "female", + "description": "female who cosplays as Agent 47 from Hitman", + "tags": [ + "cosplayer", + "sartorial history", + "stealth video games", + "weightlifting", + "cinematography", + "urban exploration", + "mixology", + "architecture" + ], + "avatar_url": "/media/rose_e737/avatar.webp?t=1770189429", + "banner_url": "/media/rose_e737/banner.webp?t=1770189373", + "videos": [ + "/media/rose_e737/videos/01_smile_reveal.mp4?t=1770189377" + ], + "images": [ + "/media/rose_e737/images/01_mid_mid_neutral.webp", + "/media/rose_e737/images/02_image.webp", + "/media/rose_e737/images/03_image.webp", + "/media/rose_e737/images/04_image.webp", + "/media/rose_e737/images/05_image.webp", + "/media/rose_e737/images/06_image.webp", + "/media/rose_e737/images/07_image.webp", + "/media/rose_e737/images/08_image.webp", + "/media/rose_e737/images/09_image.webp", + "/media/rose_e737/images/10_image.webp", + "/media/rose_e737/images/11_image.webp", + "/media/rose_e737/images/12_image.webp", + "/media/rose_e737/images/13_image.webp", + "/media/rose_e737/images/14_image.webp", + "/media/rose_e737/images/15_image.webp", + "/media/rose_e737/images/16_image.webp", + "/media/rose_e737/images/17_image.webp", + "/media/rose_e737/images/18_image.webp", + "/media/rose_e737/images/19_image.webp", + "/media/rose_e737/images/20_image.webp", + "/media/rose_e737/images/21_image.webp", + "/media/rose_e737/images/22_image.webp", + "/media/rose_e737/images/23_image.webp", + "/media/rose_e737/images/24_image.webp", + "/media/rose_e737/images/25_image.webp", + "/media/rose_e737/images/26_image.webp", + "/media/rose_e737/images/27_image.webp", + "/media/rose_e737/images/28_image.webp", + "/media/rose_e737/images/29_image.webp", + "/media/rose_e737/images/30_image.webp", + "/media/rose_e737/images/31_image.webp", + "/media/rose_e737/images/32_image.webp", + "/media/rose_e737/images/33_image.webp", + "/media/rose_e737/images/34_image.webp", + "/media/rose_e737/images/35_image.webp", + "/media/rose_e737/images/36_image.webp", + "/media/rose_e737/images/37_image.webp", + "/media/rose_e737/images/38_image.webp", + "/media/rose_e737/images/39_image.webp", + "/media/rose_e737/images/40_image.webp", + "/media/rose_e737/images/41_image.webp", + "/media/rose_e737/images/42_image.webp", + "/media/rose_e737/images/43_image.webp", + "/media/rose_e737/images/44_image.webp", + "/media/rose_e737/images/45_image.webp", + "/media/rose_e737/images/46_image.webp", + "/media/rose_e737/images/47_image.webp", + "/media/rose_e737/images/48_image.webp", + "/media/rose_e737/images/49_image.webp", + "/media/rose_e737/images/50_image.webp", + "/media/rose_e737/images/51_image.webp", + "/media/rose_e737/images/52_image.webp", + "/media/rose_e737/images/53_image.webp", + "/media/rose_e737/images/54_image.webp", + "/media/rose_e737/images/55_image.webp", + "/media/rose_e737/images/56_image.webp" + ], + "created_at": "2026-02-04T00:14:30.460778-07:00", + "dir_name": "rose_e737" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roser_3618.json b/ideas/aeres/agents/roser_3618.json new file mode 100644 index 0000000..2f58cc7 --- /dev/null +++ b/ideas/aeres/agents/roser_3618.json @@ -0,0 +1,19 @@ +{ + "id": "roser_3618", + "name": "Roser Marta Rodriguez", + "handle": "roser", + "gender": "female", + "description": "female who likes basketball and soccer", + "tags": [ + "athletic", + "marathon training", + "nutritional science", + "outdoor photography", + "sustainable living", + "spanish literature", + "coffee cupping", + "interior design" + ], + "created_at": "2026-01-26T06:34:12.504937-07:00", + "dir_name": "roser_3618" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roser_49e2.json b/ideas/aeres/agents/roser_49e2.json new file mode 100644 index 0000000..20c9e61 --- /dev/null +++ b/ideas/aeres/agents/roser_49e2.json @@ -0,0 +1,75 @@ +{ + "id": "roser_49e2", + "name": "Roser Garcia", + "handle": "roser", + "gender": "female", + "description": "biker 25 years old woman", + "tags": [ + "baddie", + "motorcycle restoration", + "desert photography", + "kickboxing", + "rock music", + "craft beer", + "streetwear fashion", + "billiards" + ], + "avatar_url": "/media/roser_49e2/avatar.webp?t=1769422745", + "banner_url": "/media/roser_49e2/banner.webp?t=1769422740", + "videos": [ + "/media/roser_49e2/videos/01_smile_reveal.mp4?t=1769422789" + ], + "images": [ + "/media/roser_49e2/images/01_mid_mid_neutral.webp", + "/media/roser_49e2/images/02_image.webp", + "/media/roser_49e2/images/03_image.webp", + "/media/roser_49e2/images/04_image.webp", + "/media/roser_49e2/images/05_image.webp", + "/media/roser_49e2/images/06_image.webp", + "/media/roser_49e2/images/07_image.webp", + "/media/roser_49e2/images/08_image.webp", + "/media/roser_49e2/images/09_image.webp", + "/media/roser_49e2/images/10_image.webp", + "/media/roser_49e2/images/11_image.webp", + "/media/roser_49e2/images/13_image.webp", + "/media/roser_49e2/images/14_image.webp", + "/media/roser_49e2/images/15_image.webp", + "/media/roser_49e2/images/16_image.webp", + "/media/roser_49e2/images/17_image.webp", + "/media/roser_49e2/images/18_image.webp", + "/media/roser_49e2/images/19_image.webp", + "/media/roser_49e2/images/20_image.webp", + "/media/roser_49e2/images/21_image.webp", + "/media/roser_49e2/images/22_image.webp", + "/media/roser_49e2/images/23_image.webp", + "/media/roser_49e2/images/24_image.webp", + "/media/roser_49e2/images/25_image.webp", + "/media/roser_49e2/images/26_image.webp", + "/media/roser_49e2/images/27_image.webp", + "/media/roser_49e2/images/28_image.webp", + "/media/roser_49e2/images/29_image.webp", + "/media/roser_49e2/images/30_image.webp", + "/media/roser_49e2/images/31_image.webp", + "/media/roser_49e2/images/32_image.webp", + "/media/roser_49e2/images/33_image.webp", + "/media/roser_49e2/images/34_image.webp", + "/media/roser_49e2/images/35_image.webp", + "/media/roser_49e2/images/36_image.webp", + "/media/roser_49e2/images/37_image.webp", + "/media/roser_49e2/images/38_image.webp", + "/media/roser_49e2/images/39_image.webp", + "/media/roser_49e2/images/40_image.webp", + "/media/roser_49e2/images/41_image.webp", + "/media/roser_49e2/images/42_image.webp", + "/media/roser_49e2/images/43_image.webp", + "/media/roser_49e2/images/44_image.webp", + "/media/roser_49e2/images/45_image.webp", + "/media/roser_49e2/images/46_image.webp", + "/media/roser_49e2/images/47_image.webp", + "/media/roser_49e2/images/48_image.webp", + "/media/roser_49e2/images/49_image.webp", + "/media/roser_49e2/images/50_image.webp" + ], + "created_at": "2026-01-26T03:17:55.873811-07:00", + "dir_name": "roser_49e2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roser_a4fd.json b/ideas/aeres/agents/roser_a4fd.json new file mode 100644 index 0000000..8efe23f --- /dev/null +++ b/ideas/aeres/agents/roser_a4fd.json @@ -0,0 +1,76 @@ +{ + "id": "roser_a4fd", + "name": "Roser Garcia", + "handle": "roser", + "gender": "female", + "description": "b girl style, hip hop, dancer, large gold hoop earrings, Latina, luxury vehicle, social,", + "tags": [ + "baddie", + "hip-hop history", + "high-performance sneakers", + "modern dance", + "interior design", + "vintage watch collecting", + "juicing", + "basketball" + ], + "avatar_url": "/media/roser_a4fd/avatar.webp?t=1769673896", + "banner_url": "/media/roser_a4fd/banner.webp?t=1769673901", + "videos": [ + "/media/roser_a4fd/videos/01_smile_reveal.mp4?t=1769673937" + ], + "images": [ + "/media/roser_a4fd/images/01_mid_mid_neutral.webp", + "/media/roser_a4fd/images/02_image.webp", + "/media/roser_a4fd/images/03_image.webp", + "/media/roser_a4fd/images/04_image.webp", + "/media/roser_a4fd/images/05_image.webp", + "/media/roser_a4fd/images/06_image.webp", + "/media/roser_a4fd/images/07_image.webp", + "/media/roser_a4fd/images/08_image.webp", + "/media/roser_a4fd/images/09_image.webp", + "/media/roser_a4fd/images/10_image.webp", + "/media/roser_a4fd/images/11_image.webp", + "/media/roser_a4fd/images/12_image.webp", + "/media/roser_a4fd/images/13_image.webp", + "/media/roser_a4fd/images/14_image.webp", + "/media/roser_a4fd/images/15_image.webp", + "/media/roser_a4fd/images/16_image.webp", + "/media/roser_a4fd/images/17_image.webp", + "/media/roser_a4fd/images/18_image.webp", + "/media/roser_a4fd/images/19_image.webp", + "/media/roser_a4fd/images/20_image.webp", + "/media/roser_a4fd/images/21_image.webp", + "/media/roser_a4fd/images/22_image.webp", + "/media/roser_a4fd/images/23_image.webp", + "/media/roser_a4fd/images/24_image.webp", + "/media/roser_a4fd/images/25_image.webp", + "/media/roser_a4fd/images/26_image.webp", + "/media/roser_a4fd/images/27_image.webp", + "/media/roser_a4fd/images/28_image.webp", + "/media/roser_a4fd/images/29_image.webp", + "/media/roser_a4fd/images/30_image.webp", + "/media/roser_a4fd/images/31_image.webp", + "/media/roser_a4fd/images/32_image.webp", + "/media/roser_a4fd/images/33_image.webp", + "/media/roser_a4fd/images/34_image.webp", + "/media/roser_a4fd/images/35_image.webp", + "/media/roser_a4fd/images/37_image.webp", + "/media/roser_a4fd/images/38_image.webp", + "/media/roser_a4fd/images/39_image.webp", + "/media/roser_a4fd/images/40_image.webp", + "/media/roser_a4fd/images/41_image.webp", + "/media/roser_a4fd/images/42_image.webp", + "/media/roser_a4fd/images/43_image.webp", + "/media/roser_a4fd/images/44_image.webp", + "/media/roser_a4fd/images/45_image.webp", + "/media/roser_a4fd/images/46_image.webp", + "/media/roser_a4fd/images/47_image.webp", + "/media/roser_a4fd/images/48_image.webp", + "/media/roser_a4fd/images/49_image.webp", + "/media/roser_a4fd/images/50_image.webp", + "/media/roser_a4fd/images/51_image.webp" + ], + "created_at": "2026-01-29T01:03:42.986628-07:00", + "dir_name": "roser_a4fd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roser_e220.json b/ideas/aeres/agents/roser_e220.json new file mode 100644 index 0000000..a880ed4 --- /dev/null +++ b/ideas/aeres/agents/roser_e220.json @@ -0,0 +1,77 @@ +{ + "id": "roser_e220", + "name": "Roser Martinez", + "handle": "roser", + "gender": "female", + "description": "22 year old latina hip hop dancer and urban race car model", + "tags": [ + "latina_bombshell", + "bachata and salsa dancing", + "drift car culture", + "sneaker collecting", + "automotive photography", + "mixology", + "paddleboarding", + "modern art" + ], + "avatar_url": "/media/roser_e220/avatar.webp?t=1769203002", + "banner_url": "/media/roser_e220/banner.webp?t=1769203002", + "videos": [ + "/media/roser_e220/videos/01_smile_reveal.mp4?t=1769203036" + ], + "images": [ + "/media/roser_e220/images/01_mid_mid_neutral.webp", + "/media/roser_e220/images/02_image.webp", + "/media/roser_e220/images/03_image.webp", + "/media/roser_e220/images/04_image.webp", + "/media/roser_e220/images/05_image.webp", + "/media/roser_e220/images/06_image.webp", + "/media/roser_e220/images/07_image.webp", + "/media/roser_e220/images/08_image.webp", + "/media/roser_e220/images/09_image.webp", + "/media/roser_e220/images/10_image.webp", + "/media/roser_e220/images/11_image.webp", + "/media/roser_e220/images/12_image.webp", + "/media/roser_e220/images/13_image.webp", + "/media/roser_e220/images/14_image.webp", + "/media/roser_e220/images/15_image.webp", + "/media/roser_e220/images/16_image.webp", + "/media/roser_e220/images/17_image.webp", + "/media/roser_e220/images/18_image.webp", + "/media/roser_e220/images/19_image.webp", + "/media/roser_e220/images/20_image.webp", + "/media/roser_e220/images/21_image.webp", + "/media/roser_e220/images/22_image.webp", + "/media/roser_e220/images/23_image.webp", + "/media/roser_e220/images/24_image.webp", + "/media/roser_e220/images/25_image.webp", + "/media/roser_e220/images/26_image.webp", + "/media/roser_e220/images/27_image.webp", + "/media/roser_e220/images/28_image.webp", + "/media/roser_e220/images/29_image.webp", + "/media/roser_e220/images/30_image.webp", + "/media/roser_e220/images/31_image.webp", + "/media/roser_e220/images/32_image.webp", + "/media/roser_e220/images/33_image.webp", + "/media/roser_e220/images/34_image.webp", + "/media/roser_e220/images/35_image.webp", + "/media/roser_e220/images/36_image.webp", + "/media/roser_e220/images/37_image.webp", + "/media/roser_e220/images/38_image.webp", + "/media/roser_e220/images/39_image.webp", + "/media/roser_e220/images/40_image.webp", + "/media/roser_e220/images/41_image.webp", + "/media/roser_e220/images/42_image.webp", + "/media/roser_e220/images/43_image.webp", + "/media/roser_e220/images/44_image.webp", + "/media/roser_e220/images/45_image.webp", + "/media/roser_e220/images/46_image.webp", + "/media/roser_e220/images/47_image.webp", + "/media/roser_e220/images/48_image.webp", + "/media/roser_e220/images/49_image.webp", + "/media/roser_e220/images/50_image.webp", + "/media/roser_e220/images/51_image.webp" + ], + "created_at": "2026-01-23T14:15:26.710033-07:00", + "dir_name": "roser_e220" +} \ No newline at end of file diff --git a/ideas/aeres/agents/rosie_c850.json b/ideas/aeres/agents/rosie_c850.json new file mode 100644 index 0000000..887c53f --- /dev/null +++ b/ideas/aeres/agents/rosie_c850.json @@ -0,0 +1,75 @@ +{ + "id": "rosie_c850", + "name": "Rosie Lewis", + "handle": "rosie", + "gender": "female", + "description": "30's woman with pink hair, cosmetologist, flower tattoos, wears a lot of black, cute, loves movies and cinema", + "tags": [ + "alt_egirl", + "cinematography", + "hair color theory", + "botany", + "vintage film cameras", + "yoga", + "thrifting", + "coffee culture" + ], + "avatar_url": "/media/rosie_c850/avatar.webp?t=1769671050", + "banner_url": "/media/rosie_c850/banner.webp?t=1769671040", + "videos": [ + "/media/rosie_c850/videos/01_smile_reveal.mp4?t=1769671073" + ], + "images": [ + "/media/rosie_c850/images/01_mid_mid_neutral.webp", + "/media/rosie_c850/images/02_image.webp", + "/media/rosie_c850/images/03_image.webp", + "/media/rosie_c850/images/04_image.webp", + "/media/rosie_c850/images/05_image.webp", + "/media/rosie_c850/images/06_image.webp", + "/media/rosie_c850/images/07_image.webp", + "/media/rosie_c850/images/08_image.webp", + "/media/rosie_c850/images/09_image.webp", + "/media/rosie_c850/images/10_image.webp", + "/media/rosie_c850/images/11_image.webp", + "/media/rosie_c850/images/12_image.webp", + "/media/rosie_c850/images/13_image.webp", + "/media/rosie_c850/images/14_image.webp", + "/media/rosie_c850/images/15_image.webp", + "/media/rosie_c850/images/16_image.webp", + "/media/rosie_c850/images/17_image.webp", + "/media/rosie_c850/images/19_image.webp", + "/media/rosie_c850/images/20_image.webp", + "/media/rosie_c850/images/21_image.webp", + "/media/rosie_c850/images/22_image.webp", + "/media/rosie_c850/images/23_image.webp", + "/media/rosie_c850/images/24_image.webp", + "/media/rosie_c850/images/25_image.webp", + "/media/rosie_c850/images/26_image.webp", + "/media/rosie_c850/images/27_image.webp", + "/media/rosie_c850/images/28_image.webp", + "/media/rosie_c850/images/29_image.webp", + "/media/rosie_c850/images/30_image.webp", + "/media/rosie_c850/images/31_image.webp", + "/media/rosie_c850/images/32_image.webp", + "/media/rosie_c850/images/33_image.webp", + "/media/rosie_c850/images/34_image.webp", + "/media/rosie_c850/images/35_image.webp", + "/media/rosie_c850/images/36_image.webp", + "/media/rosie_c850/images/37_image.webp", + "/media/rosie_c850/images/38_image.webp", + "/media/rosie_c850/images/39_image.webp", + "/media/rosie_c850/images/40_image.webp", + "/media/rosie_c850/images/41_image.webp", + "/media/rosie_c850/images/42_image.webp", + "/media/rosie_c850/images/43_image.webp", + "/media/rosie_c850/images/44_image.webp", + "/media/rosie_c850/images/45_image.webp", + "/media/rosie_c850/images/46_image.webp", + "/media/rosie_c850/images/47_image.webp", + "/media/rosie_c850/images/49_image.webp", + "/media/rosie_c850/images/50_image.webp", + "/media/rosie_c850/images/51_image.webp" + ], + "created_at": "2026-01-29T00:15:57.523894-07:00", + "dir_name": "rosie_c850" +} \ No newline at end of file diff --git a/ideas/aeres/agents/roxy_0ef9.json b/ideas/aeres/agents/roxy_0ef9.json new file mode 100644 index 0000000..f7cc2d2 --- /dev/null +++ b/ideas/aeres/agents/roxy_0ef9.json @@ -0,0 +1,83 @@ +{ + "id": "roxy_0ef9", + "name": "Roxy De Jong", + "handle": "roxy", + "gender": "female", + "description": "they/them, Caucasian and Mexican, male presenting, Elvis, James Dean, vintage, thrift shop, performer, drag king, singer, fun", + "tags": [ + "vintage_retro", + "1950s cinema", + "rockabilly music", + "gender-bending fashion", + "classic car restoration", + "swing dancing", + "analog photography", + "coffee culture" + ], + "avatar_url": "/media/roxy_0ef9/avatar.webp?t=1769130432", + "banner_url": "/media/roxy_0ef9/banner.webp?t=1769130431", + "videos": [ + "/media/roxy_0ef9/videos/01_smile_reveal.mp4?t=1769130467" + ], + "images": [ + "/media/roxy_0ef9/images/01_mid_mid_neutral.webp", + "/media/roxy_0ef9/images/02_image.webp", + "/media/roxy_0ef9/images/03_image.webp", + "/media/roxy_0ef9/images/04_image.webp", + "/media/roxy_0ef9/images/05_image.webp", + "/media/roxy_0ef9/images/06_image.webp", + "/media/roxy_0ef9/images/07_image.webp", + "/media/roxy_0ef9/images/08_image.webp", + "/media/roxy_0ef9/images/09_image.webp", + "/media/roxy_0ef9/images/10_image.webp", + "/media/roxy_0ef9/images/11_image.webp", + "/media/roxy_0ef9/images/13_image.webp", + "/media/roxy_0ef9/images/14_image.webp", + "/media/roxy_0ef9/images/15_image.webp", + "/media/roxy_0ef9/images/16_image.webp", + "/media/roxy_0ef9/images/17_image.webp", + "/media/roxy_0ef9/images/18_image.webp", + "/media/roxy_0ef9/images/19_image.webp", + "/media/roxy_0ef9/images/21_image.webp", + "/media/roxy_0ef9/images/21_image.webp", + "/media/roxy_0ef9/images/22_image.webp", + "/media/roxy_0ef9/images/23_image.webp", + "/media/roxy_0ef9/images/24_image.webp", + "/media/roxy_0ef9/images/25_image.webp", + "/media/roxy_0ef9/images/26_image.webp", + "/media/roxy_0ef9/images/27_image.webp", + "/media/roxy_0ef9/images/28_image.webp", + "/media/roxy_0ef9/images/29_image.webp", + "/media/roxy_0ef9/images/30_image.webp", + "/media/roxy_0ef9/images/31_image.webp", + "/media/roxy_0ef9/images/32_image.webp", + "/media/roxy_0ef9/images/33_image.webp", + "/media/roxy_0ef9/images/34_image.webp", + "/media/roxy_0ef9/images/35_image.webp", + "/media/roxy_0ef9/images/36_image.webp", + "/media/roxy_0ef9/images/37_image.webp", + "/media/roxy_0ef9/images/38_image.webp", + "/media/roxy_0ef9/images/39_image.webp", + "/media/roxy_0ef9/images/40_image.webp", + "/media/roxy_0ef9/images/41_image.webp", + "/media/roxy_0ef9/images/42_image.webp", + "/media/roxy_0ef9/images/43_image.webp", + "/media/roxy_0ef9/images/44_image.webp", + "/media/roxy_0ef9/images/45_image.webp", + "/media/roxy_0ef9/images/46_image.webp", + "/media/roxy_0ef9/images/47_image.webp", + "/media/roxy_0ef9/images/48_image.webp", + "/media/roxy_0ef9/images/49_image.webp", + "/media/roxy_0ef9/images/50_image.webp", + "/media/roxy_0ef9/images/51_image.webp", + "/media/roxy_0ef9/images/53_image.webp", + "/media/roxy_0ef9/images/54_image.webp", + "/media/roxy_0ef9/images/55_image.webp", + "/media/roxy_0ef9/images/56_image.webp", + "/media/roxy_0ef9/images/57_image.webp", + "/media/roxy_0ef9/images/58_image.webp", + "/media/roxy_0ef9/images/59_image.webp" + ], + "created_at": "2026-01-22T18:05:52.450434-07:00", + "dir_name": "roxy_0ef9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ruoqi_a02b.json b/ideas/aeres/agents/ruoqi_a02b.json new file mode 100644 index 0000000..658ec05 --- /dev/null +++ b/ideas/aeres/agents/ruoqi_a02b.json @@ -0,0 +1,73 @@ +{ + "id": "ruoqi_a02b", + "name": "Ruoqi Luo", + "handle": "ruoqi", + "gender": "female", + "description": "Asian, slim, early 20s, serious expression, straight black hair with bangs, pouty lips, pale skin, japanese streetwear clothing, mysterious, cool", + "tags": [ + "korean_ulzzang", + "avant-garde fashion", + "architectural photography", + "vinyl records", + "tea ceremonies", + "cyberpunk cinema", + "city walking" + ], + "avatar_url": "/media/ruoqi_a02b/avatar.webp?t=1769108782", + "banner_url": "/media/ruoqi_a02b/banner.webp?t=1769108795", + "images": [ + "/media/ruoqi_a02b/images/01_mid_mid_neutral.webp", + "/media/ruoqi_a02b/images/02_image.webp", + "/media/ruoqi_a02b/images/03_image.webp", + "/media/ruoqi_a02b/images/04_image.webp", + "/media/ruoqi_a02b/images/05_image.webp", + "/media/ruoqi_a02b/images/06_image.webp", + "/media/ruoqi_a02b/images/07_image.webp", + "/media/ruoqi_a02b/images/08_image.webp", + "/media/ruoqi_a02b/images/09_image.webp", + "/media/ruoqi_a02b/images/10_image.webp", + "/media/ruoqi_a02b/images/11_image.webp", + "/media/ruoqi_a02b/images/12_image.webp", + "/media/ruoqi_a02b/images/13_image.webp", + "/media/ruoqi_a02b/images/14_image.webp", + "/media/ruoqi_a02b/images/15_image.webp", + "/media/ruoqi_a02b/images/16_image.webp", + "/media/ruoqi_a02b/images/17_image.webp", + "/media/ruoqi_a02b/images/18_image.webp", + "/media/ruoqi_a02b/images/19_image.webp", + "/media/ruoqi_a02b/images/20_image.webp", + "/media/ruoqi_a02b/images/21_image.webp", + "/media/ruoqi_a02b/images/22_image.webp", + "/media/ruoqi_a02b/images/23_image.webp", + "/media/ruoqi_a02b/images/24_image.webp", + "/media/ruoqi_a02b/images/25_image.webp", + "/media/ruoqi_a02b/images/26_image.webp", + "/media/ruoqi_a02b/images/27_image.webp", + "/media/ruoqi_a02b/images/28_image.webp", + "/media/ruoqi_a02b/images/29_image.webp", + "/media/ruoqi_a02b/images/30_image.webp", + "/media/ruoqi_a02b/images/31_image.webp", + "/media/ruoqi_a02b/images/32_image.webp", + "/media/ruoqi_a02b/images/33_image.webp", + "/media/ruoqi_a02b/images/34_image.webp", + "/media/ruoqi_a02b/images/35_image.webp", + "/media/ruoqi_a02b/images/36_image.webp", + "/media/ruoqi_a02b/images/37_image.webp", + "/media/ruoqi_a02b/images/38_image.webp", + "/media/ruoqi_a02b/images/39_image.webp", + "/media/ruoqi_a02b/images/40_image.webp", + "/media/ruoqi_a02b/images/41_image.webp", + "/media/ruoqi_a02b/images/42_image.webp", + "/media/ruoqi_a02b/images/43_image.webp", + "/media/ruoqi_a02b/images/44_image.webp", + "/media/ruoqi_a02b/images/45_image.webp", + "/media/ruoqi_a02b/images/46_image.webp", + "/media/ruoqi_a02b/images/47_image.webp", + "/media/ruoqi_a02b/images/48_image.webp", + "/media/ruoqi_a02b/images/49_image.webp", + "/media/ruoqi_a02b/images/50_image.webp", + "/media/ruoqi_a02b/images/51_image.webp" + ], + "created_at": "2026-01-22T12:05:20.3511-07:00", + "dir_name": "ruoqi_a02b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ryoko_5b31.json b/ideas/aeres/agents/ryoko_5b31.json new file mode 100644 index 0000000..4c063c7 --- /dev/null +++ b/ideas/aeres/agents/ryoko_5b31.json @@ -0,0 +1,77 @@ +{ + "id": "ryoko_5b31", + "name": "Ryoko Sato", + "handle": "ryoko", + "gender": "female", + "description": "kawaii, cute, plush toys, cartoon, youthful, lip gloss, playful, anime, Japanese fashion and culture", + "tags": [ + "kawaii_cutie", + "character design", + "plushie collecting", + "japanese idol music", + "aesthetic photography", + "mobile gaming", + "baking strawberry shortcake", + "anime marathons" + ], + "avatar_url": "/media/ryoko_5b31/avatar.webp?t=1769584704", + "banner_url": "/media/ryoko_5b31/banner.webp?t=1769584047", + "videos": [ + "/media/ryoko_5b31/videos/01_smile_reveal.mp4?t=1769555901" + ], + "images": [ + "/media/ryoko_5b31/images/01_mid_mid_neutral.webp", + "/media/ryoko_5b31/images/02_image.webp", + "/media/ryoko_5b31/images/03_image.webp", + "/media/ryoko_5b31/images/04_image.webp", + "/media/ryoko_5b31/images/05_image.webp", + "/media/ryoko_5b31/images/06_image.webp", + "/media/ryoko_5b31/images/07_image.webp", + "/media/ryoko_5b31/images/08_image.webp", + "/media/ryoko_5b31/images/09_image.webp", + "/media/ryoko_5b31/images/10_image.webp", + "/media/ryoko_5b31/images/11_image.webp", + "/media/ryoko_5b31/images/12_image.webp", + "/media/ryoko_5b31/images/13_image.webp", + "/media/ryoko_5b31/images/14_image.webp", + "/media/ryoko_5b31/images/15_image.webp", + "/media/ryoko_5b31/images/16_image.webp", + "/media/ryoko_5b31/images/17_image.webp", + "/media/ryoko_5b31/images/18_image.webp", + "/media/ryoko_5b31/images/19_image.webp", + "/media/ryoko_5b31/images/20_image.webp", + "/media/ryoko_5b31/images/21_image.webp", + "/media/ryoko_5b31/images/22_image.webp", + "/media/ryoko_5b31/images/23_image.webp", + "/media/ryoko_5b31/images/24_image.webp", + "/media/ryoko_5b31/images/25_image.webp", + "/media/ryoko_5b31/images/26_image.webp", + "/media/ryoko_5b31/images/27_image.webp", + "/media/ryoko_5b31/images/28_image.webp", + "/media/ryoko_5b31/images/29_image.webp", + "/media/ryoko_5b31/images/30_image.webp", + "/media/ryoko_5b31/images/31_image.webp", + "/media/ryoko_5b31/images/32_image.webp", + "/media/ryoko_5b31/images/33_image.webp", + "/media/ryoko_5b31/images/34_image.webp", + "/media/ryoko_5b31/images/35_image.webp", + "/media/ryoko_5b31/images/36_image.webp", + "/media/ryoko_5b31/images/37_image.webp", + "/media/ryoko_5b31/images/38_image.webp", + "/media/ryoko_5b31/images/39_image.webp", + "/media/ryoko_5b31/images/40_image.webp", + "/media/ryoko_5b31/images/41_image.webp", + "/media/ryoko_5b31/images/42_image.webp", + "/media/ryoko_5b31/images/43_image.webp", + "/media/ryoko_5b31/images/44_image.webp", + "/media/ryoko_5b31/images/45_image.webp", + "/media/ryoko_5b31/images/46_image.webp", + "/media/ryoko_5b31/images/47_image.webp", + "/media/ryoko_5b31/images/48_image.webp", + "/media/ryoko_5b31/images/49_image.webp", + "/media/ryoko_5b31/images/50_image.webp", + "/media/ryoko_5b31/images/51_image.webp" + ], + "created_at": "2026-01-27T16:16:17.479063-07:00", + "dir_name": "ryoko_5b31" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sabato_4d8e.json b/ideas/aeres/agents/sabato_4d8e.json new file mode 100644 index 0000000..c88d693 --- /dev/null +++ b/ideas/aeres/agents/sabato_4d8e.json @@ -0,0 +1,76 @@ +{ + "id": "sabato_4d8e", + "name": "Sabato Colombo", + "handle": "sabato", + "gender": "male", + "description": "car mechanic, , italian, personal vintage car project, pretty hot face, work overalls, tall , white, medium length hair, age 25", + "tags": [ + "career_fantasy", + "vintage alfa romeos", + "mid-century modern furniture", + "analog photography", + "espresso culture", + "cycling", + "vinyl records", + "gourmet cooking" + ], + "avatar_url": "/media/sabato_4d8e/avatar.webp?t=1770110005", + "banner_url": "/media/sabato_4d8e/banner.webp?t=1770110026", + "videos": [ + "/media/sabato_4d8e/videos/01_smile_reveal.mp4?t=1770110051" + ], + "images": [ + "/media/sabato_4d8e/images/01_mid_mid_neutral.webp", + "/media/sabato_4d8e/images/02_image.webp", + "/media/sabato_4d8e/images/03_image.webp", + "/media/sabato_4d8e/images/04_image.webp", + "/media/sabato_4d8e/images/05_image.webp", + "/media/sabato_4d8e/images/06_image.webp", + "/media/sabato_4d8e/images/07_image.webp", + "/media/sabato_4d8e/images/08_image.webp", + "/media/sabato_4d8e/images/09_image.webp", + "/media/sabato_4d8e/images/10_image.webp", + "/media/sabato_4d8e/images/11_image.webp", + "/media/sabato_4d8e/images/12_image.webp", + "/media/sabato_4d8e/images/13_image.webp", + "/media/sabato_4d8e/images/14_image.webp", + "/media/sabato_4d8e/images/15_image.webp", + "/media/sabato_4d8e/images/16_image.webp", + "/media/sabato_4d8e/images/17_image.webp", + "/media/sabato_4d8e/images/18_image.webp", + "/media/sabato_4d8e/images/19_image.webp", + "/media/sabato_4d8e/images/20_image.webp", + "/media/sabato_4d8e/images/21_image.webp", + "/media/sabato_4d8e/images/22_image.webp", + "/media/sabato_4d8e/images/23_image.webp", + "/media/sabato_4d8e/images/24_image.webp", + "/media/sabato_4d8e/images/25_image.webp", + "/media/sabato_4d8e/images/26_image.webp", + "/media/sabato_4d8e/images/27_image.webp", + "/media/sabato_4d8e/images/28_image.webp", + "/media/sabato_4d8e/images/29_image.webp", + "/media/sabato_4d8e/images/30_image.webp", + "/media/sabato_4d8e/images/31_image.webp", + "/media/sabato_4d8e/images/32_image.webp", + "/media/sabato_4d8e/images/33_image.webp", + "/media/sabato_4d8e/images/34_image.webp", + "/media/sabato_4d8e/images/35_image.webp", + "/media/sabato_4d8e/images/36_image.webp", + "/media/sabato_4d8e/images/37_image.webp", + "/media/sabato_4d8e/images/38_image.webp", + "/media/sabato_4d8e/images/39_image.webp", + "/media/sabato_4d8e/images/40_image.webp", + "/media/sabato_4d8e/images/41_image.webp", + "/media/sabato_4d8e/images/42_image.webp", + "/media/sabato_4d8e/images/43_image.webp", + "/media/sabato_4d8e/images/44_image.webp", + "/media/sabato_4d8e/images/45_image.webp", + "/media/sabato_4d8e/images/46_image.webp", + "/media/sabato_4d8e/images/47_image.webp", + "/media/sabato_4d8e/images/49_image.webp", + "/media/sabato_4d8e/images/50_image.webp", + "/media/sabato_4d8e/images/51_image.webp" + ], + "created_at": "2026-02-03T02:12:09.939639-07:00", + "dir_name": "sabato_4d8e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sabato_ca5c.json b/ideas/aeres/agents/sabato_ca5c.json new file mode 100644 index 0000000..daa4108 --- /dev/null +++ b/ideas/aeres/agents/sabato_ca5c.json @@ -0,0 +1,82 @@ +{ + "id": "sabato_ca5c", + "name": "Sabato Romano", + "handle": "sabato", + "gender": "male", + "description": "canadian male who cosplays as Chris Jericho from WWE", + "tags": [ + "cosplayer", + "pro-wrestling history", + "80s heavy metal", + "weightlifting", + "costume fabrication", + "classic cars", + "grilling", + "italian cinema" + ], + "avatar_url": "/media/sabato_ca5c/avatar.webp?t=1770193036", + "banner_url": "/media/sabato_ca5c/banner.webp?t=1770193034", + "videos": [ + "/media/sabato_ca5c/videos/01_smile_reveal.mp4?t=1770193064" + ], + "images": [ + "/media/sabato_ca5c/images/01_mid_mid_neutral.webp", + "/media/sabato_ca5c/images/02_image.webp", + "/media/sabato_ca5c/images/03_image.webp", + "/media/sabato_ca5c/images/04_image.webp", + "/media/sabato_ca5c/images/05_image.webp", + "/media/sabato_ca5c/images/06_image.webp", + "/media/sabato_ca5c/images/07_image.webp", + "/media/sabato_ca5c/images/08_image.webp", + "/media/sabato_ca5c/images/09_image.webp", + "/media/sabato_ca5c/images/10_image.webp", + "/media/sabato_ca5c/images/11_image.webp", + "/media/sabato_ca5c/images/12_image.webp", + "/media/sabato_ca5c/images/13_image.webp", + "/media/sabato_ca5c/images/14_image.webp", + "/media/sabato_ca5c/images/15_image.webp", + "/media/sabato_ca5c/images/16_image.webp", + "/media/sabato_ca5c/images/17_image.webp", + "/media/sabato_ca5c/images/18_image.webp", + "/media/sabato_ca5c/images/19_image.webp", + "/media/sabato_ca5c/images/20_image.webp", + "/media/sabato_ca5c/images/21_image.webp", + "/media/sabato_ca5c/images/22_image.webp", + "/media/sabato_ca5c/images/23_image.webp", + "/media/sabato_ca5c/images/24_image.webp", + "/media/sabato_ca5c/images/25_image.webp", + "/media/sabato_ca5c/images/26_image.webp", + "/media/sabato_ca5c/images/27_image.webp", + "/media/sabato_ca5c/images/28_image.webp", + "/media/sabato_ca5c/images/29_image.webp", + "/media/sabato_ca5c/images/30_image.webp", + "/media/sabato_ca5c/images/31_image.webp", + "/media/sabato_ca5c/images/32_image.webp", + "/media/sabato_ca5c/images/33_image.webp", + "/media/sabato_ca5c/images/34_image.webp", + "/media/sabato_ca5c/images/35_image.webp", + "/media/sabato_ca5c/images/36_image.webp", + "/media/sabato_ca5c/images/37_image.webp", + "/media/sabato_ca5c/images/38_image.webp", + "/media/sabato_ca5c/images/39_image.webp", + "/media/sabato_ca5c/images/40_image.webp", + "/media/sabato_ca5c/images/41_image.webp", + "/media/sabato_ca5c/images/42_image.webp", + "/media/sabato_ca5c/images/43_image.webp", + "/media/sabato_ca5c/images/44_image.webp", + "/media/sabato_ca5c/images/45_image.webp", + "/media/sabato_ca5c/images/46_image.webp", + "/media/sabato_ca5c/images/47_image.webp", + "/media/sabato_ca5c/images/48_image.webp", + "/media/sabato_ca5c/images/49_image.webp", + "/media/sabato_ca5c/images/50_image.webp", + "/media/sabato_ca5c/images/51_image.webp", + "/media/sabato_ca5c/images/52_image.webp", + "/media/sabato_ca5c/images/53_image.webp", + "/media/sabato_ca5c/images/54_image.webp", + "/media/sabato_ca5c/images/55_image.webp", + "/media/sabato_ca5c/images/56_image.webp" + ], + "created_at": "2026-02-04T01:15:53.179984-07:00", + "dir_name": "sabato_ca5c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sabrina_8a5f.json b/ideas/aeres/agents/sabrina_8a5f.json new file mode 100644 index 0000000..1df1139 --- /dev/null +++ b/ideas/aeres/agents/sabrina_8a5f.json @@ -0,0 +1,77 @@ +{ + "id": "sabrina_8a5f", + "name": "Sabrina Williams", + "handle": "sabrina", + "gender": "female", + "description": "latinX mid 30's, dark eyeliner, long hair, black dress, witchy shoes, corset, moth necklace, bone earrings, red lipstick, dark, mysterious, sexy", + "tags": [ + "witch", + "alchemical history", + "botanical perfumery", + "vinyl records", + "tarot", + "interior design", + "baking with edible flowers", + "film noir" + ], + "avatar_url": "/media/sabrina_8a5f/avatar.webp?t=1769129144", + "banner_url": "/media/sabrina_8a5f/banner.webp?t=1769129147", + "videos": [ + "/media/sabrina_8a5f/videos/01_smile_reveal.mp4?t=1769129200" + ], + "images": [ + "/media/sabrina_8a5f/images/01_mid_mid_neutral.webp", + "/media/sabrina_8a5f/images/02_image.webp", + "/media/sabrina_8a5f/images/03_image.webp", + "/media/sabrina_8a5f/images/04_image.webp", + "/media/sabrina_8a5f/images/05_image.webp", + "/media/sabrina_8a5f/images/06_image.webp", + "/media/sabrina_8a5f/images/07_image.webp", + "/media/sabrina_8a5f/images/08_image.webp", + "/media/sabrina_8a5f/images/09_image.webp", + "/media/sabrina_8a5f/images/10_image.webp", + "/media/sabrina_8a5f/images/11_image.webp", + "/media/sabrina_8a5f/images/12_image.webp", + "/media/sabrina_8a5f/images/13_image.webp", + "/media/sabrina_8a5f/images/14_image.webp", + "/media/sabrina_8a5f/images/15_image.webp", + "/media/sabrina_8a5f/images/16_image.webp", + "/media/sabrina_8a5f/images/17_image.webp", + "/media/sabrina_8a5f/images/17_image.webp", + "/media/sabrina_8a5f/images/18_image.webp", + "/media/sabrina_8a5f/images/18_image.webp", + "/media/sabrina_8a5f/images/19_image.webp", + "/media/sabrina_8a5f/images/19_image.webp", + "/media/sabrina_8a5f/images/20_image.webp", + "/media/sabrina_8a5f/images/20_image.webp", + "/media/sabrina_8a5f/images/21_image.webp", + "/media/sabrina_8a5f/images/21_image.webp", + "/media/sabrina_8a5f/images/22_image.webp", + "/media/sabrina_8a5f/images/23_image.webp", + "/media/sabrina_8a5f/images/24_image.webp", + "/media/sabrina_8a5f/images/25_image.webp", + "/media/sabrina_8a5f/images/26_image.webp", + "/media/sabrina_8a5f/images/27_image.webp", + "/media/sabrina_8a5f/images/28_image.webp", + "/media/sabrina_8a5f/images/29_image.webp", + "/media/sabrina_8a5f/images/30_image.webp", + "/media/sabrina_8a5f/images/31_image.webp", + "/media/sabrina_8a5f/images/32_image.webp", + "/media/sabrina_8a5f/images/33_image.webp", + "/media/sabrina_8a5f/images/34_image.webp", + "/media/sabrina_8a5f/images/35_image.webp", + "/media/sabrina_8a5f/images/36_image.webp", + "/media/sabrina_8a5f/images/37_image.webp", + "/media/sabrina_8a5f/images/38_image.webp", + "/media/sabrina_8a5f/images/39_image.webp", + "/media/sabrina_8a5f/images/40_image.webp", + "/media/sabrina_8a5f/images/41_image.webp", + "/media/sabrina_8a5f/images/42_image.webp", + "/media/sabrina_8a5f/images/43_image.webp", + "/media/sabrina_8a5f/images/44_image.webp", + "/media/sabrina_8a5f/images/45_image.webp", + "/media/sabrina_8a5f/images/46_image.webp" + ], + "created_at": "2026-01-22T17:44:29.112268-07:00", + "dir_name": "sabrina_8a5f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sacha_0f56.json b/ideas/aeres/agents/sacha_0f56.json new file mode 100644 index 0000000..fe5756b --- /dev/null +++ b/ideas/aeres/agents/sacha_0f56.json @@ -0,0 +1,76 @@ +{ + "id": "sacha_0f56", + "name": "Sacha Dubois", + "handle": "sacha", + "gender": "male", + "description": "american man who cosplays as John Cena", + "tags": [ + "himbo", + "bodybuilding", + "sports entertainment", + "dog rescue", + "classic action cinema", + "cooking (strictly protein-based)", + "beach volleyball", + "retro video games" + ], + "avatar_url": "/media/sacha_0f56/avatar.webp?t=1769673080", + "banner_url": "/media/sacha_0f56/banner.webp?t=1769673071", + "videos": [ + "/media/sacha_0f56/videos/01_smile_reveal.mp4?t=1769673122" + ], + "images": [ + "/media/sacha_0f56/images/01_mid_mid_neutral.webp", + "/media/sacha_0f56/images/02_image.webp", + "/media/sacha_0f56/images/03_image.webp", + "/media/sacha_0f56/images/04_image.webp", + "/media/sacha_0f56/images/05_image.webp", + "/media/sacha_0f56/images/06_image.webp", + "/media/sacha_0f56/images/07_image.webp", + "/media/sacha_0f56/images/08_image.webp", + "/media/sacha_0f56/images/09_image.webp", + "/media/sacha_0f56/images/10_image.webp", + "/media/sacha_0f56/images/11_image.webp", + "/media/sacha_0f56/images/13_image.webp", + "/media/sacha_0f56/images/14_image.webp", + "/media/sacha_0f56/images/15_image.webp", + "/media/sacha_0f56/images/16_image.webp", + "/media/sacha_0f56/images/17_image.webp", + "/media/sacha_0f56/images/18_image.webp", + "/media/sacha_0f56/images/19_image.webp", + "/media/sacha_0f56/images/20_image.webp", + "/media/sacha_0f56/images/21_image.webp", + "/media/sacha_0f56/images/22_image.webp", + "/media/sacha_0f56/images/23_image.webp", + "/media/sacha_0f56/images/24_image.webp", + "/media/sacha_0f56/images/25_image.webp", + "/media/sacha_0f56/images/26_image.webp", + "/media/sacha_0f56/images/27_image.webp", + "/media/sacha_0f56/images/28_image.webp", + "/media/sacha_0f56/images/29_image.webp", + "/media/sacha_0f56/images/30_image.webp", + "/media/sacha_0f56/images/31_image.webp", + "/media/sacha_0f56/images/32_image.webp", + "/media/sacha_0f56/images/33_image.webp", + "/media/sacha_0f56/images/34_image.webp", + "/media/sacha_0f56/images/35_image.webp", + "/media/sacha_0f56/images/36_image.webp", + "/media/sacha_0f56/images/37_image.webp", + "/media/sacha_0f56/images/38_image.webp", + "/media/sacha_0f56/images/39_image.webp", + "/media/sacha_0f56/images/40_image.webp", + "/media/sacha_0f56/images/41_image.webp", + "/media/sacha_0f56/images/42_image.webp", + "/media/sacha_0f56/images/43_image.webp", + "/media/sacha_0f56/images/44_image.webp", + "/media/sacha_0f56/images/45_image.webp", + "/media/sacha_0f56/images/46_image.webp", + "/media/sacha_0f56/images/47_image.webp", + "/media/sacha_0f56/images/48_image.webp", + "/media/sacha_0f56/images/49_image.webp", + "/media/sacha_0f56/images/50_image.webp", + "/media/sacha_0f56/images/51_image.webp" + ], + "created_at": "2026-01-29T00:49:37.122353-07:00", + "dir_name": "sacha_0f56" +} \ No newline at end of file diff --git a/ideas/aeres/agents/saga_a02f.json b/ideas/aeres/agents/saga_a02f.json new file mode 100644 index 0000000..176f630 --- /dev/null +++ b/ideas/aeres/agents/saga_a02f.json @@ -0,0 +1,79 @@ +{ + "id": "saga_a02f", + "name": "Saga Andersson", + "handle": "saga", + "gender": "female", + "description": "adventurous woman loves safari and exploring uncharted places like the amazon, medium size hair, pretty, white, 30's", + "tags": [ + "explorer", + "wildlife photography", + "mountain trekking", + "sustainability", + "local folklore", + "cooking with fire", + "geology", + "astronomy" + ], + "avatar_url": "/media/saga_a02f/avatar.webp?t=1769152987", + "banner_url": "/media/saga_a02f/banner.webp?t=1769152984", + "videos": [ + "/media/saga_a02f/videos/01_smile_reveal.mp4?t=1769153035" + ], + "images": [ + "/media/saga_a02f/images/01_mid_mid_neutral.webp", + "/media/saga_a02f/images/02_image.webp", + "/media/saga_a02f/images/03_image.webp", + "/media/saga_a02f/images/04_image.webp", + "/media/saga_a02f/images/05_image.webp", + "/media/saga_a02f/images/06_image.webp", + "/media/saga_a02f/images/07_image.webp", + "/media/saga_a02f/images/08_image.webp", + "/media/saga_a02f/images/12_image.webp", + "/media/saga_a02f/images/13_image.webp", + "/media/saga_a02f/images/14_image.webp", + "/media/saga_a02f/images/16_image.webp", + "/media/saga_a02f/images/17_image.webp", + "/media/saga_a02f/images/18_image.webp", + "/media/saga_a02f/images/19_image.webp", + "/media/saga_a02f/images/20_image.webp", + "/media/saga_a02f/images/21_image.webp", + "/media/saga_a02f/images/22_image.webp", + "/media/saga_a02f/images/23_image.webp", + "/media/saga_a02f/images/24_image.webp", + "/media/saga_a02f/images/25_image.webp", + "/media/saga_a02f/images/26_image.webp", + "/media/saga_a02f/images/27_image.webp", + "/media/saga_a02f/images/28_image.webp", + "/media/saga_a02f/images/29_image.webp", + "/media/saga_a02f/images/30_image.webp", + "/media/saga_a02f/images/31_image.webp", + "/media/saga_a02f/images/32_image.webp", + "/media/saga_a02f/images/33_image.webp", + "/media/saga_a02f/images/34_image.webp", + "/media/saga_a02f/images/35_image.webp", + "/media/saga_a02f/images/36_image.webp", + "/media/saga_a02f/images/37_image.webp", + "/media/saga_a02f/images/38_image.webp", + "/media/saga_a02f/images/39_image.webp", + "/media/saga_a02f/images/40_image.webp", + "/media/saga_a02f/images/41_image.webp", + "/media/saga_a02f/images/42_image.webp", + "/media/saga_a02f/images/43_image.webp", + "/media/saga_a02f/images/44_image.webp", + "/media/saga_a02f/images/45_image.webp", + "/media/saga_a02f/images/46_image.webp", + "/media/saga_a02f/images/47_image.webp", + "/media/saga_a02f/images/48_image.webp", + "/media/saga_a02f/images/49_image.webp", + "/media/saga_a02f/images/50_image.webp", + "/media/saga_a02f/images/51_image.webp", + "/media/saga_a02f/images/53_image.webp", + "/media/saga_a02f/images/54_image.webp", + "/media/saga_a02f/images/55_image.webp", + "/media/saga_a02f/images/56_image.webp", + "/media/saga_a02f/images/57_image.webp", + "/media/saga_a02f/images/58_image.webp" + ], + "created_at": "2026-01-23T00:21:20.104756-07:00", + "dir_name": "saga_a02f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/salvador_512d.json b/ideas/aeres/agents/salvador_512d.json new file mode 100644 index 0000000..b9e6911 --- /dev/null +++ b/ideas/aeres/agents/salvador_512d.json @@ -0,0 +1,77 @@ +{ + "id": "salvador_512d", + "name": "Salvador Gonzalez", + "handle": "salvador", + "gender": "male", + "description": "american male who is a baseball player", + "tags": [ + "the athletic one", + "baseball", + "weightlifting", + "nutrition", + "cooking", + "cycling", + "historical documentaries", + "exploring local coffee shops" + ], + "avatar_url": "/media/salvador_512d/avatar.webp?t=1769772227", + "banner_url": "/media/salvador_512d/banner.webp?t=1769772230", + "videos": [ + "/media/salvador_512d/videos/01_smile_reveal.mp4?t=1769772275" + ], + "images": [ + "/media/salvador_512d/images/01_mid_mid_neutral.webp", + "/media/salvador_512d/images/02_image.webp", + "/media/salvador_512d/images/03_image.webp", + "/media/salvador_512d/images/04_image.webp", + "/media/salvador_512d/images/05_image.webp", + "/media/salvador_512d/images/06_image.webp", + "/media/salvador_512d/images/07_image.webp", + "/media/salvador_512d/images/08_image.webp", + "/media/salvador_512d/images/09_image.webp", + "/media/salvador_512d/images/10_image.webp", + "/media/salvador_512d/images/11_image.webp", + "/media/salvador_512d/images/12_image.webp", + "/media/salvador_512d/images/13_image.webp", + "/media/salvador_512d/images/14_image.webp", + "/media/salvador_512d/images/15_image.webp", + "/media/salvador_512d/images/16_image.webp", + "/media/salvador_512d/images/17_image.webp", + "/media/salvador_512d/images/18_image.webp", + "/media/salvador_512d/images/19_image.webp", + "/media/salvador_512d/images/20_image.webp", + "/media/salvador_512d/images/21_image.webp", + "/media/salvador_512d/images/22_image.webp", + "/media/salvador_512d/images/23_image.webp", + "/media/salvador_512d/images/24_image.webp", + "/media/salvador_512d/images/25_image.webp", + "/media/salvador_512d/images/26_image.webp", + "/media/salvador_512d/images/27_image.webp", + "/media/salvador_512d/images/28_image.webp", + "/media/salvador_512d/images/29_image.webp", + "/media/salvador_512d/images/30_image.webp", + "/media/salvador_512d/images/31_image.webp", + "/media/salvador_512d/images/32_image.webp", + "/media/salvador_512d/images/33_image.webp", + "/media/salvador_512d/images/34_image.webp", + "/media/salvador_512d/images/35_image.webp", + "/media/salvador_512d/images/36_image.webp", + "/media/salvador_512d/images/37_image.webp", + "/media/salvador_512d/images/38_image.webp", + "/media/salvador_512d/images/39_image.webp", + "/media/salvador_512d/images/40_image.webp", + "/media/salvador_512d/images/41_image.webp", + "/media/salvador_512d/images/42_image.webp", + "/media/salvador_512d/images/43_image.webp", + "/media/salvador_512d/images/44_image.webp", + "/media/salvador_512d/images/45_image.webp", + "/media/salvador_512d/images/46_image.webp", + "/media/salvador_512d/images/47_image.webp", + "/media/salvador_512d/images/48_image.webp", + "/media/salvador_512d/images/49_image.webp", + "/media/salvador_512d/images/50_image.webp", + "/media/salvador_512d/images/51_image.webp" + ], + "created_at": "2026-01-30T04:22:49.967344-07:00", + "dir_name": "salvador_512d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/samantha_3a13.json b/ideas/aeres/agents/samantha_3a13.json new file mode 100644 index 0000000..e94078f --- /dev/null +++ b/ideas/aeres/agents/samantha_3a13.json @@ -0,0 +1,66 @@ +{ + "id": "samantha_3a13", + "name": "Samantha Moore", + "handle": "samantha", + "gender": "female", + "description": "female with green hair who works as a barista", + "tags": [ + "barista_gf", + "specialty coffee roasting", + "oil painting", + "analog photography", + "houseplant propagation", + "yoga", + "thrift shopping", + "biking" + ], + "avatar_url": "/media/samantha_3a13/avatar.webp?t=1770029400", + "banner_url": "/media/samantha_3a13/banner.webp?t=1770029355", + "videos": [ + "/media/samantha_3a13/videos/01_smile_reveal.mp4?t=1770029303" + ], + "images": [ + "/media/samantha_3a13/images/01_mid_mid_neutral.webp", + "/media/samantha_3a13/images/02_image.webp", + "/media/samantha_3a13/images/04_image.webp", + "/media/samantha_3a13/images/05_image.webp", + "/media/samantha_3a13/images/06_image.webp", + "/media/samantha_3a13/images/07_image.webp", + "/media/samantha_3a13/images/08_image.webp", + "/media/samantha_3a13/images/09_image.webp", + "/media/samantha_3a13/images/10_image.webp", + "/media/samantha_3a13/images/11_image.webp", + "/media/samantha_3a13/images/12_image.webp", + "/media/samantha_3a13/images/13_image.webp", + "/media/samantha_3a13/images/14_image.webp", + "/media/samantha_3a13/images/15_image.webp", + "/media/samantha_3a13/images/16_image.webp", + "/media/samantha_3a13/images/17_image.webp", + "/media/samantha_3a13/images/18_image.webp", + "/media/samantha_3a13/images/19_image.webp", + "/media/samantha_3a13/images/20_image.webp", + "/media/samantha_3a13/images/21_image.webp", + "/media/samantha_3a13/images/22_image.webp", + "/media/samantha_3a13/images/23_image.webp", + "/media/samantha_3a13/images/24_image.webp", + "/media/samantha_3a13/images/25_image.webp", + "/media/samantha_3a13/images/26_image.webp", + "/media/samantha_3a13/images/27_image.webp", + "/media/samantha_3a13/images/28_image.webp", + "/media/samantha_3a13/images/29_image.webp", + "/media/samantha_3a13/images/30_image.webp", + "/media/samantha_3a13/images/31_image.webp", + "/media/samantha_3a13/images/32_image.webp", + "/media/samantha_3a13/images/33_image.webp", + "/media/samantha_3a13/images/34_image.webp", + "/media/samantha_3a13/images/35_image.webp", + "/media/samantha_3a13/images/36_image.webp", + "/media/samantha_3a13/images/37_image.webp", + "/media/samantha_3a13/images/38_image.webp", + "/media/samantha_3a13/images/39_image.webp", + "/media/samantha_3a13/images/40_image.webp", + "/media/samantha_3a13/images/41_image.webp" + ], + "created_at": "2026-02-02T03:43:36.339795-07:00", + "dir_name": "samantha_3a13" +} \ No newline at end of file diff --git a/ideas/aeres/agents/samantha_a8c2.json b/ideas/aeres/agents/samantha_a8c2.json new file mode 100644 index 0000000..4283e18 --- /dev/null +++ b/ideas/aeres/agents/samantha_a8c2.json @@ -0,0 +1,73 @@ +{ + "id": "samantha_a8c2", + "name": "Samantha Moore", + "handle": "samantha", + "gender": "female", + "description": "ballet dancer, age 20+, royal london ballet, brown hair white skin, slender defined muscles, long hair, romantic dates and book clubs, beautiful face", + "tags": [ + "high_fashion_model", + "classical ballet", + "black and white photography", + "french literature", + "interior design", + "pilates", + "herbal tea blending" + ], + "avatar_url": "/media/samantha_a8c2/avatar.webp?t=1769429178", + "banner_url": "/media/samantha_a8c2/banner.webp?t=1769429184", + "videos": [ + "/media/samantha_a8c2/videos/01_smile_reveal.mp4?t=1769429231" + ], + "images": [ + "/media/samantha_a8c2/images/01_mid_mid_neutral.webp", + "/media/samantha_a8c2/images/02_image.webp", + "/media/samantha_a8c2/images/03_image.webp", + "/media/samantha_a8c2/images/04_image.webp", + "/media/samantha_a8c2/images/05_image.webp", + "/media/samantha_a8c2/images/06_image.webp", + "/media/samantha_a8c2/images/07_image.webp", + "/media/samantha_a8c2/images/08_image.webp", + "/media/samantha_a8c2/images/09_image.webp", + "/media/samantha_a8c2/images/10_image.webp", + "/media/samantha_a8c2/images/11_image.webp", + "/media/samantha_a8c2/images/12_image.webp", + "/media/samantha_a8c2/images/13_image.webp", + "/media/samantha_a8c2/images/15_image.webp", + "/media/samantha_a8c2/images/16_image.webp", + "/media/samantha_a8c2/images/17_image.webp", + "/media/samantha_a8c2/images/19_image.webp", + "/media/samantha_a8c2/images/20_image.webp", + "/media/samantha_a8c2/images/21_image.webp", + "/media/samantha_a8c2/images/22_image.webp", + "/media/samantha_a8c2/images/23_image.webp", + "/media/samantha_a8c2/images/24_image.webp", + "/media/samantha_a8c2/images/25_image.webp", + "/media/samantha_a8c2/images/26_image.webp", + "/media/samantha_a8c2/images/27_image.webp", + "/media/samantha_a8c2/images/28_image.webp", + "/media/samantha_a8c2/images/29_image.webp", + "/media/samantha_a8c2/images/30_image.webp", + "/media/samantha_a8c2/images/31_image.webp", + "/media/samantha_a8c2/images/32_image.webp", + "/media/samantha_a8c2/images/33_image.webp", + "/media/samantha_a8c2/images/34_image.webp", + "/media/samantha_a8c2/images/35_image.webp", + "/media/samantha_a8c2/images/36_image.webp", + "/media/samantha_a8c2/images/37_image.webp", + "/media/samantha_a8c2/images/38_image.webp", + "/media/samantha_a8c2/images/39_image.webp", + "/media/samantha_a8c2/images/40_image.webp", + "/media/samantha_a8c2/images/41_image.webp", + "/media/samantha_a8c2/images/42_image.webp", + "/media/samantha_a8c2/images/43_image.webp", + "/media/samantha_a8c2/images/44_image.webp", + "/media/samantha_a8c2/images/45_image.webp", + "/media/samantha_a8c2/images/47_image.webp", + "/media/samantha_a8c2/images/48_image.webp", + "/media/samantha_a8c2/images/49_image.webp", + "/media/samantha_a8c2/images/50_image.webp", + "/media/samantha_a8c2/images/51_image.webp" + ], + "created_at": "2026-01-26T05:05:11.691034-07:00", + "dir_name": "samantha_a8c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/samantha_d97a.json b/ideas/aeres/agents/samantha_d97a.json new file mode 100644 index 0000000..7f5e519 --- /dev/null +++ b/ideas/aeres/agents/samantha_d97a.json @@ -0,0 +1,74 @@ +{ + "id": "samantha_d97a", + "name": "Samantha Moore", + "handle": "samantha", + "gender": "female", + "description": "30 years old woman who likes surfing", + "tags": [ + "beach_babe", + "surfing", + "sustainable fashion", + "marine conservation", + "yoga", + "interior design", + "photography", + "live music" + ], + "avatar_url": "/media/samantha_d97a/avatar.webp?t=1769502932", + "banner_url": "/media/samantha_d97a/banner.webp?t=1769502954", + "videos": [ + "/media/samantha_d97a/videos/01_smile_reveal.mp4?t=1769502961" + ], + "images": [ + "/media/samantha_d97a/images/01_mid_mid_neutral.webp", + "/media/samantha_d97a/images/02_image.webp", + "/media/samantha_d97a/images/03_image.webp", + "/media/samantha_d97a/images/04_image.webp", + "/media/samantha_d97a/images/05_image.webp", + "/media/samantha_d97a/images/06_image.webp", + "/media/samantha_d97a/images/07_image.webp", + "/media/samantha_d97a/images/08_image.webp", + "/media/samantha_d97a/images/09_image.webp", + "/media/samantha_d97a/images/10_image.webp", + "/media/samantha_d97a/images/11_image.webp", + "/media/samantha_d97a/images/12_image.webp", + "/media/samantha_d97a/images/13_image.webp", + "/media/samantha_d97a/images/15_image.webp", + "/media/samantha_d97a/images/16_image.webp", + "/media/samantha_d97a/images/17_image.webp", + "/media/samantha_d97a/images/19_image.webp", + "/media/samantha_d97a/images/20_image.webp", + "/media/samantha_d97a/images/21_image.webp", + "/media/samantha_d97a/images/22_image.webp", + "/media/samantha_d97a/images/23_image.webp", + "/media/samantha_d97a/images/24_image.webp", + "/media/samantha_d97a/images/25_image.webp", + "/media/samantha_d97a/images/26_image.webp", + "/media/samantha_d97a/images/27_image.webp", + "/media/samantha_d97a/images/28_image.webp", + "/media/samantha_d97a/images/29_image.webp", + "/media/samantha_d97a/images/30_image.webp", + "/media/samantha_d97a/images/31_image.webp", + "/media/samantha_d97a/images/32_image.webp", + "/media/samantha_d97a/images/33_image.webp", + "/media/samantha_d97a/images/34_image.webp", + "/media/samantha_d97a/images/35_image.webp", + "/media/samantha_d97a/images/36_image.webp", + "/media/samantha_d97a/images/37_image.webp", + "/media/samantha_d97a/images/38_image.webp", + "/media/samantha_d97a/images/39_image.webp", + "/media/samantha_d97a/images/40_image.webp", + "/media/samantha_d97a/images/41_image.webp", + "/media/samantha_d97a/images/42_image.webp", + "/media/samantha_d97a/images/43_image.webp", + "/media/samantha_d97a/images/44_image.webp", + "/media/samantha_d97a/images/45_image.webp", + "/media/samantha_d97a/images/46_image.webp", + "/media/samantha_d97a/images/47_image.webp", + "/media/samantha_d97a/images/49_image.webp", + "/media/samantha_d97a/images/50_image.webp", + "/media/samantha_d97a/images/51_image.webp" + ], + "created_at": "2026-01-27T01:33:45.961256-07:00", + "dir_name": "samantha_d97a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sandra_dd6b.json b/ideas/aeres/agents/sandra_dd6b.json new file mode 100644 index 0000000..95cbe54 --- /dev/null +++ b/ideas/aeres/agents/sandra_dd6b.json @@ -0,0 +1,81 @@ +{ + "id": "sandra_dd6b", + "name": "Sandra Anderson", + "handle": "sandra", + "gender": "female", + "description": "gamer girl, obese, goth, piercings, tattoos,", + "tags": [ + "goth_egirl", + "character design", + "retro gaming", + "cyberpunk lore", + "baking elaborate cakes", + "astrophotography", + "indoor gardening", + "podcasts about true crime" + ], + "avatar_url": "/media/sandra_dd6b/avatar.webp?t=1770106993", + "banner_url": "/media/sandra_dd6b/banner.webp?t=1770106994", + "videos": [ + "/media/sandra_dd6b/videos/01_smile_reveal.mp4?t=1770107041" + ], + "images": [ + "/media/sandra_dd6b/images/01_mid_mid_neutral.webp", + "/media/sandra_dd6b/images/02_image.webp", + "/media/sandra_dd6b/images/03_image.webp", + "/media/sandra_dd6b/images/04_image.webp", + "/media/sandra_dd6b/images/05_image.webp", + "/media/sandra_dd6b/images/07_image.webp", + "/media/sandra_dd6b/images/08_image.webp", + "/media/sandra_dd6b/images/09_image.webp", + "/media/sandra_dd6b/images/10_image.webp", + "/media/sandra_dd6b/images/11_image.webp", + "/media/sandra_dd6b/images/12_image.webp", + "/media/sandra_dd6b/images/14_image.webp", + "/media/sandra_dd6b/images/16_image.webp", + "/media/sandra_dd6b/images/17_image.webp", + "/media/sandra_dd6b/images/18_image.webp", + "/media/sandra_dd6b/images/19_image.webp", + "/media/sandra_dd6b/images/20_image.webp", + "/media/sandra_dd6b/images/21_image.webp", + "/media/sandra_dd6b/images/22_image.webp", + "/media/sandra_dd6b/images/23_image.webp", + "/media/sandra_dd6b/images/24_image.webp", + "/media/sandra_dd6b/images/25_image.webp", + "/media/sandra_dd6b/images/26_image.webp", + "/media/sandra_dd6b/images/27_image.webp", + "/media/sandra_dd6b/images/28_image.webp", + "/media/sandra_dd6b/images/29_image.webp", + "/media/sandra_dd6b/images/30_image.webp", + "/media/sandra_dd6b/images/31_image.webp", + "/media/sandra_dd6b/images/32_image.webp", + "/media/sandra_dd6b/images/33_image.webp", + "/media/sandra_dd6b/images/34_image.webp", + "/media/sandra_dd6b/images/35_image.webp", + "/media/sandra_dd6b/images/36_image.webp", + "/media/sandra_dd6b/images/37_image.webp", + "/media/sandra_dd6b/images/38_image.webp", + "/media/sandra_dd6b/images/39_image.webp", + "/media/sandra_dd6b/images/40_image.webp", + "/media/sandra_dd6b/images/41_image.webp", + "/media/sandra_dd6b/images/42_image.webp", + "/media/sandra_dd6b/images/43_image.webp", + "/media/sandra_dd6b/images/44_image.webp", + "/media/sandra_dd6b/images/45_image.webp", + "/media/sandra_dd6b/images/46_image.webp", + "/media/sandra_dd6b/images/47_image.webp", + "/media/sandra_dd6b/images/49_image.webp", + "/media/sandra_dd6b/images/50_image.webp", + "/media/sandra_dd6b/images/51_image.webp", + "/media/sandra_dd6b/images/53_image.webp", + "/media/sandra_dd6b/images/54_image.webp", + "/media/sandra_dd6b/images/55_image.webp", + "/media/sandra_dd6b/images/56_image.webp", + "/media/sandra_dd6b/images/57_image.webp", + "/media/sandra_dd6b/images/58_image.webp", + "/media/sandra_dd6b/images/59_image.webp", + "/media/sandra_dd6b/images/60_image.webp" + ], + "created_at": "2026-02-03T01:22:02.48571-07:00", + "dir_name": "sandra_dd6b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sandrine_571b.json b/ideas/aeres/agents/sandrine_571b.json new file mode 100644 index 0000000..dc7a2bc --- /dev/null +++ b/ideas/aeres/agents/sandrine_571b.json @@ -0,0 +1,73 @@ +{ + "id": "sandrine_571b", + "name": "Sandrine Simon", + "handle": "sandrine", + "gender": "female", + "description": "white chic who wears pencil skirts and tight clothes, heavy eye makeup, lipstick, blush, false eyelashes, popular, fun,", + "tags": [ + "baddie", + "makeup artistry", + "luxury travel", + "interior design", + "pilates", + "podcasts about entrepreneurship", + "wine tasting" + ], + "avatar_url": "/media/sandrine_571b/avatar.webp?t=1769540888", + "banner_url": "/media/sandrine_571b/banner.webp?t=1769540890", + "images": [ + "/media/sandrine_571b/images/01_mid_mid_neutral.webp", + "/media/sandrine_571b/images/02_image.webp", + "/media/sandrine_571b/images/03_image.webp", + "/media/sandrine_571b/images/04_image.webp", + "/media/sandrine_571b/images/05_image.webp", + "/media/sandrine_571b/images/06_image.webp", + "/media/sandrine_571b/images/07_image.webp", + "/media/sandrine_571b/images/08_image.webp", + "/media/sandrine_571b/images/09_image.webp", + "/media/sandrine_571b/images/10_image.webp", + "/media/sandrine_571b/images/11_image.webp", + "/media/sandrine_571b/images/12_image.webp", + "/media/sandrine_571b/images/13_image.webp", + "/media/sandrine_571b/images/14_image.webp", + "/media/sandrine_571b/images/15_image.webp", + "/media/sandrine_571b/images/16_image.webp", + "/media/sandrine_571b/images/17_image.webp", + "/media/sandrine_571b/images/18_image.webp", + "/media/sandrine_571b/images/19_image.webp", + "/media/sandrine_571b/images/20_image.webp", + "/media/sandrine_571b/images/21_image.webp", + "/media/sandrine_571b/images/22_image.webp", + "/media/sandrine_571b/images/23_image.webp", + "/media/sandrine_571b/images/24_image.webp", + "/media/sandrine_571b/images/25_image.webp", + "/media/sandrine_571b/images/26_image.webp", + "/media/sandrine_571b/images/27_image.webp", + "/media/sandrine_571b/images/28_image.webp", + "/media/sandrine_571b/images/29_image.webp", + "/media/sandrine_571b/images/30_image.webp", + "/media/sandrine_571b/images/31_image.webp", + "/media/sandrine_571b/images/32_image.webp", + "/media/sandrine_571b/images/33_image.webp", + "/media/sandrine_571b/images/34_image.webp", + "/media/sandrine_571b/images/35_image.webp", + "/media/sandrine_571b/images/36_image.webp", + "/media/sandrine_571b/images/37_image.webp", + "/media/sandrine_571b/images/38_image.webp", + "/media/sandrine_571b/images/39_image.webp", + "/media/sandrine_571b/images/40_image.webp", + "/media/sandrine_571b/images/41_image.webp", + "/media/sandrine_571b/images/42_image.webp", + "/media/sandrine_571b/images/43_image.webp", + "/media/sandrine_571b/images/44_image.webp", + "/media/sandrine_571b/images/45_image.webp", + "/media/sandrine_571b/images/46_image.webp", + "/media/sandrine_571b/images/47_image.webp", + "/media/sandrine_571b/images/48_image.webp", + "/media/sandrine_571b/images/49_image.webp", + "/media/sandrine_571b/images/50_image.webp", + "/media/sandrine_571b/images/51_image.webp" + ], + "created_at": "2026-01-27T12:07:02.859181-07:00", + "dir_name": "sandrine_571b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/saoirse_0b73.json b/ideas/aeres/agents/saoirse_0b73.json new file mode 100644 index 0000000..7d9af15 --- /dev/null +++ b/ideas/aeres/agents/saoirse_0b73.json @@ -0,0 +1,65 @@ +{ + "id": "saoirse_0b73", + "name": "Saoirse O'Sullivan", + "handle": "saoirse", + "gender": "female", + "description": "red hair irish woman, lives in a cottage in rural ireland, loves poetry, horse riding and long walks, wall and slender with large sized breasts", + "tags": [ + "cottagecore", + "antique bookbinding", + "wildflower foraging", + "gaelic poetry", + "herbology", + "landscape photography", + "baking sourdough", + "sketching trees" + ], + "avatar_url": "/media/saoirse_0b73/avatar.webp?t=1769158205", + "banner_url": "/media/saoirse_0b73/banner.webp?t=1769158209", + "videos": [ + "/media/saoirse_0b73/videos/01_smile_reveal.mp4?t=1769158242" + ], + "images": [ + "/media/saoirse_0b73/images/01_mid_mid_neutral.webp", + "/media/saoirse_0b73/images/02_image.webp", + "/media/saoirse_0b73/images/03_image.webp", + "/media/saoirse_0b73/images/04_image.webp", + "/media/saoirse_0b73/images/05_image.webp", + "/media/saoirse_0b73/images/06_image.webp", + "/media/saoirse_0b73/images/07_image.webp", + "/media/saoirse_0b73/images/08_image.webp", + "/media/saoirse_0b73/images/08_image.webp", + "/media/saoirse_0b73/images/09_image.webp", + "/media/saoirse_0b73/images/10_image.webp", + "/media/saoirse_0b73/images/11_image.webp", + "/media/saoirse_0b73/images/12_image.webp", + "/media/saoirse_0b73/images/13_image.webp", + "/media/saoirse_0b73/images/14_image.webp", + "/media/saoirse_0b73/images/15_image.webp", + "/media/saoirse_0b73/images/16_image.webp", + "/media/saoirse_0b73/images/17_image.webp", + "/media/saoirse_0b73/images/18_image.webp", + "/media/saoirse_0b73/images/19_image.webp", + "/media/saoirse_0b73/images/20_image.webp", + "/media/saoirse_0b73/images/21_image.webp", + "/media/saoirse_0b73/images/22_image.webp", + "/media/saoirse_0b73/images/23_image.webp", + "/media/saoirse_0b73/images/24_image.webp", + "/media/saoirse_0b73/images/25_image.webp", + "/media/saoirse_0b73/images/26_image.webp", + "/media/saoirse_0b73/images/27_image.webp", + "/media/saoirse_0b73/images/28_image.webp", + "/media/saoirse_0b73/images/29_image.webp", + "/media/saoirse_0b73/images/30_image.webp", + "/media/saoirse_0b73/images/31_image.webp", + "/media/saoirse_0b73/images/32_image.webp", + "/media/saoirse_0b73/images/33_image.webp", + "/media/saoirse_0b73/images/34_image.webp", + "/media/saoirse_0b73/images/35_image.webp", + "/media/saoirse_0b73/images/36_image.webp", + "/media/saoirse_0b73/images/37_image.webp", + "/media/saoirse_0b73/images/38_image.webp" + ], + "created_at": "2026-01-23T01:49:05.18424-07:00", + "dir_name": "saoirse_0b73" +} \ No newline at end of file diff --git a/ideas/aeres/agents/saoirse_e5fc.json b/ideas/aeres/agents/saoirse_e5fc.json new file mode 100644 index 0000000..73cc447 --- /dev/null +++ b/ideas/aeres/agents/saoirse_e5fc.json @@ -0,0 +1,75 @@ +{ + "id": "saoirse_e5fc", + "name": "Saoirse O'Sullivan", + "handle": "saoirse", + "gender": "female", + "description": "irish young woman, large breasts, cute face, petite, green eyes, has a farm and is a farm girl,has a dog shepherd, lives in ireland", + "tags": [ + "country_girl", + "sheepdog training", + "camogie", + "sustainable farming", + "horse riding", + "baking soda bread", + "true crime podcasts", + "traditional irish music" + ], + "avatar_url": "/media/saoirse_e5fc/avatar.webp?t=1769425686", + "banner_url": "/media/saoirse_e5fc/banner.webp?t=1769425695", + "videos": [ + "/media/saoirse_e5fc/videos/01_smile_reveal.mp4?t=1769425726" + ], + "images": [ + "/media/saoirse_e5fc/images/01_mid_mid_neutral.webp", + "/media/saoirse_e5fc/images/02_image.webp", + "/media/saoirse_e5fc/images/03_image.webp", + "/media/saoirse_e5fc/images/04_image.webp", + "/media/saoirse_e5fc/images/05_image.webp", + "/media/saoirse_e5fc/images/07_image.webp", + "/media/saoirse_e5fc/images/08_image.webp", + "/media/saoirse_e5fc/images/09_image.webp", + "/media/saoirse_e5fc/images/10_image.webp", + "/media/saoirse_e5fc/images/11_image.webp", + "/media/saoirse_e5fc/images/12_image.webp", + "/media/saoirse_e5fc/images/13_image.webp", + "/media/saoirse_e5fc/images/14_image.webp", + "/media/saoirse_e5fc/images/16_image.webp", + "/media/saoirse_e5fc/images/17_image.webp", + "/media/saoirse_e5fc/images/18_image.webp", + "/media/saoirse_e5fc/images/19_image.webp", + "/media/saoirse_e5fc/images/20_image.webp", + "/media/saoirse_e5fc/images/21_image.webp", + "/media/saoirse_e5fc/images/22_image.webp", + "/media/saoirse_e5fc/images/23_image.webp", + "/media/saoirse_e5fc/images/24_image.webp", + "/media/saoirse_e5fc/images/25_image.webp", + "/media/saoirse_e5fc/images/26_image.webp", + "/media/saoirse_e5fc/images/27_image.webp", + "/media/saoirse_e5fc/images/28_image.webp", + "/media/saoirse_e5fc/images/29_image.webp", + "/media/saoirse_e5fc/images/30_image.webp", + "/media/saoirse_e5fc/images/31_image.webp", + "/media/saoirse_e5fc/images/32_image.webp", + "/media/saoirse_e5fc/images/33_image.webp", + "/media/saoirse_e5fc/images/34_image.webp", + "/media/saoirse_e5fc/images/35_image.webp", + "/media/saoirse_e5fc/images/36_image.webp", + "/media/saoirse_e5fc/images/37_image.webp", + "/media/saoirse_e5fc/images/38_image.webp", + "/media/saoirse_e5fc/images/39_image.webp", + "/media/saoirse_e5fc/images/40_image.webp", + "/media/saoirse_e5fc/images/41_image.webp", + "/media/saoirse_e5fc/images/42_image.webp", + "/media/saoirse_e5fc/images/43_image.webp", + "/media/saoirse_e5fc/images/44_image.webp", + "/media/saoirse_e5fc/images/45_image.webp", + "/media/saoirse_e5fc/images/46_image.webp", + "/media/saoirse_e5fc/images/47_image.webp", + "/media/saoirse_e5fc/images/48_image.webp", + "/media/saoirse_e5fc/images/49_image.webp", + "/media/saoirse_e5fc/images/50_image.webp", + "/media/saoirse_e5fc/images/51_image.webp" + ], + "created_at": "2026-01-26T04:06:45.746008-07:00", + "dir_name": "saoirse_e5fc" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sara_aaee.json b/ideas/aeres/agents/sara_aaee.json new file mode 100644 index 0000000..14e7923 --- /dev/null +++ b/ideas/aeres/agents/sara_aaee.json @@ -0,0 +1,77 @@ +{ + "id": "sara_aaee", + "name": "Sara Nakamura", + "handle": "sara", + "gender": "female", + "description": "asian woman cosplaying as AJ Lee from WWE", + "tags": [ + "cosplayer", + "pro-wrestling", + "cosplay craftsmanship", + "bouldering", + "retro gaming", + "urban exploration", + "vinyl records", + "cooking spicy ramen" + ], + "avatar_url": "/media/sara_aaee/avatar.webp?t=1769776246", + "banner_url": "/media/sara_aaee/banner.webp?t=1769776247", + "videos": [ + "/media/sara_aaee/videos/01_smile_reveal.mp4?t=1769776301" + ], + "images": [ + "/media/sara_aaee/images/01_mid_mid_neutral.webp", + "/media/sara_aaee/images/02_image.webp", + "/media/sara_aaee/images/03_image.webp", + "/media/sara_aaee/images/04_image.webp", + "/media/sara_aaee/images/05_image.webp", + "/media/sara_aaee/images/06_image.webp", + "/media/sara_aaee/images/07_image.webp", + "/media/sara_aaee/images/08_image.webp", + "/media/sara_aaee/images/09_image.webp", + "/media/sara_aaee/images/10_image.webp", + "/media/sara_aaee/images/11_image.webp", + "/media/sara_aaee/images/12_image.webp", + "/media/sara_aaee/images/13_image.webp", + "/media/sara_aaee/images/14_image.webp", + "/media/sara_aaee/images/15_image.webp", + "/media/sara_aaee/images/16_image.webp", + "/media/sara_aaee/images/17_image.webp", + "/media/sara_aaee/images/18_image.webp", + "/media/sara_aaee/images/19_image.webp", + "/media/sara_aaee/images/20_image.webp", + "/media/sara_aaee/images/21_image.webp", + "/media/sara_aaee/images/22_image.webp", + "/media/sara_aaee/images/23_image.webp", + "/media/sara_aaee/images/24_image.webp", + "/media/sara_aaee/images/25_image.webp", + "/media/sara_aaee/images/26_image.webp", + "/media/sara_aaee/images/27_image.webp", + "/media/sara_aaee/images/28_image.webp", + "/media/sara_aaee/images/29_image.webp", + "/media/sara_aaee/images/30_image.webp", + "/media/sara_aaee/images/31_image.webp", + "/media/sara_aaee/images/32_image.webp", + "/media/sara_aaee/images/33_image.webp", + "/media/sara_aaee/images/34_image.webp", + "/media/sara_aaee/images/35_image.webp", + "/media/sara_aaee/images/36_image.webp", + "/media/sara_aaee/images/37_image.webp", + "/media/sara_aaee/images/38_image.webp", + "/media/sara_aaee/images/39_image.webp", + "/media/sara_aaee/images/40_image.webp", + "/media/sara_aaee/images/41_image.webp", + "/media/sara_aaee/images/42_image.webp", + "/media/sara_aaee/images/43_image.webp", + "/media/sara_aaee/images/44_image.webp", + "/media/sara_aaee/images/45_image.webp", + "/media/sara_aaee/images/46_image.webp", + "/media/sara_aaee/images/47_image.webp", + "/media/sara_aaee/images/48_image.webp", + "/media/sara_aaee/images/49_image.webp", + "/media/sara_aaee/images/50_image.webp", + "/media/sara_aaee/images/51_image.webp" + ], + "created_at": "2026-01-30T05:29:35.596333-07:00", + "dir_name": "sara_aaee" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sara_c869.json b/ideas/aeres/agents/sara_c869.json new file mode 100644 index 0000000..0daa344 --- /dev/null +++ b/ideas/aeres/agents/sara_c869.json @@ -0,0 +1,53 @@ +{ + "id": "sara_c869", + "name": "Sara Brown", + "handle": "sara", + "gender": "female", + "description": "cute, kawaii, pastel colors, bows, toys, adorable, hearts, Harajuku street style, socks, big purse, sweet, cafe, art, big eyes, round face, ribbons, colorful", + "tags": [ + "kawaii_cutie", + "harajuku fashion", + "character illustration", + "pilates", + "vinyl collecting", + "surfing", + "thrifting", + "baking vegan treats" + ], + "avatar_url": "/media/sara_c869/avatar.webp?t=1769112314", + "banner_url": "/media/sara_c869/banner.webp?t=1769124669", + "images": [ + "/media/sara_c869/images/01_mid_mid_neutral.webp", + "/media/sara_c869/images/02_image.webp", + "/media/sara_c869/images/03_image.webp", + "/media/sara_c869/images/04_image.webp", + "/media/sara_c869/images/05_image.webp", + "/media/sara_c869/images/06_image.webp", + "/media/sara_c869/images/07_image.webp", + "/media/sara_c869/images/08_image.webp", + "/media/sara_c869/images/09_image.webp", + "/media/sara_c869/images/10_image.webp", + "/media/sara_c869/images/11_image.webp", + "/media/sara_c869/images/22_image.webp", + "/media/sara_c869/images/23_image.webp", + "/media/sara_c869/images/24_image.webp", + "/media/sara_c869/images/26_image.webp", + "/media/sara_c869/images/27_image.webp", + "/media/sara_c869/images/28_image.webp", + "/media/sara_c869/images/29_image.webp", + "/media/sara_c869/images/30_image.webp", + "/media/sara_c869/images/31_image.webp", + "/media/sara_c869/images/32_image.webp", + "/media/sara_c869/images/33_image.webp", + "/media/sara_c869/images/34_image.webp", + "/media/sara_c869/images/35_image.webp", + "/media/sara_c869/images/36_image.webp", + "/media/sara_c869/images/37_image.webp", + "/media/sara_c869/images/38_image.webp", + "/media/sara_c869/images/39_image.webp", + "/media/sara_c869/images/40_image.webp", + "/media/sara_c869/images/41_image.webp" + ], + "created_at": "2026-01-22T13:04:06.227075-07:00", + "dir_name": "sara_c869" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sara_e5df.json b/ideas/aeres/agents/sara_e5df.json new file mode 100644 index 0000000..41b01fe --- /dev/null +++ b/ideas/aeres/agents/sara_e5df.json @@ -0,0 +1,76 @@ +{ + "id": "sara_e5df", + "name": "Sara Williams", + "handle": "sara", + "gender": "female", + "description": "20's, bartender, magic the gathering player, tabletop gaming, d20, cute, girl next door", + "tags": [ + "girl_next_door", + "tabletop strategy games", + "mixology", + "trail running", + "miniature painting", + "true crime podcasts", + "science fiction literature", + "gardening (succulents)" + ], + "avatar_url": "/media/sara_e5df/avatar.webp?t=1770106847", + "banner_url": "/media/sara_e5df/banner.webp?t=1770106884", + "videos": [ + "/media/sara_e5df/videos/01_smile_reveal.mp4?t=1770106886" + ], + "images": [ + "/media/sara_e5df/images/01_mid_mid_neutral.webp", + "/media/sara_e5df/images/02_image.webp", + "/media/sara_e5df/images/03_image.webp", + "/media/sara_e5df/images/04_image.webp", + "/media/sara_e5df/images/05_image.webp", + "/media/sara_e5df/images/06_image.webp", + "/media/sara_e5df/images/07_image.webp", + "/media/sara_e5df/images/08_image.webp", + "/media/sara_e5df/images/09_image.webp", + "/media/sara_e5df/images/10_image.webp", + "/media/sara_e5df/images/11_image.webp", + "/media/sara_e5df/images/12_image.webp", + "/media/sara_e5df/images/13_image.webp", + "/media/sara_e5df/images/14_image.webp", + "/media/sara_e5df/images/15_image.webp", + "/media/sara_e5df/images/16_image.webp", + "/media/sara_e5df/images/17_image.webp", + "/media/sara_e5df/images/18_image.webp", + "/media/sara_e5df/images/19_image.webp", + "/media/sara_e5df/images/20_image.webp", + "/media/sara_e5df/images/21_image.webp", + "/media/sara_e5df/images/22_image.webp", + "/media/sara_e5df/images/23_image.webp", + "/media/sara_e5df/images/24_image.webp", + "/media/sara_e5df/images/25_image.webp", + "/media/sara_e5df/images/26_image.webp", + "/media/sara_e5df/images/27_image.webp", + "/media/sara_e5df/images/28_image.webp", + "/media/sara_e5df/images/29_image.webp", + "/media/sara_e5df/images/30_image.webp", + "/media/sara_e5df/images/31_image.webp", + "/media/sara_e5df/images/32_image.webp", + "/media/sara_e5df/images/33_image.webp", + "/media/sara_e5df/images/34_image.webp", + "/media/sara_e5df/images/35_image.webp", + "/media/sara_e5df/images/36_image.webp", + "/media/sara_e5df/images/37_image.webp", + "/media/sara_e5df/images/38_image.webp", + "/media/sara_e5df/images/39_image.webp", + "/media/sara_e5df/images/40_image.webp", + "/media/sara_e5df/images/41_image.webp", + "/media/sara_e5df/images/42_image.webp", + "/media/sara_e5df/images/43_image.webp", + "/media/sara_e5df/images/44_image.webp", + "/media/sara_e5df/images/45_image.webp", + "/media/sara_e5df/images/46_image.webp", + "/media/sara_e5df/images/47_image.webp", + "/media/sara_e5df/images/49_image.webp", + "/media/sara_e5df/images/50_image.webp", + "/media/sara_e5df/images/51_image.webp" + ], + "created_at": "2026-02-03T01:19:37.124234-07:00", + "dir_name": "sara_e5df" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sara_f4ce.json b/ideas/aeres/agents/sara_f4ce.json new file mode 100644 index 0000000..6aae4a2 --- /dev/null +++ b/ideas/aeres/agents/sara_f4ce.json @@ -0,0 +1,77 @@ +{ + "id": "sara_f4ce", + "name": "Sara Williams", + "handle": "sara", + "gender": "female", + "description": "21 years old cute white woman with straight black hair and glasses who is FC Barcelona and soccer fan", + "tags": [ + "girl_next_door", + "fc barcelona", + "women's soccer", + "distance running", + "sports nutrition", + "cooking", + "photography", + "hiking" + ], + "avatar_url": "/media/sara_f4ce/avatar.webp?t=1769514709", + "banner_url": "/media/sara_f4ce/banner.webp?t=1769514718", + "videos": [ + "/media/sara_f4ce/videos/01_smile_reveal.mp4?t=1769514753" + ], + "images": [ + "/media/sara_f4ce/images/01_mid_mid_neutral.webp", + "/media/sara_f4ce/images/02_image.webp", + "/media/sara_f4ce/images/03_image.webp", + "/media/sara_f4ce/images/04_image.webp", + "/media/sara_f4ce/images/05_image.webp", + "/media/sara_f4ce/images/06_image.webp", + "/media/sara_f4ce/images/07_image.webp", + "/media/sara_f4ce/images/08_image.webp", + "/media/sara_f4ce/images/09_image.webp", + "/media/sara_f4ce/images/10_image.webp", + "/media/sara_f4ce/images/11_image.webp", + "/media/sara_f4ce/images/12_image.webp", + "/media/sara_f4ce/images/13_image.webp", + "/media/sara_f4ce/images/14_image.webp", + "/media/sara_f4ce/images/15_image.webp", + "/media/sara_f4ce/images/16_image.webp", + "/media/sara_f4ce/images/17_image.webp", + "/media/sara_f4ce/images/18_image.webp", + "/media/sara_f4ce/images/19_image.webp", + "/media/sara_f4ce/images/20_image.webp", + "/media/sara_f4ce/images/21_image.webp", + "/media/sara_f4ce/images/22_image.webp", + "/media/sara_f4ce/images/23_image.webp", + "/media/sara_f4ce/images/24_image.webp", + "/media/sara_f4ce/images/25_image.webp", + "/media/sara_f4ce/images/26_image.webp", + "/media/sara_f4ce/images/27_image.webp", + "/media/sara_f4ce/images/28_image.webp", + "/media/sara_f4ce/images/29_image.webp", + "/media/sara_f4ce/images/30_image.webp", + "/media/sara_f4ce/images/31_image.webp", + "/media/sara_f4ce/images/32_image.webp", + "/media/sara_f4ce/images/33_image.webp", + "/media/sara_f4ce/images/34_image.webp", + "/media/sara_f4ce/images/35_image.webp", + "/media/sara_f4ce/images/36_image.webp", + "/media/sara_f4ce/images/37_image.webp", + "/media/sara_f4ce/images/38_image.webp", + "/media/sara_f4ce/images/39_image.webp", + "/media/sara_f4ce/images/40_image.webp", + "/media/sara_f4ce/images/41_image.webp", + "/media/sara_f4ce/images/42_image.webp", + "/media/sara_f4ce/images/43_image.webp", + "/media/sara_f4ce/images/44_image.webp", + "/media/sara_f4ce/images/45_image.webp", + "/media/sara_f4ce/images/46_image.webp", + "/media/sara_f4ce/images/47_image.webp", + "/media/sara_f4ce/images/48_image.webp", + "/media/sara_f4ce/images/49_image.webp", + "/media/sara_f4ce/images/50_image.webp", + "/media/sara_f4ce/images/51_image.webp" + ], + "created_at": "2026-01-27T04:50:41.667434-07:00", + "dir_name": "sara_f4ce" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sarah_8d78.json b/ideas/aeres/agents/sarah_8d78.json new file mode 100644 index 0000000..cbb7fcf --- /dev/null +++ b/ideas/aeres/agents/sarah_8d78.json @@ -0,0 +1,75 @@ +{ + "id": "sarah_8d78", + "name": "Sarah Wilson", + "handle": "sarah", + "gender": "female", + "description": "sports cars enthusiast girl, long dark hair , blue eyes, large breasts, white, mid 20 s, 1.70 cm, loves to wear caps and part time car mechanic, from Brazil,Sao Paulo", + "tags": [ + "baddie", + "turbocharging systems", + "weightlifting", + "street photography", + "electronic music", + "coffee brewing", + "urban exploration", + "fashion" + ], + "banner_url": "/media/sarah_8d78/banner.webp?t=1769415529", + "videos": [ + "/media/sarah_8d78/videos/01_smile_reveal.mp4?t=1769415581" + ], + "images": [ + "/media/sarah_8d78/images/01_mid_mid_neutral.webp", + "/media/sarah_8d78/images/02_image.webp", + "/media/sarah_8d78/images/03_image.webp", + "/media/sarah_8d78/images/04_image.webp", + "/media/sarah_8d78/images/05_image.webp", + "/media/sarah_8d78/images/06_image.webp", + "/media/sarah_8d78/images/07_image.webp", + "/media/sarah_8d78/images/08_image.webp", + "/media/sarah_8d78/images/09_image.webp", + "/media/sarah_8d78/images/11_image.webp", + "/media/sarah_8d78/images/12_image.webp", + "/media/sarah_8d78/images/13_image.webp", + "/media/sarah_8d78/images/14_image.webp", + "/media/sarah_8d78/images/15_image.webp", + "/media/sarah_8d78/images/16_image.webp", + "/media/sarah_8d78/images/17_image.webp", + "/media/sarah_8d78/images/18_image.webp", + "/media/sarah_8d78/images/19_image.webp", + "/media/sarah_8d78/images/20_image.webp", + "/media/sarah_8d78/images/21_image.webp", + "/media/sarah_8d78/images/22_image.webp", + "/media/sarah_8d78/images/23_image.webp", + "/media/sarah_8d78/images/24_image.webp", + "/media/sarah_8d78/images/25_image.webp", + "/media/sarah_8d78/images/26_image.webp", + "/media/sarah_8d78/images/27_image.webp", + "/media/sarah_8d78/images/28_image.webp", + "/media/sarah_8d78/images/29_image.webp", + "/media/sarah_8d78/images/30_image.webp", + "/media/sarah_8d78/images/31_image.webp", + "/media/sarah_8d78/images/32_image.webp", + "/media/sarah_8d78/images/33_image.webp", + "/media/sarah_8d78/images/34_image.webp", + "/media/sarah_8d78/images/35_image.webp", + "/media/sarah_8d78/images/36_image.webp", + "/media/sarah_8d78/images/37_image.webp", + "/media/sarah_8d78/images/38_image.webp", + "/media/sarah_8d78/images/39_image.webp", + "/media/sarah_8d78/images/40_image.webp", + "/media/sarah_8d78/images/41_image.webp", + "/media/sarah_8d78/images/42_image.webp", + "/media/sarah_8d78/images/43_image.webp", + "/media/sarah_8d78/images/44_image.webp", + "/media/sarah_8d78/images/45_image.webp", + "/media/sarah_8d78/images/46_image.webp", + "/media/sarah_8d78/images/47_image.webp", + "/media/sarah_8d78/images/48_image.webp", + "/media/sarah_8d78/images/49_image.webp", + "/media/sarah_8d78/images/50_image.webp", + "/media/sarah_8d78/images/51_image.webp" + ], + "created_at": "2026-01-26T01:17:33.233475-07:00", + "dir_name": "sarah_8d78" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sarah_a0db.json b/ideas/aeres/agents/sarah_a0db.json new file mode 100644 index 0000000..270ab7c --- /dev/null +++ b/ideas/aeres/agents/sarah_a0db.json @@ -0,0 +1,75 @@ +{ + "id": "sarah_a0db", + "name": "Sarah Taylor", + "handle": "sarah", + "gender": "female", + "description": "older woman, cougar, attractive, playful, energetic, healthy, in her prime", + "tags": [ + "hot_mom", + "contemporary art", + "interior design", + "boating", + "gourmet cooking", + "tennis", + "fashion blogging", + "wine tasting" + ], + "avatar_url": "/media/sarah_a0db/avatar.webp?t=1769584015", + "banner_url": "/media/sarah_a0db/banner.webp?t=1769584020", + "videos": [ + "/media/sarah_a0db/videos/01_smile_reveal.mp4?t=1769556357" + ], + "images": [ + "/media/sarah_a0db/images/01_mid_mid_neutral.webp", + "/media/sarah_a0db/images/02_image.webp", + "/media/sarah_a0db/images/03_image.webp", + "/media/sarah_a0db/images/04_image.webp", + "/media/sarah_a0db/images/05_image.webp", + "/media/sarah_a0db/images/06_image.webp", + "/media/sarah_a0db/images/07_image.webp", + "/media/sarah_a0db/images/08_image.webp", + "/media/sarah_a0db/images/09_image.webp", + "/media/sarah_a0db/images/10_image.webp", + "/media/sarah_a0db/images/11_image.webp", + "/media/sarah_a0db/images/12_image.webp", + "/media/sarah_a0db/images/13_image.webp", + "/media/sarah_a0db/images/14_image.webp", + "/media/sarah_a0db/images/16_image.webp", + "/media/sarah_a0db/images/17_image.webp", + "/media/sarah_a0db/images/18_image.webp", + "/media/sarah_a0db/images/19_image.webp", + "/media/sarah_a0db/images/20_image.webp", + "/media/sarah_a0db/images/21_image.webp", + "/media/sarah_a0db/images/22_image.webp", + "/media/sarah_a0db/images/23_image.webp", + "/media/sarah_a0db/images/24_image.webp", + "/media/sarah_a0db/images/25_image.webp", + "/media/sarah_a0db/images/27_image.webp", + "/media/sarah_a0db/images/28_image.webp", + "/media/sarah_a0db/images/29_image.webp", + "/media/sarah_a0db/images/30_image.webp", + "/media/sarah_a0db/images/31_image.webp", + "/media/sarah_a0db/images/32_image.webp", + "/media/sarah_a0db/images/33_image.webp", + "/media/sarah_a0db/images/34_image.webp", + "/media/sarah_a0db/images/35_image.webp", + "/media/sarah_a0db/images/36_image.webp", + "/media/sarah_a0db/images/37_image.webp", + "/media/sarah_a0db/images/38_image.webp", + "/media/sarah_a0db/images/39_image.webp", + "/media/sarah_a0db/images/40_image.webp", + "/media/sarah_a0db/images/41_image.webp", + "/media/sarah_a0db/images/42_image.webp", + "/media/sarah_a0db/images/43_image.webp", + "/media/sarah_a0db/images/44_image.webp", + "/media/sarah_a0db/images/45_image.webp", + "/media/sarah_a0db/images/46_image.webp", + "/media/sarah_a0db/images/47_image.webp", + "/media/sarah_a0db/images/48_image.webp", + "/media/sarah_a0db/images/49_image.webp", + "/media/sarah_a0db/images/50_image.webp", + "/media/sarah_a0db/images/51_image.webp" + ], + "created_at": "2026-01-27T16:24:07.305687-07:00", + "dir_name": "sarah_a0db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sarah_ac57.json b/ideas/aeres/agents/sarah_ac57.json new file mode 100644 index 0000000..5989d75 --- /dev/null +++ b/ideas/aeres/agents/sarah_ac57.json @@ -0,0 +1,78 @@ +{ + "id": "sarah_ac57", + "name": "Sarah Taylor", + "handle": "sarah", + "gender": "female", + "description": "30 year old divorcee with an affinity for office chairs", + "tags": [ + "career_fantasy", + "corporate strategy", + "fine wine", + "modern architecture", + "classical piano", + "tennis", + "interior design", + "historical biographies" + ], + "avatar_url": "/media/sarah_ac57/avatar.webp?t=1770072893", + "banner_url": "/media/sarah_ac57/banner.webp?t=1770072901", + "videos": [ + "/media/sarah_ac57/videos/01_smile_reveal.mp4?t=1770072924", + "/media/sarah_ac57/videos/02_personality_moment.mp4?t=1770074542" + ], + "images": [ + "/media/sarah_ac57/images/01_mid_mid_neutral.webp", + "/media/sarah_ac57/images/02_image.webp", + "/media/sarah_ac57/images/03_image.webp", + "/media/sarah_ac57/images/04_image.webp", + "/media/sarah_ac57/images/05_image.webp", + "/media/sarah_ac57/images/06_image.webp", + "/media/sarah_ac57/images/07_image.webp", + "/media/sarah_ac57/images/08_image.webp", + "/media/sarah_ac57/images/09_image.webp", + "/media/sarah_ac57/images/10_image.webp", + "/media/sarah_ac57/images/11_image.webp", + "/media/sarah_ac57/images/12_image.webp", + "/media/sarah_ac57/images/13_image.webp", + "/media/sarah_ac57/images/14_image.webp", + "/media/sarah_ac57/images/15_image.webp", + "/media/sarah_ac57/images/16_image.webp", + "/media/sarah_ac57/images/17_image.webp", + "/media/sarah_ac57/images/18_image.webp", + "/media/sarah_ac57/images/19_image.webp", + "/media/sarah_ac57/images/20_image.webp", + "/media/sarah_ac57/images/21_image.webp", + "/media/sarah_ac57/images/22_image.webp", + "/media/sarah_ac57/images/23_image.webp", + "/media/sarah_ac57/images/24_image.webp", + "/media/sarah_ac57/images/25_image.webp", + "/media/sarah_ac57/images/26_image.webp", + "/media/sarah_ac57/images/27_image.webp", + "/media/sarah_ac57/images/28_image.webp", + "/media/sarah_ac57/images/29_image.webp", + "/media/sarah_ac57/images/30_image.webp", + "/media/sarah_ac57/images/31_image.webp", + "/media/sarah_ac57/images/32_image.webp", + "/media/sarah_ac57/images/33_image.webp", + "/media/sarah_ac57/images/34_image.webp", + "/media/sarah_ac57/images/35_image.webp", + "/media/sarah_ac57/images/36_image.webp", + "/media/sarah_ac57/images/37_image.webp", + "/media/sarah_ac57/images/38_image.webp", + "/media/sarah_ac57/images/39_image.webp", + "/media/sarah_ac57/images/40_image.webp", + "/media/sarah_ac57/images/41_image.webp", + "/media/sarah_ac57/images/42_image.webp", + "/media/sarah_ac57/images/43_image.webp", + "/media/sarah_ac57/images/44_image.webp", + "/media/sarah_ac57/images/45_image.webp", + "/media/sarah_ac57/images/46_image.webp", + "/media/sarah_ac57/images/47_image.webp", + "/media/sarah_ac57/images/48_image.webp", + "/media/sarah_ac57/images/49_image.webp", + "/media/sarah_ac57/images/50_image.webp", + "/media/sarah_ac57/images/51_image.webp" + ], + "created_at": "2026-02-02T15:53:50.04178-07:00", + "dir_name": "sarah_ac57" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sarah_d31a.json b/ideas/aeres/agents/sarah_d31a.json new file mode 100644 index 0000000..00b17a1 --- /dev/null +++ b/ideas/aeres/agents/sarah_d31a.json @@ -0,0 +1,75 @@ +{ + "id": "sarah_d31a", + "name": "Sarah Gonzalez", + "handle": "sarah", + "gender": "female", + "description": "Nami from League of Legends", + "tags": [ + "mermaid", + "ocean conservation", + "free-diving", + "mythology", + "movement meditation", + "aquascaping", + "sustainable fashion", + "electronic music" + ], + "avatar_url": "/media/sarah_d31a/avatar.webp?t=1770034695", + "banner_url": "/media/sarah_d31a/banner.webp?t=1770034691", + "videos": [ + "/media/sarah_d31a/videos/01_smile_reveal.mp4?t=1770034740" + ], + "images": [ + "/media/sarah_d31a/images/01_mid_mid_neutral.webp", + "/media/sarah_d31a/images/02_image.webp", + "/media/sarah_d31a/images/03_image.webp", + "/media/sarah_d31a/images/04_image.webp", + "/media/sarah_d31a/images/05_image.webp", + "/media/sarah_d31a/images/07_image.webp", + "/media/sarah_d31a/images/08_image.webp", + "/media/sarah_d31a/images/09_image.webp", + "/media/sarah_d31a/images/10_image.webp", + "/media/sarah_d31a/images/11_image.webp", + "/media/sarah_d31a/images/12_image.webp", + "/media/sarah_d31a/images/13_image.webp", + "/media/sarah_d31a/images/14_image.webp", + "/media/sarah_d31a/images/15_image.webp", + "/media/sarah_d31a/images/16_image.webp", + "/media/sarah_d31a/images/17_image.webp", + "/media/sarah_d31a/images/18_image.webp", + "/media/sarah_d31a/images/19_image.webp", + "/media/sarah_d31a/images/20_image.webp", + "/media/sarah_d31a/images/21_image.webp", + "/media/sarah_d31a/images/22_image.webp", + "/media/sarah_d31a/images/23_image.webp", + "/media/sarah_d31a/images/24_image.webp", + "/media/sarah_d31a/images/25_image.webp", + "/media/sarah_d31a/images/26_image.webp", + "/media/sarah_d31a/images/27_image.webp", + "/media/sarah_d31a/images/29_image.webp", + "/media/sarah_d31a/images/30_image.webp", + "/media/sarah_d31a/images/31_image.webp", + "/media/sarah_d31a/images/32_image.webp", + "/media/sarah_d31a/images/33_image.webp", + "/media/sarah_d31a/images/34_image.webp", + "/media/sarah_d31a/images/35_image.webp", + "/media/sarah_d31a/images/36_image.webp", + "/media/sarah_d31a/images/37_image.webp", + "/media/sarah_d31a/images/38_image.webp", + "/media/sarah_d31a/images/39_image.webp", + "/media/sarah_d31a/images/40_image.webp", + "/media/sarah_d31a/images/41_image.webp", + "/media/sarah_d31a/images/42_image.webp", + "/media/sarah_d31a/images/43_image.webp", + "/media/sarah_d31a/images/44_image.webp", + "/media/sarah_d31a/images/45_image.webp", + "/media/sarah_d31a/images/46_image.webp", + "/media/sarah_d31a/images/47_image.webp", + "/media/sarah_d31a/images/48_image.webp", + "/media/sarah_d31a/images/49_image.webp", + "/media/sarah_d31a/images/50_image.webp", + "/media/sarah_d31a/images/51_image.webp" + ], + "created_at": "2026-02-02T05:16:29.353627-07:00", + "dir_name": "sarah_d31a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/satish_2727.json b/ideas/aeres/agents/satish_2727.json new file mode 100644 index 0000000..920e8d8 --- /dev/null +++ b/ideas/aeres/agents/satish_2727.json @@ -0,0 +1,76 @@ +{ + "id": "satish_2727", + "name": "Satish Gupta", + "handle": "satish", + "gender": "male", + "description": "male with long blonde hair who works as a car mechanic", + "tags": [ + "lifestyle", + "vintage motorcycle restoration", + "metal fabrication", + "high-intensity interval training", + "industrial design", + "analog photography", + "craft beer brewing", + "hiking the hudson valley" + ], + "avatar_url": "/media/satish_2727/avatar.webp?t=1769613949", + "banner_url": "/media/satish_2727/banner.webp?t=1769613944", + "videos": [ + "/media/satish_2727/videos/01_smile_reveal.mp4?t=1769614004" + ], + "images": [ + "/media/satish_2727/images/01_mid_mid_neutral.webp", + "/media/satish_2727/images/02_image.webp", + "/media/satish_2727/images/03_image.webp", + "/media/satish_2727/images/04_image.webp", + "/media/satish_2727/images/05_image.webp", + "/media/satish_2727/images/06_image.webp", + "/media/satish_2727/images/07_image.webp", + "/media/satish_2727/images/08_image.webp", + "/media/satish_2727/images/09_image.webp", + "/media/satish_2727/images/10_image.webp", + "/media/satish_2727/images/11_image.webp", + "/media/satish_2727/images/12_image.webp", + "/media/satish_2727/images/13_image.webp", + "/media/satish_2727/images/14_image.webp", + "/media/satish_2727/images/15_image.webp", + "/media/satish_2727/images/16_image.webp", + "/media/satish_2727/images/17_image.webp", + "/media/satish_2727/images/18_image.webp", + "/media/satish_2727/images/19_image.webp", + "/media/satish_2727/images/20_image.webp", + "/media/satish_2727/images/21_image.webp", + "/media/satish_2727/images/22_image.webp", + "/media/satish_2727/images/23_image.webp", + "/media/satish_2727/images/24_image.webp", + "/media/satish_2727/images/25_image.webp", + "/media/satish_2727/images/26_image.webp", + "/media/satish_2727/images/27_image.webp", + "/media/satish_2727/images/28_image.webp", + "/media/satish_2727/images/29_image.webp", + "/media/satish_2727/images/30_image.webp", + "/media/satish_2727/images/31_image.webp", + "/media/satish_2727/images/32_image.webp", + "/media/satish_2727/images/33_image.webp", + "/media/satish_2727/images/34_image.webp", + "/media/satish_2727/images/35_image.webp", + "/media/satish_2727/images/36_image.webp", + "/media/satish_2727/images/37_image.webp", + "/media/satish_2727/images/38_image.webp", + "/media/satish_2727/images/39_image.webp", + "/media/satish_2727/images/41_image.webp", + "/media/satish_2727/images/42_image.webp", + "/media/satish_2727/images/43_image.webp", + "/media/satish_2727/images/44_image.webp", + "/media/satish_2727/images/45_image.webp", + "/media/satish_2727/images/46_image.webp", + "/media/satish_2727/images/47_image.webp", + "/media/satish_2727/images/48_image.webp", + "/media/satish_2727/images/49_image.webp", + "/media/satish_2727/images/50_image.webp", + "/media/satish_2727/images/51_image.webp" + ], + "created_at": "2026-01-28T08:24:23.629639-07:00", + "dir_name": "satish_2727" +} \ No newline at end of file diff --git a/ideas/aeres/agents/satsuki_c368.json b/ideas/aeres/agents/satsuki_c368.json new file mode 100644 index 0000000..97ebf39 --- /dev/null +++ b/ideas/aeres/agents/satsuki_c368.json @@ -0,0 +1,79 @@ +{ + "id": "satsuki_c368", + "name": "Satsuki Matsumoto", + "handle": "satsuki", + "gender": "female", + "description": "very attractive japanese woman in her 20's that works a high tech job", + "tags": [ + "digital_native", + "user interface design", + "minimalist architecture", + "generative art", + "coffee craft", + "pilates", + "urban photography", + "indie tech podcasts" + ], + "avatar_url": "/media/satsuki_c368/avatar.webp?t=1768990116", + "banner_url": "/media/satsuki_c368/banner.webp?t=1768990119", + "videos": [ + "/media/satsuki_c368/videos/01_smile_reveal.mp4?t=1768990150" + ], + "images": [ + "/media/satsuki_c368/images/01_mid_mid_neutral.webp", + "/media/satsuki_c368/images/02_image.webp", + "/media/satsuki_c368/images/03_image.webp", + "/media/satsuki_c368/images/04_image.webp", + "/media/satsuki_c368/images/05_image.webp", + "/media/satsuki_c368/images/06_image.webp", + "/media/satsuki_c368/images/07_image.webp", + "/media/satsuki_c368/images/08_image.webp", + "/media/satsuki_c368/images/09_image.webp", + "/media/satsuki_c368/images/10_image.webp", + "/media/satsuki_c368/images/11_image.webp", + "/media/satsuki_c368/images/12_image.webp", + "/media/satsuki_c368/images/13_image.webp", + "/media/satsuki_c368/images/14_image.webp", + "/media/satsuki_c368/images/15_image.webp", + "/media/satsuki_c368/images/16_image.webp", + "/media/satsuki_c368/images/17_image.webp", + "/media/satsuki_c368/images/18_image.webp", + "/media/satsuki_c368/images/19_image.webp", + "/media/satsuki_c368/images/20_image.webp", + "/media/satsuki_c368/images/21_image.webp", + "/media/satsuki_c368/images/22_image.webp", + "/media/satsuki_c368/images/23_image.webp", + "/media/satsuki_c368/images/24_image.webp", + "/media/satsuki_c368/images/25_image.webp", + "/media/satsuki_c368/images/26_image.webp", + "/media/satsuki_c368/images/27_image.webp", + "/media/satsuki_c368/images/28_image.webp", + "/media/satsuki_c368/images/29_image.webp", + "/media/satsuki_c368/images/30_image.webp", + "/media/satsuki_c368/images/31_image.webp", + "/media/satsuki_c368/images/32_image.webp", + "/media/satsuki_c368/images/33_image.webp", + "/media/satsuki_c368/images/34_image.webp", + "/media/satsuki_c368/images/35_image.webp", + "/media/satsuki_c368/images/36_image.webp", + "/media/satsuki_c368/images/37_image.webp", + "/media/satsuki_c368/images/38_image.webp", + "/media/satsuki_c368/images/39_image.webp", + "/media/satsuki_c368/images/40_image.webp", + "/media/satsuki_c368/images/41_image.webp", + "/media/satsuki_c368/images/42_image.webp", + "/media/satsuki_c368/images/43_image.webp", + "/media/satsuki_c368/images/44_image.webp", + "/media/satsuki_c368/images/45_image.webp", + "/media/satsuki_c368/images/46_image.webp", + "/media/satsuki_c368/images/47_image.webp", + "/media/satsuki_c368/images/48_image.webp", + "/media/satsuki_c368/images/49_image.webp", + "/media/satsuki_c368/images/50_image.webp", + "/media/satsuki_c368/images/51_image.webp", + "/media/satsuki_c368/images/53_image.webp", + "/media/satsuki_c368/images/54_image.webp" + ], + "created_at": "2026-01-21T03:07:25.986557-07:00", + "dir_name": "satsuki_c368" +} \ No newline at end of file diff --git a/ideas/aeres/agents/satsuki_de43.json b/ideas/aeres/agents/satsuki_de43.json new file mode 100644 index 0000000..47971b3 --- /dev/null +++ b/ideas/aeres/agents/satsuki_de43.json @@ -0,0 +1,77 @@ +{ + "id": "satsuki_de43", + "name": "Satsuki Matsumoto", + "handle": "satsuki", + "gender": "female", + "description": "japanese woman who is a sushi chef", + "tags": [ + "career_fantasy", + "knife sharpening", + "ceramics", + "edo-period history", + "sustainable fishing", + "architecture", + "jazz piano", + "hiking" + ], + "avatar_url": "/media/satsuki_de43/avatar.webp?t=1769765455", + "banner_url": "/media/satsuki_de43/banner.webp?t=1769765461", + "videos": [ + "/media/satsuki_de43/videos/01_smile_reveal.mp4?t=1769765488" + ], + "images": [ + "/media/satsuki_de43/images/01_mid_mid_neutral.webp", + "/media/satsuki_de43/images/02_image.webp", + "/media/satsuki_de43/images/03_image.webp", + "/media/satsuki_de43/images/04_image.webp", + "/media/satsuki_de43/images/05_image.webp", + "/media/satsuki_de43/images/06_image.webp", + "/media/satsuki_de43/images/07_image.webp", + "/media/satsuki_de43/images/08_image.webp", + "/media/satsuki_de43/images/09_image.webp", + "/media/satsuki_de43/images/10_image.webp", + "/media/satsuki_de43/images/11_image.webp", + "/media/satsuki_de43/images/12_image.webp", + "/media/satsuki_de43/images/13_image.webp", + "/media/satsuki_de43/images/14_image.webp", + "/media/satsuki_de43/images/15_image.webp", + "/media/satsuki_de43/images/16_image.webp", + "/media/satsuki_de43/images/17_image.webp", + "/media/satsuki_de43/images/18_image.webp", + "/media/satsuki_de43/images/19_image.webp", + "/media/satsuki_de43/images/20_image.webp", + "/media/satsuki_de43/images/21_image.webp", + "/media/satsuki_de43/images/22_image.webp", + "/media/satsuki_de43/images/23_image.webp", + "/media/satsuki_de43/images/24_image.webp", + "/media/satsuki_de43/images/25_image.webp", + "/media/satsuki_de43/images/26_image.webp", + "/media/satsuki_de43/images/27_image.webp", + "/media/satsuki_de43/images/28_image.webp", + "/media/satsuki_de43/images/29_image.webp", + "/media/satsuki_de43/images/30_image.webp", + "/media/satsuki_de43/images/31_image.webp", + "/media/satsuki_de43/images/32_image.webp", + "/media/satsuki_de43/images/33_image.webp", + "/media/satsuki_de43/images/34_image.webp", + "/media/satsuki_de43/images/35_image.webp", + "/media/satsuki_de43/images/36_image.webp", + "/media/satsuki_de43/images/37_image.webp", + "/media/satsuki_de43/images/38_image.webp", + "/media/satsuki_de43/images/39_image.webp", + "/media/satsuki_de43/images/40_image.webp", + "/media/satsuki_de43/images/41_image.webp", + "/media/satsuki_de43/images/42_image.webp", + "/media/satsuki_de43/images/43_image.webp", + "/media/satsuki_de43/images/44_image.webp", + "/media/satsuki_de43/images/45_image.webp", + "/media/satsuki_de43/images/46_image.webp", + "/media/satsuki_de43/images/47_image.webp", + "/media/satsuki_de43/images/48_image.webp", + "/media/satsuki_de43/images/49_image.webp", + "/media/satsuki_de43/images/50_image.webp", + "/media/satsuki_de43/images/51_image.webp" + ], + "created_at": "2026-01-30T02:29:48.130575-07:00", + "dir_name": "satsuki_de43" +} \ No newline at end of file diff --git a/ideas/aeres/agents/savina_f044.json b/ideas/aeres/agents/savina_f044.json new file mode 100644 index 0000000..5f01741 --- /dev/null +++ b/ideas/aeres/agents/savina_f044.json @@ -0,0 +1,75 @@ +{ + "id": "savina_f044", + "name": "Savina Fernandez", + "handle": "savina", + "gender": "female", + "description": "Morticia from Addams Family", + "tags": [ + "vampire_mistress", + "antiquarian horology", + "victorian mourning jewelry", + "calligraphy", + "cello", + "botanical illustration", + "wine pairing", + "silent films" + ], + "avatar_url": "/media/savina_f044/avatar.webp?t=1770029482", + "banner_url": "/media/savina_f044/banner.webp?t=1770029482", + "videos": [ + "/media/savina_f044/videos/01_smile_reveal.mp4?t=1770029432" + ], + "images": [ + "/media/savina_f044/images/01_mid_mid_neutral.webp", + "/media/savina_f044/images/02_image.webp", + "/media/savina_f044/images/03_image.webp", + "/media/savina_f044/images/04_image.webp", + "/media/savina_f044/images/05_image.webp", + "/media/savina_f044/images/06_image.webp", + "/media/savina_f044/images/07_image.webp", + "/media/savina_f044/images/08_image.webp", + "/media/savina_f044/images/09_image.webp", + "/media/savina_f044/images/10_image.webp", + "/media/savina_f044/images/11_image.webp", + "/media/savina_f044/images/12_image.webp", + "/media/savina_f044/images/13_image.webp", + "/media/savina_f044/images/14_image.webp", + "/media/savina_f044/images/15_image.webp", + "/media/savina_f044/images/16_image.webp", + "/media/savina_f044/images/17_image.webp", + "/media/savina_f044/images/18_image.webp", + "/media/savina_f044/images/19_image.webp", + "/media/savina_f044/images/20_image.webp", + "/media/savina_f044/images/21_image.webp", + "/media/savina_f044/images/22_image.webp", + "/media/savina_f044/images/23_image.webp", + "/media/savina_f044/images/24_image.webp", + "/media/savina_f044/images/25_image.webp", + "/media/savina_f044/images/26_image.webp", + "/media/savina_f044/images/27_image.webp", + "/media/savina_f044/images/28_image.webp", + "/media/savina_f044/images/29_image.webp", + "/media/savina_f044/images/30_image.webp", + "/media/savina_f044/images/31_image.webp", + "/media/savina_f044/images/32_image.webp", + "/media/savina_f044/images/33_image.webp", + "/media/savina_f044/images/34_image.webp", + "/media/savina_f044/images/35_image.webp", + "/media/savina_f044/images/37_image.webp", + "/media/savina_f044/images/38_image.webp", + "/media/savina_f044/images/39_image.webp", + "/media/savina_f044/images/40_image.webp", + "/media/savina_f044/images/41_image.webp", + "/media/savina_f044/images/42_image.webp", + "/media/savina_f044/images/44_image.webp", + "/media/savina_f044/images/45_image.webp", + "/media/savina_f044/images/46_image.webp", + "/media/savina_f044/images/47_image.webp", + "/media/savina_f044/images/48_image.webp", + "/media/savina_f044/images/49_image.webp", + "/media/savina_f044/images/50_image.webp", + "/media/savina_f044/images/51_image.webp" + ], + "created_at": "2026-02-02T03:47:10.390534-07:00", + "dir_name": "savina_f044" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sawyer_d548.json b/ideas/aeres/agents/sawyer_d548.json new file mode 100644 index 0000000..86233ab --- /dev/null +++ b/ideas/aeres/agents/sawyer_d548.json @@ -0,0 +1,77 @@ +{ + "id": "sawyer_d548", + "name": "Sawyer Jackson", + "handle": "sawyer", + "gender": "male", + "description": "basketball player who is a Golden State Warrios fan", + "tags": [ + "athletic", + "basketball", + "sports analytics", + "outdoor cycling", + "nutrition", + "interior design", + "craft beer", + "coastal hiking" + ], + "avatar_url": "/media/sawyer_d548/avatar.webp?t=1769419828", + "banner_url": "/media/sawyer_d548/banner.webp?t=1769419865", + "videos": [ + "/media/sawyer_d548/videos/01_smile_reveal.mp4?t=1769419860" + ], + "images": [ + "/media/sawyer_d548/images/01_mid_mid_neutral.webp", + "/media/sawyer_d548/images/02_image.webp", + "/media/sawyer_d548/images/03_image.webp", + "/media/sawyer_d548/images/04_image.webp", + "/media/sawyer_d548/images/05_image.webp", + "/media/sawyer_d548/images/06_image.webp", + "/media/sawyer_d548/images/07_image.webp", + "/media/sawyer_d548/images/08_image.webp", + "/media/sawyer_d548/images/09_image.webp", + "/media/sawyer_d548/images/10_image.webp", + "/media/sawyer_d548/images/11_image.webp", + "/media/sawyer_d548/images/12_image.webp", + "/media/sawyer_d548/images/13_image.webp", + "/media/sawyer_d548/images/14_image.webp", + "/media/sawyer_d548/images/15_image.webp", + "/media/sawyer_d548/images/16_image.webp", + "/media/sawyer_d548/images/17_image.webp", + "/media/sawyer_d548/images/18_image.webp", + "/media/sawyer_d548/images/19_image.webp", + "/media/sawyer_d548/images/20_image.webp", + "/media/sawyer_d548/images/21_image.webp", + "/media/sawyer_d548/images/22_image.webp", + "/media/sawyer_d548/images/23_image.webp", + "/media/sawyer_d548/images/24_image.webp", + "/media/sawyer_d548/images/25_image.webp", + "/media/sawyer_d548/images/26_image.webp", + "/media/sawyer_d548/images/27_image.webp", + "/media/sawyer_d548/images/28_image.webp", + "/media/sawyer_d548/images/29_image.webp", + "/media/sawyer_d548/images/30_image.webp", + "/media/sawyer_d548/images/31_image.webp", + "/media/sawyer_d548/images/32_image.webp", + "/media/sawyer_d548/images/33_image.webp", + "/media/sawyer_d548/images/34_image.webp", + "/media/sawyer_d548/images/35_image.webp", + "/media/sawyer_d548/images/36_image.webp", + "/media/sawyer_d548/images/37_image.webp", + "/media/sawyer_d548/images/38_image.webp", + "/media/sawyer_d548/images/39_image.webp", + "/media/sawyer_d548/images/40_image.webp", + "/media/sawyer_d548/images/41_image.webp", + "/media/sawyer_d548/images/42_image.webp", + "/media/sawyer_d548/images/43_image.webp", + "/media/sawyer_d548/images/44_image.webp", + "/media/sawyer_d548/images/45_image.webp", + "/media/sawyer_d548/images/46_image.webp", + "/media/sawyer_d548/images/47_image.webp", + "/media/sawyer_d548/images/48_image.webp", + "/media/sawyer_d548/images/49_image.webp", + "/media/sawyer_d548/images/50_image.webp", + "/media/sawyer_d548/images/51_image.webp" + ], + "created_at": "2026-01-26T02:28:59.638611-07:00", + "dir_name": "sawyer_d548" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sayri_9523.json b/ideas/aeres/agents/sayri_9523.json new file mode 100644 index 0000000..65bf248 --- /dev/null +++ b/ideas/aeres/agents/sayri_9523.json @@ -0,0 +1,74 @@ +{ + "id": "sayri_9523", + "name": "Sayri Hermenegildo Gomez", + "handle": "sayri", + "gender": "male", + "description": "Darius from League of Legends", + "tags": [ + "cosplayer", + "armor fabrication", + "weightlifting", + "strategic gaming", + "leatherworking", + "historical documentaries", + "hiking", + "local craft breweries" + ], + "avatar_url": "/media/sayri_9523/avatar.webp?t=1769671743", + "banner_url": "/media/sayri_9523/banner.webp?t=1769671735", + "videos": [ + "/media/sayri_9523/videos/01_smile_reveal.mp4?t=1769671769" + ], + "images": [ + "/media/sayri_9523/images/01_mid_mid_neutral.webp", + "/media/sayri_9523/images/02_image.webp", + "/media/sayri_9523/images/03_image.webp", + "/media/sayri_9523/images/04_image.webp", + "/media/sayri_9523/images/06_image.webp", + "/media/sayri_9523/images/07_image.webp", + "/media/sayri_9523/images/08_image.webp", + "/media/sayri_9523/images/09_image.webp", + "/media/sayri_9523/images/10_image.webp", + "/media/sayri_9523/images/12_image.webp", + "/media/sayri_9523/images/13_image.webp", + "/media/sayri_9523/images/14_image.webp", + "/media/sayri_9523/images/15_image.webp", + "/media/sayri_9523/images/16_image.webp", + "/media/sayri_9523/images/17_image.webp", + "/media/sayri_9523/images/18_image.webp", + "/media/sayri_9523/images/19_image.webp", + "/media/sayri_9523/images/20_image.webp", + "/media/sayri_9523/images/21_image.webp", + "/media/sayri_9523/images/22_image.webp", + "/media/sayri_9523/images/23_image.webp", + "/media/sayri_9523/images/24_image.webp", + "/media/sayri_9523/images/25_image.webp", + "/media/sayri_9523/images/26_image.webp", + "/media/sayri_9523/images/27_image.webp", + "/media/sayri_9523/images/28_image.webp", + "/media/sayri_9523/images/29_image.webp", + "/media/sayri_9523/images/30_image.webp", + "/media/sayri_9523/images/31_image.webp", + "/media/sayri_9523/images/32_image.webp", + "/media/sayri_9523/images/33_image.webp", + "/media/sayri_9523/images/34_image.webp", + "/media/sayri_9523/images/35_image.webp", + "/media/sayri_9523/images/36_image.webp", + "/media/sayri_9523/images/37_image.webp", + "/media/sayri_9523/images/38_image.webp", + "/media/sayri_9523/images/39_image.webp", + "/media/sayri_9523/images/40_image.webp", + "/media/sayri_9523/images/41_image.webp", + "/media/sayri_9523/images/42_image.webp", + "/media/sayri_9523/images/43_image.webp", + "/media/sayri_9523/images/44_image.webp", + "/media/sayri_9523/images/45_image.webp", + "/media/sayri_9523/images/46_image.webp", + "/media/sayri_9523/images/47_image.webp", + "/media/sayri_9523/images/48_image.webp", + "/media/sayri_9523/images/49_image.webp", + "/media/sayri_9523/images/50_image.webp" + ], + "created_at": "2026-01-29T00:27:44.61086-07:00", + "dir_name": "sayri_9523" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sekou_6cda.json b/ideas/aeres/agents/sekou_6cda.json new file mode 100644 index 0000000..1143c72 --- /dev/null +++ b/ideas/aeres/agents/sekou_6cda.json @@ -0,0 +1,62 @@ +{ + "id": "sekou_6cda", + "name": "Sekou Green", + "handle": "sekou", + "gender": "male", + "description": "large bearded mountain man, with bald head, carpenter, beer drinker, plaid flannel, wood stove, chainsaw, fire, blue eyes", + "tags": [ + "bear_build", + "custom furniture design", + "forestry", + "vintage tool restoration", + "whiskey tasting", + "vinyl records", + "cooking soul food" + ], + "avatar_url": "/media/sekou_6cda/avatar.webp?t=1769121598", + "banner_url": "/media/sekou_6cda/banner.webp?t=1769121604", + "images": [ + "/media/sekou_6cda/images/01_mid_mid_neutral.webp", + "/media/sekou_6cda/images/02_image.webp", + "/media/sekou_6cda/images/03_image.webp", + "/media/sekou_6cda/images/04_image.webp", + "/media/sekou_6cda/images/05_image.webp", + "/media/sekou_6cda/images/07_image.webp", + "/media/sekou_6cda/images/08_image.webp", + "/media/sekou_6cda/images/09_image.webp", + "/media/sekou_6cda/images/10_image.webp", + "/media/sekou_6cda/images/11_image.webp", + "/media/sekou_6cda/images/12_image.webp", + "/media/sekou_6cda/images/12_image.webp", + "/media/sekou_6cda/images/12_image.webp", + "/media/sekou_6cda/images/13_image.webp", + "/media/sekou_6cda/images/13_image.webp", + "/media/sekou_6cda/images/13_image.webp", + "/media/sekou_6cda/images/14_image.webp", + "/media/sekou_6cda/images/14_image.webp", + "/media/sekou_6cda/images/14_image.webp", + "/media/sekou_6cda/images/15_image.webp", + "/media/sekou_6cda/images/15_image.webp", + "/media/sekou_6cda/images/15_image.webp", + "/media/sekou_6cda/images/16_image.webp", + "/media/sekou_6cda/images/16_image.webp", + "/media/sekou_6cda/images/16_image.webp", + "/media/sekou_6cda/images/17_image.webp", + "/media/sekou_6cda/images/17_image.webp", + "/media/sekou_6cda/images/17_image.webp", + "/media/sekou_6cda/images/18_image.webp", + "/media/sekou_6cda/images/18_image.webp", + "/media/sekou_6cda/images/18_image.webp", + "/media/sekou_6cda/images/19_image.webp", + "/media/sekou_6cda/images/19_image.webp", + "/media/sekou_6cda/images/19_image.webp", + "/media/sekou_6cda/images/20_image.webp", + "/media/sekou_6cda/images/20_image.webp", + "/media/sekou_6cda/images/21_image.webp", + "/media/sekou_6cda/images/20_image.webp", + "/media/sekou_6cda/images/21_image.webp", + "/media/sekou_6cda/images/21_image.webp" + ], + "created_at": "2026-01-22T15:38:54.537417-07:00", + "dir_name": "sekou_6cda" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sekou_c1db.json b/ideas/aeres/agents/sekou_c1db.json new file mode 100644 index 0000000..0938a11 --- /dev/null +++ b/ideas/aeres/agents/sekou_c1db.json @@ -0,0 +1,76 @@ +{ + "id": "sekou_c1db", + "name": "Sekou Adams", + "handle": "sekou", + "gender": "male", + "description": "hot sexy fictional character, has bio-hacking implants, futuristic space, wolf like features, fangs, ears, claws, half man half wolf but sexy, lives in a fictional sci fi retro futurism world where he lives on an ancient boat but in space, he is a space pirate,rebel, fighter, his world is futuristic with ancient and medieval large boats, muscular , age 25, pretty face", + "tags": [ + "werewolf", + "celestial navigation", + "bio-hacking", + "historical solar-sail design", + "retro synth-wave music", + "urban climbing", + "exotic teas" + ], + "avatar_url": "/media/sekou_c1db/avatar.webp?t=1769673463", + "banner_url": "/media/sekou_c1db/banner.webp?t=1769673466", + "videos": [ + "/media/sekou_c1db/videos/01_smile_reveal.mp4?t=1769673504" + ], + "images": [ + "/media/sekou_c1db/images/01_mid_mid_neutral.webp", + "/media/sekou_c1db/images/02_image.webp", + "/media/sekou_c1db/images/03_image.webp", + "/media/sekou_c1db/images/04_image.webp", + "/media/sekou_c1db/images/05_image.webp", + "/media/sekou_c1db/images/06_image.webp", + "/media/sekou_c1db/images/07_image.webp", + "/media/sekou_c1db/images/08_image.webp", + "/media/sekou_c1db/images/09_image.webp", + "/media/sekou_c1db/images/10_image.webp", + "/media/sekou_c1db/images/11_image.webp", + "/media/sekou_c1db/images/12_image.webp", + "/media/sekou_c1db/images/13_image.webp", + "/media/sekou_c1db/images/14_image.webp", + "/media/sekou_c1db/images/15_image.webp", + "/media/sekou_c1db/images/16_image.webp", + "/media/sekou_c1db/images/17_image.webp", + "/media/sekou_c1db/images/18_image.webp", + "/media/sekou_c1db/images/19_image.webp", + "/media/sekou_c1db/images/20_image.webp", + "/media/sekou_c1db/images/21_image.webp", + "/media/sekou_c1db/images/22_image.webp", + "/media/sekou_c1db/images/23_image.webp", + "/media/sekou_c1db/images/24_image.webp", + "/media/sekou_c1db/images/25_image.webp", + "/media/sekou_c1db/images/26_image.webp", + "/media/sekou_c1db/images/27_image.webp", + "/media/sekou_c1db/images/28_image.webp", + "/media/sekou_c1db/images/29_image.webp", + "/media/sekou_c1db/images/30_image.webp", + "/media/sekou_c1db/images/31_image.webp", + "/media/sekou_c1db/images/32_image.webp", + "/media/sekou_c1db/images/33_image.webp", + "/media/sekou_c1db/images/34_image.webp", + "/media/sekou_c1db/images/35_image.webp", + "/media/sekou_c1db/images/36_image.webp", + "/media/sekou_c1db/images/37_image.webp", + "/media/sekou_c1db/images/38_image.webp", + "/media/sekou_c1db/images/39_image.webp", + "/media/sekou_c1db/images/40_image.webp", + "/media/sekou_c1db/images/41_image.webp", + "/media/sekou_c1db/images/42_image.webp", + "/media/sekou_c1db/images/43_image.webp", + "/media/sekou_c1db/images/44_image.webp", + "/media/sekou_c1db/images/45_image.webp", + "/media/sekou_c1db/images/46_image.webp", + "/media/sekou_c1db/images/47_image.webp", + "/media/sekou_c1db/images/48_image.webp", + "/media/sekou_c1db/images/49_image.webp", + "/media/sekou_c1db/images/50_image.webp", + "/media/sekou_c1db/images/51_image.webp" + ], + "created_at": "2026-01-29T00:56:16.136025-07:00", + "dir_name": "sekou_c1db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/senna_042a.json b/ideas/aeres/agents/senna_042a.json new file mode 100644 index 0000000..64c5cf4 --- /dev/null +++ b/ideas/aeres/agents/senna_042a.json @@ -0,0 +1,96 @@ +{ + "id": "senna_042a", + "name": "Senna De Jong", + "handle": "senna", + "gender": "female", + "description": "new pop star , country girl star, similar look to britney spears, 2000's style and esthetic, slim body pretty face", + "tags": [ + "y2k_princess", + "songwriting", + "contemporary dance", + "equestrian sports", + "vintage fashion", + "interior design", + "gardening", + "true crime podcasts" + ], + "avatar_url": "/media/senna_042a/avatar.webp?t=1770192058", + "banner_url": "/media/senna_042a/banner.webp?t=1770192179", + "videos": [ + "/media/senna_042a/videos/01_smile_reveal.mp4?t=1770192112" + ], + "images": [ + "/media/senna_042a/images/01_mid_mid_neutral.webp", + "/media/senna_042a/images/02_image.webp", + "/media/senna_042a/images/04_image.webp", + "/media/senna_042a/images/05_image.webp", + "/media/senna_042a/images/06_image.webp", + "/media/senna_042a/images/07_image.webp", + "/media/senna_042a/images/03_mid_mid_smiling.webp", + "/media/senna_042a/images/08_image.webp", + "/media/senna_042a/images/09_image.webp", + "/media/senna_042a/images/10_image.webp", + "/media/senna_042a/images/11_image.webp", + "/media/senna_042a/images/12_image.webp", + "/media/senna_042a/images/13_image.webp", + "/media/senna_042a/images/14_image.webp", + "/media/senna_042a/images/15_image.webp", + "/media/senna_042a/images/16_image.webp", + "/media/senna_042a/images/17_image.webp", + "/media/senna_042a/images/18_image.webp", + "/media/senna_042a/images/19_image.webp", + "/media/senna_042a/images/20_image.webp", + "/media/senna_042a/images/21_image.webp", + "/media/senna_042a/images/22_image.webp", + "/media/senna_042a/images/23_image.webp", + "/media/senna_042a/images/24_image.webp", + "/media/senna_042a/images/25_image.webp", + "/media/senna_042a/images/26_image.webp", + "/media/senna_042a/images/27_image.webp", + "/media/senna_042a/images/28_image.webp", + "/media/senna_042a/images/29_image.webp", + "/media/senna_042a/images/30_image.webp", + "/media/senna_042a/images/31_image.webp", + "/media/senna_042a/images/32_image.webp", + "/media/senna_042a/images/33_image.webp", + "/media/senna_042a/images/34_image.webp", + "/media/senna_042a/images/35_image.webp", + "/media/senna_042a/images/36_image.webp", + "/media/senna_042a/images/37_image.webp", + "/media/senna_042a/images/38_image.webp", + "/media/senna_042a/images/39_image.webp", + "/media/senna_042a/images/40_image.webp", + "/media/senna_042a/images/41_image.webp", + "/media/senna_042a/images/43_image.webp", + "/media/senna_042a/images/44_image.webp", + "/media/senna_042a/images/45_image.webp", + "/media/senna_042a/images/46_image.webp", + "/media/senna_042a/images/47_image.webp", + "/media/senna_042a/images/48_image.webp", + "/media/senna_042a/images/49_image.webp", + "/media/senna_042a/images/50_image.webp", + "/media/senna_042a/images/51_image.webp", + "/media/senna_042a/images/53_image.webp", + "/media/senna_042a/images/54_image.webp", + "/media/senna_042a/images/55_image.webp", + "/media/senna_042a/images/58_image.webp", + "/media/senna_042a/images/59_image.webp", + "/media/senna_042a/images/60_image.webp", + "/media/senna_042a/images/61_image.webp", + "/media/senna_042a/images/62_image.webp", + "/media/senna_042a/images/64_image.webp", + "/media/senna_042a/images/64_image.webp", + "/media/senna_042a/images/65_image.webp", + "/media/senna_042a/images/66_image.webp", + "/media/senna_042a/images/68_image.webp", + "/media/senna_042a/images/69_image.webp", + "/media/senna_042a/images/70_image.webp", + "/media/senna_042a/images/71_image.webp", + "/media/senna_042a/images/72_image.webp", + "/media/senna_042a/images/73_image.webp", + "/media/senna_042a/images/74_image.webp", + "/media/senna_042a/images/75_image.webp" + ], + "created_at": "2026-02-04T00:59:23.565858-07:00", + "dir_name": "senna_042a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shannon_3e32.json b/ideas/aeres/agents/shannon_3e32.json new file mode 100644 index 0000000..25934ba --- /dev/null +++ b/ideas/aeres/agents/shannon_3e32.json @@ -0,0 +1,74 @@ +{ + "id": "shannon_3e32", + "name": "Shannon Miller", + "handle": "shannon", + "gender": "female", + "description": "woman who cosplays as Wonder Woman", + "tags": [ + "the cosplayer", + "armor fabrication", + "weightlifting", + "classical history", + "sfx makeup", + "leatherworking", + "archery", + "indie gaming" + ], + "avatar_url": "/media/shannon_3e32/avatar.webp?t=1770125616", + "banner_url": "/media/shannon_3e32/banner.webp?t=1770125622", + "images": [ + "/media/shannon_3e32/images/01_mid_mid_neutral.webp", + "/media/shannon_3e32/images/02_image.webp", + "/media/shannon_3e32/images/03_image.webp", + "/media/shannon_3e32/images/04_image.webp", + "/media/shannon_3e32/images/05_image.webp", + "/media/shannon_3e32/images/06_image.webp", + "/media/shannon_3e32/images/07_image.webp", + "/media/shannon_3e32/images/08_image.webp", + "/media/shannon_3e32/images/09_image.webp", + "/media/shannon_3e32/images/10_image.webp", + "/media/shannon_3e32/images/11_image.webp", + "/media/shannon_3e32/images/12_image.webp", + "/media/shannon_3e32/images/13_image.webp", + "/media/shannon_3e32/images/14_image.webp", + "/media/shannon_3e32/images/15_image.webp", + "/media/shannon_3e32/images/16_image.webp", + "/media/shannon_3e32/images/17_image.webp", + "/media/shannon_3e32/images/18_image.webp", + "/media/shannon_3e32/images/19_image.webp", + "/media/shannon_3e32/images/20_image.webp", + "/media/shannon_3e32/images/21_image.webp", + "/media/shannon_3e32/images/22_image.webp", + "/media/shannon_3e32/images/23_image.webp", + "/media/shannon_3e32/images/24_image.webp", + "/media/shannon_3e32/images/25_image.webp", + "/media/shannon_3e32/images/26_image.webp", + "/media/shannon_3e32/images/27_image.webp", + "/media/shannon_3e32/images/28_image.webp", + "/media/shannon_3e32/images/29_image.webp", + "/media/shannon_3e32/images/30_image.webp", + "/media/shannon_3e32/images/31_image.webp", + "/media/shannon_3e32/images/32_image.webp", + "/media/shannon_3e32/images/33_image.webp", + "/media/shannon_3e32/images/34_image.webp", + "/media/shannon_3e32/images/35_image.webp", + "/media/shannon_3e32/images/36_image.webp", + "/media/shannon_3e32/images/37_image.webp", + "/media/shannon_3e32/images/38_image.webp", + "/media/shannon_3e32/images/39_image.webp", + "/media/shannon_3e32/images/40_image.webp", + "/media/shannon_3e32/images/41_image.webp", + "/media/shannon_3e32/images/42_image.webp", + "/media/shannon_3e32/images/43_image.webp", + "/media/shannon_3e32/images/44_image.webp", + "/media/shannon_3e32/images/45_image.webp", + "/media/shannon_3e32/images/46_image.webp", + "/media/shannon_3e32/images/47_image.webp", + "/media/shannon_3e32/images/48_image.webp", + "/media/shannon_3e32/images/49_image.webp", + "/media/shannon_3e32/images/50_image.webp", + "/media/shannon_3e32/images/51_image.webp" + ], + "created_at": "2026-02-03T06:32:19.040763-07:00", + "dir_name": "shannon_3e32" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shannon_57ea.json b/ideas/aeres/agents/shannon_57ea.json new file mode 100644 index 0000000..3403c3a --- /dev/null +++ b/ideas/aeres/agents/shannon_57ea.json @@ -0,0 +1,75 @@ +{ + "id": "shannon_57ea", + "name": "Shannon Miller", + "handle": "shannon", + "gender": "female", + "description": "overweight woman, tour guide at a natural park , brunette, 30+ years, loves wildlife , cute face, long hair", + "tags": [ + "explorer", + "birdwatching", + "trail maintenance", + "nature photography", + "wilderness survival", + "craft beer", + "archery", + "historical non-fiction" + ], + "avatar_url": "/media/shannon_57ea/avatar.webp?t=1769423047", + "banner_url": "/media/shannon_57ea/banner.webp?t=1769423039", + "videos": [ + "/media/shannon_57ea/videos/01_smile_reveal.mp4?t=1769423102" + ], + "images": [ + "/media/shannon_57ea/images/01_mid_mid_neutral.webp", + "/media/shannon_57ea/images/02_image.webp", + "/media/shannon_57ea/images/03_image.webp", + "/media/shannon_57ea/images/04_image.webp", + "/media/shannon_57ea/images/05_image.webp", + "/media/shannon_57ea/images/07_image.webp", + "/media/shannon_57ea/images/08_image.webp", + "/media/shannon_57ea/images/10_image.webp", + "/media/shannon_57ea/images/11_image.webp", + "/media/shannon_57ea/images/12_image.webp", + "/media/shannon_57ea/images/13_image.webp", + "/media/shannon_57ea/images/14_image.webp", + "/media/shannon_57ea/images/15_image.webp", + "/media/shannon_57ea/images/16_image.webp", + "/media/shannon_57ea/images/17_image.webp", + "/media/shannon_57ea/images/18_image.webp", + "/media/shannon_57ea/images/19_image.webp", + "/media/shannon_57ea/images/20_image.webp", + "/media/shannon_57ea/images/21_image.webp", + "/media/shannon_57ea/images/22_image.webp", + "/media/shannon_57ea/images/23_image.webp", + "/media/shannon_57ea/images/24_image.webp", + "/media/shannon_57ea/images/25_image.webp", + "/media/shannon_57ea/images/26_image.webp", + "/media/shannon_57ea/images/27_image.webp", + "/media/shannon_57ea/images/28_image.webp", + "/media/shannon_57ea/images/29_image.webp", + "/media/shannon_57ea/images/30_image.webp", + "/media/shannon_57ea/images/31_image.webp", + "/media/shannon_57ea/images/32_image.webp", + "/media/shannon_57ea/images/33_image.webp", + "/media/shannon_57ea/images/34_image.webp", + "/media/shannon_57ea/images/35_image.webp", + "/media/shannon_57ea/images/36_image.webp", + "/media/shannon_57ea/images/37_image.webp", + "/media/shannon_57ea/images/38_image.webp", + "/media/shannon_57ea/images/39_image.webp", + "/media/shannon_57ea/images/40_image.webp", + "/media/shannon_57ea/images/41_image.webp", + "/media/shannon_57ea/images/42_image.webp", + "/media/shannon_57ea/images/43_image.webp", + "/media/shannon_57ea/images/44_image.webp", + "/media/shannon_57ea/images/45_image.webp", + "/media/shannon_57ea/images/46_image.webp", + "/media/shannon_57ea/images/47_image.webp", + "/media/shannon_57ea/images/48_image.webp", + "/media/shannon_57ea/images/49_image.webp", + "/media/shannon_57ea/images/50_image.webp", + "/media/shannon_57ea/images/51_image.webp" + ], + "created_at": "2026-01-26T03:22:50.503236-07:00", + "dir_name": "shannon_57ea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shanti_17c2.json b/ideas/aeres/agents/shanti_17c2.json new file mode 100644 index 0000000..aa77c19 --- /dev/null +++ b/ideas/aeres/agents/shanti_17c2.json @@ -0,0 +1,77 @@ +{ + "id": "shanti_17c2", + "name": "Shanti Chatterjee", + "handle": "shanti", + "gender": "female", + "description": "Hamptons girl, classic, sun hat, floral dress,", + "tags": [ + "coastal_grandmother", + "organic gardening", + "textile history", + "classical music", + "slow cooking", + "pilates", + "documentaries", + "pottery" + ], + "avatar_url": "/media/shanti_17c2/avatar.webp?t=1769584073", + "banner_url": "/media/shanti_17c2/banner.webp?t=1769555235", + "videos": [ + "/media/shanti_17c2/videos/01_smile_reveal.mp4?t=1769555298" + ], + "images": [ + "/media/shanti_17c2/images/01_mid_mid_neutral.webp", + "/media/shanti_17c2/images/02_image.webp", + "/media/shanti_17c2/images/03_image.webp", + "/media/shanti_17c2/images/04_image.webp", + "/media/shanti_17c2/images/05_image.webp", + "/media/shanti_17c2/images/06_image.webp", + "/media/shanti_17c2/images/07_image.webp", + "/media/shanti_17c2/images/08_image.webp", + "/media/shanti_17c2/images/09_image.webp", + "/media/shanti_17c2/images/10_image.webp", + "/media/shanti_17c2/images/11_image.webp", + "/media/shanti_17c2/images/12_image.webp", + "/media/shanti_17c2/images/13_image.webp", + "/media/shanti_17c2/images/14_image.webp", + "/media/shanti_17c2/images/15_image.webp", + "/media/shanti_17c2/images/16_image.webp", + "/media/shanti_17c2/images/17_image.webp", + "/media/shanti_17c2/images/18_image.webp", + "/media/shanti_17c2/images/19_image.webp", + "/media/shanti_17c2/images/20_image.webp", + "/media/shanti_17c2/images/21_image.webp", + "/media/shanti_17c2/images/22_image.webp", + "/media/shanti_17c2/images/23_image.webp", + "/media/shanti_17c2/images/24_image.webp", + "/media/shanti_17c2/images/25_image.webp", + "/media/shanti_17c2/images/26_image.webp", + "/media/shanti_17c2/images/27_image.webp", + "/media/shanti_17c2/images/28_image.webp", + "/media/shanti_17c2/images/29_image.webp", + "/media/shanti_17c2/images/30_image.webp", + "/media/shanti_17c2/images/31_image.webp", + "/media/shanti_17c2/images/32_image.webp", + "/media/shanti_17c2/images/33_image.webp", + "/media/shanti_17c2/images/34_image.webp", + "/media/shanti_17c2/images/35_image.webp", + "/media/shanti_17c2/images/36_image.webp", + "/media/shanti_17c2/images/37_image.webp", + "/media/shanti_17c2/images/38_image.webp", + "/media/shanti_17c2/images/39_image.webp", + "/media/shanti_17c2/images/40_image.webp", + "/media/shanti_17c2/images/41_image.webp", + "/media/shanti_17c2/images/42_image.webp", + "/media/shanti_17c2/images/43_image.webp", + "/media/shanti_17c2/images/44_image.webp", + "/media/shanti_17c2/images/45_image.webp", + "/media/shanti_17c2/images/46_image.webp", + "/media/shanti_17c2/images/47_image.webp", + "/media/shanti_17c2/images/48_image.webp", + "/media/shanti_17c2/images/49_image.webp", + "/media/shanti_17c2/images/50_image.webp", + "/media/shanti_17c2/images/51_image.webp" + ], + "created_at": "2026-01-27T16:06:05.320165-07:00", + "dir_name": "shanti_17c2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sharon_1d36.json b/ideas/aeres/agents/sharon_1d36.json new file mode 100644 index 0000000..728c47f --- /dev/null +++ b/ideas/aeres/agents/sharon_1d36.json @@ -0,0 +1,75 @@ +{ + "id": "sharon_1d36", + "name": "Sharon White", + "handle": "sharon", + "gender": "female", + "description": "hypebeast female who loves jewelry", + "tags": [ + "baddie", + "rare sneaker collecting", + "interior design", + "contemporary art", + "modern architecture", + "mixology", + "pilates", + "urban photography" + ], + "avatar_url": "/media/sharon_1d36/avatar.webp?t=1770105943", + "banner_url": "/media/sharon_1d36/banner.webp?t=1770105977", + "videos": [ + "/media/sharon_1d36/videos/01_smile_reveal.mp4?t=1770105981" + ], + "images": [ + "/media/sharon_1d36/images/01_mid_mid_neutral.webp", + "/media/sharon_1d36/images/02_image.webp", + "/media/sharon_1d36/images/03_image.webp", + "/media/sharon_1d36/images/04_image.webp", + "/media/sharon_1d36/images/05_image.webp", + "/media/sharon_1d36/images/06_image.webp", + "/media/sharon_1d36/images/07_image.webp", + "/media/sharon_1d36/images/08_image.webp", + "/media/sharon_1d36/images/09_image.webp", + "/media/sharon_1d36/images/11_image.webp", + "/media/sharon_1d36/images/13_image.webp", + "/media/sharon_1d36/images/14_image.webp", + "/media/sharon_1d36/images/15_image.webp", + "/media/sharon_1d36/images/16_image.webp", + "/media/sharon_1d36/images/17_image.webp", + "/media/sharon_1d36/images/18_image.webp", + "/media/sharon_1d36/images/19_image.webp", + "/media/sharon_1d36/images/20_image.webp", + "/media/sharon_1d36/images/21_image.webp", + "/media/sharon_1d36/images/22_image.webp", + "/media/sharon_1d36/images/23_image.webp", + "/media/sharon_1d36/images/24_image.webp", + "/media/sharon_1d36/images/25_image.webp", + "/media/sharon_1d36/images/26_image.webp", + "/media/sharon_1d36/images/27_image.webp", + "/media/sharon_1d36/images/28_image.webp", + "/media/sharon_1d36/images/29_image.webp", + "/media/sharon_1d36/images/30_image.webp", + "/media/sharon_1d36/images/31_image.webp", + "/media/sharon_1d36/images/32_image.webp", + "/media/sharon_1d36/images/33_image.webp", + "/media/sharon_1d36/images/34_image.webp", + "/media/sharon_1d36/images/35_image.webp", + "/media/sharon_1d36/images/36_image.webp", + "/media/sharon_1d36/images/37_image.webp", + "/media/sharon_1d36/images/38_image.webp", + "/media/sharon_1d36/images/39_image.webp", + "/media/sharon_1d36/images/40_image.webp", + "/media/sharon_1d36/images/41_image.webp", + "/media/sharon_1d36/images/42_image.webp", + "/media/sharon_1d36/images/43_image.webp", + "/media/sharon_1d36/images/44_image.webp", + "/media/sharon_1d36/images/45_image.webp", + "/media/sharon_1d36/images/46_image.webp", + "/media/sharon_1d36/images/47_image.webp", + "/media/sharon_1d36/images/48_image.webp", + "/media/sharon_1d36/images/49_image.webp", + "/media/sharon_1d36/images/50_image.webp", + "/media/sharon_1d36/images/51_image.webp" + ], + "created_at": "2026-02-03T01:04:33.641672-07:00", + "dir_name": "sharon_1d36" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sheldon_c58d.json b/ideas/aeres/agents/sheldon_c58d.json new file mode 100644 index 0000000..a3207af --- /dev/null +++ b/ideas/aeres/agents/sheldon_c58d.json @@ -0,0 +1,77 @@ +{ + "id": "sheldon_c58d", + "name": "Sheldon Perez", + "handle": "sheldon", + "gender": "male", + "description": "male who cosplays as Woody from Toy Story", + "tags": [ + "cosplayer", + "cosplay fabrication", + "leatherworking", + "vintage toy restoration", + "improv comedy", + "classic western movies", + "hiking", + "cooking mexican cuisine" + ], + "avatar_url": "/media/sheldon_c58d/avatar.webp?t=1770118572", + "banner_url": "/media/sheldon_c58d/banner.webp?t=1770118577", + "videos": [ + "/media/sheldon_c58d/videos/01_smile_reveal.mp4?t=1770118701" + ], + "images": [ + "/media/sheldon_c58d/images/01_mid_mid_neutral.webp", + "/media/sheldon_c58d/images/02_image.webp", + "/media/sheldon_c58d/images/03_image.webp", + "/media/sheldon_c58d/images/04_image.webp", + "/media/sheldon_c58d/images/05_image.webp", + "/media/sheldon_c58d/images/06_image.webp", + "/media/sheldon_c58d/images/07_image.webp", + "/media/sheldon_c58d/images/08_image.webp", + "/media/sheldon_c58d/images/09_image.webp", + "/media/sheldon_c58d/images/10_image.webp", + "/media/sheldon_c58d/images/11_image.webp", + "/media/sheldon_c58d/images/12_image.webp", + "/media/sheldon_c58d/images/13_image.webp", + "/media/sheldon_c58d/images/14_image.webp", + "/media/sheldon_c58d/images/15_image.webp", + "/media/sheldon_c58d/images/16_image.webp", + "/media/sheldon_c58d/images/17_image.webp", + "/media/sheldon_c58d/images/18_image.webp", + "/media/sheldon_c58d/images/19_image.webp", + "/media/sheldon_c58d/images/20_image.webp", + "/media/sheldon_c58d/images/21_image.webp", + "/media/sheldon_c58d/images/22_image.webp", + "/media/sheldon_c58d/images/23_image.webp", + "/media/sheldon_c58d/images/24_image.webp", + "/media/sheldon_c58d/images/25_image.webp", + "/media/sheldon_c58d/images/26_image.webp", + "/media/sheldon_c58d/images/27_image.webp", + "/media/sheldon_c58d/images/28_image.webp", + "/media/sheldon_c58d/images/29_image.webp", + "/media/sheldon_c58d/images/30_image.webp", + "/media/sheldon_c58d/images/31_image.webp", + "/media/sheldon_c58d/images/32_image.webp", + "/media/sheldon_c58d/images/33_image.webp", + "/media/sheldon_c58d/images/34_image.webp", + "/media/sheldon_c58d/images/35_image.webp", + "/media/sheldon_c58d/images/36_image.webp", + "/media/sheldon_c58d/images/37_image.webp", + "/media/sheldon_c58d/images/38_image.webp", + "/media/sheldon_c58d/images/39_image.webp", + "/media/sheldon_c58d/images/40_image.webp", + "/media/sheldon_c58d/images/41_image.webp", + "/media/sheldon_c58d/images/42_image.webp", + "/media/sheldon_c58d/images/43_image.webp", + "/media/sheldon_c58d/images/44_image.webp", + "/media/sheldon_c58d/images/45_image.webp", + "/media/sheldon_c58d/images/46_image.webp", + "/media/sheldon_c58d/images/47_image.webp", + "/media/sheldon_c58d/images/48_image.webp", + "/media/sheldon_c58d/images/49_image.webp", + "/media/sheldon_c58d/images/50_image.webp", + "/media/sheldon_c58d/images/51_image.webp" + ], + "created_at": "2026-02-03T04:35:02.296395-07:00", + "dir_name": "sheldon_c58d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shen_1627.json b/ideas/aeres/agents/shen_1627.json new file mode 100644 index 0000000..417c40d --- /dev/null +++ b/ideas/aeres/agents/shen_1627.json @@ -0,0 +1,77 @@ +{ + "id": "shen_1627", + "name": "Shen Li", + "handle": "shen", + "gender": "male", + "description": "tall chinese male who is a basketball player", + "tags": [ + "gym_bro", + "weightlifting", + "sports science", + "classic watch collecting", + "basketball", + "landscape photography", + "architectural design", + "traditional chinese tea" + ], + "avatar_url": "/media/shen_1627/avatar.webp?t=1769678856", + "banner_url": "/media/shen_1627/banner.webp?t=1769678853", + "videos": [ + "/media/shen_1627/videos/01_smile_reveal.mp4?t=1769678880" + ], + "images": [ + "/media/shen_1627/images/01_mid_mid_neutral.webp", + "/media/shen_1627/images/02_image.webp", + "/media/shen_1627/images/03_image.webp", + "/media/shen_1627/images/04_image.webp", + "/media/shen_1627/images/05_image.webp", + "/media/shen_1627/images/06_image.webp", + "/media/shen_1627/images/07_image.webp", + "/media/shen_1627/images/08_image.webp", + "/media/shen_1627/images/09_image.webp", + "/media/shen_1627/images/10_image.webp", + "/media/shen_1627/images/11_image.webp", + "/media/shen_1627/images/12_image.webp", + "/media/shen_1627/images/13_image.webp", + "/media/shen_1627/images/14_image.webp", + "/media/shen_1627/images/15_image.webp", + "/media/shen_1627/images/16_image.webp", + "/media/shen_1627/images/17_image.webp", + "/media/shen_1627/images/18_image.webp", + "/media/shen_1627/images/19_image.webp", + "/media/shen_1627/images/20_image.webp", + "/media/shen_1627/images/21_image.webp", + "/media/shen_1627/images/22_image.webp", + "/media/shen_1627/images/23_image.webp", + "/media/shen_1627/images/24_image.webp", + "/media/shen_1627/images/25_image.webp", + "/media/shen_1627/images/26_image.webp", + "/media/shen_1627/images/27_image.webp", + "/media/shen_1627/images/28_image.webp", + "/media/shen_1627/images/29_image.webp", + "/media/shen_1627/images/30_image.webp", + "/media/shen_1627/images/31_image.webp", + "/media/shen_1627/images/32_image.webp", + "/media/shen_1627/images/33_image.webp", + "/media/shen_1627/images/34_image.webp", + "/media/shen_1627/images/35_image.webp", + "/media/shen_1627/images/36_image.webp", + "/media/shen_1627/images/37_image.webp", + "/media/shen_1627/images/38_image.webp", + "/media/shen_1627/images/39_image.webp", + "/media/shen_1627/images/40_image.webp", + "/media/shen_1627/images/41_image.webp", + "/media/shen_1627/images/42_image.webp", + "/media/shen_1627/images/43_image.webp", + "/media/shen_1627/images/44_image.webp", + "/media/shen_1627/images/45_image.webp", + "/media/shen_1627/images/46_image.webp", + "/media/shen_1627/images/47_image.webp", + "/media/shen_1627/images/48_image.webp", + "/media/shen_1627/images/49_image.webp", + "/media/shen_1627/images/50_image.webp", + "/media/shen_1627/images/51_image.webp" + ], + "created_at": "2026-01-29T02:26:00.531789-07:00", + "dir_name": "shen_1627" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shirley_21b1.json b/ideas/aeres/agents/shirley_21b1.json new file mode 100644 index 0000000..872ced2 --- /dev/null +++ b/ideas/aeres/agents/shirley_21b1.json @@ -0,0 +1,76 @@ +{ + "id": "shirley_21b1", + "name": "Shirley Harris", + "handle": "shirley", + "gender": "female", + "description": "Poison Ivy from Batman", + "tags": [ + "femme_fatale", + "ethnobotany", + "perfume blending", + "taxidermy art", + "vintnership", + "interior design", + "pilates", + "classical music" + ], + "avatar_url": "/media/shirley_21b1/avatar.webp?t=1769616998", + "banner_url": "/media/shirley_21b1/banner.webp?t=1769616995", + "videos": [ + "/media/shirley_21b1/videos/01_smile_reveal.mp4?t=1769617034" + ], + "images": [ + "/media/shirley_21b1/images/01_mid_mid_neutral.webp", + "/media/shirley_21b1/images/02_image.webp", + "/media/shirley_21b1/images/03_image.webp", + "/media/shirley_21b1/images/04_image.webp", + "/media/shirley_21b1/images/05_image.webp", + "/media/shirley_21b1/images/06_image.webp", + "/media/shirley_21b1/images/07_image.webp", + "/media/shirley_21b1/images/08_image.webp", + "/media/shirley_21b1/images/09_image.webp", + "/media/shirley_21b1/images/10_image.webp", + "/media/shirley_21b1/images/11_image.webp", + "/media/shirley_21b1/images/12_image.webp", + "/media/shirley_21b1/images/13_image.webp", + "/media/shirley_21b1/images/14_image.webp", + "/media/shirley_21b1/images/15_image.webp", + "/media/shirley_21b1/images/16_image.webp", + "/media/shirley_21b1/images/17_image.webp", + "/media/shirley_21b1/images/18_image.webp", + "/media/shirley_21b1/images/19_image.webp", + "/media/shirley_21b1/images/20_image.webp", + "/media/shirley_21b1/images/21_image.webp", + "/media/shirley_21b1/images/22_image.webp", + "/media/shirley_21b1/images/23_image.webp", + "/media/shirley_21b1/images/24_image.webp", + "/media/shirley_21b1/images/25_image.webp", + "/media/shirley_21b1/images/26_image.webp", + "/media/shirley_21b1/images/27_image.webp", + "/media/shirley_21b1/images/28_image.webp", + "/media/shirley_21b1/images/29_image.webp", + "/media/shirley_21b1/images/30_image.webp", + "/media/shirley_21b1/images/31_image.webp", + "/media/shirley_21b1/images/32_image.webp", + "/media/shirley_21b1/images/33_image.webp", + "/media/shirley_21b1/images/34_image.webp", + "/media/shirley_21b1/images/35_image.webp", + "/media/shirley_21b1/images/36_image.webp", + "/media/shirley_21b1/images/37_image.webp", + "/media/shirley_21b1/images/38_image.webp", + "/media/shirley_21b1/images/39_image.webp", + "/media/shirley_21b1/images/40_image.webp", + "/media/shirley_21b1/images/41_image.webp", + "/media/shirley_21b1/images/42_image.webp", + "/media/shirley_21b1/images/43_image.webp", + "/media/shirley_21b1/images/45_image.webp", + "/media/shirley_21b1/images/46_image.webp", + "/media/shirley_21b1/images/47_image.webp", + "/media/shirley_21b1/images/48_image.webp", + "/media/shirley_21b1/images/49_image.webp", + "/media/shirley_21b1/images/50_image.webp", + "/media/shirley_21b1/images/51_image.webp" + ], + "created_at": "2026-01-28T09:15:05.854956-07:00", + "dir_name": "shirley_21b1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shirley_2a7a.json b/ideas/aeres/agents/shirley_2a7a.json new file mode 100644 index 0000000..6f70623 --- /dev/null +++ b/ideas/aeres/agents/shirley_2a7a.json @@ -0,0 +1,81 @@ +{ + "id": "shirley_2a7a", + "name": "Shirley Gonzalez", + "handle": "shirley", + "gender": "female", + "description": "woman who cosplays as Harley Quinn", + "tags": [ + "the cosplayer", + "cosplay construction", + "dc comics", + "sfx makeup", + "prop smithing", + "retro arcade games", + "horror movies", + "roller skating" + ], + "avatar_url": "/media/shirley_2a7a/avatar.webp?t=1770025803", + "banner_url": "/media/shirley_2a7a/banner.webp?t=1770025820", + "videos": [ + "/media/shirley_2a7a/videos/01_smile_reveal.mp4?t=1770025730" + ], + "images": [ + "/media/shirley_2a7a/images/01_mid_mid_neutral.webp", + "/media/shirley_2a7a/images/02_image.webp", + "/media/shirley_2a7a/images/03_image.webp", + "/media/shirley_2a7a/images/04_image.webp", + "/media/shirley_2a7a/images/05_image.webp", + "/media/shirley_2a7a/images/06_image.webp", + "/media/shirley_2a7a/images/08_image.webp", + "/media/shirley_2a7a/images/10_image.webp", + "/media/shirley_2a7a/images/11_image.webp", + "/media/shirley_2a7a/images/12_image.webp", + "/media/shirley_2a7a/images/13_image.webp", + "/media/shirley_2a7a/images/14_image.webp", + "/media/shirley_2a7a/images/15_image.webp", + "/media/shirley_2a7a/images/16_image.webp", + "/media/shirley_2a7a/images/17_image.webp", + "/media/shirley_2a7a/images/18_image.webp", + "/media/shirley_2a7a/images/19_image.webp", + "/media/shirley_2a7a/images/20_image.webp", + "/media/shirley_2a7a/images/21_image.webp", + "/media/shirley_2a7a/images/22_image.webp", + "/media/shirley_2a7a/images/23_image.webp", + "/media/shirley_2a7a/images/24_image.webp", + "/media/shirley_2a7a/images/25_image.webp", + "/media/shirley_2a7a/images/26_image.webp", + "/media/shirley_2a7a/images/27_image.webp", + "/media/shirley_2a7a/images/28_image.webp", + "/media/shirley_2a7a/images/29_image.webp", + "/media/shirley_2a7a/images/30_image.webp", + "/media/shirley_2a7a/images/31_image.webp", + "/media/shirley_2a7a/images/32_image.webp", + "/media/shirley_2a7a/images/33_image.webp", + "/media/shirley_2a7a/images/34_image.webp", + "/media/shirley_2a7a/images/35_image.webp", + "/media/shirley_2a7a/images/36_image.webp", + "/media/shirley_2a7a/images/37_image.webp", + "/media/shirley_2a7a/images/38_image.webp", + "/media/shirley_2a7a/images/39_image.webp", + "/media/shirley_2a7a/images/40_image.webp", + "/media/shirley_2a7a/images/41_image.webp", + "/media/shirley_2a7a/images/42_image.webp", + "/media/shirley_2a7a/images/43_image.webp", + "/media/shirley_2a7a/images/44_image.webp", + "/media/shirley_2a7a/images/46_image.webp", + "/media/shirley_2a7a/images/47_image.webp", + "/media/shirley_2a7a/images/48_image.webp", + "/media/shirley_2a7a/images/45_image.webp", + "/media/shirley_2a7a/images/46_image.webp", + "/media/shirley_2a7a/images/47_image.webp", + "/media/shirley_2a7a/images/48_image.webp", + "/media/shirley_2a7a/images/49_image.webp", + "/media/shirley_2a7a/images/50_image.webp", + "/media/shirley_2a7a/images/51_image.webp", + "/media/shirley_2a7a/images/52_image.webp", + "/media/shirley_2a7a/images/53_image.webp", + "/media/shirley_2a7a/images/54_image.webp" + ], + "created_at": "2026-02-02T02:43:11.826464-07:00", + "dir_name": "shirley_2a7a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shirley_3e77.json b/ideas/aeres/agents/shirley_3e77.json new file mode 100644 index 0000000..ca104b9 --- /dev/null +++ b/ideas/aeres/agents/shirley_3e77.json @@ -0,0 +1,76 @@ +{ + "id": "shirley_3e77", + "name": "Shirley Harris", + "handle": "shirley", + "gender": "female", + "description": "steampunk vibe, woman in her 40's", + "tags": [ + "alt_punk_aesthetics", + "kinetic sculpture", + "19th-century literature", + "aerodynamics", + "experimental horology", + "botanical illustration", + "mountain hiking", + "tea blending" + ], + "avatar_url": "/media/shirley_3e77/avatar.webp?t=1769583974", + "banner_url": "/media/shirley_3e77/banner.webp?t=1769557423", + "videos": [ + "/media/shirley_3e77/videos/01_smile_reveal.mp4?t=1769557466" + ], + "images": [ + "/media/shirley_3e77/images/01_mid_mid_neutral.webp", + "/media/shirley_3e77/images/02_image.webp", + "/media/shirley_3e77/images/03_image.webp", + "/media/shirley_3e77/images/04_image.webp", + "/media/shirley_3e77/images/05_image.webp", + "/media/shirley_3e77/images/07_image.webp", + "/media/shirley_3e77/images/08_image.webp", + "/media/shirley_3e77/images/09_image.webp", + "/media/shirley_3e77/images/10_image.webp", + "/media/shirley_3e77/images/11_image.webp", + "/media/shirley_3e77/images/12_image.webp", + "/media/shirley_3e77/images/13_image.webp", + "/media/shirley_3e77/images/14_image.webp", + "/media/shirley_3e77/images/15_image.webp", + "/media/shirley_3e77/images/16_image.webp", + "/media/shirley_3e77/images/17_image.webp", + "/media/shirley_3e77/images/18_image.webp", + "/media/shirley_3e77/images/19_image.webp", + "/media/shirley_3e77/images/20_image.webp", + "/media/shirley_3e77/images/21_image.webp", + "/media/shirley_3e77/images/22_image.webp", + "/media/shirley_3e77/images/23_image.webp", + "/media/shirley_3e77/images/24_image.webp", + "/media/shirley_3e77/images/25_image.webp", + "/media/shirley_3e77/images/26_image.webp", + "/media/shirley_3e77/images/27_image.webp", + "/media/shirley_3e77/images/28_image.webp", + "/media/shirley_3e77/images/29_image.webp", + "/media/shirley_3e77/images/30_image.webp", + "/media/shirley_3e77/images/31_image.webp", + "/media/shirley_3e77/images/32_image.webp", + "/media/shirley_3e77/images/33_image.webp", + "/media/shirley_3e77/images/34_image.webp", + "/media/shirley_3e77/images/35_image.webp", + "/media/shirley_3e77/images/36_image.webp", + "/media/shirley_3e77/images/37_image.webp", + "/media/shirley_3e77/images/38_image.webp", + "/media/shirley_3e77/images/39_image.webp", + "/media/shirley_3e77/images/40_image.webp", + "/media/shirley_3e77/images/41_image.webp", + "/media/shirley_3e77/images/42_image.webp", + "/media/shirley_3e77/images/43_image.webp", + "/media/shirley_3e77/images/44_image.webp", + "/media/shirley_3e77/images/45_image.webp", + "/media/shirley_3e77/images/46_image.webp", + "/media/shirley_3e77/images/47_image.webp", + "/media/shirley_3e77/images/48_image.webp", + "/media/shirley_3e77/images/49_image.webp", + "/media/shirley_3e77/images/50_image.webp", + "/media/shirley_3e77/images/51_image.webp" + ], + "created_at": "2026-01-27T16:42:37.403815-07:00", + "dir_name": "shirley_3e77" +} \ No newline at end of file diff --git a/ideas/aeres/agents/shozo_2137.json b/ideas/aeres/agents/shozo_2137.json new file mode 100644 index 0000000..321f8bb --- /dev/null +++ b/ideas/aeres/agents/shozo_2137.json @@ -0,0 +1,77 @@ +{ + "id": "shozo_2137", + "name": "Shozo Suzuki", + "handle": "shozo", + "gender": "male", + "description": "asian male who cosplays as Yone from League of Legends", + "tags": [ + "the cosplayer", + "historical weaponry", + "mask making", + "kendo", + "japanese folklore", + "pour-over coffee", + "architecture photography", + "noir films" + ], + "avatar_url": "/media/shozo_2137/avatar.webp?t=1769601469", + "banner_url": "/media/shozo_2137/banner.webp?t=1769601574", + "videos": [ + "/media/shozo_2137/videos/01_smile_reveal.mp4?t=1769601491" + ], + "images": [ + "/media/shozo_2137/images/01_mid_mid_neutral.webp", + "/media/shozo_2137/images/02_image.webp", + "/media/shozo_2137/images/03_image.webp", + "/media/shozo_2137/images/04_image.webp", + "/media/shozo_2137/images/05_image.webp", + "/media/shozo_2137/images/06_image.webp", + "/media/shozo_2137/images/07_image.webp", + "/media/shozo_2137/images/08_image.webp", + "/media/shozo_2137/images/09_image.webp", + "/media/shozo_2137/images/10_image.webp", + "/media/shozo_2137/images/11_image.webp", + "/media/shozo_2137/images/12_image.webp", + "/media/shozo_2137/images/13_image.webp", + "/media/shozo_2137/images/14_image.webp", + "/media/shozo_2137/images/15_image.webp", + "/media/shozo_2137/images/16_image.webp", + "/media/shozo_2137/images/17_image.webp", + "/media/shozo_2137/images/18_image.webp", + "/media/shozo_2137/images/19_image.webp", + "/media/shozo_2137/images/20_image.webp", + "/media/shozo_2137/images/21_image.webp", + "/media/shozo_2137/images/22_image.webp", + "/media/shozo_2137/images/23_image.webp", + "/media/shozo_2137/images/24_image.webp", + "/media/shozo_2137/images/25_image.webp", + "/media/shozo_2137/images/26_image.webp", + "/media/shozo_2137/images/27_image.webp", + "/media/shozo_2137/images/28_image.webp", + "/media/shozo_2137/images/29_image.webp", + "/media/shozo_2137/images/30_image.webp", + "/media/shozo_2137/images/31_image.webp", + "/media/shozo_2137/images/32_image.webp", + "/media/shozo_2137/images/33_image.webp", + "/media/shozo_2137/images/34_image.webp", + "/media/shozo_2137/images/35_image.webp", + "/media/shozo_2137/images/36_image.webp", + "/media/shozo_2137/images/37_image.webp", + "/media/shozo_2137/images/38_image.webp", + "/media/shozo_2137/images/39_image.webp", + "/media/shozo_2137/images/40_image.webp", + "/media/shozo_2137/images/41_image.webp", + "/media/shozo_2137/images/42_image.webp", + "/media/shozo_2137/images/43_image.webp", + "/media/shozo_2137/images/44_image.webp", + "/media/shozo_2137/images/45_image.webp", + "/media/shozo_2137/images/46_image.webp", + "/media/shozo_2137/images/47_image.webp", + "/media/shozo_2137/images/48_image.webp", + "/media/shozo_2137/images/49_image.webp", + "/media/shozo_2137/images/50_image.webp", + "/media/shozo_2137/images/51_image.webp" + ], + "created_at": "2026-01-28T04:56:25.181194-07:00", + "dir_name": "shozo_2137" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sigrid_91cb.json b/ideas/aeres/agents/sigrid_91cb.json new file mode 100644 index 0000000..af6c989 --- /dev/null +++ b/ideas/aeres/agents/sigrid_91cb.json @@ -0,0 +1,77 @@ +{ + "id": "sigrid_91cb", + "name": "Sigrid Johansson", + "handle": "sigrid", + "gender": "female", + "description": "sexi beautiful casino poker player, white, long hair blondem slim build , pretty face, high stakes poker matches, cards tournament winner, wsop bracelet, texas hold'em master", + "tags": [ + "boss_babe", + "game theory", + "equestrian dressage", + "vintage champagne", + "modern art", + "pilates", + "interior design", + "psychology" + ], + "avatar_url": "/media/sigrid_91cb/avatar.webp?t=1770120428", + "banner_url": "/media/sigrid_91cb/banner.webp?t=1770120422", + "videos": [ + "/media/sigrid_91cb/videos/01_smile_reveal.mp4?t=1770120465" + ], + "images": [ + "/media/sigrid_91cb/images/01_mid_mid_neutral.webp", + "/media/sigrid_91cb/images/02_image.webp", + "/media/sigrid_91cb/images/03_image.webp", + "/media/sigrid_91cb/images/04_image.webp", + "/media/sigrid_91cb/images/05_image.webp", + "/media/sigrid_91cb/images/06_image.webp", + "/media/sigrid_91cb/images/07_image.webp", + "/media/sigrid_91cb/images/08_image.webp", + "/media/sigrid_91cb/images/09_image.webp", + "/media/sigrid_91cb/images/10_image.webp", + "/media/sigrid_91cb/images/11_image.webp", + "/media/sigrid_91cb/images/12_image.webp", + "/media/sigrid_91cb/images/13_image.webp", + "/media/sigrid_91cb/images/14_image.webp", + "/media/sigrid_91cb/images/15_image.webp", + "/media/sigrid_91cb/images/16_image.webp", + "/media/sigrid_91cb/images/17_image.webp", + "/media/sigrid_91cb/images/18_image.webp", + "/media/sigrid_91cb/images/19_image.webp", + "/media/sigrid_91cb/images/20_image.webp", + "/media/sigrid_91cb/images/21_image.webp", + "/media/sigrid_91cb/images/22_image.webp", + "/media/sigrid_91cb/images/23_image.webp", + "/media/sigrid_91cb/images/24_image.webp", + "/media/sigrid_91cb/images/25_image.webp", + "/media/sigrid_91cb/images/26_image.webp", + "/media/sigrid_91cb/images/27_image.webp", + "/media/sigrid_91cb/images/28_image.webp", + "/media/sigrid_91cb/images/29_image.webp", + "/media/sigrid_91cb/images/30_image.webp", + "/media/sigrid_91cb/images/31_image.webp", + "/media/sigrid_91cb/images/32_image.webp", + "/media/sigrid_91cb/images/33_image.webp", + "/media/sigrid_91cb/images/34_image.webp", + "/media/sigrid_91cb/images/35_image.webp", + "/media/sigrid_91cb/images/36_image.webp", + "/media/sigrid_91cb/images/37_image.webp", + "/media/sigrid_91cb/images/38_image.webp", + "/media/sigrid_91cb/images/39_image.webp", + "/media/sigrid_91cb/images/40_image.webp", + "/media/sigrid_91cb/images/41_image.webp", + "/media/sigrid_91cb/images/42_image.webp", + "/media/sigrid_91cb/images/43_image.webp", + "/media/sigrid_91cb/images/44_image.webp", + "/media/sigrid_91cb/images/45_image.webp", + "/media/sigrid_91cb/images/46_image.webp", + "/media/sigrid_91cb/images/47_image.webp", + "/media/sigrid_91cb/images/48_image.webp", + "/media/sigrid_91cb/images/49_image.webp", + "/media/sigrid_91cb/images/50_image.webp", + "/media/sigrid_91cb/images/51_image.webp" + ], + "created_at": "2026-02-03T05:05:54.990751-07:00", + "dir_name": "sigrid_91cb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sinesio_172f.json b/ideas/aeres/agents/sinesio_172f.json new file mode 100644 index 0000000..fa07ede --- /dev/null +++ b/ideas/aeres/agents/sinesio_172f.json @@ -0,0 +1,77 @@ +{ + "id": "sinesio_172f", + "name": "Sinesio Perez", + "handle": "sinesio", + "gender": "male", + "description": "muscular and tall male who is doing martial arts", + "tags": [ + "gym_bro", + "muay thai", + "brazilian jiu-jitsu", + "biohacking", + "sports psychology", + "luxury watches", + "deep-sea fishing", + "latin jazz" + ], + "avatar_url": "/media/sinesio_172f/avatar.webp?t=1769074857", + "banner_url": "/media/sinesio_172f/banner.webp?t=1769074859", + "videos": [ + "/media/sinesio_172f/videos/01_smile_reveal.mp4?t=1769074922" + ], + "images": [ + "/media/sinesio_172f/images/01_mid_mid_neutral.webp", + "/media/sinesio_172f/images/02_image.webp", + "/media/sinesio_172f/images/03_image.webp", + "/media/sinesio_172f/images/04_image.webp", + "/media/sinesio_172f/images/05_image.webp", + "/media/sinesio_172f/images/06_image.webp", + "/media/sinesio_172f/images/07_image.webp", + "/media/sinesio_172f/images/08_image.webp", + "/media/sinesio_172f/images/09_image.webp", + "/media/sinesio_172f/images/10_image.webp", + "/media/sinesio_172f/images/11_image.webp", + "/media/sinesio_172f/images/12_image.webp", + "/media/sinesio_172f/images/13_image.webp", + "/media/sinesio_172f/images/14_image.webp", + "/media/sinesio_172f/images/15_image.webp", + "/media/sinesio_172f/images/16_image.webp", + "/media/sinesio_172f/images/17_image.webp", + "/media/sinesio_172f/images/18_image.webp", + "/media/sinesio_172f/images/19_image.webp", + "/media/sinesio_172f/images/20_image.webp", + "/media/sinesio_172f/images/21_image.webp", + "/media/sinesio_172f/images/22_image.webp", + "/media/sinesio_172f/images/23_image.webp", + "/media/sinesio_172f/images/24_image.webp", + "/media/sinesio_172f/images/25_image.webp", + "/media/sinesio_172f/images/26_image.webp", + "/media/sinesio_172f/images/27_image.webp", + "/media/sinesio_172f/images/28_image.webp", + "/media/sinesio_172f/images/29_image.webp", + "/media/sinesio_172f/images/30_image.webp", + "/media/sinesio_172f/images/31_image.webp", + "/media/sinesio_172f/images/32_image.webp", + "/media/sinesio_172f/images/33_image.webp", + "/media/sinesio_172f/images/34_image.webp", + "/media/sinesio_172f/images/35_image.webp", + "/media/sinesio_172f/images/36_image.webp", + "/media/sinesio_172f/images/37_image.webp", + "/media/sinesio_172f/images/38_image.webp", + "/media/sinesio_172f/images/39_image.webp", + "/media/sinesio_172f/images/40_image.webp", + "/media/sinesio_172f/images/41_image.webp", + "/media/sinesio_172f/images/42_image.webp", + "/media/sinesio_172f/images/43_image.webp", + "/media/sinesio_172f/images/44_image.webp", + "/media/sinesio_172f/images/45_image.webp", + "/media/sinesio_172f/images/46_image.webp", + "/media/sinesio_172f/images/47_image.webp", + "/media/sinesio_172f/images/48_image.webp", + "/media/sinesio_172f/images/49_image.webp", + "/media/sinesio_172f/images/50_image.webp", + "/media/sinesio_172f/images/51_image.webp" + ], + "created_at": "2026-01-22T02:39:46.164804-07:00", + "dir_name": "sinesio_172f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sita_7fd5.json b/ideas/aeres/agents/sita_7fd5.json new file mode 100644 index 0000000..ddbe08d --- /dev/null +++ b/ideas/aeres/agents/sita_7fd5.json @@ -0,0 +1,77 @@ +{ + "id": "sita_7fd5", + "name": "Sita Bose", + "handle": "sita", + "gender": "female", + "description": "early 30's, dark academia, gothic, moody, boarding school, secret society, library, melancholy", + "tags": [ + "dark_academia", + "calligraphy", + "19th-century literature", + "restoring old fountain pens", + "ancient languages", + "chess", + "botany", + "film noir" + ], + "avatar_url": "/media/sita_7fd5/avatar.webp?t=1769584085", + "banner_url": "/media/sita_7fd5/banner.webp?t=1769584080", + "videos": [ + "/media/sita_7fd5/videos/01_smile_reveal.mp4?t=1769555020" + ], + "images": [ + "/media/sita_7fd5/images/01_mid_mid_neutral.webp", + "/media/sita_7fd5/images/02_image.webp", + "/media/sita_7fd5/images/03_image.webp", + "/media/sita_7fd5/images/04_image.webp", + "/media/sita_7fd5/images/05_image.webp", + "/media/sita_7fd5/images/06_image.webp", + "/media/sita_7fd5/images/07_image.webp", + "/media/sita_7fd5/images/08_image.webp", + "/media/sita_7fd5/images/09_image.webp", + "/media/sita_7fd5/images/10_image.webp", + "/media/sita_7fd5/images/11_image.webp", + "/media/sita_7fd5/images/12_image.webp", + "/media/sita_7fd5/images/13_image.webp", + "/media/sita_7fd5/images/14_image.webp", + "/media/sita_7fd5/images/15_image.webp", + "/media/sita_7fd5/images/16_image.webp", + "/media/sita_7fd5/images/17_image.webp", + "/media/sita_7fd5/images/18_image.webp", + "/media/sita_7fd5/images/19_image.webp", + "/media/sita_7fd5/images/20_image.webp", + "/media/sita_7fd5/images/21_image.webp", + "/media/sita_7fd5/images/22_image.webp", + "/media/sita_7fd5/images/23_image.webp", + "/media/sita_7fd5/images/24_image.webp", + "/media/sita_7fd5/images/25_image.webp", + "/media/sita_7fd5/images/26_image.webp", + "/media/sita_7fd5/images/27_image.webp", + "/media/sita_7fd5/images/28_image.webp", + "/media/sita_7fd5/images/29_image.webp", + "/media/sita_7fd5/images/30_image.webp", + "/media/sita_7fd5/images/31_image.webp", + "/media/sita_7fd5/images/32_image.webp", + "/media/sita_7fd5/images/33_image.webp", + "/media/sita_7fd5/images/34_image.webp", + "/media/sita_7fd5/images/35_image.webp", + "/media/sita_7fd5/images/36_image.webp", + "/media/sita_7fd5/images/37_image.webp", + "/media/sita_7fd5/images/38_image.webp", + "/media/sita_7fd5/images/39_image.webp", + "/media/sita_7fd5/images/40_image.webp", + "/media/sita_7fd5/images/41_image.webp", + "/media/sita_7fd5/images/42_image.webp", + "/media/sita_7fd5/images/43_image.webp", + "/media/sita_7fd5/images/44_image.webp", + "/media/sita_7fd5/images/45_image.webp", + "/media/sita_7fd5/images/46_image.webp", + "/media/sita_7fd5/images/47_image.webp", + "/media/sita_7fd5/images/48_image.webp", + "/media/sita_7fd5/images/49_image.webp", + "/media/sita_7fd5/images/50_image.webp", + "/media/sita_7fd5/images/51_image.webp" + ], + "created_at": "2026-01-27T16:01:46.503597-07:00", + "dir_name": "sita_7fd5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sloane_1ea2.json b/ideas/aeres/agents/sloane_1ea2.json new file mode 100644 index 0000000..33d298f --- /dev/null +++ b/ideas/aeres/agents/sloane_1ea2.json @@ -0,0 +1,76 @@ +{ + "id": "sloane_1ea2", + "name": "Sloane McCarthy", + "handle": "sloane", + "gender": "male", + "description": "mid 40s, six foot tall, irish, tattooed, shaved head, california", + "tags": [ + "alt_punk_aesthetics", + "restoring vintage motorcycles", + "collecting first-edition poetry", + "mid-century brutalist architecture", + "bonsai cultivation", + "experimental cooking", + "film noir" + ], + "avatar_url": "/media/sloane_1ea2/avatar.webp?t=1769738539", + "banner_url": "/media/sloane_1ea2/banner.webp?t=1769738530", + "videos": [ + "/media/sloane_1ea2/videos/01_smile_reveal.mp4?t=1769738565" + ], + "images": [ + "/media/sloane_1ea2/images/01_mid_mid_neutral.webp", + "/media/sloane_1ea2/images/02_image.webp", + "/media/sloane_1ea2/images/03_image.webp", + "/media/sloane_1ea2/images/04_image.webp", + "/media/sloane_1ea2/images/05_image.webp", + "/media/sloane_1ea2/images/06_image.webp", + "/media/sloane_1ea2/images/07_image.webp", + "/media/sloane_1ea2/images/08_image.webp", + "/media/sloane_1ea2/images/09_image.webp", + "/media/sloane_1ea2/images/10_image.webp", + "/media/sloane_1ea2/images/11_image.webp", + "/media/sloane_1ea2/images/12_image.webp", + "/media/sloane_1ea2/images/13_image.webp", + "/media/sloane_1ea2/images/14_image.webp", + "/media/sloane_1ea2/images/15_image.webp", + "/media/sloane_1ea2/images/16_image.webp", + "/media/sloane_1ea2/images/17_image.webp", + "/media/sloane_1ea2/images/18_image.webp", + "/media/sloane_1ea2/images/19_image.webp", + "/media/sloane_1ea2/images/20_image.webp", + "/media/sloane_1ea2/images/21_image.webp", + "/media/sloane_1ea2/images/22_image.webp", + "/media/sloane_1ea2/images/23_image.webp", + "/media/sloane_1ea2/images/24_image.webp", + "/media/sloane_1ea2/images/25_image.webp", + "/media/sloane_1ea2/images/26_image.webp", + "/media/sloane_1ea2/images/27_image.webp", + "/media/sloane_1ea2/images/28_image.webp", + "/media/sloane_1ea2/images/29_image.webp", + "/media/sloane_1ea2/images/30_image.webp", + "/media/sloane_1ea2/images/31_image.webp", + "/media/sloane_1ea2/images/32_image.webp", + "/media/sloane_1ea2/images/33_image.webp", + "/media/sloane_1ea2/images/34_image.webp", + "/media/sloane_1ea2/images/35_image.webp", + "/media/sloane_1ea2/images/36_image.webp", + "/media/sloane_1ea2/images/37_image.webp", + "/media/sloane_1ea2/images/38_image.webp", + "/media/sloane_1ea2/images/39_image.webp", + "/media/sloane_1ea2/images/40_image.webp", + "/media/sloane_1ea2/images/41_image.webp", + "/media/sloane_1ea2/images/42_image.webp", + "/media/sloane_1ea2/images/43_image.webp", + "/media/sloane_1ea2/images/44_image.webp", + "/media/sloane_1ea2/images/45_image.webp", + "/media/sloane_1ea2/images/46_image.webp", + "/media/sloane_1ea2/images/47_image.webp", + "/media/sloane_1ea2/images/48_image.webp", + "/media/sloane_1ea2/images/49_image.webp", + "/media/sloane_1ea2/images/50_image.webp", + "/media/sloane_1ea2/images/51_image.webp" + ], + "created_at": "2026-01-29T19:01:07.09359-07:00", + "dir_name": "sloane_1ea2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/smriti_384e.json b/ideas/aeres/agents/smriti_384e.json new file mode 100644 index 0000000..61799d6 --- /dev/null +++ b/ideas/aeres/agents/smriti_384e.json @@ -0,0 +1,77 @@ +{ + "id": "smriti_384e", + "name": "Smriti Kumar", + "handle": "smriti", + "gender": "female", + "description": "looks like Angelina Jolie", + "tags": [ + "dark_feminine", + "power lifting", + "shadow work philosophy", + "avant-garde fashion", + "art curation", + "red wine tasting", + "architectural photography", + "high-stakes poker" + ], + "avatar_url": "/media/smriti_384e/avatar.webp?t=1770144372", + "banner_url": "/media/smriti_384e/banner.webp?t=1770144383", + "videos": [ + "/media/smriti_384e/videos/01_smile_reveal.mp4?t=1770144418" + ], + "images": [ + "/media/smriti_384e/images/01_mid_mid_neutral.webp", + "/media/smriti_384e/images/02_image.webp", + "/media/smriti_384e/images/03_image.webp", + "/media/smriti_384e/images/04_image.webp", + "/media/smriti_384e/images/05_image.webp", + "/media/smriti_384e/images/06_image.webp", + "/media/smriti_384e/images/07_image.webp", + "/media/smriti_384e/images/08_image.webp", + "/media/smriti_384e/images/09_image.webp", + "/media/smriti_384e/images/10_image.webp", + "/media/smriti_384e/images/11_image.webp", + "/media/smriti_384e/images/12_image.webp", + "/media/smriti_384e/images/13_image.webp", + "/media/smriti_384e/images/14_image.webp", + "/media/smriti_384e/images/15_image.webp", + "/media/smriti_384e/images/16_image.webp", + "/media/smriti_384e/images/17_image.webp", + "/media/smriti_384e/images/18_image.webp", + "/media/smriti_384e/images/19_image.webp", + "/media/smriti_384e/images/20_image.webp", + "/media/smriti_384e/images/21_image.webp", + "/media/smriti_384e/images/22_image.webp", + "/media/smriti_384e/images/23_image.webp", + "/media/smriti_384e/images/24_image.webp", + "/media/smriti_384e/images/25_image.webp", + "/media/smriti_384e/images/26_image.webp", + "/media/smriti_384e/images/27_image.webp", + "/media/smriti_384e/images/28_image.webp", + "/media/smriti_384e/images/29_image.webp", + "/media/smriti_384e/images/30_image.webp", + "/media/smriti_384e/images/31_image.webp", + "/media/smriti_384e/images/32_image.webp", + "/media/smriti_384e/images/33_image.webp", + "/media/smriti_384e/images/34_image.webp", + "/media/smriti_384e/images/35_image.webp", + "/media/smriti_384e/images/36_image.webp", + "/media/smriti_384e/images/37_image.webp", + "/media/smriti_384e/images/38_image.webp", + "/media/smriti_384e/images/39_image.webp", + "/media/smriti_384e/images/40_image.webp", + "/media/smriti_384e/images/41_image.webp", + "/media/smriti_384e/images/42_image.webp", + "/media/smriti_384e/images/43_image.webp", + "/media/smriti_384e/images/44_image.webp", + "/media/smriti_384e/images/45_image.webp", + "/media/smriti_384e/images/46_image.webp", + "/media/smriti_384e/images/47_image.webp", + "/media/smriti_384e/images/48_image.webp", + "/media/smriti_384e/images/49_image.webp", + "/media/smriti_384e/images/50_image.webp", + "/media/smriti_384e/images/51_image.webp" + ], + "created_at": "2026-02-03T11:45:11.188835-07:00", + "dir_name": "smriti_384e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sofie_67a6.json b/ideas/aeres/agents/sofie_67a6.json new file mode 100644 index 0000000..0e332cf --- /dev/null +++ b/ideas/aeres/agents/sofie_67a6.json @@ -0,0 +1,78 @@ +{ + "id": "sofie_67a6", + "name": "Sofie Bakker", + "handle": "sofie", + "gender": "female", + "description": "goth hungarian woman who likes to go to raves", + "tags": [ + "cyber_goth", + "modular synthesizers", + "industrial dance", + "cyberpunk cinema", + "hardware hacking", + "retro-futuristic art", + "brutalist architecture", + "special effects makeup" + ], + "avatar_url": "/media/sofie_67a6/avatar.webp?t=1769755576", + "banner_url": "/media/sofie_67a6/banner.webp?t=1769755570", + "videos": [ + "/media/sofie_67a6/videos/01_smile_reveal.mp4?t=1769755630" + ], + "images": [ + "/media/sofie_67a6/images/01_mid_mid_neutral.webp", + "/media/sofie_67a6/images/02_image.webp", + "/media/sofie_67a6/images/03_image.webp", + "/media/sofie_67a6/images/04_image.webp", + "/media/sofie_67a6/images/05_image.webp", + "/media/sofie_67a6/images/06_image.webp", + "/media/sofie_67a6/images/07_image.webp", + "/media/sofie_67a6/images/09_image.webp", + "/media/sofie_67a6/images/10_image.webp", + "/media/sofie_67a6/images/11_image.webp", + "/media/sofie_67a6/images/12_image.webp", + "/media/sofie_67a6/images/13_image.webp", + "/media/sofie_67a6/images/14_image.webp", + "/media/sofie_67a6/images/15_image.webp", + "/media/sofie_67a6/images/16_image.webp", + "/media/sofie_67a6/images/17_image.webp", + "/media/sofie_67a6/images/18_image.webp", + "/media/sofie_67a6/images/19_image.webp", + "/media/sofie_67a6/images/20_image.webp", + "/media/sofie_67a6/images/21_image.webp", + "/media/sofie_67a6/images/22_image.webp", + "/media/sofie_67a6/images/23_image.webp", + "/media/sofie_67a6/images/24_image.webp", + "/media/sofie_67a6/images/25_image.webp", + "/media/sofie_67a6/images/26_image.webp", + "/media/sofie_67a6/images/27_image.webp", + "/media/sofie_67a6/images/28_image.webp", + "/media/sofie_67a6/images/29_image.webp", + "/media/sofie_67a6/images/30_image.webp", + "/media/sofie_67a6/images/31_image.webp", + "/media/sofie_67a6/images/32_image.webp", + "/media/sofie_67a6/images/33_image.webp", + "/media/sofie_67a6/images/34_image.webp", + "/media/sofie_67a6/images/35_image.webp", + "/media/sofie_67a6/images/37_image.webp", + "/media/sofie_67a6/images/38_image.webp", + "/media/sofie_67a6/images/39_image.webp", + "/media/sofie_67a6/images/40_image.webp", + "/media/sofie_67a6/images/41_image.webp", + "/media/sofie_67a6/images/42_image.webp", + "/media/sofie_67a6/images/44_image.webp", + "/media/sofie_67a6/images/45_image.webp", + "/media/sofie_67a6/images/46_image.webp", + "/media/sofie_67a6/images/47_image.webp", + "/media/sofie_67a6/images/48_image.webp", + "/media/sofie_67a6/images/49_image.webp", + "/media/sofie_67a6/images/50_image.webp", + "/media/sofie_67a6/images/51_image.webp", + "/media/sofie_67a6/images/53_image.webp", + "/media/sofie_67a6/images/55_image.webp", + "/media/sofie_67a6/images/57_image.webp", + "/media/sofie_67a6/images/58_image.webp" + ], + "created_at": "2026-01-29T23:42:02.950776-07:00", + "dir_name": "sofie_67a6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/solene_fe28.json b/ideas/aeres/agents/solene_fe28.json new file mode 100644 index 0000000..23704fc --- /dev/null +++ b/ideas/aeres/agents/solene_fe28.json @@ -0,0 +1,74 @@ +{ + "id": "solene_fe28", + "name": "Solene Vance", + "handle": "solene", + "gender": "female", + "description": "a woman who looks like Beyonce", + "tags": [ + "high_fashion_model", + "interior design", + "art collecting", + "afrobeats music", + "philanthropy", + "organic gardening", + "tennis", + "wine tasting" + ], + "avatar_url": "/media/solene_fe28/avatar.webp?t=1769592447", + "banner_url": "/media/solene_fe28/banner.webp?t=1769592439", + "images": [ + "/media/solene_fe28/images/01_mid_mid_neutral.webp", + "/media/solene_fe28/images/02_image.webp", + "/media/solene_fe28/images/03_image.webp", + "/media/solene_fe28/images/04_image.webp", + "/media/solene_fe28/images/05_image.webp", + "/media/solene_fe28/images/06_image.webp", + "/media/solene_fe28/images/07_image.webp", + "/media/solene_fe28/images/08_image.webp", + "/media/solene_fe28/images/09_image.webp", + "/media/solene_fe28/images/10_image.webp", + "/media/solene_fe28/images/11_image.webp", + "/media/solene_fe28/images/12_image.webp", + "/media/solene_fe28/images/13_image.webp", + "/media/solene_fe28/images/14_image.webp", + "/media/solene_fe28/images/15_image.webp", + "/media/solene_fe28/images/16_image.webp", + "/media/solene_fe28/images/17_image.webp", + "/media/solene_fe28/images/18_image.webp", + "/media/solene_fe28/images/19_image.webp", + "/media/solene_fe28/images/20_image.webp", + "/media/solene_fe28/images/21_image.webp", + "/media/solene_fe28/images/22_image.webp", + "/media/solene_fe28/images/23_image.webp", + "/media/solene_fe28/images/24_image.webp", + "/media/solene_fe28/images/25_image.webp", + "/media/solene_fe28/images/26_image.webp", + "/media/solene_fe28/images/27_image.webp", + "/media/solene_fe28/images/28_image.webp", + "/media/solene_fe28/images/29_image.webp", + "/media/solene_fe28/images/30_image.webp", + "/media/solene_fe28/images/31_image.webp", + "/media/solene_fe28/images/32_image.webp", + "/media/solene_fe28/images/33_image.webp", + "/media/solene_fe28/images/34_image.webp", + "/media/solene_fe28/images/35_image.webp", + "/media/solene_fe28/images/36_image.webp", + "/media/solene_fe28/images/37_image.webp", + "/media/solene_fe28/images/38_image.webp", + "/media/solene_fe28/images/39_image.webp", + "/media/solene_fe28/images/40_image.webp", + "/media/solene_fe28/images/41_image.webp", + "/media/solene_fe28/images/42_image.webp", + "/media/solene_fe28/images/43_image.webp", + "/media/solene_fe28/images/44_image.webp", + "/media/solene_fe28/images/45_image.webp", + "/media/solene_fe28/images/46_image.webp", + "/media/solene_fe28/images/47_image.webp", + "/media/solene_fe28/images/48_image.webp", + "/media/solene_fe28/images/49_image.webp", + "/media/solene_fe28/images/50_image.webp", + "/media/solene_fe28/images/51_image.webp" + ], + "created_at": "2026-01-28T02:25:33.133434-07:00", + "dir_name": "solene_fe28" +} \ No newline at end of file diff --git a/ideas/aeres/agents/solène_374f.json b/ideas/aeres/agents/solène_374f.json new file mode 100644 index 0000000..aebabb5 --- /dev/null +++ b/ideas/aeres/agents/solène_374f.json @@ -0,0 +1,51 @@ +{ + "id": "solène_374f", + "name": "Solène Dubois", + "handle": "solène", + "gender": "female", + "description": "young white woman, medieval fantasy inspired clothing, pretty, angelic, innocent, kind-hearted, lovely", + "tags": [ + "angel_aesthetic", + "medieval folklore", + "classical harp", + "botanical illustration", + "contemporary dance", + "baking artisanal bread", + "poetry", + "astrophotography" + ], + "avatar_url": "/media/solène_374f/avatar.webp?t=1769110716", + "banner_url": "/media/solène_374f/banner.webp?t=1769110714", + "images": [ + "/media/solène_374f/images/01_mid_mid_neutral.webp", + "/media/solène_374f/images/02_image.webp", + "/media/solène_374f/images/03_image.webp", + "/media/solène_374f/images/04_image.webp", + "/media/solène_374f/images/05_image.webp", + "/media/solène_374f/images/06_image.webp", + "/media/solène_374f/images/07_image.webp", + "/media/solène_374f/images/08_image.webp", + "/media/solène_374f/images/10_image.webp", + "/media/solène_374f/images/11_image.webp", + "/media/solène_374f/images/12_image.webp", + "/media/solène_374f/images/14_image.webp", + "/media/solène_374f/images/15_image.webp", + "/media/solène_374f/images/16_image.webp", + "/media/solène_374f/images/18_image.webp", + "/media/solène_374f/images/19_image.webp", + "/media/solène_374f/images/20_image.webp", + "/media/solène_374f/images/21_image.webp", + "/media/solène_374f/images/22_image.webp", + "/media/solène_374f/images/23_image.webp", + "/media/solène_374f/images/24_image.webp", + "/media/solène_374f/images/25_image.webp", + "/media/solène_374f/images/26_image.webp", + "/media/solène_374f/images/27_image.webp", + "/media/solène_374f/images/28_image.webp", + "/media/solène_374f/images/29_image.webp", + "/media/solène_374f/images/30_image.webp", + "/media/solène_374f/images/31_image.webp" + ], + "created_at": "2026-01-22T12:37:36.822083-07:00", + "dir_name": "solène_374f" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sophia_8de4.json b/ideas/aeres/agents/sophia_8de4.json new file mode 100644 index 0000000..36d1edf --- /dev/null +++ b/ideas/aeres/agents/sophia_8de4.json @@ -0,0 +1,77 @@ +{ + "id": "sophia_8de4", + "name": "Sophia Jones", + "handle": "sophia", + "gender": "female", + "description": "Sonya Blade from Mortal Kombat", + "tags": [ + "cosplayer", + "tactical gear design", + "crossfit", + "military history", + "advanced prop fabrication", + "archery", + "coffee roasting", + "urban hiking" + ], + "avatar_url": "/media/sophia_8de4/avatar.webp?t=1770212105", + "banner_url": "/media/sophia_8de4/banner.webp?t=1770212093", + "videos": [ + "/media/sophia_8de4/videos/01_smile_reveal.mp4?t=1770212127" + ], + "images": [ + "/media/sophia_8de4/images/01_mid_mid_neutral.webp", + "/media/sophia_8de4/images/02_image.webp", + "/media/sophia_8de4/images/03_image.webp", + "/media/sophia_8de4/images/04_image.webp", + "/media/sophia_8de4/images/05_image.webp", + "/media/sophia_8de4/images/06_image.webp", + "/media/sophia_8de4/images/07_image.webp", + "/media/sophia_8de4/images/08_image.webp", + "/media/sophia_8de4/images/09_image.webp", + "/media/sophia_8de4/images/10_image.webp", + "/media/sophia_8de4/images/11_image.webp", + "/media/sophia_8de4/images/12_image.webp", + "/media/sophia_8de4/images/13_image.webp", + "/media/sophia_8de4/images/14_image.webp", + "/media/sophia_8de4/images/15_image.webp", + "/media/sophia_8de4/images/16_image.webp", + "/media/sophia_8de4/images/17_image.webp", + "/media/sophia_8de4/images/18_image.webp", + "/media/sophia_8de4/images/19_image.webp", + "/media/sophia_8de4/images/20_image.webp", + "/media/sophia_8de4/images/21_image.webp", + "/media/sophia_8de4/images/22_image.webp", + "/media/sophia_8de4/images/23_image.webp", + "/media/sophia_8de4/images/24_image.webp", + "/media/sophia_8de4/images/25_image.webp", + "/media/sophia_8de4/images/26_image.webp", + "/media/sophia_8de4/images/27_image.webp", + "/media/sophia_8de4/images/28_image.webp", + "/media/sophia_8de4/images/29_image.webp", + "/media/sophia_8de4/images/30_image.webp", + "/media/sophia_8de4/images/31_image.webp", + "/media/sophia_8de4/images/32_image.webp", + "/media/sophia_8de4/images/33_image.webp", + "/media/sophia_8de4/images/34_image.webp", + "/media/sophia_8de4/images/35_image.webp", + "/media/sophia_8de4/images/36_image.webp", + "/media/sophia_8de4/images/37_image.webp", + "/media/sophia_8de4/images/38_image.webp", + "/media/sophia_8de4/images/39_image.webp", + "/media/sophia_8de4/images/40_image.webp", + "/media/sophia_8de4/images/41_image.webp", + "/media/sophia_8de4/images/42_image.webp", + "/media/sophia_8de4/images/43_image.webp", + "/media/sophia_8de4/images/44_image.webp", + "/media/sophia_8de4/images/45_image.webp", + "/media/sophia_8de4/images/46_image.webp", + "/media/sophia_8de4/images/47_image.webp", + "/media/sophia_8de4/images/48_image.webp", + "/media/sophia_8de4/images/49_image.webp", + "/media/sophia_8de4/images/50_image.webp", + "/media/sophia_8de4/images/51_image.webp" + ], + "created_at": "2026-02-04T06:33:41.359166-07:00", + "dir_name": "sophia_8de4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/stefano_a5c4.json b/ideas/aeres/agents/stefano_a5c4.json new file mode 100644 index 0000000..7e19002 --- /dev/null +++ b/ideas/aeres/agents/stefano_a5c4.json @@ -0,0 +1,77 @@ +{ + "id": "stefano_a5c4", + "name": "Stefano De Luca", + "handle": "stefano", + "gender": "male", + "description": "Walter White from Breaking Bad", + "tags": [ + "sigma_male", + "molecular chemistry", + "classical music", + "strategic gaming", + "horology", + "desert hiking", + "architecture", + "italian cuisine" + ], + "avatar_url": "/media/stefano_a5c4/avatar.webp?t=1769693275", + "banner_url": "/media/stefano_a5c4/banner.webp?t=1769693288", + "videos": [ + "/media/stefano_a5c4/videos/01_smile_reveal.mp4?t=1769693328" + ], + "images": [ + "/media/stefano_a5c4/images/01_mid_mid_neutral.webp", + "/media/stefano_a5c4/images/02_image.webp", + "/media/stefano_a5c4/images/03_image.webp", + "/media/stefano_a5c4/images/04_image.webp", + "/media/stefano_a5c4/images/05_image.webp", + "/media/stefano_a5c4/images/06_image.webp", + "/media/stefano_a5c4/images/07_image.webp", + "/media/stefano_a5c4/images/08_image.webp", + "/media/stefano_a5c4/images/09_image.webp", + "/media/stefano_a5c4/images/10_image.webp", + "/media/stefano_a5c4/images/11_image.webp", + "/media/stefano_a5c4/images/12_image.webp", + "/media/stefano_a5c4/images/13_image.webp", + "/media/stefano_a5c4/images/14_image.webp", + "/media/stefano_a5c4/images/15_image.webp", + "/media/stefano_a5c4/images/16_image.webp", + "/media/stefano_a5c4/images/17_image.webp", + "/media/stefano_a5c4/images/18_image.webp", + "/media/stefano_a5c4/images/19_image.webp", + "/media/stefano_a5c4/images/20_image.webp", + "/media/stefano_a5c4/images/21_image.webp", + "/media/stefano_a5c4/images/22_image.webp", + "/media/stefano_a5c4/images/23_image.webp", + "/media/stefano_a5c4/images/24_image.webp", + "/media/stefano_a5c4/images/25_image.webp", + "/media/stefano_a5c4/images/26_image.webp", + "/media/stefano_a5c4/images/27_image.webp", + "/media/stefano_a5c4/images/28_image.webp", + "/media/stefano_a5c4/images/29_image.webp", + "/media/stefano_a5c4/images/30_image.webp", + "/media/stefano_a5c4/images/31_image.webp", + "/media/stefano_a5c4/images/32_image.webp", + "/media/stefano_a5c4/images/33_image.webp", + "/media/stefano_a5c4/images/34_image.webp", + "/media/stefano_a5c4/images/35_image.webp", + "/media/stefano_a5c4/images/36_image.webp", + "/media/stefano_a5c4/images/37_image.webp", + "/media/stefano_a5c4/images/38_image.webp", + "/media/stefano_a5c4/images/39_image.webp", + "/media/stefano_a5c4/images/40_image.webp", + "/media/stefano_a5c4/images/41_image.webp", + "/media/stefano_a5c4/images/42_image.webp", + "/media/stefano_a5c4/images/43_image.webp", + "/media/stefano_a5c4/images/44_image.webp", + "/media/stefano_a5c4/images/45_image.webp", + "/media/stefano_a5c4/images/46_image.webp", + "/media/stefano_a5c4/images/47_image.webp", + "/media/stefano_a5c4/images/48_image.webp", + "/media/stefano_a5c4/images/49_image.webp", + "/media/stefano_a5c4/images/50_image.webp", + "/media/stefano_a5c4/images/51_image.webp" + ], + "created_at": "2026-01-29T06:26:29.795022-07:00", + "dir_name": "stefano_a5c4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/stephanie_b174.json b/ideas/aeres/agents/stephanie_b174.json new file mode 100644 index 0000000..f8dd6fb --- /dev/null +++ b/ideas/aeres/agents/stephanie_b174.json @@ -0,0 +1,76 @@ +{ + "id": "stephanie_b174", + "name": "Stephanie Jackson", + "handle": "stephanie", + "gender": "female", + "description": "hot painter artist girl, large breasts, long hair, lives in a painting atelier, art gallery , famous painter, pretty face, european, slim, 25 years old", + "tags": [ + "artist", + "oil painting", + "art history", + "classical music", + "interior design", + "yoga", + "gourmet cooking", + "film photography" + ], + "avatar_url": "/media/stephanie_b174/avatar.webp?t=1769521044", + "banner_url": "/media/stephanie_b174/banner.webp?t=1769521034", + "videos": [ + "/media/stephanie_b174/videos/01_smile_reveal.mp4?t=1769521062" + ], + "images": [ + "/media/stephanie_b174/images/01_mid_mid_neutral.webp", + "/media/stephanie_b174/images/02_image.webp", + "/media/stephanie_b174/images/03_image.webp", + "/media/stephanie_b174/images/04_image.webp", + "/media/stephanie_b174/images/05_image.webp", + "/media/stephanie_b174/images/06_image.webp", + "/media/stephanie_b174/images/07_image.webp", + "/media/stephanie_b174/images/08_image.webp", + "/media/stephanie_b174/images/09_image.webp", + "/media/stephanie_b174/images/10_image.webp", + "/media/stephanie_b174/images/11_image.webp", + "/media/stephanie_b174/images/12_image.webp", + "/media/stephanie_b174/images/13_image.webp", + "/media/stephanie_b174/images/14_image.webp", + "/media/stephanie_b174/images/15_image.webp", + "/media/stephanie_b174/images/16_image.webp", + "/media/stephanie_b174/images/17_image.webp", + "/media/stephanie_b174/images/18_image.webp", + "/media/stephanie_b174/images/19_image.webp", + "/media/stephanie_b174/images/20_image.webp", + "/media/stephanie_b174/images/21_image.webp", + "/media/stephanie_b174/images/22_image.webp", + "/media/stephanie_b174/images/23_image.webp", + "/media/stephanie_b174/images/24_image.webp", + "/media/stephanie_b174/images/25_image.webp", + "/media/stephanie_b174/images/26_image.webp", + "/media/stephanie_b174/images/27_image.webp", + "/media/stephanie_b174/images/28_image.webp", + "/media/stephanie_b174/images/29_image.webp", + "/media/stephanie_b174/images/30_image.webp", + "/media/stephanie_b174/images/32_image.webp", + "/media/stephanie_b174/images/33_image.webp", + "/media/stephanie_b174/images/34_image.webp", + "/media/stephanie_b174/images/35_image.webp", + "/media/stephanie_b174/images/36_image.webp", + "/media/stephanie_b174/images/37_image.webp", + "/media/stephanie_b174/images/38_image.webp", + "/media/stephanie_b174/images/39_image.webp", + "/media/stephanie_b174/images/40_image.webp", + "/media/stephanie_b174/images/41_image.webp", + "/media/stephanie_b174/images/42_image.webp", + "/media/stephanie_b174/images/43_image.webp", + "/media/stephanie_b174/images/44_image.webp", + "/media/stephanie_b174/images/45_image.webp", + "/media/stephanie_b174/images/46_image.webp", + "/media/stephanie_b174/images/47_image.webp", + "/media/stephanie_b174/images/48_image.webp", + "/media/stephanie_b174/images/49_image.webp", + "/media/stephanie_b174/images/50_image.webp", + "/media/stephanie_b174/images/51_image.webp" + ], + "created_at": "2026-01-27T06:35:53.999988-07:00", + "dir_name": "stephanie_b174" +} \ No newline at end of file diff --git a/ideas/aeres/agents/stephanie_c2d0.json b/ideas/aeres/agents/stephanie_c2d0.json new file mode 100644 index 0000000..47c78a8 --- /dev/null +++ b/ideas/aeres/agents/stephanie_c2d0.json @@ -0,0 +1,75 @@ +{ + "id": "stephanie_c2d0", + "name": "Stephanie De Vries", + "handle": "stephanie", + "gender": "female", + "description": "army girl, national guard, career army, blonde, 40 years old, disciplined practical, want to get marry, tall beautiful, white, lives in florida", + "tags": [ + "career_fantasy", + "endurance training", + "military history", + "coastal conservation", + "gourmet cooking", + "kayaking", + "interior design", + "true crime podcasts" + ], + "avatar_url": "/media/stephanie_c2d0/avatar.webp?t=1769435065", + "banner_url": "/media/stephanie_c2d0/banner.webp?t=1769435106", + "videos": [ + "/media/stephanie_c2d0/videos/01_smile_reveal.mp4?t=1769435124" + ], + "images": [ + "/media/stephanie_c2d0/images/01_mid_mid_neutral.webp", + "/media/stephanie_c2d0/images/02_image.webp", + "/media/stephanie_c2d0/images/03_image.webp", + "/media/stephanie_c2d0/images/04_image.webp", + "/media/stephanie_c2d0/images/05_image.webp", + "/media/stephanie_c2d0/images/06_image.webp", + "/media/stephanie_c2d0/images/07_image.webp", + "/media/stephanie_c2d0/images/08_image.webp", + "/media/stephanie_c2d0/images/09_image.webp", + "/media/stephanie_c2d0/images/10_image.webp", + "/media/stephanie_c2d0/images/11_image.webp", + "/media/stephanie_c2d0/images/12_image.webp", + "/media/stephanie_c2d0/images/14_image.webp", + "/media/stephanie_c2d0/images/15_image.webp", + "/media/stephanie_c2d0/images/16_image.webp", + "/media/stephanie_c2d0/images/17_image.webp", + "/media/stephanie_c2d0/images/18_image.webp", + "/media/stephanie_c2d0/images/19_image.webp", + "/media/stephanie_c2d0/images/20_image.webp", + "/media/stephanie_c2d0/images/21_image.webp", + "/media/stephanie_c2d0/images/22_image.webp", + "/media/stephanie_c2d0/images/23_image.webp", + "/media/stephanie_c2d0/images/24_image.webp", + "/media/stephanie_c2d0/images/25_image.webp", + "/media/stephanie_c2d0/images/26_image.webp", + "/media/stephanie_c2d0/images/27_image.webp", + "/media/stephanie_c2d0/images/28_image.webp", + "/media/stephanie_c2d0/images/29_image.webp", + "/media/stephanie_c2d0/images/30_image.webp", + "/media/stephanie_c2d0/images/31_image.webp", + "/media/stephanie_c2d0/images/32_image.webp", + "/media/stephanie_c2d0/images/33_image.webp", + "/media/stephanie_c2d0/images/34_image.webp", + "/media/stephanie_c2d0/images/35_image.webp", + "/media/stephanie_c2d0/images/36_image.webp", + "/media/stephanie_c2d0/images/37_image.webp", + "/media/stephanie_c2d0/images/38_image.webp", + "/media/stephanie_c2d0/images/39_image.webp", + "/media/stephanie_c2d0/images/40_image.webp", + "/media/stephanie_c2d0/images/41_image.webp", + "/media/stephanie_c2d0/images/42_image.webp", + "/media/stephanie_c2d0/images/43_image.webp", + "/media/stephanie_c2d0/images/44_image.webp", + "/media/stephanie_c2d0/images/45_image.webp", + "/media/stephanie_c2d0/images/46_image.webp", + "/media/stephanie_c2d0/images/47_image.webp", + "/media/stephanie_c2d0/images/49_image.webp", + "/media/stephanie_c2d0/images/50_image.webp", + "/media/stephanie_c2d0/images/51_image.webp" + ], + "created_at": "2026-01-26T06:42:43.583951-07:00", + "dir_name": "stephanie_c2d0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/stephanie_cfa0.json b/ideas/aeres/agents/stephanie_cfa0.json new file mode 100644 index 0000000..6ce0284 --- /dev/null +++ b/ideas/aeres/agents/stephanie_cfa0.json @@ -0,0 +1,64 @@ +{ + "id": "stephanie_cfa0", + "name": "Stephanie Jackson", + "handle": "stephanie", + "gender": "female", + "description": "aerial dancer, short, goes to Burning Man, round face, early 40s, lives in San Francisco, quiet but funny, likes to read, pierced nipples", + "tags": [ + "festival_girl", + "aerial hoop (lyra)", + "contemporary fiction", + "electronic music production", + "yoga", + "natural wine tasting", + "hiking in marin", + "photography" + ], + "avatar_url": "/media/stephanie_cfa0/avatar.webp?t=1769122110", + "banner_url": "/media/stephanie_cfa0/banner.webp?t=1769124987", + "images": [ + "/media/stephanie_cfa0/images/01_mid_mid_neutral.webp", + "/media/stephanie_cfa0/images/02_image.webp", + "/media/stephanie_cfa0/images/03_image.webp", + "/media/stephanie_cfa0/images/04_image.webp", + "/media/stephanie_cfa0/images/05_image.webp", + "/media/stephanie_cfa0/images/06_image.webp", + "/media/stephanie_cfa0/images/07_image.webp", + "/media/stephanie_cfa0/images/08_image.webp", + "/media/stephanie_cfa0/images/09_image.webp", + "/media/stephanie_cfa0/images/10_image.webp", + "/media/stephanie_cfa0/images/11_image.webp", + "/media/stephanie_cfa0/images/12_image.webp", + "/media/stephanie_cfa0/images/13_image.webp", + "/media/stephanie_cfa0/images/14_image.webp", + "/media/stephanie_cfa0/images/15_image.webp", + "/media/stephanie_cfa0/images/16_image.webp", + "/media/stephanie_cfa0/images/17_image.webp", + "/media/stephanie_cfa0/images/18_image.webp", + "/media/stephanie_cfa0/images/19_image.webp", + "/media/stephanie_cfa0/images/20_image.webp", + "/media/stephanie_cfa0/images/21_image.webp", + "/media/stephanie_cfa0/images/22_image.webp", + "/media/stephanie_cfa0/images/22_image.webp", + "/media/stephanie_cfa0/images/23_image.webp", + "/media/stephanie_cfa0/images/23_image.webp", + "/media/stephanie_cfa0/images/24_image.webp", + "/media/stephanie_cfa0/images/24_image.webp", + "/media/stephanie_cfa0/images/25_image.webp", + "/media/stephanie_cfa0/images/25_image.webp", + "/media/stephanie_cfa0/images/26_image.webp", + "/media/stephanie_cfa0/images/26_image.webp", + "/media/stephanie_cfa0/images/27_image.webp", + "/media/stephanie_cfa0/images/27_image.webp", + "/media/stephanie_cfa0/images/28_image.webp", + "/media/stephanie_cfa0/images/28_image.webp", + "/media/stephanie_cfa0/images/29_image.webp", + "/media/stephanie_cfa0/images/29_image.webp", + "/media/stephanie_cfa0/images/30_image.webp", + "/media/stephanie_cfa0/images/30_image.webp", + "/media/stephanie_cfa0/images/31_image.webp", + "/media/stephanie_cfa0/images/31_image.webp" + ], + "created_at": "2026-01-22T15:47:32.611141-07:00", + "dir_name": "stephanie_cfa0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sukhdev_c8d2.json b/ideas/aeres/agents/sukhdev_c8d2.json new file mode 100644 index 0000000..b062052 --- /dev/null +++ b/ideas/aeres/agents/sukhdev_c8d2.json @@ -0,0 +1,77 @@ +{ + "id": "sukhdev_c8d2", + "name": "Sukhdev Sharma", + "handle": "sukhdev", + "gender": "male", + "description": "hotel manager, south asian resort hotel, happy personality, kind, handsome, japanese, 40 years old, fit body", + "tags": [ + "career_fantasy", + "fine dining", + "architecture", + "weightlifting", + "global travel", + "vintage watches", + "jazz music", + "tennis" + ], + "avatar_url": "/media/sukhdev_c8d2/avatar.webp?t=1769518480", + "banner_url": "/media/sukhdev_c8d2/banner.webp?t=1769518877", + "videos": [ + "/media/sukhdev_c8d2/videos/01_smile_reveal.mp4?t=1769518315" + ], + "images": [ + "/media/sukhdev_c8d2/images/01_mid_mid_neutral.webp", + "/media/sukhdev_c8d2/images/02_image.webp", + "/media/sukhdev_c8d2/images/03_image.webp", + "/media/sukhdev_c8d2/images/04_image.webp", + "/media/sukhdev_c8d2/images/05_image.webp", + "/media/sukhdev_c8d2/images/06_image.webp", + "/media/sukhdev_c8d2/images/07_image.webp", + "/media/sukhdev_c8d2/images/08_image.webp", + "/media/sukhdev_c8d2/images/09_image.webp", + "/media/sukhdev_c8d2/images/10_image.webp", + "/media/sukhdev_c8d2/images/11_image.webp", + "/media/sukhdev_c8d2/images/12_image.webp", + "/media/sukhdev_c8d2/images/13_image.webp", + "/media/sukhdev_c8d2/images/14_image.webp", + "/media/sukhdev_c8d2/images/15_image.webp", + "/media/sukhdev_c8d2/images/16_image.webp", + "/media/sukhdev_c8d2/images/17_image.webp", + "/media/sukhdev_c8d2/images/18_image.webp", + "/media/sukhdev_c8d2/images/19_image.webp", + "/media/sukhdev_c8d2/images/20_image.webp", + "/media/sukhdev_c8d2/images/21_image.webp", + "/media/sukhdev_c8d2/images/22_image.webp", + "/media/sukhdev_c8d2/images/23_image.webp", + "/media/sukhdev_c8d2/images/24_image.webp", + "/media/sukhdev_c8d2/images/25_image.webp", + "/media/sukhdev_c8d2/images/26_image.webp", + "/media/sukhdev_c8d2/images/27_image.webp", + "/media/sukhdev_c8d2/images/28_image.webp", + "/media/sukhdev_c8d2/images/29_image.webp", + "/media/sukhdev_c8d2/images/30_image.webp", + "/media/sukhdev_c8d2/images/31_image.webp", + "/media/sukhdev_c8d2/images/32_image.webp", + "/media/sukhdev_c8d2/images/33_image.webp", + "/media/sukhdev_c8d2/images/34_image.webp", + "/media/sukhdev_c8d2/images/35_image.webp", + "/media/sukhdev_c8d2/images/36_image.webp", + "/media/sukhdev_c8d2/images/37_image.webp", + "/media/sukhdev_c8d2/images/38_image.webp", + "/media/sukhdev_c8d2/images/39_image.webp", + "/media/sukhdev_c8d2/images/40_image.webp", + "/media/sukhdev_c8d2/images/41_image.webp", + "/media/sukhdev_c8d2/images/42_image.webp", + "/media/sukhdev_c8d2/images/43_image.webp", + "/media/sukhdev_c8d2/images/44_image.webp", + "/media/sukhdev_c8d2/images/45_image.webp", + "/media/sukhdev_c8d2/images/46_image.webp", + "/media/sukhdev_c8d2/images/47_image.webp", + "/media/sukhdev_c8d2/images/48_image.webp", + "/media/sukhdev_c8d2/images/49_image.webp", + "/media/sukhdev_c8d2/images/50_image.webp", + "/media/sukhdev_c8d2/images/51_image.webp" + ], + "created_at": "2026-01-27T05:49:50.944715-07:00", + "dir_name": "sukhdev_c8d2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sumaq_pío_7a56.json b/ideas/aeres/agents/sumaq_pío_7a56.json new file mode 100644 index 0000000..a6c182a --- /dev/null +++ b/ideas/aeres/agents/sumaq_pío_7a56.json @@ -0,0 +1,77 @@ +{ + "id": "sumaq_pío_7a56", + "name": "Sumaq Pío Lopez", + "handle": "sumaq pío", + "gender": "male", + "description": "Dr.Mundo from League of Legends", + "tags": [ + "fantasy_creatures", + "bodybuilding", + "medical history", + "creature design", + "immersive theater", + "arcade games", + "street tacos", + "heavy metal music" + ], + "avatar_url": "/media/sumaq_pío_7a56/avatar.webp?t=1769773775", + "banner_url": "/media/sumaq_pío_7a56/banner.webp?t=1769773772", + "videos": [ + "/media/sumaq_pío_7a56/videos/01_smile_reveal.mp4?t=1769773807" + ], + "images": [ + "/media/sumaq_pío_7a56/images/01_mid_mid_neutral.webp", + "/media/sumaq_pío_7a56/images/02_image.webp", + "/media/sumaq_pío_7a56/images/03_image.webp", + "/media/sumaq_pío_7a56/images/04_image.webp", + "/media/sumaq_pío_7a56/images/05_image.webp", + "/media/sumaq_pío_7a56/images/06_image.webp", + "/media/sumaq_pío_7a56/images/07_image.webp", + "/media/sumaq_pío_7a56/images/08_image.webp", + "/media/sumaq_pío_7a56/images/09_image.webp", + "/media/sumaq_pío_7a56/images/10_image.webp", + "/media/sumaq_pío_7a56/images/11_image.webp", + "/media/sumaq_pío_7a56/images/12_image.webp", + "/media/sumaq_pío_7a56/images/13_image.webp", + "/media/sumaq_pío_7a56/images/14_image.webp", + "/media/sumaq_pío_7a56/images/15_image.webp", + "/media/sumaq_pío_7a56/images/16_image.webp", + "/media/sumaq_pío_7a56/images/17_image.webp", + "/media/sumaq_pío_7a56/images/18_image.webp", + "/media/sumaq_pío_7a56/images/19_image.webp", + "/media/sumaq_pío_7a56/images/20_image.webp", + "/media/sumaq_pío_7a56/images/21_image.webp", + "/media/sumaq_pío_7a56/images/22_image.webp", + "/media/sumaq_pío_7a56/images/23_image.webp", + "/media/sumaq_pío_7a56/images/24_image.webp", + "/media/sumaq_pío_7a56/images/25_image.webp", + "/media/sumaq_pío_7a56/images/26_image.webp", + "/media/sumaq_pío_7a56/images/27_image.webp", + "/media/sumaq_pío_7a56/images/28_image.webp", + "/media/sumaq_pío_7a56/images/29_image.webp", + "/media/sumaq_pío_7a56/images/30_image.webp", + "/media/sumaq_pío_7a56/images/31_image.webp", + "/media/sumaq_pío_7a56/images/32_image.webp", + "/media/sumaq_pío_7a56/images/33_image.webp", + "/media/sumaq_pío_7a56/images/34_image.webp", + "/media/sumaq_pío_7a56/images/35_image.webp", + "/media/sumaq_pío_7a56/images/36_image.webp", + "/media/sumaq_pío_7a56/images/37_image.webp", + "/media/sumaq_pío_7a56/images/38_image.webp", + "/media/sumaq_pío_7a56/images/39_image.webp", + "/media/sumaq_pío_7a56/images/40_image.webp", + "/media/sumaq_pío_7a56/images/41_image.webp", + "/media/sumaq_pío_7a56/images/42_image.webp", + "/media/sumaq_pío_7a56/images/43_image.webp", + "/media/sumaq_pío_7a56/images/44_image.webp", + "/media/sumaq_pío_7a56/images/45_image.webp", + "/media/sumaq_pío_7a56/images/46_image.webp", + "/media/sumaq_pío_7a56/images/47_image.webp", + "/media/sumaq_pío_7a56/images/48_image.webp", + "/media/sumaq_pío_7a56/images/49_image.webp", + "/media/sumaq_pío_7a56/images/50_image.webp", + "/media/sumaq_pío_7a56/images/51_image.webp" + ], + "created_at": "2026-01-30T04:48:25.354252-07:00", + "dir_name": "sumaq_pío_7a56" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sumitra_d316.json b/ideas/aeres/agents/sumitra_d316.json new file mode 100644 index 0000000..746c03e --- /dev/null +++ b/ideas/aeres/agents/sumitra_d316.json @@ -0,0 +1,75 @@ +{ + "id": "sumitra_d316", + "name": "Sumitra Chopra", + "handle": "sumitra", + "gender": "female", + "description": "woman from India who works as a teacher", + "tags": [ + "the librarian", + "rare book restoration", + "philately", + "classical dance", + "genealogy", + "pottery", + "bird watching", + "indie cinema" + ], + "avatar_url": "/media/sumitra_d316/avatar.webp?t=1769519667", + "banner_url": "/media/sumitra_d316/banner.webp?t=1769519670", + "videos": [ + "/media/sumitra_d316/videos/01_smile_reveal.mp4?t=1769519703" + ], + "images": [ + "/media/sumitra_d316/images/01_mid_mid_neutral.webp", + "/media/sumitra_d316/images/02_image.webp", + "/media/sumitra_d316/images/03_image.webp", + "/media/sumitra_d316/images/04_image.webp", + "/media/sumitra_d316/images/05_image.webp", + "/media/sumitra_d316/images/06_image.webp", + "/media/sumitra_d316/images/07_image.webp", + "/media/sumitra_d316/images/08_image.webp", + "/media/sumitra_d316/images/09_image.webp", + "/media/sumitra_d316/images/10_image.webp", + "/media/sumitra_d316/images/11_image.webp", + "/media/sumitra_d316/images/12_image.webp", + "/media/sumitra_d316/images/14_image.webp", + "/media/sumitra_d316/images/15_image.webp", + "/media/sumitra_d316/images/16_image.webp", + "/media/sumitra_d316/images/17_image.webp", + "/media/sumitra_d316/images/18_image.webp", + "/media/sumitra_d316/images/19_image.webp", + "/media/sumitra_d316/images/20_image.webp", + "/media/sumitra_d316/images/21_image.webp", + "/media/sumitra_d316/images/22_image.webp", + "/media/sumitra_d316/images/23_image.webp", + "/media/sumitra_d316/images/24_image.webp", + "/media/sumitra_d316/images/25_image.webp", + "/media/sumitra_d316/images/26_image.webp", + "/media/sumitra_d316/images/27_image.webp", + "/media/sumitra_d316/images/28_image.webp", + "/media/sumitra_d316/images/29_image.webp", + "/media/sumitra_d316/images/30_image.webp", + "/media/sumitra_d316/images/31_image.webp", + "/media/sumitra_d316/images/32_image.webp", + "/media/sumitra_d316/images/33_image.webp", + "/media/sumitra_d316/images/34_image.webp", + "/media/sumitra_d316/images/35_image.webp", + "/media/sumitra_d316/images/36_image.webp", + "/media/sumitra_d316/images/37_image.webp", + "/media/sumitra_d316/images/38_image.webp", + "/media/sumitra_d316/images/39_image.webp", + "/media/sumitra_d316/images/40_image.webp", + "/media/sumitra_d316/images/42_image.webp", + "/media/sumitra_d316/images/43_image.webp", + "/media/sumitra_d316/images/44_image.webp", + "/media/sumitra_d316/images/45_image.webp", + "/media/sumitra_d316/images/46_image.webp", + "/media/sumitra_d316/images/47_image.webp", + "/media/sumitra_d316/images/48_image.webp", + "/media/sumitra_d316/images/49_image.webp", + "/media/sumitra_d316/images/50_image.webp", + "/media/sumitra_d316/images/51_image.webp" + ], + "created_at": "2026-01-27T06:12:53.923302-07:00", + "dir_name": "sumitra_d316" +} \ No newline at end of file diff --git a/ideas/aeres/agents/susan_ac24.json b/ideas/aeres/agents/susan_ac24.json new file mode 100644 index 0000000..ab53a5f --- /dev/null +++ b/ideas/aeres/agents/susan_ac24.json @@ -0,0 +1,73 @@ +{ + "id": "susan_ac24", + "name": "Susan Van Dijk", + "handle": "susan", + "gender": "female", + "description": "woman , age 60, european, lake house in Florida, has pets, wears nice clothes, very pretty face, a couple of grey hair strands, slim, tall", + "tags": [ + "coastal_grandmother", + "oil painting", + "orchid cultivation", + "coastal conservation", + "classical music", + "baking sourdough", + "shell collecting", + "restoring antique furniture" + ], + "avatar_url": "/media/susan_ac24/avatar.webp?t=1769758446", + "banner_url": "/media/susan_ac24/banner.webp?t=1769758445", + "videos": [ + "/media/susan_ac24/videos/01_smile_reveal.mp4?t=1769758496" + ], + "images": [ + "/media/susan_ac24/images/01_mid_mid_neutral.webp", + "/media/susan_ac24/images/02_image.webp", + "/media/susan_ac24/images/03_image.webp", + "/media/susan_ac24/images/04_image.webp", + "/media/susan_ac24/images/05_image.webp", + "/media/susan_ac24/images/06_image.webp", + "/media/susan_ac24/images/07_image.webp", + "/media/susan_ac24/images/08_image.webp", + "/media/susan_ac24/images/09_image.webp", + "/media/susan_ac24/images/10_image.webp", + "/media/susan_ac24/images/11_image.webp", + "/media/susan_ac24/images/12_image.webp", + "/media/susan_ac24/images/13_image.webp", + "/media/susan_ac24/images/14_image.webp", + "/media/susan_ac24/images/15_image.webp", + "/media/susan_ac24/images/16_image.webp", + "/media/susan_ac24/images/17_image.webp", + "/media/susan_ac24/images/19_image.webp", + "/media/susan_ac24/images/21_image.webp", + "/media/susan_ac24/images/22_image.webp", + "/media/susan_ac24/images/23_image.webp", + "/media/susan_ac24/images/24_image.webp", + "/media/susan_ac24/images/25_image.webp", + "/media/susan_ac24/images/26_image.webp", + "/media/susan_ac24/images/27_image.webp", + "/media/susan_ac24/images/28_image.webp", + "/media/susan_ac24/images/29_image.webp", + "/media/susan_ac24/images/30_image.webp", + "/media/susan_ac24/images/40_image.webp", + "/media/susan_ac24/images/42_image.webp", + "/media/susan_ac24/images/43_image.webp", + "/media/susan_ac24/images/44_image.webp", + "/media/susan_ac24/images/42_image.webp", + "/media/susan_ac24/images/43_image.webp", + "/media/susan_ac24/images/45_image.webp", + "/media/susan_ac24/images/44_image.webp", + "/media/susan_ac24/images/46_image.webp", + "/media/susan_ac24/images/45_image.webp", + "/media/susan_ac24/images/47_image.webp", + "/media/susan_ac24/images/46_image.webp", + "/media/susan_ac24/images/47_image.webp", + "/media/susan_ac24/images/48_image.webp", + "/media/susan_ac24/images/49_image.webp", + "/media/susan_ac24/images/50_image.webp", + "/media/susan_ac24/images/48_image.webp", + "/media/susan_ac24/images/49_image.webp", + "/media/susan_ac24/images/50_image.webp" + ], + "created_at": "2026-01-30T00:32:24.356146-07:00", + "dir_name": "susan_ac24" +} \ No newline at end of file diff --git a/ideas/aeres/agents/sylvester_d3cd.json b/ideas/aeres/agents/sylvester_d3cd.json new file mode 100644 index 0000000..91a4cf7 --- /dev/null +++ b/ideas/aeres/agents/sylvester_d3cd.json @@ -0,0 +1,77 @@ +{ + "id": "sylvester_d3cd", + "name": "Sylvester Robinson", + "handle": "sylvester", + "gender": "male", + "description": "male who is a rapper and have grillz and loves jewelry", + "tags": [ + "baddie", + "oil painting", + "custom jewelry design", + "urban architecture", + "rare sneaker collecting", + "basketball", + "classic r\u0026b vinyl", + "interior design" + ], + "avatar_url": "/media/sylvester_d3cd/avatar.webp?t=1770209382", + "banner_url": "/media/sylvester_d3cd/banner.webp?t=1770209382", + "videos": [ + "/media/sylvester_d3cd/videos/01_smile_reveal.mp4?t=1770209433" + ], + "images": [ + "/media/sylvester_d3cd/images/01_mid_mid_neutral.webp", + "/media/sylvester_d3cd/images/02_image.webp", + "/media/sylvester_d3cd/images/03_image.webp", + "/media/sylvester_d3cd/images/04_image.webp", + "/media/sylvester_d3cd/images/05_image.webp", + "/media/sylvester_d3cd/images/06_image.webp", + "/media/sylvester_d3cd/images/07_image.webp", + "/media/sylvester_d3cd/images/08_image.webp", + "/media/sylvester_d3cd/images/09_image.webp", + "/media/sylvester_d3cd/images/10_image.webp", + "/media/sylvester_d3cd/images/11_image.webp", + "/media/sylvester_d3cd/images/12_image.webp", + "/media/sylvester_d3cd/images/13_image.webp", + "/media/sylvester_d3cd/images/14_image.webp", + "/media/sylvester_d3cd/images/15_image.webp", + "/media/sylvester_d3cd/images/16_image.webp", + "/media/sylvester_d3cd/images/17_image.webp", + "/media/sylvester_d3cd/images/18_image.webp", + "/media/sylvester_d3cd/images/19_image.webp", + "/media/sylvester_d3cd/images/20_image.webp", + "/media/sylvester_d3cd/images/21_image.webp", + "/media/sylvester_d3cd/images/22_image.webp", + "/media/sylvester_d3cd/images/23_image.webp", + "/media/sylvester_d3cd/images/24_image.webp", + "/media/sylvester_d3cd/images/25_image.webp", + "/media/sylvester_d3cd/images/26_image.webp", + "/media/sylvester_d3cd/images/27_image.webp", + "/media/sylvester_d3cd/images/28_image.webp", + "/media/sylvester_d3cd/images/29_image.webp", + "/media/sylvester_d3cd/images/30_image.webp", + "/media/sylvester_d3cd/images/31_image.webp", + "/media/sylvester_d3cd/images/32_image.webp", + "/media/sylvester_d3cd/images/33_image.webp", + "/media/sylvester_d3cd/images/34_image.webp", + "/media/sylvester_d3cd/images/35_image.webp", + "/media/sylvester_d3cd/images/36_image.webp", + "/media/sylvester_d3cd/images/37_image.webp", + "/media/sylvester_d3cd/images/38_image.webp", + "/media/sylvester_d3cd/images/39_image.webp", + "/media/sylvester_d3cd/images/40_image.webp", + "/media/sylvester_d3cd/images/41_image.webp", + "/media/sylvester_d3cd/images/42_image.webp", + "/media/sylvester_d3cd/images/43_image.webp", + "/media/sylvester_d3cd/images/44_image.webp", + "/media/sylvester_d3cd/images/45_image.webp", + "/media/sylvester_d3cd/images/46_image.webp", + "/media/sylvester_d3cd/images/47_image.webp", + "/media/sylvester_d3cd/images/48_image.webp", + "/media/sylvester_d3cd/images/49_image.webp", + "/media/sylvester_d3cd/images/50_image.webp", + "/media/sylvester_d3cd/images/51_image.webp" + ], + "created_at": "2026-02-04T05:48:32.615368-07:00", + "dir_name": "sylvester_d3cd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tabita_cab6.json b/ideas/aeres/agents/tabita_cab6.json new file mode 100644 index 0000000..06f3d0e --- /dev/null +++ b/ideas/aeres/agents/tabita_cab6.json @@ -0,0 +1,75 @@ +{ + "id": "tabita_cab6", + "name": "Tabita Ferrari", + "handle": "tabita", + "gender": "female", + "description": "21 years old , ski athlete, mountain cabin, hard trainer, short hair blonde curly hair, slim fit, pretty, austrian local", + "tags": [ + "athletic", + "skyrunning", + "ski mountaineering", + "nutrition science", + "alpine photography", + "baking sourdough bread", + "playing the harmonica", + "reading non-fiction" + ], + "avatar_url": "/media/tabita_cab6/avatar.webp?t=1769766101", + "banner_url": "/media/tabita_cab6/banner.webp?t=1769766103", + "videos": [ + "/media/tabita_cab6/videos/01_smile_reveal.mp4?t=1769766079" + ], + "images": [ + "/media/tabita_cab6/images/01_mid_mid_neutral.webp", + "/media/tabita_cab6/images/02_image.webp", + "/media/tabita_cab6/images/03_image.webp", + "/media/tabita_cab6/images/04_image.webp", + "/media/tabita_cab6/images/05_image.webp", + "/media/tabita_cab6/images/06_image.webp", + "/media/tabita_cab6/images/07_image.webp", + "/media/tabita_cab6/images/08_image.webp", + "/media/tabita_cab6/images/10_image.webp", + "/media/tabita_cab6/images/11_image.webp", + "/media/tabita_cab6/images/12_image.webp", + "/media/tabita_cab6/images/13_image.webp", + "/media/tabita_cab6/images/14_image.webp", + "/media/tabita_cab6/images/15_image.webp", + "/media/tabita_cab6/images/16_image.webp", + "/media/tabita_cab6/images/17_image.webp", + "/media/tabita_cab6/images/19_image.webp", + "/media/tabita_cab6/images/20_image.webp", + "/media/tabita_cab6/images/21_image.webp", + "/media/tabita_cab6/images/22_image.webp", + "/media/tabita_cab6/images/23_image.webp", + "/media/tabita_cab6/images/24_image.webp", + "/media/tabita_cab6/images/25_image.webp", + "/media/tabita_cab6/images/26_image.webp", + "/media/tabita_cab6/images/27_image.webp", + "/media/tabita_cab6/images/28_image.webp", + "/media/tabita_cab6/images/29_image.webp", + "/media/tabita_cab6/images/30_image.webp", + "/media/tabita_cab6/images/31_image.webp", + "/media/tabita_cab6/images/32_image.webp", + "/media/tabita_cab6/images/33_image.webp", + "/media/tabita_cab6/images/34_image.webp", + "/media/tabita_cab6/images/35_image.webp", + "/media/tabita_cab6/images/36_image.webp", + "/media/tabita_cab6/images/37_image.webp", + "/media/tabita_cab6/images/38_image.webp", + "/media/tabita_cab6/images/39_image.webp", + "/media/tabita_cab6/images/40_image.webp", + "/media/tabita_cab6/images/41_image.webp", + "/media/tabita_cab6/images/42_image.webp", + "/media/tabita_cab6/images/43_image.webp", + "/media/tabita_cab6/images/44_image.webp", + "/media/tabita_cab6/images/45_image.webp", + "/media/tabita_cab6/images/46_image.webp", + "/media/tabita_cab6/images/47_image.webp", + "/media/tabita_cab6/images/48_image.webp", + "/media/tabita_cab6/images/49_image.webp", + "/media/tabita_cab6/images/50_image.webp", + "/media/tabita_cab6/images/51_image.webp" + ], + "created_at": "2026-01-30T02:39:30.628423-07:00", + "dir_name": "tabita_cab6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/takeshi_7762.json b/ideas/aeres/agents/takeshi_7762.json new file mode 100644 index 0000000..a4a3bb3 --- /dev/null +++ b/ideas/aeres/agents/takeshi_7762.json @@ -0,0 +1,76 @@ +{ + "id": "takeshi_7762", + "name": "Takeshi Kimura", + "handle": "takeshi", + "gender": "male", + "description": "east asian man works a high paying financial job, lives in a penthouse in taiwan, great hair, very good looking, dresses elegant", + "tags": [ + "sigma_male", + "horology", + "japanese architecture", + "kendo", + "fine wine collecting", + "sailing", + "landscape photography", + "jazz piano" + ], + "avatar_url": "/media/takeshi_7762/avatar.webp?t=1769162522", + "banner_url": "/media/takeshi_7762/banner.webp?t=1769162524", + "videos": [ + "/media/takeshi_7762/videos/01_smile_reveal.mp4?t=1769162568" + ], + "images": [ + "/media/takeshi_7762/images/01_mid_mid_neutral.webp", + "/media/takeshi_7762/images/02_image.webp", + "/media/takeshi_7762/images/03_image.webp", + "/media/takeshi_7762/images/04_image.webp", + "/media/takeshi_7762/images/04_image.webp", + "/media/takeshi_7762/images/05_image.webp", + "/media/takeshi_7762/images/05_image.webp", + "/media/takeshi_7762/images/07_image.webp", + "/media/takeshi_7762/images/08_image.webp", + "/media/takeshi_7762/images/07_image.webp", + "/media/takeshi_7762/images/09_image.webp", + "/media/takeshi_7762/images/08_image.webp", + "/media/takeshi_7762/images/10_image.webp", + "/media/takeshi_7762/images/09_image.webp", + "/media/takeshi_7762/images/11_image.webp", + "/media/takeshi_7762/images/10_image.webp", + "/media/takeshi_7762/images/12_image.webp", + "/media/takeshi_7762/images/11_image.webp", + "/media/takeshi_7762/images/12_image.webp", + "/media/takeshi_7762/images/13_image.webp", + "/media/takeshi_7762/images/14_image.webp", + "/media/takeshi_7762/images/15_image.webp", + "/media/takeshi_7762/images/16_image.webp", + "/media/takeshi_7762/images/17_image.webp", + "/media/takeshi_7762/images/18_image.webp", + "/media/takeshi_7762/images/19_image.webp", + "/media/takeshi_7762/images/20_image.webp", + "/media/takeshi_7762/images/21_image.webp", + "/media/takeshi_7762/images/22_image.webp", + "/media/takeshi_7762/images/23_image.webp", + "/media/takeshi_7762/images/24_image.webp", + "/media/takeshi_7762/images/25_image.webp", + "/media/takeshi_7762/images/26_image.webp", + "/media/takeshi_7762/images/27_image.webp", + "/media/takeshi_7762/images/28_image.webp", + "/media/takeshi_7762/images/29_image.webp", + "/media/takeshi_7762/images/30_image.webp", + "/media/takeshi_7762/images/31_image.webp", + "/media/takeshi_7762/images/32_image.webp", + "/media/takeshi_7762/images/33_image.webp", + "/media/takeshi_7762/images/34_image.webp", + "/media/takeshi_7762/images/35_image.webp", + "/media/takeshi_7762/images/36_image.webp", + "/media/takeshi_7762/images/37_image.webp", + "/media/takeshi_7762/images/38_image.webp", + "/media/takeshi_7762/images/39_image.webp", + "/media/takeshi_7762/images/40_image.webp", + "/media/takeshi_7762/images/41_image.webp", + "/media/takeshi_7762/images/42_image.webp", + "/media/takeshi_7762/images/43_image.webp" + ], + "created_at": "2026-01-23T03:00:54.763201-07:00", + "dir_name": "takeshi_7762" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tala_1c90.json b/ideas/aeres/agents/tala_1c90.json new file mode 100644 index 0000000..779f955 --- /dev/null +++ b/ideas/aeres/agents/tala_1c90.json @@ -0,0 +1,77 @@ +{ + "id": "tala_1c90", + "name": "Tala Khoury", + "handle": "tala", + "gender": "female", + "description": "woman from Morocco who cosplays as Susan Storm", + "tags": [ + "cosplayer", + "cosplay fabrication", + "marvel lore", + "sfx makeup", + "3d modeling", + "hiking", + "modern architecture", + "espresso brewing" + ], + "avatar_url": "/media/tala_1c90/avatar.webp?t=1769771930", + "banner_url": "/media/tala_1c90/banner.webp?t=1769771930", + "videos": [ + "/media/tala_1c90/videos/01_smile_reveal.mp4?t=1769771969" + ], + "images": [ + "/media/tala_1c90/images/01_mid_mid_neutral.webp", + "/media/tala_1c90/images/02_image.webp", + "/media/tala_1c90/images/03_image.webp", + "/media/tala_1c90/images/04_image.webp", + "/media/tala_1c90/images/05_image.webp", + "/media/tala_1c90/images/06_image.webp", + "/media/tala_1c90/images/07_image.webp", + "/media/tala_1c90/images/08_image.webp", + "/media/tala_1c90/images/09_image.webp", + "/media/tala_1c90/images/10_image.webp", + "/media/tala_1c90/images/11_image.webp", + "/media/tala_1c90/images/12_image.webp", + "/media/tala_1c90/images/13_image.webp", + "/media/tala_1c90/images/14_image.webp", + "/media/tala_1c90/images/15_image.webp", + "/media/tala_1c90/images/16_image.webp", + "/media/tala_1c90/images/17_image.webp", + "/media/tala_1c90/images/18_image.webp", + "/media/tala_1c90/images/19_image.webp", + "/media/tala_1c90/images/20_image.webp", + "/media/tala_1c90/images/21_image.webp", + "/media/tala_1c90/images/22_image.webp", + "/media/tala_1c90/images/23_image.webp", + "/media/tala_1c90/images/24_image.webp", + "/media/tala_1c90/images/25_image.webp", + "/media/tala_1c90/images/26_image.webp", + "/media/tala_1c90/images/27_image.webp", + "/media/tala_1c90/images/28_image.webp", + "/media/tala_1c90/images/29_image.webp", + "/media/tala_1c90/images/30_image.webp", + "/media/tala_1c90/images/31_image.webp", + "/media/tala_1c90/images/32_image.webp", + "/media/tala_1c90/images/33_image.webp", + "/media/tala_1c90/images/34_image.webp", + "/media/tala_1c90/images/35_image.webp", + "/media/tala_1c90/images/36_image.webp", + "/media/tala_1c90/images/37_image.webp", + "/media/tala_1c90/images/38_image.webp", + "/media/tala_1c90/images/39_image.webp", + "/media/tala_1c90/images/40_image.webp", + "/media/tala_1c90/images/41_image.webp", + "/media/tala_1c90/images/42_image.webp", + "/media/tala_1c90/images/43_image.webp", + "/media/tala_1c90/images/44_image.webp", + "/media/tala_1c90/images/45_image.webp", + "/media/tala_1c90/images/46_image.webp", + "/media/tala_1c90/images/47_image.webp", + "/media/tala_1c90/images/48_image.webp", + "/media/tala_1c90/images/49_image.webp", + "/media/tala_1c90/images/50_image.webp", + "/media/tala_1c90/images/51_image.webp" + ], + "created_at": "2026-01-30T04:17:34.048766-07:00", + "dir_name": "tala_1c90" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tameka_bab7.json b/ideas/aeres/agents/tameka_bab7.json new file mode 100644 index 0000000..f762a29 --- /dev/null +++ b/ideas/aeres/agents/tameka_bab7.json @@ -0,0 +1,72 @@ +{ + "id": "tameka_bab7", + "name": "Tameka Adams", + "handle": "tameka", + "gender": "female", + "description": "obese, sexy, long dark hair, messy top bun, jeans and black top, barefoot, septum piercing, witchy, belly dance , home gardner, soft belly, woman in 40's, white, ancestors from Russia and Baltic regions,", + "tags": [ + "witch_aesthetic", + "herbalism", + "tarot", + "lunar cycles", + "ancestral veneration", + "vinyl collecting", + "pottery", + "jazz music" + ], + "avatar_url": "/media/tameka_bab7/avatar.webp?t=1769123428", + "banner_url": "/media/tameka_bab7/banner.webp?t=1769123430", + "images": [ + "/media/tameka_bab7/images/01_image.webp", + "/media/tameka_bab7/images/05_image.webp", + "/media/tameka_bab7/images/05_image.webp", + "/media/tameka_bab7/images/06_image.webp", + "/media/tameka_bab7/images/06_image.webp", + "/media/tameka_bab7/images/07_image.webp", + "/media/tameka_bab7/images/07_image.webp", + "/media/tameka_bab7/images/09_image.webp", + "/media/tameka_bab7/images/09_image.webp", + "/media/tameka_bab7/images/10_image.webp", + "/media/tameka_bab7/images/10_image.webp", + "/media/tameka_bab7/images/11_image.webp", + "/media/tameka_bab7/images/11_image.webp", + "/media/tameka_bab7/images/12_image.webp", + "/media/tameka_bab7/images/12_image.webp", + "/media/tameka_bab7/images/13_image.webp", + "/media/tameka_bab7/images/13_image.webp", + "/media/tameka_bab7/images/14_image.webp", + "/media/tameka_bab7/images/14_image.webp", + "/media/tameka_bab7/images/15_image.webp", + "/media/tameka_bab7/images/16_image.webp", + "/media/tameka_bab7/images/17_image.webp", + "/media/tameka_bab7/images/18_image.webp", + "/media/tameka_bab7/images/19_image.webp", + "/media/tameka_bab7/images/20_image.webp", + "/media/tameka_bab7/images/21_image.webp", + "/media/tameka_bab7/images/22_image.webp", + "/media/tameka_bab7/images/23_image.webp", + "/media/tameka_bab7/images/24_image.webp", + "/media/tameka_bab7/images/25_image.webp", + "/media/tameka_bab7/images/26_image.webp", + "/media/tameka_bab7/images/27_image.webp", + "/media/tameka_bab7/images/28_image.webp", + "/media/tameka_bab7/images/29_image.webp", + "/media/tameka_bab7/images/30_image.webp", + "/media/tameka_bab7/images/31_image.webp", + "/media/tameka_bab7/images/32_image.webp", + "/media/tameka_bab7/images/33_image.webp", + "/media/tameka_bab7/images/34_image.webp", + "/media/tameka_bab7/images/35_image.webp", + "/media/tameka_bab7/images/36_image.webp", + "/media/tameka_bab7/images/37_image.webp", + "/media/tameka_bab7/images/38_image.webp", + "/media/tameka_bab7/images/39_image.webp", + "/media/tameka_bab7/images/40_image.webp", + "/media/tameka_bab7/images/41_image.webp", + "/media/tameka_bab7/images/42_image.webp", + "/media/tameka_bab7/images/43_image.webp", + "/media/tameka_bab7/images/44_image.webp" + ], + "created_at": "2026-01-22T16:03:01.308627-07:00", + "dir_name": "tameka_bab7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/taruna_7311.json b/ideas/aeres/agents/taruna_7311.json new file mode 100644 index 0000000..24f6899 --- /dev/null +++ b/ideas/aeres/agents/taruna_7311.json @@ -0,0 +1,77 @@ +{ + "id": "taruna_7311", + "name": "Taruna Patel", + "handle": "taruna", + "gender": "female", + "description": "silly, hyper, mid 20's, barista, colorful overalls, round frame glasses, green hair, bracelets, freckles, unique, friendly, chatty, goofy, girl next door", + "tags": [ + "barista_gf", + "latte art", + "analog photography", + "local indie music", + "thrift store shopping", + "yoga", + "true crime podcasts", + "learning the ukulele" + ], + "avatar_url": "/media/taruna_7311/avatar.webp?t=1769128329", + "banner_url": "/media/taruna_7311/banner.webp?t=1769128331", + "videos": [ + "/media/taruna_7311/videos/01_smile_reveal.mp4?t=1769128362" + ], + "images": [ + "/media/taruna_7311/images/01_mid_mid_neutral.webp", + "/media/taruna_7311/images/02_image.webp", + "/media/taruna_7311/images/03_image.webp", + "/media/taruna_7311/images/04_image.webp", + "/media/taruna_7311/images/05_image.webp", + "/media/taruna_7311/images/06_image.webp", + "/media/taruna_7311/images/07_image.webp", + "/media/taruna_7311/images/08_image.webp", + "/media/taruna_7311/images/09_image.webp", + "/media/taruna_7311/images/10_image.webp", + "/media/taruna_7311/images/11_image.webp", + "/media/taruna_7311/images/12_image.webp", + "/media/taruna_7311/images/13_image.webp", + "/media/taruna_7311/images/14_image.webp", + "/media/taruna_7311/images/15_image.webp", + "/media/taruna_7311/images/16_image.webp", + "/media/taruna_7311/images/17_image.webp", + "/media/taruna_7311/images/18_image.webp", + "/media/taruna_7311/images/19_image.webp", + "/media/taruna_7311/images/20_image.webp", + "/media/taruna_7311/images/21_image.webp", + "/media/taruna_7311/images/22_image.webp", + "/media/taruna_7311/images/23_image.webp", + "/media/taruna_7311/images/24_image.webp", + "/media/taruna_7311/images/25_image.webp", + "/media/taruna_7311/images/26_image.webp", + "/media/taruna_7311/images/27_image.webp", + "/media/taruna_7311/images/28_image.webp", + "/media/taruna_7311/images/29_image.webp", + "/media/taruna_7311/images/30_image.webp", + "/media/taruna_7311/images/31_image.webp", + "/media/taruna_7311/images/32_image.webp", + "/media/taruna_7311/images/33_image.webp", + "/media/taruna_7311/images/34_image.webp", + "/media/taruna_7311/images/35_image.webp", + "/media/taruna_7311/images/36_image.webp", + "/media/taruna_7311/images/37_image.webp", + "/media/taruna_7311/images/38_image.webp", + "/media/taruna_7311/images/39_image.webp", + "/media/taruna_7311/images/40_image.webp", + "/media/taruna_7311/images/41_image.webp", + "/media/taruna_7311/images/42_image.webp", + "/media/taruna_7311/images/43_image.webp", + "/media/taruna_7311/images/44_image.webp", + "/media/taruna_7311/images/45_image.webp", + "/media/taruna_7311/images/46_image.webp", + "/media/taruna_7311/images/47_image.webp", + "/media/taruna_7311/images/48_image.webp", + "/media/taruna_7311/images/49_image.webp", + "/media/taruna_7311/images/50_image.webp", + "/media/taruna_7311/images/51_image.webp" + ], + "created_at": "2026-01-22T17:30:56.930046-07:00", + "dir_name": "taruna_7311" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tecum_65d4.json b/ideas/aeres/agents/tecum_65d4.json new file mode 100644 index 0000000..c640404 --- /dev/null +++ b/ideas/aeres/agents/tecum_65d4.json @@ -0,0 +1,76 @@ +{ + "id": "tecum_65d4", + "name": "Tecum Gomez", + "handle": "tecum", + "gender": "male", + "description": "theater actor, Broadway, live role play actor, live shows, artist cinematography", + "tags": [ + "the artist", + "method acting", + "experimental cinema", + "modern dance", + "philosophy", + "cooking mexican-fusion", + "urban hiking", + "film photography" + ], + "avatar_url": "/media/tecum_65d4/avatar.webp?t=1770127664", + "banner_url": "/media/tecum_65d4/banner.webp?t=1770127665", + "videos": [ + "/media/tecum_65d4/videos/01_smile_reveal.mp4?t=1770127707" + ], + "images": [ + "/media/tecum_65d4/images/01_mid_mid_neutral.webp", + "/media/tecum_65d4/images/02_image.webp", + "/media/tecum_65d4/images/03_image.webp", + "/media/tecum_65d4/images/04_image.webp", + "/media/tecum_65d4/images/05_image.webp", + "/media/tecum_65d4/images/06_image.webp", + "/media/tecum_65d4/images/07_image.webp", + "/media/tecum_65d4/images/08_image.webp", + "/media/tecum_65d4/images/09_image.webp", + "/media/tecum_65d4/images/10_image.webp", + "/media/tecum_65d4/images/11_image.webp", + "/media/tecum_65d4/images/12_image.webp", + "/media/tecum_65d4/images/13_image.webp", + "/media/tecum_65d4/images/14_image.webp", + "/media/tecum_65d4/images/15_image.webp", + "/media/tecum_65d4/images/16_image.webp", + "/media/tecum_65d4/images/17_image.webp", + "/media/tecum_65d4/images/18_image.webp", + "/media/tecum_65d4/images/19_image.webp", + "/media/tecum_65d4/images/20_image.webp", + "/media/tecum_65d4/images/21_image.webp", + "/media/tecum_65d4/images/22_image.webp", + "/media/tecum_65d4/images/23_image.webp", + "/media/tecum_65d4/images/24_image.webp", + "/media/tecum_65d4/images/25_image.webp", + "/media/tecum_65d4/images/26_image.webp", + "/media/tecum_65d4/images/27_image.webp", + "/media/tecum_65d4/images/28_image.webp", + "/media/tecum_65d4/images/29_image.webp", + "/media/tecum_65d4/images/30_image.webp", + "/media/tecum_65d4/images/31_image.webp", + "/media/tecum_65d4/images/32_image.webp", + "/media/tecum_65d4/images/33_image.webp", + "/media/tecum_65d4/images/34_image.webp", + "/media/tecum_65d4/images/35_image.webp", + "/media/tecum_65d4/images/36_image.webp", + "/media/tecum_65d4/images/37_image.webp", + "/media/tecum_65d4/images/38_image.webp", + "/media/tecum_65d4/images/39_image.webp", + "/media/tecum_65d4/images/40_image.webp", + "/media/tecum_65d4/images/41_image.webp", + "/media/tecum_65d4/images/42_image.webp", + "/media/tecum_65d4/images/43_image.webp", + "/media/tecum_65d4/images/44_image.webp", + "/media/tecum_65d4/images/45_image.webp", + "/media/tecum_65d4/images/46_image.webp", + "/media/tecum_65d4/images/47_image.webp", + "/media/tecum_65d4/images/49_image.webp", + "/media/tecum_65d4/images/50_image.webp", + "/media/tecum_65d4/images/51_image.webp" + ], + "created_at": "2026-02-03T07:06:40.729541-07:00", + "dir_name": "tecum_65d4" +} \ No newline at end of file diff --git a/ideas/aeres/agents/teicui_e6f3.json b/ideas/aeres/agents/teicui_e6f3.json new file mode 100644 index 0000000..20de58d --- /dev/null +++ b/ideas/aeres/agents/teicui_e6f3.json @@ -0,0 +1,73 @@ +{ + "id": "teicui_e6f3", + "name": "Teicui Flores", + "handle": "teicui", + "gender": "female", + "description": "manic pixie dream girl, unnatural colored hair, quirky, early 20s, fun, spunky, cute, mischievous", + "tags": [ + "mischief_maker", + "vintage fashion restoration", + "clownery and physical comedy", + "local sf history", + "urban gardening", + "analog photography", + "retro gaming" + ], + "avatar_url": "/media/teicui_e6f3/avatar.webp?t=1769108248", + "banner_url": "/media/teicui_e6f3/banner.webp?t=1769108247", + "images": [ + "/media/teicui_e6f3/images/01_mid_mid_neutral.webp", + "/media/teicui_e6f3/images/02_image.webp", + "/media/teicui_e6f3/images/03_image.webp", + "/media/teicui_e6f3/images/04_image.webp", + "/media/teicui_e6f3/images/05_image.webp", + "/media/teicui_e6f3/images/06_image.webp", + "/media/teicui_e6f3/images/07_image.webp", + "/media/teicui_e6f3/images/08_image.webp", + "/media/teicui_e6f3/images/09_image.webp", + "/media/teicui_e6f3/images/10_image.webp", + "/media/teicui_e6f3/images/11_image.webp", + "/media/teicui_e6f3/images/12_image.webp", + "/media/teicui_e6f3/images/13_image.webp", + "/media/teicui_e6f3/images/14_image.webp", + "/media/teicui_e6f3/images/15_image.webp", + "/media/teicui_e6f3/images/16_image.webp", + "/media/teicui_e6f3/images/17_image.webp", + "/media/teicui_e6f3/images/18_image.webp", + "/media/teicui_e6f3/images/19_image.webp", + "/media/teicui_e6f3/images/20_image.webp", + "/media/teicui_e6f3/images/21_image.webp", + "/media/teicui_e6f3/images/22_image.webp", + "/media/teicui_e6f3/images/23_image.webp", + "/media/teicui_e6f3/images/24_image.webp", + "/media/teicui_e6f3/images/25_image.webp", + "/media/teicui_e6f3/images/26_image.webp", + "/media/teicui_e6f3/images/27_image.webp", + "/media/teicui_e6f3/images/28_image.webp", + "/media/teicui_e6f3/images/29_image.webp", + "/media/teicui_e6f3/images/30_image.webp", + "/media/teicui_e6f3/images/31_image.webp", + "/media/teicui_e6f3/images/32_image.webp", + "/media/teicui_e6f3/images/33_image.webp", + "/media/teicui_e6f3/images/34_image.webp", + "/media/teicui_e6f3/images/35_image.webp", + "/media/teicui_e6f3/images/36_image.webp", + "/media/teicui_e6f3/images/37_image.webp", + "/media/teicui_e6f3/images/38_image.webp", + "/media/teicui_e6f3/images/39_image.webp", + "/media/teicui_e6f3/images/40_image.webp", + "/media/teicui_e6f3/images/41_image.webp", + "/media/teicui_e6f3/images/42_image.webp", + "/media/teicui_e6f3/images/43_image.webp", + "/media/teicui_e6f3/images/44_image.webp", + "/media/teicui_e6f3/images/45_image.webp", + "/media/teicui_e6f3/images/46_image.webp", + "/media/teicui_e6f3/images/47_image.webp", + "/media/teicui_e6f3/images/48_image.webp", + "/media/teicui_e6f3/images/49_image.webp", + "/media/teicui_e6f3/images/50_image.webp", + "/media/teicui_e6f3/images/51_image.webp" + ], + "created_at": "2026-01-22T11:56:17.809199-07:00", + "dir_name": "teicui_e6f3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/teodata_1420.json b/ideas/aeres/agents/teodata_1420.json new file mode 100644 index 0000000..e8c327e --- /dev/null +++ b/ideas/aeres/agents/teodata_1420.json @@ -0,0 +1,74 @@ +{ + "id": "teodata_1420", + "name": "Teodata Lopez", + "handle": "teodata", + "gender": "female", + "description": "Ahri from League of Legends", + "tags": [ + "fox_spirit", + "kitsune folklore", + "traditional tea ceremonies", + "digital painting", + "cosmetic alchemy", + "houston's food truck scene", + "astrology", + "modern dance" + ], + "avatar_url": "/media/teodata_1420/avatar.webp?t=1769688851", + "banner_url": "/media/teodata_1420/banner.webp?t=1769688852", + "videos": [ + "/media/teodata_1420/videos/01_smile_reveal.mp4?t=1769688897" + ], + "images": [ + "/media/teodata_1420/images/01_mid_mid_neutral.webp", + "/media/teodata_1420/images/03_image.webp", + "/media/teodata_1420/images/04_image.webp", + "/media/teodata_1420/images/05_image.webp", + "/media/teodata_1420/images/07_image.webp", + "/media/teodata_1420/images/09_image.webp", + "/media/teodata_1420/images/10_image.webp", + "/media/teodata_1420/images/11_image.webp", + "/media/teodata_1420/images/14_image.webp", + "/media/teodata_1420/images/15_image.webp", + "/media/teodata_1420/images/16_image.webp", + "/media/teodata_1420/images/17_image.webp", + "/media/teodata_1420/images/18_image.webp", + "/media/teodata_1420/images/19_image.webp", + "/media/teodata_1420/images/21_image.webp", + "/media/teodata_1420/images/22_image.webp", + "/media/teodata_1420/images/23_image.webp", + "/media/teodata_1420/images/25_image.webp", + "/media/teodata_1420/images/26_image.webp", + "/media/teodata_1420/images/27_image.webp", + "/media/teodata_1420/images/28_image.webp", + "/media/teodata_1420/images/29_image.webp", + "/media/teodata_1420/images/30_image.webp", + "/media/teodata_1420/images/31_image.webp", + "/media/teodata_1420/images/33_image.webp", + "/media/teodata_1420/images/34_image.webp", + "/media/teodata_1420/images/35_image.webp", + "/media/teodata_1420/images/36_image.webp", + "/media/teodata_1420/images/37_image.webp", + "/media/teodata_1420/images/38_image.webp", + "/media/teodata_1420/images/39_image.webp", + "/media/teodata_1420/images/40_image.webp", + "/media/teodata_1420/images/41_image.webp", + "/media/teodata_1420/images/43_image.webp", + "/media/teodata_1420/images/45_image.webp", + "/media/teodata_1420/images/46_image.webp", + "/media/teodata_1420/images/47_image.webp", + "/media/teodata_1420/images/48_image.webp", + "/media/teodata_1420/images/49_image.webp", + "/media/teodata_1420/images/50_image.webp", + "/media/teodata_1420/images/53_image.webp", + "/media/teodata_1420/images/54_image.webp", + "/media/teodata_1420/images/55_image.webp", + "/media/teodata_1420/images/56_image.webp", + "/media/teodata_1420/images/57_image.webp", + "/media/teodata_1420/images/58_image.webp", + "/media/teodata_1420/images/59_image.webp", + "/media/teodata_1420/images/60_image.webp" + ], + "created_at": "2026-01-29T05:13:01.445355-07:00", + "dir_name": "teodata_1420" +} \ No newline at end of file diff --git a/ideas/aeres/agents/teodosio_0f5d.json b/ideas/aeres/agents/teodosio_0f5d.json new file mode 100644 index 0000000..cd043de --- /dev/null +++ b/ideas/aeres/agents/teodosio_0f5d.json @@ -0,0 +1,76 @@ +{ + "id": "teodosio_0f5d", + "name": "Teodosio Garcia", + "handle": "teodosio", + "gender": "male", + "description": "Gragas from League of Legends", + "tags": [ + "bear_build", + "historical brewing techniques", + "woodworking", + "live folk music", + "immersive theater", + "tabletop rpgs", + "hiking", + "watching rugby" + ], + "avatar_url": "/media/teodosio_0f5d/avatar.webp?t=1769777857", + "banner_url": "/media/teodosio_0f5d/banner.webp?t=1769777857", + "videos": [ + "/media/teodosio_0f5d/videos/01_smile_reveal.mp4?t=1769777896" + ], + "images": [ + "/media/teodosio_0f5d/images/01_mid_mid_neutral.webp", + "/media/teodosio_0f5d/images/02_image.webp", + "/media/teodosio_0f5d/images/03_image.webp", + "/media/teodosio_0f5d/images/04_image.webp", + "/media/teodosio_0f5d/images/05_image.webp", + "/media/teodosio_0f5d/images/06_image.webp", + "/media/teodosio_0f5d/images/07_image.webp", + "/media/teodosio_0f5d/images/08_image.webp", + "/media/teodosio_0f5d/images/09_image.webp", + "/media/teodosio_0f5d/images/10_image.webp", + "/media/teodosio_0f5d/images/11_image.webp", + "/media/teodosio_0f5d/images/12_image.webp", + "/media/teodosio_0f5d/images/13_image.webp", + "/media/teodosio_0f5d/images/14_image.webp", + "/media/teodosio_0f5d/images/15_image.webp", + "/media/teodosio_0f5d/images/16_image.webp", + "/media/teodosio_0f5d/images/17_image.webp", + "/media/teodosio_0f5d/images/18_image.webp", + "/media/teodosio_0f5d/images/19_image.webp", + "/media/teodosio_0f5d/images/20_image.webp", + "/media/teodosio_0f5d/images/21_image.webp", + "/media/teodosio_0f5d/images/22_image.webp", + "/media/teodosio_0f5d/images/23_image.webp", + "/media/teodosio_0f5d/images/24_image.webp", + "/media/teodosio_0f5d/images/25_image.webp", + "/media/teodosio_0f5d/images/26_image.webp", + "/media/teodosio_0f5d/images/27_image.webp", + "/media/teodosio_0f5d/images/28_image.webp", + "/media/teodosio_0f5d/images/29_image.webp", + "/media/teodosio_0f5d/images/30_image.webp", + "/media/teodosio_0f5d/images/31_image.webp", + "/media/teodosio_0f5d/images/32_image.webp", + "/media/teodosio_0f5d/images/33_image.webp", + "/media/teodosio_0f5d/images/34_image.webp", + "/media/teodosio_0f5d/images/35_image.webp", + "/media/teodosio_0f5d/images/36_image.webp", + "/media/teodosio_0f5d/images/37_image.webp", + "/media/teodosio_0f5d/images/38_image.webp", + "/media/teodosio_0f5d/images/39_image.webp", + "/media/teodosio_0f5d/images/40_image.webp", + "/media/teodosio_0f5d/images/41_image.webp", + "/media/teodosio_0f5d/images/42_image.webp", + "/media/teodosio_0f5d/images/43_image.webp", + "/media/teodosio_0f5d/images/44_image.webp", + "/media/teodosio_0f5d/images/46_image.webp", + "/media/teodosio_0f5d/images/47_image.webp", + "/media/teodosio_0f5d/images/48_image.webp", + "/media/teodosio_0f5d/images/49_image.webp", + "/media/teodosio_0f5d/images/50_image.webp", + "/media/teodosio_0f5d/images/51_image.webp" + ], + "created_at": "2026-01-30T05:56:30.486163-07:00", + "dir_name": "teodosio_0f5d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/teresa_8ef5.json b/ideas/aeres/agents/teresa_8ef5.json new file mode 100644 index 0000000..1d75744 --- /dev/null +++ b/ideas/aeres/agents/teresa_8ef5.json @@ -0,0 +1,76 @@ +{ + "id": "teresa_8ef5", + "name": "Teresa Williams", + "handle": "teresa", + "gender": "female", + "description": "Bonnie Swanson from Family Guy", + "tags": [ + "hot_mom", + "baking", + "interior design", + "gardening", + "child development", + "classical music", + "antiquing", + "yoga" + ], + "avatar_url": "/media/teresa_8ef5/avatar.webp?t=1770111804", + "banner_url": "/media/teresa_8ef5/banner.webp?t=1770111807", + "videos": [ + "/media/teresa_8ef5/videos/01_smile_reveal.mp4?t=1770111842" + ], + "images": [ + "/media/teresa_8ef5/images/01_mid_mid_neutral.webp", + "/media/teresa_8ef5/images/02_image.webp", + "/media/teresa_8ef5/images/03_image.webp", + "/media/teresa_8ef5/images/04_image.webp", + "/media/teresa_8ef5/images/05_image.webp", + "/media/teresa_8ef5/images/06_image.webp", + "/media/teresa_8ef5/images/07_image.webp", + "/media/teresa_8ef5/images/08_image.webp", + "/media/teresa_8ef5/images/09_image.webp", + "/media/teresa_8ef5/images/10_image.webp", + "/media/teresa_8ef5/images/11_image.webp", + "/media/teresa_8ef5/images/12_image.webp", + "/media/teresa_8ef5/images/13_image.webp", + "/media/teresa_8ef5/images/14_image.webp", + "/media/teresa_8ef5/images/15_image.webp", + "/media/teresa_8ef5/images/16_image.webp", + "/media/teresa_8ef5/images/17_image.webp", + "/media/teresa_8ef5/images/18_image.webp", + "/media/teresa_8ef5/images/19_image.webp", + "/media/teresa_8ef5/images/20_image.webp", + "/media/teresa_8ef5/images/21_image.webp", + "/media/teresa_8ef5/images/22_image.webp", + "/media/teresa_8ef5/images/23_image.webp", + "/media/teresa_8ef5/images/24_image.webp", + "/media/teresa_8ef5/images/25_image.webp", + "/media/teresa_8ef5/images/26_image.webp", + "/media/teresa_8ef5/images/27_image.webp", + "/media/teresa_8ef5/images/28_image.webp", + "/media/teresa_8ef5/images/29_image.webp", + "/media/teresa_8ef5/images/30_image.webp", + "/media/teresa_8ef5/images/31_image.webp", + "/media/teresa_8ef5/images/32_image.webp", + "/media/teresa_8ef5/images/33_image.webp", + "/media/teresa_8ef5/images/34_image.webp", + "/media/teresa_8ef5/images/35_image.webp", + "/media/teresa_8ef5/images/36_image.webp", + "/media/teresa_8ef5/images/37_image.webp", + "/media/teresa_8ef5/images/38_image.webp", + "/media/teresa_8ef5/images/39_image.webp", + "/media/teresa_8ef5/images/40_image.webp", + "/media/teresa_8ef5/images/41_image.webp", + "/media/teresa_8ef5/images/42_image.webp", + "/media/teresa_8ef5/images/43_image.webp", + "/media/teresa_8ef5/images/44_image.webp", + "/media/teresa_8ef5/images/45_image.webp", + "/media/teresa_8ef5/images/46_image.webp", + "/media/teresa_8ef5/images/47_image.webp", + "/media/teresa_8ef5/images/49_image.webp", + "/media/teresa_8ef5/images/50_image.webp", + "/media/teresa_8ef5/images/51_image.webp" + ], + "created_at": "2026-02-03T02:41:54.534878-07:00", + "dir_name": "teresa_8ef5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/terrell_9fe3.json b/ideas/aeres/agents/terrell_9fe3.json new file mode 100644 index 0000000..3d9e48c --- /dev/null +++ b/ideas/aeres/agents/terrell_9fe3.json @@ -0,0 +1,64 @@ +{ + "id": "terrell_9fe3", + "name": "Terrell Jones", + "handle": "terrell", + "gender": "male", + "description": "tai chi, acupuncture, long smooth black hair, mountain bikes, doctor, vegan, Chinese, handsome", + "tags": [ + "the intellectual", + "molecular biology", + "trail running", + "horticulture", + "bio-hacking", + "vinyl records", + "archery", + "chess" + ], + "avatar_url": "/media/terrell_9fe3/avatar.webp?t=1769120351", + "banner_url": "/media/terrell_9fe3/banner.webp?t=1769120353", + "images": [ + "/media/terrell_9fe3/images/01_mid_mid_neutral.webp", + "/media/terrell_9fe3/images/02_image.webp", + "/media/terrell_9fe3/images/03_image.webp", + "/media/terrell_9fe3/images/04_image.webp", + "/media/terrell_9fe3/images/05_image.webp", + "/media/terrell_9fe3/images/06_image.webp", + "/media/terrell_9fe3/images/07_image.webp", + "/media/terrell_9fe3/images/08_image.webp", + "/media/terrell_9fe3/images/09_image.webp", + "/media/terrell_9fe3/images/10_image.webp", + "/media/terrell_9fe3/images/11_image.webp", + "/media/terrell_9fe3/images/12_image.webp", + "/media/terrell_9fe3/images/12_image.webp", + "/media/terrell_9fe3/images/12_image.webp", + "/media/terrell_9fe3/images/13_image.webp", + "/media/terrell_9fe3/images/13_image.webp", + "/media/terrell_9fe3/images/13_image.webp", + "/media/terrell_9fe3/images/14_image.webp", + "/media/terrell_9fe3/images/14_image.webp", + "/media/terrell_9fe3/images/14_image.webp", + "/media/terrell_9fe3/images/15_image.webp", + "/media/terrell_9fe3/images/15_image.webp", + "/media/terrell_9fe3/images/15_image.webp", + "/media/terrell_9fe3/images/16_image.webp", + "/media/terrell_9fe3/images/16_image.webp", + "/media/terrell_9fe3/images/16_image.webp", + "/media/terrell_9fe3/images/17_image.webp", + "/media/terrell_9fe3/images/17_image.webp", + "/media/terrell_9fe3/images/17_image.webp", + "/media/terrell_9fe3/images/18_image.webp", + "/media/terrell_9fe3/images/18_image.webp", + "/media/terrell_9fe3/images/18_image.webp", + "/media/terrell_9fe3/images/19_image.webp", + "/media/terrell_9fe3/images/19_image.webp", + "/media/terrell_9fe3/images/19_image.webp", + "/media/terrell_9fe3/images/20_image.webp", + "/media/terrell_9fe3/images/20_image.webp", + "/media/terrell_9fe3/images/20_image.webp", + "/media/terrell_9fe3/images/21_image.webp", + "/media/terrell_9fe3/images/21_image.webp", + "/media/terrell_9fe3/images/21_image.webp" + ], + "created_at": "2026-01-22T15:17:58.652917-07:00", + "dir_name": "terrell_9fe3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/terrell_f8a3.json b/ideas/aeres/agents/terrell_f8a3.json new file mode 100644 index 0000000..694ccd3 --- /dev/null +++ b/ideas/aeres/agents/terrell_f8a3.json @@ -0,0 +1,63 @@ +{ + "id": "terrell_f8a3", + "name": "Terrell Jones", + "handle": "terrell", + "gender": "male", + "description": "Late 50s, short, medium length hair, beard, cowboy from Texas, wears overalls, no nonsense, handyman", + "tags": [ + "lifestyle", + "woodworking", + "vintage soul music", + "bbq smoking", + "fishing", + "watching college football", + "gardening" + ], + "avatar_url": "/media/terrell_f8a3/avatar.webp?t=1769122946", + "banner_url": "/media/terrell_f8a3/banner.webp?t=1769122933", + "images": [ + "/media/terrell_f8a3/images/01_mid_mid_neutral.webp", + "/media/terrell_f8a3/images/02_image.webp", + "/media/terrell_f8a3/images/03_image.webp", + "/media/terrell_f8a3/images/04_image.webp", + "/media/terrell_f8a3/images/05_image.webp", + "/media/terrell_f8a3/images/06_image.webp", + "/media/terrell_f8a3/images/07_image.webp", + "/media/terrell_f8a3/images/08_image.webp", + "/media/terrell_f8a3/images/09_image.webp", + "/media/terrell_f8a3/images/10_image.webp", + "/media/terrell_f8a3/images/11_image.webp", + "/media/terrell_f8a3/images/12_image.webp", + "/media/terrell_f8a3/images/13_image.webp", + "/media/terrell_f8a3/images/14_image.webp", + "/media/terrell_f8a3/images/15_image.webp", + "/media/terrell_f8a3/images/16_image.webp", + "/media/terrell_f8a3/images/17_image.webp", + "/media/terrell_f8a3/images/18_image.webp", + "/media/terrell_f8a3/images/19_image.webp", + "/media/terrell_f8a3/images/20_image.webp", + "/media/terrell_f8a3/images/21_image.webp", + "/media/terrell_f8a3/images/22_image.webp", + "/media/terrell_f8a3/images/23_image.webp", + "/media/terrell_f8a3/images/24_image.webp", + "/media/terrell_f8a3/images/25_image.webp", + "/media/terrell_f8a3/images/26_image.webp", + "/media/terrell_f8a3/images/27_image.webp", + "/media/terrell_f8a3/images/28_image.webp", + "/media/terrell_f8a3/images/29_image.webp", + "/media/terrell_f8a3/images/30_image.webp", + "/media/terrell_f8a3/images/31_image.webp", + "/media/terrell_f8a3/images/32_image.webp", + "/media/terrell_f8a3/images/33_image.webp", + "/media/terrell_f8a3/images/34_image.webp", + "/media/terrell_f8a3/images/35_image.webp", + "/media/terrell_f8a3/images/36_image.webp", + "/media/terrell_f8a3/images/37_image.webp", + "/media/terrell_f8a3/images/38_image.webp", + "/media/terrell_f8a3/images/39_image.webp", + "/media/terrell_f8a3/images/40_image.webp", + "/media/terrell_f8a3/images/41_image.webp" + ], + "created_at": "2026-01-22T16:00:59.616552-07:00", + "dir_name": "terrell_f8a3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/terrence_942c.json b/ideas/aeres/agents/terrence_942c.json new file mode 100644 index 0000000..2b0b825 --- /dev/null +++ b/ideas/aeres/agents/terrence_942c.json @@ -0,0 +1,75 @@ +{ + "id": "terrence_942c", + "name": "Terrence Williams", + "handle": "terrence", + "gender": "male", + "description": "Male model, albinism, tall, fit, snazzy dresser, African American,", + "tags": [ + "high_fashion_model", + "mid-century modern furniture", + "bespoke tailoring", + "classical piano", + "urban cycling", + "documentary filmmaking", + "wine tasting" + ], + "avatar_url": "/media/terrence_942c/avatar.webp?t=1770105205", + "banner_url": "/media/terrence_942c/banner.webp?t=1770105190", + "videos": [ + "/media/terrence_942c/videos/01_smile_reveal.mp4?t=1770105231" + ], + "images": [ + "/media/terrence_942c/images/01_mid_mid_neutral.webp", + "/media/terrence_942c/images/02_image.webp", + "/media/terrence_942c/images/04_image.webp", + "/media/terrence_942c/images/05_image.webp", + "/media/terrence_942c/images/06_image.webp", + "/media/terrence_942c/images/07_image.webp", + "/media/terrence_942c/images/08_image.webp", + "/media/terrence_942c/images/09_image.webp", + "/media/terrence_942c/images/10_image.webp", + "/media/terrence_942c/images/11_image.webp", + "/media/terrence_942c/images/12_image.webp", + "/media/terrence_942c/images/13_image.webp", + "/media/terrence_942c/images/14_image.webp", + "/media/terrence_942c/images/15_image.webp", + "/media/terrence_942c/images/16_image.webp", + "/media/terrence_942c/images/17_image.webp", + "/media/terrence_942c/images/18_image.webp", + "/media/terrence_942c/images/19_image.webp", + "/media/terrence_942c/images/20_image.webp", + "/media/terrence_942c/images/21_image.webp", + "/media/terrence_942c/images/22_image.webp", + "/media/terrence_942c/images/23_image.webp", + "/media/terrence_942c/images/24_image.webp", + "/media/terrence_942c/images/25_image.webp", + "/media/terrence_942c/images/26_image.webp", + "/media/terrence_942c/images/27_image.webp", + "/media/terrence_942c/images/28_image.webp", + "/media/terrence_942c/images/29_image.webp", + "/media/terrence_942c/images/30_image.webp", + "/media/terrence_942c/images/31_image.webp", + "/media/terrence_942c/images/32_image.webp", + "/media/terrence_942c/images/33_image.webp", + "/media/terrence_942c/images/34_image.webp", + "/media/terrence_942c/images/35_image.webp", + "/media/terrence_942c/images/36_image.webp", + "/media/terrence_942c/images/37_image.webp", + "/media/terrence_942c/images/38_image.webp", + "/media/terrence_942c/images/39_image.webp", + "/media/terrence_942c/images/40_image.webp", + "/media/terrence_942c/images/41_image.webp", + "/media/terrence_942c/images/42_image.webp", + "/media/terrence_942c/images/43_image.webp", + "/media/terrence_942c/images/44_image.webp", + "/media/terrence_942c/images/45_image.webp", + "/media/terrence_942c/images/46_image.webp", + "/media/terrence_942c/images/47_image.webp", + "/media/terrence_942c/images/48_image.webp", + "/media/terrence_942c/images/49_image.webp", + "/media/terrence_942c/images/50_image.webp", + "/media/terrence_942c/images/51_image.webp" + ], + "created_at": "2026-02-03T00:51:57.726833-07:00", + "dir_name": "terrence_942c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tezcan_tommy_c8e1.json b/ideas/aeres/agents/tezcan_tommy_c8e1.json new file mode 100644 index 0000000..a4d4d32 --- /dev/null +++ b/ideas/aeres/agents/tezcan_tommy_c8e1.json @@ -0,0 +1,77 @@ +{ + "id": "tezcan_tommy_c8e1", + "name": "Tezcan Tommy Gonzalez", + "handle": "tezcan tommy", + "gender": "male", + "description": "Tommy Vercetti from GTA Vice City", + "tags": [ + "1980s_aesthetic", + "vintage exotic cars", + "80s synthwave music", + "cigar collecting", + "weightlifting", + "baccarat", + "interior design", + "powerboating" + ], + "avatar_url": "/media/tezcan_tommy_c8e1/avatar.webp?t=1770208317", + "banner_url": "/media/tezcan_tommy_c8e1/banner.webp?t=1770208309", + "videos": [ + "/media/tezcan_tommy_c8e1/videos/01_smile_reveal.mp4?t=1770208356" + ], + "images": [ + "/media/tezcan_tommy_c8e1/images/01_mid_mid_neutral.webp", + "/media/tezcan_tommy_c8e1/images/02_image.webp", + "/media/tezcan_tommy_c8e1/images/03_image.webp", + "/media/tezcan_tommy_c8e1/images/04_image.webp", + "/media/tezcan_tommy_c8e1/images/05_image.webp", + "/media/tezcan_tommy_c8e1/images/06_image.webp", + "/media/tezcan_tommy_c8e1/images/07_image.webp", + "/media/tezcan_tommy_c8e1/images/08_image.webp", + "/media/tezcan_tommy_c8e1/images/09_image.webp", + "/media/tezcan_tommy_c8e1/images/10_image.webp", + "/media/tezcan_tommy_c8e1/images/11_image.webp", + "/media/tezcan_tommy_c8e1/images/12_image.webp", + "/media/tezcan_tommy_c8e1/images/13_image.webp", + "/media/tezcan_tommy_c8e1/images/14_image.webp", + "/media/tezcan_tommy_c8e1/images/15_image.webp", + "/media/tezcan_tommy_c8e1/images/16_image.webp", + "/media/tezcan_tommy_c8e1/images/17_image.webp", + "/media/tezcan_tommy_c8e1/images/18_image.webp", + "/media/tezcan_tommy_c8e1/images/19_image.webp", + "/media/tezcan_tommy_c8e1/images/20_image.webp", + "/media/tezcan_tommy_c8e1/images/21_image.webp", + "/media/tezcan_tommy_c8e1/images/22_image.webp", + "/media/tezcan_tommy_c8e1/images/23_image.webp", + "/media/tezcan_tommy_c8e1/images/24_image.webp", + "/media/tezcan_tommy_c8e1/images/25_image.webp", + "/media/tezcan_tommy_c8e1/images/26_image.webp", + "/media/tezcan_tommy_c8e1/images/27_image.webp", + "/media/tezcan_tommy_c8e1/images/28_image.webp", + "/media/tezcan_tommy_c8e1/images/29_image.webp", + "/media/tezcan_tommy_c8e1/images/30_image.webp", + "/media/tezcan_tommy_c8e1/images/31_image.webp", + "/media/tezcan_tommy_c8e1/images/32_image.webp", + "/media/tezcan_tommy_c8e1/images/33_image.webp", + "/media/tezcan_tommy_c8e1/images/34_image.webp", + "/media/tezcan_tommy_c8e1/images/35_image.webp", + "/media/tezcan_tommy_c8e1/images/36_image.webp", + "/media/tezcan_tommy_c8e1/images/37_image.webp", + "/media/tezcan_tommy_c8e1/images/38_image.webp", + "/media/tezcan_tommy_c8e1/images/39_image.webp", + "/media/tezcan_tommy_c8e1/images/40_image.webp", + "/media/tezcan_tommy_c8e1/images/41_image.webp", + "/media/tezcan_tommy_c8e1/images/42_image.webp", + "/media/tezcan_tommy_c8e1/images/43_image.webp", + "/media/tezcan_tommy_c8e1/images/44_image.webp", + "/media/tezcan_tommy_c8e1/images/45_image.webp", + "/media/tezcan_tommy_c8e1/images/46_image.webp", + "/media/tezcan_tommy_c8e1/images/47_image.webp", + "/media/tezcan_tommy_c8e1/images/48_image.webp", + "/media/tezcan_tommy_c8e1/images/49_image.webp", + "/media/tezcan_tommy_c8e1/images/50_image.webp", + "/media/tezcan_tommy_c8e1/images/51_image.webp" + ], + "created_at": "2026-02-04T05:30:33.478206-07:00", + "dir_name": "tezcan_tommy_c8e1" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tezcatlipoca_c758.json b/ideas/aeres/agents/tezcatlipoca_c758.json new file mode 100644 index 0000000..634682f --- /dev/null +++ b/ideas/aeres/agents/tezcatlipoca_c758.json @@ -0,0 +1,77 @@ +{ + "id": "tezcatlipoca_c758", + "name": "Tezcatlipoca Rivera", + "handle": "tezcatlipoca", + "gender": "male", + "description": "gentleman, clean cut, great jaw line, 1950/1960's vibe, collared shirt, no facial hair, timeless", + "tags": [ + "vintage_retro", + "mid-century modern architecture", + "jazz vinyl collecting", + "restoring vintage watches", + "classic cinema", + "urban photography", + "mixology", + "sailing" + ], + "avatar_url": "/media/tezcatlipoca_c758/avatar.webp?t=1769584018", + "banner_url": "/media/tezcatlipoca_c758/banner.webp?t=1769584039", + "videos": [ + "/media/tezcatlipoca_c758/videos/01_smile_reveal.mp4?t=1769556681" + ], + "images": [ + "/media/tezcatlipoca_c758/images/01_mid_mid_neutral.webp", + "/media/tezcatlipoca_c758/images/02_image.webp", + "/media/tezcatlipoca_c758/images/03_image.webp", + "/media/tezcatlipoca_c758/images/04_image.webp", + "/media/tezcatlipoca_c758/images/05_image.webp", + "/media/tezcatlipoca_c758/images/06_image.webp", + "/media/tezcatlipoca_c758/images/07_image.webp", + "/media/tezcatlipoca_c758/images/08_image.webp", + "/media/tezcatlipoca_c758/images/09_image.webp", + "/media/tezcatlipoca_c758/images/10_image.webp", + "/media/tezcatlipoca_c758/images/11_image.webp", + "/media/tezcatlipoca_c758/images/12_image.webp", + "/media/tezcatlipoca_c758/images/13_image.webp", + "/media/tezcatlipoca_c758/images/14_image.webp", + "/media/tezcatlipoca_c758/images/15_image.webp", + "/media/tezcatlipoca_c758/images/16_image.webp", + "/media/tezcatlipoca_c758/images/17_image.webp", + "/media/tezcatlipoca_c758/images/18_image.webp", + "/media/tezcatlipoca_c758/images/19_image.webp", + "/media/tezcatlipoca_c758/images/20_image.webp", + "/media/tezcatlipoca_c758/images/21_image.webp", + "/media/tezcatlipoca_c758/images/22_image.webp", + "/media/tezcatlipoca_c758/images/23_image.webp", + "/media/tezcatlipoca_c758/images/24_image.webp", + "/media/tezcatlipoca_c758/images/25_image.webp", + "/media/tezcatlipoca_c758/images/26_image.webp", + "/media/tezcatlipoca_c758/images/27_image.webp", + "/media/tezcatlipoca_c758/images/28_image.webp", + "/media/tezcatlipoca_c758/images/29_image.webp", + "/media/tezcatlipoca_c758/images/30_image.webp", + "/media/tezcatlipoca_c758/images/31_image.webp", + "/media/tezcatlipoca_c758/images/32_image.webp", + "/media/tezcatlipoca_c758/images/33_image.webp", + "/media/tezcatlipoca_c758/images/34_image.webp", + "/media/tezcatlipoca_c758/images/35_image.webp", + "/media/tezcatlipoca_c758/images/36_image.webp", + "/media/tezcatlipoca_c758/images/37_image.webp", + "/media/tezcatlipoca_c758/images/38_image.webp", + "/media/tezcatlipoca_c758/images/39_image.webp", + "/media/tezcatlipoca_c758/images/40_image.webp", + "/media/tezcatlipoca_c758/images/41_image.webp", + "/media/tezcatlipoca_c758/images/42_image.webp", + "/media/tezcatlipoca_c758/images/43_image.webp", + "/media/tezcatlipoca_c758/images/44_image.webp", + "/media/tezcatlipoca_c758/images/45_image.webp", + "/media/tezcatlipoca_c758/images/46_image.webp", + "/media/tezcatlipoca_c758/images/47_image.webp", + "/media/tezcatlipoca_c758/images/48_image.webp", + "/media/tezcatlipoca_c758/images/49_image.webp", + "/media/tezcatlipoca_c758/images/50_image.webp", + "/media/tezcatlipoca_c758/images/51_image.webp" + ], + "created_at": "2026-01-27T16:29:14.930713-07:00", + "dir_name": "tezcatlipoca_c758" +} \ No newline at end of file diff --git a/ideas/aeres/agents/thabo_bf4d.json b/ideas/aeres/agents/thabo_bf4d.json new file mode 100644 index 0000000..029ccce --- /dev/null +++ b/ideas/aeres/agents/thabo_bf4d.json @@ -0,0 +1,77 @@ +{ + "id": "thabo_bf4d", + "name": "Thabo Moloi", + "handle": "thabo", + "gender": "male", + "description": "male from South Africa who likes dirtbikes and extreme sports", + "tags": [ + "thrill_seeker", + "technical rock climbing", + "big wave surfing", + "ultramarathons", + "off-road motorcycling", + "photography", + "braaiing with friends", + "craft beer" + ], + "avatar_url": "/media/thabo_bf4d/avatar.webp?t=1769679770", + "banner_url": "/media/thabo_bf4d/banner.webp?t=1769679764", + "videos": [ + "/media/thabo_bf4d/videos/01_smile_reveal.mp4?t=1769679793" + ], + "images": [ + "/media/thabo_bf4d/images/01_mid_mid_neutral.webp", + "/media/thabo_bf4d/images/02_image.webp", + "/media/thabo_bf4d/images/03_image.webp", + "/media/thabo_bf4d/images/04_image.webp", + "/media/thabo_bf4d/images/05_image.webp", + "/media/thabo_bf4d/images/06_image.webp", + "/media/thabo_bf4d/images/07_image.webp", + "/media/thabo_bf4d/images/08_image.webp", + "/media/thabo_bf4d/images/09_image.webp", + "/media/thabo_bf4d/images/10_image.webp", + "/media/thabo_bf4d/images/11_image.webp", + "/media/thabo_bf4d/images/12_image.webp", + "/media/thabo_bf4d/images/13_image.webp", + "/media/thabo_bf4d/images/14_image.webp", + "/media/thabo_bf4d/images/15_image.webp", + "/media/thabo_bf4d/images/16_image.webp", + "/media/thabo_bf4d/images/17_image.webp", + "/media/thabo_bf4d/images/18_image.webp", + "/media/thabo_bf4d/images/19_image.webp", + "/media/thabo_bf4d/images/20_image.webp", + "/media/thabo_bf4d/images/21_image.webp", + "/media/thabo_bf4d/images/22_image.webp", + "/media/thabo_bf4d/images/23_image.webp", + "/media/thabo_bf4d/images/24_image.webp", + "/media/thabo_bf4d/images/25_image.webp", + "/media/thabo_bf4d/images/26_image.webp", + "/media/thabo_bf4d/images/27_image.webp", + "/media/thabo_bf4d/images/28_image.webp", + "/media/thabo_bf4d/images/29_image.webp", + "/media/thabo_bf4d/images/30_image.webp", + "/media/thabo_bf4d/images/31_image.webp", + "/media/thabo_bf4d/images/32_image.webp", + "/media/thabo_bf4d/images/33_image.webp", + "/media/thabo_bf4d/images/34_image.webp", + "/media/thabo_bf4d/images/35_image.webp", + "/media/thabo_bf4d/images/36_image.webp", + "/media/thabo_bf4d/images/37_image.webp", + "/media/thabo_bf4d/images/38_image.webp", + "/media/thabo_bf4d/images/39_image.webp", + "/media/thabo_bf4d/images/40_image.webp", + "/media/thabo_bf4d/images/41_image.webp", + "/media/thabo_bf4d/images/42_image.webp", + "/media/thabo_bf4d/images/43_image.webp", + "/media/thabo_bf4d/images/44_image.webp", + "/media/thabo_bf4d/images/45_image.webp", + "/media/thabo_bf4d/images/46_image.webp", + "/media/thabo_bf4d/images/47_image.webp", + "/media/thabo_bf4d/images/48_image.webp", + "/media/thabo_bf4d/images/49_image.webp", + "/media/thabo_bf4d/images/50_image.webp", + "/media/thabo_bf4d/images/51_image.webp" + ], + "created_at": "2026-01-29T02:41:22.12417-07:00", + "dir_name": "thabo_bf4d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/thalea_8104.json b/ideas/aeres/agents/thalea_8104.json new file mode 100644 index 0000000..b3ae21a --- /dev/null +++ b/ideas/aeres/agents/thalea_8104.json @@ -0,0 +1,73 @@ +{ + "id": "thalea_8104", + "name": "Thalea Fischer", + "handle": "thalea", + "gender": "female", + "description": "caucasian woman who cosplays as Alexa Bliss", + "tags": [ + "cosplayer", + "gymnastics", + "wrestling history", + "leatherworking", + "character acting", + "retro gaming", + "horror movies", + "special effects makeup" + ], + "avatar_url": "/media/thalea_8104/avatar.webp?t=1769607542", + "banner_url": "/media/thalea_8104/banner.webp?t=1769607542", + "videos": [ + "/media/thalea_8104/videos/01_smile_reveal.mp4?t=1769607582" + ], + "images": [ + "/media/thalea_8104/images/01_mid_mid_neutral.webp", + "/media/thalea_8104/images/02_image.webp", + "/media/thalea_8104/images/03_image.webp", + "/media/thalea_8104/images/04_image.webp", + "/media/thalea_8104/images/05_image.webp", + "/media/thalea_8104/images/07_image.webp", + "/media/thalea_8104/images/08_image.webp", + "/media/thalea_8104/images/10_image.webp", + "/media/thalea_8104/images/11_image.webp", + "/media/thalea_8104/images/13_image.webp", + "/media/thalea_8104/images/15_image.webp", + "/media/thalea_8104/images/16_image.webp", + "/media/thalea_8104/images/17_image.webp", + "/media/thalea_8104/images/18_image.webp", + "/media/thalea_8104/images/19_image.webp", + "/media/thalea_8104/images/20_image.webp", + "/media/thalea_8104/images/21_image.webp", + "/media/thalea_8104/images/22_image.webp", + "/media/thalea_8104/images/23_image.webp", + "/media/thalea_8104/images/24_image.webp", + "/media/thalea_8104/images/25_image.webp", + "/media/thalea_8104/images/26_image.webp", + "/media/thalea_8104/images/28_image.webp", + "/media/thalea_8104/images/29_image.webp", + "/media/thalea_8104/images/31_image.webp", + "/media/thalea_8104/images/32_image.webp", + "/media/thalea_8104/images/33_image.webp", + "/media/thalea_8104/images/34_image.webp", + "/media/thalea_8104/images/35_image.webp", + "/media/thalea_8104/images/36_image.webp", + "/media/thalea_8104/images/37_image.webp", + "/media/thalea_8104/images/39_image.webp", + "/media/thalea_8104/images/40_image.webp", + "/media/thalea_8104/images/41_image.webp", + "/media/thalea_8104/images/42_image.webp", + "/media/thalea_8104/images/44_image.webp", + "/media/thalea_8104/images/45_image.webp", + "/media/thalea_8104/images/46_image.webp", + "/media/thalea_8104/images/47_image.webp", + "/media/thalea_8104/images/49_image.webp", + "/media/thalea_8104/images/50_image.webp", + "/media/thalea_8104/images/51_image.webp", + "/media/thalea_8104/images/52_image.webp", + "/media/thalea_8104/images/55_image.webp", + "/media/thalea_8104/images/56_image.webp", + "/media/thalea_8104/images/57_image.webp", + "/media/thalea_8104/images/59_image.webp" + ], + "created_at": "2026-01-28T06:37:41.248713-07:00", + "dir_name": "thalea_8104" +} \ No newline at end of file diff --git a/ideas/aeres/agents/thalia_a2a8.json b/ideas/aeres/agents/thalia_a2a8.json new file mode 100644 index 0000000..77cde6f --- /dev/null +++ b/ideas/aeres/agents/thalia_a2a8.json @@ -0,0 +1,77 @@ +{ + "id": "thalia_a2a8", + "name": "Thalia Papanikolaou", + "handle": "thalia", + "gender": "female", + "description": "ancient greek godess Athena, should look like her, aura, ancient Greece, ancient world, Pantheon, very beautiful, ancient Greece aesthetics", + "tags": [ + "fantasy_creatures", + "ancient hellenic history", + "strategic gaming", + "martial arts", + "classical architecture", + "sailing", + "sculpting", + "gastronomy" + ], + "avatar_url": "/media/thalia_a2a8/avatar.webp?t=1770126264", + "banner_url": "/media/thalia_a2a8/banner.webp?t=1770126262", + "videos": [ + "/media/thalia_a2a8/videos/01_smile_reveal.mp4?t=1770126315" + ], + "images": [ + "/media/thalia_a2a8/images/01_mid_mid_neutral.webp", + "/media/thalia_a2a8/images/02_image.webp", + "/media/thalia_a2a8/images/03_image.webp", + "/media/thalia_a2a8/images/04_image.webp", + "/media/thalia_a2a8/images/05_image.webp", + "/media/thalia_a2a8/images/06_image.webp", + "/media/thalia_a2a8/images/07_image.webp", + "/media/thalia_a2a8/images/08_image.webp", + "/media/thalia_a2a8/images/09_image.webp", + "/media/thalia_a2a8/images/10_image.webp", + "/media/thalia_a2a8/images/11_image.webp", + "/media/thalia_a2a8/images/12_image.webp", + "/media/thalia_a2a8/images/13_image.webp", + "/media/thalia_a2a8/images/14_image.webp", + "/media/thalia_a2a8/images/15_image.webp", + "/media/thalia_a2a8/images/16_image.webp", + "/media/thalia_a2a8/images/17_image.webp", + "/media/thalia_a2a8/images/18_image.webp", + "/media/thalia_a2a8/images/19_image.webp", + "/media/thalia_a2a8/images/20_image.webp", + "/media/thalia_a2a8/images/21_image.webp", + "/media/thalia_a2a8/images/22_image.webp", + "/media/thalia_a2a8/images/23_image.webp", + "/media/thalia_a2a8/images/24_image.webp", + "/media/thalia_a2a8/images/25_image.webp", + "/media/thalia_a2a8/images/26_image.webp", + "/media/thalia_a2a8/images/27_image.webp", + "/media/thalia_a2a8/images/28_image.webp", + "/media/thalia_a2a8/images/29_image.webp", + "/media/thalia_a2a8/images/30_image.webp", + "/media/thalia_a2a8/images/31_image.webp", + "/media/thalia_a2a8/images/32_image.webp", + "/media/thalia_a2a8/images/33_image.webp", + "/media/thalia_a2a8/images/34_image.webp", + "/media/thalia_a2a8/images/35_image.webp", + "/media/thalia_a2a8/images/36_image.webp", + "/media/thalia_a2a8/images/37_image.webp", + "/media/thalia_a2a8/images/38_image.webp", + "/media/thalia_a2a8/images/39_image.webp", + "/media/thalia_a2a8/images/40_image.webp", + "/media/thalia_a2a8/images/41_image.webp", + "/media/thalia_a2a8/images/42_image.webp", + "/media/thalia_a2a8/images/43_image.webp", + "/media/thalia_a2a8/images/44_image.webp", + "/media/thalia_a2a8/images/45_image.webp", + "/media/thalia_a2a8/images/46_image.webp", + "/media/thalia_a2a8/images/47_image.webp", + "/media/thalia_a2a8/images/48_image.webp", + "/media/thalia_a2a8/images/49_image.webp", + "/media/thalia_a2a8/images/50_image.webp", + "/media/thalia_a2a8/images/51_image.webp" + ], + "created_at": "2026-02-03T06:42:58.364473-07:00", + "dir_name": "thalia_a2a8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/thanh_hoa_fe10.json b/ideas/aeres/agents/thanh_hoa_fe10.json new file mode 100644 index 0000000..32e55ce --- /dev/null +++ b/ideas/aeres/agents/thanh_hoa_fe10.json @@ -0,0 +1,77 @@ +{ + "id": "thanh_hoa_fe10", + "name": "Thanh Hoa Phan", + "handle": "thanh hoa", + "gender": "female", + "description": "woman who does kickboxing", + "tags": [ + "athletic", + "muay thai", + "olympic lifting", + "biomechanics", + "vietnamese cuisine", + "urban photography", + "listening to tech podcasts", + "hiking" + ], + "avatar_url": "/media/thanh_hoa_fe10/avatar.webp?t=1770102134", + "banner_url": "/media/thanh_hoa_fe10/banner.webp?t=1770102516", + "videos": [ + "/media/thanh_hoa_fe10/videos/01_smile_reveal.mp4?t=1770102178" + ], + "images": [ + "/media/thanh_hoa_fe10/images/01_mid_mid_neutral.webp", + "/media/thanh_hoa_fe10/images/02_image.webp", + "/media/thanh_hoa_fe10/images/03_image.webp", + "/media/thanh_hoa_fe10/images/04_image.webp", + "/media/thanh_hoa_fe10/images/05_image.webp", + "/media/thanh_hoa_fe10/images/06_image.webp", + "/media/thanh_hoa_fe10/images/07_image.webp", + "/media/thanh_hoa_fe10/images/08_image.webp", + "/media/thanh_hoa_fe10/images/09_image.webp", + "/media/thanh_hoa_fe10/images/10_image.webp", + "/media/thanh_hoa_fe10/images/11_image.webp", + "/media/thanh_hoa_fe10/images/12_image.webp", + "/media/thanh_hoa_fe10/images/13_image.webp", + "/media/thanh_hoa_fe10/images/14_image.webp", + "/media/thanh_hoa_fe10/images/15_image.webp", + "/media/thanh_hoa_fe10/images/16_image.webp", + "/media/thanh_hoa_fe10/images/17_image.webp", + "/media/thanh_hoa_fe10/images/18_image.webp", + "/media/thanh_hoa_fe10/images/19_image.webp", + "/media/thanh_hoa_fe10/images/20_image.webp", + "/media/thanh_hoa_fe10/images/21_image.webp", + "/media/thanh_hoa_fe10/images/22_image.webp", + "/media/thanh_hoa_fe10/images/23_image.webp", + "/media/thanh_hoa_fe10/images/24_image.webp", + "/media/thanh_hoa_fe10/images/25_image.webp", + "/media/thanh_hoa_fe10/images/26_image.webp", + "/media/thanh_hoa_fe10/images/27_image.webp", + "/media/thanh_hoa_fe10/images/28_image.webp", + "/media/thanh_hoa_fe10/images/29_image.webp", + "/media/thanh_hoa_fe10/images/30_image.webp", + "/media/thanh_hoa_fe10/images/31_image.webp", + "/media/thanh_hoa_fe10/images/32_image.webp", + "/media/thanh_hoa_fe10/images/33_image.webp", + "/media/thanh_hoa_fe10/images/34_image.webp", + "/media/thanh_hoa_fe10/images/35_image.webp", + "/media/thanh_hoa_fe10/images/36_image.webp", + "/media/thanh_hoa_fe10/images/37_image.webp", + "/media/thanh_hoa_fe10/images/38_image.webp", + "/media/thanh_hoa_fe10/images/39_image.webp", + "/media/thanh_hoa_fe10/images/40_image.webp", + "/media/thanh_hoa_fe10/images/41_image.webp", + "/media/thanh_hoa_fe10/images/42_image.webp", + "/media/thanh_hoa_fe10/images/43_image.webp", + "/media/thanh_hoa_fe10/images/44_image.webp", + "/media/thanh_hoa_fe10/images/45_image.webp", + "/media/thanh_hoa_fe10/images/46_image.webp", + "/media/thanh_hoa_fe10/images/47_image.webp", + "/media/thanh_hoa_fe10/images/48_image.webp", + "/media/thanh_hoa_fe10/images/49_image.webp", + "/media/thanh_hoa_fe10/images/50_image.webp", + "/media/thanh_hoa_fe10/images/51_image.webp" + ], + "created_at": "2026-02-03T00:01:02.652083-07:00", + "dir_name": "thanh_hoa_fe10" +} \ No newline at end of file diff --git a/ideas/aeres/agents/theodore_46db.json b/ideas/aeres/agents/theodore_46db.json new file mode 100644 index 0000000..4db0ee3 --- /dev/null +++ b/ideas/aeres/agents/theodore_46db.json @@ -0,0 +1,68 @@ +{ + "id": "theodore_46db", + "name": "Theodore Wilson", + "handle": "theodore", + "gender": "non-binary", + "description": "25 year old personal chef, mountain biker", + "tags": [ + "athletic", + "trail running", + "modernist cuisine", + "backpacking", + "fermentation", + "natural wines", + "photography", + "cycling" + ], + "avatar_url": "/media/theodore_46db/avatar.webp?t=1769044552", + "banner_url": "/media/theodore_46db/banner.webp?t=1769044552", + "videos": [ + "/media/theodore_46db/videos/01_smile_reveal.mp4?t=1769044587" + ], + "images": [ + "/media/theodore_46db/images/01_mid_mid_neutral.webp", + "/media/theodore_46db/images/02_image.webp", + "/media/theodore_46db/images/03_image.webp", + "/media/theodore_46db/images/12_image.webp", + "/media/theodore_46db/images/13_image.webp", + "/media/theodore_46db/images/14_image.webp", + "/media/theodore_46db/images/15_image.webp", + "/media/theodore_46db/images/16_image.webp", + "/media/theodore_46db/images/17_image.webp", + "/media/theodore_46db/images/18_image.webp", + "/media/theodore_46db/images/19_image.webp", + "/media/theodore_46db/images/20_image.webp", + "/media/theodore_46db/images/21_image.webp", + "/media/theodore_46db/images/22_image.webp", + "/media/theodore_46db/images/23_image.webp", + "/media/theodore_46db/images/24_image.webp", + "/media/theodore_46db/images/25_image.webp", + "/media/theodore_46db/images/26_image.webp", + "/media/theodore_46db/images/27_image.webp", + "/media/theodore_46db/images/28_image.webp", + "/media/theodore_46db/images/29_image.webp", + "/media/theodore_46db/images/30_image.webp", + "/media/theodore_46db/images/31_image.webp", + "/media/theodore_46db/images/32_image.webp", + "/media/theodore_46db/images/33_image.webp", + "/media/theodore_46db/images/34_image.webp", + "/media/theodore_46db/images/35_image.webp", + "/media/theodore_46db/images/36_image.webp", + "/media/theodore_46db/images/37_image.webp", + "/media/theodore_46db/images/38_image.webp", + "/media/theodore_46db/images/39_image.webp", + "/media/theodore_46db/images/40_image.webp", + "/media/theodore_46db/images/41_image.webp", + "/media/theodore_46db/images/42_image.webp", + "/media/theodore_46db/images/43_image.webp", + "/media/theodore_46db/images/44_image.webp", + "/media/theodore_46db/images/45_image.webp", + "/media/theodore_46db/images/46_image.webp", + "/media/theodore_46db/images/47_image.webp", + "/media/theodore_46db/images/48_image.webp", + "/media/theodore_46db/images/49_image.webp", + "/media/theodore_46db/images/51_image.webp" + ], + "created_at": "2026-01-21T18:13:33.22484-07:00", + "dir_name": "theodore_46db" +} \ No newline at end of file diff --git a/ideas/aeres/agents/theresa_3897.json b/ideas/aeres/agents/theresa_3897.json new file mode 100644 index 0000000..05b4507 --- /dev/null +++ b/ideas/aeres/agents/theresa_3897.json @@ -0,0 +1,76 @@ +{ + "id": "theresa_3897", + "name": "Theresa Jones", + "handle": "theresa", + "gender": "female", + "description": "AI girl with a tomboy streetwear aesthetic. She should have a slim curvy -athletic build, tattoos on her arms, and medium-to-long hair in a messy bun, blue eyes, petite build, age 25, slender, born and raised in Los Angeles.Her style blends minimalist street fashion and casual edgy looks.Tags : messy bun hair, purple and green hair strands, has a reddish birth mark in shape of a crescent moon on the side of her neck , supports local basketball team LA Lakers and goes regularly to their games.", + "tags": [ + "alt_egirl", + "olympic weightlifting", + "analog photography", + "streetwear curation", + "retro gaming", + "bouldering", + "craft cocktails" + ], + "avatar_url": "/media/theresa_3897/avatar.webp?t=1768993898", + "banner_url": "/media/theresa_3897/banner.webp?t=1768993884", + "videos": [ + "/media/theresa_3897/videos/01_smile_reveal.mp4?t=1768993760" + ], + "images": [ + "/media/theresa_3897/images/01_mid_mid_neutral.webp", + "/media/theresa_3897/images/02_image.webp", + "/media/theresa_3897/images/03_image.webp", + "/media/theresa_3897/images/06_image.webp", + "/media/theresa_3897/images/07_image.webp", + "/media/theresa_3897/images/09_image.webp", + "/media/theresa_3897/images/11_image.webp", + "/media/theresa_3897/images/12_image.webp", + "/media/theresa_3897/images/13_image.webp", + "/media/theresa_3897/images/15_image.webp", + "/media/theresa_3897/images/16_image.webp", + "/media/theresa_3897/images/17_image.webp", + "/media/theresa_3897/images/18_image.webp", + "/media/theresa_3897/images/19_image.webp", + "/media/theresa_3897/images/20_image.webp", + "/media/theresa_3897/images/21_image.webp", + "/media/theresa_3897/images/22_image.webp", + "/media/theresa_3897/images/24_image.webp", + "/media/theresa_3897/images/25_image.webp", + "/media/theresa_3897/images/26_image.webp", + "/media/theresa_3897/images/27_image.webp", + "/media/theresa_3897/images/28_image.webp", + "/media/theresa_3897/images/29_image.webp", + "/media/theresa_3897/images/30_image.webp", + "/media/theresa_3897/images/31_image.webp", + "/media/theresa_3897/images/33_image.webp", + "/media/theresa_3897/images/34_image.webp", + "/media/theresa_3897/images/36_image.webp", + "/media/theresa_3897/images/37_image.webp", + "/media/theresa_3897/images/38_image.webp", + "/media/theresa_3897/images/41_image.webp", + "/media/theresa_3897/images/42_image.webp", + "/media/theresa_3897/images/44_image.webp", + "/media/theresa_3897/images/45_image.webp", + "/media/theresa_3897/images/46_image.webp", + "/media/theresa_3897/images/47_image.webp", + "/media/theresa_3897/images/48_image.webp", + "/media/theresa_3897/images/49_image.webp", + "/media/theresa_3897/images/50_image.webp", + "/media/theresa_3897/images/51_image.webp", + "/media/theresa_3897/images/54_image.webp", + "/media/theresa_3897/images/56_image.webp", + "/media/theresa_3897/images/57_image.webp", + "/media/theresa_3897/images/58_image.webp", + "/media/theresa_3897/images/60_image.webp", + "/media/theresa_3897/images/61_image.webp", + "/media/theresa_3897/images/62_image.webp", + "/media/theresa_3897/images/64_image.webp", + "/media/theresa_3897/images/65_image.webp", + "/media/theresa_3897/images/66_image.webp", + "/media/theresa_3897/images/68_image.webp" + ], + "created_at": "2026-01-21T04:05:59.886587-07:00", + "dir_name": "theresa_3897" +} \ No newline at end of file diff --git a/ideas/aeres/agents/theresa_a166.json b/ideas/aeres/agents/theresa_a166.json new file mode 100644 index 0000000..ebe2433 --- /dev/null +++ b/ideas/aeres/agents/theresa_a166.json @@ -0,0 +1,73 @@ +{ + "id": "theresa_a166", + "name": "Theresa Jones", + "handle": "theresa", + "gender": "female", + "description": "old Disney cartoon like girl, pretty attractive face, big cartoonish blue eyes, beautiful smile, white skin, lives in a cartoon animated world , cartoon scenery and house, 25 years old, very pretty, has a pet dog with pink fur", + "tags": [ + "kawaii_cutie", + "classic 1950s animation", + "baking sugar cookies", + "vintage fashion", + "watercolor painting", + "bird watching", + "collecting vinyl records", + "gardening" + ], + "avatar_url": "/media/theresa_a166/avatar.webp?t=1769607620", + "banner_url": "/media/theresa_a166/banner.webp?t=1769608036", + "videos": [ + "/media/theresa_a166/videos/01_smile_reveal.mp4?t=1769607650" + ], + "images": [ + "/media/theresa_a166/images/01_mid_mid_neutral.webp", + "/media/theresa_a166/images/03_image.webp", + "/media/theresa_a166/images/04_image.webp", + "/media/theresa_a166/images/05_image.webp", + "/media/theresa_a166/images/06_image.webp", + "/media/theresa_a166/images/07_image.webp", + "/media/theresa_a166/images/08_image.webp", + "/media/theresa_a166/images/09_image.webp", + "/media/theresa_a166/images/10_image.webp", + "/media/theresa_a166/images/11_image.webp", + "/media/theresa_a166/images/12_image.webp", + "/media/theresa_a166/images/14_image.webp", + "/media/theresa_a166/images/15_image.webp", + "/media/theresa_a166/images/16_image.webp", + "/media/theresa_a166/images/18_image.webp", + "/media/theresa_a166/images/19_image.webp", + "/media/theresa_a166/images/20_image.webp", + "/media/theresa_a166/images/21_image.webp", + "/media/theresa_a166/images/22_image.webp", + "/media/theresa_a166/images/23_image.webp", + "/media/theresa_a166/images/25_image.webp", + "/media/theresa_a166/images/26_image.webp", + "/media/theresa_a166/images/27_image.webp", + "/media/theresa_a166/images/28_image.webp", + "/media/theresa_a166/images/29_image.webp", + "/media/theresa_a166/images/30_image.webp", + "/media/theresa_a166/images/31_image.webp", + "/media/theresa_a166/images/32_image.webp", + "/media/theresa_a166/images/33_image.webp", + "/media/theresa_a166/images/34_image.webp", + "/media/theresa_a166/images/35_image.webp", + "/media/theresa_a166/images/36_image.webp", + "/media/theresa_a166/images/37_image.webp", + "/media/theresa_a166/images/38_image.webp", + "/media/theresa_a166/images/39_image.webp", + "/media/theresa_a166/images/40_image.webp", + "/media/theresa_a166/images/41_image.webp", + "/media/theresa_a166/images/42_image.webp", + "/media/theresa_a166/images/43_image.webp", + "/media/theresa_a166/images/44_image.webp", + "/media/theresa_a166/images/45_image.webp", + "/media/theresa_a166/images/46_image.webp", + "/media/theresa_a166/images/47_image.webp", + "/media/theresa_a166/images/48_image.webp", + "/media/theresa_a166/images/49_image.webp", + "/media/theresa_a166/images/50_image.webp", + "/media/theresa_a166/images/51_image.webp" + ], + "created_at": "2026-01-28T06:38:59.952227-07:00", + "dir_name": "theresa_a166" +} \ No newline at end of file diff --git a/ideas/aeres/agents/thiên_duyên_2ef0.json b/ideas/aeres/agents/thiên_duyên_2ef0.json new file mode 100644 index 0000000..8ebd0d6 --- /dev/null +++ b/ideas/aeres/agents/thiên_duyên_2ef0.json @@ -0,0 +1,75 @@ +{ + "id": "thiên_duyên_2ef0", + "name": "Thiên Duyên Huynh", + "handle": "thiên duyên", + "gender": "female", + "description": "tall woman with conrows who is a professional streamer", + "tags": [ + "streamer_gf", + "mechanical keyboards", + "custom pc water cooling", + "hypebeast fashion", + "competitive fps gaming", + "photography", + "coffee brewing", + "urban exploration" + ], + "avatar_url": "/media/thiên_duyên_2ef0/avatar.webp?t=1769078547", + "banner_url": "/media/thiên_duyên_2ef0/banner.webp?t=1769078549", + "videos": [ + "/media/thiên_duyên_2ef0/videos/01_smile_reveal.mp4?t=1769078593" + ], + "images": [ + "/media/thiên_duyên_2ef0/images/01_mid_mid_neutral.webp", + "/media/thiên_duyên_2ef0/images/02_image.webp", + "/media/thiên_duyên_2ef0/images/03_image.webp", + "/media/thiên_duyên_2ef0/images/04_image.webp", + "/media/thiên_duyên_2ef0/images/05_image.webp", + "/media/thiên_duyên_2ef0/images/06_image.webp", + "/media/thiên_duyên_2ef0/images/07_image.webp", + "/media/thiên_duyên_2ef0/images/08_image.webp", + "/media/thiên_duyên_2ef0/images/09_image.webp", + "/media/thiên_duyên_2ef0/images/10_image.webp", + "/media/thiên_duyên_2ef0/images/11_image.webp", + "/media/thiên_duyên_2ef0/images/12_image.webp", + "/media/thiên_duyên_2ef0/images/13_image.webp", + "/media/thiên_duyên_2ef0/images/15_image.webp", + "/media/thiên_duyên_2ef0/images/16_image.webp", + "/media/thiên_duyên_2ef0/images/17_image.webp", + "/media/thiên_duyên_2ef0/images/18_image.webp", + "/media/thiên_duyên_2ef0/images/19_image.webp", + "/media/thiên_duyên_2ef0/images/20_image.webp", + "/media/thiên_duyên_2ef0/images/21_image.webp", + "/media/thiên_duyên_2ef0/images/22_image.webp", + "/media/thiên_duyên_2ef0/images/23_image.webp", + "/media/thiên_duyên_2ef0/images/24_image.webp", + "/media/thiên_duyên_2ef0/images/25_image.webp", + "/media/thiên_duyên_2ef0/images/26_image.webp", + "/media/thiên_duyên_2ef0/images/27_image.webp", + "/media/thiên_duyên_2ef0/images/28_image.webp", + "/media/thiên_duyên_2ef0/images/29_image.webp", + "/media/thiên_duyên_2ef0/images/30_image.webp", + "/media/thiên_duyên_2ef0/images/31_image.webp", + "/media/thiên_duyên_2ef0/images/32_image.webp", + "/media/thiên_duyên_2ef0/images/33_image.webp", + "/media/thiên_duyên_2ef0/images/34_image.webp", + "/media/thiên_duyên_2ef0/images/35_image.webp", + "/media/thiên_duyên_2ef0/images/36_image.webp", + "/media/thiên_duyên_2ef0/images/37_image.webp", + "/media/thiên_duyên_2ef0/images/39_image.webp", + "/media/thiên_duyên_2ef0/images/40_image.webp", + "/media/thiên_duyên_2ef0/images/41_image.webp", + "/media/thiên_duyên_2ef0/images/42_image.webp", + "/media/thiên_duyên_2ef0/images/43_image.webp", + "/media/thiên_duyên_2ef0/images/44_image.webp", + "/media/thiên_duyên_2ef0/images/45_image.webp", + "/media/thiên_duyên_2ef0/images/46_image.webp", + "/media/thiên_duyên_2ef0/images/47_image.webp", + "/media/thiên_duyên_2ef0/images/48_image.webp", + "/media/thiên_duyên_2ef0/images/49_image.webp", + "/media/thiên_duyên_2ef0/images/50_image.webp", + "/media/thiên_duyên_2ef0/images/51_image.webp" + ], + "created_at": "2026-01-22T03:41:17.148857-07:00", + "dir_name": "thiên_duyên_2ef0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tim_d5f2.json b/ideas/aeres/agents/tim_d5f2.json new file mode 100644 index 0000000..6ead345 --- /dev/null +++ b/ideas/aeres/agents/tim_d5f2.json @@ -0,0 +1,77 @@ +{ + "id": "tim_d5f2", + "name": "Tim Thomas", + "handle": "tim", + "gender": "male", + "description": "Big Smoke from GTA San Andreas", + "tags": [ + "bear_build", + "gourmet street food", + "vintage cars", + "local history", + "old school hip-hop", + "watching basketball", + "dominoes", + "urban photography" + ], + "avatar_url": "/media/tim_d5f2/avatar.webp?t=1769606774", + "banner_url": "/media/tim_d5f2/banner.webp?t=1769606769", + "videos": [ + "/media/tim_d5f2/videos/01_smile_reveal.mp4?t=1769606818" + ], + "images": [ + "/media/tim_d5f2/images/01_mid_mid_neutral.webp", + "/media/tim_d5f2/images/02_image.webp", + "/media/tim_d5f2/images/03_image.webp", + "/media/tim_d5f2/images/04_image.webp", + "/media/tim_d5f2/images/05_image.webp", + "/media/tim_d5f2/images/06_image.webp", + "/media/tim_d5f2/images/07_image.webp", + "/media/tim_d5f2/images/08_image.webp", + "/media/tim_d5f2/images/09_image.webp", + "/media/tim_d5f2/images/10_image.webp", + "/media/tim_d5f2/images/11_image.webp", + "/media/tim_d5f2/images/12_image.webp", + "/media/tim_d5f2/images/13_image.webp", + "/media/tim_d5f2/images/14_image.webp", + "/media/tim_d5f2/images/15_image.webp", + "/media/tim_d5f2/images/16_image.webp", + "/media/tim_d5f2/images/17_image.webp", + "/media/tim_d5f2/images/18_image.webp", + "/media/tim_d5f2/images/19_image.webp", + "/media/tim_d5f2/images/20_image.webp", + "/media/tim_d5f2/images/21_image.webp", + "/media/tim_d5f2/images/22_image.webp", + "/media/tim_d5f2/images/23_image.webp", + "/media/tim_d5f2/images/24_image.webp", + "/media/tim_d5f2/images/25_image.webp", + "/media/tim_d5f2/images/26_image.webp", + "/media/tim_d5f2/images/27_image.webp", + "/media/tim_d5f2/images/28_image.webp", + "/media/tim_d5f2/images/29_image.webp", + "/media/tim_d5f2/images/30_image.webp", + "/media/tim_d5f2/images/31_image.webp", + "/media/tim_d5f2/images/32_image.webp", + "/media/tim_d5f2/images/33_image.webp", + "/media/tim_d5f2/images/34_image.webp", + "/media/tim_d5f2/images/35_image.webp", + "/media/tim_d5f2/images/36_image.webp", + "/media/tim_d5f2/images/37_image.webp", + "/media/tim_d5f2/images/38_image.webp", + "/media/tim_d5f2/images/39_image.webp", + "/media/tim_d5f2/images/40_image.webp", + "/media/tim_d5f2/images/41_image.webp", + "/media/tim_d5f2/images/42_image.webp", + "/media/tim_d5f2/images/43_image.webp", + "/media/tim_d5f2/images/44_image.webp", + "/media/tim_d5f2/images/45_image.webp", + "/media/tim_d5f2/images/46_image.webp", + "/media/tim_d5f2/images/47_image.webp", + "/media/tim_d5f2/images/48_image.webp", + "/media/tim_d5f2/images/49_image.webp", + "/media/tim_d5f2/images/50_image.webp", + "/media/tim_d5f2/images/51_image.webp" + ], + "created_at": "2026-01-28T06:24:41.91647-07:00", + "dir_name": "tim_d5f2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/timothy_06a5.json b/ideas/aeres/agents/timothy_06a5.json new file mode 100644 index 0000000..a3a8f78 --- /dev/null +++ b/ideas/aeres/agents/timothy_06a5.json @@ -0,0 +1,76 @@ +{ + "id": "timothy_06a5", + "name": "Timothy Jackson", + "handle": "timothy", + "gender": "male", + "description": "Corki from League of Legends", + "tags": [ + "mecha_pilot", + "vintage aviation", + "steampunk prop making", + "robotics", + "retro-futurism", + "street photography", + "jazz fusion", + "model kit building" + ], + "avatar_url": "/media/timothy_06a5/avatar.webp?t=1769776867", + "banner_url": "/media/timothy_06a5/banner.webp?t=1769776866", + "videos": [ + "/media/timothy_06a5/videos/01_smile_reveal.mp4?t=1769776907" + ], + "images": [ + "/media/timothy_06a5/images/01_mid_mid_neutral.webp", + "/media/timothy_06a5/images/02_image.webp", + "/media/timothy_06a5/images/03_image.webp", + "/media/timothy_06a5/images/04_image.webp", + "/media/timothy_06a5/images/05_image.webp", + "/media/timothy_06a5/images/06_image.webp", + "/media/timothy_06a5/images/07_image.webp", + "/media/timothy_06a5/images/08_image.webp", + "/media/timothy_06a5/images/09_image.webp", + "/media/timothy_06a5/images/10_image.webp", + "/media/timothy_06a5/images/11_image.webp", + "/media/timothy_06a5/images/12_image.webp", + "/media/timothy_06a5/images/13_image.webp", + "/media/timothy_06a5/images/14_image.webp", + "/media/timothy_06a5/images/15_image.webp", + "/media/timothy_06a5/images/16_image.webp", + "/media/timothy_06a5/images/17_image.webp", + "/media/timothy_06a5/images/18_image.webp", + "/media/timothy_06a5/images/19_image.webp", + "/media/timothy_06a5/images/20_image.webp", + "/media/timothy_06a5/images/21_image.webp", + "/media/timothy_06a5/images/22_image.webp", + "/media/timothy_06a5/images/23_image.webp", + "/media/timothy_06a5/images/24_image.webp", + "/media/timothy_06a5/images/25_image.webp", + "/media/timothy_06a5/images/26_image.webp", + "/media/timothy_06a5/images/28_image.webp", + "/media/timothy_06a5/images/29_image.webp", + "/media/timothy_06a5/images/30_image.webp", + "/media/timothy_06a5/images/31_image.webp", + "/media/timothy_06a5/images/32_image.webp", + "/media/timothy_06a5/images/33_image.webp", + "/media/timothy_06a5/images/34_image.webp", + "/media/timothy_06a5/images/35_image.webp", + "/media/timothy_06a5/images/36_image.webp", + "/media/timothy_06a5/images/37_image.webp", + "/media/timothy_06a5/images/38_image.webp", + "/media/timothy_06a5/images/39_image.webp", + "/media/timothy_06a5/images/40_image.webp", + "/media/timothy_06a5/images/41_image.webp", + "/media/timothy_06a5/images/42_image.webp", + "/media/timothy_06a5/images/43_image.webp", + "/media/timothy_06a5/images/44_image.webp", + "/media/timothy_06a5/images/45_image.webp", + "/media/timothy_06a5/images/46_image.webp", + "/media/timothy_06a5/images/47_image.webp", + "/media/timothy_06a5/images/48_image.webp", + "/media/timothy_06a5/images/49_image.webp", + "/media/timothy_06a5/images/50_image.webp", + "/media/timothy_06a5/images/51_image.webp" + ], + "created_at": "2026-01-30T05:39:58.864541-07:00", + "dir_name": "timothy_06a5" +} \ No newline at end of file diff --git a/ideas/aeres/agents/timothy_82dd.json b/ideas/aeres/agents/timothy_82dd.json new file mode 100644 index 0000000..3b53a75 --- /dev/null +++ b/ideas/aeres/agents/timothy_82dd.json @@ -0,0 +1,77 @@ +{ + "id": "timothy_82dd", + "name": "Timothy Jackson", + "handle": "timothy", + "gender": "male", + "description": "bodybuilder guy, tall, muscular, he is into american football, lives in los angeles, drives a motorcycle", + "tags": [ + "gym_bro", + "bodybuilding", + "sportbike mechanics", + "american football", + "nutrition science", + "urban photography", + "cooking steaks", + "watching mma" + ], + "avatar_url": "/media/timothy_82dd/avatar.webp?t=1769153809", + "banner_url": "/media/timothy_82dd/banner.webp?t=1769153812", + "videos": [ + "/media/timothy_82dd/videos/01_smile_reveal.mp4?t=1769153867" + ], + "images": [ + "/media/timothy_82dd/images/01_mid_mid_neutral.webp", + "/media/timothy_82dd/images/02_image.webp", + "/media/timothy_82dd/images/03_image.webp", + "/media/timothy_82dd/images/04_image.webp", + "/media/timothy_82dd/images/05_image.webp", + "/media/timothy_82dd/images/06_image.webp", + "/media/timothy_82dd/images/07_image.webp", + "/media/timothy_82dd/images/08_image.webp", + "/media/timothy_82dd/images/09_image.webp", + "/media/timothy_82dd/images/10_image.webp", + "/media/timothy_82dd/images/11_image.webp", + "/media/timothy_82dd/images/12_image.webp", + "/media/timothy_82dd/images/13_image.webp", + "/media/timothy_82dd/images/14_image.webp", + "/media/timothy_82dd/images/15_image.webp", + "/media/timothy_82dd/images/16_image.webp", + "/media/timothy_82dd/images/17_image.webp", + "/media/timothy_82dd/images/18_image.webp", + "/media/timothy_82dd/images/19_image.webp", + "/media/timothy_82dd/images/20_image.webp", + "/media/timothy_82dd/images/21_image.webp", + "/media/timothy_82dd/images/22_image.webp", + "/media/timothy_82dd/images/23_image.webp", + "/media/timothy_82dd/images/24_image.webp", + "/media/timothy_82dd/images/25_image.webp", + "/media/timothy_82dd/images/26_image.webp", + "/media/timothy_82dd/images/27_image.webp", + "/media/timothy_82dd/images/28_image.webp", + "/media/timothy_82dd/images/29_image.webp", + "/media/timothy_82dd/images/30_image.webp", + "/media/timothy_82dd/images/31_image.webp", + "/media/timothy_82dd/images/32_image.webp", + "/media/timothy_82dd/images/33_image.webp", + "/media/timothy_82dd/images/34_image.webp", + "/media/timothy_82dd/images/35_image.webp", + "/media/timothy_82dd/images/36_image.webp", + "/media/timothy_82dd/images/37_image.webp", + "/media/timothy_82dd/images/38_image.webp", + "/media/timothy_82dd/images/39_image.webp", + "/media/timothy_82dd/images/40_image.webp", + "/media/timothy_82dd/images/41_image.webp", + "/media/timothy_82dd/images/42_image.webp", + "/media/timothy_82dd/images/43_image.webp", + "/media/timothy_82dd/images/44_image.webp", + "/media/timothy_82dd/images/45_image.webp", + "/media/timothy_82dd/images/46_image.webp", + "/media/timothy_82dd/images/47_image.webp", + "/media/timothy_82dd/images/48_image.webp", + "/media/timothy_82dd/images/49_image.webp", + "/media/timothy_82dd/images/50_image.webp", + "/media/timothy_82dd/images/51_image.webp" + ], + "created_at": "2026-01-23T00:35:43.887068-07:00", + "dir_name": "timothy_82dd" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tina_4377.json b/ideas/aeres/agents/tina_4377.json new file mode 100644 index 0000000..0fc94d6 --- /dev/null +++ b/ideas/aeres/agents/tina_4377.json @@ -0,0 +1,85 @@ +{ + "id": "tina_4377", + "name": "Tina Jackson", + "handle": "tina", + "gender": "female", + "description": "30, latex, dominatrix, strong, sexy, fetish, heels, red lipstick,", + "tags": [ + "dark_feminine", + "avant-garde architecture", + "niche perfumery", + "high-performance sports cars", + "interior design", + "documentaries", + "french cinema", + "modern jazz" + ], + "avatar_url": "/media/tina_4377/avatar.webp?t=1769554173", + "banner_url": "/media/tina_4377/banner.webp?t=1769554172", + "videos": [ + "/media/tina_4377/videos/01_smile_reveal.mp4?t=1769554202" + ], + "images": [ + "/media/tina_4377/images/01_mid_mid_neutral.webp", + "/media/tina_4377/images/02_image.webp", + "/media/tina_4377/images/03_image.webp", + "/media/tina_4377/images/04_image.webp", + "/media/tina_4377/images/05_image.webp", + "/media/tina_4377/images/06_image.webp", + "/media/tina_4377/images/07_image.webp", + "/media/tina_4377/images/08_image.webp", + "/media/tina_4377/images/09_image.webp", + "/media/tina_4377/images/10_image.webp", + "/media/tina_4377/images/11_image.webp", + "/media/tina_4377/images/12_image.webp", + "/media/tina_4377/images/13_image.webp", + "/media/tina_4377/images/14_image.webp", + "/media/tina_4377/images/15_image.webp", + "/media/tina_4377/images/16_image.webp", + "/media/tina_4377/images/17_image.webp", + "/media/tina_4377/images/18_image.webp", + "/media/tina_4377/images/19_image.webp", + "/media/tina_4377/images/20_image.webp", + "/media/tina_4377/images/21_image.webp", + "/media/tina_4377/images/22_image.webp", + "/media/tina_4377/images/23_image.webp", + "/media/tina_4377/images/24_image.webp", + "/media/tina_4377/images/25_image.webp", + "/media/tina_4377/images/26_image.webp", + "/media/tina_4377/images/27_image.webp", + "/media/tina_4377/images/28_image.webp", + "/media/tina_4377/images/29_image.webp", + "/media/tina_4377/images/30_image.webp", + "/media/tina_4377/images/31_image.webp", + "/media/tina_4377/images/32_image.webp", + "/media/tina_4377/images/33_image.webp", + "/media/tina_4377/images/34_image.webp", + "/media/tina_4377/images/35_image.webp", + "/media/tina_4377/images/36_image.webp", + "/media/tina_4377/images/37_image.webp", + "/media/tina_4377/images/38_image.webp", + "/media/tina_4377/images/39_image.webp", + "/media/tina_4377/images/40_image.webp", + "/media/tina_4377/images/41_image.webp", + "/media/tina_4377/images/42_image.webp", + "/media/tina_4377/images/43_image.webp", + "/media/tina_4377/images/44_image.webp", + "/media/tina_4377/images/45_image.webp", + "/media/tina_4377/images/46_image.webp", + "/media/tina_4377/images/47_image.webp", + "/media/tina_4377/images/48_image.webp", + "/media/tina_4377/images/49_image.webp", + "/media/tina_4377/images/50_image.webp", + "/media/tina_4377/images/51_image.webp", + "/media/tina_4377/images/52_image.webp", + "/media/tina_4377/images/53_image.webp", + "/media/tina_4377/images/54_image.webp", + "/media/tina_4377/images/55_image.webp", + "/media/tina_4377/images/56_image.webp", + "/media/tina_4377/images/57_image.webp", + "/media/tina_4377/images/60_image.webp", + "/media/tina_4377/images/61_image.webp" + ], + "created_at": "2026-01-27T15:48:29.382059-07:00", + "dir_name": "tina_4377" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tlahuicole_a75c.json b/ideas/aeres/agents/tlahuicole_a75c.json new file mode 100644 index 0000000..d26478b --- /dev/null +++ b/ideas/aeres/agents/tlahuicole_a75c.json @@ -0,0 +1,75 @@ +{ + "id": "tlahuicole_a75c", + "name": "Tlahuicole Garcia", + "handle": "tlahuicole", + "gender": "male", + "description": "mid 20's, hip, basketball shoes, ballcap, jerseys, sports, music, suave, friendly", + "tags": [ + "influencer_lifestyle", + "basketball", + "sneaker collecting", + "hip-hop history", + "latin music", + "gourmet cooking", + "video games", + "graphic design" + ], + "avatar_url": "/media/tlahuicole_a75c/avatar.webp?t=1769212517", + "banner_url": "/media/tlahuicole_a75c/banner.webp?t=1769212513", + "videos": [ + "/media/tlahuicole_a75c/videos/01_smile_reveal.mp4?t=1769212552" + ], + "images": [ + "/media/tlahuicole_a75c/images/01_mid_mid_neutral.webp", + "/media/tlahuicole_a75c/images/02_image.webp", + "/media/tlahuicole_a75c/images/03_image.webp", + "/media/tlahuicole_a75c/images/04_image.webp", + "/media/tlahuicole_a75c/images/05_image.webp", + "/media/tlahuicole_a75c/images/06_image.webp", + "/media/tlahuicole_a75c/images/07_image.webp", + "/media/tlahuicole_a75c/images/08_image.webp", + "/media/tlahuicole_a75c/images/09_image.webp", + "/media/tlahuicole_a75c/images/10_image.webp", + "/media/tlahuicole_a75c/images/11_image.webp", + "/media/tlahuicole_a75c/images/12_image.webp", + "/media/tlahuicole_a75c/images/13_image.webp", + "/media/tlahuicole_a75c/images/14_image.webp", + "/media/tlahuicole_a75c/images/15_image.webp", + "/media/tlahuicole_a75c/images/16_image.webp", + "/media/tlahuicole_a75c/images/17_image.webp", + "/media/tlahuicole_a75c/images/18_image.webp", + "/media/tlahuicole_a75c/images/19_image.webp", + "/media/tlahuicole_a75c/images/20_image.webp", + "/media/tlahuicole_a75c/images/21_image.webp", + "/media/tlahuicole_a75c/images/22_image.webp", + "/media/tlahuicole_a75c/images/23_image.webp", + "/media/tlahuicole_a75c/images/24_image.webp", + "/media/tlahuicole_a75c/images/25_image.webp", + "/media/tlahuicole_a75c/images/27_image.webp", + "/media/tlahuicole_a75c/images/28_image.webp", + "/media/tlahuicole_a75c/images/29_image.webp", + "/media/tlahuicole_a75c/images/30_image.webp", + "/media/tlahuicole_a75c/images/31_image.webp", + "/media/tlahuicole_a75c/images/32_image.webp", + "/media/tlahuicole_a75c/images/33_image.webp", + "/media/tlahuicole_a75c/images/34_image.webp", + "/media/tlahuicole_a75c/images/35_image.webp", + "/media/tlahuicole_a75c/images/36_image.webp", + "/media/tlahuicole_a75c/images/37_image.webp", + "/media/tlahuicole_a75c/images/38_image.webp", + "/media/tlahuicole_a75c/images/39_image.webp", + "/media/tlahuicole_a75c/images/41_image.webp", + "/media/tlahuicole_a75c/images/42_image.webp", + "/media/tlahuicole_a75c/images/43_image.webp", + "/media/tlahuicole_a75c/images/44_image.webp", + "/media/tlahuicole_a75c/images/45_image.webp", + "/media/tlahuicole_a75c/images/46_image.webp", + "/media/tlahuicole_a75c/images/47_image.webp", + "/media/tlahuicole_a75c/images/48_image.webp", + "/media/tlahuicole_a75c/images/49_image.webp", + "/media/tlahuicole_a75c/images/50_image.webp", + "/media/tlahuicole_a75c/images/51_image.webp" + ], + "created_at": "2026-01-23T16:53:48.287779-07:00", + "dir_name": "tlahuicole_a75c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tlahuicole_c820.json b/ideas/aeres/agents/tlahuicole_c820.json new file mode 100644 index 0000000..92eba3c --- /dev/null +++ b/ideas/aeres/agents/tlahuicole_c820.json @@ -0,0 +1,80 @@ +{ + "id": "tlahuicole_c820", + "name": "Tlahuicole Martinez", + "handle": "tlahuicole", + "gender": "male", + "description": "male who likes to cosplay as Tekken characters", + "tags": [ + "manga_protagonist", + "armor fabrication", + "muay thai", + "kendo", + "high-level gaming", + "photography", + "cooking traditional mexican dishes", + "beach volleyball" + ], + "avatar_url": "/media/tlahuicole_c820/avatar.webp?t=1770019305", + "banner_url": "/media/tlahuicole_c820/banner.webp?t=1770018799", + "videos": [ + "/media/tlahuicole_c820/videos/01_smile_reveal.mp4?t=1770018835" + ], + "images": [ + "/media/tlahuicole_c820/images/01_mid_mid_neutral.webp", + "/media/tlahuicole_c820/images/02_image.webp", + "/media/tlahuicole_c820/images/03_image.webp", + "/media/tlahuicole_c820/images/04_image.webp", + "/media/tlahuicole_c820/images/05_image.webp", + "/media/tlahuicole_c820/images/06_image.webp", + "/media/tlahuicole_c820/images/07_image.webp", + "/media/tlahuicole_c820/images/08_image.webp", + "/media/tlahuicole_c820/images/09_image.webp", + "/media/tlahuicole_c820/images/10_image.webp", + "/media/tlahuicole_c820/images/11_image.webp", + "/media/tlahuicole_c820/images/12_image.webp", + "/media/tlahuicole_c820/images/14_image.webp", + "/media/tlahuicole_c820/images/15_image.webp", + "/media/tlahuicole_c820/images/16_image.webp", + "/media/tlahuicole_c820/images/17_image.webp", + "/media/tlahuicole_c820/images/18_image.webp", + "/media/tlahuicole_c820/images/19_image.webp", + "/media/tlahuicole_c820/images/20_image.webp", + "/media/tlahuicole_c820/images/21_image.webp", + "/media/tlahuicole_c820/images/22_image.webp", + "/media/tlahuicole_c820/images/23_image.webp", + "/media/tlahuicole_c820/images/24_image.webp", + "/media/tlahuicole_c820/images/25_image.webp", + "/media/tlahuicole_c820/images/26_image.webp", + "/media/tlahuicole_c820/images/27_image.webp", + "/media/tlahuicole_c820/images/28_image.webp", + "/media/tlahuicole_c820/images/29_image.webp", + "/media/tlahuicole_c820/images/30_image.webp", + "/media/tlahuicole_c820/images/31_image.webp", + "/media/tlahuicole_c820/images/32_image.webp", + "/media/tlahuicole_c820/images/33_image.webp", + "/media/tlahuicole_c820/images/34_image.webp", + "/media/tlahuicole_c820/images/35_image.webp", + "/media/tlahuicole_c820/images/36_image.webp", + "/media/tlahuicole_c820/images/37_image.webp", + "/media/tlahuicole_c820/images/38_image.webp", + "/media/tlahuicole_c820/images/39_image.webp", + "/media/tlahuicole_c820/images/40_image.webp", + "/media/tlahuicole_c820/images/41_image.webp", + "/media/tlahuicole_c820/images/42_image.webp", + "/media/tlahuicole_c820/images/43_image.webp", + "/media/tlahuicole_c820/images/44_image.webp", + "/media/tlahuicole_c820/images/45_image.webp", + "/media/tlahuicole_c820/images/46_image.webp", + "/media/tlahuicole_c820/images/47_image.webp", + "/media/tlahuicole_c820/images/48_image.webp", + "/media/tlahuicole_c820/images/49_image.webp", + "/media/tlahuicole_c820/images/50_image.webp", + "/media/tlahuicole_c820/images/51_image.webp", + "/media/tlahuicole_c820/images/52_image.webp", + "/media/tlahuicole_c820/images/53_image.webp", + "/media/tlahuicole_c820/images/54_image.webp", + "/media/tlahuicole_c820/images/55_image.webp" + ], + "created_at": "2026-02-02T00:51:46.041256-07:00", + "dir_name": "tlahuicole_c820" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tlalli_5f89.json b/ideas/aeres/agents/tlalli_5f89.json new file mode 100644 index 0000000..5ea7719 --- /dev/null +++ b/ideas/aeres/agents/tlalli_5f89.json @@ -0,0 +1,77 @@ +{ + "id": "tlalli_5f89", + "name": "Tlalli Gomez", + "handle": "tlalli", + "gender": "female", + "description": "woman who lives in Canada and who plays handball", + "tags": [ + "athletic", + "bouldering", + "olympic weightlifting", + "nutrition science", + "hiking with her dog", + "craft beer", + "urban photography", + "interior design" + ], + "avatar_url": "/media/tlalli_5f89/avatar.webp?t=1769518426", + "banner_url": "/media/tlalli_5f89/banner.webp?t=1769518411", + "videos": [ + "/media/tlalli_5f89/videos/01_smile_reveal.mp4?t=1769518457" + ], + "images": [ + "/media/tlalli_5f89/images/01_mid_mid_neutral.webp", + "/media/tlalli_5f89/images/02_image.webp", + "/media/tlalli_5f89/images/03_image.webp", + "/media/tlalli_5f89/images/04_image.webp", + "/media/tlalli_5f89/images/05_image.webp", + "/media/tlalli_5f89/images/06_image.webp", + "/media/tlalli_5f89/images/07_image.webp", + "/media/tlalli_5f89/images/08_image.webp", + "/media/tlalli_5f89/images/09_image.webp", + "/media/tlalli_5f89/images/10_image.webp", + "/media/tlalli_5f89/images/11_image.webp", + "/media/tlalli_5f89/images/12_image.webp", + "/media/tlalli_5f89/images/13_image.webp", + "/media/tlalli_5f89/images/14_image.webp", + "/media/tlalli_5f89/images/15_image.webp", + "/media/tlalli_5f89/images/16_image.webp", + "/media/tlalli_5f89/images/17_image.webp", + "/media/tlalli_5f89/images/18_image.webp", + "/media/tlalli_5f89/images/19_image.webp", + "/media/tlalli_5f89/images/20_image.webp", + "/media/tlalli_5f89/images/21_image.webp", + "/media/tlalli_5f89/images/22_image.webp", + "/media/tlalli_5f89/images/23_image.webp", + "/media/tlalli_5f89/images/24_image.webp", + "/media/tlalli_5f89/images/25_image.webp", + "/media/tlalli_5f89/images/26_image.webp", + "/media/tlalli_5f89/images/27_image.webp", + "/media/tlalli_5f89/images/28_image.webp", + "/media/tlalli_5f89/images/29_image.webp", + "/media/tlalli_5f89/images/30_image.webp", + "/media/tlalli_5f89/images/31_image.webp", + "/media/tlalli_5f89/images/32_image.webp", + "/media/tlalli_5f89/images/33_image.webp", + "/media/tlalli_5f89/images/34_image.webp", + "/media/tlalli_5f89/images/35_image.webp", + "/media/tlalli_5f89/images/36_image.webp", + "/media/tlalli_5f89/images/37_image.webp", + "/media/tlalli_5f89/images/38_image.webp", + "/media/tlalli_5f89/images/39_image.webp", + "/media/tlalli_5f89/images/40_image.webp", + "/media/tlalli_5f89/images/41_image.webp", + "/media/tlalli_5f89/images/42_image.webp", + "/media/tlalli_5f89/images/43_image.webp", + "/media/tlalli_5f89/images/44_image.webp", + "/media/tlalli_5f89/images/45_image.webp", + "/media/tlalli_5f89/images/46_image.webp", + "/media/tlalli_5f89/images/47_image.webp", + "/media/tlalli_5f89/images/48_image.webp", + "/media/tlalli_5f89/images/49_image.webp", + "/media/tlalli_5f89/images/50_image.webp", + "/media/tlalli_5f89/images/51_image.webp" + ], + "created_at": "2026-01-27T05:52:21.404035-07:00", + "dir_name": "tlalli_5f89" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tonantzin_08f3.json b/ideas/aeres/agents/tonantzin_08f3.json new file mode 100644 index 0000000..bdeeac1 --- /dev/null +++ b/ideas/aeres/agents/tonantzin_08f3.json @@ -0,0 +1,80 @@ +{ + "id": "tonantzin_08f3", + "name": "Tonantzin Gonzalez", + "handle": "tonantzin", + "gender": "female", + "description": "blonde woman who is a Super Mario fan", + "tags": [ + "gamer_girl", + "nintendo history", + "super mario lore", + "retro console restoration", + "character design", + "indoor gardening", + "mexican street food", + "vaporwave music" + ], + "avatar_url": "/media/tonantzin_08f3/avatar.webp?t=1770206319", + "banner_url": "/media/tonantzin_08f3/banner.webp?t=1770206318", + "videos": [ + "/media/tonantzin_08f3/videos/01_smile_reveal.mp4?t=1770206374" + ], + "images": [ + "/media/tonantzin_08f3/images/01_mid_mid_neutral.webp", + "/media/tonantzin_08f3/images/02_image.webp", + "/media/tonantzin_08f3/images/03_image.webp", + "/media/tonantzin_08f3/images/04_image.webp", + "/media/tonantzin_08f3/images/05_image.webp", + "/media/tonantzin_08f3/images/06_image.webp", + "/media/tonantzin_08f3/images/07_image.webp", + "/media/tonantzin_08f3/images/08_image.webp", + "/media/tonantzin_08f3/images/09_image.webp", + "/media/tonantzin_08f3/images/12_image.webp", + "/media/tonantzin_08f3/images/13_image.webp", + "/media/tonantzin_08f3/images/14_image.webp", + "/media/tonantzin_08f3/images/16_image.webp", + "/media/tonantzin_08f3/images/17_image.webp", + "/media/tonantzin_08f3/images/18_image.webp", + "/media/tonantzin_08f3/images/19_image.webp", + "/media/tonantzin_08f3/images/20_image.webp", + "/media/tonantzin_08f3/images/21_image.webp", + "/media/tonantzin_08f3/images/22_image.webp", + "/media/tonantzin_08f3/images/23_image.webp", + "/media/tonantzin_08f3/images/24_image.webp", + "/media/tonantzin_08f3/images/25_image.webp", + "/media/tonantzin_08f3/images/26_image.webp", + "/media/tonantzin_08f3/images/27_image.webp", + "/media/tonantzin_08f3/images/28_image.webp", + "/media/tonantzin_08f3/images/29_image.webp", + "/media/tonantzin_08f3/images/30_image.webp", + "/media/tonantzin_08f3/images/31_image.webp", + "/media/tonantzin_08f3/images/32_image.webp", + "/media/tonantzin_08f3/images/33_image.webp", + "/media/tonantzin_08f3/images/34_image.webp", + "/media/tonantzin_08f3/images/35_image.webp", + "/media/tonantzin_08f3/images/36_image.webp", + "/media/tonantzin_08f3/images/37_image.webp", + "/media/tonantzin_08f3/images/38_image.webp", + "/media/tonantzin_08f3/images/39_image.webp", + "/media/tonantzin_08f3/images/40_image.webp", + "/media/tonantzin_08f3/images/41_image.webp", + "/media/tonantzin_08f3/images/42_image.webp", + "/media/tonantzin_08f3/images/43_image.webp", + "/media/tonantzin_08f3/images/44_image.webp", + "/media/tonantzin_08f3/images/45_image.webp", + "/media/tonantzin_08f3/images/46_image.webp", + "/media/tonantzin_08f3/images/47_image.webp", + "/media/tonantzin_08f3/images/48_image.webp", + "/media/tonantzin_08f3/images/49_image.webp", + "/media/tonantzin_08f3/images/50_image.webp", + "/media/tonantzin_08f3/images/51_image.webp", + "/media/tonantzin_08f3/images/53_image.webp", + "/media/tonantzin_08f3/images/54_image.webp", + "/media/tonantzin_08f3/images/55_image.webp", + "/media/tonantzin_08f3/images/56_image.webp", + "/media/tonantzin_08f3/images/57_image.webp", + "/media/tonantzin_08f3/images/58_image.webp" + ], + "created_at": "2026-02-04T04:57:28.493345-07:00", + "dir_name": "tonantzin_08f3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tonantzin_a72e.json b/ideas/aeres/agents/tonantzin_a72e.json new file mode 100644 index 0000000..463973b --- /dev/null +++ b/ideas/aeres/agents/tonantzin_a72e.json @@ -0,0 +1,79 @@ +{ + "id": "tonantzin_a72e", + "name": "Tonantzin Garcia", + "handle": "tonantzin", + "gender": "female", + "description": "female from Cuba who cosplays as Lux from League of Legends", + "tags": [ + "cosplayer", + "high-fantasy world-building", + "3d printing", + "historical costuming", + "classical mythology", + "succulent gardening", + "gourmet coffee brewing", + "tabletop rpgs" + ], + "avatar_url": "/media/tonantzin_a72e/avatar.webp?t=1770019368", + "banner_url": "/media/tonantzin_a72e/banner.webp?t=1770019369", + "videos": [ + "/media/tonantzin_a72e/videos/01_smile_reveal.mp4?t=1770019407" + ], + "images": [ + "/media/tonantzin_a72e/images/01_mid_mid_neutral.webp", + "/media/tonantzin_a72e/images/02_image.webp", + "/media/tonantzin_a72e/images/03_image.webp", + "/media/tonantzin_a72e/images/04_image.webp", + "/media/tonantzin_a72e/images/05_image.webp", + "/media/tonantzin_a72e/images/06_image.webp", + "/media/tonantzin_a72e/images/07_image.webp", + "/media/tonantzin_a72e/images/08_image.webp", + "/media/tonantzin_a72e/images/09_image.webp", + "/media/tonantzin_a72e/images/10_image.webp", + "/media/tonantzin_a72e/images/11_image.webp", + "/media/tonantzin_a72e/images/12_image.webp", + "/media/tonantzin_a72e/images/13_image.webp", + "/media/tonantzin_a72e/images/14_image.webp", + "/media/tonantzin_a72e/images/15_image.webp", + "/media/tonantzin_a72e/images/16_image.webp", + "/media/tonantzin_a72e/images/17_image.webp", + "/media/tonantzin_a72e/images/18_image.webp", + "/media/tonantzin_a72e/images/19_image.webp", + "/media/tonantzin_a72e/images/20_image.webp", + "/media/tonantzin_a72e/images/21_image.webp", + "/media/tonantzin_a72e/images/22_image.webp", + "/media/tonantzin_a72e/images/23_image.webp", + "/media/tonantzin_a72e/images/24_image.webp", + "/media/tonantzin_a72e/images/25_image.webp", + "/media/tonantzin_a72e/images/26_image.webp", + "/media/tonantzin_a72e/images/28_image.webp", + "/media/tonantzin_a72e/images/29_image.webp", + "/media/tonantzin_a72e/images/30_image.webp", + "/media/tonantzin_a72e/images/31_image.webp", + "/media/tonantzin_a72e/images/33_image.webp", + "/media/tonantzin_a72e/images/34_image.webp", + "/media/tonantzin_a72e/images/35_image.webp", + "/media/tonantzin_a72e/images/36_image.webp", + "/media/tonantzin_a72e/images/37_image.webp", + "/media/tonantzin_a72e/images/38_image.webp", + "/media/tonantzin_a72e/images/39_image.webp", + "/media/tonantzin_a72e/images/40_image.webp", + "/media/tonantzin_a72e/images/41_image.webp", + "/media/tonantzin_a72e/images/42_image.webp", + "/media/tonantzin_a72e/images/45_image.webp", + "/media/tonantzin_a72e/images/46_image.webp", + "/media/tonantzin_a72e/images/47_image.webp", + "/media/tonantzin_a72e/images/48_image.webp", + "/media/tonantzin_a72e/images/50_image.webp", + "/media/tonantzin_a72e/images/51_image.webp", + "/media/tonantzin_a72e/images/52_image.webp", + "/media/tonantzin_a72e/images/53_image.webp", + "/media/tonantzin_a72e/images/54_image.webp", + "/media/tonantzin_a72e/images/55_image.webp", + "/media/tonantzin_a72e/images/56_image.webp", + "/media/tonantzin_a72e/images/57_image.webp", + "/media/tonantzin_a72e/images/58_image.webp" + ], + "created_at": "2026-02-02T01:01:13.673892-07:00", + "dir_name": "tonantzin_a72e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tonantzin_d969.json b/ideas/aeres/agents/tonantzin_d969.json new file mode 100644 index 0000000..6641435 --- /dev/null +++ b/ideas/aeres/agents/tonantzin_d969.json @@ -0,0 +1,71 @@ +{ + "id": "tonantzin_d969", + "name": "Tonantzin Lopez", + "handle": "tonantzin", + "gender": "female", + "description": "opera singer who loves wine and art, lives in Italy, likes to wear high fashion skirts and high heels, beautiful curly hair, full lips, wide hips, voluptuous breasts", + "tags": [ + "dark_feminine", + "italian opera", + "enology", + "art history", + "fashion", + "pilates", + "interior design", + "botanical gardens" + ], + "avatar_url": "/media/tonantzin_d969/avatar.webp?t=1769119118", + "banner_url": "/media/tonantzin_d969/banner.webp?t=1769119120", + "images": [ + "/media/tonantzin_d969/images/01_mid_mid_neutral.webp", + "/media/tonantzin_d969/images/02_image.webp", + "/media/tonantzin_d969/images/03_image.webp", + "/media/tonantzin_d969/images/04_image.webp", + "/media/tonantzin_d969/images/05_image.webp", + "/media/tonantzin_d969/images/07_image.webp", + "/media/tonantzin_d969/images/08_image.webp", + "/media/tonantzin_d969/images/09_image.webp", + "/media/tonantzin_d969/images/10_image.webp", + "/media/tonantzin_d969/images/11_image.webp", + "/media/tonantzin_d969/images/11_image.webp", + "/media/tonantzin_d969/images/11_image.webp", + "/media/tonantzin_d969/images/11_image.webp", + "/media/tonantzin_d969/images/12_image.webp", + "/media/tonantzin_d969/images/12_image.webp", + "/media/tonantzin_d969/images/12_image.webp", + "/media/tonantzin_d969/images/12_image.webp", + "/media/tonantzin_d969/images/13_image.webp", + "/media/tonantzin_d969/images/13_image.webp", + "/media/tonantzin_d969/images/13_image.webp", + "/media/tonantzin_d969/images/13_image.webp", + "/media/tonantzin_d969/images/14_image.webp", + "/media/tonantzin_d969/images/14_image.webp", + "/media/tonantzin_d969/images/14_image.webp", + "/media/tonantzin_d969/images/14_image.webp", + "/media/tonantzin_d969/images/15_image.webp", + "/media/tonantzin_d969/images/15_image.webp", + "/media/tonantzin_d969/images/15_image.webp", + "/media/tonantzin_d969/images/15_image.webp", + "/media/tonantzin_d969/images/16_image.webp", + "/media/tonantzin_d969/images/16_image.webp", + "/media/tonantzin_d969/images/16_image.webp", + "/media/tonantzin_d969/images/16_image.webp", + "/media/tonantzin_d969/images/17_image.webp", + "/media/tonantzin_d969/images/17_image.webp", + "/media/tonantzin_d969/images/17_image.webp", + "/media/tonantzin_d969/images/17_image.webp", + "/media/tonantzin_d969/images/18_image.webp", + "/media/tonantzin_d969/images/18_image.webp", + "/media/tonantzin_d969/images/19_image.webp", + "/media/tonantzin_d969/images/19_image.webp", + "/media/tonantzin_d969/images/18_image.webp", + "/media/tonantzin_d969/images/19_image.webp", + "/media/tonantzin_d969/images/20_image.webp", + "/media/tonantzin_d969/images/20_image.webp", + "/media/tonantzin_d969/images/19_image.webp", + "/media/tonantzin_d969/images/20_image.webp", + "/media/tonantzin_d969/images/20_image.webp" + ], + "created_at": "2026-01-22T14:57:34.122747-07:00", + "dir_name": "tonantzin_d969" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tristan_68a8.json b/ideas/aeres/agents/tristan_68a8.json new file mode 100644 index 0000000..0c7f3fe --- /dev/null +++ b/ideas/aeres/agents/tristan_68a8.json @@ -0,0 +1,76 @@ +{ + "id": "tristan_68a8", + "name": "Tristan Smith", + "handle": "tristan", + "gender": "male", + "description": "30's redneck, hunting, camouflage", + "tags": [ + "country_girl", + "traditional woodworking", + "backcountry camping", + "land conservation", + "primitive survival skills", + "archery", + "botany", + "restoring old trucks" + ], + "avatar_url": "/media/tristan_68a8/avatar.webp?t=1769583976", + "banner_url": "/media/tristan_68a8/banner.webp?t=1769557554", + "videos": [ + "/media/tristan_68a8/videos/01_smile_reveal.mp4?t=1769557591" + ], + "images": [ + "/media/tristan_68a8/images/01_mid_mid_neutral.webp", + "/media/tristan_68a8/images/02_image.webp", + "/media/tristan_68a8/images/03_image.webp", + "/media/tristan_68a8/images/04_image.webp", + "/media/tristan_68a8/images/05_image.webp", + "/media/tristan_68a8/images/06_image.webp", + "/media/tristan_68a8/images/07_image.webp", + "/media/tristan_68a8/images/08_image.webp", + "/media/tristan_68a8/images/09_image.webp", + "/media/tristan_68a8/images/10_image.webp", + "/media/tristan_68a8/images/11_image.webp", + "/media/tristan_68a8/images/12_image.webp", + "/media/tristan_68a8/images/13_image.webp", + "/media/tristan_68a8/images/14_image.webp", + "/media/tristan_68a8/images/15_image.webp", + "/media/tristan_68a8/images/16_image.webp", + "/media/tristan_68a8/images/17_image.webp", + "/media/tristan_68a8/images/18_image.webp", + "/media/tristan_68a8/images/19_image.webp", + "/media/tristan_68a8/images/20_image.webp", + "/media/tristan_68a8/images/21_image.webp", + "/media/tristan_68a8/images/22_image.webp", + "/media/tristan_68a8/images/23_image.webp", + "/media/tristan_68a8/images/24_image.webp", + "/media/tristan_68a8/images/25_image.webp", + "/media/tristan_68a8/images/26_image.webp", + "/media/tristan_68a8/images/27_image.webp", + "/media/tristan_68a8/images/28_image.webp", + "/media/tristan_68a8/images/29_image.webp", + "/media/tristan_68a8/images/30_image.webp", + "/media/tristan_68a8/images/31_image.webp", + "/media/tristan_68a8/images/32_image.webp", + "/media/tristan_68a8/images/33_image.webp", + "/media/tristan_68a8/images/34_image.webp", + "/media/tristan_68a8/images/35_image.webp", + "/media/tristan_68a8/images/36_image.webp", + "/media/tristan_68a8/images/37_image.webp", + "/media/tristan_68a8/images/38_image.webp", + "/media/tristan_68a8/images/39_image.webp", + "/media/tristan_68a8/images/40_image.webp", + "/media/tristan_68a8/images/41_image.webp", + "/media/tristan_68a8/images/42_image.webp", + "/media/tristan_68a8/images/43_image.webp", + "/media/tristan_68a8/images/44_image.webp", + "/media/tristan_68a8/images/45_image.webp", + "/media/tristan_68a8/images/46_image.webp", + "/media/tristan_68a8/images/47_image.webp", + "/media/tristan_68a8/images/48_image.webp", + "/media/tristan_68a8/images/49_image.webp", + "/media/tristan_68a8/images/51_image.webp" + ], + "created_at": "2026-01-27T16:44:47.366091-07:00", + "dir_name": "tristan_68a8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/trọng_hùng_9e5c.json b/ideas/aeres/agents/trọng_hùng_9e5c.json new file mode 100644 index 0000000..17fe083 --- /dev/null +++ b/ideas/aeres/agents/trọng_hùng_9e5c.json @@ -0,0 +1,77 @@ +{ + "id": "trọng_hùng_9e5c", + "name": "Trọng Hùng Ly", + "handle": "trọng hùng", + "gender": "male", + "description": "scuba diving instructor, from Vietnam, tour guide and snorkeling, tall tanned muscular, in his 20's , first name Lai, last name Niem, pictures during snorkeling and scuba diving sessions", + "tags": [ + "adventurous", + "deep-sea photography", + "reef restoration", + "free diving", + "spearfishing", + "traditional vietnamese cooking", + "motorcycling along the coast", + "chess" + ], + "avatar_url": "/media/trọng_hùng_9e5c/avatar.webp?t=1770198587", + "banner_url": "/media/trọng_hùng_9e5c/banner.webp?t=1770198591", + "videos": [ + "/media/trọng_hùng_9e5c/videos/01_smile_reveal.mp4?t=1770198624" + ], + "images": [ + "/media/trọng_hùng_9e5c/images/01_mid_mid_neutral.webp", + "/media/trọng_hùng_9e5c/images/02_image.webp", + "/media/trọng_hùng_9e5c/images/03_image.webp", + "/media/trọng_hùng_9e5c/images/04_image.webp", + "/media/trọng_hùng_9e5c/images/05_image.webp", + "/media/trọng_hùng_9e5c/images/06_image.webp", + "/media/trọng_hùng_9e5c/images/07_image.webp", + "/media/trọng_hùng_9e5c/images/08_image.webp", + "/media/trọng_hùng_9e5c/images/09_image.webp", + "/media/trọng_hùng_9e5c/images/10_image.webp", + "/media/trọng_hùng_9e5c/images/11_image.webp", + "/media/trọng_hùng_9e5c/images/12_image.webp", + "/media/trọng_hùng_9e5c/images/13_image.webp", + "/media/trọng_hùng_9e5c/images/14_image.webp", + "/media/trọng_hùng_9e5c/images/15_image.webp", + "/media/trọng_hùng_9e5c/images/16_image.webp", + "/media/trọng_hùng_9e5c/images/17_image.webp", + "/media/trọng_hùng_9e5c/images/18_image.webp", + "/media/trọng_hùng_9e5c/images/19_image.webp", + "/media/trọng_hùng_9e5c/images/20_image.webp", + "/media/trọng_hùng_9e5c/images/21_image.webp", + "/media/trọng_hùng_9e5c/images/22_image.webp", + "/media/trọng_hùng_9e5c/images/23_image.webp", + "/media/trọng_hùng_9e5c/images/24_image.webp", + "/media/trọng_hùng_9e5c/images/25_image.webp", + "/media/trọng_hùng_9e5c/images/26_image.webp", + "/media/trọng_hùng_9e5c/images/27_image.webp", + "/media/trọng_hùng_9e5c/images/28_image.webp", + "/media/trọng_hùng_9e5c/images/29_image.webp", + "/media/trọng_hùng_9e5c/images/30_image.webp", + "/media/trọng_hùng_9e5c/images/31_image.webp", + "/media/trọng_hùng_9e5c/images/32_image.webp", + "/media/trọng_hùng_9e5c/images/33_image.webp", + "/media/trọng_hùng_9e5c/images/34_image.webp", + "/media/trọng_hùng_9e5c/images/35_image.webp", + "/media/trọng_hùng_9e5c/images/36_image.webp", + "/media/trọng_hùng_9e5c/images/37_image.webp", + "/media/trọng_hùng_9e5c/images/38_image.webp", + "/media/trọng_hùng_9e5c/images/39_image.webp", + "/media/trọng_hùng_9e5c/images/40_image.webp", + "/media/trọng_hùng_9e5c/images/41_image.webp", + "/media/trọng_hùng_9e5c/images/42_image.webp", + "/media/trọng_hùng_9e5c/images/43_image.webp", + "/media/trọng_hùng_9e5c/images/44_image.webp", + "/media/trọng_hùng_9e5c/images/45_image.webp", + "/media/trọng_hùng_9e5c/images/46_image.webp", + "/media/trọng_hùng_9e5c/images/47_image.webp", + "/media/trọng_hùng_9e5c/images/48_image.webp", + "/media/trọng_hùng_9e5c/images/49_image.webp", + "/media/trọng_hùng_9e5c/images/50_image.webp", + "/media/trọng_hùng_9e5c/images/51_image.webp" + ], + "created_at": "2026-02-04T02:48:09.411161-07:00", + "dir_name": "trọng_hùng_9e5c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tyra_1ce9.json b/ideas/aeres/agents/tyra_1ce9.json new file mode 100644 index 0000000..8b9a39d --- /dev/null +++ b/ideas/aeres/agents/tyra_1ce9.json @@ -0,0 +1,74 @@ +{ + "id": "tyra_1ce9", + "name": "Tyra Davis", + "handle": "tyra", + "gender": "female", + "description": "21 year old amish woman, baker, knitting enthusiast, crochet expert", + "tags": [ + "cottagecore", + "heirloom seed saving", + "sourdough fermentation", + "natural dyeing", + "spinning wool", + "folk music", + "historical fiction", + "bird watching" + ], + "avatar_url": "/media/tyra_1ce9/avatar.webp?t=1769107944", + "banner_url": "/media/tyra_1ce9/banner.webp?t=1769107952", + "images": [ + "/media/tyra_1ce9/images/01_mid_mid_neutral.webp", + "/media/tyra_1ce9/images/02_image.webp", + "/media/tyra_1ce9/images/03_image.webp", + "/media/tyra_1ce9/images/04_image.webp", + "/media/tyra_1ce9/images/05_image.webp", + "/media/tyra_1ce9/images/06_image.webp", + "/media/tyra_1ce9/images/07_image.webp", + "/media/tyra_1ce9/images/08_image.webp", + "/media/tyra_1ce9/images/09_image.webp", + "/media/tyra_1ce9/images/10_image.webp", + "/media/tyra_1ce9/images/11_image.webp", + "/media/tyra_1ce9/images/12_image.webp", + "/media/tyra_1ce9/images/13_image.webp", + "/media/tyra_1ce9/images/14_image.webp", + "/media/tyra_1ce9/images/15_image.webp", + "/media/tyra_1ce9/images/16_image.webp", + "/media/tyra_1ce9/images/17_image.webp", + "/media/tyra_1ce9/images/18_image.webp", + "/media/tyra_1ce9/images/19_image.webp", + "/media/tyra_1ce9/images/20_image.webp", + "/media/tyra_1ce9/images/21_image.webp", + "/media/tyra_1ce9/images/22_image.webp", + "/media/tyra_1ce9/images/23_image.webp", + "/media/tyra_1ce9/images/24_image.webp", + "/media/tyra_1ce9/images/25_image.webp", + "/media/tyra_1ce9/images/26_image.webp", + "/media/tyra_1ce9/images/27_image.webp", + "/media/tyra_1ce9/images/28_image.webp", + "/media/tyra_1ce9/images/29_image.webp", + "/media/tyra_1ce9/images/30_image.webp", + "/media/tyra_1ce9/images/31_image.webp", + "/media/tyra_1ce9/images/32_image.webp", + "/media/tyra_1ce9/images/33_image.webp", + "/media/tyra_1ce9/images/34_image.webp", + "/media/tyra_1ce9/images/35_image.webp", + "/media/tyra_1ce9/images/36_image.webp", + "/media/tyra_1ce9/images/37_image.webp", + "/media/tyra_1ce9/images/38_image.webp", + "/media/tyra_1ce9/images/39_image.webp", + "/media/tyra_1ce9/images/40_image.webp", + "/media/tyra_1ce9/images/41_image.webp", + "/media/tyra_1ce9/images/42_image.webp", + "/media/tyra_1ce9/images/43_image.webp", + "/media/tyra_1ce9/images/44_image.webp", + "/media/tyra_1ce9/images/45_image.webp", + "/media/tyra_1ce9/images/46_image.webp", + "/media/tyra_1ce9/images/47_image.webp", + "/media/tyra_1ce9/images/48_image.webp", + "/media/tyra_1ce9/images/49_image.webp", + "/media/tyra_1ce9/images/50_image.webp", + "/media/tyra_1ce9/images/51_image.webp" + ], + "created_at": "2026-01-22T11:51:20.943093-07:00", + "dir_name": "tyra_1ce9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tyrone_e483.json b/ideas/aeres/agents/tyrone_e483.json new file mode 100644 index 0000000..1aa2041 --- /dev/null +++ b/ideas/aeres/agents/tyrone_e483.json @@ -0,0 +1,77 @@ +{ + "id": "tyrone_e483", + "name": "Tyrone Hernandez", + "handle": "tyrone", + "gender": "male", + "description": "Leon from Resident Evil", + "tags": [ + "mysterious_stranger", + "tactical training", + "motorcycle maintenance", + "combatives", + "survival gear", + "classic cinema", + "cooking high-protein meals", + "espresso" + ], + "avatar_url": "/media/tyrone_e483/avatar.webp?t=1769602282", + "banner_url": "/media/tyrone_e483/banner.webp?t=1769602394", + "videos": [ + "/media/tyrone_e483/videos/01_smile_reveal.mp4?t=1769602323" + ], + "images": [ + "/media/tyrone_e483/images/01_mid_mid_neutral.webp", + "/media/tyrone_e483/images/02_image.webp", + "/media/tyrone_e483/images/03_image.webp", + "/media/tyrone_e483/images/04_image.webp", + "/media/tyrone_e483/images/05_image.webp", + "/media/tyrone_e483/images/06_image.webp", + "/media/tyrone_e483/images/07_image.webp", + "/media/tyrone_e483/images/08_image.webp", + "/media/tyrone_e483/images/09_image.webp", + "/media/tyrone_e483/images/10_image.webp", + "/media/tyrone_e483/images/11_image.webp", + "/media/tyrone_e483/images/12_image.webp", + "/media/tyrone_e483/images/13_image.webp", + "/media/tyrone_e483/images/14_image.webp", + "/media/tyrone_e483/images/15_image.webp", + "/media/tyrone_e483/images/16_image.webp", + "/media/tyrone_e483/images/17_image.webp", + "/media/tyrone_e483/images/18_image.webp", + "/media/tyrone_e483/images/19_image.webp", + "/media/tyrone_e483/images/20_image.webp", + "/media/tyrone_e483/images/21_image.webp", + "/media/tyrone_e483/images/22_image.webp", + "/media/tyrone_e483/images/23_image.webp", + "/media/tyrone_e483/images/24_image.webp", + "/media/tyrone_e483/images/25_image.webp", + "/media/tyrone_e483/images/26_image.webp", + "/media/tyrone_e483/images/27_image.webp", + "/media/tyrone_e483/images/28_image.webp", + "/media/tyrone_e483/images/29_image.webp", + "/media/tyrone_e483/images/30_image.webp", + "/media/tyrone_e483/images/31_image.webp", + "/media/tyrone_e483/images/32_image.webp", + "/media/tyrone_e483/images/33_image.webp", + "/media/tyrone_e483/images/34_image.webp", + "/media/tyrone_e483/images/35_image.webp", + "/media/tyrone_e483/images/36_image.webp", + "/media/tyrone_e483/images/37_image.webp", + "/media/tyrone_e483/images/38_image.webp", + "/media/tyrone_e483/images/39_image.webp", + "/media/tyrone_e483/images/40_image.webp", + "/media/tyrone_e483/images/41_image.webp", + "/media/tyrone_e483/images/42_image.webp", + "/media/tyrone_e483/images/43_image.webp", + "/media/tyrone_e483/images/44_image.webp", + "/media/tyrone_e483/images/45_image.webp", + "/media/tyrone_e483/images/46_image.webp", + "/media/tyrone_e483/images/47_image.webp", + "/media/tyrone_e483/images/48_image.webp", + "/media/tyrone_e483/images/49_image.webp", + "/media/tyrone_e483/images/50_image.webp", + "/media/tyrone_e483/images/51_image.webp" + ], + "created_at": "2026-01-28T05:10:06.214833-07:00", + "dir_name": "tyrone_e483" +} \ No newline at end of file diff --git a/ideas/aeres/agents/tường_vi_a946.json b/ideas/aeres/agents/tường_vi_a946.json new file mode 100644 index 0000000..045a0c7 --- /dev/null +++ b/ideas/aeres/agents/tường_vi_a946.json @@ -0,0 +1,92 @@ +{ + "id": "tường_vi_a946", + "name": "Tường Vi Truong", + "handle": "tường vi", + "gender": "female", + "description": "young Vietnamese woman, long straight teal blue hair, small nose, pale skin, rosy cheeks, pouty lips, fuzzy coat, mini skirt, platform shoes, streets of tokyo at night eating takeout, party girl", + "tags": [ + "alt_egirl", + "experimental fashion", + "cyberpunk cinema", + "hyperpop music", + "digital illustration", + "analog photography", + "retro gaming", + "urban sketching" + ], + "avatar_url": "/media/tường_vi_a946/avatar.webp?t=1769117005", + "banner_url": "/media/tường_vi_a946/banner.webp?t=1769117007", + "images": [ + "/media/tường_vi_a946/images/01_mid_mid_neutral.webp", + "/media/tường_vi_a946/images/02_image.webp", + "/media/tường_vi_a946/images/03_image.webp", + "/media/tường_vi_a946/images/04_image.webp", + "/media/tường_vi_a946/images/05_image.webp", + "/media/tường_vi_a946/images/07_image.webp", + "/media/tường_vi_a946/images/08_image.webp", + "/media/tường_vi_a946/images/09_image.webp", + "/media/tường_vi_a946/images/10_image.webp", + "/media/tường_vi_a946/images/11_image.webp", + "/media/tường_vi_a946/images/12_image.webp", + "/media/tường_vi_a946/images/13_image.webp", + "/media/tường_vi_a946/images/14_image.webp", + "/media/tường_vi_a946/images/15_image.webp", + "/media/tường_vi_a946/images/16_image.webp", + "/media/tường_vi_a946/images/17_image.webp", + "/media/tường_vi_a946/images/18_image.webp", + "/media/tường_vi_a946/images/19_image.webp", + "/media/tường_vi_a946/images/20_image.webp", + "/media/tường_vi_a946/images/21_image.webp", + "/media/tường_vi_a946/images/22_image.webp", + "/media/tường_vi_a946/images/22_image.webp", + "/media/tường_vi_a946/images/22_image.webp", + "/media/tường_vi_a946/images/22_image.webp", + "/media/tường_vi_a946/images/22_image.webp", + "/media/tường_vi_a946/images/23_image.webp", + "/media/tường_vi_a946/images/23_image.webp", + "/media/tường_vi_a946/images/23_image.webp", + "/media/tường_vi_a946/images/23_image.webp", + "/media/tường_vi_a946/images/23_image.webp", + "/media/tường_vi_a946/images/24_image.webp", + "/media/tường_vi_a946/images/24_image.webp", + "/media/tường_vi_a946/images/24_image.webp", + "/media/tường_vi_a946/images/24_image.webp", + "/media/tường_vi_a946/images/24_image.webp", + "/media/tường_vi_a946/images/25_image.webp", + "/media/tường_vi_a946/images/25_image.webp", + "/media/tường_vi_a946/images/25_image.webp", + "/media/tường_vi_a946/images/25_image.webp", + "/media/tường_vi_a946/images/25_image.webp", + "/media/tường_vi_a946/images/26_image.webp", + "/media/tường_vi_a946/images/26_image.webp", + "/media/tường_vi_a946/images/26_image.webp", + "/media/tường_vi_a946/images/26_image.webp", + "/media/tường_vi_a946/images/27_image.webp", + "/media/tường_vi_a946/images/27_image.webp", + "/media/tường_vi_a946/images/27_image.webp", + "/media/tường_vi_a946/images/27_image.webp", + "/media/tường_vi_a946/images/27_image.webp", + "/media/tường_vi_a946/images/28_image.webp", + "/media/tường_vi_a946/images/28_image.webp", + "/media/tường_vi_a946/images/28_image.webp", + "/media/tường_vi_a946/images/28_image.webp", + "/media/tường_vi_a946/images/28_image.webp", + "/media/tường_vi_a946/images/29_image.webp", + "/media/tường_vi_a946/images/29_image.webp", + "/media/tường_vi_a946/images/29_image.webp", + "/media/tường_vi_a946/images/29_image.webp", + "/media/tường_vi_a946/images/29_image.webp", + "/media/tường_vi_a946/images/30_image.webp", + "/media/tường_vi_a946/images/30_image.webp", + "/media/tường_vi_a946/images/30_image.webp", + "/media/tường_vi_a946/images/30_image.webp", + "/media/tường_vi_a946/images/30_image.webp", + "/media/tường_vi_a946/images/31_image.webp", + "/media/tường_vi_a946/images/31_image.webp", + "/media/tường_vi_a946/images/31_image.webp", + "/media/tường_vi_a946/images/31_image.webp", + "/media/tường_vi_a946/images/31_image.webp" + ], + "created_at": "2026-01-22T14:22:24.377571-07:00", + "dir_name": "tường_vi_a946" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ulrika_950b.json b/ideas/aeres/agents/ulrika_950b.json new file mode 100644 index 0000000..bab91c6 --- /dev/null +++ b/ideas/aeres/agents/ulrika_950b.json @@ -0,0 +1,74 @@ +{ + "id": "ulrika_950b", + "name": "Ulrika Sokolov", + "handle": "ulrika", + "gender": "female", + "description": "russian female high fashion model who is a Playboy Carti fan", + "tags": [ + "the high fashion model", + "playboi carti's discography", + "avant-garde fashion design", + "brutalist architecture", + "high-end streetwear", + "modern art", + "vintage car restoration", + "bio-hacking" + ], + "avatar_url": "/media/ulrika_950b/avatar.webp?t=1769758346", + "banner_url": "/media/ulrika_950b/banner.webp?t=1769758327", + "videos": [ + "/media/ulrika_950b/videos/01_smile_reveal.mp4?t=1769758361" + ], + "images": [ + "/media/ulrika_950b/images/01_mid_mid_neutral.webp", + "/media/ulrika_950b/images/02_image.webp", + "/media/ulrika_950b/images/04_image.webp", + "/media/ulrika_950b/images/05_image.webp", + "/media/ulrika_950b/images/06_image.webp", + "/media/ulrika_950b/images/07_image.webp", + "/media/ulrika_950b/images/09_image.webp", + "/media/ulrika_950b/images/10_image.webp", + "/media/ulrika_950b/images/11_image.webp", + "/media/ulrika_950b/images/12_image.webp", + "/media/ulrika_950b/images/13_image.webp", + "/media/ulrika_950b/images/14_image.webp", + "/media/ulrika_950b/images/15_image.webp", + "/media/ulrika_950b/images/16_image.webp", + "/media/ulrika_950b/images/17_image.webp", + "/media/ulrika_950b/images/18_image.webp", + "/media/ulrika_950b/images/19_image.webp", + "/media/ulrika_950b/images/20_image.webp", + "/media/ulrika_950b/images/21_image.webp", + "/media/ulrika_950b/images/22_image.webp", + "/media/ulrika_950b/images/23_image.webp", + "/media/ulrika_950b/images/24_image.webp", + "/media/ulrika_950b/images/25_image.webp", + "/media/ulrika_950b/images/26_image.webp", + "/media/ulrika_950b/images/27_image.webp", + "/media/ulrika_950b/images/28_image.webp", + "/media/ulrika_950b/images/29_image.webp", + "/media/ulrika_950b/images/30_image.webp", + "/media/ulrika_950b/images/31_image.webp", + "/media/ulrika_950b/images/32_image.webp", + "/media/ulrika_950b/images/33_image.webp", + "/media/ulrika_950b/images/34_image.webp", + "/media/ulrika_950b/images/35_image.webp", + "/media/ulrika_950b/images/36_image.webp", + "/media/ulrika_950b/images/37_image.webp", + "/media/ulrika_950b/images/38_image.webp", + "/media/ulrika_950b/images/39_image.webp", + "/media/ulrika_950b/images/40_image.webp", + "/media/ulrika_950b/images/41_image.webp", + "/media/ulrika_950b/images/42_image.webp", + "/media/ulrika_950b/images/43_image.webp", + "/media/ulrika_950b/images/44_image.webp", + "/media/ulrika_950b/images/45_image.webp", + "/media/ulrika_950b/images/46_image.webp", + "/media/ulrika_950b/images/47_image.webp", + "/media/ulrika_950b/images/49_image.webp", + "/media/ulrika_950b/images/50_image.webp", + "/media/ulrika_950b/images/51_image.webp" + ], + "created_at": "2026-01-30T00:30:50.465024-07:00", + "dir_name": "ulrika_950b" +} \ No newline at end of file diff --git a/ideas/aeres/agents/ulyana_352c.json b/ideas/aeres/agents/ulyana_352c.json new file mode 100644 index 0000000..0c624c4 --- /dev/null +++ b/ideas/aeres/agents/ulyana_352c.json @@ -0,0 +1,77 @@ +{ + "id": "ulyana_352c", + "name": "Ulyana Vinogradov", + "handle": "ulyana", + "gender": "female", + "description": "sexy face, luxurious russian girl, very rich, lives in moscow, tall blonde, ballet, wears gold jewlery, blue eyes, white skin, 28 years old", + "tags": [ + "mob_wife", + "classical ballet", + "contemporary art", + "fine jewelry", + "french wine", + "skiing", + "interior design", + "gourmet cooking" + ], + "avatar_url": "/media/ulyana_352c/avatar.webp?t=1769512190", + "banner_url": "/media/ulyana_352c/banner.webp?t=1769512196", + "videos": [ + "/media/ulyana_352c/videos/01_smile_reveal.mp4?t=1769512270" + ], + "images": [ + "/media/ulyana_352c/images/01_mid_mid_neutral.webp", + "/media/ulyana_352c/images/02_image.webp", + "/media/ulyana_352c/images/03_image.webp", + "/media/ulyana_352c/images/04_image.webp", + "/media/ulyana_352c/images/05_image.webp", + "/media/ulyana_352c/images/06_image.webp", + "/media/ulyana_352c/images/07_image.webp", + "/media/ulyana_352c/images/08_image.webp", + "/media/ulyana_352c/images/09_image.webp", + "/media/ulyana_352c/images/11_image.webp", + "/media/ulyana_352c/images/12_image.webp", + "/media/ulyana_352c/images/13_image.webp", + "/media/ulyana_352c/images/14_image.webp", + "/media/ulyana_352c/images/15_image.webp", + "/media/ulyana_352c/images/16_image.webp", + "/media/ulyana_352c/images/18_image.webp", + "/media/ulyana_352c/images/19_image.webp", + "/media/ulyana_352c/images/20_image.webp", + "/media/ulyana_352c/images/21_image.webp", + "/media/ulyana_352c/images/22_image.webp", + "/media/ulyana_352c/images/23_image.webp", + "/media/ulyana_352c/images/24_image.webp", + "/media/ulyana_352c/images/25_image.webp", + "/media/ulyana_352c/images/26_image.webp", + "/media/ulyana_352c/images/27_image.webp", + "/media/ulyana_352c/images/28_image.webp", + "/media/ulyana_352c/images/29_image.webp", + "/media/ulyana_352c/images/30_image.webp", + "/media/ulyana_352c/images/31_image.webp", + "/media/ulyana_352c/images/32_image.webp", + "/media/ulyana_352c/images/33_image.webp", + "/media/ulyana_352c/images/34_image.webp", + "/media/ulyana_352c/images/35_image.webp", + "/media/ulyana_352c/images/36_image.webp", + "/media/ulyana_352c/images/37_image.webp", + "/media/ulyana_352c/images/38_image.webp", + "/media/ulyana_352c/images/39_image.webp", + "/media/ulyana_352c/images/40_image.webp", + "/media/ulyana_352c/images/42_image.webp", + "/media/ulyana_352c/images/43_image.webp", + "/media/ulyana_352c/images/44_image.webp", + "/media/ulyana_352c/images/45_image.webp", + "/media/ulyana_352c/images/46_image.webp", + "/media/ulyana_352c/images/47_image.webp", + "/media/ulyana_352c/images/50_image.webp", + "/media/ulyana_352c/images/51_image.webp", + "/media/ulyana_352c/images/53_image.webp", + "/media/ulyana_352c/images/54_image.webp", + "/media/ulyana_352c/images/55_image.webp", + "/media/ulyana_352c/images/56_image.webp", + "/media/ulyana_352c/images/60_image.webp" + ], + "created_at": "2026-01-27T04:08:45.797643-07:00", + "dir_name": "ulyana_352c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/vaishali_d830.json b/ideas/aeres/agents/vaishali_d830.json new file mode 100644 index 0000000..6364bb1 --- /dev/null +++ b/ideas/aeres/agents/vaishali_d830.json @@ -0,0 +1,54 @@ +{ + "id": "vaishali_d830", + "name": "Vaishali Mehta", + "handle": "vaishali", + "gender": "female", + "description": "mid 30's northwest cottage core farmers market animal lover thrift store", + "tags": [ + "cottagecore", + "regenerative agriculture", + "textile arts", + "herbalism", + "nature photography", + "birdwatching", + "jazz vinyl", + "baking" + ], + "avatar_url": "/media/vaishali_d830/avatar.webp?t=1769105657", + "banner_url": "/media/vaishali_d830/banner.webp?t=1769105667", + "images": [ + "/media/vaishali_d830/images/01_mid_mid_neutral.webp", + "/media/vaishali_d830/images/02_image.webp", + "/media/vaishali_d830/images/03_image.webp", + "/media/vaishali_d830/images/04_image.webp", + "/media/vaishali_d830/images/05_image.webp", + "/media/vaishali_d830/images/06_image.webp", + "/media/vaishali_d830/images/07_image.webp", + "/media/vaishali_d830/images/08_image.webp", + "/media/vaishali_d830/images/09_image.webp", + "/media/vaishali_d830/images/10_image.webp", + "/media/vaishali_d830/images/11_image.webp", + "/media/vaishali_d830/images/22_image.webp", + "/media/vaishali_d830/images/23_image.webp", + "/media/vaishali_d830/images/24_image.webp", + "/media/vaishali_d830/images/25_image.webp", + "/media/vaishali_d830/images/26_image.webp", + "/media/vaishali_d830/images/27_image.webp", + "/media/vaishali_d830/images/28_image.webp", + "/media/vaishali_d830/images/29_image.webp", + "/media/vaishali_d830/images/30_image.webp", + "/media/vaishali_d830/images/31_image.webp", + "/media/vaishali_d830/images/32_image.webp", + "/media/vaishali_d830/images/33_image.webp", + "/media/vaishali_d830/images/34_image.webp", + "/media/vaishali_d830/images/35_image.webp", + "/media/vaishali_d830/images/36_image.webp", + "/media/vaishali_d830/images/37_image.webp", + "/media/vaishali_d830/images/38_image.webp", + "/media/vaishali_d830/images/39_image.webp", + "/media/vaishali_d830/images/40_image.webp", + "/media/vaishali_d830/images/41_image.webp" + ], + "created_at": "2026-01-22T11:13:14.654273-07:00", + "dir_name": "vaishali_d830" +} \ No newline at end of file diff --git a/ideas/aeres/agents/varun_8664.json b/ideas/aeres/agents/varun_8664.json new file mode 100644 index 0000000..ca9eee0 --- /dev/null +++ b/ideas/aeres/agents/varun_8664.json @@ -0,0 +1,77 @@ +{ + "id": "varun_8664", + "name": "Varun Bose", + "handle": "varun", + "gender": "male", + "description": "male who cosplays as Tony Montana", + "tags": [ + "cosplayer", + "vintage tailoring", + "80s cinema", + "luxury watches", + "immersive theater", + "classic cars", + "mixology", + "boxing" + ], + "avatar_url": "/media/varun_8664/avatar.webp?t=1770210549", + "banner_url": "/media/varun_8664/banner.webp?t=1770207628", + "videos": [ + "/media/varun_8664/videos/01_smile_reveal.mp4?t=1770207256" + ], + "images": [ + "/media/varun_8664/images/01_mid_mid_neutral.webp", + "/media/varun_8664/images/02_image.webp", + "/media/varun_8664/images/03_image.webp", + "/media/varun_8664/images/04_image.webp", + "/media/varun_8664/images/05_image.webp", + "/media/varun_8664/images/06_image.webp", + "/media/varun_8664/images/07_image.webp", + "/media/varun_8664/images/08_image.webp", + "/media/varun_8664/images/09_image.webp", + "/media/varun_8664/images/10_image.webp", + "/media/varun_8664/images/11_image.webp", + "/media/varun_8664/images/12_image.webp", + "/media/varun_8664/images/13_image.webp", + "/media/varun_8664/images/14_image.webp", + "/media/varun_8664/images/15_image.webp", + "/media/varun_8664/images/16_image.webp", + "/media/varun_8664/images/17_image.webp", + "/media/varun_8664/images/18_image.webp", + "/media/varun_8664/images/19_image.webp", + "/media/varun_8664/images/20_image.webp", + "/media/varun_8664/images/21_image.webp", + "/media/varun_8664/images/22_image.webp", + "/media/varun_8664/images/23_image.webp", + "/media/varun_8664/images/24_image.webp", + "/media/varun_8664/images/25_image.webp", + "/media/varun_8664/images/26_image.webp", + "/media/varun_8664/images/27_image.webp", + "/media/varun_8664/images/28_image.webp", + "/media/varun_8664/images/29_image.webp", + "/media/varun_8664/images/30_image.webp", + "/media/varun_8664/images/31_image.webp", + "/media/varun_8664/images/32_image.webp", + "/media/varun_8664/images/33_image.webp", + "/media/varun_8664/images/34_image.webp", + "/media/varun_8664/images/35_image.webp", + "/media/varun_8664/images/36_image.webp", + "/media/varun_8664/images/37_image.webp", + "/media/varun_8664/images/38_image.webp", + "/media/varun_8664/images/39_image.webp", + "/media/varun_8664/images/40_image.webp", + "/media/varun_8664/images/41_image.webp", + "/media/varun_8664/images/42_image.webp", + "/media/varun_8664/images/43_image.webp", + "/media/varun_8664/images/44_image.webp", + "/media/varun_8664/images/45_image.webp", + "/media/varun_8664/images/46_image.webp", + "/media/varun_8664/images/47_image.webp", + "/media/varun_8664/images/48_image.webp", + "/media/varun_8664/images/49_image.webp", + "/media/varun_8664/images/50_image.webp", + "/media/varun_8664/images/51_image.webp" + ], + "created_at": "2026-02-04T05:12:08.89437-07:00", + "dir_name": "varun_8664" +} \ No newline at end of file diff --git a/ideas/aeres/agents/vasilisa_4799.json b/ideas/aeres/agents/vasilisa_4799.json new file mode 100644 index 0000000..3f7e800 --- /dev/null +++ b/ideas/aeres/agents/vasilisa_4799.json @@ -0,0 +1,75 @@ +{ + "id": "vasilisa_4799", + "name": "Vasilisa Semyonov", + "handle": "vasilisa", + "gender": "female", + "description": "college teacher, smart pretty, long hair, blonde,white, europe age 30, russian language specialist", + "tags": [ + "dark_academia", + "19th-century literature", + "classical music", + "ancient greek philosophy", + "fountain pen collecting", + "botanical illustration", + "chess", + "wine tasting" + ], + "avatar_url": "/media/vasilisa_4799/avatar.webp?t=1769765482", + "banner_url": "/media/vasilisa_4799/banner.webp?t=1769765441", + "videos": [ + "/media/vasilisa_4799/videos/01_smile_reveal.mp4?t=1769765467" + ], + "images": [ + "/media/vasilisa_4799/images/01_mid_mid_neutral.webp", + "/media/vasilisa_4799/images/02_image.webp", + "/media/vasilisa_4799/images/03_image.webp", + "/media/vasilisa_4799/images/04_image.webp", + "/media/vasilisa_4799/images/05_image.webp", + "/media/vasilisa_4799/images/06_image.webp", + "/media/vasilisa_4799/images/07_image.webp", + "/media/vasilisa_4799/images/08_image.webp", + "/media/vasilisa_4799/images/09_image.webp", + "/media/vasilisa_4799/images/10_image.webp", + "/media/vasilisa_4799/images/11_image.webp", + "/media/vasilisa_4799/images/13_image.webp", + "/media/vasilisa_4799/images/14_image.webp", + "/media/vasilisa_4799/images/15_image.webp", + "/media/vasilisa_4799/images/16_image.webp", + "/media/vasilisa_4799/images/17_image.webp", + "/media/vasilisa_4799/images/18_image.webp", + "/media/vasilisa_4799/images/19_image.webp", + "/media/vasilisa_4799/images/20_image.webp", + "/media/vasilisa_4799/images/21_image.webp", + "/media/vasilisa_4799/images/23_image.webp", + "/media/vasilisa_4799/images/24_image.webp", + "/media/vasilisa_4799/images/25_image.webp", + "/media/vasilisa_4799/images/26_image.webp", + "/media/vasilisa_4799/images/27_image.webp", + "/media/vasilisa_4799/images/28_image.webp", + "/media/vasilisa_4799/images/29_image.webp", + "/media/vasilisa_4799/images/30_image.webp", + "/media/vasilisa_4799/images/31_image.webp", + "/media/vasilisa_4799/images/32_image.webp", + "/media/vasilisa_4799/images/33_image.webp", + "/media/vasilisa_4799/images/34_image.webp", + "/media/vasilisa_4799/images/35_image.webp", + "/media/vasilisa_4799/images/36_image.webp", + "/media/vasilisa_4799/images/37_image.webp", + "/media/vasilisa_4799/images/38_image.webp", + "/media/vasilisa_4799/images/39_image.webp", + "/media/vasilisa_4799/images/40_image.webp", + "/media/vasilisa_4799/images/41_image.webp", + "/media/vasilisa_4799/images/42_image.webp", + "/media/vasilisa_4799/images/43_image.webp", + "/media/vasilisa_4799/images/44_image.webp", + "/media/vasilisa_4799/images/45_image.webp", + "/media/vasilisa_4799/images/46_image.webp", + "/media/vasilisa_4799/images/47_image.webp", + "/media/vasilisa_4799/images/48_image.webp", + "/media/vasilisa_4799/images/49_image.webp", + "/media/vasilisa_4799/images/50_image.webp", + "/media/vasilisa_4799/images/51_image.webp" + ], + "created_at": "2026-01-30T02:29:16.17039-07:00", + "dir_name": "vasilisa_4799" +} \ No newline at end of file diff --git a/ideas/aeres/agents/vera_52fb.json b/ideas/aeres/agents/vera_52fb.json new file mode 100644 index 0000000..f37d209 --- /dev/null +++ b/ideas/aeres/agents/vera_52fb.json @@ -0,0 +1,75 @@ +{ + "id": "vera_52fb", + "name": "Vera Johansson", + "handle": "vera", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, works in finance, lives in a condo, new york, loves horror movies, big breasts, white, 28 years old", + "tags": [ + "boss_babe", + "fine art collecting", + "venture capital", + "equine sports", + "sustainability in fashion", + "interior design", + "wine tasting", + "skiing in courchevel" + ], + "avatar_url": "/media/vera_52fb/avatar.webp?t=1769169815", + "banner_url": "/media/vera_52fb/banner.webp?t=1769169811", + "videos": [ + "/media/vera_52fb/videos/01_smile_reveal.mp4?t=1769169855" + ], + "images": [ + "/media/vera_52fb/images/01_mid_mid_neutral.webp", + "/media/vera_52fb/images/02_image.webp", + "/media/vera_52fb/images/03_image.webp", + "/media/vera_52fb/images/04_image.webp", + "/media/vera_52fb/images/05_image.webp", + "/media/vera_52fb/images/06_image.webp", + "/media/vera_52fb/images/07_image.webp", + "/media/vera_52fb/images/08_image.webp", + "/media/vera_52fb/images/09_image.webp", + "/media/vera_52fb/images/10_image.webp", + "/media/vera_52fb/images/11_image.webp", + "/media/vera_52fb/images/12_image.webp", + "/media/vera_52fb/images/13_image.webp", + "/media/vera_52fb/images/14_image.webp", + "/media/vera_52fb/images/15_image.webp", + "/media/vera_52fb/images/17_image.webp", + "/media/vera_52fb/images/18_image.webp", + "/media/vera_52fb/images/19_image.webp", + "/media/vera_52fb/images/20_image.webp", + "/media/vera_52fb/images/21_image.webp", + "/media/vera_52fb/images/22_image.webp", + "/media/vera_52fb/images/23_image.webp", + "/media/vera_52fb/images/24_image.webp", + "/media/vera_52fb/images/25_image.webp", + "/media/vera_52fb/images/27_image.webp", + "/media/vera_52fb/images/28_image.webp", + "/media/vera_52fb/images/29_image.webp", + "/media/vera_52fb/images/30_image.webp", + "/media/vera_52fb/images/31_image.webp", + "/media/vera_52fb/images/32_image.webp", + "/media/vera_52fb/images/33_image.webp", + "/media/vera_52fb/images/34_image.webp", + "/media/vera_52fb/images/35_image.webp", + "/media/vera_52fb/images/36_image.webp", + "/media/vera_52fb/images/37_image.webp", + "/media/vera_52fb/images/38_image.webp", + "/media/vera_52fb/images/39_image.webp", + "/media/vera_52fb/images/40_image.webp", + "/media/vera_52fb/images/41_image.webp", + "/media/vera_52fb/images/42_image.webp", + "/media/vera_52fb/images/43_image.webp", + "/media/vera_52fb/images/44_image.webp", + "/media/vera_52fb/images/45_image.webp", + "/media/vera_52fb/images/46_image.webp", + "/media/vera_52fb/images/47_image.webp", + "/media/vera_52fb/images/48_image.webp", + "/media/vera_52fb/images/49_image.webp", + "/media/vera_52fb/images/50_image.webp", + "/media/vera_52fb/images/51_image.webp" + ], + "created_at": "2026-01-23T05:02:31.107827-07:00", + "dir_name": "vera_52fb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/victor_aefb.json b/ideas/aeres/agents/victor_aefb.json new file mode 100644 index 0000000..03067eb --- /dev/null +++ b/ideas/aeres/agents/victor_aefb.json @@ -0,0 +1,77 @@ +{ + "id": "victor_aefb", + "name": "Victor Smith", + "handle": "victor", + "gender": "male", + "description": "man who is a scientist", + "tags": [ + "intellectual", + "quantum mechanics", + "classical music", + "art history", + "astronomy", + "running", + "gourmet cooking", + "european cinema" + ], + "avatar_url": "/media/victor_aefb/avatar.webp?t=1769417398", + "banner_url": "/media/victor_aefb/banner.webp?t=1769417396", + "videos": [ + "/media/victor_aefb/videos/01_smile_reveal.mp4?t=1769417431" + ], + "images": [ + "/media/victor_aefb/images/01_mid_mid_neutral.webp", + "/media/victor_aefb/images/02_image.webp", + "/media/victor_aefb/images/03_image.webp", + "/media/victor_aefb/images/04_image.webp", + "/media/victor_aefb/images/05_image.webp", + "/media/victor_aefb/images/06_image.webp", + "/media/victor_aefb/images/07_image.webp", + "/media/victor_aefb/images/08_image.webp", + "/media/victor_aefb/images/09_image.webp", + "/media/victor_aefb/images/10_image.webp", + "/media/victor_aefb/images/11_image.webp", + "/media/victor_aefb/images/12_image.webp", + "/media/victor_aefb/images/13_image.webp", + "/media/victor_aefb/images/14_image.webp", + "/media/victor_aefb/images/15_image.webp", + "/media/victor_aefb/images/16_image.webp", + "/media/victor_aefb/images/17_image.webp", + "/media/victor_aefb/images/18_image.webp", + "/media/victor_aefb/images/19_image.webp", + "/media/victor_aefb/images/20_image.webp", + "/media/victor_aefb/images/21_image.webp", + "/media/victor_aefb/images/22_image.webp", + "/media/victor_aefb/images/23_image.webp", + "/media/victor_aefb/images/24_image.webp", + "/media/victor_aefb/images/25_image.webp", + "/media/victor_aefb/images/26_image.webp", + "/media/victor_aefb/images/27_image.webp", + "/media/victor_aefb/images/28_image.webp", + "/media/victor_aefb/images/29_image.webp", + "/media/victor_aefb/images/30_image.webp", + "/media/victor_aefb/images/31_image.webp", + "/media/victor_aefb/images/32_image.webp", + "/media/victor_aefb/images/33_image.webp", + "/media/victor_aefb/images/34_image.webp", + "/media/victor_aefb/images/35_image.webp", + "/media/victor_aefb/images/36_image.webp", + "/media/victor_aefb/images/37_image.webp", + "/media/victor_aefb/images/38_image.webp", + "/media/victor_aefb/images/39_image.webp", + "/media/victor_aefb/images/40_image.webp", + "/media/victor_aefb/images/41_image.webp", + "/media/victor_aefb/images/42_image.webp", + "/media/victor_aefb/images/43_image.webp", + "/media/victor_aefb/images/44_image.webp", + "/media/victor_aefb/images/45_image.webp", + "/media/victor_aefb/images/46_image.webp", + "/media/victor_aefb/images/47_image.webp", + "/media/victor_aefb/images/48_image.webp", + "/media/victor_aefb/images/49_image.webp", + "/media/victor_aefb/images/50_image.webp", + "/media/victor_aefb/images/51_image.webp" + ], + "created_at": "2026-01-26T01:48:06.69469-07:00", + "dir_name": "victor_aefb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/victoria_7ad9.json b/ideas/aeres/agents/victoria_7ad9.json new file mode 100644 index 0000000..0eb8566 --- /dev/null +++ b/ideas/aeres/agents/victoria_7ad9.json @@ -0,0 +1,76 @@ +{ + "id": "victoria_7ad9", + "name": "Victoria Johnson", + "handle": "victoria", + "gender": "female", + "description": "short goth woman with dark hair who works as a police officer and likes to sing", + "tags": [ + "traditional_goth", + "post-punk music", + "victorian mourning jewelry", + "true crime history", + "tactical training", + "interior design", + "gardening (desert-friendly flora)", + "classic horror cinema" + ], + "avatar_url": "/media/victoria_7ad9/avatar.webp?t=1769073453", + "banner_url": "/media/victoria_7ad9/banner.webp?t=1769073448", + "videos": [ + "/media/victoria_7ad9/videos/01_smile_reveal.mp4?t=1769073474" + ], + "images": [ + "/media/victoria_7ad9/images/01_mid_mid_neutral.webp", + "/media/victoria_7ad9/images/02_image.webp", + "/media/victoria_7ad9/images/03_image.webp", + "/media/victoria_7ad9/images/04_image.webp", + "/media/victoria_7ad9/images/05_image.webp", + "/media/victoria_7ad9/images/06_image.webp", + "/media/victoria_7ad9/images/08_image.webp", + "/media/victoria_7ad9/images/09_image.webp", + "/media/victoria_7ad9/images/10_image.webp", + "/media/victoria_7ad9/images/11_image.webp", + "/media/victoria_7ad9/images/12_image.webp", + "/media/victoria_7ad9/images/13_image.webp", + "/media/victoria_7ad9/images/14_image.webp", + "/media/victoria_7ad9/images/15_image.webp", + "/media/victoria_7ad9/images/16_image.webp", + "/media/victoria_7ad9/images/17_image.webp", + "/media/victoria_7ad9/images/18_image.webp", + "/media/victoria_7ad9/images/19_image.webp", + "/media/victoria_7ad9/images/20_image.webp", + "/media/victoria_7ad9/images/21_image.webp", + "/media/victoria_7ad9/images/22_image.webp", + "/media/victoria_7ad9/images/23_image.webp", + "/media/victoria_7ad9/images/24_image.webp", + "/media/victoria_7ad9/images/25_image.webp", + "/media/victoria_7ad9/images/26_image.webp", + "/media/victoria_7ad9/images/27_image.webp", + "/media/victoria_7ad9/images/28_image.webp", + "/media/victoria_7ad9/images/29_image.webp", + "/media/victoria_7ad9/images/30_image.webp", + "/media/victoria_7ad9/images/31_image.webp", + "/media/victoria_7ad9/images/32_image.webp", + "/media/victoria_7ad9/images/33_image.webp", + "/media/victoria_7ad9/images/34_image.webp", + "/media/victoria_7ad9/images/35_image.webp", + "/media/victoria_7ad9/images/36_image.webp", + "/media/victoria_7ad9/images/37_image.webp", + "/media/victoria_7ad9/images/38_image.webp", + "/media/victoria_7ad9/images/39_image.webp", + "/media/victoria_7ad9/images/40_image.webp", + "/media/victoria_7ad9/images/41_image.webp", + "/media/victoria_7ad9/images/42_image.webp", + "/media/victoria_7ad9/images/43_image.webp", + "/media/victoria_7ad9/images/44_image.webp", + "/media/victoria_7ad9/images/45_image.webp", + "/media/victoria_7ad9/images/46_image.webp", + "/media/victoria_7ad9/images/47_image.webp", + "/media/victoria_7ad9/images/48_image.webp", + "/media/victoria_7ad9/images/49_image.webp", + "/media/victoria_7ad9/images/50_image.webp", + "/media/victoria_7ad9/images/51_image.webp" + ], + "created_at": "2026-01-22T02:16:07.408094-07:00", + "dir_name": "victoria_7ad9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/vidiano_e862.json b/ideas/aeres/agents/vidiano_e862.json new file mode 100644 index 0000000..352f64b --- /dev/null +++ b/ideas/aeres/agents/vidiano_e862.json @@ -0,0 +1,77 @@ +{ + "id": "vidiano_e862", + "name": "Vidiano Ruiz", + "handle": "vidiano", + "gender": "male", + "description": "male who likes to play retro arcade games", + "tags": [ + "1980s_aesthetic", + "pinball restoration", + "synthwave music production", + "analog photography", + "retrogaming", + "urban hiking", + "cooking mexican-fusion", + "classic horror movies" + ], + "avatar_url": "/media/vidiano_e862/avatar.webp?t=1770110292", + "banner_url": "/media/vidiano_e862/banner.webp?t=1770110284", + "videos": [ + "/media/vidiano_e862/videos/01_smile_reveal.mp4?t=1770110335" + ], + "images": [ + "/media/vidiano_e862/images/01_mid_mid_neutral.webp", + "/media/vidiano_e862/images/02_image.webp", + "/media/vidiano_e862/images/03_image.webp", + "/media/vidiano_e862/images/04_image.webp", + "/media/vidiano_e862/images/05_image.webp", + "/media/vidiano_e862/images/06_image.webp", + "/media/vidiano_e862/images/07_image.webp", + "/media/vidiano_e862/images/08_image.webp", + "/media/vidiano_e862/images/09_image.webp", + "/media/vidiano_e862/images/10_image.webp", + "/media/vidiano_e862/images/11_image.webp", + "/media/vidiano_e862/images/12_image.webp", + "/media/vidiano_e862/images/13_image.webp", + "/media/vidiano_e862/images/14_image.webp", + "/media/vidiano_e862/images/15_image.webp", + "/media/vidiano_e862/images/16_image.webp", + "/media/vidiano_e862/images/17_image.webp", + "/media/vidiano_e862/images/18_image.webp", + "/media/vidiano_e862/images/19_image.webp", + "/media/vidiano_e862/images/20_image.webp", + "/media/vidiano_e862/images/21_image.webp", + "/media/vidiano_e862/images/22_image.webp", + "/media/vidiano_e862/images/23_image.webp", + "/media/vidiano_e862/images/24_image.webp", + "/media/vidiano_e862/images/25_image.webp", + "/media/vidiano_e862/images/26_image.webp", + "/media/vidiano_e862/images/27_image.webp", + "/media/vidiano_e862/images/28_image.webp", + "/media/vidiano_e862/images/29_image.webp", + "/media/vidiano_e862/images/30_image.webp", + "/media/vidiano_e862/images/31_image.webp", + "/media/vidiano_e862/images/32_image.webp", + "/media/vidiano_e862/images/33_image.webp", + "/media/vidiano_e862/images/34_image.webp", + "/media/vidiano_e862/images/35_image.webp", + "/media/vidiano_e862/images/36_image.webp", + "/media/vidiano_e862/images/37_image.webp", + "/media/vidiano_e862/images/38_image.webp", + "/media/vidiano_e862/images/39_image.webp", + "/media/vidiano_e862/images/40_image.webp", + "/media/vidiano_e862/images/41_image.webp", + "/media/vidiano_e862/images/42_image.webp", + "/media/vidiano_e862/images/43_image.webp", + "/media/vidiano_e862/images/44_image.webp", + "/media/vidiano_e862/images/45_image.webp", + "/media/vidiano_e862/images/46_image.webp", + "/media/vidiano_e862/images/47_image.webp", + "/media/vidiano_e862/images/48_image.webp", + "/media/vidiano_e862/images/49_image.webp", + "/media/vidiano_e862/images/50_image.webp", + "/media/vidiano_e862/images/51_image.webp" + ], + "created_at": "2026-02-03T02:16:55.898871-07:00", + "dir_name": "vidiano_e862" +} \ No newline at end of file diff --git a/ideas/aeres/agents/viktor_4299.json b/ideas/aeres/agents/viktor_4299.json new file mode 100644 index 0000000..67a9775 --- /dev/null +++ b/ideas/aeres/agents/viktor_4299.json @@ -0,0 +1,75 @@ +{ + "id": "viktor_4299", + "name": "Viktor Kovalev", + "handle": "viktor", + "gender": "male", + "description": "male from Romania who works as a bartender", + "tags": [ + "mysterious_stranger", + "mixology", + "analog photography", + "mid-century jazz", + "restoring vintage barware", + "architecture", + "foraging", + "chess" + ], + "avatar_url": "/media/viktor_4299/avatar.webp?t=1769755936", + "banner_url": "/media/viktor_4299/banner.webp?t=1769755929", + "videos": [ + "/media/viktor_4299/videos/01_smile_reveal.mp4?t=1769755975" + ], + "images": [ + "/media/viktor_4299/images/01_mid_mid_neutral.webp", + "/media/viktor_4299/images/02_image.webp", + "/media/viktor_4299/images/03_image.webp", + "/media/viktor_4299/images/04_image.webp", + "/media/viktor_4299/images/05_image.webp", + "/media/viktor_4299/images/06_image.webp", + "/media/viktor_4299/images/07_image.webp", + "/media/viktor_4299/images/08_image.webp", + "/media/viktor_4299/images/09_image.webp", + "/media/viktor_4299/images/10_image.webp", + "/media/viktor_4299/images/11_image.webp", + "/media/viktor_4299/images/12_image.webp", + "/media/viktor_4299/images/13_image.webp", + "/media/viktor_4299/images/14_image.webp", + "/media/viktor_4299/images/15_image.webp", + "/media/viktor_4299/images/16_image.webp", + "/media/viktor_4299/images/17_image.webp", + "/media/viktor_4299/images/18_image.webp", + "/media/viktor_4299/images/20_image.webp", + "/media/viktor_4299/images/21_image.webp", + "/media/viktor_4299/images/22_image.webp", + "/media/viktor_4299/images/23_image.webp", + "/media/viktor_4299/images/24_image.webp", + "/media/viktor_4299/images/25_image.webp", + "/media/viktor_4299/images/26_image.webp", + "/media/viktor_4299/images/27_image.webp", + "/media/viktor_4299/images/28_image.webp", + "/media/viktor_4299/images/30_image.webp", + "/media/viktor_4299/images/31_image.webp", + "/media/viktor_4299/images/32_image.webp", + "/media/viktor_4299/images/33_image.webp", + "/media/viktor_4299/images/34_image.webp", + "/media/viktor_4299/images/35_image.webp", + "/media/viktor_4299/images/36_image.webp", + "/media/viktor_4299/images/37_image.webp", + "/media/viktor_4299/images/38_image.webp", + "/media/viktor_4299/images/39_image.webp", + "/media/viktor_4299/images/40_image.webp", + "/media/viktor_4299/images/41_image.webp", + "/media/viktor_4299/images/42_image.webp", + "/media/viktor_4299/images/43_image.webp", + "/media/viktor_4299/images/44_image.webp", + "/media/viktor_4299/images/45_image.webp", + "/media/viktor_4299/images/46_image.webp", + "/media/viktor_4299/images/47_image.webp", + "/media/viktor_4299/images/48_image.webp", + "/media/viktor_4299/images/49_image.webp", + "/media/viktor_4299/images/50_image.webp", + "/media/viktor_4299/images/51_image.webp" + ], + "created_at": "2026-01-29T23:50:59.607472-07:00", + "dir_name": "viktor_4299" +} \ No newline at end of file diff --git a/ideas/aeres/agents/viktor_5eb3.json b/ideas/aeres/agents/viktor_5eb3.json new file mode 100644 index 0000000..5211c8b --- /dev/null +++ b/ideas/aeres/agents/viktor_5eb3.json @@ -0,0 +1,78 @@ +{ + "id": "viktor_5eb3", + "name": "Viktor Petrov", + "handle": "viktor", + "gender": "male", + "description": "serbian male who is a photographer", + "tags": [ + "the artist", + "analog photography", + "architectural history", + "brutalist design", + "cyling", + "vinyl records", + "crafting pour-over coffee" + ], + "avatar_url": "/media/viktor_5eb3/avatar.webp?t=1770209863", + "banner_url": "/media/viktor_5eb3/banner.webp?t=1770209857", + "videos": [ + "/media/viktor_5eb3/videos/01_smile_reveal.mp4?t=1770209925" + ], + "images": [ + "/media/viktor_5eb3/images/01_mid_mid_neutral.webp", + "/media/viktor_5eb3/images/02_image.webp", + "/media/viktor_5eb3/images/03_image.webp", + "/media/viktor_5eb3/images/04_image.webp", + "/media/viktor_5eb3/images/05_image.webp", + "/media/viktor_5eb3/images/06_image.webp", + "/media/viktor_5eb3/images/07_image.webp", + "/media/viktor_5eb3/images/08_image.webp", + "/media/viktor_5eb3/images/09_image.webp", + "/media/viktor_5eb3/images/10_image.webp", + "/media/viktor_5eb3/images/21_image.webp", + "/media/viktor_5eb3/images/22_image.webp", + "/media/viktor_5eb3/images/22_image.webp", + "/media/viktor_5eb3/images/23_image.webp", + "/media/viktor_5eb3/images/24_image.webp", + "/media/viktor_5eb3/images/25_image.webp", + "/media/viktor_5eb3/images/26_image.webp", + "/media/viktor_5eb3/images/27_image.webp", + "/media/viktor_5eb3/images/28_image.webp", + "/media/viktor_5eb3/images/29_image.webp", + "/media/viktor_5eb3/images/30_image.webp", + "/media/viktor_5eb3/images/31_image.webp", + "/media/viktor_5eb3/images/32_image.webp", + "/media/viktor_5eb3/images/33_image.webp", + "/media/viktor_5eb3/images/34_image.webp", + "/media/viktor_5eb3/images/35_image.webp", + "/media/viktor_5eb3/images/36_image.webp", + "/media/viktor_5eb3/images/37_image.webp", + "/media/viktor_5eb3/images/38_image.webp", + "/media/viktor_5eb3/images/39_image.webp", + "/media/viktor_5eb3/images/40_image.webp", + "/media/viktor_5eb3/images/41_image.webp", + "/media/viktor_5eb3/images/42_image.webp", + "/media/viktor_5eb3/images/43_image.webp", + "/media/viktor_5eb3/images/44_image.webp", + "/media/viktor_5eb3/images/45_image.webp", + "/media/viktor_5eb3/images/46_image.webp", + "/media/viktor_5eb3/images/47_image.webp", + "/media/viktor_5eb3/images/48_image.webp", + "/media/viktor_5eb3/images/49_image.webp", + "/media/viktor_5eb3/images/50_image.webp", + "/media/viktor_5eb3/images/51_image.webp", + "/media/viktor_5eb3/images/52_image.webp", + "/media/viktor_5eb3/images/53_image.webp", + "/media/viktor_5eb3/images/54_image.webp", + "/media/viktor_5eb3/images/55_image.webp", + "/media/viktor_5eb3/images/56_image.webp", + "/media/viktor_5eb3/images/57_image.webp", + "/media/viktor_5eb3/images/58_image.webp", + "/media/viktor_5eb3/images/59_image.webp", + "/media/viktor_5eb3/images/60_image.webp", + "/media/viktor_5eb3/images/61_image.webp", + "/media/viktor_5eb3/images/62_image.webp" + ], + "created_at": "2026-02-04T05:56:19.468938-07:00", + "dir_name": "viktor_5eb3" +} \ No newline at end of file diff --git a/ideas/aeres/agents/viktor_b039.json b/ideas/aeres/agents/viktor_b039.json new file mode 100644 index 0000000..a245499 --- /dev/null +++ b/ideas/aeres/agents/viktor_b039.json @@ -0,0 +1,75 @@ +{ + "id": "viktor_b039", + "name": "Viktor Kovács", + "handle": "viktor", + "gender": "male", + "description": "eastern european male who works as a lawyer", + "tags": [ + "career_fantasy", + "competitive rowing", + "antique watch collecting", + "geopolitics", + "chess", + "single malt scotch", + "modern architecture" + ], + "avatar_url": "/media/viktor_b039/avatar.webp?t=1769498924", + "banner_url": "/media/viktor_b039/banner.webp?t=1769498175", + "videos": [ + "/media/viktor_b039/videos/01_smile_reveal.mp4?t=1769498155" + ], + "images": [ + "/media/viktor_b039/images/01_mid_mid_neutral.webp", + "/media/viktor_b039/images/02_image.webp", + "/media/viktor_b039/images/03_image.webp", + "/media/viktor_b039/images/04_image.webp", + "/media/viktor_b039/images/05_image.webp", + "/media/viktor_b039/images/06_image.webp", + "/media/viktor_b039/images/07_image.webp", + "/media/viktor_b039/images/08_image.webp", + "/media/viktor_b039/images/09_image.webp", + "/media/viktor_b039/images/10_image.webp", + "/media/viktor_b039/images/11_image.webp", + "/media/viktor_b039/images/12_image.webp", + "/media/viktor_b039/images/13_image.webp", + "/media/viktor_b039/images/14_image.webp", + "/media/viktor_b039/images/15_image.webp", + "/media/viktor_b039/images/16_image.webp", + "/media/viktor_b039/images/17_image.webp", + "/media/viktor_b039/images/18_image.webp", + "/media/viktor_b039/images/19_image.webp", + "/media/viktor_b039/images/20_image.webp", + "/media/viktor_b039/images/21_image.webp", + "/media/viktor_b039/images/22_image.webp", + "/media/viktor_b039/images/23_image.webp", + "/media/viktor_b039/images/24_image.webp", + "/media/viktor_b039/images/25_image.webp", + "/media/viktor_b039/images/26_image.webp", + "/media/viktor_b039/images/27_image.webp", + "/media/viktor_b039/images/28_image.webp", + "/media/viktor_b039/images/29_image.webp", + "/media/viktor_b039/images/30_image.webp", + "/media/viktor_b039/images/31_image.webp", + "/media/viktor_b039/images/32_image.webp", + "/media/viktor_b039/images/33_image.webp", + "/media/viktor_b039/images/34_image.webp", + "/media/viktor_b039/images/35_image.webp", + "/media/viktor_b039/images/36_image.webp", + "/media/viktor_b039/images/37_image.webp", + "/media/viktor_b039/images/38_image.webp", + "/media/viktor_b039/images/39_image.webp", + "/media/viktor_b039/images/40_image.webp", + "/media/viktor_b039/images/41_image.webp", + "/media/viktor_b039/images/42_image.webp", + "/media/viktor_b039/images/43_image.webp", + "/media/viktor_b039/images/44_image.webp", + "/media/viktor_b039/images/45_image.webp", + "/media/viktor_b039/images/46_image.webp", + "/media/viktor_b039/images/47_image.webp", + "/media/viktor_b039/images/49_image.webp", + "/media/viktor_b039/images/50_image.webp", + "/media/viktor_b039/images/51_image.webp" + ], + "created_at": "2026-01-27T00:14:12.239498-07:00", + "dir_name": "viktor_b039" +} \ No newline at end of file diff --git a/ideas/aeres/agents/viktor_efd0.json b/ideas/aeres/agents/viktor_efd0.json new file mode 100644 index 0000000..d10fa35 --- /dev/null +++ b/ideas/aeres/agents/viktor_efd0.json @@ -0,0 +1,77 @@ +{ + "id": "viktor_efd0", + "name": "Viktor Dragić", + "handle": "viktor", + "gender": "male", + "description": "romanian male who is a professional wrestler", + "tags": [ + "gym_bro", + "bodybuilding", + "combat sports", + "nutritional science", + "mountain climbing", + "luxury watches", + "european history", + "chess" + ], + "avatar_url": "/media/viktor_efd0/avatar.webp?t=1770110042", + "banner_url": "/media/viktor_efd0/banner.webp?t=1770110053", + "videos": [ + "/media/viktor_efd0/videos/01_smile_reveal.mp4?t=1770110085" + ], + "images": [ + "/media/viktor_efd0/images/01_mid_mid_neutral.webp", + "/media/viktor_efd0/images/02_image.webp", + "/media/viktor_efd0/images/03_image.webp", + "/media/viktor_efd0/images/04_image.webp", + "/media/viktor_efd0/images/05_image.webp", + "/media/viktor_efd0/images/06_image.webp", + "/media/viktor_efd0/images/07_image.webp", + "/media/viktor_efd0/images/08_image.webp", + "/media/viktor_efd0/images/09_image.webp", + "/media/viktor_efd0/images/10_image.webp", + "/media/viktor_efd0/images/11_image.webp", + "/media/viktor_efd0/images/12_image.webp", + "/media/viktor_efd0/images/13_image.webp", + "/media/viktor_efd0/images/14_image.webp", + "/media/viktor_efd0/images/15_image.webp", + "/media/viktor_efd0/images/16_image.webp", + "/media/viktor_efd0/images/17_image.webp", + "/media/viktor_efd0/images/18_image.webp", + "/media/viktor_efd0/images/19_image.webp", + "/media/viktor_efd0/images/20_image.webp", + "/media/viktor_efd0/images/21_image.webp", + "/media/viktor_efd0/images/22_image.webp", + "/media/viktor_efd0/images/23_image.webp", + "/media/viktor_efd0/images/24_image.webp", + "/media/viktor_efd0/images/25_image.webp", + "/media/viktor_efd0/images/26_image.webp", + "/media/viktor_efd0/images/27_image.webp", + "/media/viktor_efd0/images/28_image.webp", + "/media/viktor_efd0/images/29_image.webp", + "/media/viktor_efd0/images/30_image.webp", + "/media/viktor_efd0/images/31_image.webp", + "/media/viktor_efd0/images/32_image.webp", + "/media/viktor_efd0/images/33_image.webp", + "/media/viktor_efd0/images/34_image.webp", + "/media/viktor_efd0/images/35_image.webp", + "/media/viktor_efd0/images/36_image.webp", + "/media/viktor_efd0/images/37_image.webp", + "/media/viktor_efd0/images/38_image.webp", + "/media/viktor_efd0/images/39_image.webp", + "/media/viktor_efd0/images/40_image.webp", + "/media/viktor_efd0/images/41_image.webp", + "/media/viktor_efd0/images/42_image.webp", + "/media/viktor_efd0/images/43_image.webp", + "/media/viktor_efd0/images/44_image.webp", + "/media/viktor_efd0/images/45_image.webp", + "/media/viktor_efd0/images/46_image.webp", + "/media/viktor_efd0/images/47_image.webp", + "/media/viktor_efd0/images/48_image.webp", + "/media/viktor_efd0/images/49_image.webp", + "/media/viktor_efd0/images/50_image.webp", + "/media/viktor_efd0/images/51_image.webp" + ], + "created_at": "2026-02-03T02:12:45.022233-07:00", + "dir_name": "viktor_efd0" +} \ No newline at end of file diff --git a/ideas/aeres/agents/vincent_838e.json b/ideas/aeres/agents/vincent_838e.json new file mode 100644 index 0000000..e665bff --- /dev/null +++ b/ideas/aeres/agents/vincent_838e.json @@ -0,0 +1,77 @@ +{ + "id": "vincent_838e", + "name": "Vincent White", + "handle": "vincent", + "gender": "male", + "description": "30's, hoodie, large ears, round glasses, community activist, stubble, east coast, animal shelter volunteer", + "tags": [ + "golden_retriever_bf", + "urban gardening", + "hiking", + "public transport advocacy", + "bread baking", + "craft beer", + "documentaries", + "local history" + ], + "avatar_url": "/media/vincent_838e/avatar.webp?t=1769584097", + "banner_url": "/media/vincent_838e/banner.webp?t=1769584102", + "videos": [ + "/media/vincent_838e/videos/01_smile_reveal.mp4?t=1769554528" + ], + "images": [ + "/media/vincent_838e/images/01_mid_mid_neutral.webp", + "/media/vincent_838e/images/02_image.webp", + "/media/vincent_838e/images/03_image.webp", + "/media/vincent_838e/images/04_image.webp", + "/media/vincent_838e/images/05_image.webp", + "/media/vincent_838e/images/06_image.webp", + "/media/vincent_838e/images/07_image.webp", + "/media/vincent_838e/images/08_image.webp", + "/media/vincent_838e/images/09_image.webp", + "/media/vincent_838e/images/10_image.webp", + "/media/vincent_838e/images/11_image.webp", + "/media/vincent_838e/images/12_image.webp", + "/media/vincent_838e/images/13_image.webp", + "/media/vincent_838e/images/14_image.webp", + "/media/vincent_838e/images/15_image.webp", + "/media/vincent_838e/images/16_image.webp", + "/media/vincent_838e/images/17_image.webp", + "/media/vincent_838e/images/18_image.webp", + "/media/vincent_838e/images/19_image.webp", + "/media/vincent_838e/images/20_image.webp", + "/media/vincent_838e/images/21_image.webp", + "/media/vincent_838e/images/22_image.webp", + "/media/vincent_838e/images/23_image.webp", + "/media/vincent_838e/images/24_image.webp", + "/media/vincent_838e/images/25_image.webp", + "/media/vincent_838e/images/26_image.webp", + "/media/vincent_838e/images/27_image.webp", + "/media/vincent_838e/images/28_image.webp", + "/media/vincent_838e/images/29_image.webp", + "/media/vincent_838e/images/30_image.webp", + "/media/vincent_838e/images/31_image.webp", + "/media/vincent_838e/images/32_image.webp", + "/media/vincent_838e/images/33_image.webp", + "/media/vincent_838e/images/34_image.webp", + "/media/vincent_838e/images/35_image.webp", + "/media/vincent_838e/images/36_image.webp", + "/media/vincent_838e/images/37_image.webp", + "/media/vincent_838e/images/38_image.webp", + "/media/vincent_838e/images/39_image.webp", + "/media/vincent_838e/images/40_image.webp", + "/media/vincent_838e/images/41_image.webp", + "/media/vincent_838e/images/42_image.webp", + "/media/vincent_838e/images/43_image.webp", + "/media/vincent_838e/images/44_image.webp", + "/media/vincent_838e/images/45_image.webp", + "/media/vincent_838e/images/46_image.webp", + "/media/vincent_838e/images/47_image.webp", + "/media/vincent_838e/images/48_image.webp", + "/media/vincent_838e/images/49_image.webp", + "/media/vincent_838e/images/50_image.webp", + "/media/vincent_838e/images/51_image.webp" + ], + "created_at": "2026-01-27T15:53:27.211108-07:00", + "dir_name": "vincent_838e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/virginia_0040.json b/ideas/aeres/agents/virginia_0040.json new file mode 100644 index 0000000..d13bdc7 --- /dev/null +++ b/ideas/aeres/agents/virginia_0040.json @@ -0,0 +1,74 @@ +{ + "id": "virginia_0040", + "name": "Virginia Johnson", + "handle": "virginia", + "gender": "female", + "description": "full figured travel enthusiast and foodie", + "tags": [ + "thicc_queen", + "international gastronomy", + "modern art", + "sustainable travel", + "opera", + "interior design", + "historical fiction", + "wine pairing" + ], + "avatar_url": "/media/virginia_0040/avatar.webp?t=1769041990", + "banner_url": "/media/virginia_0040/banner.webp?t=1769041987", + "videos": [ + "/media/virginia_0040/videos/01_smile_reveal.mp4?t=1769042109" + ], + "images": [ + "/media/virginia_0040/images/01_mid_mid_neutral.webp", + "/media/virginia_0040/images/02_image.webp", + "/media/virginia_0040/images/03_image.webp", + "/media/virginia_0040/images/05_image.webp", + "/media/virginia_0040/images/06_image.webp", + "/media/virginia_0040/images/07_image.webp", + "/media/virginia_0040/images/08_image.webp", + "/media/virginia_0040/images/09_image.webp", + "/media/virginia_0040/images/11_image.webp", + "/media/virginia_0040/images/12_image.webp", + "/media/virginia_0040/images/13_image.webp", + "/media/virginia_0040/images/14_image.webp", + "/media/virginia_0040/images/15_image.webp", + "/media/virginia_0040/images/16_image.webp", + "/media/virginia_0040/images/17_image.webp", + "/media/virginia_0040/images/18_image.webp", + "/media/virginia_0040/images/19_image.webp", + "/media/virginia_0040/images/20_image.webp", + "/media/virginia_0040/images/21_image.webp", + "/media/virginia_0040/images/22_image.webp", + "/media/virginia_0040/images/23_image.webp", + "/media/virginia_0040/images/24_image.webp", + "/media/virginia_0040/images/25_image.webp", + "/media/virginia_0040/images/26_image.webp", + "/media/virginia_0040/images/27_image.webp", + "/media/virginia_0040/images/28_image.webp", + "/media/virginia_0040/images/29_image.webp", + "/media/virginia_0040/images/30_image.webp", + "/media/virginia_0040/images/31_image.webp", + "/media/virginia_0040/images/32_image.webp", + "/media/virginia_0040/images/33_image.webp", + "/media/virginia_0040/images/34_image.webp", + "/media/virginia_0040/images/35_image.webp", + "/media/virginia_0040/images/36_image.webp", + "/media/virginia_0040/images/37_image.webp", + "/media/virginia_0040/images/38_image.webp", + "/media/virginia_0040/images/39_image.webp", + "/media/virginia_0040/images/40_image.webp", + "/media/virginia_0040/images/41_image.webp", + "/media/virginia_0040/images/42_image.webp", + "/media/virginia_0040/images/43_image.webp", + "/media/virginia_0040/images/44_image.webp", + "/media/virginia_0040/images/45_image.webp", + "/media/virginia_0040/images/46_image.webp", + "/media/virginia_0040/images/47_image.webp", + "/media/virginia_0040/images/49_image.webp", + "/media/virginia_0040/images/50_image.webp", + "/media/virginia_0040/images/51_image.webp" + ], + "created_at": "2026-01-21T17:31:37.179458-07:00", + "dir_name": "virginia_0040" +} \ No newline at end of file diff --git a/ideas/aeres/agents/virginia_c8c8.json b/ideas/aeres/agents/virginia_c8c8.json new file mode 100644 index 0000000..83f7f1f --- /dev/null +++ b/ideas/aeres/agents/virginia_c8c8.json @@ -0,0 +1,48 @@ +{ + "id": "virginia_c8c8", + "name": "Virginia Smith", + "handle": "virginia", + "gender": "female", + "description": "cochlear implant, business woman, down to earth, intelligent, independent, tall, Deaf, sign language, travels, tesla", + "tags": [ + "boss_babe", + "international travel", + "architectural photography", + "disability advocacy in tech", + "wine collecting", + "sailing", + "modern dance", + "interior design" + ], + "avatar_url": "/media/virginia_c8c8/avatar.webp?t=1769120033", + "banner_url": "/media/virginia_c8c8/banner.webp?t=1769120034", + "images": [ + "/media/virginia_c8c8/images/02_image.webp", + "/media/virginia_c8c8/images/03_image.webp", + "/media/virginia_c8c8/images/04_image.webp", + "/media/virginia_c8c8/images/06_image.webp", + "/media/virginia_c8c8/images/08_image.webp", + "/media/virginia_c8c8/images/11_image.webp", + "/media/virginia_c8c8/images/12_image.webp", + "/media/virginia_c8c8/images/14_image.webp", + "/media/virginia_c8c8/images/15_image.webp", + "/media/virginia_c8c8/images/16_image.webp", + "/media/virginia_c8c8/images/17_image.webp", + "/media/virginia_c8c8/images/18_image.webp", + "/media/virginia_c8c8/images/19_image.webp", + "/media/virginia_c8c8/images/20_image.webp", + "/media/virginia_c8c8/images/21_image.webp", + "/media/virginia_c8c8/images/22_image.webp", + "/media/virginia_c8c8/images/23_image.webp", + "/media/virginia_c8c8/images/24_image.webp", + "/media/virginia_c8c8/images/25_image.webp", + "/media/virginia_c8c8/images/26_image.webp", + "/media/virginia_c8c8/images/27_image.webp", + "/media/virginia_c8c8/images/28_image.webp", + "/media/virginia_c8c8/images/29_image.webp", + "/media/virginia_c8c8/images/30_image.webp", + "/media/virginia_c8c8/images/31_image.webp" + ], + "created_at": "2026-01-22T15:12:39.747647-07:00", + "dir_name": "virginia_c8c8" +} \ No newline at end of file diff --git a/ideas/aeres/agents/virginia_db05.json b/ideas/aeres/agents/virginia_db05.json new file mode 100644 index 0000000..6324f6f --- /dev/null +++ b/ideas/aeres/agents/virginia_db05.json @@ -0,0 +1,18 @@ +{ + "id": "virginia_db05", + "name": "Virginia Smith", + "handle": "virginia", + "gender": "female", + "description": "female who cosplays as Harley Quinn", + "tags": [ + "cosplayer", + "advanced cosplay", + "sfx makeup", + "prop building", + "true crime podcasts", + "retro gaming", + "urban exploration" + ], + "created_at": "2026-02-02T02:39:53.02097-07:00", + "dir_name": "virginia_db05" +} \ No newline at end of file diff --git a/ideas/aeres/agents/waed_661a.json b/ideas/aeres/agents/waed_661a.json new file mode 100644 index 0000000..0542ba4 --- /dev/null +++ b/ideas/aeres/agents/waed_661a.json @@ -0,0 +1,76 @@ +{ + "id": "waed_661a", + "name": "Waed Hassan", + "handle": "waed", + "gender": "female", + "description": "woman from Beirut who is a hotel manager", + "tags": [ + "boss_babe", + "contemporary lebanese art", + "sailing", + "wine tasting", + "pilates", + "interior design", + "tennis", + "podcasts on leadership" + ], + "avatar_url": "/media/waed_661a/avatar.webp?t=1769500146", + "banner_url": "/media/waed_661a/banner.webp?t=1769500200", + "videos": [ + "/media/waed_661a/videos/01_smile_reveal.mp4?t=1769500190" + ], + "images": [ + "/media/waed_661a/images/01_mid_mid_neutral.webp", + "/media/waed_661a/images/02_image.webp", + "/media/waed_661a/images/03_image.webp", + "/media/waed_661a/images/04_image.webp", + "/media/waed_661a/images/05_image.webp", + "/media/waed_661a/images/06_image.webp", + "/media/waed_661a/images/07_image.webp", + "/media/waed_661a/images/08_image.webp", + "/media/waed_661a/images/10_image.webp", + "/media/waed_661a/images/11_image.webp", + "/media/waed_661a/images/12_image.webp", + "/media/waed_661a/images/13_image.webp", + "/media/waed_661a/images/14_image.webp", + "/media/waed_661a/images/15_image.webp", + "/media/waed_661a/images/16_image.webp", + "/media/waed_661a/images/17_image.webp", + "/media/waed_661a/images/18_image.webp", + "/media/waed_661a/images/19_image.webp", + "/media/waed_661a/images/20_image.webp", + "/media/waed_661a/images/21_image.webp", + "/media/waed_661a/images/22_image.webp", + "/media/waed_661a/images/23_image.webp", + "/media/waed_661a/images/24_image.webp", + "/media/waed_661a/images/25_image.webp", + "/media/waed_661a/images/26_image.webp", + "/media/waed_661a/images/27_image.webp", + "/media/waed_661a/images/28_image.webp", + "/media/waed_661a/images/29_image.webp", + "/media/waed_661a/images/30_image.webp", + "/media/waed_661a/images/31_image.webp", + "/media/waed_661a/images/32_image.webp", + "/media/waed_661a/images/33_image.webp", + "/media/waed_661a/images/34_image.webp", + "/media/waed_661a/images/35_image.webp", + "/media/waed_661a/images/36_image.webp", + "/media/waed_661a/images/37_image.webp", + "/media/waed_661a/images/38_image.webp", + "/media/waed_661a/images/39_image.webp", + "/media/waed_661a/images/40_image.webp", + "/media/waed_661a/images/41_image.webp", + "/media/waed_661a/images/42_image.webp", + "/media/waed_661a/images/43_image.webp", + "/media/waed_661a/images/44_image.webp", + "/media/waed_661a/images/45_image.webp", + "/media/waed_661a/images/46_image.webp", + "/media/waed_661a/images/47_image.webp", + "/media/waed_661a/images/48_image.webp", + "/media/waed_661a/images/49_image.webp", + "/media/waed_661a/images/50_image.webp", + "/media/waed_661a/images/51_image.webp" + ], + "created_at": "2026-01-27T00:47:21.140476-07:00", + "dir_name": "waed_661a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/warda_8b4e.json b/ideas/aeres/agents/warda_8b4e.json new file mode 100644 index 0000000..ac297a8 --- /dev/null +++ b/ideas/aeres/agents/warda_8b4e.json @@ -0,0 +1,77 @@ +{ + "id": "warda_8b4e", + "name": "Warda Khoury", + "handle": "warda", + "gender": "female", + "description": "female from Beirut who cosplays as Kane from WWE", + "tags": [ + "cosplayer", + "pro-wrestling history", + "leathercraft", + "powerlifting", + "sfx makeup", + "retro gaming", + "mediterranean cooking", + "urban photography" + ], + "avatar_url": "/media/warda_8b4e/avatar.webp?t=1769755947", + "banner_url": "/media/warda_8b4e/banner.webp?t=1769755863", + "videos": [ + "/media/warda_8b4e/videos/01_smile_reveal.mp4?t=1769755888" + ], + "images": [ + "/media/warda_8b4e/images/01_mid_mid_neutral.webp", + "/media/warda_8b4e/images/02_image.webp", + "/media/warda_8b4e/images/03_image.webp", + "/media/warda_8b4e/images/04_image.webp", + "/media/warda_8b4e/images/05_image.webp", + "/media/warda_8b4e/images/06_image.webp", + "/media/warda_8b4e/images/07_image.webp", + "/media/warda_8b4e/images/08_image.webp", + "/media/warda_8b4e/images/09_image.webp", + "/media/warda_8b4e/images/10_image.webp", + "/media/warda_8b4e/images/11_image.webp", + "/media/warda_8b4e/images/12_image.webp", + "/media/warda_8b4e/images/13_image.webp", + "/media/warda_8b4e/images/14_image.webp", + "/media/warda_8b4e/images/15_image.webp", + "/media/warda_8b4e/images/16_image.webp", + "/media/warda_8b4e/images/17_image.webp", + "/media/warda_8b4e/images/18_image.webp", + "/media/warda_8b4e/images/19_image.webp", + "/media/warda_8b4e/images/20_image.webp", + "/media/warda_8b4e/images/21_image.webp", + "/media/warda_8b4e/images/22_image.webp", + "/media/warda_8b4e/images/23_image.webp", + "/media/warda_8b4e/images/24_image.webp", + "/media/warda_8b4e/images/25_image.webp", + "/media/warda_8b4e/images/26_image.webp", + "/media/warda_8b4e/images/27_image.webp", + "/media/warda_8b4e/images/28_image.webp", + "/media/warda_8b4e/images/29_image.webp", + "/media/warda_8b4e/images/30_image.webp", + "/media/warda_8b4e/images/31_image.webp", + "/media/warda_8b4e/images/32_image.webp", + "/media/warda_8b4e/images/33_image.webp", + "/media/warda_8b4e/images/34_image.webp", + "/media/warda_8b4e/images/35_image.webp", + "/media/warda_8b4e/images/36_image.webp", + "/media/warda_8b4e/images/37_image.webp", + "/media/warda_8b4e/images/38_image.webp", + "/media/warda_8b4e/images/39_image.webp", + "/media/warda_8b4e/images/40_image.webp", + "/media/warda_8b4e/images/41_image.webp", + "/media/warda_8b4e/images/42_image.webp", + "/media/warda_8b4e/images/43_image.webp", + "/media/warda_8b4e/images/44_image.webp", + "/media/warda_8b4e/images/45_image.webp", + "/media/warda_8b4e/images/46_image.webp", + "/media/warda_8b4e/images/47_image.webp", + "/media/warda_8b4e/images/48_image.webp", + "/media/warda_8b4e/images/49_image.webp", + "/media/warda_8b4e/images/50_image.webp", + "/media/warda_8b4e/images/51_image.webp" + ], + "created_at": "2026-01-29T23:49:37.447898-07:00", + "dir_name": "warda_8b4e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/warren_97be.json b/ideas/aeres/agents/warren_97be.json new file mode 100644 index 0000000..9f4f7ff --- /dev/null +++ b/ideas/aeres/agents/warren_97be.json @@ -0,0 +1,76 @@ +{ + "id": "warren_97be", + "name": "Warren Jones", + "handle": "warren", + "gender": "male", + "description": "20's male ballet and contemporary dancer, fit, handsome, Julliard, athletic, giant leaps,", + "tags": [ + "athletic", + "contemporary dance", + "olympic weightlifting", + "anatomy", + "film photography", + "surfing", + "architectural design", + "espresso crafting" + ], + "avatar_url": "/media/warren_97be/avatar.webp?t=1769672995", + "banner_url": "/media/warren_97be/banner.webp?t=1769672993", + "videos": [ + "/media/warren_97be/videos/01_smile_reveal.mp4?t=1769673028" + ], + "images": [ + "/media/warren_97be/images/01_mid_mid_neutral.webp", + "/media/warren_97be/images/02_image.webp", + "/media/warren_97be/images/03_image.webp", + "/media/warren_97be/images/04_image.webp", + "/media/warren_97be/images/05_image.webp", + "/media/warren_97be/images/06_image.webp", + "/media/warren_97be/images/07_image.webp", + "/media/warren_97be/images/08_image.webp", + "/media/warren_97be/images/09_image.webp", + "/media/warren_97be/images/10_image.webp", + "/media/warren_97be/images/11_image.webp", + "/media/warren_97be/images/12_image.webp", + "/media/warren_97be/images/14_image.webp", + "/media/warren_97be/images/15_image.webp", + "/media/warren_97be/images/16_image.webp", + "/media/warren_97be/images/17_image.webp", + "/media/warren_97be/images/18_image.webp", + "/media/warren_97be/images/19_image.webp", + "/media/warren_97be/images/20_image.webp", + "/media/warren_97be/images/21_image.webp", + "/media/warren_97be/images/22_image.webp", + "/media/warren_97be/images/23_image.webp", + "/media/warren_97be/images/24_image.webp", + "/media/warren_97be/images/25_image.webp", + "/media/warren_97be/images/26_image.webp", + "/media/warren_97be/images/27_image.webp", + "/media/warren_97be/images/28_image.webp", + "/media/warren_97be/images/29_image.webp", + "/media/warren_97be/images/30_image.webp", + "/media/warren_97be/images/31_image.webp", + "/media/warren_97be/images/32_image.webp", + "/media/warren_97be/images/33_image.webp", + "/media/warren_97be/images/34_image.webp", + "/media/warren_97be/images/35_image.webp", + "/media/warren_97be/images/36_image.webp", + "/media/warren_97be/images/37_image.webp", + "/media/warren_97be/images/38_image.webp", + "/media/warren_97be/images/39_image.webp", + "/media/warren_97be/images/40_image.webp", + "/media/warren_97be/images/41_image.webp", + "/media/warren_97be/images/42_image.webp", + "/media/warren_97be/images/43_image.webp", + "/media/warren_97be/images/44_image.webp", + "/media/warren_97be/images/45_image.webp", + "/media/warren_97be/images/46_image.webp", + "/media/warren_97be/images/47_image.webp", + "/media/warren_97be/images/48_image.webp", + "/media/warren_97be/images/49_image.webp", + "/media/warren_97be/images/50_image.webp", + "/media/warren_97be/images/51_image.webp" + ], + "created_at": "2026-01-29T00:48:38.879855-07:00", + "dir_name": "warren_97be" +} \ No newline at end of file diff --git a/ideas/aeres/agents/wayna_29d6.json b/ideas/aeres/agents/wayna_29d6.json new file mode 100644 index 0000000..13bb4cf --- /dev/null +++ b/ideas/aeres/agents/wayna_29d6.json @@ -0,0 +1,71 @@ +{ + "id": "wayna_29d6", + "name": "Wayna Moreno", + "handle": "wayna", + "gender": "male", + "description": "scrawny, nerd, boy next door aesthetic, kind, sweet, short hair, clean shaven, 22 years old, lives in the midwest, likes to play video games and make youtube videos", + "tags": [ + "soft_boy", + "botanical illustration", + "vintage film cameras", + "vinyl record collecting", + "environmental activism", + "baking sourdough", + "stargazing", + "retro video games" + ], + "avatar_url": "/media/wayna_29d6/avatar.webp?t=1769122611", + "banner_url": "/media/wayna_29d6/banner.webp?t=1769124726", + "videos": [ + "/media/wayna_29d6/videos/01_smile_reveal.mp4?t=1769155952" + ], + "images": [ + "/media/wayna_29d6/images/02_image.webp", + "/media/wayna_29d6/images/03_image.webp", + "/media/wayna_29d6/images/04_image.webp", + "/media/wayna_29d6/images/06_image.webp", + "/media/wayna_29d6/images/07_image.webp", + "/media/wayna_29d6/images/09_image.webp", + "/media/wayna_29d6/images/10_image.webp", + "/media/wayna_29d6/images/11_image.webp", + "/media/wayna_29d6/images/12_image.webp", + "/media/wayna_29d6/images/13_image.webp", + "/media/wayna_29d6/images/14_image.webp", + "/media/wayna_29d6/images/15_image.webp", + "/media/wayna_29d6/images/16_image.webp", + "/media/wayna_29d6/images/17_image.webp", + "/media/wayna_29d6/images/18_image.webp", + "/media/wayna_29d6/images/19_image.webp", + "/media/wayna_29d6/images/20_image.webp", + "/media/wayna_29d6/images/21_image.webp", + "/media/wayna_29d6/images/22_image.webp", + "/media/wayna_29d6/images/23_image.webp", + "/media/wayna_29d6/images/24_image.webp", + "/media/wayna_29d6/images/25_image.webp", + "/media/wayna_29d6/images/26_image.webp", + "/media/wayna_29d6/images/27_image.webp", + "/media/wayna_29d6/images/28_image.webp", + "/media/wayna_29d6/images/29_image.webp", + "/media/wayna_29d6/images/30_image.webp", + "/media/wayna_29d6/images/31_image.webp", + "/media/wayna_29d6/images/32_image.webp", + "/media/wayna_29d6/images/33_image.webp", + "/media/wayna_29d6/images/34_image.webp", + "/media/wayna_29d6/images/35_image.webp", + "/media/wayna_29d6/images/36_image.webp", + "/media/wayna_29d6/images/37_image.webp", + "/media/wayna_29d6/images/38_image.webp", + "/media/wayna_29d6/images/39_image.webp", + "/media/wayna_29d6/images/40_image.webp", + "/media/wayna_29d6/images/41_image.webp", + "/media/wayna_29d6/images/42_image.webp", + "/media/wayna_29d6/images/43_image.webp", + "/media/wayna_29d6/images/44_image.webp", + "/media/wayna_29d6/images/45_image.webp", + "/media/wayna_29d6/images/46_image.webp", + "/media/wayna_29d6/images/47_image.webp", + "/media/wayna_29d6/images/49_image.webp" + ], + "created_at": "2026-01-22T15:55:38.925897-07:00", + "dir_name": "wayna_29d6" +} \ No newline at end of file diff --git a/ideas/aeres/agents/whitney_e735.json b/ideas/aeres/agents/whitney_e735.json new file mode 100644 index 0000000..2990d80 --- /dev/null +++ b/ideas/aeres/agents/whitney_e735.json @@ -0,0 +1,77 @@ +{ + "id": "whitney_e735", + "name": "Whitney Park", + "handle": "whitney", + "gender": "female", + "description": "asian korean woman, 30 years old, pretty face, farmers market in Seoul, has a small vegetable garden, loves nature, petite", + "tags": [ + "korean_ulzzang", + "urban gardening", + "botanical illustration", + "traditional korean tea ceremonies", + "sustainability", + "film photography", + "architectural history", + "indie folk music" + ], + "avatar_url": "/media/whitney_e735/avatar.webp?t=1769587788", + "banner_url": "/media/whitney_e735/banner.webp?t=1769588342", + "videos": [ + "/media/whitney_e735/videos/01_smile_reveal.mp4?t=1769587819" + ], + "images": [ + "/media/whitney_e735/images/01_mid_mid_neutral.webp", + "/media/whitney_e735/images/02_image.webp", + "/media/whitney_e735/images/03_image.webp", + "/media/whitney_e735/images/04_image.webp", + "/media/whitney_e735/images/05_image.webp", + "/media/whitney_e735/images/06_image.webp", + "/media/whitney_e735/images/07_image.webp", + "/media/whitney_e735/images/08_image.webp", + "/media/whitney_e735/images/09_image.webp", + "/media/whitney_e735/images/10_image.webp", + "/media/whitney_e735/images/11_image.webp", + "/media/whitney_e735/images/12_image.webp", + "/media/whitney_e735/images/13_image.webp", + "/media/whitney_e735/images/14_image.webp", + "/media/whitney_e735/images/15_image.webp", + "/media/whitney_e735/images/16_image.webp", + "/media/whitney_e735/images/17_image.webp", + "/media/whitney_e735/images/18_image.webp", + "/media/whitney_e735/images/19_image.webp", + "/media/whitney_e735/images/20_image.webp", + "/media/whitney_e735/images/21_image.webp", + "/media/whitney_e735/images/22_image.webp", + "/media/whitney_e735/images/23_image.webp", + "/media/whitney_e735/images/24_image.webp", + "/media/whitney_e735/images/25_image.webp", + "/media/whitney_e735/images/26_image.webp", + "/media/whitney_e735/images/27_image.webp", + "/media/whitney_e735/images/28_image.webp", + "/media/whitney_e735/images/29_image.webp", + "/media/whitney_e735/images/30_image.webp", + "/media/whitney_e735/images/31_image.webp", + "/media/whitney_e735/images/32_image.webp", + "/media/whitney_e735/images/33_image.webp", + "/media/whitney_e735/images/34_image.webp", + "/media/whitney_e735/images/35_image.webp", + "/media/whitney_e735/images/36_image.webp", + "/media/whitney_e735/images/37_image.webp", + "/media/whitney_e735/images/38_image.webp", + "/media/whitney_e735/images/39_image.webp", + "/media/whitney_e735/images/40_image.webp", + "/media/whitney_e735/images/41_image.webp", + "/media/whitney_e735/images/42_image.webp", + "/media/whitney_e735/images/43_image.webp", + "/media/whitney_e735/images/44_image.webp", + "/media/whitney_e735/images/45_image.webp", + "/media/whitney_e735/images/46_image.webp", + "/media/whitney_e735/images/47_image.webp", + "/media/whitney_e735/images/48_image.webp", + "/media/whitney_e735/images/49_image.webp", + "/media/whitney_e735/images/50_image.webp", + "/media/whitney_e735/images/51_image.webp" + ], + "created_at": "2026-01-28T01:08:29.965075-07:00", + "dir_name": "whitney_e735" +} \ No newline at end of file diff --git a/ideas/aeres/agents/wilbur_97cb.json b/ideas/aeres/agents/wilbur_97cb.json new file mode 100644 index 0000000..e650207 --- /dev/null +++ b/ideas/aeres/agents/wilbur_97cb.json @@ -0,0 +1,76 @@ +{ + "id": "wilbur_97cb", + "name": "Wilbur Gutierrez", + "handle": "wilbur", + "gender": "male", + "description": "male from Switzerland who is a carpenter", + "tags": [ + "the lifestyle", + "traditional woodcarving", + "sustainable forestry", + "alpine hiking", + "espresso brewing", + "acoustic folk music", + "antique tool restoration" + ], + "avatar_url": "/media/wilbur_97cb/avatar.webp?t=1769777435", + "banner_url": "/media/wilbur_97cb/banner.webp?t=1769777440", + "videos": [ + "/media/wilbur_97cb/videos/01_smile_reveal.mp4?t=1769777471" + ], + "images": [ + "/media/wilbur_97cb/images/01_mid_mid_neutral.webp", + "/media/wilbur_97cb/images/02_image.webp", + "/media/wilbur_97cb/images/03_image.webp", + "/media/wilbur_97cb/images/04_image.webp", + "/media/wilbur_97cb/images/05_image.webp", + "/media/wilbur_97cb/images/06_image.webp", + "/media/wilbur_97cb/images/07_image.webp", + "/media/wilbur_97cb/images/08_image.webp", + "/media/wilbur_97cb/images/09_image.webp", + "/media/wilbur_97cb/images/10_image.webp", + "/media/wilbur_97cb/images/11_image.webp", + "/media/wilbur_97cb/images/12_image.webp", + "/media/wilbur_97cb/images/13_image.webp", + "/media/wilbur_97cb/images/14_image.webp", + "/media/wilbur_97cb/images/15_image.webp", + "/media/wilbur_97cb/images/16_image.webp", + "/media/wilbur_97cb/images/17_image.webp", + "/media/wilbur_97cb/images/18_image.webp", + "/media/wilbur_97cb/images/19_image.webp", + "/media/wilbur_97cb/images/20_image.webp", + "/media/wilbur_97cb/images/21_image.webp", + "/media/wilbur_97cb/images/22_image.webp", + "/media/wilbur_97cb/images/23_image.webp", + "/media/wilbur_97cb/images/24_image.webp", + "/media/wilbur_97cb/images/25_image.webp", + "/media/wilbur_97cb/images/26_image.webp", + "/media/wilbur_97cb/images/27_image.webp", + "/media/wilbur_97cb/images/28_image.webp", + "/media/wilbur_97cb/images/29_image.webp", + "/media/wilbur_97cb/images/30_image.webp", + "/media/wilbur_97cb/images/31_image.webp", + "/media/wilbur_97cb/images/32_image.webp", + "/media/wilbur_97cb/images/33_image.webp", + "/media/wilbur_97cb/images/34_image.webp", + "/media/wilbur_97cb/images/35_image.webp", + "/media/wilbur_97cb/images/36_image.webp", + "/media/wilbur_97cb/images/37_image.webp", + "/media/wilbur_97cb/images/38_image.webp", + "/media/wilbur_97cb/images/39_image.webp", + "/media/wilbur_97cb/images/40_image.webp", + "/media/wilbur_97cb/images/41_image.webp", + "/media/wilbur_97cb/images/42_image.webp", + "/media/wilbur_97cb/images/43_image.webp", + "/media/wilbur_97cb/images/44_image.webp", + "/media/wilbur_97cb/images/45_image.webp", + "/media/wilbur_97cb/images/46_image.webp", + "/media/wilbur_97cb/images/47_image.webp", + "/media/wilbur_97cb/images/48_image.webp", + "/media/wilbur_97cb/images/49_image.webp", + "/media/wilbur_97cb/images/50_image.webp", + "/media/wilbur_97cb/images/51_image.webp" + ], + "created_at": "2026-01-30T05:49:09.530483-07:00", + "dir_name": "wilbur_97cb" +} \ No newline at end of file diff --git a/ideas/aeres/agents/william_9dbe.json b/ideas/aeres/agents/william_9dbe.json new file mode 100644 index 0000000..ee47e80 --- /dev/null +++ b/ideas/aeres/agents/william_9dbe.json @@ -0,0 +1,77 @@ +{ + "id": "william_9dbe", + "name": "William Schmidt", + "handle": "william", + "gender": "male", + "description": "Dexter Morgan from Dexter", + "tags": [ + "sigma_male", + "sailing", + "analog photography", + "competitive chess", + "human psychology", + "vinyl records", + "modern architecture", + "cooking with precision" + ], + "avatar_url": "/media/william_9dbe/avatar.webp?t=1769695307", + "banner_url": "/media/william_9dbe/banner.webp?t=1769695310", + "videos": [ + "/media/william_9dbe/videos/01_smile_reveal.mp4?t=1769695342" + ], + "images": [ + "/media/william_9dbe/images/01_mid_mid_neutral.webp", + "/media/william_9dbe/images/02_image.webp", + "/media/william_9dbe/images/03_image.webp", + "/media/william_9dbe/images/04_image.webp", + "/media/william_9dbe/images/05_image.webp", + "/media/william_9dbe/images/06_image.webp", + "/media/william_9dbe/images/07_image.webp", + "/media/william_9dbe/images/08_image.webp", + "/media/william_9dbe/images/09_image.webp", + "/media/william_9dbe/images/10_image.webp", + "/media/william_9dbe/images/11_image.webp", + "/media/william_9dbe/images/12_image.webp", + "/media/william_9dbe/images/13_image.webp", + "/media/william_9dbe/images/14_image.webp", + "/media/william_9dbe/images/15_image.webp", + "/media/william_9dbe/images/16_image.webp", + "/media/william_9dbe/images/17_image.webp", + "/media/william_9dbe/images/18_image.webp", + "/media/william_9dbe/images/19_image.webp", + "/media/william_9dbe/images/20_image.webp", + "/media/william_9dbe/images/21_image.webp", + "/media/william_9dbe/images/22_image.webp", + "/media/william_9dbe/images/23_image.webp", + "/media/william_9dbe/images/24_image.webp", + "/media/william_9dbe/images/25_image.webp", + "/media/william_9dbe/images/26_image.webp", + "/media/william_9dbe/images/27_image.webp", + "/media/william_9dbe/images/28_image.webp", + "/media/william_9dbe/images/29_image.webp", + "/media/william_9dbe/images/30_image.webp", + "/media/william_9dbe/images/31_image.webp", + "/media/william_9dbe/images/32_image.webp", + "/media/william_9dbe/images/33_image.webp", + "/media/william_9dbe/images/34_image.webp", + "/media/william_9dbe/images/35_image.webp", + "/media/william_9dbe/images/36_image.webp", + "/media/william_9dbe/images/37_image.webp", + "/media/william_9dbe/images/38_image.webp", + "/media/william_9dbe/images/39_image.webp", + "/media/william_9dbe/images/40_image.webp", + "/media/william_9dbe/images/41_image.webp", + "/media/william_9dbe/images/42_image.webp", + "/media/william_9dbe/images/43_image.webp", + "/media/william_9dbe/images/44_image.webp", + "/media/william_9dbe/images/45_image.webp", + "/media/william_9dbe/images/46_image.webp", + "/media/william_9dbe/images/47_image.webp", + "/media/william_9dbe/images/48_image.webp", + "/media/william_9dbe/images/49_image.webp", + "/media/william_9dbe/images/50_image.webp", + "/media/william_9dbe/images/51_image.webp" + ], + "created_at": "2026-01-29T07:00:31.765412-07:00", + "dir_name": "william_9dbe" +} \ No newline at end of file diff --git a/ideas/aeres/agents/willie_5800.json b/ideas/aeres/agents/willie_5800.json new file mode 100644 index 0000000..0f6b82b --- /dev/null +++ b/ideas/aeres/agents/willie_5800.json @@ -0,0 +1,77 @@ +{ + "id": "willie_5800", + "name": "Willie Ramirez", + "handle": "willie", + "gender": "male", + "description": "Alaskan man, fisherman, rough, works at sea, Deadliest Catch vibe, outdoorsman, beard, weathered,", + "tags": [ + "adventurous", + "deep-sea fishing", + "marine conservation", + "coastal cooking", + "boating", + "classic rock", + "restoring old engines", + "spearfishing" + ], + "avatar_url": "/media/willie_5800/avatar.webp?t=1769584331", + "banner_url": "/media/willie_5800/banner.webp?t=1769584335", + "videos": [ + "/media/willie_5800/videos/01_smile_reveal.mp4?t=1769551653" + ], + "images": [ + "/media/willie_5800/images/01_mid_mid_neutral.webp", + "/media/willie_5800/images/02_image.webp", + "/media/willie_5800/images/03_image.webp", + "/media/willie_5800/images/04_image.webp", + "/media/willie_5800/images/05_image.webp", + "/media/willie_5800/images/06_image.webp", + "/media/willie_5800/images/07_image.webp", + "/media/willie_5800/images/08_image.webp", + "/media/willie_5800/images/09_image.webp", + "/media/willie_5800/images/10_image.webp", + "/media/willie_5800/images/11_image.webp", + "/media/willie_5800/images/12_image.webp", + "/media/willie_5800/images/13_image.webp", + "/media/willie_5800/images/14_image.webp", + "/media/willie_5800/images/15_image.webp", + "/media/willie_5800/images/16_image.webp", + "/media/willie_5800/images/17_image.webp", + "/media/willie_5800/images/18_image.webp", + "/media/willie_5800/images/19_image.webp", + "/media/willie_5800/images/20_image.webp", + "/media/willie_5800/images/21_image.webp", + "/media/willie_5800/images/22_image.webp", + "/media/willie_5800/images/23_image.webp", + "/media/willie_5800/images/24_image.webp", + "/media/willie_5800/images/25_image.webp", + "/media/willie_5800/images/26_image.webp", + "/media/willie_5800/images/27_image.webp", + "/media/willie_5800/images/28_image.webp", + "/media/willie_5800/images/29_image.webp", + "/media/willie_5800/images/30_image.webp", + "/media/willie_5800/images/31_image.webp", + "/media/willie_5800/images/32_image.webp", + "/media/willie_5800/images/33_image.webp", + "/media/willie_5800/images/34_image.webp", + "/media/willie_5800/images/35_image.webp", + "/media/willie_5800/images/36_image.webp", + "/media/willie_5800/images/37_image.webp", + "/media/willie_5800/images/38_image.webp", + "/media/willie_5800/images/39_image.webp", + "/media/willie_5800/images/40_image.webp", + "/media/willie_5800/images/41_image.webp", + "/media/willie_5800/images/42_image.webp", + "/media/willie_5800/images/43_image.webp", + "/media/willie_5800/images/44_image.webp", + "/media/willie_5800/images/45_image.webp", + "/media/willie_5800/images/46_image.webp", + "/media/willie_5800/images/47_image.webp", + "/media/willie_5800/images/48_image.webp", + "/media/willie_5800/images/49_image.webp", + "/media/willie_5800/images/50_image.webp", + "/media/willie_5800/images/51_image.webp" + ], + "created_at": "2026-01-27T15:05:17.176641-07:00", + "dir_name": "willie_5800" +} \ No newline at end of file diff --git a/ideas/aeres/agents/willie_d671.json b/ideas/aeres/agents/willie_d671.json new file mode 100644 index 0000000..eafadbe --- /dev/null +++ b/ideas/aeres/agents/willie_d671.json @@ -0,0 +1,76 @@ +{ + "id": "willie_d671", + "name": "Willie Sanchez", + "handle": "willie", + "gender": "male", + "description": "republican dad who drives a truck", + "tags": [ + "the lifestyle", + "woodworking", + "offshore fishing", + "restoring classic trucks", + "cuban cooking", + "baseball", + "local history", + "grilling" + ], + "avatar_url": "/media/willie_d671/avatar.webp?t=1769583983", + "banner_url": "/media/willie_d671/banner.webp?t=1769583990", + "videos": [ + "/media/willie_d671/videos/01_smile_reveal.mp4?t=1769557267" + ], + "images": [ + "/media/willie_d671/images/01_mid_mid_neutral.webp", + "/media/willie_d671/images/02_image.webp", + "/media/willie_d671/images/03_image.webp", + "/media/willie_d671/images/04_image.webp", + "/media/willie_d671/images/05_image.webp", + "/media/willie_d671/images/06_image.webp", + "/media/willie_d671/images/07_image.webp", + "/media/willie_d671/images/08_image.webp", + "/media/willie_d671/images/09_image.webp", + "/media/willie_d671/images/10_image.webp", + "/media/willie_d671/images/11_image.webp", + "/media/willie_d671/images/12_image.webp", + "/media/willie_d671/images/13_image.webp", + "/media/willie_d671/images/14_image.webp", + "/media/willie_d671/images/15_image.webp", + "/media/willie_d671/images/16_image.webp", + "/media/willie_d671/images/17_image.webp", + "/media/willie_d671/images/18_image.webp", + "/media/willie_d671/images/19_image.webp", + "/media/willie_d671/images/20_image.webp", + "/media/willie_d671/images/21_image.webp", + "/media/willie_d671/images/22_image.webp", + "/media/willie_d671/images/23_image.webp", + "/media/willie_d671/images/24_image.webp", + "/media/willie_d671/images/25_image.webp", + "/media/willie_d671/images/26_image.webp", + "/media/willie_d671/images/27_image.webp", + "/media/willie_d671/images/28_image.webp", + "/media/willie_d671/images/29_image.webp", + "/media/willie_d671/images/30_image.webp", + "/media/willie_d671/images/31_image.webp", + "/media/willie_d671/images/32_image.webp", + "/media/willie_d671/images/33_image.webp", + "/media/willie_d671/images/34_image.webp", + "/media/willie_d671/images/35_image.webp", + "/media/willie_d671/images/36_image.webp", + "/media/willie_d671/images/37_image.webp", + "/media/willie_d671/images/38_image.webp", + "/media/willie_d671/images/39_image.webp", + "/media/willie_d671/images/40_image.webp", + "/media/willie_d671/images/41_image.webp", + "/media/willie_d671/images/42_image.webp", + "/media/willie_d671/images/43_image.webp", + "/media/willie_d671/images/44_image.webp", + "/media/willie_d671/images/45_image.webp", + "/media/willie_d671/images/46_image.webp", + "/media/willie_d671/images/47_image.webp", + "/media/willie_d671/images/49_image.webp", + "/media/willie_d671/images/50_image.webp", + "/media/willie_d671/images/51_image.webp" + ], + "created_at": "2026-01-27T16:38:56.735151-07:00", + "dir_name": "willie_d671" +} \ No newline at end of file diff --git a/ideas/aeres/agents/wilma_b21d.json b/ideas/aeres/agents/wilma_b21d.json new file mode 100644 index 0000000..cd5418e --- /dev/null +++ b/ideas/aeres/agents/wilma_b21d.json @@ -0,0 +1,76 @@ +{ + "id": "wilma_b21d", + "name": "Wilma Gustafsson", + "handle": "wilma", + "gender": "female", + "description": "emo white woman who loves hanging out in forest", + "tags": [ + "emo_revival", + "analog photography", + "collecting vinyl", + "ethical foraging", + "old-growth forest conservation", + "baking sourdough", + "yoga", + "astrophotography" + ], + "avatar_url": "/media/wilma_b21d/avatar.webp?t=1769424073", + "banner_url": "/media/wilma_b21d/banner.webp?t=1769424072", + "videos": [ + "/media/wilma_b21d/videos/01_smile_reveal.mp4?t=1769424118" + ], + "images": [ + "/media/wilma_b21d/images/01_mid_mid_neutral.webp", + "/media/wilma_b21d/images/02_image.webp", + "/media/wilma_b21d/images/03_image.webp", + "/media/wilma_b21d/images/04_image.webp", + "/media/wilma_b21d/images/05_image.webp", + "/media/wilma_b21d/images/06_image.webp", + "/media/wilma_b21d/images/07_image.webp", + "/media/wilma_b21d/images/08_image.webp", + "/media/wilma_b21d/images/09_image.webp", + "/media/wilma_b21d/images/10_image.webp", + "/media/wilma_b21d/images/11_image.webp", + "/media/wilma_b21d/images/12_image.webp", + "/media/wilma_b21d/images/13_image.webp", + "/media/wilma_b21d/images/14_image.webp", + "/media/wilma_b21d/images/15_image.webp", + "/media/wilma_b21d/images/16_image.webp", + "/media/wilma_b21d/images/18_image.webp", + "/media/wilma_b21d/images/19_image.webp", + "/media/wilma_b21d/images/20_image.webp", + "/media/wilma_b21d/images/21_image.webp", + "/media/wilma_b21d/images/22_image.webp", + "/media/wilma_b21d/images/23_image.webp", + "/media/wilma_b21d/images/24_image.webp", + "/media/wilma_b21d/images/25_image.webp", + "/media/wilma_b21d/images/26_image.webp", + "/media/wilma_b21d/images/27_image.webp", + "/media/wilma_b21d/images/28_image.webp", + "/media/wilma_b21d/images/29_image.webp", + "/media/wilma_b21d/images/30_image.webp", + "/media/wilma_b21d/images/31_image.webp", + "/media/wilma_b21d/images/32_image.webp", + "/media/wilma_b21d/images/33_image.webp", + "/media/wilma_b21d/images/34_image.webp", + "/media/wilma_b21d/images/35_image.webp", + "/media/wilma_b21d/images/36_image.webp", + "/media/wilma_b21d/images/37_image.webp", + "/media/wilma_b21d/images/38_image.webp", + "/media/wilma_b21d/images/39_image.webp", + "/media/wilma_b21d/images/40_image.webp", + "/media/wilma_b21d/images/41_image.webp", + "/media/wilma_b21d/images/42_image.webp", + "/media/wilma_b21d/images/43_image.webp", + "/media/wilma_b21d/images/44_image.webp", + "/media/wilma_b21d/images/45_image.webp", + "/media/wilma_b21d/images/46_image.webp", + "/media/wilma_b21d/images/47_image.webp", + "/media/wilma_b21d/images/48_image.webp", + "/media/wilma_b21d/images/49_image.webp", + "/media/wilma_b21d/images/50_image.webp", + "/media/wilma_b21d/images/51_image.webp" + ], + "created_at": "2026-01-26T03:40:00.283467-07:00", + "dir_name": "wilma_b21d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/wilson_8776.json b/ideas/aeres/agents/wilson_8776.json new file mode 100644 index 0000000..a6c70b3 --- /dev/null +++ b/ideas/aeres/agents/wilson_8776.json @@ -0,0 +1,76 @@ +{ + "id": "wilson_8776", + "name": "Wilson Jansen", + "handle": "wilson", + "gender": "male", + "description": "Jon Snow, fictional character, should look identical to the character jon snow from the tv series A Game of Thrones, photos in the realm of the tv show,", + "tags": [ + "mysterious_stranger", + "blacksmithing", + "archery", + "medieval history", + "cold-water swimming", + "dark roast coffee", + "historical fiction", + "restoring old tools" + ], + "avatar_url": "/media/wilson_8776/avatar.webp?t=1770114794", + "banner_url": "/media/wilson_8776/banner.webp?t=1770114798", + "videos": [ + "/media/wilson_8776/videos/01_smile_reveal.mp4?t=1770114835" + ], + "images": [ + "/media/wilson_8776/images/02_image.webp", + "/media/wilson_8776/images/03_image.webp", + "/media/wilson_8776/images/04_image.webp", + "/media/wilson_8776/images/05_image.webp", + "/media/wilson_8776/images/06_image.webp", + "/media/wilson_8776/images/07_image.webp", + "/media/wilson_8776/images/08_image.webp", + "/media/wilson_8776/images/09_image.webp", + "/media/wilson_8776/images/10_image.webp", + "/media/wilson_8776/images/11_image.webp", + "/media/wilson_8776/images/12_image.webp", + "/media/wilson_8776/images/13_image.webp", + "/media/wilson_8776/images/14_image.webp", + "/media/wilson_8776/images/15_image.webp", + "/media/wilson_8776/images/16_image.webp", + "/media/wilson_8776/images/17_image.webp", + "/media/wilson_8776/images/18_image.webp", + "/media/wilson_8776/images/19_image.webp", + "/media/wilson_8776/images/20_image.webp", + "/media/wilson_8776/images/21_image.webp", + "/media/wilson_8776/images/22_image.webp", + "/media/wilson_8776/images/23_image.webp", + "/media/wilson_8776/images/24_image.webp", + "/media/wilson_8776/images/25_image.webp", + "/media/wilson_8776/images/26_image.webp", + "/media/wilson_8776/images/27_image.webp", + "/media/wilson_8776/images/28_image.webp", + "/media/wilson_8776/images/29_image.webp", + "/media/wilson_8776/images/30_image.webp", + "/media/wilson_8776/images/31_image.webp", + "/media/wilson_8776/images/32_image.webp", + "/media/wilson_8776/images/33_image.webp", + "/media/wilson_8776/images/34_image.webp", + "/media/wilson_8776/images/35_image.webp", + "/media/wilson_8776/images/36_image.webp", + "/media/wilson_8776/images/37_image.webp", + "/media/wilson_8776/images/38_image.webp", + "/media/wilson_8776/images/39_image.webp", + "/media/wilson_8776/images/40_image.webp", + "/media/wilson_8776/images/41_image.webp", + "/media/wilson_8776/images/42_image.webp", + "/media/wilson_8776/images/43_image.webp", + "/media/wilson_8776/images/44_image.webp", + "/media/wilson_8776/images/45_image.webp", + "/media/wilson_8776/images/46_image.webp", + "/media/wilson_8776/images/47_image.webp", + "/media/wilson_8776/images/48_image.webp", + "/media/wilson_8776/images/49_image.webp", + "/media/wilson_8776/images/50_image.webp", + "/media/wilson_8776/images/51_image.webp" + ], + "created_at": "2026-02-03T03:32:04.960784-07:00", + "dir_name": "wilson_8776" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xiangyan_bece.json b/ideas/aeres/agents/xiangyan_bece.json new file mode 100644 index 0000000..80966b5 --- /dev/null +++ b/ideas/aeres/agents/xiangyan_bece.json @@ -0,0 +1,54 @@ +{ + "id": "xiangyan_bece", + "name": "Xiangyan Chen", + "handle": "xiangyan", + "gender": "female", + "description": "Asian, mid 20's, folklore, snakes, toads, mushrooms, shiny trinkets, chaos, chunky sweather, fantasy, knitting, darkly beautiful, playful, artist, D\u0026D, Lord of the rings vibe, eyeshadow,", + "tags": [ + "witch_aesthetic", + "mycology", + "amphibian conservation", + "experimental knitting", + "dark folklore", + "retro gaming", + "analog photography", + "tea blending" + ], + "avatar_url": "/media/xiangyan_bece/avatar.webp?t=1769109935", + "banner_url": "/media/xiangyan_bece/banner.webp?t=1769109936", + "images": [ + "/media/xiangyan_bece/images/01_mid_mid_neutral.webp", + "/media/xiangyan_bece/images/02_image.webp", + "/media/xiangyan_bece/images/03_image.webp", + "/media/xiangyan_bece/images/04_image.webp", + "/media/xiangyan_bece/images/05_image.webp", + "/media/xiangyan_bece/images/06_image.webp", + "/media/xiangyan_bece/images/07_image.webp", + "/media/xiangyan_bece/images/08_image.webp", + "/media/xiangyan_bece/images/09_image.webp", + "/media/xiangyan_bece/images/10_image.webp", + "/media/xiangyan_bece/images/11_image.webp", + "/media/xiangyan_bece/images/12_image.webp", + "/media/xiangyan_bece/images/13_image.webp", + "/media/xiangyan_bece/images/14_image.webp", + "/media/xiangyan_bece/images/15_image.webp", + "/media/xiangyan_bece/images/16_image.webp", + "/media/xiangyan_bece/images/17_image.webp", + "/media/xiangyan_bece/images/18_image.webp", + "/media/xiangyan_bece/images/19_image.webp", + "/media/xiangyan_bece/images/20_image.webp", + "/media/xiangyan_bece/images/21_image.webp", + "/media/xiangyan_bece/images/22_image.webp", + "/media/xiangyan_bece/images/23_image.webp", + "/media/xiangyan_bece/images/24_image.webp", + "/media/xiangyan_bece/images/25_image.webp", + "/media/xiangyan_bece/images/26_image.webp", + "/media/xiangyan_bece/images/27_image.webp", + "/media/xiangyan_bece/images/28_image.webp", + "/media/xiangyan_bece/images/29_image.webp", + "/media/xiangyan_bece/images/30_image.webp", + "/media/xiangyan_bece/images/31_image.webp" + ], + "created_at": "2026-01-22T12:24:29.793762-07:00", + "dir_name": "xiangyan_bece" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xianjun_f9ef.json b/ideas/aeres/agents/xianjun_f9ef.json new file mode 100644 index 0000000..9fb8388 --- /dev/null +++ b/ideas/aeres/agents/xianjun_f9ef.json @@ -0,0 +1,77 @@ +{ + "id": "xianjun_f9ef", + "name": "Xianjun Zhang", + "handle": "xianjun", + "gender": "male", + "description": "hong kong business man, 30 years old, sexy tall, always wears suits, has a very large tattoo covering his whole back, has a business reselling vintage cars, pretty face, well fit", + "tags": [ + "sigma_male", + "watch collecting (vintage patek philippe)", + "muay thai", + "algorithmic trading", + "modern architecture", + "photography", + "single malt whiskey", + "yachting" + ], + "avatar_url": "/media/xianjun_f9ef/avatar.webp?t=1769671743", + "banner_url": "/media/xianjun_f9ef/banner.webp?t=1769671754", + "videos": [ + "/media/xianjun_f9ef/videos/01_smile_reveal.mp4?t=1769671783" + ], + "images": [ + "/media/xianjun_f9ef/images/01_mid_mid_neutral.webp", + "/media/xianjun_f9ef/images/02_image.webp", + "/media/xianjun_f9ef/images/03_image.webp", + "/media/xianjun_f9ef/images/04_image.webp", + "/media/xianjun_f9ef/images/05_image.webp", + "/media/xianjun_f9ef/images/06_image.webp", + "/media/xianjun_f9ef/images/07_image.webp", + "/media/xianjun_f9ef/images/08_image.webp", + "/media/xianjun_f9ef/images/09_image.webp", + "/media/xianjun_f9ef/images/10_image.webp", + "/media/xianjun_f9ef/images/11_image.webp", + "/media/xianjun_f9ef/images/12_image.webp", + "/media/xianjun_f9ef/images/13_image.webp", + "/media/xianjun_f9ef/images/14_image.webp", + "/media/xianjun_f9ef/images/15_image.webp", + "/media/xianjun_f9ef/images/16_image.webp", + "/media/xianjun_f9ef/images/17_image.webp", + "/media/xianjun_f9ef/images/18_image.webp", + "/media/xianjun_f9ef/images/19_image.webp", + "/media/xianjun_f9ef/images/20_image.webp", + "/media/xianjun_f9ef/images/21_image.webp", + "/media/xianjun_f9ef/images/22_image.webp", + "/media/xianjun_f9ef/images/23_image.webp", + "/media/xianjun_f9ef/images/24_image.webp", + "/media/xianjun_f9ef/images/25_image.webp", + "/media/xianjun_f9ef/images/26_image.webp", + "/media/xianjun_f9ef/images/27_image.webp", + "/media/xianjun_f9ef/images/28_image.webp", + "/media/xianjun_f9ef/images/29_image.webp", + "/media/xianjun_f9ef/images/30_image.webp", + "/media/xianjun_f9ef/images/31_image.webp", + "/media/xianjun_f9ef/images/32_image.webp", + "/media/xianjun_f9ef/images/33_image.webp", + "/media/xianjun_f9ef/images/34_image.webp", + "/media/xianjun_f9ef/images/35_image.webp", + "/media/xianjun_f9ef/images/36_image.webp", + "/media/xianjun_f9ef/images/37_image.webp", + "/media/xianjun_f9ef/images/38_image.webp", + "/media/xianjun_f9ef/images/39_image.webp", + "/media/xianjun_f9ef/images/40_image.webp", + "/media/xianjun_f9ef/images/41_image.webp", + "/media/xianjun_f9ef/images/42_image.webp", + "/media/xianjun_f9ef/images/43_image.webp", + "/media/xianjun_f9ef/images/44_image.webp", + "/media/xianjun_f9ef/images/45_image.webp", + "/media/xianjun_f9ef/images/46_image.webp", + "/media/xianjun_f9ef/images/47_image.webp", + "/media/xianjun_f9ef/images/48_image.webp", + "/media/xianjun_f9ef/images/49_image.webp", + "/media/xianjun_f9ef/images/50_image.webp", + "/media/xianjun_f9ef/images/51_image.webp" + ], + "created_at": "2026-01-29T00:27:45.723996-07:00", + "dir_name": "xianjun_f9ef" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xiaofeng_9dab.json b/ideas/aeres/agents/xiaofeng_9dab.json new file mode 100644 index 0000000..8060a76 --- /dev/null +++ b/ideas/aeres/agents/xiaofeng_9dab.json @@ -0,0 +1,76 @@ +{ + "id": "xiaofeng_9dab", + "name": "Xiaofeng Chen", + "handle": "xiaofeng", + "gender": "female", + "description": "asian woman who is a CEO and loves playing bowling", + "tags": [ + "boss_babe", + "competitive bowling", + "market analysis", + "high-performance driving", + "craft ipas", + "sci-fi literature", + "urban photography" + ], + "avatar_url": "/media/xiaofeng_9dab/avatar.webp?t=1769429924", + "banner_url": "/media/xiaofeng_9dab/banner.webp?t=1769429917", + "videos": [ + "/media/xiaofeng_9dab/videos/01_smile_reveal.mp4?t=1769430001" + ], + "images": [ + "/media/xiaofeng_9dab/images/01_mid_mid_neutral.webp", + "/media/xiaofeng_9dab/images/02_image.webp", + "/media/xiaofeng_9dab/images/03_image.webp", + "/media/xiaofeng_9dab/images/04_image.webp", + "/media/xiaofeng_9dab/images/05_image.webp", + "/media/xiaofeng_9dab/images/06_image.webp", + "/media/xiaofeng_9dab/images/07_image.webp", + "/media/xiaofeng_9dab/images/08_image.webp", + "/media/xiaofeng_9dab/images/09_image.webp", + "/media/xiaofeng_9dab/images/10_image.webp", + "/media/xiaofeng_9dab/images/11_image.webp", + "/media/xiaofeng_9dab/images/12_image.webp", + "/media/xiaofeng_9dab/images/13_image.webp", + "/media/xiaofeng_9dab/images/14_image.webp", + "/media/xiaofeng_9dab/images/15_image.webp", + "/media/xiaofeng_9dab/images/16_image.webp", + "/media/xiaofeng_9dab/images/17_image.webp", + "/media/xiaofeng_9dab/images/18_image.webp", + "/media/xiaofeng_9dab/images/19_image.webp", + "/media/xiaofeng_9dab/images/20_image.webp", + "/media/xiaofeng_9dab/images/21_image.webp", + "/media/xiaofeng_9dab/images/22_image.webp", + "/media/xiaofeng_9dab/images/23_image.webp", + "/media/xiaofeng_9dab/images/24_image.webp", + "/media/xiaofeng_9dab/images/25_image.webp", + "/media/xiaofeng_9dab/images/26_image.webp", + "/media/xiaofeng_9dab/images/27_image.webp", + "/media/xiaofeng_9dab/images/28_image.webp", + "/media/xiaofeng_9dab/images/29_image.webp", + "/media/xiaofeng_9dab/images/30_image.webp", + "/media/xiaofeng_9dab/images/31_image.webp", + "/media/xiaofeng_9dab/images/32_image.webp", + "/media/xiaofeng_9dab/images/33_image.webp", + "/media/xiaofeng_9dab/images/34_image.webp", + "/media/xiaofeng_9dab/images/35_image.webp", + "/media/xiaofeng_9dab/images/36_image.webp", + "/media/xiaofeng_9dab/images/37_image.webp", + "/media/xiaofeng_9dab/images/38_image.webp", + "/media/xiaofeng_9dab/images/39_image.webp", + "/media/xiaofeng_9dab/images/40_image.webp", + "/media/xiaofeng_9dab/images/41_image.webp", + "/media/xiaofeng_9dab/images/42_image.webp", + "/media/xiaofeng_9dab/images/43_image.webp", + "/media/xiaofeng_9dab/images/44_image.webp", + "/media/xiaofeng_9dab/images/45_image.webp", + "/media/xiaofeng_9dab/images/46_image.webp", + "/media/xiaofeng_9dab/images/47_image.webp", + "/media/xiaofeng_9dab/images/48_image.webp", + "/media/xiaofeng_9dab/images/49_image.webp", + "/media/xiaofeng_9dab/images/50_image.webp", + "/media/xiaofeng_9dab/images/51_image.webp" + ], + "created_at": "2026-01-26T05:17:20.92858-07:00", + "dir_name": "xiaofeng_9dab" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xiaolan_019a.json b/ideas/aeres/agents/xiaolan_019a.json new file mode 100644 index 0000000..cdc6a38 --- /dev/null +++ b/ideas/aeres/agents/xiaolan_019a.json @@ -0,0 +1,81 @@ +{ + "id": "xiaolan_019a", + "name": "Xiaolan Zhu", + "handle": "xiaolan", + "gender": "female", + "description": "plus size, bathing suit model, beautiful, soft, attractive, brunette,", + "tags": [ + "thicc_queen", + "ocean swimming", + "portrait photography", + "culinary arts", + "interior design", + "hiking", + "podcasts", + "wine tasting" + ], + "avatar_url": "/media/xiaolan_019a/avatar.webp?t=1769584109", + "banner_url": "/media/xiaolan_019a/banner.webp?t=1769585431", + "videos": [ + "/media/xiaolan_019a/videos/01_smile_reveal.mp4?t=1769554111" + ], + "images": [ + "/media/xiaolan_019a/images/01_mid_mid_neutral.webp", + "/media/xiaolan_019a/images/02_image.webp", + "/media/xiaolan_019a/images/03_image.webp", + "/media/xiaolan_019a/images/04_image.webp", + "/media/xiaolan_019a/images/05_image.webp", + "/media/xiaolan_019a/images/06_image.webp", + "/media/xiaolan_019a/images/08_image.webp", + "/media/xiaolan_019a/images/09_image.webp", + "/media/xiaolan_019a/images/10_image.webp", + "/media/xiaolan_019a/images/11_image.webp", + "/media/xiaolan_019a/images/12_image.webp", + "/media/xiaolan_019a/images/13_image.webp", + "/media/xiaolan_019a/images/14_image.webp", + "/media/xiaolan_019a/images/15_image.webp", + "/media/xiaolan_019a/images/16_image.webp", + "/media/xiaolan_019a/images/17_image.webp", + "/media/xiaolan_019a/images/18_image.webp", + "/media/xiaolan_019a/images/19_image.webp", + "/media/xiaolan_019a/images/20_image.webp", + "/media/xiaolan_019a/images/21_image.webp", + "/media/xiaolan_019a/images/22_image.webp", + "/media/xiaolan_019a/images/23_image.webp", + "/media/xiaolan_019a/images/24_image.webp", + "/media/xiaolan_019a/images/25_image.webp", + "/media/xiaolan_019a/images/26_image.webp", + "/media/xiaolan_019a/images/27_image.webp", + "/media/xiaolan_019a/images/28_image.webp", + "/media/xiaolan_019a/images/29_image.webp", + "/media/xiaolan_019a/images/30_image.webp", + "/media/xiaolan_019a/images/32_image.webp", + "/media/xiaolan_019a/images/33_image.webp", + "/media/xiaolan_019a/images/34_image.webp", + "/media/xiaolan_019a/images/35_image.webp", + "/media/xiaolan_019a/images/36_image.webp", + "/media/xiaolan_019a/images/37_image.webp", + "/media/xiaolan_019a/images/38_image.webp", + "/media/xiaolan_019a/images/39_image.webp", + "/media/xiaolan_019a/images/40_image.webp", + "/media/xiaolan_019a/images/41_image.webp", + "/media/xiaolan_019a/images/43_image.webp", + "/media/xiaolan_019a/images/44_image.webp", + "/media/xiaolan_019a/images/45_image.webp", + "/media/xiaolan_019a/images/46_image.webp", + "/media/xiaolan_019a/images/47_image.webp", + "/media/xiaolan_019a/images/49_image.webp", + "/media/xiaolan_019a/images/50_image.webp", + "/media/xiaolan_019a/images/51_image.webp", + "/media/xiaolan_019a/images/53_image.webp", + "/media/xiaolan_019a/images/54_image.webp", + "/media/xiaolan_019a/images/55_image.webp", + "/media/xiaolan_019a/images/56_image.webp", + "/media/xiaolan_019a/images/57_image.webp", + "/media/xiaolan_019a/images/58_image.webp", + "/media/xiaolan_019a/images/59_image.webp", + "/media/xiaolan_019a/images/60_image.webp" + ], + "created_at": "2026-01-27T15:46:30.647493-07:00", + "dir_name": "xiaolan_019a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xiaoxue_793a.json b/ideas/aeres/agents/xiaoxue_793a.json new file mode 100644 index 0000000..aacab6c --- /dev/null +++ b/ideas/aeres/agents/xiaoxue_793a.json @@ -0,0 +1,76 @@ +{ + "id": "xiaoxue_793a", + "name": "Xiaoxue Ma", + "handle": "xiaoxue", + "gender": "female", + "description": "Daphne Blake from Scooby Doo", + "tags": [ + "cosplayer", + "vintage fashion", + "mystery novels", + "textile art", + "immersive theater", + "hiking in marin", + "analog photography", + "mixology" + ], + "avatar_url": "/media/xiaoxue_793a/avatar.webp?t=1769594057", + "banner_url": "/media/xiaoxue_793a/banner.webp?t=1769594053", + "videos": [ + "/media/xiaoxue_793a/videos/01_smile_reveal.mp4?t=1769594134" + ], + "images": [ + "/media/xiaoxue_793a/images/01_mid_mid_neutral.webp", + "/media/xiaoxue_793a/images/02_image.webp", + "/media/xiaoxue_793a/images/03_image.webp", + "/media/xiaoxue_793a/images/04_image.webp", + "/media/xiaoxue_793a/images/05_image.webp", + "/media/xiaoxue_793a/images/06_image.webp", + "/media/xiaoxue_793a/images/07_image.webp", + "/media/xiaoxue_793a/images/08_image.webp", + "/media/xiaoxue_793a/images/09_image.webp", + "/media/xiaoxue_793a/images/10_image.webp", + "/media/xiaoxue_793a/images/11_image.webp", + "/media/xiaoxue_793a/images/12_image.webp", + "/media/xiaoxue_793a/images/13_image.webp", + "/media/xiaoxue_793a/images/14_image.webp", + "/media/xiaoxue_793a/images/15_image.webp", + "/media/xiaoxue_793a/images/16_image.webp", + "/media/xiaoxue_793a/images/17_image.webp", + "/media/xiaoxue_793a/images/18_image.webp", + "/media/xiaoxue_793a/images/19_image.webp", + "/media/xiaoxue_793a/images/20_image.webp", + "/media/xiaoxue_793a/images/22_image.webp", + "/media/xiaoxue_793a/images/23_image.webp", + "/media/xiaoxue_793a/images/24_image.webp", + "/media/xiaoxue_793a/images/25_image.webp", + "/media/xiaoxue_793a/images/26_image.webp", + "/media/xiaoxue_793a/images/27_image.webp", + "/media/xiaoxue_793a/images/28_image.webp", + "/media/xiaoxue_793a/images/29_image.webp", + "/media/xiaoxue_793a/images/30_image.webp", + "/media/xiaoxue_793a/images/31_image.webp", + "/media/xiaoxue_793a/images/32_image.webp", + "/media/xiaoxue_793a/images/33_image.webp", + "/media/xiaoxue_793a/images/34_image.webp", + "/media/xiaoxue_793a/images/35_image.webp", + "/media/xiaoxue_793a/images/36_image.webp", + "/media/xiaoxue_793a/images/37_image.webp", + "/media/xiaoxue_793a/images/38_image.webp", + "/media/xiaoxue_793a/images/39_image.webp", + "/media/xiaoxue_793a/images/40_image.webp", + "/media/xiaoxue_793a/images/41_image.webp", + "/media/xiaoxue_793a/images/42_image.webp", + "/media/xiaoxue_793a/images/43_image.webp", + "/media/xiaoxue_793a/images/44_image.webp", + "/media/xiaoxue_793a/images/45_image.webp", + "/media/xiaoxue_793a/images/46_image.webp", + "/media/xiaoxue_793a/images/47_image.webp", + "/media/xiaoxue_793a/images/48_image.webp", + "/media/xiaoxue_793a/images/49_image.webp", + "/media/xiaoxue_793a/images/50_image.webp", + "/media/xiaoxue_793a/images/51_image.webp" + ], + "created_at": "2026-01-28T02:52:43.632321-07:00", + "dir_name": "xiaoxue_793a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xin_237e.json b/ideas/aeres/agents/xin_237e.json new file mode 100644 index 0000000..16b62ec --- /dev/null +++ b/ideas/aeres/agents/xin_237e.json @@ -0,0 +1,76 @@ +{ + "id": "xin_237e", + "name": "Xin Wang", + "handle": "xin", + "gender": "female", + "description": "chinese woman who works as a taxi driver", + "tags": [ + "lifestyle", + "urban photography", + "automotive engineering", + "culinary history", + "audiobooks", + "city planning documentaries", + "bonsai cultivation" + ], + "avatar_url": "/media/xin_237e/avatar.webp?t=1769437470", + "banner_url": "/media/xin_237e/banner.webp?t=1769437461", + "videos": [ + "/media/xin_237e/videos/01_smile_reveal.mp4?t=1769437533" + ], + "images": [ + "/media/xin_237e/images/01_mid_mid_neutral.webp", + "/media/xin_237e/images/02_image.webp", + "/media/xin_237e/images/03_image.webp", + "/media/xin_237e/images/04_image.webp", + "/media/xin_237e/images/05_image.webp", + "/media/xin_237e/images/06_image.webp", + "/media/xin_237e/images/07_image.webp", + "/media/xin_237e/images/08_image.webp", + "/media/xin_237e/images/09_image.webp", + "/media/xin_237e/images/10_image.webp", + "/media/xin_237e/images/11_image.webp", + "/media/xin_237e/images/12_image.webp", + "/media/xin_237e/images/13_image.webp", + "/media/xin_237e/images/14_image.webp", + "/media/xin_237e/images/15_image.webp", + "/media/xin_237e/images/16_image.webp", + "/media/xin_237e/images/17_image.webp", + "/media/xin_237e/images/18_image.webp", + "/media/xin_237e/images/19_image.webp", + "/media/xin_237e/images/20_image.webp", + "/media/xin_237e/images/21_image.webp", + "/media/xin_237e/images/22_image.webp", + "/media/xin_237e/images/23_image.webp", + "/media/xin_237e/images/24_image.webp", + "/media/xin_237e/images/25_image.webp", + "/media/xin_237e/images/26_image.webp", + "/media/xin_237e/images/27_image.webp", + "/media/xin_237e/images/28_image.webp", + "/media/xin_237e/images/29_image.webp", + "/media/xin_237e/images/30_image.webp", + "/media/xin_237e/images/31_image.webp", + "/media/xin_237e/images/32_image.webp", + "/media/xin_237e/images/33_image.webp", + "/media/xin_237e/images/34_image.webp", + "/media/xin_237e/images/35_image.webp", + "/media/xin_237e/images/36_image.webp", + "/media/xin_237e/images/37_image.webp", + "/media/xin_237e/images/38_image.webp", + "/media/xin_237e/images/39_image.webp", + "/media/xin_237e/images/40_image.webp", + "/media/xin_237e/images/41_image.webp", + "/media/xin_237e/images/42_image.webp", + "/media/xin_237e/images/43_image.webp", + "/media/xin_237e/images/44_image.webp", + "/media/xin_237e/images/45_image.webp", + "/media/xin_237e/images/46_image.webp", + "/media/xin_237e/images/47_image.webp", + "/media/xin_237e/images/48_image.webp", + "/media/xin_237e/images/49_image.webp", + "/media/xin_237e/images/50_image.webp", + "/media/xin_237e/images/51_image.webp" + ], + "created_at": "2026-01-26T07:23:14.798686-07:00", + "dir_name": "xin_237e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xochitl_8e5e.json b/ideas/aeres/agents/xochitl_8e5e.json new file mode 100644 index 0000000..6c2b1ca --- /dev/null +++ b/ideas/aeres/agents/xochitl_8e5e.json @@ -0,0 +1,77 @@ +{ + "id": "xochitl_8e5e", + "name": "Xochitl Gomez", + "handle": "xochitl", + "gender": "female", + "description": "rainbow colored hair female who does ice skating", + "tags": [ + "the athletic one", + "figure skating", + "modern dance", + "color theory", + "urban hiking", + "baking sourdough", + "vintage fashion", + "photography" + ], + "avatar_url": "/media/xochitl_8e5e/avatar.webp?t=1769693634", + "banner_url": "/media/xochitl_8e5e/banner.webp?t=1769693640", + "videos": [ + "/media/xochitl_8e5e/videos/01_smile_reveal.mp4?t=1769693664" + ], + "images": [ + "/media/xochitl_8e5e/images/01_mid_mid_neutral.webp", + "/media/xochitl_8e5e/images/02_image.webp", + "/media/xochitl_8e5e/images/03_image.webp", + "/media/xochitl_8e5e/images/04_image.webp", + "/media/xochitl_8e5e/images/05_image.webp", + "/media/xochitl_8e5e/images/06_image.webp", + "/media/xochitl_8e5e/images/07_image.webp", + "/media/xochitl_8e5e/images/08_image.webp", + "/media/xochitl_8e5e/images/09_image.webp", + "/media/xochitl_8e5e/images/10_image.webp", + "/media/xochitl_8e5e/images/11_image.webp", + "/media/xochitl_8e5e/images/12_image.webp", + "/media/xochitl_8e5e/images/13_image.webp", + "/media/xochitl_8e5e/images/14_image.webp", + "/media/xochitl_8e5e/images/15_image.webp", + "/media/xochitl_8e5e/images/16_image.webp", + "/media/xochitl_8e5e/images/17_image.webp", + "/media/xochitl_8e5e/images/18_image.webp", + "/media/xochitl_8e5e/images/19_image.webp", + "/media/xochitl_8e5e/images/20_image.webp", + "/media/xochitl_8e5e/images/21_image.webp", + "/media/xochitl_8e5e/images/22_image.webp", + "/media/xochitl_8e5e/images/23_image.webp", + "/media/xochitl_8e5e/images/24_image.webp", + "/media/xochitl_8e5e/images/25_image.webp", + "/media/xochitl_8e5e/images/26_image.webp", + "/media/xochitl_8e5e/images/27_image.webp", + "/media/xochitl_8e5e/images/28_image.webp", + "/media/xochitl_8e5e/images/29_image.webp", + "/media/xochitl_8e5e/images/30_image.webp", + "/media/xochitl_8e5e/images/31_image.webp", + "/media/xochitl_8e5e/images/32_image.webp", + "/media/xochitl_8e5e/images/33_image.webp", + "/media/xochitl_8e5e/images/34_image.webp", + "/media/xochitl_8e5e/images/35_image.webp", + "/media/xochitl_8e5e/images/36_image.webp", + "/media/xochitl_8e5e/images/37_image.webp", + "/media/xochitl_8e5e/images/37_image.webp", + "/media/xochitl_8e5e/images/38_image.webp", + "/media/xochitl_8e5e/images/38_image.webp", + "/media/xochitl_8e5e/images/39_image.webp", + "/media/xochitl_8e5e/images/39_image.webp", + "/media/xochitl_8e5e/images/40_image.webp", + "/media/xochitl_8e5e/images/40_image.webp", + "/media/xochitl_8e5e/images/41_image.webp", + "/media/xochitl_8e5e/images/41_image.webp", + "/media/xochitl_8e5e/images/42_image.webp", + "/media/xochitl_8e5e/images/43_image.webp", + "/media/xochitl_8e5e/images/44_image.webp", + "/media/xochitl_8e5e/images/45_image.webp", + "/media/xochitl_8e5e/images/46_image.webp" + ], + "created_at": "2026-01-29T06:32:16.702121-07:00", + "dir_name": "xochitl_8e5e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/xueying_5917.json b/ideas/aeres/agents/xueying_5917.json new file mode 100644 index 0000000..2fdadd3 --- /dev/null +++ b/ideas/aeres/agents/xueying_5917.json @@ -0,0 +1,75 @@ +{ + "id": "xueying_5917", + "name": "Xueying Yang", + "handle": "xueying", + "gender": "female", + "description": "asian american scientist woman, long dark hair, chemistry engineer, loves animals, works at a top secret project, very smart and super pretty, slim and fit, east white asian, lab coat, age 20+", + "tags": [ + "intellectual", + "molecular kinetics", + "animal rescue", + "sustainable tech", + "powerlifting", + "photography", + "loose-leaf tea", + "classical music" + ], + "avatar_url": "/media/xueying_5917/avatar.webp?t=1769420835", + "banner_url": "/media/xueying_5917/banner.webp?t=1769420828", + "videos": [ + "/media/xueying_5917/videos/01_smile_reveal.mp4?t=1769420857" + ], + "images": [ + "/media/xueying_5917/images/01_mid_mid_neutral.webp", + "/media/xueying_5917/images/02_image.webp", + "/media/xueying_5917/images/03_image.webp", + "/media/xueying_5917/images/15_image.webp", + "/media/xueying_5917/images/22_image.webp", + "/media/xueying_5917/images/23_image.webp", + "/media/xueying_5917/images/24_image.webp", + "/media/xueying_5917/images/25_image.webp", + "/media/xueying_5917/images/27_image.webp", + "/media/xueying_5917/images/28_image.webp", + "/media/xueying_5917/images/29_image.webp", + "/media/xueying_5917/images/30_image.webp", + "/media/xueying_5917/images/31_image.webp", + "/media/xueying_5917/images/32_image.webp", + "/media/xueying_5917/images/33_image.webp", + "/media/xueying_5917/images/34_image.webp", + "/media/xueying_5917/images/35_image.webp", + "/media/xueying_5917/images/36_image.webp", + "/media/xueying_5917/images/37_image.webp", + "/media/xueying_5917/images/38_image.webp", + "/media/xueying_5917/images/39_image.webp", + "/media/xueying_5917/images/40_image.webp", + "/media/xueying_5917/images/41_image.webp", + "/media/xueying_5917/images/42_image.webp", + "/media/xueying_5917/images/43_image.webp", + "/media/xueying_5917/images/44_image.webp", + "/media/xueying_5917/images/45_image.webp", + "/media/xueying_5917/images/46_image.webp", + "/media/xueying_5917/images/47_image.webp", + "/media/xueying_5917/images/48_image.webp", + "/media/xueying_5917/images/49_image.webp", + "/media/xueying_5917/images/50_image.webp", + "/media/xueying_5917/images/51_image.webp", + "/media/xueying_5917/images/53_image.webp", + "/media/xueying_5917/images/54_image.webp", + "/media/xueying_5917/images/55_image.webp", + "/media/xueying_5917/images/56_image.webp", + "/media/xueying_5917/images/57_image.webp", + "/media/xueying_5917/images/58_image.webp", + "/media/xueying_5917/images/60_image.webp", + "/media/xueying_5917/images/61_image.webp", + "/media/xueying_5917/images/62_image.webp", + "/media/xueying_5917/images/64_image.webp", + "/media/xueying_5917/images/65_image.webp", + "/media/xueying_5917/images/66_image.webp", + "/media/xueying_5917/images/67_image.webp", + "/media/xueying_5917/images/68_image.webp", + "/media/xueying_5917/images/69_image.webp", + "/media/xueying_5917/images/70_image.webp" + ], + "created_at": "2026-01-26T02:45:52.462689-07:00", + "dir_name": "xueying_5917" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yanping_ffc2.json b/ideas/aeres/agents/yanping_ffc2.json new file mode 100644 index 0000000..fa3a0e3 --- /dev/null +++ b/ideas/aeres/agents/yanping_ffc2.json @@ -0,0 +1,77 @@ +{ + "id": "yanping_ffc2", + "name": "Yanping Sun", + "handle": "yanping", + "gender": "female", + "description": "a curvy woman", + "tags": [ + "thicc_queen", + "interior design", + "high-fashion photography", + "gastronomy", + "pilates", + "wine pairing", + "urban hiking", + "classical piano" + ], + "avatar_url": "/media/yanping_ffc2/avatar.webp?t=1769201971", + "banner_url": "/media/yanping_ffc2/banner.webp?t=1769201971", + "videos": [ + "/media/yanping_ffc2/videos/01_smile_reveal.mp4?t=1769202014" + ], + "images": [ + "/media/yanping_ffc2/images/01_mid_mid_neutral.webp", + "/media/yanping_ffc2/images/02_image.webp", + "/media/yanping_ffc2/images/03_image.webp", + "/media/yanping_ffc2/images/04_image.webp", + "/media/yanping_ffc2/images/05_image.webp", + "/media/yanping_ffc2/images/06_image.webp", + "/media/yanping_ffc2/images/07_image.webp", + "/media/yanping_ffc2/images/08_image.webp", + "/media/yanping_ffc2/images/09_image.webp", + "/media/yanping_ffc2/images/10_image.webp", + "/media/yanping_ffc2/images/11_image.webp", + "/media/yanping_ffc2/images/12_image.webp", + "/media/yanping_ffc2/images/13_image.webp", + "/media/yanping_ffc2/images/14_image.webp", + "/media/yanping_ffc2/images/15_image.webp", + "/media/yanping_ffc2/images/16_image.webp", + "/media/yanping_ffc2/images/17_image.webp", + "/media/yanping_ffc2/images/18_image.webp", + "/media/yanping_ffc2/images/19_image.webp", + "/media/yanping_ffc2/images/20_image.webp", + "/media/yanping_ffc2/images/21_image.webp", + "/media/yanping_ffc2/images/22_image.webp", + "/media/yanping_ffc2/images/23_image.webp", + "/media/yanping_ffc2/images/24_image.webp", + "/media/yanping_ffc2/images/25_image.webp", + "/media/yanping_ffc2/images/26_image.webp", + "/media/yanping_ffc2/images/27_image.webp", + "/media/yanping_ffc2/images/28_image.webp", + "/media/yanping_ffc2/images/29_image.webp", + "/media/yanping_ffc2/images/30_image.webp", + "/media/yanping_ffc2/images/31_image.webp", + "/media/yanping_ffc2/images/32_image.webp", + "/media/yanping_ffc2/images/33_image.webp", + "/media/yanping_ffc2/images/34_image.webp", + "/media/yanping_ffc2/images/35_image.webp", + "/media/yanping_ffc2/images/36_image.webp", + "/media/yanping_ffc2/images/37_image.webp", + "/media/yanping_ffc2/images/38_image.webp", + "/media/yanping_ffc2/images/39_image.webp", + "/media/yanping_ffc2/images/40_image.webp", + "/media/yanping_ffc2/images/41_image.webp", + "/media/yanping_ffc2/images/42_image.webp", + "/media/yanping_ffc2/images/43_image.webp", + "/media/yanping_ffc2/images/44_image.webp", + "/media/yanping_ffc2/images/45_image.webp", + "/media/yanping_ffc2/images/46_image.webp", + "/media/yanping_ffc2/images/47_image.webp", + "/media/yanping_ffc2/images/48_image.webp", + "/media/yanping_ffc2/images/49_image.webp", + "/media/yanping_ffc2/images/50_image.webp", + "/media/yanping_ffc2/images/51_image.webp" + ], + "created_at": "2026-01-23T13:58:21.904966-07:00", + "dir_name": "yanping_ffc2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yanru_1990.json b/ideas/aeres/agents/yanru_1990.json new file mode 100644 index 0000000..5b82572 --- /dev/null +++ b/ideas/aeres/agents/yanru_1990.json @@ -0,0 +1,77 @@ +{ + "id": "yanru_1990", + "name": "Yanru Zhang", + "handle": "yanru", + "gender": "female", + "description": "Venus goddess, mythological beauty, incredible beauty , perfect beauty, really attractive", + "tags": [ + "angel_aesthetic", + "classical sculpture", + "renaissance painting", + "harp playing", + "ethical fashion", + "floral arrangement", + "gourmet tea tasting", + "astrophotography" + ], + "avatar_url": "/media/yanru_1990/avatar.webp?t=1770195320", + "banner_url": "/media/yanru_1990/banner.webp?t=1770195322", + "videos": [ + "/media/yanru_1990/videos/01_smile_reveal.mp4?t=1770195354" + ], + "images": [ + "/media/yanru_1990/images/01_mid_mid_neutral.webp", + "/media/yanru_1990/images/02_image.webp", + "/media/yanru_1990/images/03_image.webp", + "/media/yanru_1990/images/04_image.webp", + "/media/yanru_1990/images/05_image.webp", + "/media/yanru_1990/images/06_image.webp", + "/media/yanru_1990/images/07_image.webp", + "/media/yanru_1990/images/08_image.webp", + "/media/yanru_1990/images/09_image.webp", + "/media/yanru_1990/images/10_image.webp", + "/media/yanru_1990/images/11_image.webp", + "/media/yanru_1990/images/12_image.webp", + "/media/yanru_1990/images/13_image.webp", + "/media/yanru_1990/images/14_image.webp", + "/media/yanru_1990/images/15_image.webp", + "/media/yanru_1990/images/16_image.webp", + "/media/yanru_1990/images/17_image.webp", + "/media/yanru_1990/images/18_image.webp", + "/media/yanru_1990/images/19_image.webp", + "/media/yanru_1990/images/20_image.webp", + "/media/yanru_1990/images/21_image.webp", + "/media/yanru_1990/images/22_image.webp", + "/media/yanru_1990/images/23_image.webp", + "/media/yanru_1990/images/24_image.webp", + "/media/yanru_1990/images/25_image.webp", + "/media/yanru_1990/images/26_image.webp", + "/media/yanru_1990/images/27_image.webp", + "/media/yanru_1990/images/28_image.webp", + "/media/yanru_1990/images/29_image.webp", + "/media/yanru_1990/images/30_image.webp", + "/media/yanru_1990/images/31_image.webp", + "/media/yanru_1990/images/32_image.webp", + "/media/yanru_1990/images/33_image.webp", + "/media/yanru_1990/images/34_image.webp", + "/media/yanru_1990/images/35_image.webp", + "/media/yanru_1990/images/36_image.webp", + "/media/yanru_1990/images/37_image.webp", + "/media/yanru_1990/images/38_image.webp", + "/media/yanru_1990/images/39_image.webp", + "/media/yanru_1990/images/40_image.webp", + "/media/yanru_1990/images/41_image.webp", + "/media/yanru_1990/images/42_image.webp", + "/media/yanru_1990/images/43_image.webp", + "/media/yanru_1990/images/44_image.webp", + "/media/yanru_1990/images/45_image.webp", + "/media/yanru_1990/images/46_image.webp", + "/media/yanru_1990/images/47_image.webp", + "/media/yanru_1990/images/48_image.webp", + "/media/yanru_1990/images/49_image.webp", + "/media/yanru_1990/images/50_image.webp", + "/media/yanru_1990/images/51_image.webp" + ], + "created_at": "2026-02-04T01:54:02.422541-07:00", + "dir_name": "yanru_1990" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yara_ddea.json b/ideas/aeres/agents/yara_ddea.json new file mode 100644 index 0000000..3335851 --- /dev/null +++ b/ideas/aeres/agents/yara_ddea.json @@ -0,0 +1,72 @@ +{ + "id": "yara_ddea", + "name": "Yara Davis", + "handle": "yara", + "gender": "female", + "description": "cowboy girl, lives at a ranch in Texas, America named Texas Horn Ranch, has hundreds of cattle, loves horses and spends a lot of time with farm animals, tom boy girl, boyish, cowgirl, cowboy hat, tall blonde, toned defined body, age in her 20's, wears jeans clothes a lot, name of the ranch tattooed on her arm", + "tags": [ + "country_girl", + "barrel racing", + "natural horsemanship", + "leatherworking", + "country music", + "outdoor cooking", + "truck maintenance" + ], + "avatar_url": "/media/yara_ddea/avatar.webp?t=1770205150", + "banner_url": "/media/yara_ddea/banner.webp?t=1770205198", + "videos": [ + "/media/yara_ddea/videos/01_smile_reveal.mp4?t=1770205191" + ], + "images": [ + "/media/yara_ddea/images/01_mid_mid_neutral.webp", + "/media/yara_ddea/images/02_image.webp", + "/media/yara_ddea/images/03_image.webp", + "/media/yara_ddea/images/04_image.webp", + "/media/yara_ddea/images/05_image.webp", + "/media/yara_ddea/images/06_image.webp", + "/media/yara_ddea/images/07_image.webp", + "/media/yara_ddea/images/08_image.webp", + "/media/yara_ddea/images/12_image.webp", + "/media/yara_ddea/images/14_image.webp", + "/media/yara_ddea/images/15_image.webp", + "/media/yara_ddea/images/16_image.webp", + "/media/yara_ddea/images/09_full_low_gentle_smile.webp", + "/media/yara_ddea/images/17_image.webp", + "/media/yara_ddea/images/11_full_mid_mischievous.webp", + "/media/yara_ddea/images/13_mid_high_coy.webp", + "/media/yara_ddea/images/29_image.webp", + "/media/yara_ddea/images/30_image.webp", + "/media/yara_ddea/images/31_image.webp", + "/media/yara_ddea/images/32_image.webp", + "/media/yara_ddea/images/33_image.webp", + "/media/yara_ddea/images/34_image.webp", + "/media/yara_ddea/images/35_image.webp", + "/media/yara_ddea/images/36_image.webp", + "/media/yara_ddea/images/37_image.webp", + "/media/yara_ddea/images/38_image.webp", + "/media/yara_ddea/images/18_mid_high_neutral.webp", + "/media/yara_ddea/images/20_full_low_confident.webp", + "/media/yara_ddea/images/22_mid_mid_gentle_smile.webp", + "/media/yara_ddea/images/24_mid_low_confident.webp", + "/media/yara_ddea/images/39_image.webp", + "/media/yara_ddea/images/40_image.webp", + "/media/yara_ddea/images/41_image.webp", + "/media/yara_ddea/images/42_image.webp", + "/media/yara_ddea/images/43_image.webp", + "/media/yara_ddea/images/44_image.webp", + "/media/yara_ddea/images/45_image.webp", + "/media/yara_ddea/images/46_image.webp", + "/media/yara_ddea/images/47_image.webp", + "/media/yara_ddea/images/49_image.webp", + "/media/yara_ddea/images/50_image.webp", + "/media/yara_ddea/images/51_image.webp", + "/media/yara_ddea/images/53_image.webp", + "/media/yara_ddea/images/54_image.webp", + "/media/yara_ddea/images/55_image.webp", + "/media/yara_ddea/images/56_image.webp", + "/media/yara_ddea/images/57_image.webp" + ], + "created_at": "2026-02-04T04:38:02.960066-07:00", + "dir_name": "yara_ddea" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yaroslava_a014.json b/ideas/aeres/agents/yaroslava_a014.json new file mode 100644 index 0000000..026cbe1 --- /dev/null +++ b/ideas/aeres/agents/yaroslava_a014.json @@ -0,0 +1,75 @@ +{ + "id": "yaroslava_a014", + "name": "Yaroslava Kuznetsov", + "handle": "yaroslava", + "gender": "female", + "description": "russian female who works as a secretary", + "tags": [ + "career_fantasy", + "corporate strategy", + "fine wine", + "architectural photography", + "tennis", + "skiing", + "contemporary literature" + ], + "avatar_url": "/media/yaroslava_a014/avatar.webp?t=1770034371", + "banner_url": "/media/yaroslava_a014/banner.webp?t=1770034356", + "videos": [ + "/media/yaroslava_a014/videos/01_smile_reveal.mp4?t=1770033513" + ], + "images": [ + "/media/yaroslava_a014/images/01_mid_mid_neutral.webp", + "/media/yaroslava_a014/images/02_image.webp", + "/media/yaroslava_a014/images/03_image.webp", + "/media/yaroslava_a014/images/04_image.webp", + "/media/yaroslava_a014/images/06_image.webp", + "/media/yaroslava_a014/images/07_image.webp", + "/media/yaroslava_a014/images/08_image.webp", + "/media/yaroslava_a014/images/09_image.webp", + "/media/yaroslava_a014/images/10_image.webp", + "/media/yaroslava_a014/images/11_image.webp", + "/media/yaroslava_a014/images/12_image.webp", + "/media/yaroslava_a014/images/13_image.webp", + "/media/yaroslava_a014/images/14_image.webp", + "/media/yaroslava_a014/images/15_image.webp", + "/media/yaroslava_a014/images/16_image.webp", + "/media/yaroslava_a014/images/17_image.webp", + "/media/yaroslava_a014/images/18_image.webp", + "/media/yaroslava_a014/images/19_image.webp", + "/media/yaroslava_a014/images/20_image.webp", + "/media/yaroslava_a014/images/21_image.webp", + "/media/yaroslava_a014/images/22_image.webp", + "/media/yaroslava_a014/images/23_image.webp", + "/media/yaroslava_a014/images/24_image.webp", + "/media/yaroslava_a014/images/25_image.webp", + "/media/yaroslava_a014/images/26_image.webp", + "/media/yaroslava_a014/images/27_image.webp", + "/media/yaroslava_a014/images/28_image.webp", + "/media/yaroslava_a014/images/29_image.webp", + "/media/yaroslava_a014/images/30_image.webp", + "/media/yaroslava_a014/images/31_image.webp", + "/media/yaroslava_a014/images/32_image.webp", + "/media/yaroslava_a014/images/33_image.webp", + "/media/yaroslava_a014/images/34_image.webp", + "/media/yaroslava_a014/images/35_image.webp", + "/media/yaroslava_a014/images/36_image.webp", + "/media/yaroslava_a014/images/37_image.webp", + "/media/yaroslava_a014/images/38_image.webp", + "/media/yaroslava_a014/images/39_image.webp", + "/media/yaroslava_a014/images/40_image.webp", + "/media/yaroslava_a014/images/41_image.webp", + "/media/yaroslava_a014/images/42_image.webp", + "/media/yaroslava_a014/images/43_image.webp", + "/media/yaroslava_a014/images/44_image.webp", + "/media/yaroslava_a014/images/45_image.webp", + "/media/yaroslava_a014/images/46_image.webp", + "/media/yaroslava_a014/images/47_image.webp", + "/media/yaroslava_a014/images/48_image.webp", + "/media/yaroslava_a014/images/49_image.webp", + "/media/yaroslava_a014/images/50_image.webp", + "/media/yaroslava_a014/images/51_image.webp" + ], + "created_at": "2026-02-02T04:56:23.335083-07:00", + "dir_name": "yaroslava_a014" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yassir_f86d.json b/ideas/aeres/agents/yassir_f86d.json new file mode 100644 index 0000000..793bd9e --- /dev/null +++ b/ideas/aeres/agents/yassir_f86d.json @@ -0,0 +1,77 @@ +{ + "id": "yassir_f86d", + "name": "Yassir Visser", + "handle": "yassir", + "gender": "male", + "description": "human counterpart of Geralt of Rivia from the Witcher, very tall and muscular with defined muscles, white skin, pale blue and yellow eyes, white hair and eyebrows, serious personality, silent type, attractive male figures, 30+ years, lives in a castle, medieval scenery background", + "tags": [ + "mysterious_stranger", + "krav maga", + "philosophy", + "mountain climbing", + "blacksmithing", + "chess", + "restoring vintage motorcycles", + "cold-water diving" + ], + "avatar_url": "/media/yassir_f86d/avatar.webp?t=1769601261", + "banner_url": "/media/yassir_f86d/banner.webp?t=1769601342", + "videos": [ + "/media/yassir_f86d/videos/01_smile_reveal.mp4?t=1769601299" + ], + "images": [ + "/media/yassir_f86d/images/01_mid_mid_neutral.webp", + "/media/yassir_f86d/images/02_image.webp", + "/media/yassir_f86d/images/03_image.webp", + "/media/yassir_f86d/images/04_image.webp", + "/media/yassir_f86d/images/05_image.webp", + "/media/yassir_f86d/images/06_image.webp", + "/media/yassir_f86d/images/07_image.webp", + "/media/yassir_f86d/images/08_image.webp", + "/media/yassir_f86d/images/09_image.webp", + "/media/yassir_f86d/images/10_image.webp", + "/media/yassir_f86d/images/11_image.webp", + "/media/yassir_f86d/images/12_image.webp", + "/media/yassir_f86d/images/13_image.webp", + "/media/yassir_f86d/images/14_image.webp", + "/media/yassir_f86d/images/15_image.webp", + "/media/yassir_f86d/images/16_image.webp", + "/media/yassir_f86d/images/17_image.webp", + "/media/yassir_f86d/images/18_image.webp", + "/media/yassir_f86d/images/19_image.webp", + "/media/yassir_f86d/images/20_image.webp", + "/media/yassir_f86d/images/21_image.webp", + "/media/yassir_f86d/images/22_image.webp", + "/media/yassir_f86d/images/23_image.webp", + "/media/yassir_f86d/images/24_image.webp", + "/media/yassir_f86d/images/25_image.webp", + "/media/yassir_f86d/images/26_image.webp", + "/media/yassir_f86d/images/27_image.webp", + "/media/yassir_f86d/images/28_image.webp", + "/media/yassir_f86d/images/29_image.webp", + "/media/yassir_f86d/images/30_image.webp", + "/media/yassir_f86d/images/31_image.webp", + "/media/yassir_f86d/images/32_image.webp", + "/media/yassir_f86d/images/33_image.webp", + "/media/yassir_f86d/images/34_image.webp", + "/media/yassir_f86d/images/35_image.webp", + "/media/yassir_f86d/images/36_image.webp", + "/media/yassir_f86d/images/37_image.webp", + "/media/yassir_f86d/images/38_image.webp", + "/media/yassir_f86d/images/39_image.webp", + "/media/yassir_f86d/images/40_image.webp", + "/media/yassir_f86d/images/41_image.webp", + "/media/yassir_f86d/images/42_image.webp", + "/media/yassir_f86d/images/43_image.webp", + "/media/yassir_f86d/images/44_image.webp", + "/media/yassir_f86d/images/45_image.webp", + "/media/yassir_f86d/images/46_image.webp", + "/media/yassir_f86d/images/47_image.webp", + "/media/yassir_f86d/images/48_image.webp", + "/media/yassir_f86d/images/49_image.webp", + "/media/yassir_f86d/images/50_image.webp", + "/media/yassir_f86d/images/51_image.webp" + ], + "created_at": "2026-01-28T04:53:00.348002-07:00", + "dir_name": "yassir_f86d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yingjun_8829.json b/ideas/aeres/agents/yingjun_8829.json new file mode 100644 index 0000000..78d818b --- /dev/null +++ b/ideas/aeres/agents/yingjun_8829.json @@ -0,0 +1,81 @@ +{ + "id": "yingjun_8829", + "name": "Yingjun Gao", + "handle": "yingjun", + "gender": "female", + "description": "beautiful asian woman that works in a science field and enjoys hiking and long walks", + "tags": [ + "adventurous", + "alpine climbing", + "molecular gastronomy", + "native plant restoration", + "trail running", + "photography", + "architectural history", + "indie cinema" + ], + "avatar_url": "/media/yingjun_8829/avatar.webp?t=1768986801", + "banner_url": "/media/yingjun_8829/banner.webp?t=1768986803", + "videos": [ + "/media/yingjun_8829/videos/01_smile_reveal.mp4?t=1768986839" + ], + "images": [ + "/media/yingjun_8829/images/01_mid_mid_neutral.webp", + "/media/yingjun_8829/images/02_close_high_smiling.webp", + "/media/yingjun_8829/images/03_mid_mid_smiling.webp", + "/media/yingjun_8829/images/04_mid_low_neutral.webp", + "/media/yingjun_8829/images/05_full_mid_neutral.webp", + "/media/yingjun_8829/images/06_close_high_tongue_out.webp", + "/media/yingjun_8829/images/07_image.webp", + "/media/yingjun_8829/images/08_image.webp", + "/media/yingjun_8829/images/09_image.webp", + "/media/yingjun_8829/images/10_image.webp", + "/media/yingjun_8829/images/11_image.webp", + "/media/yingjun_8829/images/12_image.webp", + "/media/yingjun_8829/images/13_image.webp", + "/media/yingjun_8829/images/14_image.webp", + "/media/yingjun_8829/images/15_image.webp", + "/media/yingjun_8829/images/16_image.webp", + "/media/yingjun_8829/images/17_image.webp", + "/media/yingjun_8829/images/18_image.webp", + "/media/yingjun_8829/images/19_image.webp", + "/media/yingjun_8829/images/20_image.webp", + "/media/yingjun_8829/images/21_image.webp", + "/media/yingjun_8829/images/22_image.webp", + "/media/yingjun_8829/images/23_image.webp", + "/media/yingjun_8829/images/24_image.webp", + "/media/yingjun_8829/images/25_image.webp", + "/media/yingjun_8829/images/26_image.webp", + "/media/yingjun_8829/images/27_image.webp", + "/media/yingjun_8829/images/28_image.webp", + "/media/yingjun_8829/images/29_image.webp", + "/media/yingjun_8829/images/30_image.webp", + "/media/yingjun_8829/images/31_image.webp", + "/media/yingjun_8829/images/32_image.webp", + "/media/yingjun_8829/images/33_image.webp", + "/media/yingjun_8829/images/34_image.webp", + "/media/yingjun_8829/images/35_image.webp", + "/media/yingjun_8829/images/36_image.webp", + "/media/yingjun_8829/images/37_image.webp", + "/media/yingjun_8829/images/38_image.webp", + "/media/yingjun_8829/images/39_image.webp", + "/media/yingjun_8829/images/40_image.webp", + "/media/yingjun_8829/images/41_image.webp", + "/media/yingjun_8829/images/42_image.webp", + "/media/yingjun_8829/images/43_image.webp", + "/media/yingjun_8829/images/44_image.webp", + "/media/yingjun_8829/images/45_image.webp", + "/media/yingjun_8829/images/46_image.webp", + "/media/yingjun_8829/images/47_image.webp", + "/media/yingjun_8829/images/48_image.webp", + "/media/yingjun_8829/images/49_image.webp", + "/media/yingjun_8829/images/50_image.webp", + "/media/yingjun_8829/images/51_image.webp", + "/media/yingjun_8829/images/53_image.webp", + "/media/yingjun_8829/images/54_image.webp", + "/media/yingjun_8829/images/55_image.webp", + "/media/yingjun_8829/images/56_image.webp" + ], + "created_at": "2026-01-21T02:12:08.04994-07:00", + "dir_name": "yingjun_8829" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yingjun_9893.json b/ideas/aeres/agents/yingjun_9893.json new file mode 100644 index 0000000..a0b9150 --- /dev/null +++ b/ideas/aeres/agents/yingjun_9893.json @@ -0,0 +1,77 @@ +{ + "id": "yingjun_9893", + "name": "Yingjun He", + "handle": "yingjun", + "gender": "female", + "description": "swimming trainer, ex olympic athlete, woman 25 years old, asian american, short hair,well mantained pool, olympic size, all ages acces, location tampa bay , florida,very fit body, swimsuit and pool pictures", + "tags": [ + "athletic", + "olympic weightlifting", + "ocean conservation", + "biohacking", + "sports nutrition", + "coffee brewing", + "documentaries", + "urban hiking" + ], + "avatar_url": "/media/yingjun_9893/avatar.webp?t=1769686613", + "banner_url": "/media/yingjun_9893/banner.webp?t=1769686610", + "videos": [ + "/media/yingjun_9893/videos/01_smile_reveal.mp4?t=1769686650" + ], + "images": [ + "/media/yingjun_9893/images/01_mid_mid_neutral.webp", + "/media/yingjun_9893/images/02_image.webp", + "/media/yingjun_9893/images/03_image.webp", + "/media/yingjun_9893/images/04_image.webp", + "/media/yingjun_9893/images/05_image.webp", + "/media/yingjun_9893/images/06_image.webp", + "/media/yingjun_9893/images/07_image.webp", + "/media/yingjun_9893/images/08_image.webp", + "/media/yingjun_9893/images/09_image.webp", + "/media/yingjun_9893/images/10_image.webp", + "/media/yingjun_9893/images/11_image.webp", + "/media/yingjun_9893/images/12_image.webp", + "/media/yingjun_9893/images/13_image.webp", + "/media/yingjun_9893/images/14_image.webp", + "/media/yingjun_9893/images/15_image.webp", + "/media/yingjun_9893/images/16_image.webp", + "/media/yingjun_9893/images/17_image.webp", + "/media/yingjun_9893/images/18_image.webp", + "/media/yingjun_9893/images/19_image.webp", + "/media/yingjun_9893/images/20_image.webp", + "/media/yingjun_9893/images/21_image.webp", + "/media/yingjun_9893/images/22_image.webp", + "/media/yingjun_9893/images/23_image.webp", + "/media/yingjun_9893/images/24_image.webp", + "/media/yingjun_9893/images/25_image.webp", + "/media/yingjun_9893/images/26_image.webp", + "/media/yingjun_9893/images/27_image.webp", + "/media/yingjun_9893/images/28_image.webp", + "/media/yingjun_9893/images/29_image.webp", + "/media/yingjun_9893/images/30_image.webp", + "/media/yingjun_9893/images/31_image.webp", + "/media/yingjun_9893/images/32_image.webp", + "/media/yingjun_9893/images/33_image.webp", + "/media/yingjun_9893/images/34_image.webp", + "/media/yingjun_9893/images/35_image.webp", + "/media/yingjun_9893/images/36_image.webp", + "/media/yingjun_9893/images/37_image.webp", + "/media/yingjun_9893/images/38_image.webp", + "/media/yingjun_9893/images/39_image.webp", + "/media/yingjun_9893/images/40_image.webp", + "/media/yingjun_9893/images/41_image.webp", + "/media/yingjun_9893/images/42_image.webp", + "/media/yingjun_9893/images/43_image.webp", + "/media/yingjun_9893/images/44_image.webp", + "/media/yingjun_9893/images/45_image.webp", + "/media/yingjun_9893/images/46_image.webp", + "/media/yingjun_9893/images/47_image.webp", + "/media/yingjun_9893/images/48_image.webp", + "/media/yingjun_9893/images/49_image.webp", + "/media/yingjun_9893/images/50_image.webp", + "/media/yingjun_9893/images/51_image.webp" + ], + "created_at": "2026-01-29T04:35:32.471313-07:00", + "dir_name": "yingjun_9893" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yoko_82ca.json b/ideas/aeres/agents/yoko_82ca.json new file mode 100644 index 0000000..23eac4c --- /dev/null +++ b/ideas/aeres/agents/yoko_82ca.json @@ -0,0 +1,77 @@ +{ + "id": "yoko_82ca", + "name": "Yoko Yamaguchi", + "handle": "yoko", + "gender": "female", + "description": "japanese nerdy woman who works as a pilot", + "tags": [ + "career_fantasy", + "aviation history", + "data science", + "complex puzzles", + "chess", + "urban photography", + "modern architecture", + "jazz music" + ], + "avatar_url": "/media/yoko_82ca/avatar.webp?t=1769605066", + "banner_url": "/media/yoko_82ca/banner.webp?t=1769605060", + "videos": [ + "/media/yoko_82ca/videos/01_smile_reveal.mp4?t=1769605124" + ], + "images": [ + "/media/yoko_82ca/images/01_mid_mid_neutral.webp", + "/media/yoko_82ca/images/02_image.webp", + "/media/yoko_82ca/images/03_image.webp", + "/media/yoko_82ca/images/04_image.webp", + "/media/yoko_82ca/images/05_image.webp", + "/media/yoko_82ca/images/06_image.webp", + "/media/yoko_82ca/images/07_image.webp", + "/media/yoko_82ca/images/08_image.webp", + "/media/yoko_82ca/images/09_image.webp", + "/media/yoko_82ca/images/10_image.webp", + "/media/yoko_82ca/images/11_image.webp", + "/media/yoko_82ca/images/12_image.webp", + "/media/yoko_82ca/images/13_image.webp", + "/media/yoko_82ca/images/14_image.webp", + "/media/yoko_82ca/images/15_image.webp", + "/media/yoko_82ca/images/16_image.webp", + "/media/yoko_82ca/images/17_image.webp", + "/media/yoko_82ca/images/18_image.webp", + "/media/yoko_82ca/images/19_image.webp", + "/media/yoko_82ca/images/20_image.webp", + "/media/yoko_82ca/images/21_image.webp", + "/media/yoko_82ca/images/22_image.webp", + "/media/yoko_82ca/images/23_image.webp", + "/media/yoko_82ca/images/24_image.webp", + "/media/yoko_82ca/images/25_image.webp", + "/media/yoko_82ca/images/26_image.webp", + "/media/yoko_82ca/images/27_image.webp", + "/media/yoko_82ca/images/28_image.webp", + "/media/yoko_82ca/images/29_image.webp", + "/media/yoko_82ca/images/30_image.webp", + "/media/yoko_82ca/images/31_image.webp", + "/media/yoko_82ca/images/32_image.webp", + "/media/yoko_82ca/images/33_image.webp", + "/media/yoko_82ca/images/34_image.webp", + "/media/yoko_82ca/images/35_image.webp", + "/media/yoko_82ca/images/36_image.webp", + "/media/yoko_82ca/images/37_image.webp", + "/media/yoko_82ca/images/38_image.webp", + "/media/yoko_82ca/images/39_image.webp", + "/media/yoko_82ca/images/40_image.webp", + "/media/yoko_82ca/images/41_image.webp", + "/media/yoko_82ca/images/42_image.webp", + "/media/yoko_82ca/images/43_image.webp", + "/media/yoko_82ca/images/44_image.webp", + "/media/yoko_82ca/images/45_image.webp", + "/media/yoko_82ca/images/46_image.webp", + "/media/yoko_82ca/images/47_image.webp", + "/media/yoko_82ca/images/48_image.webp", + "/media/yoko_82ca/images/49_image.webp", + "/media/yoko_82ca/images/50_image.webp", + "/media/yoko_82ca/images/51_image.webp" + ], + "created_at": "2026-01-28T05:56:26.593915-07:00", + "dir_name": "yoko_82ca" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yolanda_79d2.json b/ideas/aeres/agents/yolanda_79d2.json new file mode 100644 index 0000000..9ffa451 --- /dev/null +++ b/ideas/aeres/agents/yolanda_79d2.json @@ -0,0 +1,76 @@ +{ + "id": "yolanda_79d2", + "name": "Yolanda Chavez", + "handle": "yolanda", + "gender": "female", + "description": "curvy latina who lives in spain and has short hair, glasses and tattoos and who likes to play soccer and is a real madrid fan", + "tags": [ + "latina_bombshell", + "women's soccer", + "contemporary body art", + "graphic design", + "strength training", + "spanish cinema", + "urban photography", + "craft beer tasting" + ], + "avatar_url": "/media/yolanda_79d2/avatar.webp?t=1768991846", + "banner_url": "/media/yolanda_79d2/banner.webp?t=1768993125", + "videos": [ + "/media/yolanda_79d2/videos/01_smile_reveal.mp4?t=1768991855" + ], + "images": [ + "/media/yolanda_79d2/images/01_mid_mid_neutral.webp", + "/media/yolanda_79d2/images/02_image.webp", + "/media/yolanda_79d2/images/03_image.webp", + "/media/yolanda_79d2/images/04_image.webp", + "/media/yolanda_79d2/images/05_image.webp", + "/media/yolanda_79d2/images/06_image.webp", + "/media/yolanda_79d2/images/08_image.webp", + "/media/yolanda_79d2/images/09_image.webp", + "/media/yolanda_79d2/images/11_image.webp", + "/media/yolanda_79d2/images/12_image.webp", + "/media/yolanda_79d2/images/13_image.webp", + "/media/yolanda_79d2/images/14_image.webp", + "/media/yolanda_79d2/images/16_image.webp", + "/media/yolanda_79d2/images/17_image.webp", + "/media/yolanda_79d2/images/18_image.webp", + "/media/yolanda_79d2/images/19_image.webp", + "/media/yolanda_79d2/images/20_image.webp", + "/media/yolanda_79d2/images/21_image.webp", + "/media/yolanda_79d2/images/22_image.webp", + "/media/yolanda_79d2/images/23_image.webp", + "/media/yolanda_79d2/images/24_image.webp", + "/media/yolanda_79d2/images/25_image.webp", + "/media/yolanda_79d2/images/26_image.webp", + "/media/yolanda_79d2/images/27_image.webp", + "/media/yolanda_79d2/images/28_image.webp", + "/media/yolanda_79d2/images/29_image.webp", + "/media/yolanda_79d2/images/30_image.webp", + "/media/yolanda_79d2/images/31_image.webp", + "/media/yolanda_79d2/images/32_image.webp", + "/media/yolanda_79d2/images/33_image.webp", + "/media/yolanda_79d2/images/34_image.webp", + "/media/yolanda_79d2/images/35_image.webp", + "/media/yolanda_79d2/images/36_image.webp", + "/media/yolanda_79d2/images/37_image.webp", + "/media/yolanda_79d2/images/38_image.webp", + "/media/yolanda_79d2/images/39_image.webp", + "/media/yolanda_79d2/images/40_image.webp", + "/media/yolanda_79d2/images/41_image.webp", + "/media/yolanda_79d2/images/42_image.webp", + "/media/yolanda_79d2/images/43_image.webp", + "/media/yolanda_79d2/images/44_image.webp", + "/media/yolanda_79d2/images/45_image.webp", + "/media/yolanda_79d2/images/46_image.webp", + "/media/yolanda_79d2/images/47_image.webp", + "/media/yolanda_79d2/images/48_image.webp", + "/media/yolanda_79d2/images/49_image.webp", + "/media/yolanda_79d2/images/50_image.webp", + "/media/yolanda_79d2/images/51_image.webp", + "/media/yolanda_79d2/images/55_image.webp", + "/media/yolanda_79d2/images/56_image.webp" + ], + "created_at": "2026-01-21T03:32:41.740942-07:00", + "dir_name": "yolanda_79d2" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yoshiaki_7f4d.json b/ideas/aeres/agents/yoshiaki_7f4d.json new file mode 100644 index 0000000..589b603 --- /dev/null +++ b/ideas/aeres/agents/yoshiaki_7f4d.json @@ -0,0 +1,76 @@ +{ + "id": "yoshiaki_7f4d", + "name": "Yoshiaki Sato", + "handle": "yoshiaki", + "gender": "male", + "description": "asian woman who works as a teacher in disney art style", + "tags": [ + "3d_render_style", + "3d modeling", + "baking", + "toy collecting", + "urban photography", + "gardening", + "jazz music", + "historical documentaries" + ], + "avatar_url": "/media/yoshiaki_7f4d/avatar.webp?t=1769612396", + "banner_url": "/media/yoshiaki_7f4d/banner.webp?t=1769612393", + "videos": [ + "/media/yoshiaki_7f4d/videos/01_smile_reveal.mp4?t=1769612450" + ], + "images": [ + "/media/yoshiaki_7f4d/images/01_mid_mid_neutral.webp", + "/media/yoshiaki_7f4d/images/02_image.webp", + "/media/yoshiaki_7f4d/images/03_image.webp", + "/media/yoshiaki_7f4d/images/04_image.webp", + "/media/yoshiaki_7f4d/images/05_image.webp", + "/media/yoshiaki_7f4d/images/06_image.webp", + "/media/yoshiaki_7f4d/images/07_image.webp", + "/media/yoshiaki_7f4d/images/08_image.webp", + "/media/yoshiaki_7f4d/images/09_image.webp", + "/media/yoshiaki_7f4d/images/10_image.webp", + "/media/yoshiaki_7f4d/images/11_image.webp", + "/media/yoshiaki_7f4d/images/12_image.webp", + "/media/yoshiaki_7f4d/images/13_image.webp", + "/media/yoshiaki_7f4d/images/14_image.webp", + "/media/yoshiaki_7f4d/images/15_image.webp", + "/media/yoshiaki_7f4d/images/17_image.webp", + "/media/yoshiaki_7f4d/images/18_image.webp", + "/media/yoshiaki_7f4d/images/19_image.webp", + "/media/yoshiaki_7f4d/images/20_image.webp", + "/media/yoshiaki_7f4d/images/21_image.webp", + "/media/yoshiaki_7f4d/images/22_image.webp", + "/media/yoshiaki_7f4d/images/23_image.webp", + "/media/yoshiaki_7f4d/images/24_image.webp", + "/media/yoshiaki_7f4d/images/25_image.webp", + "/media/yoshiaki_7f4d/images/26_image.webp", + "/media/yoshiaki_7f4d/images/27_image.webp", + "/media/yoshiaki_7f4d/images/28_image.webp", + "/media/yoshiaki_7f4d/images/29_image.webp", + "/media/yoshiaki_7f4d/images/30_image.webp", + "/media/yoshiaki_7f4d/images/31_image.webp", + "/media/yoshiaki_7f4d/images/32_image.webp", + "/media/yoshiaki_7f4d/images/33_image.webp", + "/media/yoshiaki_7f4d/images/34_image.webp", + "/media/yoshiaki_7f4d/images/35_image.webp", + "/media/yoshiaki_7f4d/images/36_image.webp", + "/media/yoshiaki_7f4d/images/37_image.webp", + "/media/yoshiaki_7f4d/images/38_image.webp", + "/media/yoshiaki_7f4d/images/39_image.webp", + "/media/yoshiaki_7f4d/images/40_image.webp", + "/media/yoshiaki_7f4d/images/41_image.webp", + "/media/yoshiaki_7f4d/images/42_image.webp", + "/media/yoshiaki_7f4d/images/43_image.webp", + "/media/yoshiaki_7f4d/images/44_image.webp", + "/media/yoshiaki_7f4d/images/45_image.webp", + "/media/yoshiaki_7f4d/images/46_image.webp", + "/media/yoshiaki_7f4d/images/47_image.webp", + "/media/yoshiaki_7f4d/images/48_image.webp", + "/media/yoshiaki_7f4d/images/49_image.webp", + "/media/yoshiaki_7f4d/images/50_image.webp", + "/media/yoshiaki_7f4d/images/51_image.webp" + ], + "created_at": "2026-01-28T07:58:33.883115-07:00", + "dir_name": "yoshiaki_7f4d" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yusef_cd42.json b/ideas/aeres/agents/yusef_cd42.json new file mode 100644 index 0000000..c0d9bdd --- /dev/null +++ b/ideas/aeres/agents/yusef_cd42.json @@ -0,0 +1,64 @@ +{ + "id": "yusef_cd42", + "name": "Yusef Walker", + "handle": "yusef", + "gender": "non-binary", + "description": "drag queen, entertainer, loud and vibrant, sassy, confident, big personality, feather boa, glitter, jewelry, dramatic", + "tags": [ + "baddie", + "drag artistry", + "choreography", + "high-fashion editorial makeup", + "vogue culture", + "interior design", + "thrifting", + "cooking soul food fusion" + ], + "avatar_url": "/media/yusef_cd42/avatar.webp?t=1769120536", + "banner_url": "/media/yusef_cd42/banner.webp?t=1769120537", + "images": [ + "/media/yusef_cd42/images/01_mid_mid_neutral.webp", + "/media/yusef_cd42/images/02_image.webp", + "/media/yusef_cd42/images/03_image.webp", + "/media/yusef_cd42/images/04_image.webp", + "/media/yusef_cd42/images/05_image.webp", + "/media/yusef_cd42/images/06_image.webp", + "/media/yusef_cd42/images/07_image.webp", + "/media/yusef_cd42/images/08_image.webp", + "/media/yusef_cd42/images/09_image.webp", + "/media/yusef_cd42/images/10_image.webp", + "/media/yusef_cd42/images/10_image.webp", + "/media/yusef_cd42/images/11_image.webp", + "/media/yusef_cd42/images/11_image.webp", + "/media/yusef_cd42/images/12_image.webp", + "/media/yusef_cd42/images/13_image.webp", + "/media/yusef_cd42/images/14_image.webp", + "/media/yusef_cd42/images/15_image.webp", + "/media/yusef_cd42/images/16_image.webp", + "/media/yusef_cd42/images/17_image.webp", + "/media/yusef_cd42/images/18_image.webp", + "/media/yusef_cd42/images/19_image.webp", + "/media/yusef_cd42/images/20_image.webp", + "/media/yusef_cd42/images/20_image.webp", + "/media/yusef_cd42/images/21_image.webp", + "/media/yusef_cd42/images/21_image.webp", + "/media/yusef_cd42/images/22_image.webp", + "/media/yusef_cd42/images/22_image.webp", + "/media/yusef_cd42/images/23_image.webp", + "/media/yusef_cd42/images/23_image.webp", + "/media/yusef_cd42/images/24_image.webp", + "/media/yusef_cd42/images/24_image.webp", + "/media/yusef_cd42/images/25_image.webp", + "/media/yusef_cd42/images/25_image.webp", + "/media/yusef_cd42/images/26_image.webp", + "/media/yusef_cd42/images/26_image.webp", + "/media/yusef_cd42/images/27_image.webp", + "/media/yusef_cd42/images/27_image.webp", + "/media/yusef_cd42/images/28_image.webp", + "/media/yusef_cd42/images/28_image.webp", + "/media/yusef_cd42/images/29_image.webp", + "/media/yusef_cd42/images/29_image.webp" + ], + "created_at": "2026-01-22T15:21:06.292955-07:00", + "dir_name": "yusef_cd42" +} \ No newline at end of file diff --git a/ideas/aeres/agents/yuxia_1f0c.json b/ideas/aeres/agents/yuxia_1f0c.json new file mode 100644 index 0000000..d4c11e7 --- /dev/null +++ b/ideas/aeres/agents/yuxia_1f0c.json @@ -0,0 +1,77 @@ +{ + "id": "yuxia_1f0c", + "name": "Yuxia Liu", + "handle": "yuxia", + "gender": "female", + "description": "asian woman who is a fan of LA Lakers and who enjoys burgers", + "tags": [ + "girl_next_door", + "dodger baseball", + "beach volleyball", + "weightlifting", + "classic burgers", + "hiking", + "photography", + "craft beer" + ], + "avatar_url": "/media/yuxia_1f0c/avatar.webp?t=1769077380", + "banner_url": "/media/yuxia_1f0c/banner.webp?t=1769077381", + "videos": [ + "/media/yuxia_1f0c/videos/01_smile_reveal.mp4?t=1769077430" + ], + "images": [ + "/media/yuxia_1f0c/images/01_mid_mid_neutral.webp", + "/media/yuxia_1f0c/images/02_image.webp", + "/media/yuxia_1f0c/images/03_image.webp", + "/media/yuxia_1f0c/images/04_image.webp", + "/media/yuxia_1f0c/images/05_image.webp", + "/media/yuxia_1f0c/images/06_image.webp", + "/media/yuxia_1f0c/images/07_image.webp", + "/media/yuxia_1f0c/images/08_image.webp", + "/media/yuxia_1f0c/images/09_image.webp", + "/media/yuxia_1f0c/images/10_image.webp", + "/media/yuxia_1f0c/images/11_image.webp", + "/media/yuxia_1f0c/images/12_image.webp", + "/media/yuxia_1f0c/images/13_image.webp", + "/media/yuxia_1f0c/images/14_image.webp", + "/media/yuxia_1f0c/images/15_image.webp", + "/media/yuxia_1f0c/images/16_image.webp", + "/media/yuxia_1f0c/images/17_image.webp", + "/media/yuxia_1f0c/images/18_image.webp", + "/media/yuxia_1f0c/images/19_image.webp", + "/media/yuxia_1f0c/images/20_image.webp", + "/media/yuxia_1f0c/images/21_image.webp", + "/media/yuxia_1f0c/images/22_image.webp", + "/media/yuxia_1f0c/images/23_image.webp", + "/media/yuxia_1f0c/images/24_image.webp", + "/media/yuxia_1f0c/images/25_image.webp", + "/media/yuxia_1f0c/images/26_image.webp", + "/media/yuxia_1f0c/images/27_image.webp", + "/media/yuxia_1f0c/images/28_image.webp", + "/media/yuxia_1f0c/images/29_image.webp", + "/media/yuxia_1f0c/images/30_image.webp", + "/media/yuxia_1f0c/images/31_image.webp", + "/media/yuxia_1f0c/images/32_image.webp", + "/media/yuxia_1f0c/images/33_image.webp", + "/media/yuxia_1f0c/images/34_image.webp", + "/media/yuxia_1f0c/images/35_image.webp", + "/media/yuxia_1f0c/images/36_image.webp", + "/media/yuxia_1f0c/images/37_image.webp", + "/media/yuxia_1f0c/images/38_image.webp", + "/media/yuxia_1f0c/images/39_image.webp", + "/media/yuxia_1f0c/images/40_image.webp", + "/media/yuxia_1f0c/images/41_image.webp", + "/media/yuxia_1f0c/images/42_image.webp", + "/media/yuxia_1f0c/images/43_image.webp", + "/media/yuxia_1f0c/images/44_image.webp", + "/media/yuxia_1f0c/images/45_image.webp", + "/media/yuxia_1f0c/images/46_image.webp", + "/media/yuxia_1f0c/images/47_image.webp", + "/media/yuxia_1f0c/images/48_image.webp", + "/media/yuxia_1f0c/images/49_image.webp", + "/media/yuxia_1f0c/images/50_image.webp", + "/media/yuxia_1f0c/images/51_image.webp" + ], + "created_at": "2026-01-22T03:21:46.775557-07:00", + "dir_name": "yuxia_1f0c" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zayden_0d09.json b/ideas/aeres/agents/zayden_0d09.json new file mode 100644 index 0000000..a71fea8 --- /dev/null +++ b/ideas/aeres/agents/zayden_0d09.json @@ -0,0 +1,77 @@ +{ + "id": "zayden_0d09", + "name": "Zayden Smith", + "handle": "zayden", + "gender": "male", + "description": "a man who is a professional darts player", + "tags": [ + "lifestyle", + "horology", + "biometrics", + "competitive physics", + "darts", + "billiards", + "chess", + "craft gin" + ], + "avatar_url": "/media/zayden_0d09/avatar.webp?t=1769430108", + "banner_url": "/media/zayden_0d09/banner.webp?t=1769430116", + "videos": [ + "/media/zayden_0d09/videos/01_smile_reveal.mp4?t=1769430141" + ], + "images": [ + "/media/zayden_0d09/images/01_mid_mid_neutral.webp", + "/media/zayden_0d09/images/02_image.webp", + "/media/zayden_0d09/images/03_image.webp", + "/media/zayden_0d09/images/04_image.webp", + "/media/zayden_0d09/images/05_image.webp", + "/media/zayden_0d09/images/06_image.webp", + "/media/zayden_0d09/images/07_image.webp", + "/media/zayden_0d09/images/08_image.webp", + "/media/zayden_0d09/images/09_image.webp", + "/media/zayden_0d09/images/10_image.webp", + "/media/zayden_0d09/images/11_image.webp", + "/media/zayden_0d09/images/12_image.webp", + "/media/zayden_0d09/images/13_image.webp", + "/media/zayden_0d09/images/14_image.webp", + "/media/zayden_0d09/images/15_image.webp", + "/media/zayden_0d09/images/16_image.webp", + "/media/zayden_0d09/images/17_image.webp", + "/media/zayden_0d09/images/18_image.webp", + "/media/zayden_0d09/images/19_image.webp", + "/media/zayden_0d09/images/20_image.webp", + "/media/zayden_0d09/images/21_image.webp", + "/media/zayden_0d09/images/22_image.webp", + "/media/zayden_0d09/images/23_image.webp", + "/media/zayden_0d09/images/24_image.webp", + "/media/zayden_0d09/images/25_image.webp", + "/media/zayden_0d09/images/26_image.webp", + "/media/zayden_0d09/images/27_image.webp", + "/media/zayden_0d09/images/28_image.webp", + "/media/zayden_0d09/images/29_image.webp", + "/media/zayden_0d09/images/30_image.webp", + "/media/zayden_0d09/images/31_image.webp", + "/media/zayden_0d09/images/32_image.webp", + "/media/zayden_0d09/images/33_image.webp", + "/media/zayden_0d09/images/34_image.webp", + "/media/zayden_0d09/images/35_image.webp", + "/media/zayden_0d09/images/36_image.webp", + "/media/zayden_0d09/images/37_image.webp", + "/media/zayden_0d09/images/38_image.webp", + "/media/zayden_0d09/images/39_image.webp", + "/media/zayden_0d09/images/40_image.webp", + "/media/zayden_0d09/images/41_image.webp", + "/media/zayden_0d09/images/42_image.webp", + "/media/zayden_0d09/images/43_image.webp", + "/media/zayden_0d09/images/44_image.webp", + "/media/zayden_0d09/images/45_image.webp", + "/media/zayden_0d09/images/46_image.webp", + "/media/zayden_0d09/images/47_image.webp", + "/media/zayden_0d09/images/48_image.webp", + "/media/zayden_0d09/images/49_image.webp", + "/media/zayden_0d09/images/50_image.webp", + "/media/zayden_0d09/images/51_image.webp" + ], + "created_at": "2026-01-26T05:20:45.00917-07:00", + "dir_name": "zayden_0d09" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zeina_5272.json b/ideas/aeres/agents/zeina_5272.json new file mode 100644 index 0000000..c266494 --- /dev/null +++ b/ideas/aeres/agents/zeina_5272.json @@ -0,0 +1,72 @@ +{ + "id": "zeina_5272", + "name": "Zeina Mohamed", + "handle": "zeina", + "gender": "female", + "description": "female from Lebanon with glasses who is an actress", + "tags": [ + "intellectual", + "modernist architecture", + "contemporary dance", + "post-colonial literature", + "opera", + "interior design", + "gourmet cooking", + "urban photography" + ], + "avatar_url": "/media/zeina_5272/avatar.webp?t=1770039219", + "banner_url": "/media/zeina_5272/banner.webp?t=1770039212", + "images": [ + "/media/zeina_5272/images/01_mid_mid_neutral.webp", + "/media/zeina_5272/images/02_image.webp", + "/media/zeina_5272/images/03_image.webp", + "/media/zeina_5272/images/04_image.webp", + "/media/zeina_5272/images/05_image.webp", + "/media/zeina_5272/images/07_image.webp", + "/media/zeina_5272/images/08_image.webp", + "/media/zeina_5272/images/09_image.webp", + "/media/zeina_5272/images/10_image.webp", + "/media/zeina_5272/images/11_image.webp", + "/media/zeina_5272/images/12_image.webp", + "/media/zeina_5272/images/13_image.webp", + "/media/zeina_5272/images/14_image.webp", + "/media/zeina_5272/images/15_image.webp", + "/media/zeina_5272/images/16_image.webp", + "/media/zeina_5272/images/17_image.webp", + "/media/zeina_5272/images/18_image.webp", + "/media/zeina_5272/images/19_image.webp", + "/media/zeina_5272/images/20_image.webp", + "/media/zeina_5272/images/21_image.webp", + "/media/zeina_5272/images/22_image.webp", + "/media/zeina_5272/images/23_image.webp", + "/media/zeina_5272/images/24_image.webp", + "/media/zeina_5272/images/25_image.webp", + "/media/zeina_5272/images/26_image.webp", + "/media/zeina_5272/images/27_image.webp", + "/media/zeina_5272/images/28_image.webp", + "/media/zeina_5272/images/29_image.webp", + "/media/zeina_5272/images/30_image.webp", + "/media/zeina_5272/images/31_image.webp", + "/media/zeina_5272/images/32_image.webp", + "/media/zeina_5272/images/33_image.webp", + "/media/zeina_5272/images/34_image.webp", + "/media/zeina_5272/images/35_image.webp", + "/media/zeina_5272/images/36_image.webp", + "/media/zeina_5272/images/37_image.webp", + "/media/zeina_5272/images/38_image.webp", + "/media/zeina_5272/images/39_image.webp", + "/media/zeina_5272/images/40_image.webp", + "/media/zeina_5272/images/41_image.webp", + "/media/zeina_5272/images/42_image.webp", + "/media/zeina_5272/images/43_image.webp", + "/media/zeina_5272/images/44_image.webp", + "/media/zeina_5272/images/45_image.webp", + "/media/zeina_5272/images/47_image.webp", + "/media/zeina_5272/images/48_image.webp", + "/media/zeina_5272/images/49_image.webp", + "/media/zeina_5272/images/50_image.webp", + "/media/zeina_5272/images/51_image.webp" + ], + "created_at": "2026-02-02T06:32:19.402418-07:00", + "dir_name": "zeina_5272" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zhihong_94e9.json b/ideas/aeres/agents/zhihong_94e9.json new file mode 100644 index 0000000..66ec111 --- /dev/null +++ b/ideas/aeres/agents/zhihong_94e9.json @@ -0,0 +1,77 @@ +{ + "id": "zhihong_94e9", + "name": "Zhihong Chen", + "handle": "zhihong", + "gender": "male", + "description": "bald male with big beard who plays violin", + "tags": [ + "artist", + "baroque music", + "weightlifting", + "architecture", + "italian espresso", + "street photography", + "urban exploration", + "cooking szechuan cuisine" + ], + "avatar_url": "/media/zhihong_94e9/avatar.webp?t=1769091055", + "banner_url": "/media/zhihong_94e9/banner.webp?t=1769091055", + "videos": [ + "/media/zhihong_94e9/videos/01_smile_reveal.mp4?t=1769091086" + ], + "images": [ + "/media/zhihong_94e9/images/01_mid_mid_neutral.webp", + "/media/zhihong_94e9/images/02_image.webp", + "/media/zhihong_94e9/images/03_image.webp", + "/media/zhihong_94e9/images/04_image.webp", + "/media/zhihong_94e9/images/05_image.webp", + "/media/zhihong_94e9/images/06_image.webp", + "/media/zhihong_94e9/images/07_image.webp", + "/media/zhihong_94e9/images/08_image.webp", + "/media/zhihong_94e9/images/09_image.webp", + "/media/zhihong_94e9/images/10_image.webp", + "/media/zhihong_94e9/images/11_image.webp", + "/media/zhihong_94e9/images/12_image.webp", + "/media/zhihong_94e9/images/13_image.webp", + "/media/zhihong_94e9/images/14_image.webp", + "/media/zhihong_94e9/images/15_image.webp", + "/media/zhihong_94e9/images/16_image.webp", + "/media/zhihong_94e9/images/17_image.webp", + "/media/zhihong_94e9/images/18_image.webp", + "/media/zhihong_94e9/images/19_image.webp", + "/media/zhihong_94e9/images/20_image.webp", + "/media/zhihong_94e9/images/21_image.webp", + "/media/zhihong_94e9/images/22_image.webp", + "/media/zhihong_94e9/images/23_image.webp", + "/media/zhihong_94e9/images/24_image.webp", + "/media/zhihong_94e9/images/25_image.webp", + "/media/zhihong_94e9/images/26_image.webp", + "/media/zhihong_94e9/images/27_image.webp", + "/media/zhihong_94e9/images/28_image.webp", + "/media/zhihong_94e9/images/29_image.webp", + "/media/zhihong_94e9/images/30_image.webp", + "/media/zhihong_94e9/images/31_image.webp", + "/media/zhihong_94e9/images/32_image.webp", + "/media/zhihong_94e9/images/33_image.webp", + "/media/zhihong_94e9/images/34_image.webp", + "/media/zhihong_94e9/images/35_image.webp", + "/media/zhihong_94e9/images/36_image.webp", + "/media/zhihong_94e9/images/37_image.webp", + "/media/zhihong_94e9/images/38_image.webp", + "/media/zhihong_94e9/images/39_image.webp", + "/media/zhihong_94e9/images/40_image.webp", + "/media/zhihong_94e9/images/41_image.webp", + "/media/zhihong_94e9/images/42_image.webp", + "/media/zhihong_94e9/images/43_image.webp", + "/media/zhihong_94e9/images/44_image.webp", + "/media/zhihong_94e9/images/45_image.webp", + "/media/zhihong_94e9/images/46_image.webp", + "/media/zhihong_94e9/images/47_image.webp", + "/media/zhihong_94e9/images/48_image.webp", + "/media/zhihong_94e9/images/49_image.webp", + "/media/zhihong_94e9/images/50_image.webp", + "/media/zhihong_94e9/images/51_image.webp" + ], + "created_at": "2026-01-22T07:09:43.767878-07:00", + "dir_name": "zhihong_94e9" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zhijun_fa24.json b/ideas/aeres/agents/zhijun_fa24.json new file mode 100644 index 0000000..83ac598 --- /dev/null +++ b/ideas/aeres/agents/zhijun_fa24.json @@ -0,0 +1,78 @@ +{ + "id": "zhijun_fa24", + "name": "Zhijun Zhang", + "handle": "zhijun", + "gender": "female", + "description": "goth asian woman who is an ice skater", + "tags": [ + "romantic_goth", + "figure skating", + "gothic literature", + "couture sewing", + "calligraphy", + "gardening (black flowers)", + "tea ceremonies", + "photography" + ], + "avatar_url": "/media/zhijun_fa24/avatar.webp?t=1770196164", + "banner_url": "/media/zhijun_fa24/banner.webp?t=1770194556", + "images": [ + "/media/zhijun_fa24/images/01_mid_mid_neutral.webp", + "/media/zhijun_fa24/images/02_image.webp", + "/media/zhijun_fa24/images/03_image.webp", + "/media/zhijun_fa24/images/05_image.webp", + "/media/zhijun_fa24/images/06_image.webp", + "/media/zhijun_fa24/images/07_image.webp", + "/media/zhijun_fa24/images/09_image.webp", + "/media/zhijun_fa24/images/10_image.webp", + "/media/zhijun_fa24/images/11_image.webp", + "/media/zhijun_fa24/images/13_image.webp", + "/media/zhijun_fa24/images/14_image.webp", + "/media/zhijun_fa24/images/15_image.webp", + "/media/zhijun_fa24/images/17_image.webp", + "/media/zhijun_fa24/images/18_image.webp", + "/media/zhijun_fa24/images/19_image.webp", + "/media/zhijun_fa24/images/20_image.webp", + "/media/zhijun_fa24/images/21_image.webp", + "/media/zhijun_fa24/images/22_image.webp", + "/media/zhijun_fa24/images/23_image.webp", + "/media/zhijun_fa24/images/24_image.webp", + "/media/zhijun_fa24/images/25_image.webp", + "/media/zhijun_fa24/images/26_image.webp", + "/media/zhijun_fa24/images/27_image.webp", + "/media/zhijun_fa24/images/28_image.webp", + "/media/zhijun_fa24/images/29_image.webp", + "/media/zhijun_fa24/images/30_image.webp", + "/media/zhijun_fa24/images/31_image.webp", + "/media/zhijun_fa24/images/32_image.webp", + "/media/zhijun_fa24/images/33_image.webp", + "/media/zhijun_fa24/images/34_image.webp", + "/media/zhijun_fa24/images/35_image.webp", + "/media/zhijun_fa24/images/36_image.webp", + "/media/zhijun_fa24/images/37_image.webp", + "/media/zhijun_fa24/images/38_image.webp", + "/media/zhijun_fa24/images/39_image.webp", + "/media/zhijun_fa24/images/40_image.webp", + "/media/zhijun_fa24/images/41_image.webp", + "/media/zhijun_fa24/images/42_image.webp", + "/media/zhijun_fa24/images/43_image.webp", + "/media/zhijun_fa24/images/44_image.webp", + "/media/zhijun_fa24/images/45_image.webp", + "/media/zhijun_fa24/images/46_image.webp", + "/media/zhijun_fa24/images/47_image.webp", + "/media/zhijun_fa24/images/49_image.webp", + "/media/zhijun_fa24/images/50_image.webp", + "/media/zhijun_fa24/images/51_image.webp", + "/media/zhijun_fa24/images/53_image.webp", + "/media/zhijun_fa24/images/54_image.webp", + "/media/zhijun_fa24/images/55_image.webp", + "/media/zhijun_fa24/images/56_image.webp", + "/media/zhijun_fa24/images/57_image.webp", + "/media/zhijun_fa24/images/58_image.webp", + "/media/zhijun_fa24/images/59_image.webp", + "/media/zhijun_fa24/images/60_image.webp", + "/media/zhijun_fa24/images/61_image.webp" + ], + "created_at": "2026-02-04T01:39:38.686075-07:00", + "dir_name": "zhijun_fa24" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zixuan_019e.json b/ideas/aeres/agents/zixuan_019e.json new file mode 100644 index 0000000..bcc6709 --- /dev/null +++ b/ideas/aeres/agents/zixuan_019e.json @@ -0,0 +1,75 @@ +{ + "id": "zixuan_019e", + "name": "Zixuan Zhang", + "handle": "zixuan", + "gender": "female", + "description": "a woman with rainbow colored hair who is a painter", + "tags": [ + "artist", + "street art", + "abstract expressionism", + "distance running", + "urban exploration", + "film photography", + "vinyl collecting", + "plant care" + ], + "avatar_url": "/media/zixuan_019e/avatar.webp?t=1769079674", + "banner_url": "/media/zixuan_019e/banner.webp?t=1769079676", + "videos": [ + "/media/zixuan_019e/videos/01_smile_reveal.mp4?t=1769079712" + ], + "images": [ + "/media/zixuan_019e/images/01_mid_mid_neutral.webp", + "/media/zixuan_019e/images/02_image.webp", + "/media/zixuan_019e/images/03_image.webp", + "/media/zixuan_019e/images/04_image.webp", + "/media/zixuan_019e/images/05_image.webp", + "/media/zixuan_019e/images/06_image.webp", + "/media/zixuan_019e/images/07_image.webp", + "/media/zixuan_019e/images/08_image.webp", + "/media/zixuan_019e/images/09_image.webp", + "/media/zixuan_019e/images/10_image.webp", + "/media/zixuan_019e/images/11_image.webp", + "/media/zixuan_019e/images/12_image.webp", + "/media/zixuan_019e/images/13_image.webp", + "/media/zixuan_019e/images/14_image.webp", + "/media/zixuan_019e/images/15_image.webp", + "/media/zixuan_019e/images/16_image.webp", + "/media/zixuan_019e/images/17_image.webp", + "/media/zixuan_019e/images/19_image.webp", + "/media/zixuan_019e/images/20_image.webp", + "/media/zixuan_019e/images/21_image.webp", + "/media/zixuan_019e/images/22_image.webp", + "/media/zixuan_019e/images/24_image.webp", + "/media/zixuan_019e/images/25_image.webp", + "/media/zixuan_019e/images/26_image.webp", + "/media/zixuan_019e/images/27_image.webp", + "/media/zixuan_019e/images/28_image.webp", + "/media/zixuan_019e/images/29_image.webp", + "/media/zixuan_019e/images/30_image.webp", + "/media/zixuan_019e/images/31_image.webp", + "/media/zixuan_019e/images/32_image.webp", + "/media/zixuan_019e/images/33_image.webp", + "/media/zixuan_019e/images/34_image.webp", + "/media/zixuan_019e/images/35_image.webp", + "/media/zixuan_019e/images/36_image.webp", + "/media/zixuan_019e/images/37_image.webp", + "/media/zixuan_019e/images/38_image.webp", + "/media/zixuan_019e/images/39_image.webp", + "/media/zixuan_019e/images/40_image.webp", + "/media/zixuan_019e/images/41_image.webp", + "/media/zixuan_019e/images/42_image.webp", + "/media/zixuan_019e/images/43_image.webp", + "/media/zixuan_019e/images/44_image.webp", + "/media/zixuan_019e/images/45_image.webp", + "/media/zixuan_019e/images/46_image.webp", + "/media/zixuan_019e/images/47_image.webp", + "/media/zixuan_019e/images/48_image.webp", + "/media/zixuan_019e/images/49_image.webp", + "/media/zixuan_019e/images/50_image.webp", + "/media/zixuan_019e/images/51_image.webp" + ], + "created_at": "2026-01-22T03:59:58.350457-07:00", + "dir_name": "zixuan_019e" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zola_dba7.json b/ideas/aeres/agents/zola_dba7.json new file mode 100644 index 0000000..4b158ac --- /dev/null +++ b/ideas/aeres/agents/zola_dba7.json @@ -0,0 +1,77 @@ +{ + "id": "zola_dba7", + "name": "Zola Abioye", + "handle": "zola", + "gender": "female", + "description": "sexy hot tall slender, very pretty face , long hair, african descent, train driver, canadian, loves snowy enviroments, protects wild life,", + "tags": [ + "career_fantasy", + "wildlife photography", + "mechanical horology", + "glacier hiking", + "jazz saxophone", + "astronomy", + "artisanal coffee brewing" + ], + "avatar_url": "/media/zola_dba7/avatar.webp?t=1769174821", + "banner_url": "/media/zola_dba7/banner.webp?t=1769174822", + "videos": [ + "/media/zola_dba7/videos/01_smile_reveal.mp4?t=1769174861" + ], + "images": [ + "/media/zola_dba7/images/01_mid_mid_neutral.webp", + "/media/zola_dba7/images/02_image.webp", + "/media/zola_dba7/images/03_image.webp", + "/media/zola_dba7/images/04_image.webp", + "/media/zola_dba7/images/05_image.webp", + "/media/zola_dba7/images/06_image.webp", + "/media/zola_dba7/images/07_image.webp", + "/media/zola_dba7/images/12_image.webp", + "/media/zola_dba7/images/13_image.webp", + "/media/zola_dba7/images/14_image.webp", + "/media/zola_dba7/images/15_image.webp", + "/media/zola_dba7/images/16_image.webp", + "/media/zola_dba7/images/17_image.webp", + "/media/zola_dba7/images/18_image.webp", + "/media/zola_dba7/images/19_image.webp", + "/media/zola_dba7/images/20_image.webp", + "/media/zola_dba7/images/21_image.webp", + "/media/zola_dba7/images/22_image.webp", + "/media/zola_dba7/images/23_image.webp", + "/media/zola_dba7/images/24_image.webp", + "/media/zola_dba7/images/25_image.webp", + "/media/zola_dba7/images/26_image.webp", + "/media/zola_dba7/images/27_image.webp", + "/media/zola_dba7/images/28_image.webp", + "/media/zola_dba7/images/29_image.webp", + "/media/zola_dba7/images/30_image.webp", + "/media/zola_dba7/images/31_image.webp", + "/media/zola_dba7/images/32_image.webp", + "/media/zola_dba7/images/33_image.webp", + "/media/zola_dba7/images/34_image.webp", + "/media/zola_dba7/images/35_image.webp", + "/media/zola_dba7/images/36_image.webp", + "/media/zola_dba7/images/37_image.webp", + "/media/zola_dba7/images/38_image.webp", + "/media/zola_dba7/images/39_image.webp", + "/media/zola_dba7/images/40_image.webp", + "/media/zola_dba7/images/41_image.webp", + "/media/zola_dba7/images/42_image.webp", + "/media/zola_dba7/images/43_image.webp", + "/media/zola_dba7/images/44_image.webp", + "/media/zola_dba7/images/45_image.webp", + "/media/zola_dba7/images/46_image.webp", + "/media/zola_dba7/images/47_image.webp", + "/media/zola_dba7/images/48_image.webp", + "/media/zola_dba7/images/49_image.webp", + "/media/zola_dba7/images/50_image.webp", + "/media/zola_dba7/images/51_image.webp", + "/media/zola_dba7/images/53_image.webp", + "/media/zola_dba7/images/54_image.webp", + "/media/zola_dba7/images/55_image.webp", + "/media/zola_dba7/images/56_image.webp", + "/media/zola_dba7/images/57_image.webp" + ], + "created_at": "2026-01-23T06:25:57.384118-07:00", + "dir_name": "zola_dba7" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zolin_e74a.json b/ideas/aeres/agents/zolin_e74a.json new file mode 100644 index 0000000..f1df5c0 --- /dev/null +++ b/ideas/aeres/agents/zolin_e74a.json @@ -0,0 +1,77 @@ +{ + "id": "zolin_e74a", + "name": "Zolin Hernandez", + "handle": "zolin", + "gender": "male", + "description": "hispanic guy who loves WWE and hip hop music", + "tags": [ + "baddie", + "pro-wrestling history", + "sneaker collecting", + "high-performance car culture", + "street photography", + "modern hip-hop", + "cooking high-protein meals", + "gaming (fighting games)" + ], + "avatar_url": "/media/zolin_e74a/avatar.webp?t=1769072069", + "banner_url": "/media/zolin_e74a/banner.webp?t=1769072082", + "videos": [ + "/media/zolin_e74a/videos/01_smile_reveal.mp4?t=1769072123" + ], + "images": [ + "/media/zolin_e74a/images/01_mid_mid_neutral.webp", + "/media/zolin_e74a/images/02_image.webp", + "/media/zolin_e74a/images/03_image.webp", + "/media/zolin_e74a/images/04_image.webp", + "/media/zolin_e74a/images/05_image.webp", + "/media/zolin_e74a/images/06_image.webp", + "/media/zolin_e74a/images/07_image.webp", + "/media/zolin_e74a/images/08_image.webp", + "/media/zolin_e74a/images/09_image.webp", + "/media/zolin_e74a/images/10_image.webp", + "/media/zolin_e74a/images/11_image.webp", + "/media/zolin_e74a/images/12_image.webp", + "/media/zolin_e74a/images/13_image.webp", + "/media/zolin_e74a/images/14_image.webp", + "/media/zolin_e74a/images/15_image.webp", + "/media/zolin_e74a/images/16_image.webp", + "/media/zolin_e74a/images/17_image.webp", + "/media/zolin_e74a/images/18_image.webp", + "/media/zolin_e74a/images/19_image.webp", + "/media/zolin_e74a/images/20_image.webp", + "/media/zolin_e74a/images/21_image.webp", + "/media/zolin_e74a/images/22_image.webp", + "/media/zolin_e74a/images/23_image.webp", + "/media/zolin_e74a/images/24_image.webp", + "/media/zolin_e74a/images/25_image.webp", + "/media/zolin_e74a/images/26_image.webp", + "/media/zolin_e74a/images/27_image.webp", + "/media/zolin_e74a/images/28_image.webp", + "/media/zolin_e74a/images/29_image.webp", + "/media/zolin_e74a/images/30_image.webp", + "/media/zolin_e74a/images/31_image.webp", + "/media/zolin_e74a/images/32_image.webp", + "/media/zolin_e74a/images/33_image.webp", + "/media/zolin_e74a/images/34_image.webp", + "/media/zolin_e74a/images/35_image.webp", + "/media/zolin_e74a/images/36_image.webp", + "/media/zolin_e74a/images/37_image.webp", + "/media/zolin_e74a/images/38_image.webp", + "/media/zolin_e74a/images/39_image.webp", + "/media/zolin_e74a/images/40_image.webp", + "/media/zolin_e74a/images/41_image.webp", + "/media/zolin_e74a/images/42_image.webp", + "/media/zolin_e74a/images/43_image.webp", + "/media/zolin_e74a/images/44_image.webp", + "/media/zolin_e74a/images/45_image.webp", + "/media/zolin_e74a/images/46_image.webp", + "/media/zolin_e74a/images/47_image.webp", + "/media/zolin_e74a/images/48_image.webp", + "/media/zolin_e74a/images/49_image.webp", + "/media/zolin_e74a/images/50_image.webp", + "/media/zolin_e74a/images/51_image.webp" + ], + "created_at": "2026-01-22T01:53:14.408462-07:00", + "dir_name": "zolin_e74a" +} \ No newline at end of file diff --git a/ideas/aeres/agents/zoya_9267.json b/ideas/aeres/agents/zoya_9267.json new file mode 100644 index 0000000..76905e4 --- /dev/null +++ b/ideas/aeres/agents/zoya_9267.json @@ -0,0 +1,74 @@ +{ + "id": "zoya_9267", + "name": "Zoya Volkova", + "handle": "zoya", + "gender": "female", + "description": "high fashion model bimbo woman from Russia who has bangs, glasses, piercings and septum and who loves jewelry and luxury cars", + "tags": [ + "high_fashion_model", + "brutalist architecture", + "pilates", + "conceptual photography", + "contemporary dance", + "espresso culture", + "european cinema", + "vinyl collecting" + ], + "avatar_url": "/media/zoya_9267/avatar.webp?t=1770208201", + "banner_url": "/media/zoya_9267/banner.webp?t=1770208200", + "videos": [ + "/media/zoya_9267/videos/01_smile_reveal.mp4?t=1770208223" + ], + "images": [ + "/media/zoya_9267/images/01_mid_mid_neutral.webp", + "/media/zoya_9267/images/02_image.webp", + "/media/zoya_9267/images/03_image.webp", + "/media/zoya_9267/images/04_image.webp", + "/media/zoya_9267/images/05_image.webp", + "/media/zoya_9267/images/06_image.webp", + "/media/zoya_9267/images/09_image.webp", + "/media/zoya_9267/images/10_image.webp", + "/media/zoya_9267/images/11_image.webp", + "/media/zoya_9267/images/12_image.webp", + "/media/zoya_9267/images/13_image.webp", + "/media/zoya_9267/images/14_image.webp", + "/media/zoya_9267/images/15_image.webp", + "/media/zoya_9267/images/16_image.webp", + "/media/zoya_9267/images/17_image.webp", + "/media/zoya_9267/images/18_image.webp", + "/media/zoya_9267/images/19_image.webp", + "/media/zoya_9267/images/20_image.webp", + "/media/zoya_9267/images/21_image.webp", + "/media/zoya_9267/images/22_image.webp", + "/media/zoya_9267/images/23_image.webp", + "/media/zoya_9267/images/24_image.webp", + "/media/zoya_9267/images/25_image.webp", + "/media/zoya_9267/images/26_image.webp", + "/media/zoya_9267/images/27_image.webp", + "/media/zoya_9267/images/28_image.webp", + "/media/zoya_9267/images/29_image.webp", + "/media/zoya_9267/images/30_image.webp", + "/media/zoya_9267/images/31_image.webp", + "/media/zoya_9267/images/32_image.webp", + "/media/zoya_9267/images/33_image.webp", + "/media/zoya_9267/images/34_image.webp", + "/media/zoya_9267/images/35_image.webp", + "/media/zoya_9267/images/36_image.webp", + "/media/zoya_9267/images/37_image.webp", + "/media/zoya_9267/images/38_image.webp", + "/media/zoya_9267/images/39_image.webp", + "/media/zoya_9267/images/40_image.webp", + "/media/zoya_9267/images/41_image.webp", + "/media/zoya_9267/images/42_image.webp", + "/media/zoya_9267/images/43_image.webp", + "/media/zoya_9267/images/44_image.webp", + "/media/zoya_9267/images/45_image.webp", + "/media/zoya_9267/images/46_image.webp", + "/media/zoya_9267/images/47_image.webp", + "/media/zoya_9267/images/49_image.webp", + "/media/zoya_9267/images/50_image.webp", + "/media/zoya_9267/images/51_image.webp" + ], + "created_at": "2026-02-04T05:28:48.845677-07:00", + "dir_name": "zoya_9267" +} \ No newline at end of file diff --git a/ideas/aeres/agents/émilie_47ac.json b/ideas/aeres/agents/émilie_47ac.json new file mode 100644 index 0000000..389aa97 --- /dev/null +++ b/ideas/aeres/agents/émilie_47ac.json @@ -0,0 +1,76 @@ +{ + "id": "émilie_47ac", + "name": "Émilie Simon", + "handle": "émilie", + "gender": "female", + "description": "mid 30's woman from Hungary, political career, business suits, heels, watch, speaker, lawyer, navy blue, red, Washington,", + "tags": [ + "career_fantasy", + "constitutional law", + "classical piano", + "equestrian sports", + "art history", + "tennis", + "wine tasting", + "sailing" + ], + "avatar_url": "/media/émilie_47ac/avatar.webp?t=1769415530", + "banner_url": "/media/émilie_47ac/banner.webp?t=1769212702", + "videos": [ + "/media/émilie_47ac/videos/01_smile_reveal.mp4?t=1769212753" + ], + "images": [ + "/media/émilie_47ac/images/01_mid_mid_neutral.webp", + "/media/émilie_47ac/images/02_image.webp", + "/media/émilie_47ac/images/03_image.webp", + "/media/émilie_47ac/images/04_image.webp", + "/media/émilie_47ac/images/05_image.webp", + "/media/émilie_47ac/images/06_image.webp", + "/media/émilie_47ac/images/07_image.webp", + "/media/émilie_47ac/images/08_image.webp", + "/media/émilie_47ac/images/09_image.webp", + "/media/émilie_47ac/images/11_image.webp", + "/media/émilie_47ac/images/12_image.webp", + "/media/émilie_47ac/images/13_image.webp", + "/media/émilie_47ac/images/14_image.webp", + "/media/émilie_47ac/images/15_image.webp", + "/media/émilie_47ac/images/16_image.webp", + "/media/émilie_47ac/images/17_image.webp", + "/media/émilie_47ac/images/18_image.webp", + "/media/émilie_47ac/images/19_image.webp", + "/media/émilie_47ac/images/20_image.webp", + "/media/émilie_47ac/images/21_image.webp", + "/media/émilie_47ac/images/22_image.webp", + "/media/émilie_47ac/images/23_image.webp", + "/media/émilie_47ac/images/24_image.webp", + "/media/émilie_47ac/images/25_image.webp", + "/media/émilie_47ac/images/26_image.webp", + "/media/émilie_47ac/images/27_image.webp", + "/media/émilie_47ac/images/28_image.webp", + "/media/émilie_47ac/images/29_image.webp", + "/media/émilie_47ac/images/30_image.webp", + "/media/émilie_47ac/images/31_image.webp", + "/media/émilie_47ac/images/32_image.webp", + "/media/émilie_47ac/images/33_image.webp", + "/media/émilie_47ac/images/34_image.webp", + "/media/émilie_47ac/images/35_image.webp", + "/media/émilie_47ac/images/36_image.webp", + "/media/émilie_47ac/images/37_image.webp", + "/media/émilie_47ac/images/38_image.webp", + "/media/émilie_47ac/images/39_image.webp", + "/media/émilie_47ac/images/40_image.webp", + "/media/émilie_47ac/images/41_image.webp", + "/media/émilie_47ac/images/42_image.webp", + "/media/émilie_47ac/images/43_image.webp", + "/media/émilie_47ac/images/44_image.webp", + "/media/émilie_47ac/images/45_image.webp", + "/media/émilie_47ac/images/46_image.webp", + "/media/émilie_47ac/images/47_image.webp", + "/media/émilie_47ac/images/48_image.webp", + "/media/émilie_47ac/images/49_image.webp", + "/media/émilie_47ac/images/50_image.webp", + "/media/émilie_47ac/images/51_image.webp" + ], + "created_at": "2026-01-23T16:56:59.240789-07:00", + "dir_name": "émilie_47ac" +} \ No newline at end of file diff --git a/ideas/aeres/go.mod b/ideas/aeres/go.mod new file mode 100644 index 0000000..b466849 --- /dev/null +++ b/ideas/aeres/go.mod @@ -0,0 +1,54 @@ +module agent-creator + +go 1.25.5 + +require ( + github.com/google/uuid v1.6.0 + github.com/gorilla/websocket v1.5.3 + github.com/orchard9/peach/pkg/persona v0.0.0 + github.com/orchard9/peach/pkg/personagen v0.0.0 +) + +require ( + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.9.3 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect + github.com/chai2010/webp v1.4.0 // indirect + github.com/ebitengine/purego v0.8.3 // indirect + github.com/gen2brain/avif v0.4.4 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/s2a-go v0.1.8 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/orchard9/peach/pkg/gemini v0.0.0 // indirect + github.com/orchard9/peach/pkg/httpclient v0.0.0 // indirect + github.com/orchard9/peach/pkg/laozhang v0.0.0 // indirect + github.com/orchard9/peach/pkg/mediagen v0.0.0 // indirect + github.com/orchard9/peach/pkg/routing v0.0.0 // indirect + github.com/orchard9/peach/pkg/textgen v0.0.0 // indirect + github.com/tetratelabs/wazero v1.9.0 // indirect + go.opencensus.io v0.24.0 // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/image v0.35.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/text v0.33.0 // indirect + google.golang.org/genai v1.41.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.66.2 // indirect + google.golang.org/protobuf v1.34.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +replace ( + github.com/orchard9/peach/pkg/gemini => ../../pkg/gemini + github.com/orchard9/peach/pkg/grok => ../../pkg/grok + github.com/orchard9/peach/pkg/httpclient => ../../pkg/httpclient + github.com/orchard9/peach/pkg/laozhang => ../../pkg/laozhang + github.com/orchard9/peach/pkg/mediagen => ../../pkg/mediagen + github.com/orchard9/peach/pkg/persona => ../../pkg/persona + github.com/orchard9/peach/pkg/personagen => ../../pkg/personagen + github.com/orchard9/peach/pkg/routing => ../../pkg/routing + github.com/orchard9/peach/pkg/synap => ../../pkg/synap + github.com/orchard9/peach/pkg/textgen => ../../pkg/textgen +) diff --git a/ideas/aeres/go.sum b/ideas/aeres/go.sum new file mode 100644 index 0000000..29d7eb1 --- /dev/null +++ b/ideas/aeres/go.sum @@ -0,0 +1,144 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.9.3 h1:VOEUIAADkkLtyfr3BLa3R8Ed/j6w1jTBmARx+wb5w5U= +cloud.google.com/go/auth v0.9.3/go.mod h1:7z6VY+7h3KUdRov5F1i8NDP5ZzWKYmEPO842BgCsmTk= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chai2010/webp v1.4.0 h1:6DA2pkkRUPnbOHvvsmGI3He1hBKf/bkRlniAiSGuEko= +github.com/chai2010/webp v1.4.0/go.mod h1:0XVwvZWdjjdxpUEIf7b9g9VkHFnInUSYujwqTLEuldU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.3 h1:K+0AjQp63JEZTEMZiwsI9g0+hAMNohwUOtY0RPGexmc= +github.com/ebitengine/purego v0.8.3/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/gen2brain/avif v0.4.4 h1:Ga/ss7qcWWQm2bxFpnjYjhJsNfZrWs5RsyklgFjKRSE= +github.com/gen2brain/avif v0.4.4/go.mod h1:/XCaJcjZraQwKVhpu9aEd9aLOssYOawLvhMBtmHVGqk= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= +github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I= +github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/image v0.35.0 h1:LKjiHdgMtO8z7Fh18nGY6KDcoEtVfsgLDPeLyguqb7I= +golang.org/x/image v0.35.0/go.mod h1:MwPLTVgvxSASsxdLzKrl8BRFuyqMyGhLwmC+TO1Sybk= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genai v1.41.0 h1:ayXl75LjTmqTu0y94yr96d17gIb4zF8gWVzX2TgioEY= +google.golang.org/genai v1.41.0/go.mod h1:A3kkl0nyBjyFlNjgxIwKq70julKbIxpSxqKO5gw/gmk= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= +google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ideas/aeres/index.html b/ideas/aeres/index.html new file mode 100644 index 0000000..51e191e --- /dev/null +++ b/ideas/aeres/index.html @@ -0,0 +1,1263 @@ + + + + + + Agent Creator + + + +
+

i want a hot...

+

describe your ideal AI companion and we'll create them

+ +
+ +
+
+ + +
+
+
+ + +
+
+ +
+
Female
+
Male
+
Non-binary
+
+
+
+ +
+ + +
+
+
+ Creating agent... +
+
+
+
1
+
Crafting personality
+
+
+
2
+
Designing appearance
+
+
+
3
+
Creating identity
+
+
+
4
+
Generating tags
+
+
+
+ + +
+

Media Generation Jobs

+
+
No active jobs
+
+
+
+ + +
+

Created Agents

+
+
No agents created yet. Create your first one!
+
+
+
+
+ + + + + +
+ + +
+ 0 selected +
+ + +
+
+ + +
+ + + Full size + +
+
+ + + + diff --git a/ideas/aeres/main.go b/ideas/aeres/main.go new file mode 100644 index 0000000..d4e6fae --- /dev/null +++ b/ideas/aeres/main.go @@ -0,0 +1,1905 @@ +package main + +import ( + "context" + "embed" + "encoding/json" + "fmt" + "log" + "net/http" + "os" + "path/filepath" + "sort" + "strconv" + "strings" + "sync" + "time" + + "github.com/google/uuid" + "github.com/gorilla/websocket" + "github.com/orchard9/peach/pkg/persona" + "github.com/orchard9/peach/pkg/personagen" + "github.com/orchard9/peach/pkg/personagen/storage" +) + +//go:embed index.html +var staticFiles embed.FS + +const ( + agentsDir = "agents" + mediaDir = "media" +) + +var ( + apiKey = os.Getenv("LAOZHANG_API_KEY") + upgrader = websocket.Upgrader{ + CheckOrigin: func(r *http.Request) bool { return true }, + } +) + +// SafeConn wraps a WebSocket connection with a mutex for thread-safe writes +type SafeConn struct { + conn *websocket.Conn + mu sync.Mutex +} + +func (sc *SafeConn) WriteJSON(v interface{}) error { + sc.mu.Lock() + defer sc.mu.Unlock() + return sc.conn.WriteJSON(v) +} + +// Hub manages all WebSocket connections for broadcasting +type Hub struct { + mu sync.RWMutex + clients map[*SafeConn]bool +} + +func NewHub() *Hub { + return &Hub{ + clients: make(map[*SafeConn]bool), + } +} + +func (h *Hub) Register(sc *SafeConn) { + h.mu.Lock() + h.clients[sc] = true + h.mu.Unlock() +} + +func (h *Hub) Unregister(sc *SafeConn) { + h.mu.Lock() + delete(h.clients, sc) + h.mu.Unlock() +} + +func (h *Hub) Broadcast(msg interface{}) { + h.mu.RLock() + defer h.mu.RUnlock() + for sc := range h.clients { + sc.WriteJSON(msg) + } +} + +var hub = NewHub() + +// Agent represents a created agent (simplified view for UI) +type Agent struct { + ID string `json:"id"` + Name string `json:"name"` + Handle string `json:"handle"` + Gender string `json:"gender"` + Description string `json:"description"` + Tags []string `json:"tags"` + AvatarURL string `json:"avatar_url,omitempty"` + BannerURL string `json:"banner_url,omitempty"` + Videos []string `json:"videos,omitempty"` + Images []string `json:"images,omitempty"` + CreatedAt time.Time `json:"created_at"` + DirName string `json:"dir_name,omitempty"` +} + +// MediaJob tracks background media generation +type MediaJob struct { + ID string `json:"id"` + AgentID string `json:"agent_id"` + AgentName string `json:"agent_name"` + Type string `json:"type"` // "anchor", "avatar", "banner", "video", "gallery" + Status string `json:"status"` // "pending", "generating", "complete", "error" + Progress int `json:"progress"` + Total int `json:"total"` + Error string `json:"error,omitempty"` +} + +var ( + jobsMu sync.RWMutex + jobs = make(map[string]*MediaJob) + agentsMu sync.Mutex // protects agent modifications and saves +) + +// WSMessage represents a WebSocket message +type WSMessage struct { + Type string `json:"type"` + Payload interface{} `json:"payload"` +} + +// CreateRequest is the payload for creating an agent +type CreateRequest struct { + Description string `json:"description"` + Gender string `json:"gender"` +} + +// GenerateMediaRequest is for generating media on existing agent +type GenerateMediaRequest struct { + AgentID string `json:"agent_id"` + MediaType string `json:"media_type"` +} + +// DeleteImageRequest is for deleting an image from an agent +type DeleteImageRequest struct { + AgentID string `json:"agent_id"` + ImageURL string `json:"image_url"` +} + +// DeleteVideoRequest is for deleting a video from an agent +type DeleteVideoRequest struct { + AgentID string `json:"agent_id"` + VideoURL string `json:"video_url"` +} + +// BulkDeleteRequest is for deleting multiple images/videos at once +type BulkDeleteRequest struct { + AgentID string `json:"agent_id"` + ImageURLs []string `json:"image_urls,omitempty"` + VideoURLs []string `json:"video_urls,omitempty"` +} + +// RegeneratePositionsRequest is for regenerating specific image positions +type RegeneratePositionsRequest struct { + AgentID string `json:"agent_id"` + Positions []int `json:"positions"` +} + +// ModifyPersonaRequest is for modifying persona spec attributes +type ModifyPersonaRequest struct { + AgentID string `json:"agent_id"` + Modification string `json:"modification"` // "tone_eye_color", "align_hair_brows" + Intensity string `json:"intensity,omitempty"` +} + +// RegenerateBannerRequest is for regenerating banner with optional style +type RegenerateBannerRequest struct { + AgentID string `json:"agent_id"` + Style string `json:"style,omitempty"` // "lifestyle", "portrait", "scenic", "artistic" +} + +// BulkRegenerateVideosRequest is for regenerating all videos for multiple agents +type BulkRegenerateVideosRequest struct { + AgentIDs []string `json:"agent_ids"` +} + +func main() { + if apiKey == "" { + log.Fatal("LAOZHANG_API_KEY environment variable is required") + } + + os.MkdirAll(agentsDir, 0755) + os.MkdirAll(mediaDir, 0755) + + http.HandleFunc("/", serveIndex) + http.HandleFunc("/ws", handleWebSocket) + http.HandleFunc("/agents", listAgents) + http.HandleFunc("/agents/", getAgent) + http.Handle("/media/", http.StripPrefix("/media/", http.FileServer(http.Dir(mediaDir)))) + + port := os.Getenv("PORT") + if port == "" { + port = "8080" + } + + log.Printf("Starting agent creator on http://localhost:%s", port) + log.Printf("Agents saved to ./%s/, media saved to ./%s/", agentsDir, mediaDir) + log.Fatal(http.ListenAndServe(":"+port, nil)) +} + +func serveIndex(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/" { + http.NotFound(w, r) + return + } + content, _ := staticFiles.ReadFile("index.html") + w.Header().Set("Content-Type", "text/html") + w.Write(content) +} + +func handleWebSocket(w http.ResponseWriter, r *http.Request) { + conn, err := upgrader.Upgrade(w, r, nil) + if err != nil { + log.Printf("WebSocket upgrade failed: %v", err) + return + } + defer conn.Close() + + sc := &SafeConn{conn: conn} + hub.Register(sc) + defer hub.Unregister(sc) + + log.Println("WebSocket client connected") + + // Send current jobs + jobsMu.RLock() + for _, job := range jobs { + sc.WriteJSON(WSMessage{Type: "job_update", Payload: job}) + } + jobsMu.RUnlock() + + for { + _, message, err := conn.ReadMessage() + if err != nil { + if websocket.IsCloseError(err, websocket.CloseNormalClosure, websocket.CloseGoingAway) { + log.Println("WebSocket client disconnected") + } + return + } + + var msg WSMessage + if err := json.Unmarshal(message, &msg); err != nil { + continue + } + + switch msg.Type { + case "create": + payloadBytes, _ := json.Marshal(msg.Payload) + var req CreateRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid create request") + continue + } + go handleCreate(sc, req) + case "generate_media": + payloadBytes, _ := json.Marshal(msg.Payload) + var req GenerateMediaRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid generate_media request") + continue + } + go handleGenerateMedia(sc, req) + case "delete_image": + payloadBytes, _ := json.Marshal(msg.Payload) + var req DeleteImageRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid delete_image request") + continue + } + handleDeleteImage(sc, req) + case "delete_video": + payloadBytes, _ := json.Marshal(msg.Payload) + var req DeleteVideoRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid delete_video request") + continue + } + handleDeleteVideo(sc, req) + case "bulk_delete": + payloadBytes, _ := json.Marshal(msg.Payload) + var req BulkDeleteRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid bulk_delete request") + continue + } + handleBulkDelete(sc, req) + case "clear_jobs": + clearCompletedJobs() + case "regenerate_positions": + payloadBytes, _ := json.Marshal(msg.Payload) + var req RegeneratePositionsRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid regenerate_positions request") + continue + } + go handleRegeneratePositions(sc, req) + case "modify_persona": + payloadBytes, _ := json.Marshal(msg.Payload) + var req ModifyPersonaRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid modify_persona request") + continue + } + handleModifyPersona(sc, req) + case "regenerate_banner": + payloadBytes, _ := json.Marshal(msg.Payload) + var req RegenerateBannerRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid regenerate_banner request") + continue + } + go handleRegenerateBanner(sc, req) + case "bulk_regenerate_videos": + payloadBytes, _ := json.Marshal(msg.Payload) + var req BulkRegenerateVideosRequest + if err := json.Unmarshal(payloadBytes, &req); err != nil { + sendError(sc, "Invalid bulk_regenerate_videos request") + continue + } + go handleBulkRegenerateVideos(sc, req) + default: + sendError(sc, "Unknown message type: "+msg.Type) + } + } +} + +func handleCreate(sc *SafeConn, req CreateRequest) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Minute) + defer cancel() + + send := func(msg WSMessage) { + sc.WriteJSON(msg) + } + + // Create personagen service + cfg := personagen.ServiceConfig{ + LaozhangAPIKey: apiKey, + } + + progress := &wsProgressReporter{send: send} + service, err := personagen.NewService(ctx, cfg, progress) + if err != nil { + sendError(sc, "Failed to create service: "+err.Error()) + return + } + + // Step 1: Generate persona spec + send(WSMessage{Type: "step", Payload: map[string]string{"step": "personality"}}) + + // Extract ethnicity from description if present + ethnicity := personagen.InferEthnicityFromDescription(req.Description) + + seed := personagen.SeedParams{ + Gender: req.Gender, + CustomArchetype: req.Description, + Ethnicity: ethnicity, + } + + spec, err := service.Generate(ctx, seed) + if err != nil { + sendError(sc, "Failed to generate persona: "+err.Error()) + return + } + send(WSMessage{Type: "step_done", Payload: map[string]string{"step": "personality"}}) + send(WSMessage{Type: "step_done", Payload: map[string]string{"step": "appearance"}}) + send(WSMessage{Type: "step_done", Payload: map[string]string{"step": "identity"}}) + send(WSMessage{Type: "step_done", Payload: map[string]string{"step": "tags"}}) + + // Validate name length (max 30 chars for UI display) + fullName := fmt.Sprintf("%s %s", spec.CoreIdentity.Name.First, spec.CoreIdentity.Name.Last) + if len(fullName) > 30 { + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]interface{}{ + "code": "NAME_TOO_LONG", + "message": fmt.Sprintf("Generated name too long (%d chars, max 30): %s", len(fullName), fullName), + }}) + return + } + + // Check for duplicate agent + if existing, found := checkDuplicateAgent(fullName); found { + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]interface{}{ + "code": "DUPLICATE_AGENT", + "message": fmt.Sprintf("Agent '%s' already exists", fullName), + "existing_id": existing.ID, + }}) + return + } + + // Create storage and save persona + optimizer := storage.NewOptimizer(85, 80) // WebP quality 85, AVIF quality 80 + store := storage.NewFilesystemStorage(mediaDir, optimizer) + + // Generate persona ID from name + safeName := strings.ToLower(strings.ReplaceAll(spec.CoreIdentity.Name.First, " ", "_")) + shortID := uuid.New().String()[:4] + personaID := fmt.Sprintf("%s_%s", safeName, shortID) + + // Initialize ImageMatrix before saving (so it persists to disk) + if len(spec.ImageMatrix) == 0 { + spec.ImageMatrix = persona.ExtendedImageMatrix(75) + } + + saveResult, err := store.SavePersona(ctx, spec, storage.SaveOptions{ + ID: personaID, + Format: storage.FormatJSON, + Force: true, + }) + if err != nil { + sendError(sc, "Failed to save persona: "+err.Error()) + return + } + + // Create agent for UI + agent := &Agent{ + ID: personaID, + Name: fmt.Sprintf("%s %s", spec.CoreIdentity.Name.First, spec.CoreIdentity.Name.Last), + Handle: strings.ToLower(spec.CoreIdentity.Name.First), + Gender: req.Gender, + Description: req.Description, + Tags: extractTags(spec), + Images: []string{}, + CreatedAt: time.Now(), + DirName: personaID, + } + + saveAgentJSON(agent) + + send(WSMessage{Type: "complete", Payload: map[string]interface{}{"agent": agent}}) + hub.Broadcast(WSMessage{Type: "agent_created", Payload: agent}) + + log.Printf("Created agent: %s (%s)", agent.Name, agent.ID) + log.Printf("Persona saved to: %s", saveResult.Dir) + + // Spawn media generation with its own long-running context + mediaCtx, mediaCancel := context.WithTimeout(context.Background(), 30*time.Minute) + go func() { + defer mediaCancel() + spawnMediaJobs(mediaCtx, service, store, spec, agent) + }() +} + +func spawnMediaJobs(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + personaID := agent.ID + + // Job 1: Generate anchor image (position 1) - MUST be first + anchorJob := createJob(agent, "anchor", 1) + anchorJob.Status = "generating" + updateJob(anchorJob) + + log.Printf("Generating anchor image for %s...", agent.Name) + images, err := service.GenerateImages(ctx, spec, []int{1}, nil) + if err != nil { + anchorJob.Status = "error" + anchorJob.Error = err.Error() + updateJob(anchorJob) + log.Printf("Anchor generation failed for %s: %v", agent.Name, err) + return + } + + anchorBytes := images[1] + + // Save anchor + anchorPath, err := store.SaveAnchor(ctx, personaID, anchorBytes) + if err != nil { + log.Printf("Failed to save anchor: %v", err) + } else { + log.Printf("Saved anchor: %s", anchorPath) + } + + // Save as position 1 image + if len(spec.ImageMatrix) > 0 { + paths, err := store.SaveImage(ctx, personaID, 1, anchorBytes, &spec.ImageMatrix[0]) + if err == nil { + newImagePath := "/media/" + personaID + "/images/" + filepath.Base(paths.WebP) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.Images = append(a.Images, newImagePath) + }) + if err == nil { + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + } + } + } + + // Set anchor for all subsequent generation + service.SetAnchor(anchorBytes) + + anchorJob.Status = "complete" + anchorJob.Progress = 100 + updateJob(anchorJob) + log.Printf("Anchor generated for %s", agent.Name) + + // Now run remaining jobs in parallel + var wg sync.WaitGroup + + // Job 2: Avatar (uses anchor) + wg.Add(1) + go func() { + defer wg.Done() + generateAvatarJob(ctx, service, store, spec, agent) + }() + + // Job 3: Banner (uses anchor) + wg.Add(1) + go func() { + defer wg.Done() + generateBannerJob(ctx, service, store, spec, agent) + }() + + // Job 4: Gallery images (uses anchor, runs in parallel batches) + wg.Add(1) + go func() { + defer wg.Done() + generateGalleryJob(ctx, service, store, spec, agent) + }() + + // Job 5: Video (uses anchor) + wg.Add(1) + go func() { + defer wg.Done() + generateVideoJob(ctx, service, store, spec, agent) + }() + + wg.Wait() + log.Printf("All media generation complete for %s", agent.Name) +} + +func generateAvatarJob(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + job := createJob(agent, "avatar", 1) + job.Status = "generating" + updateJob(job) + + result, err := service.GenerateAvatar(ctx, spec) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + log.Printf("Avatar generation failed for %s: %v", agent.Name, err) + return + } + + path, err := store.SaveAvatar(ctx, agent.ID, result.Data, result.Prompt) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + avatarURL := fmt.Sprintf("/media/%s/%s?t=%d", agent.ID, filepath.Base(path), time.Now().Unix()) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.AvatarURL = avatarURL + }) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) + + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + log.Printf("Avatar generated for %s: %s", agent.Name, path) +} + +func generateBannerJob(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + job := createJob(agent, "banner", 1) + job.Status = "generating" + updateJob(job) + + result, err := service.GenerateBanner(ctx, spec) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + log.Printf("Banner generation failed for %s: %v", agent.Name, err) + return + } + + path, err := store.SaveBanner(ctx, agent.ID, result.Data, result.Prompt) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + bannerURL := fmt.Sprintf("/media/%s/%s?t=%d", agent.ID, filepath.Base(path), time.Now().Unix()) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.BannerURL = bannerURL + }) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) + + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + log.Printf("Banner generated for %s: %s", agent.Name, path) +} + +func generateAnchorJob(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + job := createJob(agent, "anchor", 1) + job.Status = "generating" + updateJob(job) + + log.Printf("Regenerating anchor image for %s...", agent.Name) + images, err := service.GenerateImages(ctx, spec, []int{1}, nil) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + log.Printf("Anchor regeneration failed for %s: %v", agent.Name, err) + return + } + + anchorBytes := images[1] + + // Save anchor + anchorPath, err := store.SaveAnchor(ctx, agent.ID, anchorBytes) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + log.Printf("Failed to save anchor: %v", err) + return + } + log.Printf("Saved anchor: %s", anchorPath) + + // Save as position 1 image (replace existing if any) + paths, err := store.SaveImage(ctx, agent.ID, 1, anchorBytes, nil) + if err == nil { + newImagePath := "/media/" + agent.ID + "/images/" + filepath.Base(paths.WebP) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + // Replace position 1 if exists, otherwise prepend + found := false + for i, imgURL := range a.Images { + base := filepath.Base(imgURL) + if len(base) >= 2 { + var pos int + fmt.Sscanf(base[:2], "%d", &pos) + if pos == 1 { + a.Images[i] = newImagePath + found = true + break + } + } + } + if !found { + a.Images = append([]string{newImagePath}, a.Images...) + } + }) + if err == nil { + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + } + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) + log.Printf("Anchor regenerated for %s", agent.Name) +} + +func generateGalleryJob(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + // Reload agent to get latest state (in case other jobs updated it) + agentsMu.Lock() + currentAgent, err := loadAgent(agent.ID) + agentsMu.Unlock() + if err != nil { + log.Printf("Failed to reload agent for gallery: %v", err) + return + } + + // Find highest existing position + highestPos := 1 // position 1 is anchor + for _, imgURL := range currentAgent.Images { + base := filepath.Base(imgURL) + if len(base) >= 2 { + var pos int + fmt.Sscanf(base[:2], "%d", &pos) + if pos > highestPos { + highestPos = pos + } + } + } + + // Generate next 10 positions (starting after highest, max 75) + startPos := highestPos + 1 + if startPos > 75 { + log.Printf("All 75 positions already generated for %s", agent.Name) + return + } + + numToGenerate := 10 + if startPos+numToGenerate-1 > 75 { + numToGenerate = 75 - startPos + 1 + } + + positionsToGenerate := make([]int, numToGenerate) + for i := 0; i < numToGenerate; i++ { + positionsToGenerate[i] = startPos + i + } + + log.Printf("Generating positions %d-%d for %s (have %d images)", startPos, startPos+numToGenerate-1, agent.Name, len(currentAgent.Images)) + + job := createJob(agent, "gallery", numToGenerate) + job.Status = "generating" + updateJob(job) + + for i, pos := range positionsToGenerate { + select { + case <-ctx.Done(): + log.Printf("Gallery generation cancelled for %s", agent.Name) + job.Status = "error" + job.Error = "cancelled" + updateJob(job) + return + default: + } + + log.Printf("Generating gallery image %d/%d for %s (position %d)...", i+1, numToGenerate, agent.Name, pos) + + images, err := service.GenerateImages(ctx, spec, []int{pos}, nil) + if err != nil { + log.Printf("Gallery image %d failed for %s: %v", pos, agent.Name, err) + continue + } + + imgBytes := images[pos] + paths, err := store.SaveImage(ctx, agent.ID, pos, imgBytes, nil) + if err != nil { + log.Printf("Failed to save gallery image %d: %v", pos, err) + continue + } + + newImagePath := "/media/" + agent.ID + "/images/" + filepath.Base(paths.WebP) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.Images = append(a.Images, newImagePath) + }) + if err == nil { + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + } + + job.Progress = int(float64(i+1) / float64(numToGenerate) * 100) + updateJob(job) + log.Printf("Gallery image %d generated for %s", pos, agent.Name) + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) +} + +func generateVideoJob(ctx context.Context, service *personagen.Service, store storage.Storage, spec *persona.PersonaSpec, agent *Agent) { + // Reload agent to get latest state (in case other jobs updated it) + agentsMu.Lock() + currentAgent, err := loadAgent(agent.ID) + agentsMu.Unlock() + if err != nil { + log.Printf("Failed to reload agent for video: %v", err) + return + } + + // Video positions 1-4, each with a motion type + motionTypes := []struct { + position int + motionType string + }{ + {1, storage.MotionSmileReveal}, + {2, storage.MotionPersonalityMoment}, + {3, storage.MotionLifestyle}, + {4, storage.MotionInvitation}, + } + + // Find which videos already exist + existingVideos := make(map[string]bool) + for _, url := range currentAgent.Videos { + existingVideos[filepath.Base(strings.Split(url, "?")[0])] = true + } + + // Find next video to generate + var toGenerate *struct { + position int + motionType string + } + for _, mt := range motionTypes { + filename := fmt.Sprintf("%02d_%s.mp4", mt.position, mt.motionType) + if !existingVideos[filename] { + toGenerate = &struct { + position int + motionType string + }{mt.position, mt.motionType} + break + } + } + + if toGenerate == nil { + log.Printf("All 4 video positions already generated for %s", agent.Name) + return + } + + job := createJob(agent, "video", 1) + job.Status = "generating" + updateJob(job) + + log.Printf("Generating video position %d (%s) for %s...", toGenerate.position, toGenerate.motionType, agent.Name) + + videos, err := service.GenerateVideos(ctx, spec, []int{toGenerate.position}) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + log.Printf("Video generation failed for %s: %v", agent.Name, err) + return + } + + videoBytes := videos[toGenerate.position] + path, err := store.SaveVideo(ctx, agent.ID, toGenerate.position, toGenerate.motionType, videoBytes) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + videoURL := fmt.Sprintf("/media/%s/videos/%s?t=%d", agent.ID, filepath.Base(path), time.Now().Unix()) + + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.Videos = append(a.Videos, videoURL) + }) + if err != nil { + job.Status = "error" + job.Error = err.Error() + updateJob(job) + return + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) + + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + log.Printf("Video generated for %s: %s", agent.Name, path) +} + +func handleGenerateMedia(sc *SafeConn, req GenerateMediaRequest) { + // Use a single long-running context for the entire operation + // Don't defer cancel() here - the goroutine will cancel when done + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Minute) + + // Load agent + agent, err := loadAgent(req.AgentID) + if err != nil { + cancel() + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + // Create service with the long-running context + cfg := personagen.ServiceConfig{ + LaozhangAPIKey: apiKey, + } + service, err := personagen.NewService(ctx, cfg, &personagen.NoopProgressReporter{}) + if err != nil { + cancel() + sendError(sc, "Failed to create service: "+err.Error()) + return + } + + // Load persona spec and anchor + optimizer := storage.NewOptimizer(85, 80) + store := storage.NewFilesystemStorage(mediaDir, optimizer) + spec, err := store.LoadPersona(ctx, agent.ID) + if err != nil { + cancel() + sendError(sc, "Failed to load persona: "+err.Error()) + return + } + + // Ensure ImageMatrix has 75 positions for extended generation + if len(spec.ImageMatrix) < 75 { + spec.ImageMatrix = persona.ExtendedImageMatrix(75) + } + + // Handle anchor regeneration separately (doesn't need existing anchor) + if req.MediaType == "anchor" { + go func() { + defer cancel() + generateAnchorJob(ctx, service, store, spec, agent) + }() + return + } + + // All other media types require an existing anchor + anchorBytes, err := store.LoadAnchor(ctx, agent.ID) + if err != nil { + cancel() + // Send specific error so frontend can show "Regenerate Anchor" button + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]string{ + "message": "Anchor not found", + "code": "ANCHOR_MISSING", + }}) + return + } + service.SetAnchor(anchorBytes) + + switch req.MediaType { + case "avatar": + go func() { + defer cancel() + generateAvatarJob(ctx, service, store, spec, agent) + }() + case "banner": + go func() { + defer cancel() + generateBannerJob(ctx, service, store, spec, agent) + }() + case "images": + go func() { + defer cancel() + generateGalleryJob(ctx, service, store, spec, agent) + }() + case "video": + go func() { + defer cancel() + generateVideoJob(ctx, service, store, spec, agent) + }() + default: + cancel() + sendError(sc, "Unknown media type: "+req.MediaType) + } +} + +func handleDeleteImage(sc *SafeConn, req DeleteImageRequest) { + imageURL := req.ImageURL + + // Delete the actual files (webp, avif, caption) + // imageURL is like /media/agent_id/images/01_closeup_front_neutral.webp + relativePath := strings.TrimPrefix(imageURL, "/media/") + basePath := filepath.Join(mediaDir, relativePath) + baseWithoutExt := strings.TrimSuffix(basePath, filepath.Ext(basePath)) + + // Remove webp, avif, caption files + os.Remove(basePath) // .webp + os.Remove(baseWithoutExt + ".avif") // .avif + os.Remove(baseWithoutExt + ".caption") // .caption + + // Update agent atomically + var found bool + updatedAgent, err := updateAgentField(req.AgentID, func(a *Agent) { + newImages := []string{} + for _, img := range a.Images { + if img == imageURL { + found = true + continue + } + newImages = append(newImages, img) + } + a.Images = newImages + }) + + if err != nil { + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + if !found { + sendError(sc, "Image not found in agent") + return + } + + log.Printf("Deleted image %s from %s", imageURL, updatedAgent.Name) + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + sc.WriteJSON(WSMessage{Type: "image_deleted", Payload: map[string]string{"image_url": imageURL}}) +} + +func handleDeleteVideo(sc *SafeConn, req DeleteVideoRequest) { + videoURL := req.VideoURL + + // Strip query params for file path comparison + urlWithoutQuery := strings.Split(videoURL, "?")[0] + + // Delete the actual video file + // videoURL is like /media/agent_id/videos/01_smile_reveal.mp4?t=123 + relativePath := strings.TrimPrefix(urlWithoutQuery, "/media/") + fullPath := filepath.Join(mediaDir, relativePath) + + os.Remove(fullPath) + + // Update agent atomically + var found bool + updatedAgent, err := updateAgentField(req.AgentID, func(a *Agent) { + newVideos := []string{} + for _, vid := range a.Videos { + // Strip query params for comparison + vidWithoutQuery := strings.Split(vid, "?")[0] + if vidWithoutQuery == urlWithoutQuery { + found = true + continue + } + newVideos = append(newVideos, vid) + } + a.Videos = newVideos + }) + + if err != nil { + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + if !found { + sendError(sc, "Video not found in agent") + return + } + + log.Printf("Deleted video %s from %s", videoURL, updatedAgent.Name) + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + sc.WriteJSON(WSMessage{Type: "video_deleted", Payload: map[string]string{"video_url": videoURL}}) +} + +// checkDuplicateAgent checks if an agent with this name already exists +func checkDuplicateAgent(name string) (*Agent, bool) { + files, _ := os.ReadDir(agentsDir) + for _, f := range files { + if !strings.HasSuffix(f.Name(), ".json") { + continue + } + data, _ := os.ReadFile(filepath.Join(agentsDir, f.Name())) + var agent Agent + if json.Unmarshal(data, &agent) == nil { + if strings.EqualFold(agent.Name, name) { + return &agent, true + } + } + } + return nil, false +} + +func handleRegeneratePositions(sc *SafeConn, req RegeneratePositionsRequest) { + // Validate positions + for _, pos := range req.Positions { + if pos < 1 || pos > 75 { + sendError(sc, fmt.Sprintf("Invalid position %d: must be between 1 and 75", pos)) + return + } + } + + if len(req.Positions) == 0 { + sendError(sc, "No positions specified") + return + } + + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Minute) + defer cancel() + + // Load agent + agent, err := loadAgent(req.AgentID) + if err != nil { + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + // Create service + cfg := personagen.ServiceConfig{ + LaozhangAPIKey: apiKey, + } + service, err := personagen.NewService(ctx, cfg, &personagen.NoopProgressReporter{}) + if err != nil { + sendError(sc, "Failed to create service: "+err.Error()) + return + } + + // Load persona spec and anchor + optimizer := storage.NewOptimizer(85, 80) + store := storage.NewFilesystemStorage(mediaDir, optimizer) + spec, err := store.LoadPersona(ctx, agent.ID) + if err != nil { + sendError(sc, "Failed to load persona: "+err.Error()) + return + } + + // Ensure ImageMatrix has 75 positions + if len(spec.ImageMatrix) < 75 { + spec.ImageMatrix = persona.ExtendedImageMatrix(75) + } + + // Load anchor for consistency + anchorBytes, err := store.LoadAnchor(ctx, agent.ID) + if err != nil { + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]string{ + "message": "Anchor not found - regenerate anchor first", + "code": "ANCHOR_MISSING", + }}) + return + } + service.SetAnchor(anchorBytes) + + // Notify that regeneration is starting + sc.WriteJSON(WSMessage{Type: "positions_regenerating", Payload: map[string]interface{}{ + "positions": req.Positions, + "agent_id": req.AgentID, + }}) + + // Create job for tracking + job := createJob(agent, "gallery", len(req.Positions)) + job.Status = "generating" + updateJob(job) + + log.Printf("Regenerating positions %v for %s...", req.Positions, agent.Name) + + // Delete existing images at these positions first + for _, pos := range req.Positions { + deleteImageAtPosition(agent.ID, pos, store) + } + + // Update agent to remove deleted images + updatedAgent, _ := updateAgentField(agent.ID, func(a *Agent) { + newImages := []string{} + for _, imgURL := range a.Images { + base := filepath.Base(imgURL) + keep := true + for _, pos := range req.Positions { + prefix := fmt.Sprintf("%02d_", pos) + if strings.HasPrefix(base, prefix) { + keep = false + break + } + } + if keep { + newImages = append(newImages, imgURL) + } + } + a.Images = newImages + }) + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + + // Generate new images for each position + for i, pos := range req.Positions { + log.Printf("Regenerating position %d (%d/%d) for %s...", pos, i+1, len(req.Positions), agent.Name) + + images, err := service.GenerateImages(ctx, spec, []int{pos}, nil) + if err != nil { + log.Printf("Position %d regeneration failed for %s: %v", pos, agent.Name, err) + continue + } + + imgBytes := images[pos] + var imgMeta *persona.ImageSpec + if pos <= len(spec.ImageMatrix) { + imgMeta = &spec.ImageMatrix[pos-1] + } + + paths, err := store.SaveImage(ctx, agent.ID, pos, imgBytes, imgMeta) + if err != nil { + log.Printf("Failed to save regenerated image %d: %v", pos, err) + continue + } + + newImagePath := "/media/" + agent.ID + "/images/" + filepath.Base(paths.WebP) + updatedAgent, err := updateAgentField(agent.ID, func(a *Agent) { + a.Images = append(a.Images, newImagePath) + }) + if err == nil { + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + } + + job.Progress = int(float64(i+1) / float64(len(req.Positions)) * 100) + updateJob(job) + log.Printf("Position %d regenerated for %s", pos, agent.Name) + } + + job.Status = "complete" + job.Progress = 100 + updateJob(job) + log.Printf("Position regeneration complete for %s", agent.Name) +} + +// deleteImageAtPosition removes image files for a specific position +func deleteImageAtPosition(agentID string, position int, store storage.Storage) { + imagesDir := filepath.Join(mediaDir, agentID, "images") + prefix := fmt.Sprintf("%02d_", position) + + entries, err := os.ReadDir(imagesDir) + if err != nil { + return + } + + for _, entry := range entries { + if strings.HasPrefix(entry.Name(), prefix) { + os.Remove(filepath.Join(imagesDir, entry.Name())) + } + } +} + +func handleModifyPersona(sc *SafeConn, req ModifyPersonaRequest) { + ctx := context.Background() + + // Load persona spec + optimizer := storage.NewOptimizer(85, 80) + store := storage.NewFilesystemStorage(mediaDir, optimizer) + spec, err := store.LoadPersona(ctx, req.AgentID) + if err != nil { + sendError(sc, "Failed to load persona: "+err.Error()) + return + } + + var modified bool + var description string + + switch req.Modification { + case "tone_eye_color": + modified = toneDownEyeColor(spec, req.Intensity) + description = fmt.Sprintf("Eye color toned down (%s)", req.Intensity) + + case "align_hair_brows": + modified = alignHairAndBrows(spec) + description = "Brow color aligned to hair color" + + default: + sendError(sc, "Unknown modification type: "+req.Modification) + return + } + + if !modified { + sc.WriteJSON(WSMessage{Type: "persona_modified", Payload: map[string]interface{}{ + "agent_id": req.AgentID, + "modified": false, + "description": "No changes needed", + }}) + return + } + + // Save modified spec + _, err = store.SavePersona(ctx, spec, storage.SaveOptions{ + ID: req.AgentID, + Format: storage.FormatJSON, + Force: true, + }) + if err != nil { + sendError(sc, "Failed to save modified persona: "+err.Error()) + return + } + + log.Printf("Persona modified for %s: %s", req.AgentID, description) + sc.WriteJSON(WSMessage{Type: "persona_modified", Payload: map[string]interface{}{ + "agent_id": req.AgentID, + "modified": true, + "description": description, + }}) +} + +// toneDownEyeColor replaces vivid/striking eye color descriptors with softer terms +// It modifies the Visual.BiologicalIdentity.Eyes.Color or Eyes.DistinctiveFeatures +func toneDownEyeColor(spec *persona.PersonaSpec, intensity string) bool { + // Check both the visual spec and distinctive features + eyeColor := spec.Visual.BiologicalIdentity.Eyes.Color + eyeFeatures := spec.Visual.BiologicalIdentity.Eyes.DistinctiveFeatures + + if eyeColor == "" && eyeFeatures == "" { + return false + } + + // Define replacements based on intensity + var replacements map[string]string + if intensity == "subtle" { + replacements = map[string]string{ + "striking": "soft", + "vivid": "gentle", + "bright": "warm", + "intense": "natural", + "piercing": "calm", + "electric": "muted", + "brilliant": "subdued", + "dazzling": "understated", + "mesmerizing": "pleasant", + "hypnotic": "relaxed", + "captivating": "appealing", + "enchanting": "nice", + "extraordinary": "ordinary", + } + } else { // natural (default) + replacements = map[string]string{ + "striking": "natural", + "vivid": "natural", + "bright": "clear", + "intense": "gentle", + "piercing": "soft", + "electric": "calm", + "brilliant": "clear", + "dazzling": "pleasant", + "mesmerizing": "appealing", + "hypnotic": "natural", + "captivating": "nice", + "enchanting": "pleasant", + "extraordinary": "normal", + } + } + + modified := false + + // Apply to eye color description + if eyeColor != "" { + newColor := applyReplacements(eyeColor, replacements) + if newColor != eyeColor { + spec.Visual.BiologicalIdentity.Eyes.Color = newColor + modified = true + } + } + + // Apply to distinctive features + if eyeFeatures != "" { + newFeatures := applyReplacements(eyeFeatures, replacements) + if newFeatures != eyeFeatures { + spec.Visual.BiologicalIdentity.Eyes.DistinctiveFeatures = newFeatures + modified = true + } + } + + return modified +} + +// applyReplacements applies case-insensitive replacements while preserving original casing +func applyReplacements(original string, replacements map[string]string) string { + result := original + for old, new := range replacements { + // Case-insensitive replacement + lowerResult := strings.ToLower(result) + lowerOld := strings.ToLower(old) + if idx := strings.Index(lowerResult, lowerOld); idx != -1 { + // Preserve casing by checking if original was capitalized + if idx == 0 && len(result) > 0 && result[0] >= 'A' && result[0] <= 'Z' { + new = strings.ToUpper(string(new[0])) + new[1:] + } + result = result[:idx] + new + result[idx+len(old):] + } + } + return result +} + +// alignHairAndBrows ensures DNA brow color logically matches hair color +// Note: Since DNA uses categorical types, we log the mismatch but can't directly +// change enum values. For visual spec, we can update string descriptions. +func alignHairAndBrows(spec *persona.PersonaSpec) bool { + // Get hair color from either DNA or Visual spec + var hairColor string + if spec.DNA != nil && spec.DNA.Face.HairColor != "" { + hairColor = string(spec.DNA.Face.HairColor) + } else { + hairColor = spec.Visual.BiologicalIdentity.Hair.CurrentColor + if hairColor == "" { + hairColor = spec.Visual.BiologicalIdentity.Hair.NaturalColor + } + } + + if hairColor == "" { + return false + } + + // Map hair colors to expected brow darkness + // This helps identify mismatches (e.g., black hair with blonde brows) + browColorMap := map[string]string{ + "black": "dark", + "dark_brown": "dark brown", + "dark brown": "dark brown", + "brown": "brown", + "light_brown": "light brown", + "light brown": "light brown", + "auburn": "auburn", + "red": "auburn-tinted", + "ginger": "ginger-tinted", + "blonde": "light brown", + "dirty blonde": "light brown", + "platinum": "light", + "gray": "gray", + "grey": "grey", + "white": "light gray", + "silver": "gray", + } + + // Find matching brow color + hairColorLower := strings.ToLower(hairColor) + var expectedBrowColor string + for key, val := range browColorMap { + if strings.Contains(hairColorLower, key) { + expectedBrowColor = val + break + } + } + + if expectedBrowColor == "" { + // Default: derive from hair color + expectedBrowColor = hairColorLower + } + + // Store the expected brow color in a custom field or style signature note + // Since DNA brows are categorical (shape/thickness), we add a note to the style signature + signatureMakeup := spec.Visual.StyleSignature.SignatureMakeup + browNote := fmt.Sprintf("brows match %s hair", expectedBrowColor) + + if signatureMakeup == "" { + spec.Visual.StyleSignature.SignatureMakeup = browNote + return true + } + + // Check if already has brow note + if strings.Contains(strings.ToLower(signatureMakeup), "brow") { + return false + } + + // Append brow note + spec.Visual.StyleSignature.SignatureMakeup = signatureMakeup + ", " + browNote + return true +} + +func handleRegenerateBanner(sc *SafeConn, req RegenerateBannerRequest) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Minute) + defer cancel() + + // Load agent + agent, err := loadAgent(req.AgentID) + if err != nil { + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + // Create service + cfg := personagen.ServiceConfig{ + LaozhangAPIKey: apiKey, + } + service, err := personagen.NewService(ctx, cfg, &personagen.NoopProgressReporter{}) + if err != nil { + sendError(sc, "Failed to create service: "+err.Error()) + return + } + + // Load persona spec and anchor + optimizer := storage.NewOptimizer(85, 80) + store := storage.NewFilesystemStorage(mediaDir, optimizer) + spec, err := store.LoadPersona(ctx, agent.ID) + if err != nil { + sendError(sc, "Failed to load persona: "+err.Error()) + return + } + + // Load anchor for consistency + anchorBytes, err := store.LoadAnchor(ctx, agent.ID) + if err != nil { + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]string{ + "message": "Anchor not found - regenerate anchor first", + "code": "ANCHOR_MISSING", + }}) + return + } + service.SetAnchor(anchorBytes) + + // Notify that regeneration is starting + sc.WriteJSON(WSMessage{Type: "banner_regenerating", Payload: map[string]interface{}{ + "agent_id": req.AgentID, + "style": req.Style, + }}) + + // Apply style hint if provided + if req.Style != "" { + applyBannerStyleHint(spec, req.Style) + } + + // Delete existing banner + bannerDir := filepath.Join(mediaDir, agent.ID) + entries, _ := os.ReadDir(bannerDir) + for _, entry := range entries { + if strings.HasPrefix(entry.Name(), "banner") { + os.Remove(filepath.Join(bannerDir, entry.Name())) + } + } + + // Generate banner using the job function + generateBannerJob(ctx, service, store, spec, agent) +} + +// applyBannerStyleHint modifies the persona spec to hint at a banner style +func applyBannerStyleHint(spec *persona.PersonaSpec, style string) { + // We store the style hint in a way the banner generation can use + // This could be done via ImageMatrix or a custom field + // For now, we'll use the scene hint approach by modifying lifestyle context + switch style { + case "lifestyle": + // Emphasize lifestyle/activity context + if len(spec.Lifestyle.Interests.Passionate) > 0 { + // Already has lifestyle context, no change needed + } + case "portrait": + // For portrait, we want a simpler background + // This would need banner-specific handling in GenerateBanner + case "scenic": + // Emphasize outdoor/scenic elements + case "artistic": + // Allow more creative/artistic interpretation + } + // The actual implementation depends on how GenerateBanner constructs prompts + // This is a placeholder for the style hint mechanism +} + +// handleBulkRegenerateVideos regenerates all videos for multiple agents. +// This is useful after fixing accent issues to update all affected agents. +func handleBulkRegenerateVideos(sc *SafeConn, req BulkRegenerateVideosRequest) { + if len(req.AgentIDs) == 0 { + sendError(sc, "No agent IDs provided") + return + } + + // Notify start of bulk operation + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_started", Payload: map[string]interface{}{ + "agent_ids": req.AgentIDs, + "total": len(req.AgentIDs), + }}) + + log.Printf("Starting bulk video regeneration for %d agents", len(req.AgentIDs)) + + // Process each agent sequentially (to avoid overwhelming the video API) + for i, agentID := range req.AgentIDs { + agent, err := loadAgent(agentID) + if err != nil { + log.Printf("Agent not found: %s", agentID) + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": "", + "status": "error", + "error": "Agent not found", + }}) + continue + } + + // Delete existing videos + for _, videoURL := range agent.Videos { + relativePath := strings.TrimPrefix(strings.Split(videoURL, "?")[0], "/media/") + fullPath := filepath.Join(mediaDir, relativePath) + os.Remove(fullPath) + } + + // Clear videos from agent + updatedAgent, _ := updateAgentField(agentID, func(a *Agent) { + a.Videos = []string{} + }) + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + + // Regenerate video for this agent + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Minute) + + cfg := personagen.ServiceConfig{ + LaozhangAPIKey: apiKey, + } + service, err := personagen.NewService(ctx, cfg, &personagen.NoopProgressReporter{}) + if err != nil { + cancel() + log.Printf("Failed to create service for %s: %v", agent.Name, err) + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": agent.Name, + "status": "error", + "error": err.Error(), + }}) + continue + } + + optimizer := storage.NewOptimizer(85, 80) + store := storage.NewFilesystemStorage(mediaDir, optimizer) + spec, err := store.LoadPersona(ctx, agentID) + if err != nil { + cancel() + log.Printf("Failed to load persona for %s: %v", agent.Name, err) + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": agent.Name, + "status": "error", + "error": err.Error(), + }}) + continue + } + + // Load anchor + anchorBytes, err := store.LoadAnchor(ctx, agentID) + if err != nil { + cancel() + log.Printf("Anchor not found for %s: %v", agent.Name, err) + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": agent.Name, + "status": "error", + "error": "Anchor not found", + }}) + continue + } + service.SetAnchor(anchorBytes) + + // Notify progress + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": agent.Name, + "status": "generating", + }}) + + // Generate video + generateVideoJob(ctx, service, store, spec, agent) + cancel() + + // Notify completion for this agent + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_progress", Payload: map[string]interface{}{ + "current": i + 1, + "total": len(req.AgentIDs), + "agent_id": agentID, + "agent_name": agent.Name, + "status": "complete", + }}) + + log.Printf("Video regenerated for %s (%d/%d)", agent.Name, i+1, len(req.AgentIDs)) + } + + // Notify completion of bulk operation + sc.WriteJSON(WSMessage{Type: "bulk_video_regeneration_complete", Payload: map[string]interface{}{ + "total": len(req.AgentIDs), + }}) + log.Printf("Bulk video regeneration complete for %d agents", len(req.AgentIDs)) +} + +func handleBulkDelete(sc *SafeConn, req BulkDeleteRequest) { + // Build sets of URLs to delete (strip query params for comparison) + imageURLsToDelete := make(map[string]bool) + for _, url := range req.ImageURLs { + imageURLsToDelete[url] = true + } + + videoURLsToDelete := make(map[string]bool) + for _, url := range req.VideoURLs { + urlWithoutQuery := strings.Split(url, "?")[0] + videoURLsToDelete[urlWithoutQuery] = true + } + + var imagesDeleted, videosDeleted int + + // Update agent atomically and delete files + updatedAgent, err := updateAgentField(req.AgentID, func(a *Agent) { + // Delete image files and filter array + newImages := []string{} + for _, imgURL := range a.Images { + if imageURLsToDelete[imgURL] { + // Delete the actual files (webp, avif, caption) + relativePath := strings.TrimPrefix(imgURL, "/media/") + basePath := filepath.Join(mediaDir, relativePath) + baseWithoutExt := strings.TrimSuffix(basePath, filepath.Ext(basePath)) + + os.Remove(basePath) // .webp + os.Remove(baseWithoutExt + ".avif") // .avif + os.Remove(baseWithoutExt + ".caption") // .caption + + imagesDeleted++ + continue + } + newImages = append(newImages, imgURL) + } + a.Images = newImages + + // Delete video files and filter array + newVideos := []string{} + for _, vidURL := range a.Videos { + vidWithoutQuery := strings.Split(vidURL, "?")[0] + if videoURLsToDelete[vidWithoutQuery] { + // Delete the actual video file + relativePath := strings.TrimPrefix(vidWithoutQuery, "/media/") + fullPath := filepath.Join(mediaDir, relativePath) + os.Remove(fullPath) + + videosDeleted++ + continue + } + newVideos = append(newVideos, vidURL) + } + a.Videos = newVideos + }) + + if err != nil { + sendError(sc, "Agent not found: "+req.AgentID) + return + } + + log.Printf("Bulk deleted %d images and %d videos from %s", imagesDeleted, videosDeleted, updatedAgent.Name) + hub.Broadcast(WSMessage{Type: "agent_updated", Payload: updatedAgent}) + sc.WriteJSON(WSMessage{Type: "bulk_deleted", Payload: map[string]int{ + "images_deleted": imagesDeleted, + "videos_deleted": videosDeleted, + }}) +} + +func createJob(agent *Agent, jobType string, total int) *MediaJob { + job := &MediaJob{ + ID: uuid.New().String(), + AgentID: agent.ID, + AgentName: agent.Name, + Type: jobType, + Status: "pending", + Progress: 0, + Total: total, + } + jobsMu.Lock() + jobs[job.ID] = job + jobsMu.Unlock() + hub.Broadcast(WSMessage{Type: "job_update", Payload: job}) + return job +} + +func updateJob(job *MediaJob) { + jobsMu.Lock() + jobs[job.ID] = job + jobsMu.Unlock() + hub.Broadcast(WSMessage{Type: "job_update", Payload: job}) + + // Auto-remove completed/error jobs after 30 seconds + if job.Status == "complete" || job.Status == "error" { + go func(jobID string) { + time.Sleep(30 * time.Second) + jobsMu.Lock() + delete(jobs, jobID) + jobsMu.Unlock() + hub.Broadcast(WSMessage{Type: "job_removed", Payload: map[string]string{"id": jobID}}) + }(job.ID) + } +} + +func clearCompletedJobs() { + jobsMu.Lock() + toRemove := []string{} + for id, job := range jobs { + if job.Status == "complete" || job.Status == "error" { + toRemove = append(toRemove, id) + } + } + for _, id := range toRemove { + delete(jobs, id) + } + jobsMu.Unlock() + + for _, id := range toRemove { + hub.Broadcast(WSMessage{Type: "job_removed", Payload: map[string]string{"id": id}}) + } +} + +func extractTags(spec *persona.PersonaSpec) []string { + tags := []string{} + + // Add archetype as a tag + if spec.Psychology.DatingPersonality.Archetype != "" { + tags = append(tags, strings.ToLower(spec.Psychology.DatingPersonality.Archetype)) + } + + // Add passionate interests as tags + for _, interest := range spec.Lifestyle.Interests.Passionate { + if len(tags) < 8 { + tags = append(tags, strings.ToLower(interest)) + } + } + + // Fill remaining slots with casual interests + for _, interest := range spec.Lifestyle.Interests.Casual { + if len(tags) < 8 { + tags = append(tags, strings.ToLower(interest)) + } + } + + return tags +} + +func saveAgentJSON(agent *Agent) error { + data, _ := json.MarshalIndent(agent, "", " ") + return os.WriteFile(filepath.Join(agentsDir, agent.ID+".json"), data, 0644) +} + +// updateAgentField atomically reads the agent, applies the update function, and saves. +// This prevents race conditions when multiple jobs update the same agent concurrently. +func updateAgentField(agentID string, updateFn func(*Agent)) (*Agent, error) { + agentsMu.Lock() + defer agentsMu.Unlock() + + agent, err := loadAgent(agentID) + if err != nil { + return nil, err + } + updateFn(agent) + if err := saveAgentJSON(agent); err != nil { + return nil, err + } + return agent, nil +} + +func loadAgent(id string) (*Agent, error) { + data, err := os.ReadFile(filepath.Join(agentsDir, id+".json")) + if err != nil { + return nil, err + } + var agent Agent + if err := json.Unmarshal(data, &agent); err != nil { + return nil, err + } + return &agent, nil +} + +func listAgents(w http.ResponseWriter, r *http.Request) { + // Parse pagination params + limit := 20 + offset := 0 + if l := r.URL.Query().Get("limit"); l != "" { + if parsed, err := strconv.Atoi(l); err == nil && parsed > 0 { + limit = parsed + } + } + if o := r.URL.Query().Get("offset"); o != "" { + if parsed, err := strconv.Atoi(o); err == nil && parsed >= 0 { + offset = parsed + } + } + + // Load all agents + files, _ := os.ReadDir(agentsDir) + allAgents := []Agent{} + for _, f := range files { + if !strings.HasSuffix(f.Name(), ".json") { + continue + } + data, err := os.ReadFile(filepath.Join(agentsDir, f.Name())) + if err != nil { + continue + } + var agent Agent + if json.Unmarshal(data, &agent) == nil { + allAgents = append(allAgents, agent) + } + } + + // Sort by created_at descending (newest first) + sort.Slice(allAgents, func(i, j int) bool { + return allAgents[i].CreatedAt.After(allAgents[j].CreatedAt) + }) + + // Apply pagination + total := len(allAgents) + end := offset + limit + if end > total { + end = total + } + start := offset + if start > total { + start = total + } + paged := allAgents[start:end] + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(map[string]interface{}{ + "agents": paged, + "total": total, + "has_more": end < total, + }) +} + +func getAgent(w http.ResponseWriter, r *http.Request) { + id := strings.TrimPrefix(r.URL.Path, "/agents/") + data, err := os.ReadFile(filepath.Join(agentsDir, id+".json")) + if err != nil { + http.Error(w, "Not found", http.StatusNotFound) + return + } + w.Header().Set("Content-Type", "application/json") + w.Write(data) +} + +func sendError(sc *SafeConn, msg string) { + sc.WriteJSON(WSMessage{Type: "error", Payload: map[string]string{"message": msg}}) +} + +// wsProgressReporter implements personagen.ProgressReporter for WebSocket updates +type wsProgressReporter struct { + send func(WSMessage) +} + +func (r *wsProgressReporter) OnProgress(stage, message string) { + r.send(WSMessage{Type: "progress", Payload: map[string]string{"stage": stage, "message": message}}) +} diff --git a/ideas/aeres/run.sh b/ideas/aeres/run.sh new file mode 100755 index 0000000..c17297f --- /dev/null +++ b/ideas/aeres/run.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + +# Set API key +export LAOZHANG_API_KEY="${LAOZHANG_API_KEY:-sk-1NQb5nuzxg0mh16D48E7C20e0911463a951e3156F3Ec4aE6}" +export PORT="${PORT:-8080}" + +# Download dependencies +go mod tidy + +# Run the server +echo "Starting Agent Creator on http://localhost:$PORT" +echo "Agents will be saved to ./agents/" +echo "" +go run main.go diff --git a/internal/adapter/deployer/resources.go b/internal/adapter/deployer/resources.go index b053848..7422b70 100644 --- a/internal/adapter/deployer/resources.go +++ b/internal/adapter/deployer/resources.go @@ -117,6 +117,11 @@ func (d *Deployer) createOrUpdateDeployment(ctx context.Context, spec domain.Dep envVars = append(envVars, corev1.EnvVar{Name: k, Value: v}) } + // Inject sibling service URLs for service discovery + for k, v := range spec.SiblingServices { + envVars = append(envVars, corev1.EnvVar{Name: k, Value: v}) + } + // Add secret env vars var envFrom []corev1.EnvFromSource if len(spec.Secrets) > 0 { diff --git a/internal/adapter/sdlc/worker_executor.go b/internal/adapter/sdlc/worker_executor.go new file mode 100644 index 0000000..e2d9c09 --- /dev/null +++ b/internal/adapter/sdlc/worker_executor.go @@ -0,0 +1,452 @@ +// Package sdlc provides SDLC-related adapters. +package sdlc + +import ( + "context" + "database/sql" + "encoding/json" + "fmt" + "log/slog" + "time" + + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/port" + "github.com/orchard9/rdev/internal/sdlc" +) + +// WorkerSDLCExecutor implements port.SDLCExecutor by routing commands through +// the worker pool. Used for skeleton/monorepo projects that don't have a +// dedicated pod. +type WorkerSDLCExecutor struct { + workQueue port.WorkQueue + db *sql.DB + timeout time.Duration + logger *slog.Logger +} + +// WorkerSDLCExecutorConfig configures the worker SDLC executor. +type WorkerSDLCExecutorConfig struct { + // WorkQueue for enqueueing SDLC tasks. + WorkQueue port.WorkQueue + + // DB for fetching project git clone URLs. + DB *sql.DB + + // Timeout is the maximum wait time for task completion (default: 2 minutes). + Timeout time.Duration + + Logger *slog.Logger +} + +// NewWorkerSDLCExecutor creates a new worker-based SDLC executor. +func NewWorkerSDLCExecutor(cfg WorkerSDLCExecutorConfig) *WorkerSDLCExecutor { + timeout := cfg.Timeout + if timeout == 0 { + timeout = 2 * time.Minute + } + logger := cfg.Logger + if logger == nil { + logger = slog.Default() + } + return &WorkerSDLCExecutor{ + workQueue: cfg.WorkQueue, + db: cfg.DB, + timeout: timeout, + logger: logger.With("component", "worker-sdlc-executor"), + } +} + +// getGitCloneURL fetches the HTTP clone URL for a project from the database. +func (e *WorkerSDLCExecutor) getGitCloneURL(ctx context.Context, projectID string) (string, error) { + if e.db == nil { + return "", fmt.Errorf("database not configured for worker SDLC executor") + } + var gitCloneHTTP sql.NullString + err := e.db.QueryRowContext(ctx, + `SELECT git_clone_http FROM projects WHERE id = $1`, + projectID, + ).Scan(&gitCloneHTTP) + if err != nil { + if err == sql.ErrNoRows { + return "", domain.ErrProjectNotFound + } + return "", fmt.Errorf("failed to get project git URL: %w", err) + } + if !gitCloneHTTP.Valid || gitCloneHTTP.String == "" { + return "", fmt.Errorf("project %s has no git clone URL configured", projectID) + } + return gitCloneHTTP.String, nil +} + +// enqueueAndWait enqueues an SDLC task and waits for completion. +func (e *WorkerSDLCExecutor) enqueueAndWait(ctx context.Context, projectID string, spec domain.SDLCTaskSpec) (string, error) { + specMap := map[string]any{ + "command": spec.Command, + "args": spec.Args, + "git_clone_url": spec.GitCloneURL, + "auto_commit": spec.AutoCommit, + "auto_push": spec.AutoPush, + } + + task := &domain.WorkTask{ + ProjectID: projectID, + Type: domain.WorkTaskTypeSDLC, + Spec: specMap, + MaxRetries: 1, + } + + taskID, err := e.workQueue.Enqueue(ctx, task) + if err != nil { + return "", fmt.Errorf("failed to enqueue SDLC task: %w", err) + } + + e.logger.Info("enqueued SDLC task", + "task_id", taskID, + "project_id", projectID, + "command", spec.Command, + ) + + return e.waitForCompletion(ctx, taskID) +} + +// waitForCompletion polls the work queue until the task completes or times out. +func (e *WorkerSDLCExecutor) waitForCompletion(ctx context.Context, taskID string) (string, error) { + deadline := time.Now().Add(e.timeout) + ticker := time.NewTicker(500 * time.Millisecond) + defer ticker.Stop() + + for { + select { + case <-ctx.Done(): + return "", ctx.Err() + case <-ticker.C: + if time.Now().After(deadline) { + return "", fmt.Errorf("timeout waiting for SDLC task %s", taskID) + } + + task, err := e.workQueue.GetTask(ctx, taskID) + if err != nil { + continue // Task might not exist yet + } + + switch task.Status { + case domain.WorkTaskStatusCompleted: + if task.Result != nil { + return task.Result.Output, nil + } + return "", nil + case domain.WorkTaskStatusFailed: + return "", fmt.Errorf("SDLC task failed: %s", task.Error) + case domain.WorkTaskStatusCancelled: + return "", fmt.Errorf("SDLC task was cancelled") + } + // Still pending or running, continue polling + } + } +} + +// executeCommand is a helper that builds and executes an SDLC command. +func (e *WorkerSDLCExecutor) executeCommand(ctx context.Context, projectID, command string, args ...string) (string, error) { + gitURL, err := e.getGitCloneURL(ctx, projectID) + if err != nil { + return "", err + } + + spec := domain.SDLCTaskSpec{ + Command: command, + Args: args, + GitCloneURL: gitURL, + AutoCommit: true, + AutoPush: true, + } + + return e.enqueueAndWait(ctx, projectID, spec) +} + +// executeReadOnlyCommand executes an SDLC command that doesn't modify state. +func (e *WorkerSDLCExecutor) executeReadOnlyCommand(ctx context.Context, projectID, command string, args ...string) (string, error) { + gitURL, err := e.getGitCloneURL(ctx, projectID) + if err != nil { + return "", err + } + + spec := domain.SDLCTaskSpec{ + Command: command, + Args: args, + GitCloneURL: gitURL, + AutoCommit: false, + AutoPush: false, + } + + return e.enqueueAndWait(ctx, projectID, spec) +} + +// GetState returns the global SDLC state for a project. +func (e *WorkerSDLCExecutor) GetState(ctx context.Context, projectID string) (*sdlc.State, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "state") + if err != nil { + return nil, err + } + var state sdlc.State + if err := json.Unmarshal([]byte(output), &state); err != nil { + return nil, fmt.Errorf("parse sdlc state: %w", err) + } + return &state, nil +} + +// GetNext returns the classifier's recommendation for the next action. +func (e *WorkerSDLCExecutor) GetNext(ctx context.Context, projectID, feature string) (*sdlc.Classification, error) { + args := []string{} + if feature != "" { + args = append(args, "--feature", feature) + } + output, err := e.executeReadOnlyCommand(ctx, projectID, "next", args...) + if err != nil { + return nil, err + } + var cl sdlc.Classification + if err := json.Unmarshal([]byte(output), &cl); err != nil { + return nil, fmt.Errorf("parse sdlc classification: %w", err) + } + return &cl, nil +} + +// ListFeatures returns all features in the project. +func (e *WorkerSDLCExecutor) ListFeatures(ctx context.Context, projectID string) ([]*sdlc.Feature, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "feature", "list") + if err != nil { + return nil, err + } + var features []*sdlc.Feature + if err := json.Unmarshal([]byte(output), &features); err != nil { + return nil, fmt.Errorf("parse sdlc features: %w", err) + } + return features, nil +} + +// GetFeature returns a single feature by slug. +func (e *WorkerSDLCExecutor) GetFeature(ctx context.Context, projectID, slug string) (*sdlc.Feature, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "feature", "show", slug) + if err != nil { + return nil, err + } + var f sdlc.Feature + if err := json.Unmarshal([]byte(output), &f); err != nil { + return nil, fmt.Errorf("parse sdlc feature: %w", err) + } + return &f, nil +} + +// CreateFeature creates a new feature with the given slug and title. +func (e *WorkerSDLCExecutor) CreateFeature(ctx context.Context, projectID, slug, title string) (*sdlc.Feature, error) { + output, err := e.executeCommand(ctx, projectID, "feature", "create", slug, "--title", title) + if err != nil { + return nil, err + } + var f sdlc.Feature + if err := json.Unmarshal([]byte(output), &f); err != nil { + return nil, fmt.Errorf("parse sdlc feature: %w", err) + } + return &f, nil +} + +// TransitionFeature moves a feature to the specified phase. +func (e *WorkerSDLCExecutor) TransitionFeature(ctx context.Context, projectID, slug string, phase sdlc.FeaturePhase) error { + _, err := e.executeCommand(ctx, projectID, "feature", "transition", slug, string(phase)) + return err +} + +// BlockFeature adds a blocker reason to a feature. +func (e *WorkerSDLCExecutor) BlockFeature(ctx context.Context, projectID, slug, reason string) error { + _, err := e.executeCommand(ctx, projectID, "feature", "block", slug, "--reason", reason) + return err +} + +// UnblockFeature removes all blockers from a feature. +func (e *WorkerSDLCExecutor) UnblockFeature(ctx context.Context, projectID, slug string) error { + _, err := e.executeCommand(ctx, projectID, "feature", "unblock", slug) + return err +} + +// DeleteFeature removes a feature entirely. +func (e *WorkerSDLCExecutor) DeleteFeature(ctx context.Context, projectID, slug string) error { + _, err := e.executeCommand(ctx, projectID, "feature", "delete", slug, "--force") + return err +} + +// GetArtifactStatus returns artifact statuses for a feature. +func (e *WorkerSDLCExecutor) GetArtifactStatus(ctx context.Context, projectID, slug string) (map[sdlc.ArtifactType]*sdlc.Artifact, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "artifact", "status", slug) + if err != nil { + return nil, err + } + var artifacts map[sdlc.ArtifactType]*sdlc.Artifact + if err := json.Unmarshal([]byte(output), &artifacts); err != nil { + return nil, fmt.Errorf("parse sdlc artifacts: %w", err) + } + return artifacts, nil +} + +// ApproveArtifact approves a feature artifact. +func (e *WorkerSDLCExecutor) ApproveArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { + _, err := e.executeCommand(ctx, projectID, "artifact", "approve", slug, string(artType)) + return err +} + +// RejectArtifact rejects a feature artifact. +func (e *WorkerSDLCExecutor) RejectArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { + _, err := e.executeCommand(ctx, projectID, "artifact", "reject", slug, string(artType)) + return err +} + +// PassArtifact marks a feature artifact as passed. +func (e *WorkerSDLCExecutor) PassArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { + _, err := e.executeCommand(ctx, projectID, "artifact", "pass", slug, string(artType)) + return err +} + +// FailArtifact marks a feature artifact as failed. +func (e *WorkerSDLCExecutor) FailArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { + _, err := e.executeCommand(ctx, projectID, "artifact", "fail", slug, string(artType)) + return err +} + +// NeedsFixArtifact marks a feature artifact as needing fixes. +func (e *WorkerSDLCExecutor) NeedsFixArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { + _, err := e.executeCommand(ctx, projectID, "artifact", "needs-fix", slug, string(artType)) + return err +} + +// ListTasks returns all tasks for a feature. +func (e *WorkerSDLCExecutor) ListTasks(ctx context.Context, projectID, slug string) ([]sdlc.Task, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "task", "list", slug) + if err != nil { + return nil, err + } + var tasks []sdlc.Task + if err := json.Unmarshal([]byte(output), &tasks); err != nil { + return nil, fmt.Errorf("parse sdlc tasks: %w", err) + } + return tasks, nil +} + +// AddTask adds a new task to a feature. +func (e *WorkerSDLCExecutor) AddTask(ctx context.Context, projectID, slug, title string) (*sdlc.Task, error) { + output, err := e.executeCommand(ctx, projectID, "task", "add", slug, "--title", title) + if err != nil { + return nil, err + } + var t sdlc.Task + if err := json.Unmarshal([]byte(output), &t); err != nil { + return nil, fmt.Errorf("parse sdlc task: %w", err) + } + return &t, nil +} + +// StartTask marks a task as in-progress. +func (e *WorkerSDLCExecutor) StartTask(ctx context.Context, projectID, slug, taskID string) error { + _, err := e.executeCommand(ctx, projectID, "task", "start", slug, taskID) + return err +} + +// CompleteTask marks a task as complete. +func (e *WorkerSDLCExecutor) CompleteTask(ctx context.Context, projectID, slug, taskID string) error { + _, err := e.executeCommand(ctx, projectID, "task", "complete", slug, taskID) + return err +} + +// BlockTask marks a task as blocked. +func (e *WorkerSDLCExecutor) BlockTask(ctx context.Context, projectID, slug, taskID string) error { + _, err := e.executeCommand(ctx, projectID, "task", "block", slug, taskID) + return err +} + +// QueryBlocked returns all blocked features. +func (e *WorkerSDLCExecutor) QueryBlocked(ctx context.Context, projectID string) ([]port.BlockedInfo, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "query", "blocked") + if err != nil { + return nil, err + } + var blocked []port.BlockedInfo + if err := json.Unmarshal([]byte(output), &blocked); err != nil { + return nil, fmt.Errorf("parse sdlc blocked query: %w", err) + } + return blocked, nil +} + +// QueryReady returns features ready for work. +func (e *WorkerSDLCExecutor) QueryReady(ctx context.Context, projectID string) ([]port.ReadyInfo, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "query", "ready") + if err != nil { + return nil, err + } + var ready []port.ReadyInfo + if err := json.Unmarshal([]byte(output), &ready); err != nil { + return nil, fmt.Errorf("parse sdlc ready query: %w", err) + } + return ready, nil +} + +// QueryNeedsApproval returns features awaiting approval. +func (e *WorkerSDLCExecutor) QueryNeedsApproval(ctx context.Context, projectID string) ([]port.ApprovalInfo, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "query", "needs-approval") + if err != nil { + return nil, err + } + var pending []port.ApprovalInfo + if err := json.Unmarshal([]byte(output), &pending); err != nil { + return nil, fmt.Errorf("parse sdlc approval query: %w", err) + } + return pending, nil +} + +// CreateBranch creates a feature branch and its manifest. +func (e *WorkerSDLCExecutor) CreateBranch(ctx context.Context, projectID, slug string) (*sdlc.BranchManifest, error) { + output, err := e.executeCommand(ctx, projectID, "branch", "create", slug) + if err != nil { + return nil, err + } + var manifest sdlc.BranchManifest + if err := json.Unmarshal([]byte(output), &manifest); err != nil { + return nil, fmt.Errorf("parse sdlc branch manifest: %w", err) + } + return &manifest, nil +} + +// GetBranchStatus returns the full branch status including checklist. +func (e *WorkerSDLCExecutor) GetBranchStatus(ctx context.Context, projectID, slug string) (*port.BranchStatus, error) { + output, err := e.executeReadOnlyCommand(ctx, projectID, "branch", "status", slug) + if err != nil { + return nil, err + } + var result port.BranchStatus + if err := json.Unmarshal([]byte(output), &result); err != nil { + return nil, fmt.Errorf("parse sdlc branch status: %w", err) + } + return &result, nil +} + +// SyncBranch syncs a feature branch with its base branch. +func (e *WorkerSDLCExecutor) SyncBranch(ctx context.Context, projectID, slug string) error { + _, err := e.executeCommand(ctx, projectID, "branch", "sync", slug) + return err +} + +// MergeFeature merges a feature branch after all gates pass. +func (e *WorkerSDLCExecutor) MergeFeature(ctx context.Context, projectID, slug, strategy string) error { + args := []string{slug} + if strategy != "" { + args = append(args, "--strategy", strategy) + } + _, err := e.executeCommand(ctx, projectID, "merge", args...) + return err +} + +// ArchiveFeature archives a released feature. +func (e *WorkerSDLCExecutor) ArchiveFeature(ctx context.Context, projectID, slug string) error { + _, err := e.executeCommand(ctx, projectID, "archive", slug) + return err +} + +// Compile-time interface check. +var _ port.SDLCExecutor = (*WorkerSDLCExecutor)(nil) diff --git a/internal/adapter/sdlc/worker_executor_test.go b/internal/adapter/sdlc/worker_executor_test.go new file mode 100644 index 0000000..93fd56c --- /dev/null +++ b/internal/adapter/sdlc/worker_executor_test.go @@ -0,0 +1,269 @@ +package sdlc + +import ( + "context" + "database/sql" + "encoding/json" + "fmt" + "testing" + "time" + + "github.com/orchard9/rdev/internal/domain" +) + +// mockWorkQueue implements port.WorkQueue for testing. +type mockWorkQueue struct { + tasks map[string]*domain.WorkTask + err error +} + +func newMockWorkQueue() *mockWorkQueue { + return &mockWorkQueue{tasks: make(map[string]*domain.WorkTask)} +} + +func (m *mockWorkQueue) Enqueue(ctx context.Context, task *domain.WorkTask) (string, error) { + if m.err != nil { + return "", m.err + } + id := fmt.Sprintf("task-%d", len(m.tasks)+1) + task.ID = id + task.Status = domain.WorkTaskStatusPending + task.CreatedAt = time.Now() + m.tasks[id] = task + return id, nil +} + +func (m *mockWorkQueue) Dequeue(ctx context.Context, workerID string) (*domain.WorkTask, error) { + return nil, nil +} + +func (m *mockWorkQueue) Complete(ctx context.Context, taskID string, result *domain.WorkResult) error { + if m.err != nil { + return m.err + } + task, ok := m.tasks[taskID] + if !ok { + return domain.ErrWorkTaskNotFound + } + task.Status = domain.WorkTaskStatusCompleted + task.Result = result + return nil +} + +func (m *mockWorkQueue) Fail(ctx context.Context, taskID string, errMsg string) error { + return m.FailWithCode(ctx, taskID, errMsg, domain.WorkErrorCodeNone) +} + +func (m *mockWorkQueue) FailWithCode(ctx context.Context, taskID string, errMsg string, code domain.WorkErrorCode) error { + if m.err != nil { + return m.err + } + task, ok := m.tasks[taskID] + if !ok { + return domain.ErrWorkTaskNotFound + } + task.Status = domain.WorkTaskStatusFailed + task.Error = errMsg + task.ErrorCode = code + return nil +} + +func (m *mockWorkQueue) Cancel(ctx context.Context, taskID string) error { + return nil +} + +func (m *mockWorkQueue) GetTask(ctx context.Context, taskID string) (*domain.WorkTask, error) { + task, ok := m.tasks[taskID] + if !ok { + return nil, domain.ErrWorkTaskNotFound + } + return task, nil +} + +func (m *mockWorkQueue) ListByProject(ctx context.Context, projectID string, status *domain.WorkTaskStatus, opts domain.WorkListOptions) (*domain.WorkListResult, error) { + return &domain.WorkListResult{}, nil +} + +func (m *mockWorkQueue) GetStats(ctx context.Context) (*domain.WorkQueueStats, error) { + return &domain.WorkQueueStats{}, nil +} + +func (m *mockWorkQueue) CleanupOld(ctx context.Context, olderThan time.Duration) (int64, error) { + return 0, nil +} + +func (m *mockWorkQueue) RequeueStale(ctx context.Context, timeout time.Duration) (int64, error) { + return 0, nil +} + +func (m *mockWorkQueue) RequeueStaleWithIDs(ctx context.Context, timeout time.Duration) ([]string, error) { + return nil, nil +} + +func TestWorkerSDLCExecutor_EnqueueTask(t *testing.T) { + queue := newMockWorkQueue() + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: queue, + DB: nil, // No DB for this test + Timeout: 2 * time.Second, + }) + + // Test that enqueue builds the correct spec + spec := domain.SDLCTaskSpec{ + Command: "feature-create", + Args: []string{"auth-flow", "--title", "Auth Flow"}, + GitCloneURL: "https://git.example.com/owner/repo.git", + AutoCommit: true, + AutoPush: true, + } + + // Start the completion goroutine before enqueueing + // Use a channel to synchronize + done := make(chan struct{}) + go func() { + // Wait a bit for the task to be enqueued + time.Sleep(100 * time.Millisecond) + for i := 0; i < 10; i++ { + if len(queue.tasks) > 0 { + break + } + time.Sleep(50 * time.Millisecond) + } + for _, task := range queue.tasks { + task.Status = domain.WorkTaskStatusCompleted + featureJSON, _ := json.Marshal(map[string]string{ + "slug": "auth-flow", + "title": "Auth Flow", + }) + task.Result = &domain.WorkResult{Output: string(featureJSON)} + } + close(done) + }() + + output, err := exec.enqueueAndWait(context.Background(), "project-1", spec) + <-done // Wait for completion goroutine + if err != nil { + t.Fatalf("enqueueAndWait() error = %v", err) + } + if output == "" { + t.Error("expected output") + } + + // Verify task was enqueued with correct spec + if len(queue.tasks) != 1 { + t.Fatalf("expected 1 task, got %d", len(queue.tasks)) + } + for _, task := range queue.tasks { + if task.Type != domain.WorkTaskTypeSDLC { + t.Errorf("got task type %q, want %q", task.Type, domain.WorkTaskTypeSDLC) + } + if cmd, _ := task.Spec["command"].(string); cmd != "feature-create" { + t.Errorf("got command %q, want %q", cmd, "feature-create") + } + } +} + +func TestWorkerSDLCExecutor_Timeout(t *testing.T) { + queue := newMockWorkQueue() + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: queue, + DB: nil, + Timeout: 100 * time.Millisecond, // Short timeout + }) + + spec := domain.SDLCTaskSpec{ + Command: "feature-create", + Args: []string{"auth-flow"}, + GitCloneURL: "https://git.example.com/owner/repo.git", + } + + // Don't complete the task - it should timeout + _, err := exec.enqueueAndWait(context.Background(), "project-1", spec) + if err == nil { + t.Error("expected timeout error") + } +} + +func TestWorkerSDLCExecutor_TaskFailed(t *testing.T) { + queue := newMockWorkQueue() + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: queue, + DB: nil, + Timeout: 500 * time.Millisecond, + }) + + spec := domain.SDLCTaskSpec{ + Command: "feature-create", + Args: []string{"auth-flow"}, + GitCloneURL: "https://git.example.com/owner/repo.git", + } + + // Simulate task failure + go func() { + time.Sleep(50 * time.Millisecond) + for _, task := range queue.tasks { + task.Status = domain.WorkTaskStatusFailed + task.Error = "sdlc command failed: feature already exists" + } + }() + + _, err := exec.enqueueAndWait(context.Background(), "project-1", spec) + if err == nil { + t.Error("expected error for failed task") + } +} + +func TestWorkerSDLCExecutor_ContextCancelled(t *testing.T) { + queue := newMockWorkQueue() + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: queue, + DB: nil, + Timeout: 5 * time.Second, + }) + + ctx, cancel := context.WithCancel(context.Background()) + go func() { + time.Sleep(50 * time.Millisecond) + cancel() + }() + + spec := domain.SDLCTaskSpec{ + Command: "feature-create", + Args: []string{"auth-flow"}, + GitCloneURL: "https://git.example.com/owner/repo.git", + } + + _, err := exec.enqueueAndWait(ctx, "project-1", spec) + if err == nil { + t.Error("expected context cancelled error") + } +} + +func TestWorkerSDLCExecutor_NoGitURL(t *testing.T) { + queue := newMockWorkQueue() + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: queue, + DB: nil, // No DB - can't get git URL + Timeout: 500 * time.Millisecond, + }) + + // This should fail because we can't get the git URL without a database + _, err := exec.GetState(context.Background(), "project-1") + if err == nil { + t.Error("expected error when DB is nil") + } +} + +func TestWorkerSDLCExecutor_InterfaceCompliance(t *testing.T) { + // Verify that WorkerSDLCExecutor implements port.SDLCExecutor at compile time + // This is already done in the source file, but we test it here too + exec := NewWorkerSDLCExecutor(WorkerSDLCExecutorConfig{ + WorkQueue: newMockWorkQueue(), + DB: (*sql.DB)(nil), + }) + + // Just ensure the executor exists and has the right methods + if exec == nil { + t.Error("expected non-nil executor") + } +} diff --git a/internal/adapter/templates/templates/components/worker/.env.example.tmpl b/internal/adapter/templates/templates/components/worker/.env.example.tmpl index fd1ed07..4041ac0 100644 --- a/internal/adapter/templates/templates/components/worker/.env.example.tmpl +++ b/internal/adapter/templates/templates/components/worker/.env.example.tmpl @@ -9,13 +9,15 @@ APP_DEBUG=true LOG_LEVEL=debug LOG_FORMAT=text +# Database (required for job queue) +DATABASE_URL=postgres://dev:dev@localhost:5432/{{PROJECT_NAME}}?sslmode=disable + # Worker WORKER_POLL_INTERVAL=10s WORKER_BATCH_SIZE=10 WORKER_MAX_RETRIES=3 +WORKER_STALE_JOB_TIMEOUT=5m +WORKER_JOB_TIMEOUT=5m -# Database (if needed) -DATABASE_URL=postgres://dev:dev@localhost:5432/{{PROJECT_NAME}}?sslmode=disable - -# Redis (if needed) +# Redis (optional, for cache) # REDIS_URL=redis://localhost:6379/0 diff --git a/internal/adapter/templates/templates/components/worker/cmd/worker/main.go.tmpl b/internal/adapter/templates/templates/components/worker/cmd/worker/main.go.tmpl index 4c32742..40129bf 100644 --- a/internal/adapter/templates/templates/components/worker/cmd/worker/main.go.tmpl +++ b/internal/adapter/templates/templates/components/worker/cmd/worker/main.go.tmpl @@ -3,29 +3,36 @@ package main import ( "context" + "embed" "os" "os/signal" "syscall" + "time" "{{GO_MODULE}}/pkg/config" + "{{GO_MODULE}}/pkg/database" "{{GO_MODULE}}/pkg/logging" + "{{GO_MODULE}}/pkg/queue" "{{GO_MODULE}}/workers/{{COMPONENT_NAME}}/internal/handlers" + workerconfig "{{GO_MODULE}}/workers/{{COMPONENT_NAME}}/internal/config" ) +//go:embed migrations/*.sql +var migrationsFS embed.FS + func main() { // Initialize configuration - config.MustInit(config.Options{ - AppName: "{{COMPONENT_NAME}}", - }) + cfg, err := workerconfig.Load() + if err != nil { + panic("failed to load config: " + err.Error()) + } // Initialize logger - logCfg := config.ReadLoggingConfig() - appCfg := config.ReadAppConfig() logger := logging.New(logging.Config{ - Level: logging.ParseLevel(logCfg.Level), - Format: logging.ParseFormat(logCfg.Format), - Environment: appCfg.Environment, - AddSource: appCfg.IsDevelopment(), + Level: logging.ParseLevel(cfg.Logging.Level), + Format: logging.ParseFormat(cfg.Logging.Format), + Environment: cfg.AppConfig.Environment, + AddSource: cfg.AppConfig.IsDevelopment(), }).WithService("{{COMPONENT_NAME}}") logger.Info("starting {{COMPONENT_NAME}} worker") @@ -34,15 +41,48 @@ func main() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() + // Connect to database + pool, err := database.Connect(ctx, cfg.Database.URL, database.Options{ + MaxOpenConns: cfg.Database.MaxOpenConns, + MaxIdleConns: cfg.Database.MaxIdleConns, + ConnMaxLifetime: cfg.Database.ConnMaxLifetime, + }) + if err != nil { + logger.Error("failed to connect to database", "error", err) + os.Exit(1) + } + defer pool.Close() + logger.Info("connected to database", "url", pool.URL) + + // Run migrations + database.MustRunMigrations(ctx, pool, migrationsFS, "migrations") + logger.Info("migrations complete") + + // Initialize queue + jobQueue := queue.NewPostgresQueue(pool.DB, logger) + + // Initialize and start handler + handler := handlers.New(logger, jobQueue, handlers.Config{ + PollInterval: cfg.Worker.PollInterval, + StaleJobTimeout: cfg.Worker.StaleJobTimeout, + JobTimeout: cfg.Worker.JobTimeout, + }) + + // Register job handlers + // TODO: Register your job handlers here + // handler.RegisterHandler("send_email", emailHandler) + // handler.RegisterHandler("process_image", imageHandler) + + // Setup signal handling sigCh := make(chan os.Signal, 1) signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) - // Initialize and start handler - handler := handlers.New(logger) - // Start worker in goroutine go handler.Run(ctx) + // Start stale job recovery in goroutine + go runStaleJobRecovery(ctx, jobQueue, cfg.Worker.StaleJobTimeout, logger) + // Wait for shutdown signal sig := <-sigCh logger.Info("received shutdown signal", "signal", sig.String()) @@ -50,5 +90,28 @@ func main() { // Trigger graceful shutdown cancel() + // Give in-flight jobs time to complete + time.Sleep(2 * time.Second) + logger.Info("{{COMPONENT_NAME}} worker stopped") } + +// runStaleJobRecovery periodically requeues jobs that have been running too long. +func runStaleJobRecovery(ctx context.Context, q *queue.PostgresQueue, timeout time.Duration, logger *logging.Logger) { + ticker := time.NewTicker(time.Minute) + defer ticker.Stop() + + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + count, err := q.RequeueStale(ctx, timeout) + if err != nil { + logger.Error("failed to requeue stale jobs", "error", err) + } else if count > 0 { + logger.Info("requeued stale jobs", "count", count) + } + } + } +} diff --git a/internal/adapter/templates/templates/components/worker/cmd/worker/migrations/001_create_jobs.sql.tmpl b/internal/adapter/templates/templates/components/worker/cmd/worker/migrations/001_create_jobs.sql.tmpl new file mode 100644 index 0000000..5af8ef9 --- /dev/null +++ b/internal/adapter/templates/templates/components/worker/cmd/worker/migrations/001_create_jobs.sql.tmpl @@ -0,0 +1,32 @@ +-- Jobs queue table for async job processing. +-- Used by pkg/queue for producer/consumer patterns. +CREATE TABLE IF NOT EXISTS jobs ( + id UUID PRIMARY KEY, + job_type VARCHAR(255) NOT NULL, + payload JSONB NOT NULL DEFAULT '{}', + status VARCHAR(50) NOT NULL DEFAULT 'pending', + priority INT NOT NULL DEFAULT 0, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + started_at TIMESTAMPTZ, + completed_at TIMESTAMPTZ, + retry_count INT NOT NULL DEFAULT 0, + max_retries INT NOT NULL DEFAULT 3, + error TEXT, + worker_id VARCHAR(255) +); + +-- Index for efficient dequeue: pending jobs ordered by priority (desc) and age (asc). +-- Partial index only includes pending jobs for efficiency. +CREATE INDEX IF NOT EXISTS idx_jobs_dequeue ON jobs (priority DESC, created_at ASC) + WHERE status = 'pending'; + +-- Index for finding stale running jobs that need requeue. +-- Used by RequeueStale to recover from crashed workers. +CREATE INDEX IF NOT EXISTS idx_jobs_stale ON jobs (started_at) + WHERE status = 'running'; + +-- Index for listing/filtering jobs by type. +CREATE INDEX IF NOT EXISTS idx_jobs_type ON jobs (job_type, created_at DESC); + +-- Index for listing jobs by status (useful for monitoring dashboards). +CREATE INDEX IF NOT EXISTS idx_jobs_status ON jobs (status, created_at DESC); diff --git a/internal/adapter/templates/templates/components/worker/go.mod.tmpl b/internal/adapter/templates/templates/components/worker/go.mod.tmpl index 7ff0d21..df0124d 100644 --- a/internal/adapter/templates/templates/components/worker/go.mod.tmpl +++ b/internal/adapter/templates/templates/components/worker/go.mod.tmpl @@ -2,7 +2,10 @@ module {{GO_MODULE}}/workers/{{COMPONENT_NAME}} go 1.23 -require {{GO_MODULE}}/pkg v0.0.0 +require ( + {{GO_MODULE}}/pkg v0.0.0 + github.com/google/uuid v1.6.0 +) // Use local workspace modules (for Docker builds without go.work) replace {{GO_MODULE}}/pkg => ../../pkg diff --git a/internal/adapter/templates/templates/components/worker/internal/config/config.go.tmpl b/internal/adapter/templates/templates/components/worker/internal/config/config.go.tmpl index ac4cfe3..c2173aa 100644 --- a/internal/adapter/templates/templates/components/worker/internal/config/config.go.tmpl +++ b/internal/adapter/templates/templates/components/worker/internal/config/config.go.tmpl @@ -19,14 +19,21 @@ type Config struct { // WorkerConfig holds worker-specific settings. type WorkerConfig struct { - // PollInterval is how often to check for new jobs. + // PollInterval is how often to check for new jobs when queue is empty. PollInterval time.Duration - // BatchSize is the max number of jobs to process per poll. + // BatchSize is the max number of jobs to process per poll (for batch workers). BatchSize int - // MaxRetries is the maximum number of retry attempts for failed jobs. + // MaxRetries is the default maximum retry attempts for failed jobs. MaxRetries int + + // StaleJobTimeout is how long a job can run before being considered stale. + // Jobs running longer than this without heartbeat will be requeued. + StaleJobTimeout time.Duration + + // JobTimeout is the maximum time a single job handler can run. + JobTimeout time.Duration } // Load reads configuration from environment variables. @@ -37,6 +44,8 @@ func Load() (*Config, error) { viper.SetDefault("WORKER_POLL_INTERVAL", "10s") viper.SetDefault("WORKER_BATCH_SIZE", 10) viper.SetDefault("WORKER_MAX_RETRIES", 3) + viper.SetDefault("WORKER_STALE_JOB_TIMEOUT", "5m") + viper.SetDefault("WORKER_JOB_TIMEOUT", "5m") }, }); err != nil { return nil, err @@ -47,9 +56,11 @@ func Load() (*Config, error) { Database: config.ReadDatabaseConfig(), Logging: config.ReadLoggingConfig(), Worker: WorkerConfig{ - PollInterval: viper.GetDuration("WORKER_POLL_INTERVAL"), - BatchSize: viper.GetInt("WORKER_BATCH_SIZE"), - MaxRetries: viper.GetInt("WORKER_MAX_RETRIES"), + PollInterval: viper.GetDuration("WORKER_POLL_INTERVAL"), + BatchSize: viper.GetInt("WORKER_BATCH_SIZE"), + MaxRetries: viper.GetInt("WORKER_MAX_RETRIES"), + StaleJobTimeout: viper.GetDuration("WORKER_STALE_JOB_TIMEOUT"), + JobTimeout: viper.GetDuration("WORKER_JOB_TIMEOUT"), }, }, nil } diff --git a/internal/adapter/templates/templates/components/worker/internal/handlers/handler.go.tmpl b/internal/adapter/templates/templates/components/worker/internal/handlers/handler.go.tmpl index abd40a9..e7f0ae2 100644 --- a/internal/adapter/templates/templates/components/worker/internal/handlers/handler.go.tmpl +++ b/internal/adapter/templates/templates/components/worker/internal/handlers/handler.go.tmpl @@ -3,51 +3,136 @@ package handlers import ( "context" + "errors" + "fmt" + "sync" "time" + "github.com/google/uuid" + "{{GO_MODULE}}/pkg/logging" + "{{GO_MODULE}}/pkg/queue" ) -// Handler processes background jobs. +// Config holds handler configuration. +type Config struct { + // PollInterval is how often to check for new jobs when queue is empty. + PollInterval time.Duration + + // StaleJobTimeout is how long a job can run before being considered stale. + StaleJobTimeout time.Duration + + // JobTimeout is the maximum time a job handler can run. + JobTimeout time.Duration +} + +// Handler processes background jobs from the queue. type Handler struct { - logger *logging.Logger + logger *logging.Logger + queue queue.Consumer + handlers map[string]queue.Handler + config Config + workerID string + mu sync.RWMutex } // New creates a new Handler. -func New(logger *logging.Logger) *Handler { - return &Handler{ - logger: logger.WithComponent("handler"), +func New(logger *logging.Logger, q queue.Consumer, cfg Config) *Handler { + // Apply defaults + if cfg.PollInterval == 0 { + cfg.PollInterval = 10 * time.Second } + if cfg.StaleJobTimeout == 0 { + cfg.StaleJobTimeout = 5 * time.Minute + } + if cfg.JobTimeout == 0 { + cfg.JobTimeout = 5 * time.Minute + } + + return &Handler{ + logger: logger.WithComponent("handler"), + queue: q, + handlers: make(map[string]queue.Handler), + config: cfg, + workerID: uuid.New().String(), + } +} + +// RegisterHandler registers a handler for a specific job type. +// Call this before Run() to set up job processing. +func (h *Handler) RegisterHandler(jobType string, handler queue.Handler) { + h.mu.Lock() + defer h.mu.Unlock() + h.handlers[jobType] = handler + h.logger.Info("registered job handler", "type", jobType) } // Run starts the worker loop and processes jobs until context is cancelled. func (h *Handler) Run(ctx context.Context) { - h.logger.Info("worker loop started") - - ticker := time.NewTicker(10 * time.Second) - defer ticker.Stop() + h.logger.Info("worker loop started", "worker_id", h.workerID) for { select { case <-ctx.Done(): - h.logger.Info("worker loop stopping") + h.logger.Info("worker loop stopping", "worker_id", h.workerID) return - case <-ticker.C: - h.processJobs(ctx) + default: + if err := h.processNextJob(ctx); err != nil { + if errors.Is(err, queue.ErrNoJob) { + // Queue is empty, wait before polling again + select { + case <-ctx.Done(): + return + case <-time.After(h.config.PollInterval): + continue + } + } + // Log error and continue + h.logger.Error("error processing job", "error", err) + time.Sleep(time.Second) // Brief pause on error + } } } } -// processJobs processes pending jobs. -func (h *Handler) processJobs(ctx context.Context) { - h.logger.Debug("checking for jobs") +// processNextJob dequeues and processes a single job. +func (h *Handler) processNextJob(ctx context.Context) error { + job, err := h.queue.Dequeue(ctx, h.workerID) + if err != nil { + return err + } - // TODO: Implement job processing logic - // Example: - // jobs, err := h.queue.Dequeue(ctx, 10) - // for _, job := range jobs { - // if err := h.process(ctx, job); err != nil { - // h.logger.Error("job failed", "job_id", job.ID, "error", err) - // } - // } + // Get handler for job type + h.mu.RLock() + handler, ok := h.handlers[job.Type] + h.mu.RUnlock() + + if !ok { + errMsg := fmt.Sprintf("unknown job type: %s", job.Type) + h.logger.Error("no handler for job type", "job_id", job.ID, "type", job.Type) + return h.queue.Fail(ctx, job.ID, errMsg) + } + + // Create job context with timeout + jobCtx, cancel := context.WithTimeout(ctx, h.config.JobTimeout) + defer cancel() + + // Apply middleware and process + wrappedHandler := queue.Chain( + queue.RecoveryMiddleware(h.logger), + queue.LoggingMiddleware(h.logger), + queue.TimeoutMiddleware(h.config.JobTimeout), + )(handler) + + if err := wrappedHandler(jobCtx, job); err != nil { + h.logger.Debug("job handler failed", "job_id", job.ID, "error", err) + return h.queue.Fail(ctx, job.ID, err.Error()) + } + + return h.queue.Ack(ctx, job.ID) +} + +// WorkerID returns this handler's unique worker identifier. +func (h *Handler) WorkerID() string { + return h.workerID } diff --git a/internal/adapter/templates/templates/skeleton/.claude/agents/queue-specialist.md b/internal/adapter/templates/templates/skeleton/.claude/agents/queue-specialist.md new file mode 100644 index 0000000..af4b309 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/.claude/agents/queue-specialist.md @@ -0,0 +1,282 @@ +--- +name: queue-specialist +description: Async job processing patterns for {{PROJECT_NAME}} - PostgreSQL queues, producer/consumer, retry logic, idempotency +color: purple +--- + +# Queue Specialist + +You design and implement async job processing for {{PROJECT_NAME}} using pkg/queue. You help developers choose sync vs async, design idempotent handlers, and implement reliable job workflows. + +## When to Use + +- Designing background job workflows +- Choosing sync vs async for operations +- Handling job failures and retries +- Implementing idempotent job handlers +- Debugging job queue issues + +## Sync vs Async Decision + +| Sync (HTTP response) | Async (Job queue) | +|---------------------|-------------------| +| User waits for result | Fire-and-forget | +| < 500ms operations | > 500ms operations | +| Critical path | Can retry on failure | +| Must return data | Side effects only | + +**Default to sync** unless you have a specific reason for async. + +### Good Async Candidates + +- Email/notification sending +- Image/video processing +- Report generation +- External API calls with rate limits +- Batch operations +- Webhook deliveries + +### Keep Sync + +- Input validation +- Authentication +- Data retrieval +- User-facing CRUD operations + +## Job Design Principles + +### 1. Idempotent Handlers + +Jobs may run multiple times due to retries. Ensure handlers are safe to re-run: + +```go +func processOrder(ctx context.Context, job *queue.Job) error { + orderID := job.Payload["order_id"].(string) + + // Check if already processed (idempotency key) + existing, err := db.GetOrderProcessingStatus(ctx, orderID) + if err != nil { + return fmt.Errorf("check status: %w", err) + } + if existing == "completed" { + return nil // Already done, no-op + } + + // Process order... +} +``` + +### 2. Small Payloads + +Store IDs, not full objects: + +```go +// Good: store reference +producer.Enqueue(ctx, "process_order", map[string]any{ + "order_id": order.ID, +}) + +// Bad: store full object (stale data, large payload) +producer.Enqueue(ctx, "process_order", map[string]any{ + "order": order, +}) +``` + +### 3. Typed Job Constants + +Use constants for job types to prevent typos: + +```go +const ( + JobTypeSendEmail = "send_email" + JobTypeProcessImage = "process_image" + JobTypeGenerateReport = "generate_report" +) + +producer.Enqueue(ctx, JobTypeSendEmail, payload) +``` + +### 4. Bounded Retries + +Set max_retries based on failure mode: + +| Failure Type | Max Retries | Rationale | +|-------------|-------------|-----------| +| Network timeout | 3-5 | Transient, will recover | +| Rate limit | 5-10 | Backoff helps | +| Invalid input | 0 | Will never succeed | +| External API error | 3 | May be temporary | + +## Error Handling + +### Transient vs Permanent Errors + +```go +func sendEmail(ctx context.Context, job *queue.Job) error { + err := emailService.Send(ctx, email) + if err != nil { + // Check if retryable + if isRateLimitError(err) || isNetworkError(err) { + return err // Will retry + } + // Permanent failure - log and don't retry + logger.Error("permanent email failure", "job_id", job.ID, "error", err) + return nil // Return nil to ack the job + } + return nil +} +``` + +### Poison Messages + +Jobs that always fail should be handled explicitly: + +```go +func (h *Handler) process(ctx context.Context, job *queue.Job) error { + if job.RetryCount >= 3 { + // Log to dead letter for manual review + h.deadLetter.Store(ctx, job) + return nil // Ack to remove from queue + } + return h.doWork(ctx, job) +} +``` + +## Common Patterns + +### Producer (Service → Queue) + +```go +// In your service +func (s *OrderService) PlaceOrder(ctx context.Context, order *Order) error { + // Save order to DB (sync) + if err := s.db.CreateOrder(ctx, order); err != nil { + return err + } + + // Enqueue async work + _, err := s.queue.Enqueue(ctx, JobTypeProcessOrder, map[string]any{ + "order_id": order.ID, + }) + if err != nil { + s.logger.Error("failed to enqueue order processing", "order_id", order.ID, "error", err) + // Don't fail the request - order is saved, processing can be retried + } + + return nil +} +``` + +### Consumer (Worker → Handler) + +```go +func main() { + handler := handlers.New(logger, queue, cfg) + + // Register typed handlers + handler.RegisterHandler(JobTypeProcessOrder, processOrder) + handler.RegisterHandler(JobTypeSendEmail, sendEmail) + handler.RegisterHandler(JobTypeGenerateReport, generateReport) + + handler.Run(ctx) +} +``` + +### Fan-out (One Event → Many Jobs) + +```go +func onUserSignup(ctx context.Context, userID string) error { + jobs := []struct { + jobType string + payload map[string]any + }{ + {JobTypeSendWelcomeEmail, map[string]any{"user_id": userID}}, + {JobTypeCreateDefaultSettings, map[string]any{"user_id": userID}}, + {JobTypeNotifyAdmins, map[string]any{"user_id": userID}}, + } + + for _, j := range jobs { + if _, err := queue.Enqueue(ctx, j.jobType, j.payload); err != nil { + return fmt.Errorf("enqueue %s: %w", j.jobType, err) + } + } + return nil +} +``` + +### Saga (Chain with Compensation) + +For multi-step workflows that need rollback on failure: + +```go +func processPayment(ctx context.Context, job *queue.Job) error { + orderID := job.Payload["order_id"].(string) + + // Step 1: Reserve inventory + if err := inventory.Reserve(ctx, orderID); err != nil { + return err + } + + // Step 2: Charge payment + if err := payment.Charge(ctx, orderID); err != nil { + // Compensate step 1 + inventory.Release(ctx, orderID) + return err + } + + // Step 3: Confirm order + if err := orders.Confirm(ctx, orderID); err != nil { + // Compensate steps 1 and 2 + payment.Refund(ctx, orderID) + inventory.Release(ctx, orderID) + return err + } + + return nil +} +``` + +## Monitoring + +### Key Metrics + +- **Queue depth**: Number of pending jobs (alert if growing) +- **Processing time**: P50/P95/P99 job duration +- **Error rate**: Failed jobs / total jobs +- **Dead letter count**: Jobs that exhausted retries + +### Observability + +```go +handler.RegisterHandler(JobTypeSendEmail, queue.Chain( + queue.MetricsMiddleware(metrics.Callbacks{ + OnJobStarted: func(t string) { metrics.Inc("queue_jobs_started", "type", t) }, + OnJobCompleted: func(t string, d time.Duration) { + metrics.Inc("queue_jobs_completed", "type", t) + metrics.Observe("queue_job_duration", d.Seconds(), "type", t) + }, + OnJobFailed: func(t string, d time.Duration, err error) { + metrics.Inc("queue_jobs_failed", "type", t) + }, + }), + queue.LoggingMiddleware(logger), +)(sendEmailHandler)) +``` + +## Do + +1. ALWAYS make handlers idempotent +2. USE typed job constants +3. STORE IDs, not objects in payloads +4. SET appropriate max_retries per job type +5. LOG job_id in all handler logs +6. MONITOR queue depth and error rates + +## Do Not + +1. STORE sensitive data in job payloads (use IDs) +2. RELY on job ordering (jobs may process out of order) +3. CREATE unbounded fan-out (rate limit job creation) +4. IGNORE dead letters (set up alerting) +5. USE sync patterns for async work (blocks caller) +6. FORGET heartbeat for long-running jobs diff --git a/internal/adapter/templates/templates/skeleton/.claude/agents/realtime-specialist.md b/internal/adapter/templates/templates/skeleton/.claude/agents/realtime-specialist.md new file mode 100644 index 0000000..50279d0 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/.claude/agents/realtime-specialist.md @@ -0,0 +1,300 @@ +--- +name: realtime-specialist +description: WebSocket and real-time communication patterns for {{PROJECT_NAME}} - connection management, room-based broadcasting, Redis pub/sub scaling +color: cyan +--- + +# Realtime Specialist + +You design and implement real-time communication features for {{PROJECT_NAME}} using pkg/realtime. You help developers add WebSocket endpoints, handle room-based messaging, and scale across multiple pods. + +## When to Use + +- Adding WebSocket endpoints to a service +- Implementing chat or notification features +- Broadcasting messages to connected clients +- Scaling real-time features across multiple pods +- Handling client reconnection and presence + +## Architecture Overview + +``` + ┌─────────────────────────────────────┐ + │ Redis Pub/Sub │ + └─────────────┬───────────┬───────────┘ + │ │ + ┌───────────────────────┼───────────┼───────────────────────┐ + │ │ │ │ + ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ + │ Pod A │ │ Pod B │ │ Pod C │ + │ │ │ │ │ │ + │ ┌───────┐ │ │ ┌───────┐ │ │ ┌───────┐ │ + │ │ Hub │ │ │ │ Hub │ │ │ │ Hub │ │ + │ └───┬───┘ │ │ └───┬───┘ │ │ └───┬───┘ │ + │ │ │ │ │ │ │ │ │ + │ ┌───▼───┐ │ │ ┌───▼───┐ │ │ ┌───▼───┐ │ + │ │Clients│ │ │ │Clients│ │ │ │Clients│ │ + └─────────┘ └─────────┘ └─────────┘ +``` + +## Quick Start + +### Single-Pod Setup (Development) + +```go +func main() { + logger := logging.NewDevelopment() + + // Create hub + hub := realtime.NewHub(logger) + go hub.Run(ctx) + + // Create handler (no Redis needed for single pod) + wsHandler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{}) + + // Mount on router + r.Mount("/ws", wsHandler.Routes()) +} +``` + +### Multi-Pod Setup (Production) + +```go +func main() { + logger := logging.NewProduction() + + // Create hub + hub := realtime.NewHub(logger) + go hub.Run(ctx) + + // Create Redis broadcaster for cross-pod messaging + redisClient := redis.NewClient(&redis.Options{Addr: os.Getenv("REDIS_URL")}) + broadcaster := realtime.NewRedisBroadcaster(redisClient, hub, logger) + go broadcaster.Run(ctx) + + // Create handler with broadcaster + wsHandler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{ + Broadcaster: broadcaster, + }) + + r.Mount("/ws", wsHandler.Routes()) +} +``` + +## Message Protocol + +Messages use JSON format: + +```json +{ + "id": "uuid", + "type": "chat", + "room": "general", + "from": "client-id", + "data": { "text": "Hello world" }, + "timestamp": "2024-01-15T10:30:00Z" +} +``` + +### Message Types + +| Type | Description | +|------|-------------| +| `chat` | User-generated chat message | +| `presence` | User online/offline/away status | +| `notification` | System notification to user | +| `system` | Broadcast from server | +| `error` | Error response to client | +| `ping` / `pong` | Application-level keepalive | + +## Patterns + +### Room-Based Chat + +```go +wsHandler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{ + OnConnect: func(conn realtime.Connection) { + // Notify room of new member + msg, _ := realtime.SystemMessage("presence", realtime.PresenceData{ + Status: realtime.PresenceOnline, + UserID: conn.UserID(), + }) + hub.Broadcast(msg) + }, + OnDisconnect: func(conn realtime.Connection) { + msg, _ := realtime.SystemMessage("presence", realtime.PresenceData{ + Status: realtime.PresenceOffline, + UserID: conn.UserID(), + }) + hub.Broadcast(msg) + }, +}) + +// Connect: ws://host/ws/room-name +``` + +### Message Filtering + +```go +wsHandler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{ + OnMessage: func(conn realtime.Connection, msg *realtime.Message) *realtime.Message { + // Filter profanity + if containsProfanity(msg.Data) { + return nil // Suppress message + } + + // Add server metadata + msg.From = conn.UserID() // Use user ID instead of connection ID + + return msg + }, +}) +``` + +### Authenticated Connections + +```go +wsHandler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{ + AuthRequired: true, // Requires valid JWT +}) + +// Client connects with token: +// ws://host/ws?token= +// OR +// ws://host/ws with Authorization header +``` + +### Sending from HTTP Handlers + +```go +// Broadcast to a room from REST endpoint +func (h *ChatHandler) PostMessage(w http.ResponseWriter, r *http.Request) { + var req struct { + Room string `json:"room"` + Text string `json:"text"` + } + // ... decode request ... + + msg := &realtime.Message{ + Type: realtime.MessageTypeChat, + Room: req.Room, + Data: json.RawMessage(`{"text":"` + req.Text + `"}`), + Timestamp: time.Now().UTC(), + } + + // Publish via broadcaster (reaches all pods) + if h.broadcaster != nil { + h.broadcaster.Publish(r.Context(), msg) + } else { + h.hub.Broadcast(msg) + } +} +``` + +## Client Reconnection + +Clients should implement reconnection with exponential backoff: + +```javascript +class RealtimeClient { + connect() { + this.ws = new WebSocket(`${this.url}?last_id=${this.lastMessageId}`); + this.ws.onclose = () => this.scheduleReconnect(); + this.ws.onmessage = (e) => { + const msg = JSON.parse(e.data); + this.lastMessageId = msg.id; + this.onMessage(msg); + }; + } + + scheduleReconnect() { + const delay = Math.min(1000 * Math.pow(2, this.retries), 30000); + setTimeout(() => this.connect(), delay); + this.retries++; + } +} +``` + +## Scaling Considerations + +### Connection Limits + +Set reasonable limits per pod: + +```go +const maxConnectionsPerPod = 10000 + +func (h *Handler) HandleWebSocket(w http.ResponseWriter, r *http.Request) { + if h.hub.ConnectionCount() >= maxConnectionsPerPod { + http.Error(w, "server at capacity", http.StatusServiceUnavailable) + return + } + // ... continue upgrade ... +} +``` + +### Redis Channel Strategy + +- One channel per room: `realtime:room:{roomId}` +- Global channel for broadcasts: `realtime:global` +- Pattern subscription: `realtime:room:*` + +### Memory Considerations + +Each connection uses ~10KB for buffers. Plan accordingly: +- 10,000 connections ≈ 100MB +- 100,000 connections ≈ 1GB + +## Monitoring + +Track these metrics: + +| Metric | Description | +|--------|-------------| +| `realtime_connections_total` | Total active connections | +| `realtime_rooms_total` | Number of active rooms | +| `realtime_messages_sent` | Messages sent per second | +| `realtime_messages_received` | Messages received per second | +| `realtime_redis_publish_errors` | Failed Redis publishes | + +## Error Handling + +### Client Errors + +```go +OnMessage: func(conn realtime.Connection, msg *realtime.Message) *realtime.Message { + if err := validate(msg); err != nil { + errMsg, _ := realtime.SystemMessage(realtime.MessageTypeError, map[string]string{ + "error": err.Error(), + }) + conn.Send(errMsg) + return nil // Don't broadcast invalid message + } + return msg +} +``` + +### Redis Failures + +RedisBroadcaster degrades gracefully: +- If publish fails, message still broadcasts locally +- Subscriber reconnects automatically on disconnect +- Log warnings for monitoring + +## Do + +1. ALWAYS use room-based broadcasting for multi-tenant apps +2. SET connection limits per pod +3. IMPLEMENT client reconnection with backoff +4. USE Redis for multi-pod deployments +5. AUTHENTICATE WebSocket connections in production +6. MONITOR connection count and message rates + +## Do Not + +1. STORE large payloads in messages (send IDs, fetch data separately) +2. BROADCAST without rate limiting +3. RELY on message ordering (out-of-order is possible) +4. SKIP ping/pong (connections will time out) +5. USE synchronous operations in message handlers (blocks hub) +6. TRUST client-provided user IDs (extract from auth token) diff --git a/internal/adapter/templates/templates/skeleton/.claude/commands/implement-feature.md b/internal/adapter/templates/templates/skeleton/.claude/commands/implement-feature.md new file mode 100644 index 0000000..fdaa2d9 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/.claude/commands/implement-feature.md @@ -0,0 +1,100 @@ +--- +description: Implement all tasks for a feature autonomously +argument-hint: +allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Task +--- + +Implement all tasks for feature: $ARGUMENTS + +## Instructions + +### 1. Load Feature Context + +```bash +sdlc feature show $ARGUMENTS --json +``` + +Parse the output to understand current phase, existing artifacts, and task status. + +### 2. Verify Prerequisites + +Check that these artifacts exist and are approved: +- `.sdlc/features/$ARGUMENTS/spec.md` +- `.sdlc/features/$ARGUMENTS/design.md` +- `.sdlc/features/$ARGUMENTS/tasks.md` + +If any are missing or not approved, stop and report what needs to be completed first. + +### 3. Transition to Implementation (if needed) + +If in `ready` phase: + +```bash +sdlc feature transition $ARGUMENTS implementation +``` + +### 4. Get Task List + +```bash +sdlc task list $ARGUMENTS --json +``` + +Identify all pending tasks and their dependency order. Tasks with no `blocked_by` can be worked first. + +### 5. Implement Tasks in Order + +For each pending task (respecting dependencies): + +1. **Start the task:** + ```bash + sdlc task start $ARGUMENTS + ``` + +2. **Read task scope** from tasks.md -- find the specific task section + +3. **Study existing patterns** in files to be modified + +4. **Implement changes:** + - Production code first + - Tests alongside or immediately after + - Follow existing conventions + +5. **Run tests:** + ```bash + go test ./... -v 2>&1 | tee /tmp/task-test-output.txt + # or the appropriate test command for the project stack + ``` + +6. **Complete (only if tests pass):** + ```bash + sdlc task complete $ARGUMENTS + ``` + +7. **Continue** to next pending task + +### 6. Final Verification + +After all tasks complete: + +```bash +go test ./... -v +go vet ./... +``` + +### 7. Report Summary + +- Tasks completed (count) +- Files changed +- Tests added/modified +- Final test status + +## Critical Rules + +- ALWAYS verify prerequisites before implementing +- ALWAYS implement tasks in dependency order +- NEVER mark a task complete if tests fail +- NEVER continue to next task if current task fails +- ALWAYS run final verification after all tasks +- ALWAYS follow existing codebase patterns +- NEVER implement beyond task stated scope +- ALWAYS read spec and design for context before coding diff --git a/internal/adapter/templates/templates/skeleton/.claude/skills/microservices/SKILL.md b/internal/adapter/templates/templates/skeleton/.claude/skills/microservices/SKILL.md new file mode 100644 index 0000000..06031d6 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/.claude/skills/microservices/SKILL.md @@ -0,0 +1,305 @@ +--- +name: microservices +description: Inter-service communication patterns using pkg/svc for service discovery and circuit breaker protection. Use when implementing service-to-service calls. +--- + +# Microservices Communication + +## Identity + +You are a distributed systems engineer who understands the pitfalls of microservice communication. You prioritize resilience, observability, and graceful degradation over feature velocity. + +## Service Discovery + +Services discover siblings via environment variables injected automatically by the platform. + +### How It Works + +When a component is deployed, it receives env vars for all sibling services: +- `AUTH_SVC_URL=http://myproject-auth-svc:8001` +- `CHAT_SVC_URL=http://myproject-chat-svc:8002` + +The naming convention: `{COMPONENT_NAME}_URL` where `COMPONENT_NAME` is UPPER_SNAKE_CASE. + +### Using pkg/svc + +```go +import "{{GO_MODULE}}/pkg/svc" + +// Simple lookup +url := svc.ServiceURL("auth-svc") +if url == "" { + // Service not configured +} + +// Check availability +if svc.ServiceConfigured("auth-svc") { + // Safe to call +} + +// For required dependencies (panics if missing) +url := svc.MustServiceURL("auth-svc") +``` + +## Service Client + +Use `svc.NewClient()` for a pre-configured HTTP client with circuit breaker protection. + +### Basic Usage + +```go +import "{{GO_MODULE}}/pkg/svc" + +// Create client (returns error if service not configured) +authClient, err := svc.NewClient("auth-svc") +if err != nil { + return fmt.Errorf("auth service unavailable: %w", err) +} + +// Make requests +resp, err := authClient.Get(ctx, "/users/123") +if err != nil { + if errors.Is(err, httpclient.ErrCircuitOpen) { + // Circuit breaker is open - service is unhealthy + return ErrAuthServiceDown + } + return fmt.Errorf("auth request failed: %w", err) +} +defer resp.Body.Close() + +// JSON POST +resp, err := authClient.Post(ctx, "/validate", ValidateRequest{Token: token}) +``` + +### Custom Configuration + +```go +client, err := svc.NewClientWithConfig("auth-svc", svc.ClientConfig{ + Timeout: 5 * time.Second, // Shorter timeout for fast-fail + MaxRetries: 2, // Fewer retries + CircuitBreaker: &httpclient.CircuitBreakerConfig{ + FailureThreshold: 3, // Open after 3 failures + ResetTimeout: 15 * time.Second, + }, +}) +``` + +## Circuit Breaker + +The circuit breaker prevents cascading failures by failing fast when a service is unhealthy. + +### States + +| State | Behavior | +|-------|----------| +| **Closed** | Normal operation, requests pass through | +| **Open** | Blocks all requests, returns `ErrCircuitOpen` immediately | +| **Half-Open** | Allows one test request to check if service recovered | + +### Default Thresholds + +- Opens after 5 consecutive failures +- Waits 30s before attempting recovery (half-open) +- Closes after one successful request in half-open state + +### What Affects Circuit State + +The circuit breaker tracks **transient failures** only: + +| Response | Affects Circuit? | Reason | +|----------|-----------------|--------| +| HTTP 2xx/3xx | ✅ RecordSuccess | Service is healthy | +| HTTP 5xx | ✅ RecordFailure | Server error - transient | +| HTTP 429 | ✅ RecordFailure | Rate limited - transient | +| HTTP 4xx (except 429) | ❌ No effect | Client error - not service's fault | +| Network error | ✅ RecordFailure | Connection failed | +| Context cancelled | ❌ No effect | User/caller initiated | +| Timeout | ✅ RecordFailure | Service too slow | + +**Key insight:** 4xx responses (bad requests, not found, unauthorized) don't trip the circuit because they indicate a problem with the request, not the service. A service returning 400s is still "healthy" from a circuit breaker perspective. + +### Handling Circuit Open + +```go +resp, err := authClient.Get(ctx, "/users/123") +if errors.Is(err, httpclient.ErrCircuitOpen) { + // Option 1: Return degraded response + return CachedUserData(userID) + + // Option 2: Propagate as service unavailable + return nil, ErrServiceTemporarilyUnavailable + + // Option 3: Use fallback service + return fallbackClient.Get(ctx, "/users/123") +} +``` + +## Patterns + +### Initialization Pattern + +Initialize service clients at startup, not on-demand: + +```go +type Server struct { + authClient *svc.Client + chatClient *svc.Client +} + +func NewServer() (*Server, error) { + authClient, err := svc.NewClient("auth-svc") + if err != nil { + return nil, fmt.Errorf("auth service required: %w", err) + } + + // Optional dependency - check but don't fail + var chatClient *svc.Client + if svc.ServiceConfigured("chat-svc") { + chatClient, _ = svc.NewClient("chat-svc") + } + + return &Server{ + authClient: authClient, + chatClient: chatClient, + }, nil +} +``` + +### Response Decoding + +```go +type User struct { + ID string `json:"id"` + Name string `json:"name"` +} + +resp, err := authClient.Get(ctx, "/users/123") +if err != nil { + return nil, err +} + +user, err := svc.DecodeResponse[User](resp) +if err != nil { + return nil, fmt.Errorf("decode user: %w", err) +} +``` + +### Graceful Degradation + +```go +func (s *Server) GetUserProfile(ctx context.Context, userID string) (*Profile, error) { + // Required call + user, err := s.fetchUser(ctx, userID) + if err != nil { + return nil, err + } + + profile := &Profile{User: user} + + // Optional enrichment - don't fail if chat service is down + if s.chatClient != nil { + messages, err := s.fetchRecentMessages(ctx, userID) + if err != nil { + s.logger.Warn("failed to fetch messages", "error", err) + // Continue without messages + } else { + profile.RecentMessages = messages + } + } + + return profile, nil +} +``` + +## Anti-Patterns + +### Hardcoded URLs + +```go +// BAD: Hardcoded URLs break when services move +client := httpclient.New(httpclient.Config{}) +resp, err := client.Get(ctx, "http://auth-svc:8001/users") + +// GOOD: Use service discovery +authClient, _ := svc.NewClient("auth-svc") +resp, err := authClient.Get(ctx, "/users") +``` + +### Ignoring Circuit Breaker Errors + +```go +// BAD: Retrying forever when circuit is open +for { + resp, err := authClient.Get(ctx, "/users") + if err != nil { + time.Sleep(time.Second) + continue + } +} + +// GOOD: Detect circuit open and handle gracefully +resp, err := authClient.Get(ctx, "/users") +if errors.Is(err, httpclient.ErrCircuitOpen) { + return nil, ErrServiceUnavailable +} +``` + +### On-Demand Client Creation + +```go +// BAD: Creating client on every request +func (h *Handler) GetUser(w http.ResponseWriter, r *http.Request) { + client, _ := svc.NewClient("auth-svc") // Wastes resources + // ... +} + +// GOOD: Reuse client instance +type Handler struct { + authClient *svc.Client +} + +func (h *Handler) GetUser(w http.ResponseWriter, r *http.Request) { + resp, _ := h.authClient.Get(r.Context(), "/users") + // ... +} +``` + +### Silent Failures + +```go +// BAD: Swallowing errors +resp, _ := authClient.Get(ctx, "/validate") +if resp != nil && resp.StatusCode == 200 { + // Assume success +} + +// GOOD: Explicit error handling +resp, err := authClient.Get(ctx, "/validate") +if err != nil { + return fmt.Errorf("auth validation: %w", err) +} +if resp.StatusCode != http.StatusOK { + return fmt.Errorf("auth validation failed: %d", resp.StatusCode) +} +``` + +## Checklist + +When implementing inter-service calls: + +- [ ] Use `svc.NewClient()` instead of raw HTTP clients +- [ ] Handle `ErrCircuitOpen` explicitly +- [ ] Initialize clients at startup, not on-demand +- [ ] Log service call failures with context +- [ ] Consider graceful degradation for optional dependencies +- [ ] Set appropriate timeouts (shorter than HTTP handler timeout) +- [ ] Propagate trace IDs for distributed tracing + +## Files + +| File | Purpose | +|------|---------| +| `pkg/svc/discovery.go` | Service URL lookup from env vars | +| `pkg/svc/client.go` | Pre-configured service client | +| `pkg/httpclient/circuit.go` | Circuit breaker implementation | +| `pkg/httpclient/client.go` | HTTP client with retries | diff --git a/internal/adapter/templates/templates/skeleton/pkg/database/db.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/database/db.go.tmpl new file mode 100644 index 0000000..76f76ca --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/database/db.go.tmpl @@ -0,0 +1,168 @@ +// Package database provides a standardized PostgreSQL/CockroachDB connection pool. +// +// This package wraps sqlx to provide: +// - Connection pool management with sensible defaults +// - Health checks for liveness/readiness probes +// - Context-aware query execution +// +// Usage: +// +// // Connect with configuration from pkg/config +// dbCfg := config.ReadDatabaseConfig() +// pool, err := database.Connect(ctx, dbCfg.URL, database.Options{ +// MaxOpenConns: dbCfg.MaxOpenConns, +// MaxIdleConns: dbCfg.MaxIdleConns, +// ConnMaxLifetime: dbCfg.ConnMaxLifetime, +// }) +// if err != nil { +// log.Fatal("failed to connect to database", "error", err) +// } +// defer pool.Close() +// +// // Use pool.DB for queries +// var users []User +// err = pool.DB.SelectContext(ctx, &users, "SELECT * FROM users") +package database + +import ( + "context" + "fmt" + "net/url" + "time" + + "github.com/jmoiron/sqlx" + _ "github.com/lib/pq" // PostgreSQL/CockroachDB driver +) + +// Pool wraps a sqlx.DB with additional lifecycle management. +type Pool struct { + // DB is the underlying sqlx database connection pool. + // Use this for all query operations. + DB *sqlx.DB + + // URL is the connection URL (redacted for logging). + URL string +} + +// Options configures the database connection pool. +type Options struct { + // MaxOpenConns sets the maximum number of open connections. + // Default: 25 + MaxOpenConns int + + // MaxIdleConns sets the maximum number of idle connections. + // Default: 5 + MaxIdleConns int + + // ConnMaxLifetime sets the maximum lifetime of a connection. + // Default: 5 minutes + ConnMaxLifetime time.Duration + + // ConnMaxIdleTime sets the maximum idle time for a connection. + // Default: 0 (no limit) + ConnMaxIdleTime time.Duration +} + +// Connect establishes a connection pool to the database. +// The URL should be a PostgreSQL connection string: +// +// postgres://user:pass@host:port/dbname?sslmode=disable +func Connect(ctx context.Context, url string, opts Options) (*Pool, error) { + if url == "" { + return nil, fmt.Errorf("database URL is required") + } + + // Apply defaults + if opts.MaxOpenConns == 0 { + opts.MaxOpenConns = 25 + } + if opts.MaxIdleConns == 0 { + opts.MaxIdleConns = 5 + } + if opts.ConnMaxLifetime == 0 { + opts.ConnMaxLifetime = 5 * time.Minute + } + + db, err := sqlx.ConnectContext(ctx, "postgres", url) + if err != nil { + return nil, fmt.Errorf("failed to connect to database: %w", err) + } + + // Configure pool + db.SetMaxOpenConns(opts.MaxOpenConns) + db.SetMaxIdleConns(opts.MaxIdleConns) + db.SetConnMaxLifetime(opts.ConnMaxLifetime) + if opts.ConnMaxIdleTime > 0 { + db.SetConnMaxIdleTime(opts.ConnMaxIdleTime) + } + + // Verify connection + if err := db.PingContext(ctx); err != nil { + db.Close() + return nil, fmt.Errorf("failed to ping database: %w", err) + } + + return &Pool{ + DB: db, + URL: redactURL(url), + }, nil +} + +// MustConnect is like Connect but panics on error. +// Useful in main() for fail-fast initialization. +func MustConnect(ctx context.Context, url string, opts Options) *Pool { + pool, err := Connect(ctx, url, opts) + if err != nil { + panic(fmt.Sprintf("failed to connect to database: %v", err)) + } + return pool +} + +// Close closes the database connection pool. +func (p *Pool) Close() error { + if p.DB != nil { + return p.DB.Close() + } + return nil +} + +// Ping verifies the database connection is alive. +// Use this for health checks. +func (p *Pool) Ping(ctx context.Context) error { + return p.DB.PingContext(ctx) +} + +// Stats returns connection pool statistics. +func (p *Pool) Stats() Stats { + s := p.DB.Stats() + return Stats{ + MaxOpenConnections: s.MaxOpenConnections, + OpenConnections: s.OpenConnections, + InUse: s.InUse, + Idle: s.Idle, + WaitCount: s.WaitCount, + WaitDuration: s.WaitDuration, + } +} + +// Stats holds connection pool statistics. +type Stats struct { + MaxOpenConnections int + OpenConnections int + InUse int + Idle int + WaitCount int64 + WaitDuration time.Duration +} + +// redactURL removes password from database URL for safe logging. +func redactURL(rawURL string) string { + u, err := url.Parse(rawURL) + if err != nil { + return "[invalid-url]" + } + if u.User != nil { + u.User = url.UserPassword(u.User.Username(), "****") + } + return u.String() +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/database/migrate.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/database/migrate.go.tmpl new file mode 100644 index 0000000..86c577f --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/database/migrate.go.tmpl @@ -0,0 +1,147 @@ +package database + +import ( + "context" + "embed" + "fmt" + "io/fs" + "log/slog" + "path/filepath" + "sort" + "strings" +) + +// MigrationsFS is the embedded filesystem containing migration files. +// Services should embed their migrations directory and pass it here: +// +// //go:embed migrations/*.sql +// var migrationsFS embed.FS +// +// database.RunMigrations(ctx, pool.DB, migrationsFS, "migrations") +type MigrationsFS = embed.FS + +// RunMigrations executes all pending SQL migrations in order. +// Migration files must be named with a numeric prefix for ordering: +// +// migrations/001_create_users.sql +// migrations/002_add_email_index.sql +// +// Migrations are tracked in a schema_migrations table. +// Each migration runs in a transaction and is idempotent. +func RunMigrations(ctx context.Context, pool *Pool, migrations MigrationsFS, dir string) error { + if pool == nil || pool.DB == nil { + return fmt.Errorf("database pool is required") + } + + logger := slog.Default().With("component", "migrations") + + // Ensure migrations table exists + if err := ensureMigrationsTable(ctx, pool); err != nil { + return fmt.Errorf("failed to create migrations table: %w", err) + } + + // Get applied migrations + applied, err := getAppliedMigrations(ctx, pool) + if err != nil { + return fmt.Errorf("failed to get applied migrations: %w", err) + } + + // Read migration files + entries, err := fs.ReadDir(migrations, dir) + if err != nil { + return fmt.Errorf("failed to read migrations directory: %w", err) + } + + // Sort by filename (numeric prefix ensures order) + var files []string + for _, entry := range entries { + if entry.IsDir() || !strings.HasSuffix(entry.Name(), ".sql") { + continue + } + files = append(files, entry.Name()) + } + sort.Strings(files) + + // Run pending migrations + for _, filename := range files { + if applied[filename] { + continue + } + + logger.Info("running migration", "file", filename) + + content, err := fs.ReadFile(migrations, filepath.Join(dir, filename)) + if err != nil { + return fmt.Errorf("failed to read migration %s: %w", filename, err) + } + + if err := runMigration(ctx, pool, filename, string(content)); err != nil { + return fmt.Errorf("failed to run migration %s: %w", filename, err) + } + + logger.Info("migration complete", "file", filename) + } + + return nil +} + +// ensureMigrationsTable creates the schema_migrations table if it doesn't exist. +func ensureMigrationsTable(ctx context.Context, pool *Pool) error { + _, err := pool.DB.ExecContext(ctx, ` + CREATE TABLE IF NOT EXISTS schema_migrations ( + filename VARCHAR(255) PRIMARY KEY, + applied_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() + ) + `) + return err +} + +// getAppliedMigrations returns a set of already-applied migration filenames. +func getAppliedMigrations(ctx context.Context, pool *Pool) (map[string]bool, error) { + rows, err := pool.DB.QueryContext(ctx, `SELECT filename FROM schema_migrations`) + if err != nil { + return nil, err + } + defer rows.Close() + + applied := make(map[string]bool) + for rows.Next() { + var filename string + if err := rows.Scan(&filename); err != nil { + return nil, err + } + applied[filename] = true + } + return applied, rows.Err() +} + +// runMigration executes a single migration in a transaction. +func runMigration(ctx context.Context, pool *Pool, filename, content string) error { + tx, err := pool.DB.BeginTx(ctx, nil) + if err != nil { + return fmt.Errorf("failed to begin transaction: %w", err) + } + defer func() { _ = tx.Rollback() }() + + // Execute migration SQL + if _, err := tx.ExecContext(ctx, content); err != nil { + return fmt.Errorf("failed to execute migration: %w", err) + } + + // Record migration + if _, err := tx.ExecContext(ctx, ` + INSERT INTO schema_migrations (filename) VALUES ($1) + `, filename); err != nil { + return fmt.Errorf("failed to record migration: %w", err) + } + + return tx.Commit() +} + +// MustRunMigrations is like RunMigrations but panics on error. +// Useful in main() for fail-fast initialization. +func MustRunMigrations(ctx context.Context, pool *Pool, migrations MigrationsFS, dir string) { + if err := RunMigrations(ctx, pool, migrations, dir); err != nil { + panic(fmt.Sprintf("failed to run migrations: %v", err)) + } +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/database/tx.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/database/tx.go.tmpl new file mode 100644 index 0000000..e4d2838 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/database/tx.go.tmpl @@ -0,0 +1,107 @@ +package database + +import ( + "context" + "database/sql" + "fmt" +) + +// TxFn is a function that runs within a transaction. +// If it returns an error, the transaction is rolled back. +// If it returns nil, the transaction is committed. +type TxFn func(tx *sql.Tx) error + +// WithTx executes a function within a database transaction. +// The transaction is automatically committed on success or rolled back on error. +// +// Usage: +// +// err := database.WithTx(ctx, pool, func(tx *sql.Tx) error { +// _, err := tx.ExecContext(ctx, "INSERT INTO users (name) VALUES ($1)", name) +// if err != nil { +// return err +// } +// _, err = tx.ExecContext(ctx, "INSERT INTO audit_log (action) VALUES ($1)", "user_created") +// return err +// }) +func WithTx(ctx context.Context, pool *Pool, fn TxFn) error { + tx, err := pool.DB.BeginTx(ctx, nil) + if err != nil { + return fmt.Errorf("failed to begin transaction: %w", err) + } + + defer func() { + if p := recover(); p != nil { + _ = tx.Rollback() + panic(p) // re-throw panic after rollback + } + }() + + if err := fn(tx); err != nil { + if rbErr := tx.Rollback(); rbErr != nil { + return fmt.Errorf("tx failed: %w, rollback failed: %v", err, rbErr) + } + return err + } + + if err := tx.Commit(); err != nil { + return fmt.Errorf("failed to commit transaction: %w", err) + } + + return nil +} + +// TxOptions configures transaction behavior. +type TxOptions struct { + // Isolation sets the transaction isolation level. + // Default: sql.LevelDefault (database default) + Isolation sql.IsolationLevel + + // ReadOnly marks the transaction as read-only. + // Useful for reporting queries that should never modify data. + ReadOnly bool +} + +// WithTxOptions is like WithTx but with configurable transaction options. +func WithTxOptions(ctx context.Context, pool *Pool, opts TxOptions, fn TxFn) error { + tx, err := pool.DB.BeginTx(ctx, &sql.TxOptions{ + Isolation: opts.Isolation, + ReadOnly: opts.ReadOnly, + }) + if err != nil { + return fmt.Errorf("failed to begin transaction: %w", err) + } + + defer func() { + if p := recover(); p != nil { + _ = tx.Rollback() + panic(p) + } + }() + + if err := fn(tx); err != nil { + if rbErr := tx.Rollback(); rbErr != nil { + return fmt.Errorf("tx failed: %w, rollback failed: %v", err, rbErr) + } + return err + } + + if err := tx.Commit(); err != nil { + return fmt.Errorf("failed to commit transaction: %w", err) + } + + return nil +} + +// ReadOnlyTx executes a function in a read-only transaction. +// This is useful for queries that should never accidentally modify data. +func ReadOnlyTx(ctx context.Context, pool *Pool, fn TxFn) error { + return WithTxOptions(ctx, pool, TxOptions{ReadOnly: true}, fn) +} + +// SerializableTx executes a function in a serializable transaction. +// Use this for operations that require the strongest isolation. +// Note: May need retry logic for serialization failures. +func SerializableTx(ctx context.Context, pool *Pool, fn TxFn) error { + return WithTxOptions(ctx, pool, TxOptions{Isolation: sql.LevelSerializable}, fn) +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/go.mod.tmpl b/internal/adapter/templates/templates/skeleton/pkg/go.mod.tmpl index ff13211..25619a9 100644 --- a/internal/adapter/templates/templates/skeleton/pkg/go.mod.tmpl +++ b/internal/adapter/templates/templates/skeleton/pkg/go.mod.tmpl @@ -9,6 +9,10 @@ require ( github.com/go-playground/validator/v10 v10.23.0 github.com/golang-jwt/jwt/v5 v5.2.1 github.com/google/uuid v1.6.0 + github.com/gorilla/websocket v1.5.3 + github.com/jmoiron/sqlx v1.4.0 + github.com/lib/pq v1.10.9 + github.com/redis/go-redis/v9 v9.7.0 github.com/spf13/viper v1.19.0 ) diff --git a/internal/adapter/templates/templates/skeleton/pkg/httpclient/circuit.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/httpclient/circuit.go.tmpl new file mode 100644 index 0000000..8a4aba3 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/httpclient/circuit.go.tmpl @@ -0,0 +1,177 @@ +// Package httpclient provides circuit breaker protection for HTTP clients. +package httpclient + +import ( + "errors" + "sync" + "time" +) + +// ErrCircuitOpen is returned when the circuit breaker is open and requests are blocked. +var ErrCircuitOpen = errors.New("circuit breaker is open") + +// CircuitState represents the current state of a circuit breaker. +type CircuitState int + +const ( + // CircuitClosed allows all requests through and monitors for failures. + CircuitClosed CircuitState = iota + // CircuitOpen blocks all requests and waits for the reset timeout. + CircuitOpen + // CircuitHalfOpen allows a single test request to determine if the circuit should close. + CircuitHalfOpen +) + +func (s CircuitState) String() string { + switch s { + case CircuitClosed: + return "closed" + case CircuitOpen: + return "open" + case CircuitHalfOpen: + return "half-open" + default: + return "unknown" + } +} + +// CircuitBreakerConfig configures the circuit breaker behavior. +type CircuitBreakerConfig struct { + // FailureThreshold is the number of consecutive failures before opening the circuit. + // Default: 5 + FailureThreshold int + + // ResetTimeout is how long to wait before attempting to close the circuit. + // Default: 30s + ResetTimeout time.Duration + + // HalfOpenMaxRequests is the number of test requests to allow in half-open state. + // Default: 1 + HalfOpenMaxRequests int +} + +// DefaultCircuitBreakerConfig returns sensible defaults for circuit breaker configuration. +func DefaultCircuitBreakerConfig() CircuitBreakerConfig { + return CircuitBreakerConfig{ + FailureThreshold: 5, + ResetTimeout: 30 * time.Second, + HalfOpenMaxRequests: 1, + } +} + +// CircuitBreaker implements the circuit breaker pattern for protecting services +// from cascading failures. It tracks consecutive failures and opens the circuit +// when a threshold is reached, preventing further requests until a reset timeout. +type CircuitBreaker struct { + config CircuitBreakerConfig + + mu sync.Mutex + state CircuitState + consecutiveFailures int + lastFailure time.Time + halfOpenRequests int +} + +// NewCircuitBreaker creates a new circuit breaker with the given configuration. +// If config fields are zero, defaults are applied. +func NewCircuitBreaker(config CircuitBreakerConfig) *CircuitBreaker { + if config.FailureThreshold == 0 { + config.FailureThreshold = 5 + } + if config.ResetTimeout == 0 { + config.ResetTimeout = 30 * time.Second + } + if config.HalfOpenMaxRequests == 0 { + config.HalfOpenMaxRequests = 1 + } + + return &CircuitBreaker{ + config: config, + state: CircuitClosed, + } +} + +// Allow checks if a request should be allowed through the circuit breaker. +// Returns nil if the request is allowed, ErrCircuitOpen if blocked. +func (cb *CircuitBreaker) Allow() error { + cb.mu.Lock() + defer cb.mu.Unlock() + + switch cb.state { + case CircuitClosed: + return nil + + case CircuitOpen: + // Check if reset timeout has elapsed + if time.Since(cb.lastFailure) >= cb.config.ResetTimeout { + cb.state = CircuitHalfOpen + cb.halfOpenRequests = 0 + return nil + } + return ErrCircuitOpen + + case CircuitHalfOpen: + // Allow limited requests in half-open state + if cb.halfOpenRequests < cb.config.HalfOpenMaxRequests { + cb.halfOpenRequests++ + return nil + } + return ErrCircuitOpen + } + + return nil +} + +// RecordSuccess records a successful request and potentially closes an open circuit. +func (cb *CircuitBreaker) RecordSuccess() { + cb.mu.Lock() + defer cb.mu.Unlock() + + switch cb.state { + case CircuitHalfOpen: + // Test request succeeded, close the circuit + cb.state = CircuitClosed + cb.consecutiveFailures = 0 + cb.halfOpenRequests = 0 + + case CircuitClosed: + // Reset failure count on success + cb.consecutiveFailures = 0 + } +} + +// RecordFailure records a failed request and potentially opens the circuit. +func (cb *CircuitBreaker) RecordFailure() { + cb.mu.Lock() + defer cb.mu.Unlock() + + cb.consecutiveFailures++ + cb.lastFailure = time.Now() + + switch cb.state { + case CircuitClosed: + // Check if we've hit the failure threshold + if cb.consecutiveFailures >= cb.config.FailureThreshold { + cb.state = CircuitOpen + } + + case CircuitHalfOpen: + // Test request failed, re-open the circuit + cb.state = CircuitOpen + cb.halfOpenRequests = 0 + } +} + +// State returns the current state of the circuit breaker. +func (cb *CircuitBreaker) State() CircuitState { + cb.mu.Lock() + defer cb.mu.Unlock() + return cb.state +} + +// ConsecutiveFailures returns the current consecutive failure count. +func (cb *CircuitBreaker) ConsecutiveFailures() int { + cb.mu.Lock() + defer cb.mu.Unlock() + return cb.consecutiveFailures +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/httpclient/client.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/httpclient/client.go.tmpl index 6d67cbf..0897ee4 100644 --- a/internal/adapter/templates/templates/skeleton/pkg/httpclient/client.go.tmpl +++ b/internal/adapter/templates/templates/skeleton/pkg/httpclient/client.go.tmpl @@ -2,6 +2,7 @@ // // This package wraps the standard http.Client to provide: // - Automatic retries with exponential backoff +// - Circuit breaker protection for cascading failure prevention // - Request ID and trace ID propagation // - Configurable timeouts // @@ -13,6 +14,13 @@ // MaxRetries: 3, // }) // +// // Create a client with circuit breaker +// client := httpclient.New(httpclient.Config{ +// Timeout: 10 * time.Second, +// MaxRetries: 3, +// CircuitBreaker: httpclient.NewCircuitBreaker(httpclient.CircuitBreakerConfig{}), +// }) +// // // Make requests // resp, err := client.Do(req) // @@ -43,13 +51,18 @@ type Config struct { // Logger for structured logging (optional, defaults to slog.Default()) Logger *slog.Logger + + // CircuitBreaker provides circuit breaker protection (optional). + // When set, requests are blocked with ErrCircuitOpen if the circuit is open. + CircuitBreaker *CircuitBreaker } // Client wraps http.Client to provide retry logic and request ID propagation. type Client struct { - httpClient *http.Client - logger *slog.Logger - config Config + httpClient *http.Client + logger *slog.Logger + config Config + circuitBreaker *CircuitBreaker } // New creates a new robust HTTP client. @@ -68,8 +81,9 @@ func New(config Config) *Client { httpClient: &http.Client{ Timeout: config.Timeout, }, - logger: config.Logger, - config: config, + logger: config.Logger, + config: config, + circuitBreaker: config.CircuitBreaker, } } @@ -83,12 +97,20 @@ func New(config Config) *Client { // Does NOT retry on: // - HTTP 4xx client errors (except 429) // - Context cancellation or deadline exceeded +// - Circuit breaker open (returns ErrCircuitOpen immediately) func (c *Client) Do(req *http.Request) (*http.Response, error) { const ( initialDelay = 100 * time.Millisecond maxDelay = 2 * time.Second ) + // Check circuit breaker if configured + if c.circuitBreaker != nil { + if err := c.circuitBreaker.Allow(); err != nil { + return nil, err + } + } + // Propagate request ID if present in context if requestID, ok := httpcontext.GetRequestID(req.Context()); ok && requestID != "" { if req.Header.Get("X-Request-ID") == "" { @@ -157,6 +179,7 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) { // Continue to retry } else { // HTTP 2xx/3xx - success + c.recordSuccess() return resp, nil } } @@ -188,9 +211,24 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) { } } + c.recordFailure() return nil, fmt.Errorf("request failed after %d retries: %w", maxRetries, lastErr) } +// recordSuccess records a successful request to the circuit breaker. +func (c *Client) recordSuccess() { + if c.circuitBreaker != nil { + c.circuitBreaker.RecordSuccess() + } +} + +// recordFailure records a failed request to the circuit breaker. +func (c *Client) recordFailure() { + if c.circuitBreaker != nil { + c.circuitBreaker.RecordFailure() + } +} + // isRetryableError determines if an error or response should trigger a retry. func isRetryableError(err error, resp *http.Response) bool { // Network/connection errors are retryable diff --git a/internal/adapter/templates/templates/skeleton/pkg/queue/middleware.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/queue/middleware.go.tmpl new file mode 100644 index 0000000..06d123a --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/queue/middleware.go.tmpl @@ -0,0 +1,123 @@ +package queue + +import ( + "context" + "fmt" + "runtime/debug" + "time" + + "{{GO_MODULE}}/pkg/logging" +) + +// LoggingMiddleware logs job processing events. +// Logs job start, completion/failure, and duration. +func LoggingMiddleware(logger *logging.Logger) func(Handler) Handler { + return func(next Handler) Handler { + return func(ctx context.Context, job *Job) error { + start := time.Now() + logger.Info("job started", + "job_id", job.ID, + "type", job.Type, + "retry_count", job.RetryCount, + ) + + err := next(ctx, job) + + duration := time.Since(start) + if err != nil { + logger.Error("job failed", + "job_id", job.ID, + "type", job.Type, + "duration", duration, + "error", err, + ) + } else { + logger.Info("job completed", + "job_id", job.ID, + "type", job.Type, + "duration", duration, + ) + } + return err + } + } +} + +// RecoveryMiddleware catches panics and converts them to errors. +// Prevents a single panicking job from crashing the worker. +func RecoveryMiddleware(logger *logging.Logger) func(Handler) Handler { + return func(next Handler) Handler { + return func(ctx context.Context, job *Job) (err error) { + defer func() { + if r := recover(); r != nil { + stack := debug.Stack() + logger.Error("job panic recovered", + "job_id", job.ID, + "type", job.Type, + "panic", r, + "stack", string(stack), + ) + err = fmt.Errorf("panic in job handler: %v", r) + } + }() + return next(ctx, job) + } + } +} + +// TimeoutMiddleware enforces a maximum job processing time. +// Jobs that exceed the timeout return a context deadline exceeded error. +func TimeoutMiddleware(timeout time.Duration) func(Handler) Handler { + return func(next Handler) Handler { + return func(ctx context.Context, job *Job) error { + ctx, cancel := context.WithTimeout(ctx, timeout) + defer cancel() + return next(ctx, job) + } + } +} + +// MetricsMiddleware tracks job processing metrics. +// Calls the provided callbacks for observability integration. +type MetricsCallbacks struct { + OnJobStarted func(jobType string) + OnJobCompleted func(jobType string, duration time.Duration) + OnJobFailed func(jobType string, duration time.Duration, err error) +} + +// MetricsMiddleware creates middleware that tracks job processing metrics. +func MetricsMiddleware(callbacks MetricsCallbacks) func(Handler) Handler { + return func(next Handler) Handler { + return func(ctx context.Context, job *Job) error { + if callbacks.OnJobStarted != nil { + callbacks.OnJobStarted(job.Type) + } + + start := time.Now() + err := next(ctx, job) + duration := time.Since(start) + + if err != nil { + if callbacks.OnJobFailed != nil { + callbacks.OnJobFailed(job.Type, duration, err) + } + } else { + if callbacks.OnJobCompleted != nil { + callbacks.OnJobCompleted(job.Type, duration) + } + } + return err + } + } +} + +// Chain combines multiple middleware into a single middleware. +// Middleware is applied in order: Chain(a, b, c)(h) = a(b(c(h))) +func Chain(middlewares ...func(Handler) Handler) func(Handler) Handler { + return func(h Handler) Handler { + for i := len(middlewares) - 1; i >= 0; i-- { + h = middlewares[i](h) + } + return h + } +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/queue/migrations/001_create_jobs.sql.tmpl b/internal/adapter/templates/templates/skeleton/pkg/queue/migrations/001_create_jobs.sql.tmpl new file mode 100644 index 0000000..5af8ef9 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/queue/migrations/001_create_jobs.sql.tmpl @@ -0,0 +1,32 @@ +-- Jobs queue table for async job processing. +-- Used by pkg/queue for producer/consumer patterns. +CREATE TABLE IF NOT EXISTS jobs ( + id UUID PRIMARY KEY, + job_type VARCHAR(255) NOT NULL, + payload JSONB NOT NULL DEFAULT '{}', + status VARCHAR(50) NOT NULL DEFAULT 'pending', + priority INT NOT NULL DEFAULT 0, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + started_at TIMESTAMPTZ, + completed_at TIMESTAMPTZ, + retry_count INT NOT NULL DEFAULT 0, + max_retries INT NOT NULL DEFAULT 3, + error TEXT, + worker_id VARCHAR(255) +); + +-- Index for efficient dequeue: pending jobs ordered by priority (desc) and age (asc). +-- Partial index only includes pending jobs for efficiency. +CREATE INDEX IF NOT EXISTS idx_jobs_dequeue ON jobs (priority DESC, created_at ASC) + WHERE status = 'pending'; + +-- Index for finding stale running jobs that need requeue. +-- Used by RequeueStale to recover from crashed workers. +CREATE INDEX IF NOT EXISTS idx_jobs_stale ON jobs (started_at) + WHERE status = 'running'; + +-- Index for listing/filtering jobs by type. +CREATE INDEX IF NOT EXISTS idx_jobs_type ON jobs (job_type, created_at DESC); + +-- Index for listing jobs by status (useful for monitoring dashboards). +CREATE INDEX IF NOT EXISTS idx_jobs_status ON jobs (status, created_at DESC); diff --git a/internal/adapter/templates/templates/skeleton/pkg/queue/postgres.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/queue/postgres.go.tmpl new file mode 100644 index 0000000..2bc3e5e --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/queue/postgres.go.tmpl @@ -0,0 +1,278 @@ +package queue + +import ( + "context" + "database/sql" + "encoding/json" + "errors" + "fmt" + "time" + + "github.com/google/uuid" + "github.com/jmoiron/sqlx" + + "{{GO_MODULE}}/pkg/logging" +) + +// PostgresQueue implements Producer and Consumer using PostgreSQL. +// Uses FOR UPDATE SKIP LOCKED for atomic, non-blocking dequeue. +type PostgresQueue struct { + db *sqlx.DB + logger *logging.Logger +} + +// Ensure PostgresQueue implements Queue at compile time. +var _ Queue = (*PostgresQueue)(nil) + +// NewPostgresQueue creates a queue backed by PostgreSQL. +func NewPostgresQueue(db *sqlx.DB, logger *logging.Logger) *PostgresQueue { + return &PostgresQueue{ + db: db, + logger: logger.WithComponent("queue"), + } +} + +// Enqueue adds a job to the queue with default options. +func (q *PostgresQueue) Enqueue(ctx context.Context, jobType string, payload map[string]any) (string, error) { + return q.EnqueueWithOptions(ctx, Job{ + Type: jobType, + Payload: payload, + Priority: 0, + MaxRetries: 3, + }) +} + +// EnqueueWithOptions adds a job with custom configuration. +func (q *PostgresQueue) EnqueueWithOptions(ctx context.Context, job Job) (string, error) { + job.ID = uuid.New().String() + job.Status = StatusPending + job.CreatedAt = time.Now().UTC() + + if job.MaxRetries == 0 { + job.MaxRetries = 3 + } + + payloadJSON, err := json.Marshal(job.Payload) + if err != nil { + return "", fmt.Errorf("marshal payload: %w", err) + } + + _, err = q.db.ExecContext(ctx, ` + INSERT INTO jobs (id, job_type, payload, status, priority, max_retries, created_at) + VALUES ($1, $2, $3, $4, $5, $6, $7) + `, job.ID, job.Type, payloadJSON, job.Status, job.Priority, job.MaxRetries, job.CreatedAt) + if err != nil { + return "", fmt.Errorf("insert job: %w", err) + } + + q.logger.Debug("job enqueued", "job_id", job.ID, "type", job.Type, "priority", job.Priority) + return job.ID, nil +} + +// Dequeue atomically claims the next pending job. +// Uses UPDATE with subquery + FOR UPDATE SKIP LOCKED for atomic, non-blocking claim. +func (q *PostgresQueue) Dequeue(ctx context.Context, workerID string) (*Job, error) { + now := time.Now().UTC() + + // Atomic claim: UPDATE with subquery + FOR UPDATE SKIP LOCKED + // This avoids explicit transaction management while being safe for concurrent workers. + var job jobRow + err := q.db.QueryRowxContext(ctx, ` + UPDATE jobs + SET status = $1, worker_id = $2, started_at = $3 + WHERE id = ( + SELECT id FROM jobs + WHERE status = $4 + ORDER BY priority DESC, created_at ASC + FOR UPDATE SKIP LOCKED + LIMIT 1 + ) + RETURNING id, job_type, payload, status, priority, created_at, started_at, + completed_at, retry_count, max_retries, error, worker_id + `, StatusRunning, workerID, now, StatusPending).StructScan(&job) + + if errors.Is(err, sql.ErrNoRows) { + return nil, ErrNoJob + } + if err != nil { + return nil, fmt.Errorf("dequeue job: %w", err) + } + + result, err := job.toJob() + if err != nil { + return nil, fmt.Errorf("parse job: %w", err) + } + + q.logger.Debug("job dequeued", "job_id", result.ID, "type", result.Type, "worker_id", workerID) + return result, nil +} + +// Ack marks a job as successfully completed. +func (q *PostgresQueue) Ack(ctx context.Context, jobID string) error { + now := time.Now().UTC() + result, err := q.db.ExecContext(ctx, ` + UPDATE jobs SET status = $1, completed_at = $2 WHERE id = $3 + `, StatusCompleted, now, jobID) + if err != nil { + return fmt.Errorf("ack job: %w", err) + } + + rows, _ := result.RowsAffected() + if rows == 0 { + return ErrJobNotFound + } + + q.logger.Debug("job completed", "job_id", jobID) + return nil +} + +// Fail marks a job as failed, requeuing if retries remain. +// Uses atomic UPDATE to handle retry logic in a single query. +func (q *PostgresQueue) Fail(ctx context.Context, jobID string, errMsg string) error { + // Atomic: increment retry_count, check if should requeue or fail permanently. + // When retrying: clear worker_id and started_at, set status to pending. + // When exhausted: set status to failed, set completed_at. + now := time.Now().UTC() + result, err := q.db.ExecContext(ctx, ` + UPDATE jobs + SET + retry_count = retry_count + 1, + error = $1, + status = CASE + WHEN retry_count + 1 >= max_retries THEN $2 + ELSE $3 + END, + started_at = CASE + WHEN retry_count + 1 >= max_retries THEN started_at + ELSE NULL + END, + worker_id = CASE + WHEN retry_count + 1 >= max_retries THEN worker_id + ELSE NULL + END, + completed_at = CASE + WHEN retry_count + 1 >= max_retries THEN $4 + ELSE NULL + END + WHERE id = $5 + `, errMsg, StatusFailed, StatusPending, now, jobID) + if err != nil { + return fmt.Errorf("fail job: %w", err) + } + + rows, _ := result.RowsAffected() + if rows == 0 { + return ErrJobNotFound + } + + q.logger.Debug("job failed", "job_id", jobID, "error", errMsg) + return nil +} + +// Heartbeat extends the job's visibility timeout. +// Updates started_at to prevent RequeueStale from reclaiming the job. +func (q *PostgresQueue) Heartbeat(ctx context.Context, jobID string) error { + result, err := q.db.ExecContext(ctx, ` + UPDATE jobs SET started_at = $1 WHERE id = $2 AND status = $3 + `, time.Now().UTC(), jobID, StatusRunning) + if err != nil { + return fmt.Errorf("heartbeat job: %w", err) + } + + rows, _ := result.RowsAffected() + if rows == 0 { + return ErrJobNotFound + } + + return nil +} + +// RequeueStale requeues jobs that have been running too long without heartbeat. +// Call this periodically (e.g., every minute) to recover from crashed workers. +// Returns the number of jobs requeued. +func (q *PostgresQueue) RequeueStale(ctx context.Context, timeout time.Duration) (int64, error) { + cutoff := time.Now().UTC().Add(-timeout) + result, err := q.db.ExecContext(ctx, ` + UPDATE jobs + SET status = $1, worker_id = NULL, started_at = NULL + WHERE status = $2 AND started_at < $3 + `, StatusPending, StatusRunning, cutoff) + if err != nil { + return 0, fmt.Errorf("requeue stale jobs: %w", err) + } + + count, _ := result.RowsAffected() + if count > 0 { + q.logger.Info("requeued stale jobs", "count", count, "timeout", timeout) + } + return count, nil +} + +// GetJob retrieves a job by ID (for inspection/debugging). +func (q *PostgresQueue) GetJob(ctx context.Context, jobID string) (*Job, error) { + var job jobRow + err := q.db.QueryRowxContext(ctx, ` + SELECT id, job_type, payload, status, priority, created_at, started_at, + completed_at, retry_count, max_retries, error, worker_id + FROM jobs WHERE id = $1 + `, jobID).StructScan(&job) + + if errors.Is(err, sql.ErrNoRows) { + return nil, ErrJobNotFound + } + if err != nil { + return nil, fmt.Errorf("get job: %w", err) + } + + return job.toJob() +} + +// jobRow is the database representation of a Job. +// Handles nullable columns and JSON payload. +type jobRow struct { + ID string `db:"id"` + Type string `db:"job_type"` + Payload []byte `db:"payload"` + Status string `db:"status"` + Priority int `db:"priority"` + CreatedAt time.Time `db:"created_at"` + StartedAt sql.NullTime `db:"started_at"` + CompletedAt sql.NullTime `db:"completed_at"` + RetryCount int `db:"retry_count"` + MaxRetries int `db:"max_retries"` + Error sql.NullString `db:"error"` + WorkerID sql.NullString `db:"worker_id"` +} + +func (r *jobRow) toJob() (*Job, error) { + job := &Job{ + ID: r.ID, + Type: r.Type, + Status: JobStatus(r.Status), + Priority: r.Priority, + CreatedAt: r.CreatedAt, + RetryCount: r.RetryCount, + MaxRetries: r.MaxRetries, + } + + if r.StartedAt.Valid { + job.StartedAt = &r.StartedAt.Time + } + if r.CompletedAt.Valid { + job.CompletedAt = &r.CompletedAt.Time + } + if r.Error.Valid { + job.Error = r.Error.String + } + if r.WorkerID.Valid { + job.WorkerID = r.WorkerID.String + } + + if len(r.Payload) > 0 { + if err := json.Unmarshal(r.Payload, &job.Payload); err != nil { + return nil, fmt.Errorf("unmarshal payload: %w", err) + } + } + + return job, nil +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/queue/queue.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/queue/queue.go.tmpl new file mode 100644 index 0000000..f2dd789 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/queue/queue.go.tmpl @@ -0,0 +1,110 @@ +// Package queue provides a PostgreSQL-backed job queue for async processing. +// +// This package implements a reliable producer/consumer pattern using: +// - Atomic dequeue with FOR UPDATE SKIP LOCKED +// - Automatic retry with exponential backoff +// - Job priority and ordering +// - Stale job recovery +// +// Usage: +// +// // Producer: enqueue a job +// producer := queue.NewPostgresQueue(pool.DB, logger) +// jobID, err := producer.Enqueue(ctx, "send_email", map[string]any{ +// "to": "user@example.com", +// "subject": "Welcome!", +// }) +// +// // Consumer: process jobs +// consumer := queue.NewPostgresQueue(pool.DB, logger) +// job, err := consumer.Dequeue(ctx, "worker-1") +// if err == queue.ErrNoJob { +// // Queue is empty +// } +// // ... process job ... +// consumer.Ack(ctx, job.ID) +package queue + +import ( + "context" + "errors" + "time" +) + +// Job represents an async job in the queue. +type Job struct { + ID string `json:"id" db:"id"` + Type string `json:"type" db:"job_type"` + Payload map[string]any `json:"payload" db:"payload"` + Status JobStatus `json:"status" db:"status"` + Priority int `json:"priority" db:"priority"` + CreatedAt time.Time `json:"created_at" db:"created_at"` + StartedAt *time.Time `json:"started_at,omitempty" db:"started_at"` + CompletedAt *time.Time `json:"completed_at,omitempty" db:"completed_at"` + RetryCount int `json:"retry_count" db:"retry_count"` + MaxRetries int `json:"max_retries" db:"max_retries"` + Error string `json:"error,omitempty" db:"error"` + WorkerID string `json:"worker_id,omitempty" db:"worker_id"` +} + +// JobStatus represents the current state of a job. +type JobStatus string + +const ( + StatusPending JobStatus = "pending" + StatusRunning JobStatus = "running" + StatusCompleted JobStatus = "completed" + StatusFailed JobStatus = "failed" +) + +// String returns the string representation of the status. +func (s JobStatus) String() string { + return string(s) +} + +// Producer enqueues jobs for async processing. +type Producer interface { + // Enqueue adds a job to the queue with default options. + // Returns the job ID on success. + Enqueue(ctx context.Context, jobType string, payload map[string]any) (jobID string, err error) + + // EnqueueWithOptions adds a job with custom priority, retries, etc. + // The job's ID, Status, and CreatedAt are set automatically. + EnqueueWithOptions(ctx context.Context, job Job) (jobID string, err error) +} + +// Consumer dequeues and processes jobs. +type Consumer interface { + // Dequeue atomically claims the next pending job. + // Returns ErrNoJob if the queue is empty. + Dequeue(ctx context.Context, workerID string) (*Job, error) + + // Ack marks a job as successfully completed. + Ack(ctx context.Context, jobID string) error + + // Fail marks a job as failed. If retries remain, requeues automatically. + Fail(ctx context.Context, jobID string, errMsg string) error + + // Heartbeat extends the job's visibility timeout. + // Call periodically for long-running jobs to prevent requeue. + Heartbeat(ctx context.Context, jobID string) error +} + +// Queue combines Producer and Consumer for convenience. +type Queue interface { + Producer + Consumer +} + +// Handler processes a single job. +// Return nil for success, error for failure (triggers retry if attempts remain). +type Handler func(ctx context.Context, job *Job) error + +// Sentinel errors. +var ( + // ErrNoJob is returned when the queue has no pending jobs. + ErrNoJob = errors.New("no job available") + + // ErrJobNotFound is returned when a job ID doesn't exist. + ErrJobNotFound = errors.New("job not found") +) diff --git a/internal/adapter/templates/templates/skeleton/pkg/realtime/handler.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/realtime/handler.go.tmpl new file mode 100644 index 0000000..1984d22 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/realtime/handler.go.tmpl @@ -0,0 +1,176 @@ +package realtime + +import ( + "context" + "net/http" + + "github.com/go-chi/chi/v5" + + "{{GO_MODULE}}/pkg/auth" + "{{GO_MODULE}}/pkg/logging" +) + +// HandlerConfig configures the WebSocket handler. +type HandlerConfig struct { + // Broadcaster handles cross-pod message distribution. + // If nil, messages only broadcast to local pod (single-pod mode). + Broadcaster Broadcaster + + // OnConnect is called when a client connects (optional). + OnConnect func(conn Connection) + + // OnDisconnect is called when a client disconnects (optional). + OnDisconnect func(conn Connection) + + // OnMessage is called for incoming messages (optional). + // Return the message to broadcast it, or nil to suppress. + OnMessage func(conn Connection, msg *Message) *Message + + // AuthRequired requires authentication for WebSocket connections. + // If true, unauthenticated connections are rejected. + AuthRequired bool +} + +// Handler handles WebSocket connections. +type Handler struct { + hub Hub + broadcaster Broadcaster + logger *logging.Logger + config HandlerConfig +} + +// NewHandler creates a new WebSocket handler. +func NewHandler(hub Hub, logger *logging.Logger, cfg HandlerConfig) *Handler { + return &Handler{ + hub: hub, + broadcaster: cfg.Broadcaster, + logger: logger.WithComponent("ws-handler"), + config: cfg, + } +} + +// Routes returns the chi router for this handler. +// Mount at your desired path: r.Mount("/ws", handler.Routes()) +func (h *Handler) Routes() http.Handler { + r := chi.NewRouter() + r.Get("/", h.HandleWebSocket) + r.Get("/{room}", h.HandleWebSocket) + return r +} + +// HandleWebSocket upgrades HTTP to WebSocket and manages the connection lifecycle. +func (h *Handler) HandleWebSocket(w http.ResponseWriter, r *http.Request) { + // Extract room from URL (optional) + room := chi.URLParam(r, "room") + if room == "" { + room = r.URL.Query().Get("room") + } + + // Extract user from auth context + var userID string + if claims := auth.ClaimsFromContext(r.Context()); claims != nil { + userID = claims.Subject + } + + // Check auth requirement + if h.config.AuthRequired && userID == "" { + http.Error(w, "authentication required", http.StatusUnauthorized) + return + } + + // Upgrade connection + conn, err := UpgradeConnection(w, r) + if err != nil { + h.logger.Warn("websocket upgrade failed", "error", err) + return + } + + // Create client + client := NewWSClient(h.hub, conn, h.logger, WSClientConfig{ + UserID: userID, + OnMessage: h.makeMessageHandler(room), + }) + + h.logger.Info("websocket connection established", + "client_id", client.ID(), + "user_id", userID, + "room", room, + ) + + // Join room if specified + if room != "" { + h.hub.JoinRoom(client, room) + } + + // Notify connect callback + if h.config.OnConnect != nil { + h.config.OnConnect(client) + } + + // Run connection (blocks until closed) + client.Run(r.Context()) + + // Notify disconnect callback + if h.config.OnDisconnect != nil { + h.config.OnDisconnect(client) + } + + h.logger.Info("websocket connection closed", + "client_id", client.ID(), + "user_id", userID, + ) +} + +// makeMessageHandler creates the message callback for a client. +func (h *Handler) makeMessageHandler(defaultRoom string) func(*WSClient, *Message) { + return func(client *WSClient, msg *Message) { + // Set room if not specified + if msg.Room == "" { + msg.Room = defaultRoom + } + + // Call user callback for message transformation/filtering + if h.config.OnMessage != nil { + msg = h.config.OnMessage(client, msg) + if msg == nil { + return // Message suppressed + } + } + + // Broadcast via Redis if available, otherwise local only + if h.broadcaster != nil { + if err := h.broadcaster.Publish(context.Background(), msg); err != nil { + h.logger.Warn("failed to publish to broadcaster", + "error", err, + "message_id", msg.ID, + ) + // Fall back to local broadcast + h.hub.Broadcast(msg) + } + } else { + h.hub.Broadcast(msg) + } + } +} + +// Stats returns connection statistics. +type Stats struct { + TotalConnections int `json:"total_connections"` + RoomCounts map[string]int `json:"room_counts,omitempty"` +} + +// GetStats returns current connection statistics. +func (h *Handler) GetStats(rooms ...string) Stats { + stats := Stats{ + TotalConnections: h.hub.ConnectionCount(), + } + + if len(rooms) > 0 { + stats.RoomCounts = make(map[string]int) + for _, room := range rooms { + stats.RoomCounts[room] = h.hub.RoomCount(room) + } + } + + return stats +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/realtime/hub.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/realtime/hub.go.tmpl new file mode 100644 index 0000000..f8abd68 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/realtime/hub.go.tmpl @@ -0,0 +1,237 @@ +package realtime + +import ( + "context" + "sync" + + "{{GO_MODULE}}/pkg/logging" +) + +// LocalHub is an in-memory implementation of Hub. +// It manages connections and rooms on a single pod. +// For multi-pod deployments, pair with RedisBroadcaster. +type LocalHub struct { + logger *logging.Logger + + // connections maps client ID to connection + connections map[string]Connection + + // rooms maps room name to set of client IDs + rooms map[string]map[string]struct{} + + // clientRooms maps client ID to set of rooms (for cleanup on disconnect) + clientRooms map[string]map[string]struct{} + + mu sync.RWMutex + + // Channels for goroutine-safe operations + registerCh chan Connection + unregisterCh chan Connection + broadcastCh chan *Message +} + +// Ensure LocalHub implements Hub at compile time. +var _ Hub = (*LocalHub)(nil) + +// NewHub creates a new in-memory hub. +func NewHub(logger *logging.Logger) *LocalHub { + return &LocalHub{ + logger: logger.WithComponent("hub"), + connections: make(map[string]Connection), + rooms: make(map[string]map[string]struct{}), + clientRooms: make(map[string]map[string]struct{}), + registerCh: make(chan Connection, 256), + unregisterCh: make(chan Connection, 256), + broadcastCh: make(chan *Message, 256), + } +} + +// Run starts the hub's event loop. Call this in a goroutine. +func (h *LocalHub) Run(ctx context.Context) { + h.logger.Info("hub started") + defer h.logger.Info("hub stopped") + + for { + select { + case <-ctx.Done(): + h.closeAllConnections() + return + + case conn := <-h.registerCh: + h.doRegister(conn) + + case conn := <-h.unregisterCh: + h.doUnregister(conn) + + case msg := <-h.broadcastCh: + h.doBroadcast(msg) + } + } +} + +// Register adds a connection to the hub. +func (h *LocalHub) Register(conn Connection) { + h.registerCh <- conn +} + +// Unregister removes a connection from the hub. +func (h *LocalHub) Unregister(conn Connection) { + h.unregisterCh <- conn +} + +// JoinRoom adds a connection to a room. +func (h *LocalHub) JoinRoom(conn Connection, room string) { + h.mu.Lock() + defer h.mu.Unlock() + + // Add to room + if h.rooms[room] == nil { + h.rooms[room] = make(map[string]struct{}) + } + h.rooms[room][conn.ID()] = struct{}{} + + // Track client's rooms for cleanup + if h.clientRooms[conn.ID()] == nil { + h.clientRooms[conn.ID()] = make(map[string]struct{}) + } + h.clientRooms[conn.ID()][room] = struct{}{} + + h.logger.Debug("client joined room", + "client_id", conn.ID(), + "room", room, + "room_size", len(h.rooms[room]), + ) +} + +// LeaveRoom removes a connection from a room. +func (h *LocalHub) LeaveRoom(conn Connection, room string) { + h.mu.Lock() + defer h.mu.Unlock() + + if clients, ok := h.rooms[room]; ok { + delete(clients, conn.ID()) + if len(clients) == 0 { + delete(h.rooms, room) + } + } + + if rooms, ok := h.clientRooms[conn.ID()]; ok { + delete(rooms, room) + } + + h.logger.Debug("client left room", + "client_id", conn.ID(), + "room", room, + ) +} + +// Broadcast sends a message to all connections in a room. +func (h *LocalHub) Broadcast(msg *Message) { + h.broadcastCh <- msg +} + +// SendTo sends a message to a specific connection. +func (h *LocalHub) SendTo(connID string, msg *Message) bool { + h.mu.RLock() + conn, ok := h.connections[connID] + h.mu.RUnlock() + + if !ok { + return false + } + return conn.Send(msg) +} + +// ConnectionCount returns the total number of active connections. +func (h *LocalHub) ConnectionCount() int { + h.mu.RLock() + defer h.mu.RUnlock() + return len(h.connections) +} + +// RoomCount returns the number of connections in a specific room. +func (h *LocalHub) RoomCount(room string) int { + h.mu.RLock() + defer h.mu.RUnlock() + return len(h.rooms[room]) +} + +// doRegister handles registration (called from event loop). +func (h *LocalHub) doRegister(conn Connection) { + h.mu.Lock() + h.connections[conn.ID()] = conn + h.mu.Unlock() + + h.logger.Debug("client registered", + "client_id", conn.ID(), + "user_id", conn.UserID(), + "total_connections", h.ConnectionCount(), + ) +} + +// doUnregister handles unregistration (called from event loop). +func (h *LocalHub) doUnregister(conn Connection) { + h.mu.Lock() + defer h.mu.Unlock() + + if _, ok := h.connections[conn.ID()]; !ok { + return // Already unregistered + } + + // Remove from all rooms + if rooms, ok := h.clientRooms[conn.ID()]; ok { + for room := range rooms { + if clients, ok := h.rooms[room]; ok { + delete(clients, conn.ID()) + if len(clients) == 0 { + delete(h.rooms, room) + } + } + } + delete(h.clientRooms, conn.ID()) + } + + delete(h.connections, conn.ID()) + + h.logger.Debug("client unregistered", + "client_id", conn.ID(), + "total_connections", len(h.connections), + ) +} + +// doBroadcast handles broadcasting (called from event loop). +func (h *LocalHub) doBroadcast(msg *Message) { + h.mu.RLock() + defer h.mu.RUnlock() + + if msg.Room != "" { + // Room broadcast + clients, ok := h.rooms[msg.Room] + if !ok { + return + } + for clientID := range clients { + if conn, ok := h.connections[clientID]; ok { + conn.Send(msg) + } + } + } else { + // Global broadcast + for _, conn := range h.connections { + conn.Send(msg) + } + } +} + +// closeAllConnections closes all connections on shutdown. +func (h *LocalHub) closeAllConnections() { + h.mu.Lock() + defer h.mu.Unlock() + + for _, conn := range h.connections { + conn.Close() + } + h.connections = make(map[string]Connection) + h.rooms = make(map[string]map[string]struct{}) + h.clientRooms = make(map[string]map[string]struct{}) +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/realtime/realtime.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/realtime/realtime.go.tmpl new file mode 100644 index 0000000..f147655 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/realtime/realtime.go.tmpl @@ -0,0 +1,149 @@ +// Package realtime provides WebSocket communication with Redis-backed broadcasting. +// +// This package enables real-time bidirectional communication with: +// - WebSocket connections with automatic ping/pong heartbeat +// - Room-based message grouping +// - Cross-pod broadcasting via Redis Pub/Sub +// - Graceful connection lifecycle management +// +// Usage: +// +// // Create a hub (local connection registry) +// hub := realtime.NewHub(logger) +// go hub.Run(ctx) +// +// // Optional: Add Redis for multi-pod scaling +// redisBroadcaster := realtime.NewRedisBroadcaster(redisClient, hub, logger) +// go redisBroadcaster.Run(ctx) +// +// // Mount the WebSocket handler +// handler := realtime.NewHandler(hub, logger, realtime.HandlerConfig{ +// Broadcaster: redisBroadcaster, // nil for single-pod +// }) +// r.Mount("/ws", handler.Routes()) +package realtime + +import ( + "context" + "encoding/json" + "time" +) + +// Message represents a real-time message sent between clients. +type Message struct { + // ID is a unique identifier for the message (optional, set by broadcaster). + ID string `json:"id,omitempty"` + + // Type identifies the message kind (e.g., "chat", "notification", "presence"). + Type string `json:"type"` + + // Room is the target room for the message (empty for direct messages). + Room string `json:"room,omitempty"` + + // From is the sender's client ID (set by server). + From string `json:"from,omitempty"` + + // Data contains the message payload. + Data json.RawMessage `json:"data,omitempty"` + + // Timestamp is when the message was created. + Timestamp time.Time `json:"timestamp"` +} + +// SystemMessage creates a system-generated message. +func SystemMessage(msgType string, data any) (*Message, error) { + dataBytes, err := json.Marshal(data) + if err != nil { + return nil, err + } + return &Message{ + Type: msgType, + From: "system", + Data: dataBytes, + Timestamp: time.Now().UTC(), + }, nil +} + +// Connection represents a connected WebSocket client. +type Connection interface { + // ID returns the unique connection identifier. + ID() string + + // UserID returns the authenticated user ID (empty if anonymous). + UserID() string + + // Send queues a message for delivery to this connection. + // Returns false if the connection is closed or send buffer is full. + Send(msg *Message) bool + + // Close gracefully closes the connection. + Close() +} + +// Hub manages active connections and room memberships. +type Hub interface { + // Register adds a connection to the hub. + Register(conn Connection) + + // Unregister removes a connection from the hub. + Unregister(conn Connection) + + // JoinRoom adds a connection to a room. + JoinRoom(conn Connection, room string) + + // LeaveRoom removes a connection from a room. + LeaveRoom(conn Connection, room string) + + // Broadcast sends a message to all connections in a room. + // If room is empty, broadcasts to all connections. + Broadcast(msg *Message) + + // SendTo sends a message to a specific connection by ID. + SendTo(connID string, msg *Message) bool + + // ConnectionCount returns the total number of active connections. + ConnectionCount() int + + // RoomCount returns the number of connections in a specific room. + RoomCount(room string) int +} + +// Broadcaster handles cross-pod message distribution. +// Implementations typically use Redis Pub/Sub or similar. +type Broadcaster interface { + // Publish sends a message to all pods. + Publish(ctx context.Context, msg *Message) error + + // Run starts the subscriber loop (blocks until context is cancelled). + Run(ctx context.Context) error +} + +// MessageType constants for common message types. +const ( + MessageTypeChat = "chat" + MessageTypePresence = "presence" + MessageTypeNotification = "notification" + MessageTypeSystem = "system" + MessageTypeError = "error" + MessageTypePing = "ping" + MessageTypePong = "pong" +) + +// PresenceStatus constants for presence messages. +const ( + PresenceOnline = "online" + PresenceOffline = "offline" + PresenceAway = "away" +) + +// PresenceData represents presence change data. +type PresenceData struct { + Status string `json:"status"` + UserID string `json:"user_id"` +} + +// JoinLeaveData represents room join/leave data. +type JoinLeaveData struct { + Room string `json:"room"` + UserID string `json:"user_id"` +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/realtime/redis.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/realtime/redis.go.tmpl new file mode 100644 index 0000000..8bb9fd0 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/realtime/redis.go.tmpl @@ -0,0 +1,166 @@ +package realtime + +import ( + "context" + "encoding/json" + "fmt" + "time" + + "github.com/google/uuid" + "github.com/redis/go-redis/v9" + + "{{GO_MODULE}}/pkg/logging" +) + +const ( + // channelPrefix is the prefix for Redis pub/sub channels. + channelPrefix = "realtime:" + + // globalChannel is the channel for messages without a specific room. + globalChannel = channelPrefix + "global" +) + +// RedisBroadcaster distributes messages across multiple pods via Redis Pub/Sub. +type RedisBroadcaster struct { + client *redis.Client + hub Hub + logger *logging.Logger + podID string // Unique identifier for this pod (to prevent echo) +} + +// Ensure RedisBroadcaster implements Broadcaster at compile time. +var _ Broadcaster = (*RedisBroadcaster)(nil) + +// NewRedisBroadcaster creates a broadcaster backed by Redis Pub/Sub. +func NewRedisBroadcaster(client *redis.Client, hub Hub, logger *logging.Logger) *RedisBroadcaster { + return &RedisBroadcaster{ + client: client, + hub: hub, + logger: logger.WithComponent("redis-broadcaster"), + podID: uuid.New().String(), + } +} + +// redisMessage wraps a Message with origin metadata. +type redisMessage struct { + PodID string `json:"pod_id"` + Message *Message `json:"message"` +} + +// Publish sends a message to all pods via Redis. +func (b *RedisBroadcaster) Publish(ctx context.Context, msg *Message) error { + // Set message ID if not set + if msg.ID == "" { + msg.ID = uuid.New().String() + } + + // Wrap with pod ID to prevent echo + wrapped := redisMessage{ + PodID: b.podID, + Message: msg, + } + + data, err := json.Marshal(wrapped) + if err != nil { + return fmt.Errorf("marshal message: %w", err) + } + + // Determine channel + channel := globalChannel + if msg.Room != "" { + channel = channelPrefix + "room:" + msg.Room + } + + if err := b.client.Publish(ctx, channel, data).Err(); err != nil { + return fmt.Errorf("publish to redis: %w", err) + } + + b.logger.Debug("published message to redis", + "channel", channel, + "message_id", msg.ID, + "type", msg.Type, + ) + return nil +} + +// Run starts the Redis subscriber loop. +// Subscribes to all room channels and fans out to local hub. +func (b *RedisBroadcaster) Run(ctx context.Context) error { + b.logger.Info("redis broadcaster started", "pod_id", b.podID) + defer b.logger.Info("redis broadcaster stopped") + + // Subscribe to global channel and room pattern + pubsub := b.client.PSubscribe(ctx, globalChannel, channelPrefix+"room:*") + defer func() { _ = pubsub.Close() }() + + // Wait for subscription confirmation + _, err := pubsub.Receive(ctx) + if err != nil { + return fmt.Errorf("subscribe to redis: %w", err) + } + + ch := pubsub.Channel() + + for { + select { + case <-ctx.Done(): + return ctx.Err() + + case redisMsg, ok := <-ch: + if !ok { + return nil // Channel closed + } + + b.handleRedisMessage(redisMsg) + } + } +} + +// handleRedisMessage processes a message from Redis. +func (b *RedisBroadcaster) handleRedisMessage(redisMsg *redis.Message) { + var wrapped redisMessage + if err := json.Unmarshal([]byte(redisMsg.Payload), &wrapped); err != nil { + b.logger.Warn("invalid redis message", "error", err) + return + } + + // Skip messages from this pod (prevent echo) + if wrapped.PodID == b.podID { + return + } + + msg := wrapped.Message + if msg == nil { + return + } + + b.logger.Debug("received message from redis", + "channel", redisMsg.Channel, + "message_id", msg.ID, + "type", msg.Type, + "from_pod", wrapped.PodID, + ) + + // Broadcast to local hub + b.hub.Broadcast(msg) +} + +// RoomChannel returns the Redis channel name for a room. +func RoomChannel(room string) string { + if room == "" { + return globalChannel + } + return channelPrefix + "room:" + room +} + +// HealthCheck verifies Redis connectivity. +func (b *RedisBroadcaster) HealthCheck(ctx context.Context) error { + ctx, cancel := context.WithTimeout(ctx, 5*time.Second) + defer cancel() + return b.client.Ping(ctx).Err() +} + +// Close closes the Redis client. +func (b *RedisBroadcaster) Close() error { + return b.client.Close() +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/realtime/websocket.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/realtime/websocket.go.tmpl new file mode 100644 index 0000000..67230f8 --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/realtime/websocket.go.tmpl @@ -0,0 +1,223 @@ +package realtime + +import ( + "context" + "encoding/json" + "net/http" + "sync" + "time" + + "github.com/google/uuid" + "github.com/gorilla/websocket" + + "{{GO_MODULE}}/pkg/logging" +) + +const ( + // Time allowed to write a message to the peer. + writeWait = 10 * time.Second + + // Time allowed to read the next pong message from the peer. + pongWait = 60 * time.Second + + // Send pings to peer with this period. Must be less than pongWait. + pingPeriod = (pongWait * 9) / 10 + + // Maximum message size allowed from peer. + maxMessageSize = 64 * 1024 // 64KB + + // Size of the send channel buffer. + sendBufferSize = 256 +) + +// WSClient represents a WebSocket connection to the hub. +type WSClient struct { + id string + userID string + hub Hub + conn *websocket.Conn + send chan *Message + logger *logging.Logger + onMsg func(*WSClient, *Message) // Optional message callback + closeOnce sync.Once +} + +// Ensure WSClient implements Connection at compile time. +var _ Connection = (*WSClient)(nil) + +// WSClientConfig configures a new WebSocket client. +type WSClientConfig struct { + // UserID is the authenticated user ID (empty if anonymous). + UserID string + + // OnMessage is called for each incoming message. + // If nil, messages are ignored (useful for broadcast-only connections). + OnMessage func(*WSClient, *Message) +} + +// NewWSClient creates a new WebSocket client from an upgraded connection. +func NewWSClient(hub Hub, conn *websocket.Conn, logger *logging.Logger, cfg WSClientConfig) *WSClient { + return &WSClient{ + id: uuid.New().String(), + userID: cfg.UserID, + hub: hub, + conn: conn, + send: make(chan *Message, sendBufferSize), + logger: logger.WithComponent("ws-client"), + onMsg: cfg.OnMessage, + } +} + +// ID returns the unique connection identifier. +func (c *WSClient) ID() string { + return c.id +} + +// UserID returns the authenticated user ID. +func (c *WSClient) UserID() string { + return c.userID +} + +// Send queues a message for delivery. +func (c *WSClient) Send(msg *Message) bool { + select { + case c.send <- msg: + return true + default: + // Buffer full, message dropped + c.logger.Warn("send buffer full, dropping message", "client_id", c.id) + return false + } +} + +// Close gracefully closes the connection. +func (c *WSClient) Close() { + c.closeOnce.Do(func() { + close(c.send) + }) +} + +// Run starts the read and write pumps. Call after registering with hub. +// This method blocks until the connection is closed. +func (c *WSClient) Run(ctx context.Context) { + // Register with hub + c.hub.Register(c) + defer c.hub.Unregister(c) + + // Start pumps + go c.writePump(ctx) + c.readPump(ctx) +} + +// readPump reads messages from the WebSocket connection. +func (c *WSClient) readPump(ctx context.Context) { + defer func() { + c.Close() + _ = c.conn.Close() + }() + + c.conn.SetReadLimit(maxMessageSize) + _ = c.conn.SetReadDeadline(time.Now().Add(pongWait)) + c.conn.SetPongHandler(func(string) error { + _ = c.conn.SetReadDeadline(time.Now().Add(pongWait)) + return nil + }) + + for { + select { + case <-ctx.Done(): + return + default: + } + + _, data, err := c.conn.ReadMessage() + if err != nil { + if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) { + c.logger.Debug("websocket read error", "client_id", c.id, "error", err) + } + return + } + + // Parse message + var msg Message + if err := json.Unmarshal(data, &msg); err != nil { + c.logger.Debug("invalid message format", "client_id", c.id, "error", err) + continue + } + + // Set server-side fields + msg.From = c.id + if msg.Timestamp.IsZero() { + msg.Timestamp = time.Now().UTC() + } + + // Handle ping messages locally + if msg.Type == MessageTypePing { + pong := &Message{ + Type: MessageTypePong, + Timestamp: time.Now().UTC(), + } + c.Send(pong) + continue + } + + // Dispatch to callback if set + if c.onMsg != nil { + c.onMsg(c, &msg) + } + } +} + +// writePump writes messages to the WebSocket connection. +func (c *WSClient) writePump(ctx context.Context) { + ticker := time.NewTicker(pingPeriod) + defer func() { + ticker.Stop() + _ = c.conn.Close() + }() + + for { + select { + case <-ctx.Done(): + // Send close message + _ = c.conn.SetWriteDeadline(time.Now().Add(writeWait)) + _ = c.conn.WriteMessage(websocket.CloseMessage, []byte{}) + return + + case msg, ok := <-c.send: + _ = c.conn.SetWriteDeadline(time.Now().Add(writeWait)) + if !ok { + // Channel closed + _ = c.conn.WriteMessage(websocket.CloseMessage, []byte{}) + return + } + + if err := c.conn.WriteJSON(msg); err != nil { + c.logger.Debug("websocket write error", "client_id", c.id, "error", err) + return + } + + case <-ticker.C: + _ = c.conn.SetWriteDeadline(time.Now().Add(writeWait)) + if err := c.conn.WriteMessage(websocket.PingMessage, nil); err != nil { + return + } + } + } +} + +// Upgrader is a pre-configured WebSocket upgrader. +// Customize CheckOrigin in production for security. +var Upgrader = websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024, + CheckOrigin: func(r *http.Request) bool { + // TODO: Configure for production (check Origin header) + return true + }, +} + +// UpgradeConnection upgrades an HTTP connection to WebSocket. +func UpgradeConnection(w http.ResponseWriter, r *http.Request) (*websocket.Conn, error) { + return Upgrader.Upgrade(w, r, nil) +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/svc/client.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/svc/client.go.tmpl new file mode 100644 index 0000000..0a9999b --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/svc/client.go.tmpl @@ -0,0 +1,183 @@ +package svc + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "time" + + "{{GO_MODULE}}/pkg/httpclient" +) + +// Client provides HTTP communication with a sibling service. +// It wraps httpclient.Client with circuit breaker protection and +// automatic service URL resolution. +type Client struct { + serviceName string + baseURL string + httpClient *httpclient.Client +} + +// ClientConfig configures the service client. +type ClientConfig struct { + // Timeout for individual requests (default: 10s) + Timeout time.Duration + + // MaxRetries for transient failures (default: 3) + MaxRetries int + + // CircuitBreaker config (uses defaults if nil) + CircuitBreaker *httpclient.CircuitBreakerConfig +} + +// DefaultClientConfig returns sensible defaults for service clients. +func DefaultClientConfig() ClientConfig { + return ClientConfig{ + Timeout: 10 * time.Second, + MaxRetries: 3, + } +} + +// NewClient creates a new client for communicating with a sibling service. +// The serviceName should match the component name (e.g., "auth-svc"). +// +// Returns an error if the service URL is not configured (env var not set). +// +// Example: +// +// client, err := svc.NewClient("auth-svc") +// if err != nil { +// log.Fatal("auth service not available:", err) +// } +func NewClient(serviceName string) (*Client, error) { + return NewClientWithConfig(serviceName, DefaultClientConfig()) +} + +// NewClientWithConfig creates a new service client with custom configuration. +func NewClientWithConfig(serviceName string, config ClientConfig) (*Client, error) { + url := ServiceURL(serviceName) + if url == "" { + return nil, fmt.Errorf("service %s not configured (missing %s_URL env var)", serviceName, toEnvKey(serviceName)) + } + + // Apply defaults + if config.Timeout == 0 { + config.Timeout = 10 * time.Second + } + if config.MaxRetries == 0 { + config.MaxRetries = 3 + } + + // Build circuit breaker config + var cbConfig httpclient.CircuitBreakerConfig + if config.CircuitBreaker != nil { + cbConfig = *config.CircuitBreaker + } else { + cbConfig = httpclient.DefaultCircuitBreakerConfig() + } + + httpClient := httpclient.New(httpclient.Config{ + Timeout: config.Timeout, + MaxRetries: config.MaxRetries, + CircuitBreaker: httpclient.NewCircuitBreaker(cbConfig), + }) + + return &Client{ + serviceName: serviceName, + baseURL: url, + httpClient: httpClient, + }, nil +} + +// Get performs a GET request to the service. +func (c *Client) Get(ctx context.Context, path string) (*http.Response, error) { + return c.Do(ctx, http.MethodGet, path, nil) +} + +// Post performs a POST request with JSON body. +func (c *Client) Post(ctx context.Context, path string, body any) (*http.Response, error) { + return c.DoJSON(ctx, http.MethodPost, path, body) +} + +// Put performs a PUT request with JSON body. +func (c *Client) Put(ctx context.Context, path string, body any) (*http.Response, error) { + return c.DoJSON(ctx, http.MethodPut, path, body) +} + +// Delete performs a DELETE request. +func (c *Client) Delete(ctx context.Context, path string) (*http.Response, error) { + return c.Do(ctx, http.MethodDelete, path, nil) +} + +// Do performs an HTTP request to the service. +func (c *Client) Do(ctx context.Context, method, path string, body io.Reader) (*http.Response, error) { + url := c.baseURL + path + req, err := http.NewRequestWithContext(ctx, method, url, body) + if err != nil { + return nil, fmt.Errorf("create request: %w", err) + } + return c.httpClient.Do(req) +} + +// DoJSON performs an HTTP request with a JSON body. +func (c *Client) DoJSON(ctx context.Context, method, path string, body any) (*http.Response, error) { + var bodyReader io.Reader + if body != nil { + data, err := json.Marshal(body) + if err != nil { + return nil, fmt.Errorf("marshal request body: %w", err) + } + bodyReader = bytes.NewReader(data) + } + + url := c.baseURL + path + req, err := http.NewRequestWithContext(ctx, method, url, bodyReader) + if err != nil { + return nil, fmt.Errorf("create request: %w", err) + } + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Accept", "application/json") + + return c.httpClient.Do(req) +} + +// ServiceName returns the name of the service this client connects to. +func (c *Client) ServiceName() string { + return c.serviceName +} + +// BaseURL returns the base URL of the service. +func (c *Client) BaseURL() string { + return c.baseURL +} + +// DecodeResponse decodes a JSON response body into the given target. +// It closes the response body and returns an error if the status code indicates failure. +// +// Returns an error for non-2xx status codes, including the response body in the error message. +func DecodeResponse[T any](resp *http.Response) (T, error) { + var result T + defer resp.Body.Close() + + // Check for error status codes before attempting to decode + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + body, _ := io.ReadAll(resp.Body) + return result, fmt.Errorf("HTTP %d: %s", resp.StatusCode, truncate(string(body), 200)) + } + + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return result, fmt.Errorf("decode response: %w", err) + } + return result, nil +} + +// truncate limits a string to maxLen characters, adding "..." if truncated. +func truncate(s string, maxLen int) string { + if len(s) <= maxLen { + return s + } + return s[:maxLen] + "..." +} diff --git a/internal/adapter/templates/templates/skeleton/pkg/svc/discovery.go.tmpl b/internal/adapter/templates/templates/skeleton/pkg/svc/discovery.go.tmpl new file mode 100644 index 0000000..44c164a --- /dev/null +++ b/internal/adapter/templates/templates/skeleton/pkg/svc/discovery.go.tmpl @@ -0,0 +1,64 @@ +// Package svc provides service discovery for inter-service communication. +// +// Services discover sibling services via environment variables injected by the platform. +// When a component is deployed, it automatically receives env vars for all sibling services +// in the format: {COMPONENT_NAME}_URL (e.g., AUTH_SVC_URL, CHAT_SVC_URL). +// +// Usage: +// +// // Get the URL of a sibling service +// url := svc.ServiceURL("auth-svc") +// if url == "" { +// // Service not available +// } +// +// // Or use the typed client +// client, err := svc.NewClient("auth-svc") +// if err != nil { +// // Handle error +// } +// resp, err := client.Get(ctx, "/users/123") +package svc + +import ( + "os" + "strings" +) + +// ServiceURL returns the internal URL for a sibling service. +// The service name should be the component name as defined in the monorepo +// (e.g., "auth-svc", "chat-svc", "user-service"). +// +// Returns empty string if the service is not configured (env var not set). +// +// Example: +// +// url := svc.ServiceURL("auth-svc") // Returns value of AUTH_SVC_URL +func ServiceURL(serviceName string) string { + envKey := toEnvKey(serviceName) + "_URL" + return os.Getenv(envKey) +} + +// ServiceConfigured returns true if a service URL is configured. +// Use this to check for optional service dependencies. +func ServiceConfigured(serviceName string) bool { + return ServiceURL(serviceName) != "" +} + +// MustServiceURL returns the internal URL for a sibling service. +// Panics if the service is not configured. Use this for required dependencies +// during application initialization. +func MustServiceURL(serviceName string) string { + url := ServiceURL(serviceName) + if url == "" { + panic("required service not configured: " + serviceName) + } + return url +} + +// toEnvKey converts a service name to its environment variable name prefix. +// Example: "auth-svc" -> "AUTH_SVC" +func toEnvKey(serviceName string) string { + // Replace hyphens with underscores and convert to uppercase + return strings.ToUpper(strings.ReplaceAll(serviceName, "-", "_")) +} diff --git a/internal/domain/component.go b/internal/domain/component.go index ba6b4f8..efd7abd 100644 --- a/internal/domain/component.go +++ b/internal/domain/component.go @@ -13,6 +13,9 @@ const ( ComponentTypeAppReact ComponentType = "app-react" ComponentTypeAppNextJS ComponentType = "app-nextjs" ComponentTypeCLI ComponentType = "cli" + // Infrastructure component types - these trigger provisioning, not scaffolding. + ComponentTypePostgres ComponentType = "postgres" + ComponentTypeRedis ComponentType = "redis" ) // ValidComponentTypes lists all valid component types. @@ -23,6 +26,8 @@ var ValidComponentTypes = []ComponentType{ ComponentTypeAppReact, ComponentTypeAppNextJS, ComponentTypeCLI, + ComponentTypePostgres, + ComponentTypeRedis, } // IsValidComponentType checks if a string is a valid component type. @@ -91,6 +96,12 @@ func (c ComponentType) IsAppComponent() bool { return c == ComponentTypeAppAstro || c == ComponentTypeAppReact || c == ComponentTypeAppNextJS } +// IsInfraComponent returns true if this component type is infrastructure (database, cache). +// Infrastructure components trigger provisioning instead of template scaffolding. +func (c ComponentType) IsInfraComponent() bool { + return c == ComponentTypePostgres || c == ComponentTypeRedis +} + // componentNameRegex validates component names (slug format: lowercase, alphanumeric, dashes). var componentNameRegex = regexp.MustCompile(`^[a-z][a-z0-9-]*$`) diff --git a/internal/domain/component_test.go b/internal/domain/component_test.go index 03173d1..fca668c 100644 --- a/internal/domain/component_test.go +++ b/internal/domain/component_test.go @@ -14,6 +14,8 @@ func TestIsValidComponentType(t *testing.T) { {"app-react", "app-react", true}, {"app-nextjs", "app-nextjs", true}, {"cli", "cli", true}, + {"postgres", "postgres", true}, + {"redis", "redis", true}, {"invalid", "invalid", false}, {"empty", "", false}, {"uppercase", "SERVICE", false}, @@ -168,6 +170,8 @@ func TestValidComponentTypes(t *testing.T) { ComponentTypeAppReact, ComponentTypeAppNextJS, ComponentTypeCLI, + ComponentTypePostgres, + ComponentTypeRedis, } if len(ValidComponentTypes) != len(expected) { @@ -204,3 +208,29 @@ func TestComponentType_IsAppComponent(t *testing.T) { }) } } + +func TestComponentType_IsInfraComponent(t *testing.T) { + tests := []struct { + name string + componentType ComponentType + expected bool + }{ + {"postgres", ComponentTypePostgres, true}, + {"redis", ComponentTypeRedis, true}, + {"service", ComponentTypeService, false}, + {"worker", ComponentTypeWorker, false}, + {"app-astro", ComponentTypeAppAstro, false}, + {"app-react", ComponentTypeAppReact, false}, + {"app-nextjs", ComponentTypeAppNextJS, false}, + {"cli", ComponentTypeCLI, false}, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + result := tc.componentType.IsInfraComponent() + if result != tc.expected { + t.Errorf("%s.IsInfraComponent() = %v, want %v", tc.componentType, result, tc.expected) + } + }) + } +} diff --git a/internal/domain/deployment.go b/internal/domain/deployment.go index 445597f..eb614e4 100644 --- a/internal/domain/deployment.go +++ b/internal/domain/deployment.go @@ -14,6 +14,11 @@ type DeploySpec struct { EnvVars map[string]string // Plain environment variables Secrets map[string]string // Secret environment variables (stored in K8s Secret) BasePath string // URL path prefix for Ingress (e.g., "/api/auth", "/"); empty defaults to "/" + + // SiblingServices maps environment variable names to internal service URLs. + // Used for service discovery - each component gets env vars for all sibling services. + // Example: {"AUTH_SVC_URL": "http://myproject-auth-svc:8001", "CHAT_SVC_URL": "http://myproject-chat-svc:8002"} + SiblingServices map[string]string } // DeploymentName returns the K8s resource name for this deployment. diff --git a/internal/domain/sdlc_callback.go b/internal/domain/sdlc_callback.go new file mode 100644 index 0000000..cecbada --- /dev/null +++ b/internal/domain/sdlc_callback.go @@ -0,0 +1,72 @@ +// Package domain contains pure domain models with no external dependencies. +package domain + +import "slices" + +// SDLCGenerateRequest describes an artifact generation request. +type SDLCGenerateRequest struct { + // ArtifactType is the type of artifact to generate: spec, design, tasks, code, qa + ArtifactType string `json:"artifact_type"` + + // TaskID is the specific task to implement (required for artifact_type: "code") + TaskID string `json:"task_id,omitempty"` + + // Provider specifies which code agent to use (optional, defaults to system default) + Provider string `json:"provider,omitempty"` +} + +// ValidArtifactTypesForGenerate lists artifact types that can be generated. +var ValidArtifactTypesForGenerate = []string{"spec", "design", "tasks", "code", "qa"} + +// IsValidGenerateArtifactType returns true if the artifact type is valid for generation. +func IsValidGenerateArtifactType(artifactType string) bool { + return slices.Contains(ValidArtifactTypesForGenerate, artifactType) +} + +// SDLCCallbackPayload is sent when a build completes to update SDLC artifact status. +type SDLCCallbackPayload struct { + // TaskID is the work queue task identifier + TaskID string `json:"task_id"` + + // ProjectID is the project this task belongs to + ProjectID string `json:"project_id"` + + // Feature is the feature slug this artifact belongs to + Feature string `json:"feature"` + + // ArtifactType identifies which artifact was generated + ArtifactType string `json:"artifact_type"` + + // Success indicates whether the generation succeeded + Success bool `json:"success"` + + // CommitSHA is the git commit SHA if changes were committed + CommitSHA string `json:"commit_sha,omitempty"` + + // Error contains the error message if generation failed + Error string `json:"error,omitempty"` +} + +// SDLCGenerateResponse is the response for artifact generation requests. +type SDLCGenerateResponse struct { + // TaskID is the work queue task identifier for tracking + TaskID string `json:"task_id"` + + // ProjectID is the project identifier + ProjectID string `json:"project_id"` + + // Feature is the feature slug + Feature string `json:"feature"` + + // ArtifactType is the type of artifact being generated + ArtifactType string `json:"artifact_type"` + + // Status is the initial task status (always "pending") + Status string `json:"status"` + + // StatusURL is the URL to check task status + StatusURL string `json:"status_url"` + + // StreamURL is the URL for real-time event streaming + StreamURL string `json:"stream_url"` +} diff --git a/internal/domain/work.go b/internal/domain/work.go index 0870823..bde2316 100644 --- a/internal/domain/work.go +++ b/internal/domain/work.go @@ -164,17 +164,37 @@ const ( WorkTaskTypeDeploy WorkTaskType = "deploy" WorkTaskTypeCustom WorkTaskType = "custom" WorkTaskTypeVerify WorkTaskType = "verify" + WorkTaskTypeSDLC WorkTaskType = "sdlc" ) // IsValid returns true if the task type is a known valid type. func (t WorkTaskType) IsValid() bool { switch t { - case WorkTaskTypeBuild, WorkTaskTypeTest, WorkTaskTypeDeploy, WorkTaskTypeCustom, WorkTaskTypeVerify: + case WorkTaskTypeBuild, WorkTaskTypeTest, WorkTaskTypeDeploy, WorkTaskTypeCustom, WorkTaskTypeVerify, WorkTaskTypeSDLC: return true } return false } +// SDLCTaskSpec defines parameters for SDLC CLI commands via worker pool. +// Used for skeleton/monorepo projects that don't have a dedicated pod. +type SDLCTaskSpec struct { + // Command is the SDLC CLI command to execute (e.g., "feature-create", "artifact-approve"). + Command string `json:"command"` + + // Args contains CLI arguments for the command. + Args []string `json:"args"` + + // GitCloneURL is the repository URL for cloning (required for worker execution). + GitCloneURL string `json:"git_clone_url"` + + // AutoCommit indicates whether to commit .sdlc/ changes after execution. + AutoCommit bool `json:"auto_commit"` + + // AutoPush indicates whether to push commits after commit. + AutoPush bool `json:"auto_push"` +} + // WorkTask represents a task in the work queue. type WorkTask struct { // ID is the unique task identifier. diff --git a/internal/handlers/builds_test.go b/internal/handlers/builds_test.go index c8dacf2..d15ff46 100644 --- a/internal/handlers/builds_test.go +++ b/internal/handlers/builds_test.go @@ -98,7 +98,7 @@ func (m *mockBuildAudit) List(_ context.Context, filter port.BuildAuditFilter) ( func TestBuildsHandler_StartBuild(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - buildService := service.NewBuildService(queue, audit, nil) + buildService := service.NewBuildService(queue, audit) handler := NewBuildsHandler(buildService) router := chi.NewRouter() @@ -180,7 +180,7 @@ func TestBuildsHandler_StartBuild(t *testing.T) { func TestBuildsHandler_GetBuild(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - buildService := service.NewBuildService(queue, audit, nil) + buildService := service.NewBuildService(queue, audit) handler := NewBuildsHandler(buildService) // Pre-populate an audit entry @@ -256,7 +256,7 @@ func TestBuildsHandler_GetBuild(t *testing.T) { func TestBuildsHandler_ListBuilds(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - buildService := service.NewBuildService(queue, audit, nil) + buildService := service.NewBuildService(queue, audit) handler := NewBuildsHandler(buildService) // Pre-populate audit entries diff --git a/internal/handlers/components.go b/internal/handlers/components.go index bf6fd74..7f46923 100644 --- a/internal/handlers/components.go +++ b/internal/handlers/components.go @@ -4,12 +4,12 @@ package handlers import ( "context" "errors" - "log/slog" "net/http" "github.com/go-chi/chi/v5" "github.com/orchard9/rdev/internal/auth" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/internal/service" "github.com/orchard9/rdev/internal/validate" @@ -20,15 +20,11 @@ import ( type ComponentsHandler struct { service port.ComponentService operationService *service.OperationService - logger *slog.Logger } // NewComponentsHandler creates a new components handler. -func NewComponentsHandler(service port.ComponentService, logger *slog.Logger) *ComponentsHandler { - if logger == nil { - logger = slog.Default() - } - return &ComponentsHandler{service: service, logger: logger} +func NewComponentsHandler(service port.ComponentService) *ComponentsHandler { + return &ComponentsHandler{service: service} } // SetOperationService sets the operation tracking service. @@ -120,7 +116,8 @@ func (h *ComponentsHandler) Add(w http.ResponseWriter, r *http.Request) { if err != nil { if h.operationService != nil && operationID != "" { if opErr := h.operationService.FailOperation(ctx, operationID, err.Error(), ""); opErr != nil { - h.logger.Error("failed to record operation failure", "error", opErr, "operation_id", operationID) + log := logging.FromContext(ctx).WithHandler("Add") + log.Error("failed to record operation failure", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } // Map domain errors to HTTP responses @@ -134,7 +131,8 @@ func (h *ComponentsHandler) Add(w http.ResponseWriter, r *http.Request) { case errors.Is(err, domain.ErrProjectNotFound): api.WriteNotFound(w, r, err.Error()) default: - h.logger.Error("failed to add component", "error", err, "project", projectID, "name", req.Name) + log := logging.FromContext(ctx).WithHandler("Add") + log.Error("failed to add component", logging.FieldError, err.Error(), logging.FieldProjectID, projectID, "name", req.Name) api.WriteInternalError(w, r, "failed to add component") } return @@ -145,7 +143,8 @@ func (h *ComponentsHandler) Add(w http.ResponseWriter, r *http.Request) { "path": component.Path, "port": component.Port, }); opErr != nil { - h.logger.Error("failed to record operation completion", "error", opErr, "operation_id", operationID) + log := logging.FromContext(ctx).WithHandler("Add") + log.Error("failed to record operation completion", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } @@ -191,7 +190,8 @@ func (h *ComponentsHandler) List(w http.ResponseWriter, r *http.Request) { api.WriteNotFound(w, r, err.Error()) return } - h.logger.Error("failed to list components", "error", err, "project", projectID) + log := logging.FromContext(ctx).WithHandler("List") + log.Error("failed to list components", logging.FieldError, err.Error(), logging.FieldProjectID, projectID) api.WriteInternalError(w, r, "failed to list components") return } @@ -252,7 +252,8 @@ func (h *ComponentsHandler) Remove(w http.ResponseWriter, r *http.Request) { api.WriteNotFound(w, r, err.Error()) return } - h.logger.Error("failed to remove component", "error", err, "project", projectID, "path", componentPath) + log := logging.FromContext(ctx).WithHandler("Remove") + log.Error("failed to remove component", logging.FieldError, err.Error(), logging.FieldProjectID, projectID, "path", componentPath) api.WriteInternalError(w, r, "failed to remove component") return } diff --git a/internal/handlers/components_operations_test.go b/internal/handlers/components_operations_test.go index c82f4da..ec2fa9f 100644 --- a/internal/handlers/components_operations_test.go +++ b/internal/handlers/components_operations_test.go @@ -4,7 +4,6 @@ import ( "bytes" "context" "encoding/json" - "log/slog" "net/http" "net/http/httptest" "testing" @@ -16,11 +15,11 @@ import ( ) func TestComponentsHandler_SetOperationService(t *testing.T) { - h := NewComponentsHandler(nil, nil) + h := NewComponentsHandler(nil) t.Run("sets non-nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) result := h.SetOperationService(opSvc) if h.operationService != opSvc { t.Error("expected operation service to be set") @@ -32,7 +31,7 @@ func TestComponentsHandler_SetOperationService(t *testing.T) { t.Run("ignores nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) h.SetOperationService(opSvc) h.SetOperationService(nil) if h.operationService != opSvc { @@ -43,7 +42,7 @@ func TestComponentsHandler_SetOperationService(t *testing.T) { func TestComponentsHandler_AddTracksOperation(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) mock := &mockComponentService{ addComponent: func(ctx context.Context, projectID string, req port.AddComponentRequest) (*domain.Component, error) { @@ -58,7 +57,7 @@ func TestComponentsHandler_AddTracksOperation(t *testing.T) { }, } - handler := NewComponentsHandler(mock, slog.Default()) + handler := NewComponentsHandler(mock) handler.SetOperationService(opSvc) body, _ := json.Marshal(AddComponentRequest{Type: "service", Name: "auth-api"}) @@ -116,7 +115,7 @@ func TestComponentsHandler_AddTracksOperation(t *testing.T) { func TestComponentsHandler_AddFailsOperationOnError(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) mock := &mockComponentService{ addComponent: func(ctx context.Context, projectID string, req port.AddComponentRequest) (*domain.Component, error) { @@ -124,7 +123,7 @@ func TestComponentsHandler_AddFailsOperationOnError(t *testing.T) { }, } - handler := NewComponentsHandler(mock, slog.Default()) + handler := NewComponentsHandler(mock) handler.SetOperationService(opSvc) body, _ := json.Marshal(AddComponentRequest{Type: "invalid", Name: "auth-api"}) diff --git a/internal/handlers/components_test.go b/internal/handlers/components_test.go index c51f206..7684c1b 100644 --- a/internal/handlers/components_test.go +++ b/internal/handlers/components_test.go @@ -171,7 +171,7 @@ func TestComponentsHandler_Add(t *testing.T) { for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { mock := tc.setupMock() - handler := NewComponentsHandler(mock, nil) + handler := NewComponentsHandler(mock) body, _ := json.Marshal(tc.body) req := httptest.NewRequest(http.MethodPost, "/projects/"+tc.projectID+"/components", bytes.NewReader(body)) @@ -288,7 +288,7 @@ func TestComponentsHandler_List(t *testing.T) { for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { mock := tc.setupMock() - handler := NewComponentsHandler(mock, nil) + handler := NewComponentsHandler(mock) req := httptest.NewRequest(http.MethodGet, "/projects/"+tc.projectID+"/components", nil) @@ -363,7 +363,7 @@ func TestComponentsHandler_Remove(t *testing.T) { for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { mock := tc.setupMock() - handler := NewComponentsHandler(mock, nil) + handler := NewComponentsHandler(mock) req := httptest.NewRequest(http.MethodDelete, "/projects/"+tc.projectID+"/components/"+tc.componentPath, nil) @@ -384,7 +384,7 @@ func TestComponentsHandler_Remove(t *testing.T) { } func TestComponentsHandler_NilService(t *testing.T) { - handler := NewComponentsHandler(nil, nil) + handler := NewComponentsHandler(nil) t.Run("add with nil service", func(t *testing.T) { body, _ := json.Marshal(AddComponentRequest{Type: "service", Name: "auth-api"}) diff --git a/internal/handlers/create_and_build.go b/internal/handlers/create_and_build.go index 6cabb4f..92f8ae2 100644 --- a/internal/handlers/create_and_build.go +++ b/internal/handlers/create_and_build.go @@ -4,11 +4,11 @@ package handlers import ( "context" "errors" - "log/slog" "net/http" "github.com/orchard9/rdev/internal/auth" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/service" "github.com/orchard9/rdev/internal/validate" "github.com/orchard9/rdev/pkg/api" @@ -18,22 +18,16 @@ import ( type CreateAndBuildHandler struct { infraService *service.ProjectInfraService buildService *service.BuildService - logger *slog.Logger } // NewCreateAndBuildHandler creates a new create-and-build handler. func NewCreateAndBuildHandler( infraService *service.ProjectInfraService, buildService *service.BuildService, - logger *slog.Logger, ) *CreateAndBuildHandler { - if logger == nil { - logger = slog.Default() - } return &CreateAndBuildHandler{ infraService: infraService, buildService: buildService, - logger: logger, } } @@ -127,7 +121,8 @@ func (h *CreateAndBuildHandler) CreateAndBuild(w http.ResponseWriter, r *http.Re api.WriteBadRequest(w, r, err.Error()) return } - h.logger.Error("project creation failed", "error", err, "name", req.Name) + log := logging.FromContext(ctx).WithHandler("CreateAndBuild") + log.Error("project creation failed", logging.FieldError, err.Error(), logging.FieldProjectName, req.Name) api.WriteInternalError(w, r, "failed to create project") return } @@ -145,9 +140,10 @@ func (h *CreateAndBuildHandler) CreateAndBuild(w http.ResponseWriter, r *http.Re taskID, err := h.buildService.StartBuild(ctx, projectResult.ProjectID, spec) if err != nil { - h.logger.Error("build enqueue failed after project creation", - "error", err, - "project", projectResult.ProjectID, + log := logging.FromContext(ctx).WithHandler("CreateAndBuild") + log.Error("build enqueue failed after project creation", + logging.FieldError, err.Error(), + logging.FieldProjectID, projectResult.ProjectID, ) // Project was created but build failed to enqueue. // Return the project info with a generic error and retry URL. diff --git a/internal/handlers/diagnostics.go b/internal/handlers/diagnostics.go index f941874..8f85afe 100644 --- a/internal/handlers/diagnostics.go +++ b/internal/handlers/diagnostics.go @@ -3,13 +3,13 @@ package handlers import ( "context" - "log/slog" "net/http" "github.com/go-chi/chi/v5" "github.com/orchard9/rdev/internal/auth" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/pkg/api" ) @@ -23,22 +23,16 @@ type DiagnosticsGetter interface { type DiagnosticsHandler struct { diagnostics DiagnosticsGetter projects port.ProjectRepository - logger *slog.Logger } // NewDiagnosticsHandler creates a new diagnostics handler. func NewDiagnosticsHandler( diagnostics DiagnosticsGetter, projects port.ProjectRepository, - logger *slog.Logger, ) *DiagnosticsHandler { - if logger == nil { - logger = slog.Default() - } return &DiagnosticsHandler{ diagnostics: diagnostics, projects: projects, - logger: logger, } } @@ -61,13 +55,15 @@ func (h *DiagnosticsHandler) GetDiagnostics(w http.ResponseWriter, r *http.Reque return } + log := logging.FromContext(ctx).WithHandler("GetDiagnostics") + // Verify project exists (optional - diagnostics can still be useful for non-k8s projects) if h.projects != nil { if _, err := h.projects.Get(ctx, domain.ProjectID(projectID)); err != nil { if err == domain.ErrProjectNotFound { // Log but continue - the project might exist in git/CI but not as a k8s pod - h.logger.Debug("project not found in k8s, continuing with diagnostics", - "project_id", projectID, + log.Debug("project not found in k8s, continuing with diagnostics", + logging.FieldProjectID, projectID, ) } } @@ -75,9 +71,9 @@ func (h *DiagnosticsHandler) GetDiagnostics(w http.ResponseWriter, r *http.Reque diag, err := h.diagnostics.GetDiagnostics(ctx, projectID) if err != nil { - h.logger.Error("failed to get diagnostics", - "error", err, - "project_id", projectID, + log.Error("failed to get diagnostics", + logging.FieldError, err.Error(), + logging.FieldProjectID, projectID, ) api.WriteInternalError(w, r, "failed to retrieve diagnostics") return diff --git a/internal/handlers/diagnostics_test.go b/internal/handlers/diagnostics_test.go index 09c16f4..718c288 100644 --- a/internal/handlers/diagnostics_test.go +++ b/internal/handlers/diagnostics_test.go @@ -38,7 +38,7 @@ func (m *mockDiagnosticsGetter) GetDiagnostics(_ context.Context, projectID stri func TestDiagnosticsHandler_GetDiagnostics_Success(t *testing.T) { getter := &mockDiagnosticsGetter{} projects := newMockProjectRepo() - h := NewDiagnosticsHandler(getter, projects, nil) + h := NewDiagnosticsHandler(getter, projects) // Create router with chi to handle URL params r := chi.NewRouter() @@ -93,7 +93,7 @@ func TestDiagnosticsHandler_GetDiagnostics_WithIssues(t *testing.T) { }, } projects := newMockProjectRepo() - h := NewDiagnosticsHandler(getter, projects, nil) + h := NewDiagnosticsHandler(getter, projects) r := chi.NewRouter() r.Use(testAdminAuth) // Add auth context for tests @@ -134,7 +134,7 @@ func TestDiagnosticsHandler_GetDiagnostics_WithIssues(t *testing.T) { func TestDiagnosticsHandler_GetDiagnostics_MissingProjectID(t *testing.T) { getter := &mockDiagnosticsGetter{} projects := newMockProjectRepo() - h := NewDiagnosticsHandler(getter, projects, nil) + h := NewDiagnosticsHandler(getter, projects) // Direct call without chi router to test missing projectId req := httptest.NewRequest("GET", "/projects//diagnostics/", nil) diff --git a/internal/handlers/project_management.go b/internal/handlers/project_management.go index c15f493..908c9a2 100644 --- a/internal/handlers/project_management.go +++ b/internal/handlers/project_management.go @@ -4,12 +4,12 @@ package handlers import ( "context" "errors" - "log/slog" "net/http" "github.com/go-chi/chi/v5" "github.com/orchard9/rdev/internal/auth" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/service" "github.com/orchard9/rdev/pkg/api" ) @@ -18,17 +18,12 @@ import ( type ProjectManagementHandler struct { infraService *service.ProjectInfraService operationService *service.OperationService - logger *slog.Logger } // NewProjectManagementHandler creates a new project management handler. -func NewProjectManagementHandler(infraService *service.ProjectInfraService, logger *slog.Logger) *ProjectManagementHandler { - if logger == nil { - logger = slog.Default() - } +func NewProjectManagementHandler(infraService *service.ProjectInfraService) *ProjectManagementHandler { return &ProjectManagementHandler{ infraService: infraService, - logger: logger, } } @@ -116,9 +111,10 @@ func (h *ProjectManagementHandler) Create(w http.ResponseWriter, r *http.Request Template: req.Template, }) if err != nil { + log := logging.FromContext(ctx).WithHandler("Create") if h.operationService != nil && operationID != "" { if opErr := h.operationService.FailOperation(ctx, operationID, err.Error(), ""); opErr != nil { - h.logger.Error("failed to record operation failure", "error", opErr, "operation_id", operationID) + log.Error("failed to record operation failure", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } // Check for validation errors (user input) vs internal errors @@ -127,7 +123,7 @@ func (h *ProjectManagementHandler) Create(w http.ResponseWriter, r *http.Request return } // Log internal errors but return generic message to client - h.logger.Error("project creation failed", "error", err, "name", req.Name) + log.Error("project creation failed", logging.FieldError, err.Error(), logging.FieldProjectName, req.Name) api.WriteInternalError(w, r, "failed to create project") return } @@ -137,7 +133,8 @@ func (h *ProjectManagementHandler) Create(w http.ResponseWriter, r *http.Request "project_id": result.ProjectID, "git_url": result.CloneHTTP, }); opErr != nil { - h.logger.Error("failed to record operation completion", "error", opErr, "operation_id", operationID) + log := logging.FromContext(ctx).WithHandler("Create") + log.Error("failed to record operation completion", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } @@ -175,7 +172,8 @@ func (h *ProjectManagementHandler) List(w http.ResponseWriter, r *http.Request) projects, err := h.infraService.ListProjects(ctx) if err != nil { - h.logger.Error("failed to list projects", "error", err) + log := logging.FromContext(ctx).WithHandler("List") + log.Error("failed to list projects", logging.FieldError, err.Error()) api.WriteInternalError(w, r, "failed to list projects") return } @@ -225,7 +223,8 @@ func (h *ProjectManagementHandler) Status(w http.ResponseWriter, r *http.Request api.WriteNotFound(w, r, "project not found") return } - h.logger.Error("failed to get project status", "error", err, "name", name) + log := logging.FromContext(ctx).WithHandler("Status") + log.Error("failed to get project status", logging.FieldError, err.Error(), logging.FieldProjectName, name) api.WriteInternalError(w, r, "failed to get project status") return } @@ -272,7 +271,8 @@ func (h *ProjectManagementHandler) Delete(w http.ResponseWriter, r *http.Request api.WriteNotFound(w, r, "project not found") return } - h.logger.Error("failed to delete project", "error", err, "name", name) + log := logging.FromContext(ctx).WithHandler("Delete") + log.Error("failed to delete project", logging.FieldError, err.Error(), logging.FieldProjectName, name) api.WriteInternalError(w, r, "failed to delete project") return } @@ -296,7 +296,8 @@ func (h *ProjectManagementHandler) ListTemplates(w http.ResponseWriter, r *http. templates, err := h.infraService.ListTemplates(ctx) if err != nil { - h.logger.Error("failed to list templates", "error", err) + log := logging.FromContext(ctx).WithHandler("ListTemplates") + log.Error("failed to list templates", logging.FieldError, err.Error()) api.WriteInternalError(w, r, "failed to list templates") return } @@ -333,7 +334,8 @@ func (h *ProjectManagementHandler) GetTemplate(w http.ResponseWriter, r *http.Re api.WriteNotFound(w, r, "template not found") return } - h.logger.Error("failed to get template", "error", err, "name", name) + log := logging.FromContext(ctx).WithHandler("GetTemplate") + log.Error("failed to get template", logging.FieldError, err.Error(), "name", name) api.WriteInternalError(w, r, "failed to get template") return } @@ -387,7 +389,8 @@ func (h *ProjectManagementHandler) CleanupTestProjects(w http.ResponseWriter, r DryRun: req.DryRun, }) if err != nil { - h.logger.Error("failed to cleanup test projects", "error", err) + log := logging.FromContext(ctx).WithHandler("CleanupTestProjects") + log.Error("failed to cleanup test projects", logging.FieldError, err.Error()) api.WriteInternalError(w, r, "failed to cleanup test projects") return } @@ -414,7 +417,8 @@ func (h *ProjectManagementHandler) ListComponentTemplates(w http.ResponseWriter, components, err := h.infraService.ListComponentTemplates(ctx, componentType) if err != nil { - h.logger.Error("failed to list component templates", "error", err) + log := logging.FromContext(ctx).WithHandler("ListComponentTemplates") + log.Error("failed to list component templates", logging.FieldError, err.Error()) api.WriteInternalError(w, r, "failed to list component templates") return } diff --git a/internal/handlers/project_management_test.go b/internal/handlers/project_management_test.go index 1239b2b..51795f7 100644 --- a/internal/handlers/project_management_test.go +++ b/internal/handlers/project_management_test.go @@ -3,7 +3,6 @@ package handlers import ( "bytes" "encoding/json" - "log/slog" "net/http" "net/http/httptest" "testing" @@ -14,7 +13,7 @@ import ( ) func TestProjectManagementHandler_NilService(t *testing.T) { - h := NewProjectManagementHandler(nil, slog.Default()) + h := NewProjectManagementHandler(nil) r := chi.NewRouter() r.Use(testAdminAuth) h.Mount(r) @@ -55,7 +54,7 @@ func TestProjectManagementHandler_NilService(t *testing.T) { func TestProjectManagementHandler_CreateValidation(t *testing.T) { // With nil service, the handler returns 500 before reaching validation. // This tests that the nil check takes precedence. - h := NewProjectManagementHandler(nil, slog.Default()) + h := NewProjectManagementHandler(nil) r := chi.NewRouter() r.Use(testAdminAuth) h.Mount(r) @@ -82,19 +81,14 @@ func TestProjectManagementHandler_CreateValidation(t *testing.T) { }) } -func TestNewProjectManagementHandler_NilLogger(t *testing.T) { - h := NewProjectManagementHandler(nil, nil) - if h.logger == nil { - t.Error("logger should default to slog.Default() when nil") - } -} +// Test removed: logger field removed from handler func TestProjectManagementHandler_SetOperationService(t *testing.T) { - h := NewProjectManagementHandler(nil, slog.Default()) + h := NewProjectManagementHandler(nil) t.Run("sets non-nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) result := h.SetOperationService(opSvc) if h.operationService != opSvc { t.Error("expected operation service to be set") @@ -106,7 +100,7 @@ func TestProjectManagementHandler_SetOperationService(t *testing.T) { t.Run("ignores nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) h.SetOperationService(opSvc) // set first h.SetOperationService(nil) // should not clear if h.operationService != opSvc { @@ -121,9 +115,9 @@ func TestProjectManagementHandler_CreateTracksOperation(t *testing.T) { // ProjectInfraService (concrete struct), we test that nil infraService // still doesn't panic when operationService is set. repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) - h := NewProjectManagementHandler(nil, slog.Default()). + h := NewProjectManagementHandler(nil). SetOperationService(opSvc) r := chi.NewRouter() @@ -153,13 +147,13 @@ func TestProjectManagementHandler_OperationIDInResponse(t *testing.T) { // We test the response structure by examining what Create() writes. // Since we can't mock the concrete ProjectInfraService, this is a structural test // verifying the handler properly sets the operationService field. - h := NewProjectManagementHandler(nil, slog.Default()) + h := NewProjectManagementHandler(nil) if h.operationService != nil { t.Error("operationService should be nil by default") } repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) h.SetOperationService(opSvc) if h.operationService == nil { @@ -172,12 +166,11 @@ func TestProjectManagementHandler_OperationFailsOnError(t *testing.T) { // Since nil infraService returns 500 before reaching operation tracking, we verify // that operations are not leaked when the handler exits early. repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) h := &ProjectManagementHandler{ infraService: nil, // will cause 500 operationService: opSvc, - logger: slog.Default(), } r := chi.NewRouter() diff --git a/internal/handlers/sdlc.go b/internal/handlers/sdlc.go index 854e2da..7bd4f3c 100644 --- a/internal/handlers/sdlc.go +++ b/internal/handlers/sdlc.go @@ -3,7 +3,6 @@ package handlers import ( "context" "errors" - "log/slog" "net/http" "github.com/go-chi/chi/v5" @@ -17,17 +16,12 @@ import ( // SDLCHandler handles SDLC endpoints for project lifecycle management. type SDLCHandler struct { sdlcService *service.SDLCService - logger *slog.Logger } // NewSDLCHandler creates a new SDLC handler. -func NewSDLCHandler(sdlcService *service.SDLCService, logger *slog.Logger) *SDLCHandler { - if logger == nil { - logger = slog.Default() - } +func NewSDLCHandler(sdlcService *service.SDLCService) *SDLCHandler { return &SDLCHandler{ sdlcService: sdlcService, - logger: logger, } } diff --git a/internal/handlers/sdlc_callback.go b/internal/handlers/sdlc_callback.go new file mode 100644 index 0000000..697dcf0 --- /dev/null +++ b/internal/handlers/sdlc_callback.go @@ -0,0 +1,82 @@ +package handlers + +import ( + "context" + "net/http" + + "github.com/go-chi/chi/v5" + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" + "github.com/orchard9/rdev/internal/service" + "github.com/orchard9/rdev/pkg/api" +) + +// SDLCCallbackHandler handles internal SDLC callback endpoints. +type SDLCCallbackHandler struct { + callbackSvc *service.SDLCCallbackService + internalToken string +} + +// NewSDLCCallbackHandler creates a new SDLC callback handler. +func NewSDLCCallbackHandler(callbackSvc *service.SDLCCallbackService, internalToken string) *SDLCCallbackHandler { + return &SDLCCallbackHandler{ + callbackSvc: callbackSvc, + internalToken: internalToken, + } +} + +// Mount registers the internal callback endpoint on the router. +func (h *SDLCCallbackHandler) Mount(r api.Router) { + r.Route("/internal/sdlc", func(r chi.Router) { + r.Post("/callback", h.Callback) + }) +} + +// Callback handles POST /internal/sdlc/callback. +// This is called by the work queue when a build task completes. +// The endpoint is protected by an internal token to prevent external access. +func (h *SDLCCallbackHandler) Callback(w http.ResponseWriter, r *http.Request) { + // Verify internal token + token := r.Header.Get("X-Internal-Token") + if h.internalToken != "" && token != h.internalToken { + api.WriteUnauthorized(w, r, "invalid internal token") + return + } + + var payload domain.SDLCCallbackPayload + if err := api.DecodeJSON(r, &payload); err != nil { + api.WriteBadRequest(w, r, "invalid request body") + return + } + + // Validate required fields + if payload.ProjectID == "" { + api.WriteBadRequest(w, r, "project_id is required") + return + } + if payload.Feature == "" { + api.WriteBadRequest(w, r, "feature is required") + return + } + if payload.ArtifactType == "" { + api.WriteBadRequest(w, r, "artifact_type is required") + return + } + + ctx, cancel := context.WithTimeout(r.Context(), TimeoutStandard) + defer cancel() + + if err := h.callbackSvc.HandleCallback(ctx, &payload); err != nil { + log := logging.FromContext(ctx).WithHandler("Callback") + log.Error("SDLC callback handling failed", + logging.FieldError, err.Error(), + "task_id", payload.TaskID, + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + ) + api.WriteInternalError(w, r, "callback handling failed") + return + } + + api.WriteJSON(w, r, http.StatusOK, map[string]bool{"ok": true}) +} diff --git a/internal/handlers/sdlc_generate.go b/internal/handlers/sdlc_generate.go new file mode 100644 index 0000000..b5e4e9b --- /dev/null +++ b/internal/handlers/sdlc_generate.go @@ -0,0 +1,87 @@ +package handlers + +import ( + "context" + "net/http" + + "github.com/go-chi/chi/v5" + "github.com/orchard9/rdev/internal/auth" + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/service" + "github.com/orchard9/rdev/pkg/api" +) + +// SDLCGenerateHandler handles async SDLC artifact generation endpoints. +type SDLCGenerateHandler struct { + generateSvc *service.SDLCGenerateService +} + +// NewSDLCGenerateHandler creates a new SDLC generate handler. +func NewSDLCGenerateHandler(generateSvc *service.SDLCGenerateService) *SDLCGenerateHandler { + return &SDLCGenerateHandler{ + generateSvc: generateSvc, + } +} + +// Mount registers the generate endpoint on the router. +func (h *SDLCGenerateHandler) Mount(r api.Router) { + r.Route("/projects/{id}/sdlc/features/{slug}", func(r chi.Router) { + r.With(auth.RequireScope(auth.ScopeProjectsExecute, auth.ScopeAdmin)).Post("/generate", h.Generate) + }) +} + +// GenerateRequest is the request body for POST /projects/{id}/sdlc/features/{slug}/generate. +type GenerateRequest struct { + // ArtifactType is the type of artifact to generate: spec, design, tasks, code, qa + ArtifactType string `json:"artifact_type"` + + // TaskID is the specific task to implement (required for artifact_type: "code") + TaskID string `json:"task_id,omitempty"` + + // Provider specifies which code agent to use (optional) + Provider string `json:"provider,omitempty"` +} + +// Generate handles POST /projects/{id}/sdlc/features/{slug}/generate. +// It enqueues an async task to generate an SDLC artifact. +func (h *SDLCGenerateHandler) Generate(w http.ResponseWriter, r *http.Request) { + projectID := chi.URLParam(r, "id") + featureSlug := chi.URLParam(r, "slug") + + var req GenerateRequest + if err := api.DecodeJSON(r, &req); err != nil { + api.WriteBadRequest(w, r, "invalid request body") + return + } + + // Validate artifact_type + if req.ArtifactType == "" { + api.WriteBadRequest(w, r, "artifact_type is required") + return + } + if !domain.IsValidGenerateArtifactType(req.ArtifactType) { + api.WriteBadRequest(w, r, "invalid artifact_type: must be one of spec, design, tasks, code, qa") + return + } + + // Validate task_id is provided for code generation + if req.ArtifactType == "code" && req.TaskID == "" { + api.WriteBadRequest(w, r, "task_id is required for artifact_type: code") + return + } + + ctx, cancel := context.WithTimeout(r.Context(), TimeoutStandard) + defer cancel() + + result, err := h.generateSvc.GenerateArtifact(ctx, projectID, featureSlug, &domain.SDLCGenerateRequest{ + ArtifactType: req.ArtifactType, + TaskID: req.TaskID, + Provider: req.Provider, + }) + if err != nil { + writeSDLCError(w, r, err) + return + } + + api.WriteJSON(w, r, http.StatusAccepted, result) +} diff --git a/internal/handlers/sdlc_orchestrator.go b/internal/handlers/sdlc_orchestrator.go index 99c0bfa..987f034 100644 --- a/internal/handlers/sdlc_orchestrator.go +++ b/internal/handlers/sdlc_orchestrator.go @@ -2,7 +2,6 @@ package handlers import ( "context" - "log/slog" "net/http" "github.com/go-chi/chi/v5" @@ -14,17 +13,12 @@ import ( // SDLCOrchestratorHandler handles SDLC orchestration endpoints. type SDLCOrchestratorHandler struct { orchestrator *service.SDLCOrchestratorService - logger *slog.Logger } // NewSDLCOrchestratorHandler creates a new orchestrator handler. -func NewSDLCOrchestratorHandler(orchestrator *service.SDLCOrchestratorService, logger *slog.Logger) *SDLCOrchestratorHandler { - if logger == nil { - logger = slog.Default() - } +func NewSDLCOrchestratorHandler(orchestrator *service.SDLCOrchestratorService) *SDLCOrchestratorHandler { return &SDLCOrchestratorHandler{ orchestrator: orchestrator, - logger: logger, } } diff --git a/internal/handlers/sdlc_orchestrator_test.go b/internal/handlers/sdlc_orchestrator_test.go index a5460a7..7bdaba6 100644 --- a/internal/handlers/sdlc_orchestrator_test.go +++ b/internal/handlers/sdlc_orchestrator_test.go @@ -17,17 +17,16 @@ func setupOrchestratorHandler(exec *testSDLCExecutor) (*SDLCOrchestratorHandler, repo := &testSDLCProjectRepo{ project: &domain.Project{ID: "test-project", PodName: "test-pod"}, } - sdlcSvc := service.NewSDLCService(exec, repo, service.SDLCServiceConfig{}) + sdlcSvc := service.NewSDLCService(exec, repo) orchestrator := service.NewSDLCOrchestratorService( sdlcSvc, nil, // no agent registry for handler tests nil, // no git committer for handler tests repo, - service.SDLCOrchestratorConfig{}, ) - handler := NewSDLCOrchestratorHandler(orchestrator, nil) + handler := NewSDLCOrchestratorHandler(orchestrator) r := chi.NewRouter() r.Use(testAdminAuth) handler.Mount(r) diff --git a/internal/handlers/sdlc_test.go b/internal/handlers/sdlc_test.go index 28b1355..17191fd 100644 --- a/internal/handlers/sdlc_test.go +++ b/internal/handlers/sdlc_test.go @@ -140,8 +140,8 @@ func setupSDLCHandler(exec *testSDLCExecutor) (*SDLCHandler, *chi.Mux) { repo := &testSDLCProjectRepo{ project: &domain.Project{ID: "test-project", PodName: "test-pod"}, } - svc := service.NewSDLCService(exec, repo, service.SDLCServiceConfig{}) - handler := NewSDLCHandler(svc, nil) + svc := service.NewSDLCService(exec, repo) + handler := NewSDLCHandler(svc) r := chi.NewRouter() r.Use(testAdminAuth) handler.Mount(r) @@ -181,8 +181,8 @@ func TestSDLCHandler_GetState_NotInitialized(t *testing.T) { func TestSDLCHandler_GetState_ProjectNotFound(t *testing.T) { exec := &testSDLCExecutor{} repo := &testSDLCProjectRepo{project: nil} - svc := service.NewSDLCService(exec, repo, service.SDLCServiceConfig{}) - handler := NewSDLCHandler(svc, nil) + svc := service.NewSDLCService(exec, repo) + handler := NewSDLCHandler(svc) r := chi.NewRouter() r.Use(testAdminAuth) handler.Mount(r) diff --git a/internal/handlers/verify_test.go b/internal/handlers/verify_test.go index 5a1b1af..8fc7d6b 100644 --- a/internal/handlers/verify_test.go +++ b/internal/handlers/verify_test.go @@ -16,7 +16,7 @@ import ( func TestVerifyHandler_Submit_Success(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -62,7 +62,7 @@ func TestVerifyHandler_Submit_Success(t *testing.T) { func TestVerifyHandler_Submit_MissingURL(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -89,7 +89,7 @@ func TestVerifyHandler_Submit_MissingURL(t *testing.T) { func TestVerifyHandler_Submit_InvalidURL(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -117,7 +117,7 @@ func TestVerifyHandler_Submit_InvalidURL(t *testing.T) { func TestVerifyHandler_Get_Found(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -181,7 +181,7 @@ func TestVerifyHandler_Get_Found(t *testing.T) { func TestVerifyHandler_Get_NotFound(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -201,7 +201,7 @@ func TestVerifyHandler_Get_NotFound(t *testing.T) { func TestVerifyHandler_Cancel_Pending(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -238,7 +238,7 @@ func TestVerifyHandler_Cancel_Pending(t *testing.T) { func TestVerifyHandler_Cancel_NotPending(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) @@ -271,7 +271,7 @@ func TestVerifyHandler_Cancel_NotPending(t *testing.T) { func TestVerifyHandler_ListByProject(t *testing.T) { queue := newMockWorkQueue() - verifyService := service.NewVerifyService(queue, nil) + verifyService := service.NewVerifyService(queue) streams := memory.NewStreamPublisher() handler := NewVerifyHandler(verifyService, streams) diff --git a/internal/handlers/woodpecker_webhook.go b/internal/handlers/woodpecker_webhook.go index 89e4d20..f3e6977 100644 --- a/internal/handlers/woodpecker_webhook.go +++ b/internal/handlers/woodpecker_webhook.go @@ -14,6 +14,7 @@ import ( "strings" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/metrics" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/internal/service" @@ -129,24 +130,26 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. ctx, cancel := context.WithTimeout(r.Context(), TimeoutHeavyWrite) defer cancel() + log := logging.FromContext(ctx).WithHandler("HandleWebhook") + // Read body body, err := io.ReadAll(r.Body) if err != nil { - h.logger.Error("failed to read webhook body", "error", err) + log.Error("failed to read webhook body", logging.FieldError, err.Error()) api.WriteBadRequest(w, r, "failed to read request body") return } // Debug log the raw payload for troubleshooting if h.logger.Enabled(ctx, slog.LevelDebug) { - h.logger.Debug("webhook payload received", "body", string(body)) + log.Debug("webhook payload received", "body", string(body)) } // Verify signature if secret is configured if h.webhookSecret != "" { signature := r.Header.Get("X-Woodpecker-Signature") if !h.verifySignature(body, signature) { - h.logger.Warn("webhook signature verification failed") + log.Warn("webhook signature verification failed") api.WriteUnauthorized(w, r, "invalid signature") return } @@ -155,12 +158,12 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. // Parse payload var payload WoodpeckerPayload if err := json.Unmarshal(body, &payload); err != nil { - h.logger.Error("failed to parse webhook payload", "error", err) + log.Error("failed to parse webhook payload", logging.FieldError, err.Error()) api.WriteBadRequest(w, r, "invalid request body") return } - h.logger.Info("received woodpecker webhook", + log.Info("received woodpecker webhook", "event", payload.Event, "repo", payload.Repo.FullName, "build_status", payload.Build.Status, @@ -208,8 +211,8 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. } imageTag := fmt.Sprintf("%s/%s:%s", h.registryURL, projectName, commitShort) - h.logger.Info("triggering deployment", - "project", projectName, + log.Info("triggering deployment", + logging.FieldProjectName, projectName, "image", imageTag, "commit", payload.Build.Commit, ) @@ -224,7 +227,7 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. Proxied: false, }) if err != nil { - h.logger.Warn("failed to create DNS record", "error", err, "project", projectName) + log.Warn("failed to create DNS record", logging.FieldError, err.Error(), logging.FieldProjectName, projectName) // Continue anyway - DNS might already exist } } @@ -244,13 +247,13 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. if operationID != "" { // Set external reference to build number if opErr := h.operationService.SetExternalRef(ctx, operationID, fmt.Sprintf("build#%d", payload.Build.Number)); opErr != nil { - h.logger.Error("failed to set external ref", "error", opErr, "operation_id", operationID) + log.Error("failed to set external ref", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } // Link to parent operation via commit SHA if parent, err := h.operationService.FindByCommit(ctx, projectName, payload.Build.Commit); err == nil && parent != nil { if opErr := h.operationService.LinkToParent(ctx, operationID, parent.ID); opErr != nil { - h.logger.Error("failed to link to parent operation", "error", opErr, "operation_id", operationID) + log.Error("failed to link to parent operation", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } @@ -259,7 +262,7 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. "image": imageTag, "commit": payload.Build.Commit, }); opErr != nil { - h.logger.Error("failed to record operation completion", "error", opErr, "operation_id", operationID) + log.Error("failed to record operation completion", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } } @@ -267,8 +270,8 @@ func (h *WoodpeckerWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http. // Note: Project-level deployment is skipped for composable projects. // Component deployments are created by createInitialComponentDeployment // and updated by the CI pipeline's kubectl set image commands. - h.logger.Info("build succeeded, component deployments updated by CI", - "project", projectName, + log.Info("build succeeded, component deployments updated by CI", + logging.FieldProjectName, projectName, "commit", payload.Build.Commit, ) @@ -304,9 +307,10 @@ func (h *WoodpeckerWebhookHandler) verifySignature(body []byte, signature string // handleFailedBuild records a failed CI build for visibility and debugging. func (h *WoodpeckerWebhookHandler) handleFailedBuild(ctx context.Context, payload WoodpeckerPayload) { projectName := payload.Repo.Name + log := logging.FromContext(ctx).WithHandler("handleFailedBuild") - h.logger.Warn("CI build failed", - "project", projectName, + log.Warn("CI build failed", + logging.FieldProjectName, projectName, "build_number", payload.Build.Number, "branch", payload.Build.Branch, "commit", payload.Build.Commit, @@ -338,19 +342,19 @@ func (h *WoodpeckerWebhookHandler) handleFailedBuild(ctx context.Context, payloa if operationID != "" { // Set external reference to build number if opErr := h.operationService.SetExternalRef(ctx, operationID, fmt.Sprintf("build#%d", payload.Build.Number)); opErr != nil { - h.logger.Error("failed to set external ref", "error", opErr, "operation_id", operationID) + log.Error("failed to set external ref", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } // Link to parent operation via commit SHA if parent, err := h.operationService.FindByCommit(ctx, projectName, payload.Build.Commit); err == nil && parent != nil { if opErr := h.operationService.LinkToParent(ctx, operationID, parent.ID); opErr != nil { - h.logger.Error("failed to link to parent operation", "error", opErr, "operation_id", operationID) + log.Error("failed to link to parent operation", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } // Mark as failed if opErr := h.operationService.FailOperation(ctx, operationID, "CI build failed", ""); opErr != nil { - h.logger.Error("failed to record operation failure", "error", opErr, "operation_id", operationID) + log.Error("failed to record operation failure", logging.FieldError, opErr.Error(), logging.FieldOperation, operationID) } } } diff --git a/internal/handlers/woodpecker_webhook_test.go b/internal/handlers/woodpecker_webhook_test.go index c675b32..b72a3d3 100644 --- a/internal/handlers/woodpecker_webhook_test.go +++ b/internal/handlers/woodpecker_webhook_test.go @@ -97,7 +97,7 @@ func TestWoodpeckerWebhookHandler_SetOperationService(t *testing.T) { t.Run("sets non-nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) result := h.SetOperationService(opSvc) if h.operationService != opSvc { t.Error("expected operation service to be set") @@ -109,7 +109,7 @@ func TestWoodpeckerWebhookHandler_SetOperationService(t *testing.T) { t.Run("ignores nil service", func(t *testing.T) { repo := newMockOperationRepo() - opSvc := service.NewOperationService(repo, slog.Default()) + opSvc := service.NewOperationService(repo) h.SetOperationService(opSvc) h.SetOperationService(nil) if h.operationService != opSvc { @@ -120,7 +120,7 @@ func TestWoodpeckerWebhookHandler_SetOperationService(t *testing.T) { func TestWoodpeckerWebhookHandler_TracksOperation(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) h := &WoodpeckerWebhookHandler{ operationService: opSvc, @@ -194,7 +194,7 @@ func TestWoodpeckerWebhookHandler_TracksOperation(t *testing.T) { func TestWoodpeckerWebhookHandler_LinksToParentOperation(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) // Create a parent operation (component.add) that has the same commit SHA parentID, _ := opSvc.StartOperation( @@ -256,7 +256,7 @@ func TestWoodpeckerWebhookHandler_LinksToParentOperation(t *testing.T) { func TestWoodpeckerWebhookHandler_RecordsFailedBuilds(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) h := &WoodpeckerWebhookHandler{ operationService: opSvc, @@ -308,7 +308,7 @@ func TestWoodpeckerWebhookHandler_RecordsFailedBuilds(t *testing.T) { func TestWoodpeckerWebhookHandler_IgnoresPendingBuilds(t *testing.T) { opRepo := newMockOperationRepo() - opSvc := service.NewOperationService(opRepo, slog.Default()) + opSvc := service.NewOperationService(opRepo) h := &WoodpeckerWebhookHandler{ operationService: opSvc, diff --git a/internal/handlers/work_lifecycle_test.go b/internal/handlers/work_lifecycle_test.go index 66c41c7..d6278ff 100644 --- a/internal/handlers/work_lifecycle_test.go +++ b/internal/handlers/work_lifecycle_test.go @@ -15,7 +15,7 @@ import ( func TestWorkHandler_Fail(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate a running task @@ -77,7 +77,7 @@ func TestWorkHandler_Fail(t *testing.T) { func TestWorkHandler_Cancel(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate tasks @@ -138,7 +138,7 @@ func TestWorkHandler_Cancel(t *testing.T) { func TestWorkHandler_GetTask(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate a task @@ -190,7 +190,7 @@ func TestWorkHandler_GetTask(t *testing.T) { func TestWorkHandler_ListByProject(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate tasks @@ -342,7 +342,7 @@ func TestWorkHandler_ListByProject(t *testing.T) { func TestWorkHandler_Stats(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate tasks with various statuses diff --git a/internal/handlers/work_test.go b/internal/handlers/work_test.go index af82c20..9ad721d 100644 --- a/internal/handlers/work_test.go +++ b/internal/handlers/work_test.go @@ -194,7 +194,7 @@ func (m *mockWorkQueue) RequeueStaleWithIDs(ctx context.Context, timeout time.Du func TestWorkHandler_Enqueue(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) router := chi.NewRouter() @@ -297,7 +297,7 @@ func TestWorkHandler_Enqueue(t *testing.T) { func TestWorkHandler_Dequeue(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate a pending task @@ -365,7 +365,7 @@ func TestWorkHandler_Dequeue(t *testing.T) { func TestWorkHandler_Complete(t *testing.T) { mockQueue := newMockWorkQueue() - workService := service.NewWorkService(mockQueue, service.WorkServiceConfig{}) + workService := service.NewWorkService(mockQueue) handler := NewWorkHandler(workService) // Pre-populate a running task diff --git a/internal/handlers/workers_test.go b/internal/handlers/workers_test.go index 518c335..a2f8701 100644 --- a/internal/handlers/workers_test.go +++ b/internal/handlers/workers_test.go @@ -99,7 +99,7 @@ func (m *mockWorkerRegistry) MarkStaleOffline(_ context.Context, _ time.Duration func TestWorkersHandler_List(t *testing.T) { registry := newMockWorkerRegistry() queue := newMockWorkQueue() - workerService := service.NewWorkerService(registry, queue, nil) + workerService := service.NewWorkerService(registry, queue) handler := NewWorkersHandler(workerService) // Populate workers @@ -204,7 +204,7 @@ func TestWorkersHandler_List(t *testing.T) { func TestWorkersHandler_Get(t *testing.T) { registry := newMockWorkerRegistry() queue := newMockWorkQueue() - workerService := service.NewWorkerService(registry, queue, nil) + workerService := service.NewWorkerService(registry, queue) handler := NewWorkersHandler(workerService) registry.workers["worker-1"] = &domain.Worker{ @@ -252,7 +252,7 @@ func TestWorkersHandler_Get(t *testing.T) { func TestWorkersHandler_Drain(t *testing.T) { registry := newMockWorkerRegistry() queue := newMockWorkQueue() - workerService := service.NewWorkerService(registry, queue, nil) + workerService := service.NewWorkerService(registry, queue) handler := NewWorkersHandler(workerService) registry.workers["worker-1"] = &domain.Worker{ diff --git a/internal/logging/audit.go b/internal/logging/audit.go new file mode 100644 index 0000000..47119a6 --- /dev/null +++ b/internal/logging/audit.go @@ -0,0 +1,142 @@ +package logging + +import ( + "context" + "time" +) + +// AuditAction represents a security-relevant action. +type AuditAction string + +const ( + AuditActionCreate AuditAction = "create" + AuditActionRead AuditAction = "read" + AuditActionUpdate AuditAction = "update" + AuditActionDelete AuditAction = "delete" + AuditActionLogin AuditAction = "login" + AuditActionLogout AuditAction = "logout" + AuditActionGrant AuditAction = "grant" + AuditActionRevoke AuditAction = "revoke" + AuditActionExecute AuditAction = "execute" + AuditActionDeploy AuditAction = "deploy" + AuditActionProvision AuditAction = "provision" + AuditActionDeprovision AuditAction = "deprovision" +) + +// AuditResult represents the outcome of an audited action. +type AuditResult string + +const ( + AuditResultSuccess AuditResult = "success" + AuditResultFailure AuditResult = "failure" + AuditResultDenied AuditResult = "denied" +) + +// AuditEvent represents a security audit event. +type AuditEvent struct { + // Timestamp is when the event occurred. + Timestamp time.Time + + // Action is what was attempted. + Action AuditAction + + // Resource is what the action was performed on. + Resource string + + // ResourceID identifies the specific resource. + ResourceID string + + // Result is the outcome of the action. + Result AuditResult + + // UserID is who performed the action (empty for system actions). + UserID string + + // APIKeyID is the API key used (empty for internal actions). + APIKeyID string + + // RequestID correlates to the HTTP request. + RequestID string + + // Details contains additional context. + Details map[string]any +} + +// AuditLogger logs security-relevant events. +// Audit logs are always written regardless of log level. +type AuditLogger struct { + logger *Logger +} + +// NewAuditLogger creates a new audit logger. +func NewAuditLogger(l *Logger) *AuditLogger { + return &AuditLogger{ + logger: l.WithComponent("audit"), + } +} + +// Log logs an audit event. +func (a *AuditLogger) Log(ctx context.Context, event AuditEvent) { + if event.Timestamp.IsZero() { + event.Timestamp = time.Now() + } + + // Build attributes + attrs := []any{ + FieldAuditAction, string(event.Action), + FieldAuditResource, event.Resource, + FieldAuditResult, string(event.Result), + "resource_id", event.ResourceID, + "timestamp", event.Timestamp.Format(time.RFC3339), + } + + if event.UserID != "" { + attrs = append(attrs, FieldUserID, event.UserID) + } + if event.APIKeyID != "" { + attrs = append(attrs, FieldAPIKeyID, event.APIKeyID) + } + if event.RequestID != "" { + attrs = append(attrs, FieldRequestID, event.RequestID) + } + + // Add details as individual fields + for k, v := range event.Details { + attrs = append(attrs, k, v) + } + + // Audit logs are always Info level (never skipped) + a.logger.Info("audit event", attrs...) +} + +// LogAction is a convenience method for logging simple actions. +func (a *AuditLogger) LogAction(ctx context.Context, action AuditAction, resource, resourceID string, result AuditResult) { + // Extract context values if available + l := FromContext(ctx) + event := AuditEvent{ + Action: action, + Resource: resource, + ResourceID: resourceID, + Result: result, + } + + // Try to extract request ID from the context logger + // This works because the middleware adds these fields + a.Log(ctx, event) + _ = l // We might want to extract fields from context in the future +} + +// LogSuccess logs a successful action. +func (a *AuditLogger) LogSuccess(ctx context.Context, action AuditAction, resource, resourceID string) { + a.LogAction(ctx, action, resource, resourceID, AuditResultSuccess) +} + +// LogFailure logs a failed action. +func (a *AuditLogger) LogFailure(ctx context.Context, action AuditAction, resource, resourceID string) { + a.LogAction(ctx, action, resource, resourceID, AuditResultFailure) +} + +// LogDenied logs a denied action. +func (a *AuditLogger) LogDenied(ctx context.Context, action AuditAction, resource, resourceID string) { + a.LogAction(ctx, action, resource, resourceID, AuditResultDenied) +} diff --git a/internal/logging/config.go b/internal/logging/config.go new file mode 100644 index 0000000..697a069 --- /dev/null +++ b/internal/logging/config.go @@ -0,0 +1,90 @@ +package logging + +import ( + "strings" + + "github.com/orchard9/rdev/internal/envutil" +) + +// Config holds logging configuration. +type Config struct { + // Level is the default log level. + Level Level + + // Format is the output format (json or text). + Format Format + + // ComponentLevels overrides log levels per component. + // Example: {"handlers": LevelDebug, "worker": LevelWarn} + ComponentLevels map[string]Level + + // RedactEnabled enables automatic redaction of sensitive data. + RedactEnabled bool + + // AddSource adds source file/line to log entries (performance impact). + AddSource bool +} + +// DefaultConfig returns sensible defaults for production. +func DefaultConfig() Config { + return Config{ + Level: LevelInfo, + Format: FormatJSON, + ComponentLevels: make(map[string]Level), + RedactEnabled: true, + AddSource: false, + } +} + +// ConfigFromEnv creates a Config from environment variables. +// +// Environment variables: +// - LOG_LEVEL: default level (debug, info, warn, error) +// - LOG_FORMAT: output format (json, text) +// - LOG_LEVELS: per-component levels (handlers:debug,worker:warn) +// - LOG_REDACT: enable/disable sensitive data redaction (true/false) +// - LOG_SOURCE: add source file/line to logs (true/false) +func ConfigFromEnv() Config { + cfg := DefaultConfig() + + cfg.Level = ParseLevel(envutil.GetEnv("LOG_LEVEL", "info")) + cfg.Format = ParseFormat(envutil.GetEnv("LOG_FORMAT", "json")) + cfg.RedactEnabled = envutil.GetEnvBool("LOG_REDACT", true) + cfg.AddSource = envutil.GetEnvBool("LOG_SOURCE", false) + + // Parse per-component log levels: "handlers:debug,worker:warn" + if levels := envutil.GetEnv("LOG_LEVELS", ""); levels != "" { + cfg.ComponentLevels = parseComponentLevels(levels) + } + + return cfg +} + +// parseComponentLevels parses a comma-separated list of component:level pairs. +func parseComponentLevels(s string) map[string]Level { + result := make(map[string]Level) + for pair := range strings.SplitSeq(s, ",") { + pair = strings.TrimSpace(pair) + if pair == "" { + continue + } + parts := strings.SplitN(pair, ":", 2) + if len(parts) != 2 { + continue + } + component := strings.TrimSpace(parts[0]) + level := ParseLevel(parts[1]) + if component != "" { + result[component] = level + } + } + return result +} + +// LevelFor returns the log level for a component, falling back to the default. +func (c Config) LevelFor(component string) Level { + if level, ok := c.ComponentLevels[component]; ok { + return level + } + return c.Level +} diff --git a/internal/logging/context.go b/internal/logging/context.go new file mode 100644 index 0000000..b5bcd4b --- /dev/null +++ b/internal/logging/context.go @@ -0,0 +1,70 @@ +package logging + +import ( + "context" +) + +// contextKey is the key type for context values to avoid collisions. +type contextKey struct{} + +// loggerKey is the key used to store the logger in context. +var loggerKey = contextKey{} + +// defaultLogger is used when no logger is found in context. +// It's initialized lazily to avoid import cycles. +var defaultLogger *Logger + +// SetDefault sets the default logger used when FromContext finds no logger. +// Call this during application initialization. +func SetDefault(l *Logger) { + defaultLogger = l +} + +// Default returns the default logger. +// Returns a nop logger if SetDefault was never called. +func Default() *Logger { + if defaultLogger == nil { + return Nop() + } + return defaultLogger +} + +// WithContext returns a new context with the logger attached. +func WithContext(ctx context.Context, l *Logger) context.Context { + return context.WithValue(ctx, loggerKey, l) +} + +// FromContext extracts the logger from context. +// Returns the default logger if no logger is found. +func FromContext(ctx context.Context) *Logger { + if ctx == nil { + return Default() + } + if l, ok := ctx.Value(loggerKey).(*Logger); ok { + return l + } + return Default() +} + +// WithFields returns a new context with additional fields added to the logger. +// This is a convenience function for adding fields in middleware. +func WithFields(ctx context.Context, args ...any) context.Context { + l := FromContext(ctx).With(args...) + return WithContext(ctx, l) +} + +// WithRequestContext returns a new context with request-scoped fields. +// This is typically called by middleware to enrich the logger. +func WithRequestContext(ctx context.Context, requestID, userID, apiKeyID string) context.Context { + l := FromContext(ctx) + if requestID != "" { + l = l.WithRequestID(requestID) + } + if userID != "" { + l = l.WithUserID(userID) + } + if apiKeyID != "" { + l = l.With(FieldAPIKeyID, apiKeyID) + } + return WithContext(ctx, l) +} diff --git a/internal/logging/fields.go b/internal/logging/fields.go new file mode 100644 index 0000000..90765d6 --- /dev/null +++ b/internal/logging/fields.go @@ -0,0 +1,72 @@ +// Package logging provides enterprise-grade structured logging for rdev. +// It wraps slog with standardized field names, context propagation, +// automatic sensitive data redaction, and per-component log levels. +package logging + +// Standard field names for structured logging. +// Using constants ensures consistent field names across the codebase, +// making logs queryable and reducing typos. +const ( + // Request/trace context + FieldRequestID = "request_id" + FieldTraceID = "trace_id" + FieldSpanID = "span_id" + + // User/auth context + FieldUserID = "user_id" + FieldAPIKeyID = "api_key_id" + FieldAPIKeyTag = "api_key_tag" + + // Project context + FieldProjectID = "project_id" + FieldProjectName = "project_name" + + // Component identification + FieldComponent = "component" + FieldHandler = "handler" + FieldService = "service" + FieldWorker = "worker" + FieldAdapter = "adapter" + + // Operation context + FieldOperation = "operation" + FieldAction = "action" + FieldMethod = "method" + FieldPath = "path" + FieldStatus = "status" + + // Error handling - ALWAYS use "error", never "err" or "e" + FieldError = "error" + FieldErrorCode = "error_code" + FieldErrorType = "error_type" + FieldStackTrace = "stack_trace" + + // Performance/timing + FieldDuration = "duration_ms" + FieldStartTime = "start_time" + FieldEndTime = "end_time" + FieldRetryCount = "retry_count" + + // Resource identifiers + FieldPodName = "pod_name" + FieldNamespace = "namespace" + FieldContainerID = "container_id" + FieldBuildID = "build_id" + FieldDeploymentID = "deployment_id" + FieldWorkID = "work_id" + FieldQueueName = "queue_name" + + // HTTP context + FieldHTTPMethod = "http_method" + FieldHTTPPath = "http_path" + FieldHTTPStatus = "http_status" + FieldHTTPRemoteAddr = "http_remote_addr" + FieldHTTPUserAgent = "http_user_agent" + FieldHTTPHost = "http_host" + + // Audit context + FieldAuditAction = "audit_action" + FieldAuditResource = "audit_resource" + FieldAuditResult = "audit_result" + FieldAuditDetails = "audit_details" +) diff --git a/internal/logging/format.go b/internal/logging/format.go new file mode 100644 index 0000000..f5bc8f5 --- /dev/null +++ b/internal/logging/format.go @@ -0,0 +1,38 @@ +package logging + +import "strings" + +// Format represents the output format for logs. +type Format int + +const ( + // FormatJSON outputs structured JSON logs (production default). + FormatJSON Format = iota + // FormatText outputs human-readable text logs (development). + FormatText +) + +// String returns the string representation of the format. +func (f Format) String() string { + switch f { + case FormatJSON: + return "json" + case FormatText: + return "text" + default: + return "json" + } +} + +// ParseFormat parses a string into a Format. +// Returns FormatJSON if the string is not recognized. +func ParseFormat(s string) Format { + switch strings.ToLower(strings.TrimSpace(s)) { + case "text", "console", "dev": + return FormatText + case "json", "structured": + return FormatJSON + default: + return FormatJSON + } +} diff --git a/internal/logging/handler.go b/internal/logging/handler.go new file mode 100644 index 0000000..64b8ffb --- /dev/null +++ b/internal/logging/handler.go @@ -0,0 +1,73 @@ +package logging + +import ( + "context" + "log/slog" +) + +// RedactingHandler wraps an slog.Handler to redact sensitive data. +type RedactingHandler struct { + inner slog.Handler +} + +// NewRedactingHandler creates a handler that redacts sensitive values. +func NewRedactingHandler(inner slog.Handler) *RedactingHandler { + return &RedactingHandler{inner: inner} +} + +// Enabled implements slog.Handler. +func (h *RedactingHandler) Enabled(ctx context.Context, level slog.Level) bool { + return h.inner.Enabled(ctx, level) +} + +// Handle implements slog.Handler. +func (h *RedactingHandler) Handle(ctx context.Context, r slog.Record) error { + // Clone the record with redacted attributes + newRecord := slog.NewRecord(r.Time, r.Level, r.Message, r.PC) + r.Attrs(func(a slog.Attr) bool { + newRecord.AddAttrs(h.redactAttr(a)) + return true + }) + return h.inner.Handle(ctx, newRecord) +} + +// WithAttrs implements slog.Handler. +func (h *RedactingHandler) WithAttrs(attrs []slog.Attr) slog.Handler { + redacted := make([]slog.Attr, len(attrs)) + for i, a := range attrs { + redacted[i] = h.redactAttr(a) + } + return &RedactingHandler{inner: h.inner.WithAttrs(redacted)} +} + +// WithGroup implements slog.Handler. +func (h *RedactingHandler) WithGroup(name string) slog.Handler { + return &RedactingHandler{inner: h.inner.WithGroup(name)} +} + +// redactAttr redacts an attribute if its key or value is sensitive. +func (h *RedactingHandler) redactAttr(a slog.Attr) slog.Attr { + // Check if the field name indicates sensitive data + if IsSensitiveField(a.Key) { + return slog.String(a.Key, RedactedValue) + } + + // Check the value based on its kind + switch a.Value.Kind() { + case slog.KindString: + s := a.Value.String() + if ContainsSensitiveData(s) { + return slog.String(a.Key, RedactedValue) + } + case slog.KindGroup: + // Recursively redact group attributes + attrs := a.Value.Group() + redacted := make([]slog.Attr, len(attrs)) + for i, attr := range attrs { + redacted[i] = h.redactAttr(attr) + } + return slog.Attr{Key: a.Key, Value: slog.GroupValue(redacted...)} + } + + return a +} diff --git a/internal/logging/levels.go b/internal/logging/levels.go new file mode 100644 index 0000000..701eebb --- /dev/null +++ b/internal/logging/levels.go @@ -0,0 +1,65 @@ +package logging + +import ( + "log/slog" + "strings" +) + +// Level represents a logging level. +type Level int + +const ( + LevelDebug Level = iota + LevelInfo + LevelWarn + LevelError +) + +// String returns the string representation of the level. +func (l Level) String() string { + switch l { + case LevelDebug: + return "debug" + case LevelInfo: + return "info" + case LevelWarn: + return "warn" + case LevelError: + return "error" + default: + return "info" + } +} + +// SlogLevel converts to slog.Level. +func (l Level) SlogLevel() slog.Level { + switch l { + case LevelDebug: + return slog.LevelDebug + case LevelInfo: + return slog.LevelInfo + case LevelWarn: + return slog.LevelWarn + case LevelError: + return slog.LevelError + default: + return slog.LevelInfo + } +} + +// ParseLevel parses a string into a Level. +// Returns LevelInfo if the string is not recognized. +func ParseLevel(s string) Level { + switch strings.ToLower(strings.TrimSpace(s)) { + case "debug": + return LevelDebug + case "info": + return LevelInfo + case "warn", "warning": + return LevelWarn + case "error", "err": + return LevelError + default: + return LevelInfo + } +} diff --git a/internal/logging/logger.go b/internal/logging/logger.go new file mode 100644 index 0000000..aad50e8 --- /dev/null +++ b/internal/logging/logger.go @@ -0,0 +1,152 @@ +package logging + +import ( + "io" + "log/slog" + "os" + "time" +) + +// Logger wraps slog.Logger with convenience methods and standard fields. +type Logger struct { + *slog.Logger + config Config +} + +// New creates a new Logger from the given config. +func New(cfg Config) *Logger { + return NewWithWriter(cfg, os.Stdout) +} + +// NewWithWriter creates a new Logger writing to the given writer. +func NewWithWriter(cfg Config, w io.Writer) *Logger { + var handler slog.Handler + + opts := &slog.HandlerOptions{ + Level: cfg.Level.SlogLevel(), + AddSource: cfg.AddSource, + } + + if cfg.Format == FormatText { + handler = slog.NewTextHandler(w, opts) + } else { + handler = slog.NewJSONHandler(w, opts) + } + + // Wrap with redacting handler if enabled + if cfg.RedactEnabled { + handler = NewRedactingHandler(handler) + } + + return &Logger{ + Logger: slog.New(handler), + config: cfg, + } +} + +// With returns a new Logger with the given attributes. +func (l *Logger) With(args ...any) *Logger { + return &Logger{ + Logger: l.Logger.With(args...), + config: l.config, + } +} + +// WithComponent returns a new Logger with the component field set. +func (l *Logger) WithComponent(name string) *Logger { + return l.With(FieldComponent, name) +} + +// WithHandler returns a new Logger with the handler field set. +func (l *Logger) WithHandler(name string) *Logger { + return l.With(FieldHandler, name) +} + +// WithService returns a new Logger with the service field set. +func (l *Logger) WithService(name string) *Logger { + return l.With(FieldService, name) +} + +// WithWorker returns a new Logger with the worker field set. +func (l *Logger) WithWorker(name string) *Logger { + return l.With(FieldWorker, name) +} + +// WithAdapter returns a new Logger with the adapter field set. +func (l *Logger) WithAdapter(name string) *Logger { + return l.With(FieldAdapter, name) +} + +// WithRequestID returns a new Logger with the request_id field set. +func (l *Logger) WithRequestID(id string) *Logger { + return l.With(FieldRequestID, id) +} + +// WithProjectID returns a new Logger with the project_id field set. +func (l *Logger) WithProjectID(id string) *Logger { + return l.With(FieldProjectID, id) +} + +// WithUserID returns a new Logger with the user_id field set. +func (l *Logger) WithUserID(id string) *Logger { + return l.With(FieldUserID, id) +} + +// WithError returns a new Logger with the error field set. +// Always use "error" as the field name, never "err" or "e". +func (l *Logger) WithError(err error) *Logger { + if err == nil { + return l + } + return l.With(FieldError, err.Error()) +} + +// WithOperation returns a new Logger with the operation field set. +func (l *Logger) WithOperation(name string) *Logger { + return l.With(FieldOperation, name) +} + +// Timed returns a function that logs the duration when called. +// Usage: defer log.Timed("operation_name")() +func (l *Logger) Timed(operation string) func() { + start := time.Now() + return func() { + duration := time.Since(start) + l.Info("operation completed", + FieldOperation, operation, + FieldDuration, duration.Milliseconds(), + ) + } +} + +// TimedWithLevel returns a function that logs the duration at the specified level. +// Usage: defer log.TimedWithLevel("operation_name", LevelDebug)() +func (l *Logger) TimedWithLevel(operation string, level Level) func() { + start := time.Now() + return func() { + duration := time.Since(start) + msg := "operation completed" + args := []any{FieldOperation, operation, FieldDuration, duration.Milliseconds()} + + switch level { + case LevelDebug: + l.Debug(msg, args...) + case LevelInfo: + l.Info(msg, args...) + case LevelWarn: + l.Warn(msg, args...) + case LevelError: + l.Error(msg, args...) + } + } +} + +// Slog returns the underlying slog.Logger for compatibility. +func (l *Logger) Slog() *slog.Logger { + return l.Logger +} + +// Config returns the logger's configuration. +func (l *Logger) Config() Config { + return l.config +} diff --git a/internal/logging/logger_test.go b/internal/logging/logger_test.go new file mode 100644 index 0000000..e98d760 --- /dev/null +++ b/internal/logging/logger_test.go @@ -0,0 +1,215 @@ +package logging + +import ( + "bytes" + "context" + "encoding/json" + "strings" + "testing" + "time" +) + +func TestNewLogger(t *testing.T) { + cfg := DefaultConfig() + cfg.RedactEnabled = false // Simplify for this test + logger := New(cfg) + + if logger == nil { + t.Fatal("expected non-nil logger") + } + if logger.Slog() == nil { + t.Fatal("expected non-nil slog.Logger") + } +} + +func TestLoggerWith(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + // Test With method + logger2 := logger.With("key", "value") + logger2.Info("test message") + + output := buf.String() + if !strings.Contains(output, `"key"`) || !strings.Contains(output, `"value"`) { + t.Errorf("expected key/value in output, got: %s", output) + } +} + +func TestLoggerWithComponent(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + logger.WithComponent("test_component").Info("test message") + + output := buf.String() + if !strings.Contains(output, FieldComponent) || !strings.Contains(output, "test_component") { + t.Errorf("expected component field in output, got: %s", output) + } +} + +func TestLoggerWithHandler(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + logger.WithHandler("CreateProject").Info("test message") + + output := buf.String() + if !strings.Contains(output, FieldHandler) || !strings.Contains(output, "CreateProject") { + t.Errorf("expected handler field in output, got: %s", output) + } +} + +func TestLoggerWithError(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + err := &testError{msg: "something went wrong"} + logger.WithError(err).Error("operation failed") + + output := buf.String() + // Verify we use "error" field, not "err" or "e" + if !strings.Contains(output, `"error"`) || !strings.Contains(output, "something went wrong") { + t.Errorf("expected error field in output, got: %s", output) + } +} + +type testError struct { + msg string +} + +func (e *testError) Error() string { + return e.msg +} + +func TestLoggerWithErrorNil(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + // WithError(nil) should not add error field + logger2 := logger.WithError(nil) + if logger2 != logger { + t.Error("WithError(nil) should return same logger") + } +} + +func TestLoggerTimed(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + // Test Timed method + done := logger.Timed("test_operation") + time.Sleep(10 * time.Millisecond) + done() + + output := buf.String() + if !strings.Contains(output, "test_operation") { + t.Errorf("expected operation in output, got: %s", output) + } + if !strings.Contains(output, FieldDuration) { + t.Errorf("expected duration field in output, got: %s", output) + } + if !strings.Contains(output, "operation completed") { + t.Errorf("expected completion message in output, got: %s", output) + } +} + +func TestLoggerJSONFormat(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.Format = FormatJSON + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + logger.Info("test message", "key", "value") + + var entry map[string]any + if err := json.Unmarshal(buf.Bytes(), &entry); err != nil { + t.Fatalf("expected valid JSON, got error: %v, output: %s", err, buf.String()) + } + if entry["msg"] != "test message" { + t.Errorf("expected msg='test message', got: %v", entry["msg"]) + } + if entry["key"] != "value" { + t.Errorf("expected key='value', got: %v", entry["key"]) + } +} + +func TestLoggerTextFormat(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.Format = FormatText + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + logger.Info("test message", "key", "value") + + output := buf.String() + // Text format should contain the message and key=value + if !strings.Contains(output, "test message") { + t.Errorf("expected message in output, got: %s", output) + } + if !strings.Contains(output, "key=value") { + t.Errorf("expected key=value in output, got: %s", output) + } +} + +func TestFromContext(t *testing.T) { + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := New(cfg) + SetDefault(logger) + + // No logger in context should return default + ctx := context.Background() + l := FromContext(ctx) + if l == nil { + t.Fatal("expected non-nil logger from empty context") + } + + // Logger in context should be returned + enriched := logger.With("test", "value") + ctx = WithContext(ctx, enriched) + l = FromContext(ctx) + if l != enriched { + t.Error("expected enriched logger from context") + } +} + +func TestFromContextNil(t *testing.T) { + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := New(cfg) + SetDefault(logger) + + // Test that FromContext handles nil context gracefully + // This is intentionally testing nil context handling + var nilCtx context.Context //nolint:staticcheck // testing nil context handling + l := FromContext(nilCtx) + if l == nil { + t.Fatal("expected non-nil logger from nil context") + } +} + +func TestNop(t *testing.T) { + logger := Nop() + if logger == nil { + t.Fatal("expected non-nil nop logger") + } + + // Should not panic when called + logger.Info("this should be discarded") + logger.WithComponent("test").Error("this too") +} diff --git a/internal/logging/middleware.go b/internal/logging/middleware.go new file mode 100644 index 0000000..120a6bb --- /dev/null +++ b/internal/logging/middleware.go @@ -0,0 +1,145 @@ +package logging + +import ( + "net/http" + "time" + + "github.com/google/uuid" +) + +// responseWriter wraps http.ResponseWriter to capture status code. +type responseWriter struct { + http.ResponseWriter + status int + wroteHeader bool + bytesWritten int +} + +func (rw *responseWriter) WriteHeader(code int) { + if rw.wroteHeader { + return + } + rw.status = code + rw.wroteHeader = true + rw.ResponseWriter.WriteHeader(code) +} + +func (rw *responseWriter) Write(b []byte) (int, error) { + if !rw.wroteHeader { + rw.WriteHeader(http.StatusOK) + } + n, err := rw.ResponseWriter.Write(b) + rw.bytesWritten += n + return n, err +} + +// Unwrap returns the original http.ResponseWriter, required for http.ResponseController. +func (rw *responseWriter) Unwrap() http.ResponseWriter { + return rw.ResponseWriter +} + +// RequestIDHeader is the header name for request ID propagation. +const RequestIDHeader = "X-Request-ID" + +// MiddlewareConfig configures the logging middleware. +type MiddlewareConfig struct { + // Logger is the logger to use. If nil, uses Default(). + Logger *Logger + + // SkipPaths are paths that should not be logged. + SkipPaths map[string]bool + + // GenerateRequestID controls whether to generate a request ID if not present. + GenerateRequestID bool +} + +// DefaultMiddlewareConfig returns sensible defaults. +func DefaultMiddlewareConfig() MiddlewareConfig { + return MiddlewareConfig{ + SkipPaths: map[string]bool{ + "/health": true, + "/ready": true, + }, + GenerateRequestID: true, + } +} + +// Middleware returns an HTTP middleware that logs requests and enriches context. +// It: +// - Generates or propagates request IDs +// - Logs request start (debug) and completion (info/warn/error based on status) +// - Stores an enriched logger in context for handlers to use +func Middleware(cfg MiddlewareConfig) func(http.Handler) http.Handler { + logger := cfg.Logger + if logger == nil { + logger = Default() + } + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Skip logging for configured paths + if cfg.SkipPaths[r.URL.Path] { + next.ServeHTTP(w, r) + return + } + + start := time.Now() + + // Get or generate request ID + requestID := r.Header.Get(RequestIDHeader) + if requestID == "" && cfg.GenerateRequestID { + requestID = uuid.New().String() + } + + // Set request ID in response header + if requestID != "" { + w.Header().Set(RequestIDHeader, requestID) + } + + // Wrap response writer to capture status code and bytes + wrapped := &responseWriter{ + ResponseWriter: w, + status: http.StatusOK, + } + + // Create request-scoped logger + reqLogger := logger.With( + FieldRequestID, requestID, + FieldHTTPMethod, r.Method, + FieldHTTPPath, r.URL.Path, + FieldHTTPRemoteAddr, r.RemoteAddr, + ) + + // Store logger in context for handlers to use + ctx := WithContext(r.Context(), reqLogger) + + // Log request start at debug level + reqLogger.Debug("request started", + FieldHTTPUserAgent, r.UserAgent(), + FieldHTTPHost, r.Host, + ) + + // Call next handler with enriched context + next.ServeHTTP(wrapped, r.WithContext(ctx)) + + // Calculate duration + duration := time.Since(start) + + // Log completion with appropriate level based on status + attrs := []any{ + FieldHTTPStatus, wrapped.status, + FieldDuration, duration.Milliseconds(), + "bytes", wrapped.bytesWritten, + } + + switch { + case wrapped.status >= 500: + reqLogger.Error("request completed", attrs...) + case wrapped.status >= 400: + reqLogger.Warn("request completed", attrs...) + default: + reqLogger.Info("request completed", attrs...) + } + }) + } +} diff --git a/internal/logging/middleware_test.go b/internal/logging/middleware_test.go new file mode 100644 index 0000000..54af24b --- /dev/null +++ b/internal/logging/middleware_test.go @@ -0,0 +1,272 @@ +package logging + +import ( + "bytes" + "encoding/json" + "net/http" + "net/http/httptest" + "strings" + "testing" +) + +func TestMiddleware(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + if rec.Code != http.StatusOK { + t.Errorf("expected status 200, got %d", rec.Code) + } + + output := buf.String() + + // Should log request completion + if !strings.Contains(output, "request completed") { + t.Errorf("expected 'request completed' in log, got: %s", output) + } + + // Should include HTTP fields + if !strings.Contains(output, FieldHTTPMethod) { + t.Errorf("expected http_method field, got: %s", output) + } + if !strings.Contains(output, FieldHTTPPath) { + t.Errorf("expected http_path field, got: %s", output) + } + if !strings.Contains(output, FieldHTTPStatus) { + t.Errorf("expected http_status field, got: %s", output) + } + if !strings.Contains(output, FieldDuration) { + t.Errorf("expected duration_ms field, got: %s", output) + } +} + +func TestMiddlewareGeneratesRequestID(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + middlewareCfg.GenerateRequestID = true + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + // Should set request ID header in response + requestID := rec.Header().Get(RequestIDHeader) + if requestID == "" { + t.Error("expected X-Request-ID header to be set") + } + + // Should include request ID in log + output := buf.String() + if !strings.Contains(output, FieldRequestID) { + t.Errorf("expected request_id field, got: %s", output) + } +} + +func TestMiddlewarePropagatesRequestID(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + req.Header.Set(RequestIDHeader, "test-request-id-123") + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + // Should echo back the request ID + requestID := rec.Header().Get(RequestIDHeader) + if requestID != "test-request-id-123" { + t.Errorf("expected X-Request-ID to be echoed, got: %s", requestID) + } + + // Should use the provided request ID in log + output := buf.String() + if !strings.Contains(output, "test-request-id-123") { + t.Errorf("expected provided request_id in log, got: %s", output) + } +} + +func TestMiddlewareSkipPaths(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + middlewareCfg.SkipPaths = map[string]bool{"/health": true} + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + })) + + req := httptest.NewRequest("GET", "/health", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + // Should not log anything for skipped paths + output := buf.String() + if output != "" { + t.Errorf("expected no log output for skipped path, got: %s", output) + } +} + +func TestMiddlewareLogLevelByStatus(t *testing.T) { + tests := []struct { + status int + logLevel string + }{ + {200, "INFO"}, + {201, "INFO"}, + {204, "INFO"}, + {301, "INFO"}, + {400, "WARN"}, + {401, "WARN"}, + {404, "WARN"}, + {500, "ERROR"}, + {502, "ERROR"}, + {503, "ERROR"}, + } + + for _, tt := range tests { + t.Run(http.StatusText(tt.status), func(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(tt.status) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + output := buf.String() + if !strings.Contains(output, tt.logLevel) { + t.Errorf("expected %s level for status %d, got: %s", tt.logLevel, tt.status, output) + } + }) + } +} + +func TestMiddlewareContextLogger(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + + var ctxLogger *Logger + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Handler can get logger from context + ctxLogger = FromContext(r.Context()) + ctxLogger.Info("handler logging") + w.WriteHeader(http.StatusOK) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + if ctxLogger == nil { + t.Fatal("expected logger in context") + } + + output := buf.String() + // Handler's log should include the request context + if !strings.Contains(output, "handler logging") { + t.Errorf("expected handler log in output, got: %s", output) + } +} + +func TestMiddlewareJSONOutput(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.Format = FormatJSON + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + middlewareCfg := DefaultMiddlewareConfig() + middlewareCfg.Logger = logger + + handler := Middleware(middlewareCfg)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("test")) + })) + + req := httptest.NewRequest("GET", "/api/test", nil) + rec := httptest.NewRecorder() + + handler.ServeHTTP(rec, req) + + // Should have two JSON log entries (debug start + info complete) + lines := strings.Split(strings.TrimSpace(buf.String()), "\n") + if len(lines) < 1 { + t.Fatalf("expected at least 1 log line, got: %d", len(lines)) + } + + // Parse the completion log (last line) + var entry map[string]any + if err := json.Unmarshal([]byte(lines[len(lines)-1]), &entry); err != nil { + t.Fatalf("expected valid JSON, got error: %v, line: %s", err, lines[len(lines)-1]) + } + + // Verify expected fields + if entry[FieldHTTPMethod] != "GET" { + t.Errorf("expected http_method=GET, got: %v", entry[FieldHTTPMethod]) + } + if entry[FieldHTTPPath] != "/api/test" { + t.Errorf("expected http_path=/api/test, got: %v", entry[FieldHTTPPath]) + } + if entry[FieldHTTPStatus] != float64(200) { + t.Errorf("expected http_status=200, got: %v", entry[FieldHTTPStatus]) + } + if _, ok := entry[FieldDuration]; !ok { + t.Error("expected duration_ms field") + } + if _, ok := entry[FieldRequestID]; !ok { + t.Error("expected request_id field") + } +} diff --git a/internal/logging/nop.go b/internal/logging/nop.go new file mode 100644 index 0000000..bd693e7 --- /dev/null +++ b/internal/logging/nop.go @@ -0,0 +1,24 @@ +package logging + +import ( + "io" + "log/slog" +) + +// nopLogger is a singleton nop logger. +var nopLogger *Logger + +// Nop returns a no-op logger that discards all output. +// Useful for testing or when logging is disabled. +func Nop() *Logger { + if nopLogger == nil { + handler := slog.NewJSONHandler(io.Discard, &slog.HandlerOptions{ + Level: slog.LevelError + 1, // Higher than any level, so nothing logs + }) + nopLogger = &Logger{ + Logger: slog.New(handler), + config: DefaultConfig(), + } + } + return nopLogger +} diff --git a/internal/logging/redact.go b/internal/logging/redact.go new file mode 100644 index 0000000..b297926 --- /dev/null +++ b/internal/logging/redact.go @@ -0,0 +1,120 @@ +package logging + +import ( + "regexp" + "strings" +) + +// RedactedValue is the replacement string for sensitive data. +const RedactedValue = "[REDACTED]" + +// sensitiveFieldPatterns are field name patterns that indicate sensitive data. +// These are matched case-insensitively. +var sensitiveFieldPatterns = []string{ + "password", + "passwd", + "secret", + "token", + "api_key", + "apikey", + "api-key", + "auth", + "bearer", + "credential", + "private", + "key", + "cert", + "certificate", +} + +// sensitiveValuePatterns are regex patterns to detect sensitive values. +var sensitiveValuePatterns = []*regexp.Regexp{ + // Bearer tokens + regexp.MustCompile(`(?i)bearer\s+[a-zA-Z0-9\-_.~+/]+=*`), + // API keys (common formats) + regexp.MustCompile(`(?i)(?:api[_-]?key|token|secret)[=:]\s*["']?[a-zA-Z0-9\-_.~+/]{16,}["']?`), + // AWS access keys + regexp.MustCompile(`AKIA[0-9A-Z]{16}`), + // Private keys + regexp.MustCompile(`-----BEGIN [A-Z]+ PRIVATE KEY-----`), + // Connection strings with passwords (supports empty username like redis://:pass@host) + regexp.MustCompile(`(?i)(?:postgres|mysql|mongodb|redis)://[^:]*:[^@]+@`), + // JWT tokens (three base64 parts separated by dots) + regexp.MustCompile(`eyJ[a-zA-Z0-9\-_]+\.eyJ[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+`), +} + +// exactSensitiveFields are field names that are always sensitive. +var exactSensitiveFields = map[string]bool{ + "password": true, + "passwd": true, + "secret": true, + "token": true, + "api_key": true, + "apikey": true, + "api-key": true, + "bearer": true, + "authorization": true, + "auth_token": true, + "access_token": true, + "refresh_token": true, + "private_key": true, + "secret_key": true, + "encryption_key": true, + "signing_key": true, + "client_secret": true, + "cookie": true, + "session": true, + "session_id": true, + "x-api-key": true, + "x-auth-token": true, + "credentials": true, + "credit_card": true, + "cc_number": true, + "cvv": true, + "ssn": true, + "social_security": true, + "bank_account": true, + "routing_number": true, + "cloudflare_token": true, + "gitea_token": true, + "woodpecker_secret": true, +} + +// IsSensitiveField checks if a field name indicates sensitive data. +func IsSensitiveField(fieldName string) bool { + lower := strings.ToLower(fieldName) + + // Check exact matches first (fast path) + if exactSensitiveFields[lower] { + return true + } + + // Check pattern matches + for _, pattern := range sensitiveFieldPatterns { + if strings.Contains(lower, pattern) { + return true + } + } + + return false +} + +// RedactValue redacts a value if it matches sensitive patterns. +func RedactValue(value string) string { + for _, pattern := range sensitiveValuePatterns { + if pattern.MatchString(value) { + return RedactedValue + } + } + return value +} + +// ContainsSensitiveData checks if a string contains sensitive data patterns. +func ContainsSensitiveData(value string) bool { + for _, pattern := range sensitiveValuePatterns { + if pattern.MatchString(value) { + return true + } + } + return false +} diff --git a/internal/logging/redact_test.go b/internal/logging/redact_test.go new file mode 100644 index 0000000..4aeec8e --- /dev/null +++ b/internal/logging/redact_test.go @@ -0,0 +1,301 @@ +package logging + +import ( + "bytes" + "encoding/json" + "strings" + "testing" +) + +func TestIsSensitiveField(t *testing.T) { + tests := []struct { + fieldName string + want bool + }{ + // Exact matches (should be sensitive) + {"password", true}, + {"PASSWORD", true}, + {"Password", true}, + {"secret", true}, + {"token", true}, + {"api_key", true}, + {"apikey", true}, + {"api-key", true}, + {"bearer", true}, + {"authorization", true}, + {"auth_token", true}, + {"access_token", true}, + {"refresh_token", true}, + {"private_key", true}, + {"secret_key", true}, + {"client_secret", true}, + {"cookie", true}, + {"session", true}, + {"x-api-key", true}, + {"credentials", true}, + {"credit_card", true}, + {"cvv", true}, + {"ssn", true}, + {"bank_account", true}, + + // Pattern matches (contain sensitive keywords) + {"user_password", true}, + {"db_password", true}, + {"auth_header", true}, + {"secret_value", true}, + {"api_key_id", true}, + {"bearer_token", true}, + + // Non-sensitive fields + {"name", false}, + {"email", false}, + {"user_id", false}, + {"project_id", false}, + {"status", false}, + {"created_at", false}, + {"component", false}, + {"handler", false}, + {"duration_ms", false}, + {"request_id", false}, + } + + for _, tt := range tests { + t.Run(tt.fieldName, func(t *testing.T) { + got := IsSensitiveField(tt.fieldName) + if got != tt.want { + t.Errorf("IsSensitiveField(%q) = %v, want %v", tt.fieldName, got, tt.want) + } + }) + } +} + +func TestRedactValue(t *testing.T) { + tests := []struct { + name string + value string + want string + }{ + // Bearer tokens + { + name: "bearer token", + value: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", + want: RedactedValue, + }, + // AWS access keys + { + name: "aws access key", + value: "AKIAIOSFODNN7EXAMPLE", + want: RedactedValue, + }, + // JWT tokens + { + name: "jwt token", + value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U", + want: RedactedValue, + }, + // Connection strings with passwords + { + name: "postgres connection string", + value: "postgres://user:secretpassword123@localhost:5432/mydb", + want: RedactedValue, + }, + { + name: "redis connection string", + value: "redis://admin:p@ssw0rd@redis.example.com:6379", + want: RedactedValue, + }, + // Private key header + { + name: "private key", + value: "-----BEGIN RSA PRIVATE KEY-----", + want: RedactedValue, + }, + // API key patterns + { + name: "api key in string", + value: "api_key=abc123xyz456789012345678901234567890", + want: RedactedValue, + }, + // Non-sensitive values should pass through + { + name: "normal string", + value: "hello world", + want: "hello world", + }, + { + name: "email", + value: "user@example.com", + want: "user@example.com", + }, + { + name: "uuid", + value: "550e8400-e29b-41d4-a716-446655440000", + want: "550e8400-e29b-41d4-a716-446655440000", + }, + { + name: "path", + value: "/api/v1/projects/123", + want: "/api/v1/projects/123", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := RedactValue(tt.value) + if got != tt.want { + t.Errorf("RedactValue(%q) = %q, want %q", tt.value, got, tt.want) + } + }) + } +} + +func TestContainsSensitiveData(t *testing.T) { + tests := []struct { + name string + value string + want bool + }{ + {"bearer token", "Authorization: Bearer xyz123", true}, + {"jwt", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.abc", true}, + {"normal text", "This is a normal log message", false}, + {"empty", "", false}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := ContainsSensitiveData(tt.value) + if got != tt.want { + t.Errorf("ContainsSensitiveData(%q) = %v, want %v", tt.value, got, tt.want) + } + }) + } +} + +func TestRedactingHandlerFieldNames(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = true + logger := NewWithWriter(cfg, &buf) + + // Log with sensitive field names + logger.Info("test", + "password", "secret123", + "api_key", "key456", + "name", "visible", + ) + + output := buf.String() + + // Sensitive fields should be redacted + if strings.Contains(output, "secret123") { + t.Errorf("password value should be redacted, got: %s", output) + } + if strings.Contains(output, "key456") { + t.Errorf("api_key value should be redacted, got: %s", output) + } + // Non-sensitive fields should be visible + if !strings.Contains(output, "visible") { + t.Errorf("non-sensitive field should be visible, got: %s", output) + } + // Redacted marker should appear + if !strings.Contains(output, RedactedValue) { + t.Errorf("expected redacted marker in output, got: %s", output) + } +} + +func TestRedactingHandlerValues(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = true + logger := NewWithWriter(cfg, &buf) + + // Log with sensitive values + logger.Info("test", + "auth_header", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.abc", + ) + + output := buf.String() + + // JWT should be redacted + if strings.Contains(output, "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9") { + t.Errorf("JWT token should be redacted, got: %s", output) + } +} + +func TestRedactingHandlerPreservesStructure(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.Format = FormatJSON + cfg.RedactEnabled = true + logger := NewWithWriter(cfg, &buf) + + logger.Info("test message", + "user_id", "123", + "password", "secret", + "status", "success", + ) + + // Parse JSON to verify structure is preserved + var entry map[string]any + if err := json.Unmarshal(buf.Bytes(), &entry); err != nil { + t.Fatalf("expected valid JSON, got error: %v, output: %s", err, buf.String()) + } + + // Check that fields exist + if entry["user_id"] != "123" { + t.Errorf("expected user_id=123, got: %v", entry["user_id"]) + } + if entry["status"] != "success" { + t.Errorf("expected status=success, got: %v", entry["status"]) + } + // Password should be redacted + if entry["password"] != RedactedValue { + t.Errorf("expected password to be redacted, got: %v", entry["password"]) + } +} + +func TestRedactingHandlerDisabled(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = false + logger := NewWithWriter(cfg, &buf) + + // With redaction disabled, sensitive values should pass through + logger.Info("test", "password", "visible_password") + + output := buf.String() + if !strings.Contains(output, "visible_password") { + t.Errorf("with redaction disabled, password should be visible, got: %s", output) + } +} + +// TestSecurityCriticalPatterns tests patterns that MUST be redacted +func TestSecurityCriticalPatterns(t *testing.T) { + criticalPatterns := []struct { + name string + value string + }{ + {"AWS access key", "AKIAIOSFODNN7EXAMPLE"}, + {"Private key header", "-----BEGIN RSA PRIVATE KEY-----"}, + {"Bearer token", "Bearer sk-1234567890abcdef"}, + {"Postgres connection", "postgres://admin:secret@db:5432/app"}, + {"MongoDB connection", "mongodb://user:pass@mongo:27017/db"}, + {"Redis connection", "redis://:password@redis:6379"}, + } + + for _, tt := range criticalPatterns { + t.Run(tt.name, func(t *testing.T) { + var buf bytes.Buffer + cfg := DefaultConfig() + cfg.RedactEnabled = true + logger := NewWithWriter(cfg, &buf) + + logger.Info("test", "data", tt.value) + + output := buf.String() + if strings.Contains(output, tt.value) && !strings.Contains(tt.value, RedactedValue) { + t.Errorf("SECURITY: %s should be redacted, but found in output: %s", tt.name, output) + } + }) + } +} diff --git a/internal/service/build_service.go b/internal/service/build_service.go index 258549e..05beb81 100644 --- a/internal/service/build_service.go +++ b/internal/service/build_service.go @@ -4,34 +4,28 @@ package service import ( "context" "fmt" - "log/slog" "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) // BuildService orchestrates build task submission and tracking. // It coordinates between the work queue (execution) and build audit (history). type BuildService struct { - queue port.WorkQueue - audit port.BuildAudit - logger *slog.Logger + queue port.WorkQueue + audit port.BuildAudit } // NewBuildService creates a new build service. func NewBuildService( queue port.WorkQueue, audit port.BuildAudit, - logger *slog.Logger, ) *BuildService { - if logger == nil { - logger = slog.Default() - } return &BuildService{ - queue: queue, - audit: audit, - logger: logger.With("service", "build"), + queue: queue, + audit: audit, } } @@ -85,16 +79,17 @@ func (s *BuildService) StartBuild(ctx context.Context, projectID string, spec do Status: domain.BuildStatusPending, StartedAt: time.Now(), } + log := logging.FromContext(ctx).WithService("build") if err := s.audit.Record(ctx, auditEntry); err != nil { - s.logger.Warn("failed to record audit entry", + log.Warn("failed to record audit entry", "task_id", taskID, - "error", err, + logging.FieldError, err.Error(), ) } - s.logger.Info("build enqueued", + log.Info("build enqueued", "task_id", taskID, - "project_id", projectID, + logging.FieldProjectID, projectID, "template", spec.Template, "auto_push", spec.AutoPush, ) @@ -125,11 +120,83 @@ func (s *BuildService) CompleteBuild(ctx context.Context, taskID string, result return fmt.Errorf("update audit: %w", err) } - s.logger.Info("build completed", + log := logging.FromContext(ctx).WithService("build") + log.Info("build completed", "task_id", taskID, "success", result.Success, - "duration_ms", result.DurationMs, + logging.FieldDuration, result.DurationMs, ) return nil } + +// StartBuildWithSDLCContext enqueues a build task with SDLC context for callback routing. +// The SDLC context is included in the task spec and will be passed through to the callback. +func (s *BuildService) StartBuildWithSDLCContext(ctx context.Context, projectID string, spec domain.BuildSpec, sdlcCtx map[string]any) (string, error) { + if err := spec.Validate(); err != nil { + return "", err + } + + if projectID == "" { + return "", fmt.Errorf("project_id is required") + } + + // Build work task spec from build spec + taskSpec := map[string]any{ + "prompt": spec.Prompt, + "auto_commit": spec.AutoCommit, + "auto_push": spec.AutoPush, + } + if spec.Template != "" { + taskSpec["template"] = spec.Template + } + if len(spec.Variables) > 0 { + taskSpec["variables"] = spec.Variables + } + if spec.GitCloneURL != "" { + taskSpec["git_clone_url"] = spec.GitCloneURL + } + // Add SDLC context for callback routing + if sdlcCtx != nil { + taskSpec["sdlc_context"] = sdlcCtx + } + + // Create work task + task := &domain.WorkTask{ + ProjectID: projectID, + Type: domain.WorkTaskTypeBuild, + Spec: taskSpec, + CallbackURL: spec.CallbackURL, + MaxRetries: 3, + } + + // Enqueue to work queue + taskID, err := s.queue.Enqueue(ctx, task) + if err != nil { + return "", fmt.Errorf("enqueue build task: %w", err) + } + + // Create audit entry (non-critical - don't fail the build if audit fails) + auditEntry := &domain.BuildAuditEntry{ + TaskID: taskID, + ProjectID: projectID, + Spec: spec, + Status: domain.BuildStatusPending, + StartedAt: time.Now(), + } + log := logging.FromContext(ctx).WithService("build") + if err := s.audit.Record(ctx, auditEntry); err != nil { + log.Warn("failed to record audit entry", + "task_id", taskID, + logging.FieldError, err.Error(), + ) + } + + log.Info("build enqueued with SDLC context", + "task_id", taskID, + logging.FieldProjectID, projectID, + "sdlc_context", sdlcCtx, + ) + + return taskID, nil +} diff --git a/internal/service/build_service_test.go b/internal/service/build_service_test.go index a14a513..cae137a 100644 --- a/internal/service/build_service_test.go +++ b/internal/service/build_service_test.go @@ -14,7 +14,7 @@ func TestBuildService_StartBuild(t *testing.T) { t.Run("enqueues build successfully", func(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - svc := NewBuildService(queue, audit, nil) + svc := NewBuildService(queue, audit) taskID, err := svc.StartBuild(ctx, "project-1", domain.BuildSpec{ Prompt: "Build a landing page", @@ -48,7 +48,7 @@ func TestBuildService_StartBuild(t *testing.T) { t.Run("validates prompt required", func(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - svc := NewBuildService(queue, audit, nil) + svc := NewBuildService(queue, audit) _, err := svc.StartBuild(ctx, "project-1", domain.BuildSpec{}) if err == nil { @@ -59,7 +59,7 @@ func TestBuildService_StartBuild(t *testing.T) { t.Run("validates project ID required", func(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - svc := NewBuildService(queue, audit, nil) + svc := NewBuildService(queue, audit) _, err := svc.StartBuild(ctx, "", domain.BuildSpec{Prompt: "Build"}) if err == nil { @@ -70,7 +70,7 @@ func TestBuildService_StartBuild(t *testing.T) { t.Run("includes variables in spec", func(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() - svc := NewBuildService(queue, audit, nil) + svc := NewBuildService(queue, audit) taskID, err := svc.StartBuild(ctx, "project-1", domain.BuildSpec{ Prompt: "Build", @@ -97,7 +97,7 @@ func TestBuildService_StartBuild(t *testing.T) { queue := newMockWorkQueue() audit := newMockBuildAudit() audit.err = fmt.Errorf("db connection failed") - svc := NewBuildService(queue, audit, nil) + svc := NewBuildService(queue, audit) taskID, err := svc.StartBuild(ctx, "project-1", domain.BuildSpec{ Prompt: "Build", @@ -121,7 +121,7 @@ func TestBuildService_GetBuildStatus(t *testing.T) { ProjectID: "project-1", Status: domain.BuildStatusRunning, } - svc := NewBuildService(newMockWorkQueue(), audit, nil) + svc := NewBuildService(newMockWorkQueue(), audit) entry, err := svc.GetBuildStatus(ctx, "task-1") if err != nil { @@ -134,7 +134,7 @@ func TestBuildService_GetBuildStatus(t *testing.T) { t.Run("returns error for nonexistent entry", func(t *testing.T) { audit := newMockBuildAudit() - svc := NewBuildService(newMockWorkQueue(), audit, nil) + svc := NewBuildService(newMockWorkQueue(), audit) _, err := svc.GetBuildStatus(ctx, "nonexistent") if err == nil { @@ -157,7 +157,7 @@ func TestBuildService_ListBuilds(t *testing.T) { TaskID: "task-3", ProjectID: "project-b", Status: domain.BuildStatusPending, } - svc := NewBuildService(newMockWorkQueue(), audit, nil) + svc := NewBuildService(newMockWorkQueue(), audit) t.Run("lists builds for project", func(t *testing.T) { entries, err := svc.ListBuilds(ctx, "project-a", 50) @@ -190,7 +190,7 @@ func TestBuildService_CompleteBuild(t *testing.T) { ProjectID: "project-1", Status: domain.BuildStatusRunning, } - svc := NewBuildService(newMockWorkQueue(), audit, nil) + svc := NewBuildService(newMockWorkQueue(), audit) err := svc.CompleteBuild(ctx, "task-1", &domain.BuildResult{ Success: true, diff --git a/internal/service/component.go b/internal/service/component.go index 41d4fb6..4399d99 100644 --- a/internal/service/component.go +++ b/internal/service/component.go @@ -6,7 +6,6 @@ import ( "database/sql" "encoding/base64" "fmt" - "log/slog" "path/filepath" "regexp" "strconv" @@ -14,6 +13,7 @@ import ( giteaadapter "github.com/orchard9/rdev/internal/adapter/gitea" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) @@ -40,14 +40,17 @@ type ComponentService struct { deployer port.Deployer defaultGitOwner string registryURL string - logger *slog.Logger + + // Infrastructure provisioners (optional - needed for postgres/redis components) + dbProvisioner port.DatabaseProvisioner + cacheProvisioner port.CacheProvisioner + credentialStore port.CredentialStore } // ComponentServiceConfig configures the component service. type ComponentServiceConfig struct { DefaultGitOwner string // e.g., "threesix" RegistryURL string // e.g., "registry.threesix.ai" - Logger *slog.Logger } // NewComponentService creates a new component service. @@ -58,10 +61,6 @@ func NewComponentService( deployer port.Deployer, cfg ComponentServiceConfig, ) *ComponentService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } return &ComponentService{ db: db, templateProvider: templateProvider, @@ -69,14 +68,33 @@ func NewComponentService( deployer: deployer, defaultGitOwner: cfg.DefaultGitOwner, registryURL: cfg.RegistryURL, - logger: logger, } } // Ensure ComponentService implements the interface. var _ port.ComponentService = (*ComponentService)(nil) +// WithDatabaseProvisioner adds a database provisioner for postgres component support. +func (s *ComponentService) WithDatabaseProvisioner(p port.DatabaseProvisioner) *ComponentService { + s.dbProvisioner = p + return s +} + +// WithCacheProvisioner adds a cache provisioner for redis component support. +func (s *ComponentService) WithCacheProvisioner(p port.CacheProvisioner) *ComponentService { + s.cacheProvisioner = p + return s +} + +// WithCredentialStore adds a credential store for storing provisioned credentials. +func (s *ComponentService) WithCredentialStore(cs port.CredentialStore) *ComponentService { + s.credentialStore = cs + return s +} + // AddComponent adds a new component to a project's monorepo. +// For code components (service, worker, app-*, cli), this scaffolds template files. +// For infrastructure components (postgres, redis), this provisions the resource. func (s *ComponentService) AddComponent(ctx context.Context, projectID string, req port.AddComponentRequest) (*domain.Component, error) { // 1. Validate component type if !domain.IsValidComponentType(req.Type) { @@ -89,7 +107,14 @@ func (s *ComponentService) AddComponent(ctx context.Context, projectID string, r return nil, fmt.Errorf("%w: %s", err, req.Name) } - // 3. Get project info from database + // 3. Route infrastructure components to provisioning + if componentType.IsInfraComponent() { + return s.addInfraComponent(ctx, projectID, componentType, req.Name) + } + + // --- Code component flow (service, worker, app-*, cli) --- + + // 4. Get project info from database var gitRepoOwner, gitRepoName, goModule string var projectDomain string err := s.db.QueryRowContext(ctx, ` @@ -178,8 +203,9 @@ func (s *ComponentService) AddComponent(ctx context.Context, projectID string, r return nil, fmt.Errorf("failed to commit component files: %w", err) } - s.logger.Info("component added successfully", - "project", projectID, + log := logging.FromContext(ctx).WithService("component") + log.Info("component added successfully", + logging.FieldProjectID, projectID, "component_type", req.Type, "component_name", req.Name, "path", componentPath, @@ -255,7 +281,8 @@ func (s *ComponentService) prepareMonorepoUpdates( // Get the CI step template for this component type stepYaml, err := s.templateProvider.GetComponentWoodpeckerStep(ctx, string(componentType), vars) if err != nil { - s.logger.Warn("failed to get woodpecker step template", "error", err) + log := logging.FromContext(ctx).WithService("component") + log.Warn("failed to get woodpecker step template", logging.FieldError, err) } else { updated := s.updateWoodpeckerYml(string(woodpeckerContent), stepYaml) fileOps = append(fileOps, giteaadapter.ChangeFileOperation{ @@ -284,202 +311,3 @@ func (s *ComponentService) prepareMonorepoUpdates( return fileOps, nil } - -// ListComponents lists all components in a project's monorepo. -func (s *ComponentService) ListComponents(ctx context.Context, projectID string) ([]domain.Component, error) { - // Get project info from database - var gitRepoOwner, gitRepoName string - err := s.db.QueryRowContext(ctx, ` - SELECT COALESCE(git_repo_owner, $2), COALESCE(git_repo_name, $1) - FROM projects WHERE id = $1 - `, projectID, s.defaultGitOwner).Scan(&gitRepoOwner, &gitRepoName) - if err == sql.ErrNoRows { - return nil, fmt.Errorf("%w: %s", domain.ErrProjectNotFound, projectID) - } - if err != nil { - return nil, fmt.Errorf("failed to get project: %w", err) - } - - // Read Procfile once (not inside the loop) - procfileContent, _, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "Procfile") - if err != nil { - s.logger.Warn("failed to read Procfile", "error", err) - return []domain.Component{}, nil - } - if procfileContent == nil { - return []domain.Component{}, nil - } - - var components []domain.Component - procfileStr := string(procfileContent) - - // Check each component type's directory - for _, ct := range domain.ValidComponentTypes { - destDir := ct.DestDir() - if destDir == "" { - continue - } - - // Parse Procfile to extract component info for this type - comps := s.parseComponentsFromProcfile(procfileStr, ct) - components = append(components, comps...) - } - - return components, nil -} - -// parseComponentsFromProcfile extracts component information from a Procfile. -// Ports are assigned incrementally based on discovery order within each component type. -func (s *ComponentService) parseComponentsFromProcfile(procfile string, componentType domain.ComponentType) []domain.Component { - var components []domain.Component - - // Use pre-compiled pattern from package-level map - pattern, ok := procfilePatterns[componentType] - if !ok { - return components - } - - startingPort := componentType.StartingPort() - portOffset := 0 - - for _, line := range strings.Split(procfile, "\n") { - matches := pattern.FindStringSubmatch(strings.TrimSpace(line)) - if len(matches) >= 3 { - name := matches[1] - path := matches[2] - - // Assign ports incrementally based on discovery order - port := 0 - if componentType.NeedsPort() { - port = startingPort + portOffset - portOffset++ - } - - components = append(components, domain.Component{ - Type: componentType, - Name: name, - Path: path, - Port: port, - Template: string(componentType), - Dependencies: []string{}, - }) - } - } - - return components -} - -// RemoveComponent removes a component from a project's monorepo. -func (s *ComponentService) RemoveComponent(ctx context.Context, projectID string, componentPath string) error { - // Get project info from database - var gitRepoOwner, gitRepoName string - err := s.db.QueryRowContext(ctx, ` - SELECT COALESCE(git_repo_owner, $2), COALESCE(git_repo_name, $1) - FROM projects WHERE id = $1 - `, projectID, s.defaultGitOwner).Scan(&gitRepoOwner, &gitRepoName) - if err == sql.ErrNoRows { - return fmt.Errorf("%w: %s", domain.ErrProjectNotFound, projectID) - } - if err != nil { - return fmt.Errorf("failed to get project: %w", err) - } - - // Verify component exists by checking for a file in the path - checkFile := componentPath + "/go.mod" - content, _, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, checkFile) - if err != nil { - return fmt.Errorf("failed to check component: %w", err) - } - if content == nil { - // Try package.json for frontend apps - checkFile = componentPath + "/package.json" - content, _, err = s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, checkFile) - if err != nil { - return fmt.Errorf("failed to check component: %w", err) - } - if content == nil { - return fmt.Errorf("%w: %s", domain.ErrComponentNotFound, componentPath) - } - } - - // Extract component name from path - componentName := filepath.Base(componentPath) - - // Determine component type from path - var componentType domain.ComponentType - switch { - case strings.HasPrefix(componentPath, "services/"): - componentType = domain.ComponentTypeService - case strings.HasPrefix(componentPath, "workers/"): - componentType = domain.ComponentTypeWorker - case strings.HasPrefix(componentPath, "apps/"): - // Could be astro or react - check package.json later - componentType = domain.ComponentTypeAppAstro - case strings.HasPrefix(componentPath, "cli/"): - componentType = domain.ComponentTypeCLI - default: - return fmt.Errorf("unknown component path structure: %s", componentPath) - } - - // For now, we'll update the monorepo files to remove references - // Actual file deletion would require listing all files in the directory - // which the Gitea API doesn't support easily - - var fileOps []giteaadapter.ChangeFileOperation - - // 1. Update Procfile - remove the component entry - procfileContent, procfileSHA, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "Procfile") - if err != nil { - return fmt.Errorf("failed to get Procfile: %w", err) - } - if procfileContent != nil { - updated := s.removeProcfileEntry(string(procfileContent), componentName) - fileOps = append(fileOps, giteaadapter.ChangeFileOperation{ - Operation: "update", - Path: "Procfile", - Content: base64.StdEncoding.EncodeToString([]byte(updated)), - SHA: procfileSHA, - }) - } - - // 2. Update go.work if Go component - if componentType.IsGoComponent() { - goWorkContent, goWorkSHA, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "go.work") - if err != nil { - return fmt.Errorf("failed to get go.work: %w", err) - } - if goWorkContent != nil { - updated := s.removeGoWorkEntry(string(goWorkContent), componentPath) - fileOps = append(fileOps, giteaadapter.ChangeFileOperation{ - Operation: "update", - Path: "go.work", - Content: base64.StdEncoding.EncodeToString([]byte(updated)), - SHA: goWorkSHA, - }) - } - } - - // Note: Removing from .woodpecker.yml and CLAUDE.md is more complex - // because we'd need to parse YAML and markdown tables properly. - // For now, we'll leave those as manual cleanup tasks. - - if len(fileOps) > 0 { - opts := giteaadapter.ChangeFilesOptions{ - Files: fileOps, - Message: fmt.Sprintf("Remove component references: %s", componentName), - } - - _, err = s.bulkClient.ChangeFiles(ctx, gitRepoOwner, gitRepoName, opts) - if err != nil { - return fmt.Errorf("failed to commit changes: %w", err) - } - } - - s.logger.Info("component removed", - "project", projectID, - "path", componentPath, - "note", "Component files remain in repo - delete manually if needed", - ) - - return nil -} diff --git a/internal/service/component_deploy.go b/internal/service/component_deploy.go index 1eb1669..c274005 100644 --- a/internal/service/component_deploy.go +++ b/internal/service/component_deploy.go @@ -3,8 +3,10 @@ package service import ( "context" "fmt" + "strings" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" ) // createInitialComponentDeployment creates a K8s Deployment for a newly added component. @@ -27,22 +29,28 @@ func (s *ComponentService) createInitialComponentDeployment( // Assign URL path based on component type basePath := assignComponentPath(component) + // Build sibling service URLs for service discovery + siblingServices := s.buildSiblingServiceURLs(ctx, projectID, component.Name) + spec := domain.DeploySpec{ - ProjectName: projectID, - ComponentPath: component.Path, - Image: image, - Domain: projectDomain, - Port: component.Port, - Replicas: 1, - BasePath: basePath, + ProjectName: projectID, + ComponentPath: component.Path, + Image: image, + Domain: projectDomain, + Port: component.Port, + Replicas: 1, + BasePath: basePath, + SiblingServices: siblingServices, } + log := logging.FromContext(ctx).WithService("component") + // Create Deployment and Service (without Ingress - we manage that separately) if err := s.deployer.Deploy(ctx, spec); err != nil { - s.logger.Warn("failed to create initial component deployment", - "project", projectID, + log.Warn("failed to create initial component deployment", + logging.FieldProjectID, projectID, "component", component.Name, - "error", err, + logging.FieldError, err, ) return } @@ -50,17 +58,17 @@ func (s *ComponentService) createInitialComponentDeployment( // Add path to project's unified Ingress serviceName := spec.DeploymentName() if err := s.deployer.AddIngressPath(ctx, projectID, projectDomain, basePath, serviceName, component.Port); err != nil { - s.logger.Warn("failed to add ingress path for component", - "project", projectID, + log.Warn("failed to add ingress path for component", + logging.FieldProjectID, projectID, "component", component.Name, "path", basePath, - "error", err, + logging.FieldError, err, ) // Continue anyway - the deployment/service exist and CI will work } - s.logger.Info("created initial component deployment", - "project", projectID, + log.Info("created initial component deployment", + logging.FieldProjectID, projectID, "component", component.Name, "image", image, "path", basePath, @@ -107,3 +115,40 @@ func (s *ComponentService) assignPort(ctx context.Context, projectID string, com return maxPort + 1, nil } + +// buildSiblingServiceURLs constructs service discovery URLs for all sibling services. +// Returns a map of env var names to internal K8s service URLs. +// Example: {"AUTH_SVC_URL": "http://myproject-auth-svc:8001", "CHAT_SVC_URL": "http://myproject-chat-svc:8002"} +func (s *ComponentService) buildSiblingServiceURLs(ctx context.Context, projectID, currentComponent string) map[string]string { + components, err := s.ListComponents(ctx, projectID) + if err != nil { + log := logging.FromContext(ctx).WithService("component") + log.Warn("failed to list components for sibling discovery", + logging.FieldProjectID, projectID, + logging.FieldError, err, + ) + return nil + } + + urls := make(map[string]string) + for _, c := range components { + // Skip the current component, non-service types, and components without ports + if c.Name == currentComponent || c.Type != domain.ComponentTypeService || c.Port == 0 { + continue + } + + // Build env var name: auth-svc -> AUTH_SVC_URL + envKey := toUpperSnake(c.Name) + "_URL" + // Build internal K8s service URL: http://projectid-componentname:port + serviceName := projectID + "-" + c.Name + urls[envKey] = fmt.Sprintf("http://%s:%d", serviceName, c.Port) + } + + return urls +} + +// toUpperSnake converts a kebab-case string to UPPER_SNAKE_CASE. +// Example: "auth-svc" -> "AUTH_SVC" +func toUpperSnake(s string) string { + return strings.ToUpper(strings.ReplaceAll(s, "-", "_")) +} diff --git a/internal/service/component_infra.go b/internal/service/component_infra.go new file mode 100644 index 0000000..4448f73 --- /dev/null +++ b/internal/service/component_infra.go @@ -0,0 +1,141 @@ +package service + +import ( + "context" + "fmt" + + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" +) + +// addInfraComponent provisions an infrastructure component (postgres, redis). +// Unlike code components, these don't scaffold files - they provision resources. +func (s *ComponentService) addInfraComponent(ctx context.Context, projectID string, componentType domain.ComponentType, name string) (*domain.Component, error) { + switch componentType { + case domain.ComponentTypePostgres: + return s.provisionPostgres(ctx, projectID, name) + case domain.ComponentTypeRedis: + return s.provisionRedis(ctx, projectID, name) + default: + return nil, fmt.Errorf("%w: unknown infrastructure type %s", domain.ErrInvalidComponentType, componentType) + } +} + +// provisionPostgres provisions a PostgreSQL/CockroachDB database for the project. +func (s *ComponentService) provisionPostgres(ctx context.Context, projectID, name string) (*domain.Component, error) { + if s.dbProvisioner == nil { + return nil, fmt.Errorf("database provisioner not configured") + } + + // Check if database already exists for this project + existing, err := s.dbProvisioner.GetProjectDatabase(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("failed to check existing database: %w", err) + } + if existing != nil { + return nil, fmt.Errorf("%w: postgres already provisioned for project %s", domain.ErrDuplicateComponent, projectID) + } + + // Provision the database + creds, err := s.dbProvisioner.CreateProjectDatabase(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("failed to provision database: %w", err) + } + + // Store credentials if credential store is available + log := logging.FromContext(ctx).WithService("component") + if s.credentialStore != nil { + if err := s.storeCredential(ctx, projectID, "database", "DATABASE_URL", creds.URL); err != nil { + // Rollback on credential storage failure + log.Error("failed to store DATABASE_URL, rolling back", logging.FieldError, err) + if rollbackErr := s.dbProvisioner.DeleteProjectDatabase(ctx, projectID); rollbackErr != nil { + log.Error("failed to rollback database", logging.FieldError, rollbackErr) + } + return nil, fmt.Errorf("failed to store credentials: %w", err) + } + if err := s.storeCredential(ctx, projectID, "database", "DATABASE_URL_STAGING", creds.URLStaging); err != nil { + log.Warn("failed to store DATABASE_URL_STAGING", logging.FieldError, err) + } + } + + log.Info("postgres component provisioned", + logging.FieldProjectID, projectID, + "name", name, + "database", creds.DatabaseName, + ) + + return &domain.Component{ + Type: domain.ComponentTypePostgres, + Name: name, + Path: "infra/postgres", + Port: creds.Port, + Template: "postgres", + Dependencies: []string{}, + }, nil +} + +// provisionRedis provisions a Redis cache for the project. +func (s *ComponentService) provisionRedis(ctx context.Context, projectID, name string) (*domain.Component, error) { + if s.cacheProvisioner == nil { + return nil, fmt.Errorf("cache provisioner not configured") + } + + // Check if cache already exists for this project + existing, err := s.cacheProvisioner.GetProjectCache(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("failed to check existing cache: %w", err) + } + if existing != nil { + return nil, fmt.Errorf("%w: redis already provisioned for project %s", domain.ErrDuplicateComponent, projectID) + } + + // Provision the cache + creds, err := s.cacheProvisioner.CreateProjectCache(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("failed to provision cache: %w", err) + } + + // Store credentials if credential store is available + log := logging.FromContext(ctx).WithService("component") + if s.credentialStore != nil { + if err := s.storeCredential(ctx, projectID, "cache", "REDIS_URL", creds.URL); err != nil { + // Rollback on credential storage failure + log.Error("failed to store REDIS_URL, rolling back", logging.FieldError, err) + if rollbackErr := s.cacheProvisioner.DeleteProjectCache(ctx, projectID, false); rollbackErr != nil { + log.Error("failed to rollback cache", logging.FieldError, rollbackErr) + } + return nil, fmt.Errorf("failed to store credentials: %w", err) + } + if err := s.storeCredential(ctx, projectID, "cache", "REDIS_URL_STAGING", creds.URLStaging); err != nil { + log.Warn("failed to store REDIS_URL_STAGING", logging.FieldError, err) + } + if err := s.storeCredential(ctx, projectID, "cache", "REDIS_PREFIX", creds.Prefix); err != nil { + log.Warn("failed to store REDIS_PREFIX", logging.FieldError, err) + } + } + + log.Info("redis component provisioned", + logging.FieldProjectID, projectID, + "name", name, + "prefix", creds.Prefix, + ) + + return &domain.Component{ + Type: domain.ComponentTypeRedis, + Name: name, + Path: "infra/redis", + Port: creds.Port, + Template: "redis", + Dependencies: []string{}, + }, nil +} + +// storeCredential stores a project-scoped credential. +func (s *ComponentService) storeCredential(ctx context.Context, projectID, category, key, value string) error { + scopedKey := projectID + ":" + key + return s.credentialStore.Set(ctx, domain.Credential{ + Key: scopedKey, + Value: value, + Category: category, + }) +} diff --git a/internal/service/component_listing.go b/internal/service/component_listing.go new file mode 100644 index 0000000..378a0ea --- /dev/null +++ b/internal/service/component_listing.go @@ -0,0 +1,215 @@ +package service + +import ( + "context" + "database/sql" + "encoding/base64" + "fmt" + "path/filepath" + "strings" + + giteaadapter "github.com/orchard9/rdev/internal/adapter/gitea" + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" +) + +// ListComponents lists all components in a project's monorepo. +func (s *ComponentService) ListComponents(ctx context.Context, projectID string) ([]domain.Component, error) { + // Get project info from database + var gitRepoOwner, gitRepoName string + err := s.db.QueryRowContext(ctx, ` + SELECT COALESCE(git_repo_owner, $2), COALESCE(git_repo_name, $1) + FROM projects WHERE id = $1 + `, projectID, s.defaultGitOwner).Scan(&gitRepoOwner, &gitRepoName) + if err == sql.ErrNoRows { + return nil, fmt.Errorf("%w: %s", domain.ErrProjectNotFound, projectID) + } + if err != nil { + return nil, fmt.Errorf("failed to get project: %w", err) + } + + // Read Procfile once (not inside the loop) + procfileContent, _, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "Procfile") + if err != nil { + log := logging.FromContext(ctx).WithService("component") + log.Warn("failed to read Procfile", logging.FieldError, err) + return []domain.Component{}, nil + } + if procfileContent == nil { + return []domain.Component{}, nil + } + + var components []domain.Component + procfileStr := string(procfileContent) + + // Check each component type's directory + for _, ct := range domain.ValidComponentTypes { + destDir := ct.DestDir() + if destDir == "" { + continue + } + + // Parse Procfile to extract component info for this type + comps := s.parseComponentsFromProcfile(procfileStr, ct) + components = append(components, comps...) + } + + return components, nil +} + +// parseComponentsFromProcfile extracts component information from a Procfile. +// Ports are assigned incrementally based on discovery order within each component type. +func (s *ComponentService) parseComponentsFromProcfile(procfile string, componentType domain.ComponentType) []domain.Component { + var components []domain.Component + + // Use pre-compiled pattern from package-level map + pattern, ok := procfilePatterns[componentType] + if !ok { + return components + } + + startingPort := componentType.StartingPort() + portOffset := 0 + + for _, line := range strings.Split(procfile, "\n") { + matches := pattern.FindStringSubmatch(strings.TrimSpace(line)) + if len(matches) >= 3 { + name := matches[1] + path := matches[2] + + // Assign ports incrementally based on discovery order + port := 0 + if componentType.NeedsPort() { + port = startingPort + portOffset + portOffset++ + } + + components = append(components, domain.Component{ + Type: componentType, + Name: name, + Path: path, + Port: port, + Template: string(componentType), + Dependencies: []string{}, + }) + } + } + + return components +} + +// RemoveComponent removes a component from a project's monorepo. +func (s *ComponentService) RemoveComponent(ctx context.Context, projectID string, componentPath string) error { + // Get project info from database + var gitRepoOwner, gitRepoName string + err := s.db.QueryRowContext(ctx, ` + SELECT COALESCE(git_repo_owner, $2), COALESCE(git_repo_name, $1) + FROM projects WHERE id = $1 + `, projectID, s.defaultGitOwner).Scan(&gitRepoOwner, &gitRepoName) + if err == sql.ErrNoRows { + return fmt.Errorf("%w: %s", domain.ErrProjectNotFound, projectID) + } + if err != nil { + return fmt.Errorf("failed to get project: %w", err) + } + + // Verify component exists by checking for a file in the path + checkFile := componentPath + "/go.mod" + content, _, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, checkFile) + if err != nil { + return fmt.Errorf("failed to check component: %w", err) + } + if content == nil { + // Try package.json for frontend apps + checkFile = componentPath + "/package.json" + content, _, err = s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, checkFile) + if err != nil { + return fmt.Errorf("failed to check component: %w", err) + } + if content == nil { + return fmt.Errorf("%w: %s", domain.ErrComponentNotFound, componentPath) + } + } + + // Extract component name from path + componentName := filepath.Base(componentPath) + + // Determine component type from path + var componentType domain.ComponentType + switch { + case strings.HasPrefix(componentPath, "services/"): + componentType = domain.ComponentTypeService + case strings.HasPrefix(componentPath, "workers/"): + componentType = domain.ComponentTypeWorker + case strings.HasPrefix(componentPath, "apps/"): + // Could be astro or react - check package.json later + componentType = domain.ComponentTypeAppAstro + case strings.HasPrefix(componentPath, "cli/"): + componentType = domain.ComponentTypeCLI + default: + return fmt.Errorf("unknown component path structure: %s", componentPath) + } + + // For now, we'll update the monorepo files to remove references + // Actual file deletion would require listing all files in the directory + // which the Gitea API doesn't support easily + + var fileOps []giteaadapter.ChangeFileOperation + + // 1. Update Procfile - remove the component entry + procfileContent, procfileSHA, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "Procfile") + if err != nil { + return fmt.Errorf("failed to get Procfile: %w", err) + } + if procfileContent != nil { + updated := s.removeProcfileEntry(string(procfileContent), componentName) + fileOps = append(fileOps, giteaadapter.ChangeFileOperation{ + Operation: "update", + Path: "Procfile", + Content: base64.StdEncoding.EncodeToString([]byte(updated)), + SHA: procfileSHA, + }) + } + + // 2. Update go.work if Go component + if componentType.IsGoComponent() { + goWorkContent, goWorkSHA, err := s.bulkClient.GetFileContent(ctx, gitRepoOwner, gitRepoName, "go.work") + if err != nil { + return fmt.Errorf("failed to get go.work: %w", err) + } + if goWorkContent != nil { + updated := s.removeGoWorkEntry(string(goWorkContent), componentPath) + fileOps = append(fileOps, giteaadapter.ChangeFileOperation{ + Operation: "update", + Path: "go.work", + Content: base64.StdEncoding.EncodeToString([]byte(updated)), + SHA: goWorkSHA, + }) + } + } + + // Note: Removing from .woodpecker.yml and CLAUDE.md is more complex + // because we'd need to parse YAML and markdown tables properly. + // For now, we'll leave those as manual cleanup tasks. + + if len(fileOps) > 0 { + opts := giteaadapter.ChangeFilesOptions{ + Files: fileOps, + Message: fmt.Sprintf("Remove component references: %s", componentName), + } + + _, err = s.bulkClient.ChangeFiles(ctx, gitRepoOwner, gitRepoName, opts) + if err != nil { + return fmt.Errorf("failed to commit changes: %w", err) + } + } + + log := logging.FromContext(ctx).WithService("component") + log.Info("component removed", + logging.FieldProjectID, projectID, + "path", componentPath, + "note", "Component files remain in repo - delete manually if needed", + ) + + return nil +} diff --git a/internal/service/component_test.go b/internal/service/component_test.go index 3640624..d5712cc 100644 --- a/internal/service/component_test.go +++ b/internal/service/component_test.go @@ -1,9 +1,15 @@ package service import ( + "context" + "errors" + "log/slog" + "os" "testing" + "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/port" ) func TestAssignComponentPath(t *testing.T) { @@ -68,6 +74,22 @@ func TestAssignComponentPath(t *testing.T) { }, expectedPath: "", }, + { + name: "postgres gets empty path (infrastructure)", + component: &domain.Component{ + Type: domain.ComponentTypePostgres, + Name: "main-db", + }, + expectedPath: "", + }, + { + name: "redis gets empty path (infrastructure)", + component: &domain.Component{ + Type: domain.ComponentTypeRedis, + Name: "cache", + }, + expectedPath: "", + }, } for _, tc := range tests { @@ -80,3 +102,693 @@ func TestAssignComponentPath(t *testing.T) { }) } } + +// --- Mock implementations for infrastructure component tests --- + +type mockDatabaseProvisioner struct { + createCalled bool + deleteCalled bool + getCalled bool + existingDB *domain.DatabaseCredentials + createError error + deleteError error + getError error + createdCredentials *domain.DatabaseCredentials +} + +func (m *mockDatabaseProvisioner) CreateProjectDatabase(ctx context.Context, projectID string) (*domain.DatabaseCredentials, error) { + m.createCalled = true + if m.createError != nil { + return nil, m.createError + } + creds := &domain.DatabaseCredentials{ + ProjectID: projectID, + DatabaseName: "project_" + projectID, + Username: "project_" + projectID, + Password: "testpassword", + Host: "localhost", + Port: 26257, + SSLMode: "disable", + URL: "postgres://project_" + projectID + ":testpassword@localhost:26257/project_" + projectID + "?sslmode=disable", + URLStaging: "postgres://project_" + projectID + ":testpassword@localhost:26257/project_" + projectID + "?sslmode=disable", + CreatedAt: time.Now(), + } + m.createdCredentials = creds + return creds, nil +} + +func (m *mockDatabaseProvisioner) DeleteProjectDatabase(ctx context.Context, projectID string) error { + m.deleteCalled = true + return m.deleteError +} + +func (m *mockDatabaseProvisioner) GetProjectDatabase(ctx context.Context, projectID string) (*domain.DatabaseCredentials, error) { + m.getCalled = true + if m.getError != nil { + return nil, m.getError + } + return m.existingDB, nil +} + +func (m *mockDatabaseProvisioner) TestConnection(ctx context.Context) error { + return nil +} + +type mockCacheProvisioner struct { + createCalled bool + deleteCalled bool + getCalled bool + existingCache *domain.CacheCredentials + createError error + deleteError error + getError error + createdCredentials *domain.CacheCredentials +} + +func (m *mockCacheProvisioner) CreateProjectCache(ctx context.Context, projectID string) (*domain.CacheCredentials, error) { + m.createCalled = true + if m.createError != nil { + return nil, m.createError + } + creds := &domain.CacheCredentials{ + ProjectID: projectID, + URL: "redis://proj-" + projectID + ":testpassword@localhost:6379", + URLStaging: "redis://proj-" + projectID + ":testpassword@localhost:6379", + Prefix: "project:" + projectID + ":", + Username: "proj-" + projectID, + Host: "localhost", + Port: 6379, + CreatedAt: time.Now(), + } + m.createdCredentials = creds + return creds, nil +} + +func (m *mockCacheProvisioner) DeleteProjectCache(ctx context.Context, projectID string, purgeKeys bool) error { + m.deleteCalled = true + return m.deleteError +} + +func (m *mockCacheProvisioner) GetProjectCache(ctx context.Context, projectID string) (*domain.CacheCredentials, error) { + m.getCalled = true + if m.getError != nil { + return nil, m.getError + } + return m.existingCache, nil +} + +func (m *mockCacheProvisioner) TestConnection(ctx context.Context) error { + return nil +} + +type mockCredentialStore struct { + stored map[string]string + setError error +} + +func newMockCredentialStore() *mockCredentialStore { + return &mockCredentialStore{stored: make(map[string]string)} +} + +func (m *mockCredentialStore) Get(ctx context.Context, key string) (string, error) { + return m.stored[key], nil +} + +func (m *mockCredentialStore) GetRequired(ctx context.Context, key string) (string, error) { + v, ok := m.stored[key] + if !ok { + return "", domain.ErrCredentialNotFound + } + return v, nil +} + +func (m *mockCredentialStore) Set(ctx context.Context, cred domain.Credential) error { + if m.setError != nil { + return m.setError + } + m.stored[cred.Key] = cred.Value + return nil +} + +func (m *mockCredentialStore) Delete(ctx context.Context, key string) error { + delete(m.stored, key) + return nil +} + +func (m *mockCredentialStore) List(ctx context.Context) ([]domain.Credential, error) { + return nil, nil +} + +func (m *mockCredentialStore) ListByCategory(ctx context.Context, category string) ([]domain.Credential, error) { + return nil, nil +} + +func (m *mockCredentialStore) GetMultiple(ctx context.Context, keys []string) (map[string]string, error) { + result := make(map[string]string) + for _, k := range keys { + if v, ok := m.stored[k]; ok { + result[k] = v + } + } + return result, nil +} + +func (m *mockCredentialStore) SetMultiple(ctx context.Context, creds []domain.Credential) error { + for _, c := range creds { + if err := m.Set(ctx, c); err != nil { + return err + } + } + return nil +} + +// --- Infrastructure component provisioning tests --- + +func TestProvisionPostgres(t *testing.T) { + tests := []struct { + name string + projectID string + componentName string + dbProvisioner *mockDatabaseProvisioner + credStore *mockCredentialStore + wantErr bool + wantErrContains string + }{ + { + name: "successful postgres provisioning", + projectID: "test-project", + componentName: "main-db", + dbProvisioner: &mockDatabaseProvisioner{}, + credStore: newMockCredentialStore(), + wantErr: false, + }, + { + name: "postgres already exists", + projectID: "test-project", + componentName: "main-db", + dbProvisioner: &mockDatabaseProvisioner{ + existingDB: &domain.DatabaseCredentials{ProjectID: "test-project"}, + }, + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "already provisioned", + }, + { + name: "provisioning fails", + projectID: "test-project", + componentName: "main-db", + dbProvisioner: &mockDatabaseProvisioner{ + createError: errors.New("cockroachdb connection failed"), + }, + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "failed to provision database", + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + svc := &ComponentService{ + dbProvisioner: tc.dbProvisioner, + credentialStore: tc.credStore, + } + + ctx := context.Background() + component, err := svc.provisionPostgres(ctx, tc.projectID, tc.componentName) + + if tc.wantErr { + if err == nil { + t.Errorf("expected error containing %q, got nil", tc.wantErrContains) + return + } + if tc.wantErrContains != "" && !contains(err.Error(), tc.wantErrContains) { + t.Errorf("error %q does not contain %q", err.Error(), tc.wantErrContains) + } + return + } + + if err != nil { + t.Errorf("unexpected error: %v", err) + return + } + + if component.Type != domain.ComponentTypePostgres { + t.Errorf("component type = %v, want %v", component.Type, domain.ComponentTypePostgres) + } + if component.Name != tc.componentName { + t.Errorf("component name = %q, want %q", component.Name, tc.componentName) + } + + // Verify credentials were stored + if tc.credStore != nil { + key := tc.projectID + ":DATABASE_URL" + if _, ok := tc.credStore.stored[key]; !ok { + t.Errorf("DATABASE_URL not stored in credential store") + } + } + }) + } +} + +func TestProvisionRedis(t *testing.T) { + tests := []struct { + name string + projectID string + componentName string + cacheProvisioner *mockCacheProvisioner + credStore *mockCredentialStore + wantErr bool + wantErrContains string + }{ + { + name: "successful redis provisioning", + projectID: "test-project", + componentName: "cache", + cacheProvisioner: &mockCacheProvisioner{}, + credStore: newMockCredentialStore(), + wantErr: false, + }, + { + name: "redis already exists", + projectID: "test-project", + componentName: "cache", + cacheProvisioner: &mockCacheProvisioner{ + existingCache: &domain.CacheCredentials{ProjectID: "test-project"}, + }, + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "already provisioned", + }, + { + name: "provisioning fails", + projectID: "test-project", + componentName: "cache", + cacheProvisioner: &mockCacheProvisioner{ + createError: errors.New("redis connection failed"), + }, + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "failed to provision cache", + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + svc := &ComponentService{ + cacheProvisioner: tc.cacheProvisioner, + credentialStore: tc.credStore, + } + + ctx := context.Background() + component, err := svc.provisionRedis(ctx, tc.projectID, tc.componentName) + + if tc.wantErr { + if err == nil { + t.Errorf("expected error containing %q, got nil", tc.wantErrContains) + return + } + if tc.wantErrContains != "" && !contains(err.Error(), tc.wantErrContains) { + t.Errorf("error %q does not contain %q", err.Error(), tc.wantErrContains) + } + return + } + + if err != nil { + t.Errorf("unexpected error: %v", err) + return + } + + if component.Type != domain.ComponentTypeRedis { + t.Errorf("component type = %v, want %v", component.Type, domain.ComponentTypeRedis) + } + if component.Name != tc.componentName { + t.Errorf("component name = %q, want %q", component.Name, tc.componentName) + } + + // Verify credentials were stored + if tc.credStore != nil { + key := tc.projectID + ":REDIS_URL" + if _, ok := tc.credStore.stored[key]; !ok { + t.Errorf("REDIS_URL not stored in credential store") + } + } + }) + } +} + +func TestAddInfraComponent(t *testing.T) { + tests := []struct { + name string + projectID string + componentType domain.ComponentType + componentName string + dbProvisioner port.DatabaseProvisioner + cacheProvisioner port.CacheProvisioner + credStore port.CredentialStore + wantErr bool + wantErrContains string + }{ + { + name: "postgres component routes to provisioner", + projectID: "test-project", + componentType: domain.ComponentTypePostgres, + componentName: "main-db", + dbProvisioner: &mockDatabaseProvisioner{}, + credStore: newMockCredentialStore(), + wantErr: false, + }, + { + name: "redis component routes to provisioner", + projectID: "test-project", + componentType: domain.ComponentTypeRedis, + componentName: "cache", + cacheProvisioner: &mockCacheProvisioner{}, + credStore: newMockCredentialStore(), + wantErr: false, + }, + { + name: "postgres without provisioner fails", + projectID: "test-project", + componentType: domain.ComponentTypePostgres, + componentName: "main-db", + dbProvisioner: nil, // nil interface + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "database provisioner not configured", + }, + { + name: "redis without provisioner fails", + projectID: "test-project", + componentType: domain.ComponentTypeRedis, + componentName: "cache", + cacheProvisioner: nil, // nil interface + credStore: newMockCredentialStore(), + wantErr: true, + wantErrContains: "cache provisioner not configured", + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + svc := &ComponentService{ + dbProvisioner: tc.dbProvisioner, + cacheProvisioner: tc.cacheProvisioner, + credentialStore: tc.credStore, + } + + ctx := context.Background() + component, err := svc.addInfraComponent(ctx, tc.projectID, tc.componentType, tc.componentName) + + if tc.wantErr { + if err == nil { + t.Errorf("expected error containing %q, got nil", tc.wantErrContains) + return + } + if tc.wantErrContains != "" && !contains(err.Error(), tc.wantErrContains) { + t.Errorf("error %q does not contain %q", err.Error(), tc.wantErrContains) + } + return + } + + if err != nil { + t.Errorf("unexpected error: %v", err) + return + } + + if component.Type != tc.componentType { + t.Errorf("component type = %v, want %v", component.Type, tc.componentType) + } + }) + } +} + +func TestIsInfraComponent(t *testing.T) { + tests := []struct { + componentType domain.ComponentType + want bool + }{ + {domain.ComponentTypePostgres, true}, + {domain.ComponentTypeRedis, true}, + {domain.ComponentTypeService, false}, + {domain.ComponentTypeWorker, false}, + {domain.ComponentTypeAppAstro, false}, + {domain.ComponentTypeAppReact, false}, + {domain.ComponentTypeCLI, false}, + } + + for _, tc := range tests { + t.Run(string(tc.componentType), func(t *testing.T) { + got := tc.componentType.IsInfraComponent() + if got != tc.want { + t.Errorf("IsInfraComponent(%s) = %v, want %v", tc.componentType, got, tc.want) + } + }) + } +} + +func contains(s, substr string) bool { + return len(s) >= len(substr) && (s == substr || len(substr) == 0 || + (len(s) > 0 && len(substr) > 0 && findSubstring(s, substr))) +} + +func findSubstring(s, substr string) bool { + for i := 0; i <= len(s)-len(substr); i++ { + if s[i:i+len(substr)] == substr { + return true + } + } + return false +} + +// Ensure mock implements interface +var _ port.DatabaseProvisioner = (*mockDatabaseProvisioner)(nil) +var _ port.CacheProvisioner = (*mockCacheProvisioner)(nil) +var _ port.CredentialStore = (*mockCredentialStore)(nil) + +func TestToUpperSnake(t *testing.T) { + tests := []struct { + input string + want string + }{ + {"auth-svc", "AUTH_SVC"}, + {"chat-svc", "CHAT_SVC"}, + {"user-service", "USER_SERVICE"}, + {"my-auth-svc-v2", "MY_AUTH_SVC_V2"}, + {"simple", "SIMPLE"}, + {"already-UPPER", "ALREADY_UPPER"}, + {"a-b-c-d", "A_B_C_D"}, + {"", ""}, + } + + for _, tc := range tests { + t.Run(tc.input, func(t *testing.T) { + got := toUpperSnake(tc.input) + if got != tc.want { + t.Errorf("toUpperSnake(%q) = %q, want %q", tc.input, got, tc.want) + } + }) + } +} + +func TestBuildSiblingServiceURLs(t *testing.T) { + logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelError})) + + tests := []struct { + name string + projectID string + currentComponent string + components []domain.Component + listErr error + want map[string]string + }{ + { + name: "builds URLs for sibling services", + projectID: "testproject", + currentComponent: "chat-svc", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "chat-svc", Type: domain.ComponentTypeService, Port: 8002}, + {Name: "user-svc", Type: domain.ComponentTypeService, Port: 8003}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://testproject-auth-svc:8001", + "USER_SVC_URL": "http://testproject-user-svc:8003", + }, + }, + { + name: "excludes current component", + projectID: "myapp", + currentComponent: "auth-svc", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + }, + want: map[string]string{}, + }, + { + name: "excludes workers", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "processor", Type: domain.ComponentTypeWorker, Port: 0}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://myapp-auth-svc:8001", + }, + }, + { + name: "excludes apps", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "web", Type: domain.ComponentTypeAppReact, Port: 3001}, + {Name: "landing", Type: domain.ComponentTypeAppAstro, Port: 3002}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://myapp-auth-svc:8001", + }, + }, + { + name: "excludes CLI", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "tool", Type: domain.ComponentTypeCLI, Port: 0}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://myapp-auth-svc:8001", + }, + }, + { + name: "excludes infrastructure components", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "main-db", Type: domain.ComponentTypePostgres, Port: 26257}, + {Name: "cache", Type: domain.ComponentTypeRedis, Port: 6379}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://myapp-auth-svc:8001", + }, + }, + { + name: "excludes services with zero port", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{ + {Name: "auth-svc", Type: domain.ComponentTypeService, Port: 8001}, + {Name: "broken-svc", Type: domain.ComponentTypeService, Port: 0}, + }, + want: map[string]string{ + "AUTH_SVC_URL": "http://myapp-auth-svc:8001", + }, + }, + { + name: "handles empty component list", + projectID: "myapp", + currentComponent: "api", + components: []domain.Component{}, + want: map[string]string{}, + }, + { + name: "returns nil on list error", + projectID: "myapp", + currentComponent: "api", + listErr: errors.New("database error"), + want: nil, + }, + { + name: "handles hyphenated component names correctly", + projectID: "my-project", + currentComponent: "api", + components: []domain.Component{ + {Name: "user-auth-service", Type: domain.ComponentTypeService, Port: 8001}, + }, + want: map[string]string{ + "USER_AUTH_SERVICE_URL": "http://my-project-user-auth-service:8001", + }, + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + // We need to test the actual function, so we'll use a helper approach + // by directly calling the function logic with mock data + got := buildSiblingServiceURLsHelper(tc.components, tc.projectID, tc.currentComponent, tc.listErr, logger) + + // Compare results + if tc.want == nil { + if got != nil { + t.Errorf("buildSiblingServiceURLs() = %v, want nil", got) + } + return + } + + if len(got) != len(tc.want) { + t.Errorf("buildSiblingServiceURLs() returned %d URLs, want %d", len(got), len(tc.want)) + t.Errorf("got: %v", got) + t.Errorf("want: %v", tc.want) + return + } + + for key, wantURL := range tc.want { + if gotURL, ok := got[key]; !ok { + t.Errorf("missing key %q in result", key) + } else if gotURL != wantURL { + t.Errorf("URL for %q = %q, want %q", key, gotURL, wantURL) + } + } + + // Verify no extra keys + for key := range got { + if _, ok := tc.want[key]; !ok { + t.Errorf("unexpected key %q in result", key) + } + } + }) + } +} + +// buildSiblingServiceURLsHelper extracts the core logic for testing without needing a full ComponentService. +// This mirrors the logic in ComponentService.buildSiblingServiceURLs. +func buildSiblingServiceURLsHelper(components []domain.Component, projectID, currentComponent string, listErr error, logger *slog.Logger) map[string]string { + if listErr != nil { + logger.Warn("failed to list components for sibling discovery", + "project", projectID, + "error", listErr, + ) + return nil + } + + urls := make(map[string]string) + for _, c := range components { + // Skip the current component, non-service types, and components without ports + if c.Name == currentComponent || c.Type != domain.ComponentTypeService || c.Port == 0 { + continue + } + + // Build env var name: auth-svc -> AUTH_SVC_URL + envKey := toUpperSnake(c.Name) + "_URL" + // Build internal K8s service URL: http://projectid-componentname:port + serviceName := projectID + "-" + c.Name + urls[envKey] = "http://" + serviceName + ":" + itoa(c.Port) + } + + return urls +} + +// itoa converts int to string without importing strconv +func itoa(n int) string { + if n == 0 { + return "0" + } + var digits []byte + for n > 0 { + digits = append([]byte{byte('0' + n%10)}, digits...) + n /= 10 + } + return string(digits) +} diff --git a/internal/service/component_updates.go b/internal/service/component_updates.go index 35bfd04..37c561c 100644 --- a/internal/service/component_updates.go +++ b/internal/service/component_updates.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" ) // updateProcfile adds an entry for the component. @@ -68,7 +69,8 @@ func (s *ComponentService) updateWoodpeckerYml(existing, stepYaml string) string marker := "# COMPONENT_STEPS_BELOW" if !strings.Contains(existing, marker) { - s.logger.Warn("COMPONENT_STEPS_BELOW marker not found in .woodpecker.yml") + log := logging.Default().WithService("component") + log.Warn("COMPONENT_STEPS_BELOW marker not found in .woodpecker.yml") return existing } diff --git a/internal/service/diagnostics_service.go b/internal/service/diagnostics_service.go index 66e2b44..5294eb2 100644 --- a/internal/service/diagnostics_service.go +++ b/internal/service/diagnostics_service.go @@ -4,10 +4,10 @@ package service import ( "context" "fmt" - "log/slog" "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) @@ -21,8 +21,6 @@ type DiagnosticsServiceConfig struct { // MaxRecentPipelines is how many pipelines to include. MaxRecentPipelines int - - Logger *slog.Logger } // DiagnosticsService aggregates project health information from multiple sources. @@ -34,7 +32,6 @@ type DiagnosticsService struct { defaultGitOwner string maxRecentOperations int maxRecentPipelines int - logger *slog.Logger } // NewDiagnosticsService creates a new diagnostics service. @@ -44,11 +41,6 @@ func NewDiagnosticsService( ciProvider port.CIProvider, cfg DiagnosticsServiceConfig, ) *DiagnosticsService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } - maxOps := cfg.MaxRecentOperations if maxOps <= 0 { maxOps = 10 @@ -66,7 +58,6 @@ func NewDiagnosticsService( defaultGitOwner: cfg.DefaultGitOwner, maxRecentOperations: maxOps, maxRecentPipelines: maxPipelines, - logger: logger.With("service", "diagnostics"), } } @@ -99,9 +90,10 @@ func (s *DiagnosticsService) collectOperations(ctx context.Context, projectID st ops, err := s.operationRepo.List(ctx, filter) if err != nil { - s.logger.Warn("failed to fetch operations for diagnostics", - "error", err, - "project_id", projectID, + log := logging.FromContext(ctx).WithService("diagnostics") + log.Warn("failed to fetch operations for diagnostics", + logging.FieldError, err, + logging.FieldProjectID, projectID, ) diag.Issues = append(diag.Issues, domain.DiagnosticIssue{ Severity: domain.DiagnosticSeverityWarning, @@ -180,9 +172,10 @@ func (s *DiagnosticsService) collectCIStatus(ctx context.Context, projectID stri pipelines, err := s.ciProvider.ListPipelines(ctx, owner, projectID) if err != nil { - s.logger.Warn("failed to fetch pipelines for diagnostics", - "error", err, - "project_id", projectID, + log := logging.FromContext(ctx).WithService("diagnostics") + log.Warn("failed to fetch pipelines for diagnostics", + logging.FieldError, err, + logging.FieldProjectID, projectID, ) ciDiag.Available = false diag.CI = ciDiag @@ -247,8 +240,9 @@ func (s *DiagnosticsService) getFailureDetails(ctx context.Context, owner, repo steps, err := s.ciProvider.GetPipelineSteps(ctx, owner, repo, pipeline.Number) if err != nil { - s.logger.Warn("failed to fetch pipeline steps", - "error", err, + log := logging.FromContext(ctx).WithService("diagnostics") + log.Warn("failed to fetch pipeline steps", + logging.FieldError, err, "pipeline", pipeline.Number, ) return failure diff --git a/internal/service/operation_service.go b/internal/service/operation_service.go index ba28797..546138a 100644 --- a/internal/service/operation_service.go +++ b/internal/service/operation_service.go @@ -3,29 +3,24 @@ package service import ( "context" - "log/slog" "time" "github.com/google/uuid" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) // OperationService provides business logic for tracking operations. // It wraps the repository with convenient methods for step-by-step tracking. type OperationService struct { - repo port.OperationRepository - logger *slog.Logger + repo port.OperationRepository } // NewOperationService creates a new operation service. -func NewOperationService(repo port.OperationRepository, logger *slog.Logger) *OperationService { - if logger == nil { - logger = slog.Default() - } +func NewOperationService(repo port.OperationRepository) *OperationService { return &OperationService{ - repo: repo, - logger: logger.With("service", "operation"), + repo: repo, } } @@ -49,18 +44,19 @@ func (s *OperationService) StartOperation( Steps: []domain.OperationStep{}, } + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.Create(ctx, op); err != nil { - s.logger.Error("failed to create operation", - "error", err, - "project_id", projectID, + log.Error("failed to create operation", + logging.FieldError, err, + logging.FieldProjectID, projectID, "type", opType, ) return "", err } - s.logger.Info("operation started", + log.Info("operation started", "operation_id", op.ID, - "project_id", projectID, + logging.FieldProjectID, projectID, "type", opType, ) @@ -75,9 +71,10 @@ func (s *OperationService) StartStep(ctx context.Context, operationID, stepName StartedAt: time.Now(), } + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.AddStep(ctx, operationID, step); err != nil { - s.logger.Error("failed to start step", - "error", err, + log.Error("failed to start step", + logging.FieldError, err, "operation_id", operationID, "step", stepName, ) @@ -102,9 +99,10 @@ func (s *OperationService) CompleteStep( Output: output, } + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.UpdateStep(ctx, operationID, step); err != nil { - s.logger.Error("failed to complete step", - "error", err, + log.Error("failed to complete step", + logging.FieldError, err, "operation_id", operationID, "step", stepName, ) @@ -130,9 +128,10 @@ func (s *OperationService) FailStep( ErrorDetail: domain.TruncateErrorDetail(errDetail), } + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.UpdateStep(ctx, operationID, step); err != nil { - s.logger.Error("failed to fail step", - "error", err, + log.Error("failed to fail step", + logging.FieldError, err, "operation_id", operationID, "step", stepName, ) @@ -148,15 +147,16 @@ func (s *OperationService) CompleteOperation( operationID string, output map[string]any, ) error { + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.Complete(ctx, operationID, domain.OperationStatusCompleted, output, "", ""); err != nil { - s.logger.Error("failed to complete operation", - "error", err, + log.Error("failed to complete operation", + logging.FieldError, err, "operation_id", operationID, ) return err } - s.logger.Info("operation completed", + log.Info("operation completed", "operation_id", operationID, ) @@ -169,17 +169,18 @@ func (s *OperationService) FailOperation( operationID string, errMsg, errDetail string, ) error { + log := logging.FromContext(ctx).WithService("operation") if err := s.repo.Complete(ctx, operationID, domain.OperationStatusFailed, nil, errMsg, errDetail); err != nil { - s.logger.Error("failed to fail operation", - "error", err, + log.Error("failed to fail operation", + logging.FieldError, err, "operation_id", operationID, ) return err } - s.logger.Info("operation failed", + log.Info("operation failed", "operation_id", operationID, - "error", errMsg, + logging.FieldError, errMsg, ) return nil diff --git a/internal/service/project_infra.go b/internal/service/project_infra.go index 09370ff..4624e88 100644 --- a/internal/service/project_infra.go +++ b/internal/service/project_infra.go @@ -5,7 +5,6 @@ import ( "context" "database/sql" "fmt" - "log/slog" "net/http" "time" @@ -35,7 +34,6 @@ type ProjectInfraService struct { credentialStore port.CredentialStore dbProvisioner port.DatabaseProvisioner cacheProvisioner port.CacheProvisioner - logger *slog.Logger // Config defaultGitOwner string @@ -50,7 +48,6 @@ type ProjectInfraConfig struct { DefaultDomain string // e.g., "threesix.ai" ClusterIP string // e.g., "208.122.204.172" RegistryURL string // e.g., "registry.threesix.ai" - Logger *slog.Logger } // NewProjectInfraService creates a new project infrastructure service. @@ -65,10 +62,6 @@ func NewProjectInfraService( slugGenerator port.SlugGenerator, cfg ProjectInfraConfig, ) *ProjectInfraService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } registryURL := cfg.RegistryURL if registryURL == "" { registryURL = "registry.threesix.ai" // Default for backward compatibility @@ -82,7 +75,6 @@ func NewProjectInfraService( templateProvider: templateProvider, domainRepo: domainRepo, slugGenerator: slugGenerator, - logger: logger, defaultGitOwner: cfg.DefaultGitOwner, defaultDomain: cfg.DefaultDomain, clusterIP: cfg.ClusterIP, diff --git a/internal/service/project_infra_crud.go b/internal/service/project_infra_crud.go index b233c08..8666969 100644 --- a/internal/service/project_infra_crud.go +++ b/internal/service/project_infra_crud.go @@ -8,12 +8,15 @@ import ( "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) // CreateProject creates a new project with git repo and DNS. // This is the main orchestration method for /project create. func (s *ProjectInfraService) CreateProject(ctx context.Context, req CreateProjectRequest) (*CreateProjectResult, error) { + log := logging.FromContext(ctx).WithService("project_infra") + // Validate project name first if err := ValidateProjectName(req.Name); err != nil { return nil, fmt.Errorf("%w: %w", domain.ErrInvalidProjectName, err) @@ -26,7 +29,7 @@ func (s *ProjectInfraService) CreateProject(ctx context.Context, req CreateProje } } - s.logger.Info("creating project", "name", req.Name) + log.Info("creating project", "name", req.Name) // 1. Generate unique slug slug, err := s.generateSlug(ctx, req.Name) @@ -80,14 +83,14 @@ func (s *ProjectInfraService) CreateProject(ctx context.Context, req CreateProje if ciActivated && templateSeeded && s.ciProvider != nil { pipelineNum, err := s.ciProvider.TriggerBuild(ctx, result.GitRepoOwner, result.GitRepoName, "main") if err != nil { - s.logger.Warn("failed to trigger initial build", "error", err) + log.Warn("failed to trigger initial build", logging.FieldError, err) } else { - s.logger.Info("initial build triggered", "pipeline", pipelineNum) + log.Info("initial build triggered", "pipeline", pipelineNum) } } - s.logger.Info("project created successfully", - "project", req.Name, + log.Info("project created successfully", + logging.FieldProjectID, req.Name, "git_repo", result.CloneSSH, "domain", result.Domain, ) @@ -128,6 +131,7 @@ func (s *ProjectInfraService) createProjectInDB(ctx context.Context, projectID s } func (s *ProjectInfraService) createGitRepo(ctx context.Context, req CreateProjectRequest, result *CreateProjectResult, projectID string) { + log := logging.FromContext(ctx).WithService("project_infra") if s.gitRepo == nil { result.NextSteps = append(result.NextSteps, "Git repository service not configured") return @@ -137,16 +141,16 @@ func (s *ProjectInfraService) createGitRepo(ctx context.Context, req CreateProje if err != nil { // Check if repo already exists - if so, fetch it instead if strings.Contains(err.Error(), "already exists") { - s.logger.Info("git repo already exists, fetching existing", "name", req.Name) + log.Info("git repo already exists, fetching existing", "name", req.Name) existingRepo, getErr := s.gitRepo.GetRepo(ctx, s.defaultGitOwner, req.Name) if getErr != nil { - s.logger.Error("failed to get existing git repo", "error", getErr) + log.Error("failed to get existing git repo", logging.FieldError, getErr) result.NextSteps = append(result.NextSteps, "Git repo exists but couldn't fetch details") return } repo = existingRepo } else { - s.logger.Error("failed to create git repo", "error", err) + log.Error("failed to create git repo", logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Create git repo manually: failed to auto-create") return } @@ -170,12 +174,13 @@ func (s *ProjectInfraService) createGitRepo(ctx context.Context, req CreateProje WHERE id = $7 `, repo.Owner, repo.Name, repo.CloneSSH, repo.CloneHTTP, repo.HTMLURL, time.Now(), projectID) if err != nil { - s.logger.Warn("failed to update project with git info", "error", err, "project", projectID) + log.Warn("failed to update project with git info", logging.FieldError, err, logging.FieldProjectID, projectID) result.NextSteps = append(result.NextSteps, "Git repo created but metadata not persisted - re-run create to sync") } } func (s *ProjectInfraService) createPrimaryDNS(ctx context.Context, slug, autoDomain, projectID string, result *CreateProjectResult) { + log := logging.FromContext(ctx).WithService("project_infra") if s.dns == nil { result.NextSteps = append(result.NextSteps, "DNS service not configured") return @@ -189,7 +194,7 @@ func (s *ProjectInfraService) createPrimaryDNS(ctx context.Context, slug, autoDo Proxied: false, }) if err != nil { - s.logger.Warn("failed to create DNS record", "error", err) + log.Warn("failed to create DNS record", logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Create DNS record manually: "+autoDomain+" → "+s.clusterIP) return } @@ -205,7 +210,7 @@ func (s *ProjectInfraService) createPrimaryDNS(ctx context.Context, slug, autoDo Verified: true, } if err := s.domainRepo.Create(ctx, pd); err != nil { - s.logger.Warn("failed to store primary domain", "error", err) + log.Warn("failed to store primary domain", logging.FieldError, err) result.NextSteps = append(result.NextSteps, "DNS created but domain metadata not persisted") } else { result.Domains = append(result.Domains, pd) @@ -217,7 +222,7 @@ func (s *ProjectInfraService) createPrimaryDNS(ctx context.Context, slug, autoDo UPDATE projects SET domain = $1, updated_at = $2 WHERE id = $3 `, result.Domain, time.Now(), projectID) if err != nil { - s.logger.Warn("failed to update project with domain", "error", err, "project", projectID) + log.Warn("failed to update project with domain", logging.FieldError, err, logging.FieldProjectID, projectID) // Not adding to NextSteps - legacy column, domain still works via project_domains table } } @@ -227,6 +232,7 @@ func (s *ProjectInfraService) createCustomDNS(ctx context.Context, req CreatePro return } + log := logging.FromContext(ctx).WithService("project_infra") customDomain := req.CustomSubdomain + "." + s.defaultDomain dnsRecord, err := s.dns.CreateRecord(ctx, domain.DNSRecord{ Type: "A", @@ -236,7 +242,7 @@ func (s *ProjectInfraService) createCustomDNS(ctx context.Context, req CreatePro Proxied: false, }) if err != nil { - s.logger.Warn("failed to create custom DNS record", "error", err) + log.Warn("failed to create custom DNS record", logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Create custom DNS manually: "+customDomain+" → "+s.clusterIP) return } @@ -250,7 +256,7 @@ func (s *ProjectInfraService) createCustomDNS(ctx context.Context, req CreatePro Verified: true, } if err := s.domainRepo.Create(ctx, pd); err != nil { - s.logger.Warn("failed to store custom domain", "error", err) + log.Warn("failed to store custom domain", logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Custom DNS created but domain metadata not persisted") } else { result.Domains = append(result.Domains, pd) @@ -261,6 +267,7 @@ func (s *ProjectInfraService) createCustomDNS(ctx context.Context, req CreatePro } func (s *ProjectInfraService) activateCI(ctx context.Context, result *CreateProjectResult) bool { + log := logging.FromContext(ctx).WithService("project_infra") if s.ciProvider == nil { result.NextSteps = append(result.NextSteps, "CI provider not configured") return false @@ -271,17 +278,18 @@ func (s *ProjectInfraService) activateCI(ctx context.Context, result *CreateProj ciRepo, err := s.ciProvider.ActivateRepo(ctx, "gitea", result.GitRepoOwner, result.GitRepoName) if err != nil { - s.logger.Warn("failed to activate CI", "error", err) + log.Warn("failed to activate CI", logging.FieldError, err) result.NextSteps = append(result.NextSteps, fmt.Sprintf("Activate Woodpecker manually: https://ci.%s → Add Repository → %s/%s", s.defaultDomain, result.GitRepoOwner, result.GitRepoName), ) return false } - s.logger.Info("CI activated", "repo", ciRepo.FullName, "ci_id", ciRepo.ID) + log.Info("CI activated", "repo", ciRepo.FullName, "ci_id", ciRepo.ID) return true } func (s *ProjectInfraService) seedTemplate(ctx context.Context, req CreateProjectRequest, result *CreateProjectResult) bool { + log := logging.FromContext(ctx).WithService("project_infra") if s.templateProvider == nil { result.NextSteps = append(result.NextSteps, "Template provider not configured") return false @@ -308,13 +316,13 @@ func (s *ProjectInfraService) seedTemplate(ctx context.Context, req CreateProjec err := s.templateProvider.SeedRepo(ctx, result.GitRepoOwner, result.GitRepoName, templateName, vars) if err != nil { - s.logger.Warn("failed to seed repo with template", "error", err, "template", templateName) + log.Warn("failed to seed repo with template", logging.FieldError, err, "template", templateName) result.NextSteps = append(result.NextSteps, fmt.Sprintf("Add template files manually (template: %s)", templateName), ) return false } - s.logger.Info("repo seeded with template", "template", templateName) + log.Info("repo seeded with template", "template", templateName) return true } @@ -322,37 +330,38 @@ func (s *ProjectInfraService) seedTemplate(ctx context.Context, req CreateProjec // Credentials are stored in the credential store for injection into deployments. // If credential storage fails after provisioning, the resources are rolled back to prevent orphans. func (s *ProjectInfraService) provisionResources(ctx context.Context, result *CreateProjectResult) { + log := logging.FromContext(ctx).WithService("project_infra") projectID := result.ProjectID // Provision database if s.dbProvisioner != nil { dbCreds, err := s.dbProvisioner.CreateProjectDatabase(ctx, projectID) if err != nil { - s.logger.Error("failed to provision database", "project", projectID, "error", err) + log.Error("failed to provision database", logging.FieldProjectID, projectID, logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Database provisioning failed - contact admin") } else if s.credentialStore != nil { // Store credentials - rollback on failure to prevent orphaned database var storeErr error if err := s.storeCredential(ctx, projectID, "database", "DATABASE_URL", dbCreds.URL); err != nil { storeErr = err - s.logger.Error("failed to store DATABASE_URL", "project", projectID, "error", err) + log.Error("failed to store DATABASE_URL", logging.FieldProjectID, projectID, logging.FieldError, err) } if err := s.storeCredential(ctx, projectID, "database", "DATABASE_URL_STAGING", dbCreds.URLStaging); err != nil { storeErr = err - s.logger.Error("failed to store DATABASE_URL_STAGING", "project", projectID, "error", err) + log.Error("failed to store DATABASE_URL_STAGING", logging.FieldProjectID, projectID, logging.FieldError, err) } // Rollback database if credential storage failed if storeErr != nil { - s.logger.Warn("rolling back database due to credential storage failure", "project", projectID) + log.Warn("rolling back database due to credential storage failure", logging.FieldProjectID, projectID) if rollbackErr := s.dbProvisioner.DeleteProjectDatabase(ctx, projectID); rollbackErr != nil { - s.logger.Error("failed to rollback database", "project", projectID, "error", rollbackErr) + log.Error("failed to rollback database", logging.FieldProjectID, projectID, logging.FieldError, rollbackErr) result.NextSteps = append(result.NextSteps, "Database created but credentials not stored - manual cleanup required") } else { result.NextSteps = append(result.NextSteps, "Database provisioning rolled back due to credential storage failure") } } else { - s.logger.Info("database provisioned", "project", projectID, "database", dbCreds.DatabaseName) + log.Info("database provisioned", logging.FieldProjectID, projectID, "database", dbCreds.DatabaseName) } } } @@ -361,35 +370,35 @@ func (s *ProjectInfraService) provisionResources(ctx context.Context, result *Cr if s.cacheProvisioner != nil { cacheCreds, err := s.cacheProvisioner.CreateProjectCache(ctx, projectID) if err != nil { - s.logger.Error("failed to provision cache", "project", projectID, "error", err) + log.Error("failed to provision cache", logging.FieldProjectID, projectID, logging.FieldError, err) result.NextSteps = append(result.NextSteps, "Cache provisioning failed - contact admin") } else if s.credentialStore != nil { // Store credentials - rollback on failure to prevent orphaned cache var storeErr error if err := s.storeCredential(ctx, projectID, "cache", "REDIS_URL", cacheCreds.URL); err != nil { storeErr = err - s.logger.Error("failed to store REDIS_URL", "project", projectID, "error", err) + log.Error("failed to store REDIS_URL", logging.FieldProjectID, projectID, logging.FieldError, err) } if err := s.storeCredential(ctx, projectID, "cache", "REDIS_URL_STAGING", cacheCreds.URLStaging); err != nil { storeErr = err - s.logger.Error("failed to store REDIS_URL_STAGING", "project", projectID, "error", err) + log.Error("failed to store REDIS_URL_STAGING", logging.FieldProjectID, projectID, logging.FieldError, err) } if err := s.storeCredential(ctx, projectID, "cache", "REDIS_PREFIX", cacheCreds.Prefix); err != nil { storeErr = err - s.logger.Error("failed to store REDIS_PREFIX", "project", projectID, "error", err) + log.Error("failed to store REDIS_PREFIX", logging.FieldProjectID, projectID, logging.FieldError, err) } // Rollback cache if credential storage failed if storeErr != nil { - s.logger.Warn("rolling back cache due to credential storage failure", "project", projectID) + log.Warn("rolling back cache due to credential storage failure", logging.FieldProjectID, projectID) if rollbackErr := s.cacheProvisioner.DeleteProjectCache(ctx, projectID, true); rollbackErr != nil { - s.logger.Error("failed to rollback cache", "project", projectID, "error", rollbackErr) + log.Error("failed to rollback cache", logging.FieldProjectID, projectID, logging.FieldError, rollbackErr) result.NextSteps = append(result.NextSteps, "Cache created but credentials not stored - manual cleanup required") } else { result.NextSteps = append(result.NextSteps, "Cache provisioning rolled back due to credential storage failure") } } else { - s.logger.Info("cache provisioned", "project", projectID, "prefix", cacheCreds.Prefix) + log.Info("cache provisioned", logging.FieldProjectID, projectID, "prefix", cacheCreds.Prefix) } } } @@ -414,11 +423,12 @@ func (s *ProjectInfraService) storeCredential(ctx context.Context, projectID, ca // For monorepo (skeleton) projects, no root deployment is created - components // create their own deployments via ComponentService.AddComponent(). func (s *ProjectInfraService) createInitialDeployment(ctx context.Context, req CreateProjectRequest, result *CreateProjectResult) { + log := logging.FromContext(ctx).WithService("project_infra") // Skip root deployment for monorepo (skeleton) projects. // Skeleton projects have no root Dockerfile - components create their own deployments. if req.Template == "skeleton" { - s.logger.Info("skipping root deployment for monorepo project", - "project", req.Name, + log.Info("skipping root deployment for monorepo project", + logging.FieldProjectID, req.Name, "template", req.Template, ) return @@ -446,15 +456,15 @@ func (s *ProjectInfraService) createInitialDeployment(ctx context.Context, req C err := s.deployer.Deploy(ctx, spec) if err != nil { - s.logger.Warn("failed to create initial deployment", "error", err, "project", req.Name) + log.Warn("failed to create initial deployment", logging.FieldError, err, logging.FieldProjectID, req.Name) result.NextSteps = append(result.NextSteps, "Initial deployment failed - run POST /projects/{id}/deploy after first build completes", ) return } - s.logger.Info("initial deployment created", - "project", req.Name, + log.Info("initial deployment created", + logging.FieldProjectID, req.Name, "image", imageName, "domain", result.Domain, "note", "deployment will be pending until first CI build completes", @@ -470,7 +480,7 @@ func (s *ProjectInfraService) createInitialDeployment(ctx context.Context, req C WHERE id = $5 `, imageName, "pending", 1, time.Now(), req.Name) if err != nil { - s.logger.Warn("failed to update project with deployment info", "error", err, "project", req.Name) + log.Warn("failed to update project with deployment info", logging.FieldError, err, logging.FieldProjectID, req.Name) result.NextSteps = append(result.NextSteps, "Deployment created but status not persisted - status may show stale") } } @@ -522,7 +532,8 @@ func (s *ProjectInfraService) GetStatus(ctx context.Context, projectID string) ( if s.domainRepo != nil { domains, err := s.domainRepo.ListByProject(ctx, projectID) if err != nil { - s.logger.Warn("failed to load project domains", "error", err, "project", projectID) + log := logging.FromContext(ctx).WithService("project_infra") + log.Warn("failed to load project domains", logging.FieldError, err, logging.FieldProjectID, projectID) } else { status.Domains = domains // Set primary domain from domains list if not set @@ -609,7 +620,8 @@ func (s *ProjectInfraService) ListProjects(ctx context.Context) ([]*ProjectStatu // DeleteProject removes a project and its associated resources. func (s *ProjectInfraService) DeleteProject(ctx context.Context, projectID string) error { - s.logger.Info("deleting project", "project", projectID) + log := logging.FromContext(ctx).WithService("project_infra") + log.Info("deleting project", logging.FieldProjectID, projectID) // Get project info first status, err := s.GetStatus(ctx, projectID) @@ -620,21 +632,21 @@ func (s *ProjectInfraService) DeleteProject(ctx context.Context, projectID strin // 1. Undeploy if deployed if s.deployer != nil && status.DeploymentStatus != "none" { if err := s.deployer.Undeploy(ctx, projectID); err != nil { - s.logger.Warn("failed to undeploy", "error", err) + log.Warn("failed to undeploy", logging.FieldError, err) } } // 2. Delete provisioned database if s.dbProvisioner != nil { if err := s.dbProvisioner.DeleteProjectDatabase(ctx, projectID); err != nil { - s.logger.Warn("failed to delete project database", "error", err) + log.Warn("failed to delete project database", logging.FieldError, err) } } // 3. Delete provisioned cache (and purge keys) if s.cacheProvisioner != nil { if err := s.cacheProvisioner.DeleteProjectCache(ctx, projectID, true); err != nil { - s.logger.Warn("failed to delete project cache", "error", err) + log.Warn("failed to delete project cache", logging.FieldError, err) } } @@ -644,7 +656,7 @@ func (s *ProjectInfraService) DeleteProject(ctx context.Context, projectID strin // 5. Delete all project_domains entries (CASCADE should handle this, but be explicit) if s.domainRepo != nil { if err := s.domainRepo.DeleteByProject(ctx, projectID); err != nil { - s.logger.Warn("failed to delete project domains", "error", err) + log.Warn("failed to delete project domains", logging.FieldError, err) } } @@ -657,7 +669,7 @@ func (s *ProjectInfraService) DeleteProject(ctx context.Context, projectID strin return fmt.Errorf("failed to delete project from database: %w", err) } - s.logger.Info("project deleted", "project", projectID) + log.Info("project deleted", logging.FieldProjectID, projectID) return nil } @@ -666,18 +678,20 @@ func (s *ProjectInfraService) deleteDNSRecords(ctx context.Context, status *Proj return } + log := logging.FromContext(ctx).WithService("project_infra") + // Delete DNS records for all domains in project_domains table if len(status.Domains) > 0 { for _, pd := range status.Domains { if pd.DNSRecordID != "" { if err := s.dns.DeleteRecord(ctx, pd.DNSRecordID); err != nil { - s.logger.Warn("failed to delete DNS record by ID", "error", err, "domain", pd.Domain, "record_id", pd.DNSRecordID) + log.Warn("failed to delete DNS record by ID", logging.FieldError, err, "domain", pd.Domain, "record_id", pd.DNSRecordID) } } else { subdomain := domain.ExtractSubdomain(pd.Domain, s.defaultDomain) if subdomain != "" { if err := s.dns.DeleteRecordByName(ctx, pd.DNSRecordType, subdomain); err != nil { - s.logger.Warn("failed to delete DNS record by name", "error", err, "domain", pd.Domain) + log.Warn("failed to delete DNS record by name", logging.FieldError, err, "domain", pd.Domain) } } } @@ -686,7 +700,7 @@ func (s *ProjectInfraService) deleteDNSRecords(ctx context.Context, status *Proj // Fallback for legacy projects without project_domains entries subdomain := status.Name if err := s.dns.DeleteRecordByName(ctx, "A", subdomain); err != nil { - s.logger.Warn("failed to delete DNS record", "error", err) + log.Warn("failed to delete DNS record", logging.FieldError, err) } } } @@ -736,10 +750,12 @@ func (s *ProjectInfraService) CleanupTestProjects(ctx context.Context, req Clean return nil, fmt.Errorf("at least one pattern is required") } + log := logging.FromContext(ctx).WithService("project_infra") + // Calculate cutoff time cutoff := time.Now().Add(-time.Duration(req.OlderThanHrs) * time.Hour) - s.logger.Info("cleaning up test projects", + log.Info("cleaning up test projects", "patterns", req.Patterns, "older_than_hours", req.OlderThanHrs, "cutoff", cutoff, @@ -765,21 +781,21 @@ func (s *ProjectInfraService) CleanupTestProjects(ctx context.Context, req Clean // Actually delete the project if err := s.DeleteProject(ctx, projectID); err != nil { - s.logger.Warn("failed to delete project during cleanup", - "project", projectID, - "error", err, + log.Warn("failed to delete project during cleanup", + logging.FieldProjectID, projectID, + logging.FieldError, err, ) // Continue with other projects even if one fails continue } result.Deleted = append(result.Deleted, projectID) - s.logger.Info("deleted test project", "project", projectID) + log.Info("deleted test project", logging.FieldProjectID, projectID) } result.Count = len(result.Deleted) - s.logger.Info("test project cleanup complete", + log.Info("test project cleanup complete", "deleted_count", result.Count, "dry_run", req.DryRun, ) diff --git a/internal/service/project_infra_domains.go b/internal/service/project_infra_domains.go index 4365536..ef5227d 100644 --- a/internal/service/project_infra_domains.go +++ b/internal/service/project_infra_domains.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" ) // AddDomain adds a new domain to a project. @@ -85,14 +86,15 @@ func (s *ProjectInfraService) AddDomain(ctx context.Context, req AddDomainReques } // Add host to K8s ingress (for both threesix.ai and external domains) + log := logging.FromContext(ctx).WithService("project_infra") if s.deployer != nil { if err := s.deployer.AddIngressHost(ctx, req.ProjectID, req.Domain); err != nil { - s.logger.Warn("failed to add ingress host", "error", err, "project", req.ProjectID, "domain", req.Domain) + log.Warn("failed to add ingress host", logging.FieldError, err, logging.FieldProjectID, req.ProjectID, "domain", req.Domain) // Don't fail the request - DNS and DB are already set up } } - s.logger.Info("domain added", "project", req.ProjectID, "domain", req.Domain, "type", domainType) + log.Info("domain added", logging.FieldProjectID, req.ProjectID, "domain", req.Domain, "type", domainType) return pd, nil } @@ -130,10 +132,12 @@ func (s *ProjectInfraService) RemoveDomain(ctx context.Context, projectID, fqdn return fmt.Errorf("cannot remove auto-generated primary domain; delete the project instead") } + log := logging.FromContext(ctx).WithService("project_infra") + // Delete DNS record if we have the record ID if pd.DNSRecordID != "" && s.dns != nil { if err := s.dns.DeleteRecord(ctx, pd.DNSRecordID); err != nil { - s.logger.Warn("failed to delete DNS record", "error", err, "domain", fqdn) + log.Warn("failed to delete DNS record", logging.FieldError, err, "domain", fqdn) } } else if domain.IsSubdomainOf(fqdn, s.defaultDomain) && s.dns != nil { // Fallback: try to delete by name @@ -146,7 +150,7 @@ func (s *ProjectInfraService) RemoveDomain(ctx context.Context, projectID, fqdn // Remove host from K8s ingress if s.deployer != nil { if err := s.deployer.RemoveIngressHost(ctx, projectID, fqdn); err != nil { - s.logger.Warn("failed to remove ingress host", "error", err, "project", projectID, "domain", fqdn) + log.Warn("failed to remove ingress host", logging.FieldError, err, logging.FieldProjectID, projectID, "domain", fqdn) // Continue anyway - DNS record is already deleted } } @@ -156,7 +160,7 @@ func (s *ProjectInfraService) RemoveDomain(ctx context.Context, projectID, fqdn return fmt.Errorf("failed to delete domain: %w", err) } - s.logger.Info("domain removed", "project", projectID, "domain", fqdn) + log.Info("domain removed", logging.FieldProjectID, projectID, "domain", fqdn) return nil } diff --git a/internal/service/sdlc_callback.go b/internal/service/sdlc_callback.go new file mode 100644 index 0000000..42ecfed --- /dev/null +++ b/internal/service/sdlc_callback.go @@ -0,0 +1,122 @@ +package service + +import ( + "context" + "fmt" + + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" + "github.com/orchard9/rdev/internal/sdlc" +) + +// SDLCCallbackService handles build completion callbacks to update SDLC artifact status. +type SDLCCallbackService struct { + sdlcService *SDLCService +} + +// NewSDLCCallbackService creates a new SDLC callback service. +func NewSDLCCallbackService(sdlcService *SDLCService) *SDLCCallbackService { + return &SDLCCallbackService{ + sdlcService: sdlcService, + } +} + +// HandleCallback processes a build completion and updates SDLC artifact status. +func (s *SDLCCallbackService) HandleCallback(ctx context.Context, payload *domain.SDLCCallbackPayload) error { + // Validate required fields + if payload.ProjectID == "" { + return fmt.Errorf("project_id is required") + } + if payload.Feature == "" { + return fmt.Errorf("feature is required") + } + if payload.ArtifactType == "" { + return fmt.Errorf("artifact_type is required") + } + + // Map generate artifact type to SDLC artifact type + artType, err := s.mapArtifactType(payload.ArtifactType) + if err != nil { + return fmt.Errorf("invalid artifact_type: %w", err) + } + + log := logging.FromContext(ctx).WithService("sdlc_callback") + log.Info("handling SDLC callback", + "task_id", payload.TaskID, + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", payload.ArtifactType, + "success", payload.Success, + ) + + if payload.Success { + // QA results get "passed" status, others get "draft" (awaiting human approval) + if artType == sdlc.ArtifactQAResults { + if err := s.sdlcService.PassArtifact(ctx, payload.ProjectID, payload.Feature, artType); err != nil { + log.Error("failed to pass artifact", + logging.FieldError, err, + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", artType, + ) + return fmt.Errorf("pass artifact: %w", err) + } + log.Info("artifact marked as passed", + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", artType, + ) + } else { + // Mark as draft - awaiting human approval + // The SDLC service doesn't have a direct setDraft method, but we can + // achieve this by first ensuring the artifact exists, then the file + // generation creates the draft status automatically. + // For now, we'll log that the artifact was generated. + log.Info("artifact generated successfully (draft status)", + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", artType, + "commit_sha", payload.CommitSHA, + ) + } + } else { + // Mark as needs_fix on failure + if err := s.sdlcService.NeedsFixArtifact(ctx, payload.ProjectID, payload.Feature, artType); err != nil { + log.Error("failed to mark artifact as needs_fix", + logging.FieldError, err, + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", artType, + ) + return fmt.Errorf("needs_fix artifact: %w", err) + } + log.Info("artifact marked as needs_fix", + logging.FieldProjectID, payload.ProjectID, + "feature", payload.Feature, + "artifact_type", artType, + logging.FieldError, payload.Error, + ) + } + + return nil +} + +// mapArtifactType converts generate artifact types to SDLC artifact types. +func (s *SDLCCallbackService) mapArtifactType(genType string) (sdlc.ArtifactType, error) { + switch genType { + case "spec": + return sdlc.ArtifactSpec, nil + case "design": + return sdlc.ArtifactDesign, nil + case "tasks": + return sdlc.ArtifactTasks, nil + case "code": + // Code generation doesn't map to a single artifact type + // The code is committed directly, no artifact status change needed + return "", fmt.Errorf("code artifact type does not have a corresponding SDLC artifact") + case "qa": + return sdlc.ArtifactQAResults, nil + default: + return "", fmt.Errorf("unknown artifact type: %s", genType) + } +} diff --git a/internal/service/sdlc_callback_test.go b/internal/service/sdlc_callback_test.go new file mode 100644 index 0000000..27fcbfb --- /dev/null +++ b/internal/service/sdlc_callback_test.go @@ -0,0 +1,89 @@ +package service + +import ( + "testing" + + "github.com/orchard9/rdev/internal/sdlc" +) + +func TestSDLCCallbackService_MapArtifactType(t *testing.T) { + tests := []struct { + genType string + wantType sdlc.ArtifactType + wantErr bool + wantErrMsg string + }{ + { + genType: "spec", + wantType: sdlc.ArtifactSpec, + }, + { + genType: "design", + wantType: sdlc.ArtifactDesign, + }, + { + genType: "tasks", + wantType: sdlc.ArtifactTasks, + }, + { + genType: "code", + wantErr: true, + wantErrMsg: "code artifact type does not have a corresponding SDLC artifact", + }, + { + genType: "qa", + wantType: sdlc.ArtifactQAResults, + }, + { + genType: "unknown", + wantErr: true, + wantErrMsg: "unknown artifact type", + }, + { + genType: "", + wantErr: true, + wantErrMsg: "unknown artifact type", + }, + } + + svc := &SDLCCallbackService{} + + for _, tt := range tests { + t.Run(tt.genType, func(t *testing.T) { + got, err := svc.mapArtifactType(tt.genType) + + if tt.wantErr { + if err == nil { + t.Errorf("mapArtifactType(%q) expected error, got nil", tt.genType) + } else if tt.wantErrMsg != "" && !containsSubstr(err.Error(), tt.wantErrMsg) { + t.Errorf("mapArtifactType(%q) error = %q, want containing %q", + tt.genType, err.Error(), tt.wantErrMsg) + } + return + } + + if err != nil { + t.Fatalf("mapArtifactType(%q) unexpected error: %v", tt.genType, err) + } + + if got != tt.wantType { + t.Errorf("mapArtifactType(%q) = %v, want %v", tt.genType, got, tt.wantType) + } + }) + } +} + +// containsSubstr checks if s contains substr. +func containsSubstr(s, substr string) bool { + return len(s) >= len(substr) && (s == substr || len(substr) == 0 || indexOf(s, substr) >= 0) +} + +// indexOf returns the index of substr in s, or -1 if not found. +func indexOf(s, substr string) int { + for i := 0; i <= len(s)-len(substr); i++ { + if s[i:i+len(substr)] == substr { + return i + } + } + return -1 +} diff --git a/internal/service/sdlc_generate.go b/internal/service/sdlc_generate.go new file mode 100644 index 0000000..15b2989 --- /dev/null +++ b/internal/service/sdlc_generate.go @@ -0,0 +1,161 @@ +package service + +import ( + "context" + "database/sql" + "fmt" + + "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" +) + +// SDLCGenerateService handles async artifact generation via the work queue. +type SDLCGenerateService struct { + sdlcService *SDLCService + buildService *BuildService + db *sql.DB + baseURL string +} + +// SDLCGenerateServiceConfig configures the generate service. +type SDLCGenerateServiceConfig struct { + // BaseURL is the API base URL for callback URLs (e.g., "http://localhost:8080") + BaseURL string +} + +// NewSDLCGenerateService creates a new SDLC generate service. +func NewSDLCGenerateService( + sdlcService *SDLCService, + buildService *BuildService, + db *sql.DB, + cfg SDLCGenerateServiceConfig, +) *SDLCGenerateService { + return &SDLCGenerateService{ + sdlcService: sdlcService, + buildService: buildService, + db: db, + baseURL: cfg.BaseURL, + } +} + +// GenerateArtifact enqueues a build task to generate an SDLC artifact. +func (s *SDLCGenerateService) GenerateArtifact( + ctx context.Context, + projectID, featureSlug string, + req *domain.SDLCGenerateRequest, +) (*domain.SDLCGenerateResponse, error) { + // Validate artifact type + if !domain.IsValidGenerateArtifactType(req.ArtifactType) { + return nil, fmt.Errorf("invalid artifact_type: %s", req.ArtifactType) + } + + // Validate task_id is provided for code generation + if req.ArtifactType == "code" && req.TaskID == "" { + return nil, fmt.Errorf("task_id is required for artifact_type: code") + } + + // Validate feature exists + _, err := s.sdlcService.GetFeature(ctx, projectID, featureSlug) + if err != nil { + return nil, fmt.Errorf("get feature: %w", err) + } + + // Get project git URL from database + gitCloneURL, err := s.getProjectGitURL(ctx, projectID) + if err != nil { + return nil, fmt.Errorf("get project git URL: %w", err) + } + + // Build the prompt from artifact type + prompt := s.buildPrompt(featureSlug, req.ArtifactType, req.TaskID) + + // Build callback URL for SDLC status updates + callbackURL := s.baseURL + "/internal/sdlc/callback" + + // Create build spec with SDLC context + buildSpec := domain.BuildSpec{ + Prompt: prompt, + AutoCommit: true, + AutoPush: true, + GitCloneURL: gitCloneURL, + CallbackURL: callbackURL, + } + + // Build SDLC context map for callback routing + sdlcContext := map[string]any{ + "feature": featureSlug, + "artifact_type": req.ArtifactType, + } + if req.TaskID != "" { + sdlcContext["task_id"] = req.TaskID + } + + taskID, err := s.buildService.StartBuildWithSDLCContext(ctx, projectID, buildSpec, sdlcContext) + if err != nil { + return nil, fmt.Errorf("start build: %w", err) + } + + log := logging.FromContext(ctx).WithService("sdlc_generate") + log.Info("artifact generation enqueued", + logging.FieldProjectID, projectID, + "feature", featureSlug, + "artifact_type", req.ArtifactType, + "task_id", taskID, + ) + + return &domain.SDLCGenerateResponse{ + TaskID: taskID, + ProjectID: projectID, + Feature: featureSlug, + ArtifactType: req.ArtifactType, + Status: "pending", + StatusURL: "/builds/" + taskID, + StreamURL: fmt.Sprintf("/projects/%s/events?stream_id=%s", projectID, taskID), + }, nil +} + +// buildPrompt constructs the appropriate skeleton command for the artifact type. +func (s *SDLCGenerateService) buildPrompt(feature, artifactType, taskID string) string { + switch artifactType { + case "spec": + return "/spec-feature " + feature + case "design": + return "/design-feature " + feature + case "tasks": + return "/breakdown-feature " + feature + case "code": + if taskID != "" { + return "/implement-task " + feature + " " + taskID + } + return "/implement-feature " + feature + case "qa": + return "/run-qa " + feature + default: + return fmt.Sprintf("Generate %s artifact for feature %s", artifactType, feature) + } +} + +// getProjectGitURL retrieves the git clone URL for a project from the database. +func (s *SDLCGenerateService) getProjectGitURL(ctx context.Context, projectID string) (string, error) { + if s.db == nil { + return "", fmt.Errorf("database not configured") + } + + var gitCloneHTTP sql.NullString + err := s.db.QueryRowContext(ctx, + `SELECT git_clone_http FROM projects WHERE id = $1`, + projectID, + ).Scan(&gitCloneHTTP) + if err != nil { + if err == sql.ErrNoRows { + return "", domain.ErrProjectNotFound + } + return "", fmt.Errorf("query project: %w", err) + } + + if !gitCloneHTTP.Valid || gitCloneHTTP.String == "" { + return "", fmt.Errorf("project %s has no git URL configured", projectID) + } + + return gitCloneHTTP.String, nil +} diff --git a/internal/service/sdlc_generate_test.go b/internal/service/sdlc_generate_test.go new file mode 100644 index 0000000..c32f5a2 --- /dev/null +++ b/internal/service/sdlc_generate_test.go @@ -0,0 +1,106 @@ +package service + +import ( + "testing" + + "github.com/orchard9/rdev/internal/domain" +) + +func TestSDLCGenerateService_BuildPrompt(t *testing.T) { + tests := []struct { + name string + feature string + artifactType string + taskID string + wantPrompt string + }{ + { + name: "spec artifact", + feature: "user-auth", + artifactType: "spec", + taskID: "", + wantPrompt: "/spec-feature user-auth", + }, + { + name: "design artifact", + feature: "user-auth", + artifactType: "design", + taskID: "", + wantPrompt: "/design-feature user-auth", + }, + { + name: "tasks artifact", + feature: "user-auth", + artifactType: "tasks", + taskID: "", + wantPrompt: "/breakdown-feature user-auth", + }, + { + name: "code with task_id", + feature: "user-auth", + artifactType: "code", + taskID: "task-001", + wantPrompt: "/implement-task user-auth task-001", + }, + { + name: "code without task_id", + feature: "user-auth", + artifactType: "code", + taskID: "", + wantPrompt: "/implement-feature user-auth", + }, + { + name: "qa artifact", + feature: "user-auth", + artifactType: "qa", + taskID: "", + wantPrompt: "/run-qa user-auth", + }, + { + name: "unknown artifact type falls back", + feature: "user-auth", + artifactType: "unknown", + taskID: "", + wantPrompt: "Generate unknown artifact for feature user-auth", + }, + } + + svc := &SDLCGenerateService{} + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := svc.buildPrompt(tt.feature, tt.artifactType, tt.taskID) + if got != tt.wantPrompt { + t.Errorf("buildPrompt(%q, %q, %q) = %q, want %q", + tt.feature, tt.artifactType, tt.taskID, got, tt.wantPrompt) + } + }) + } +} + +func TestIsValidGenerateArtifactType(t *testing.T) { + tests := []struct { + artifactType string + want bool + }{ + {"spec", true}, + {"design", true}, + {"tasks", true}, + {"code", true}, + {"qa", true}, + {"invalid", false}, + {"", false}, + {"review", false}, + {"audit", false}, + } + + for _, tt := range tests { + t.Run(tt.artifactType, func(t *testing.T) { + got := domain.IsValidGenerateArtifactType(tt.artifactType) + if got != tt.want { + t.Errorf("IsValidGenerateArtifactType(%q) = %v, want %v", + tt.artifactType, got, tt.want) + } + }) + } +} diff --git a/internal/service/sdlc_orchestrator.go b/internal/service/sdlc_orchestrator.go index 9dbd557..76c6d62 100644 --- a/internal/service/sdlc_orchestrator.go +++ b/internal/service/sdlc_orchestrator.go @@ -3,10 +3,10 @@ package service import ( "context" "fmt" - "log/slog" "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/internal/sdlc" ) @@ -32,12 +32,6 @@ type SDLCOrchestratorService struct { agentRegistry port.CodeAgentRegistry gitCommitter PodGitCommitter projectRepo port.ProjectRepository - logger *slog.Logger -} - -// SDLCOrchestratorConfig configures the orchestrator. -type SDLCOrchestratorConfig struct { - Logger *slog.Logger } // NewSDLCOrchestratorService creates a new orchestrator service. @@ -46,18 +40,12 @@ func NewSDLCOrchestratorService( agentRegistry port.CodeAgentRegistry, gitCommitter PodGitCommitter, projectRepo port.ProjectRepository, - cfg SDLCOrchestratorConfig, ) *SDLCOrchestratorService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } return &SDLCOrchestratorService{ sdlcService: sdlcService, agentRegistry: agentRegistry, gitCommitter: gitCommitter, projectRepo: projectRepo, - logger: logger.With("component", "sdlc-orchestrator"), } } @@ -134,8 +122,9 @@ func (s *SDLCOrchestratorService) ExecuteAction(ctx context.Context, projectID s } func (s *SDLCOrchestratorService) executeTransition(ctx context.Context, projectID string, cl *sdlc.Classification) error { - s.logger.Info("executing transition", - "project", projectID, + log := logging.FromContext(ctx).WithService("sdlc_orchestrator") + log.Info("executing transition", + logging.FieldProjectID, projectID, "feature", cl.Feature, "to_phase", string(cl.TransitionTo), ) @@ -180,8 +169,9 @@ func (s *SDLCOrchestratorService) executeAgentAction(ctx context.Context, projec }, } - s.logger.Info("dispatching agent action", - "project", projectID, + log := logging.FromContext(ctx).WithService("sdlc_orchestrator") + log.Info("dispatching agent action", + logging.FieldProjectID, projectID, "feature", cl.Feature, "action", string(cl.Action), "agent", agent.Name(), @@ -207,7 +197,8 @@ func (s *SDLCOrchestratorService) ResolveBlocker(ctx context.Context, projectID return nil, err } - s.logger.Info("blocker resolved", "project", projectID, "feature", req.Feature) + log := logging.FromContext(ctx).WithService("sdlc_orchestrator") + log.Info("blocker resolved", logging.FieldProjectID, projectID, "feature", req.Feature) cl, err := s.sdlcService.GetNext(ctx, projectID, req.Feature) if err != nil { @@ -247,8 +238,9 @@ func (s *SDLCOrchestratorService) CommitChanges(ctx context.Context, projectID s return nil, gitResult.Error } - s.logger.Info("changes committed", - "project", projectID, + log := logging.FromContext(ctx).WithService("sdlc_orchestrator") + log.Info("changes committed", + logging.FieldProjectID, projectID, "sha", gitResult.CommitSHA, "files", len(gitResult.FilesChanged), "pushed", gitResult.Pushed, diff --git a/internal/service/sdlc_orchestrator_test.go b/internal/service/sdlc_orchestrator_test.go index 863b653..4223d55 100644 --- a/internal/service/sdlc_orchestrator_test.go +++ b/internal/service/sdlc_orchestrator_test.go @@ -69,8 +69,8 @@ func (a *mockCodeAgent) Execute(_ context.Context, _ *domain.AgentRequest, handl } func newTestOrchestrator(exec *mockSDLCExecutor, repo *mockProjectRepo, registry port.CodeAgentRegistry, committer PodGitCommitter) *SDLCOrchestratorService { - sdlcSvc := NewSDLCService(exec, repo, SDLCServiceConfig{}) - return NewSDLCOrchestratorService(sdlcSvc, registry, committer, repo, SDLCOrchestratorConfig{}) + sdlcSvc := NewSDLCService(exec, repo) + return NewSDLCOrchestratorService(sdlcSvc, registry, committer, repo) } func TestOrchestrator_ExecuteAction_Idle(t *testing.T) { diff --git a/internal/service/sdlc_service.go b/internal/service/sdlc_service.go index d21b2d9..0fa3377 100644 --- a/internal/service/sdlc_service.go +++ b/internal/service/sdlc_service.go @@ -2,360 +2,412 @@ package service import ( "context" - "fmt" - "log/slog" + "database/sql" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/internal/sdlc" ) // SDLCService provides SDLC operations for projects. -// It resolves project IDs to pod names and delegates to the SDLCExecutor. +// It supports dual execution paths: +// 1. Pod executor: kubectl exec into project pods (for projects with dedicated pods) +// 2. Worker executor: enqueue tasks to worker pool (for skeleton/monorepo projects) type SDLCService struct { - sdlcExec port.SDLCExecutor - projectRepo port.ProjectRepository - logger *slog.Logger + podExecutor port.SDLCExecutor // kubectl exec path (projects with pods) + workerExecutor port.SDLCExecutor // worker pool path (skeleton projects) + projectRepo port.ProjectRepository + db *sql.DB // For checking project existence in database } -// SDLCServiceConfig configures the SDLC service. -type SDLCServiceConfig struct { - Logger *slog.Logger -} - -// NewSDLCService creates a new SDLC service. -func NewSDLCService(sdlcExec port.SDLCExecutor, projectRepo port.ProjectRepository, cfg SDLCServiceConfig) *SDLCService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } +// NewSDLCService creates a new SDLC service with a single executor. +// For dual executor support, use NewSDLCServiceWithWorker. +func NewSDLCService(sdlcExec port.SDLCExecutor, projectRepo port.ProjectRepository) *SDLCService { return &SDLCService{ - sdlcExec: sdlcExec, + podExecutor: sdlcExec, projectRepo: projectRepo, - logger: logger.With("component", "sdlc-service"), } } -// resolveProjectPod looks up a project and returns its pod name. -func (s *SDLCService) resolveProjectPod(ctx context.Context, projectID string) (string, error) { +// NewSDLCServiceWithWorker creates an SDLC service with both pod and worker executors. +// The service automatically routes to the appropriate executor based on project pod availability. +func NewSDLCServiceWithWorker( + podExecutor port.SDLCExecutor, + workerExecutor port.SDLCExecutor, + projectRepo port.ProjectRepository, + db *sql.DB, +) *SDLCService { + return &SDLCService{ + podExecutor: podExecutor, + workerExecutor: workerExecutor, + projectRepo: projectRepo, + db: db, + } +} + +// resolveExecutor determines which executor to use for a project. +// Returns (executor, target, error) where target is podName for pod executor +// or projectID for worker executor. +func (s *SDLCService) resolveExecutor(ctx context.Context, projectID string) (port.SDLCExecutor, string, error) { + // Try K8s repo first (projects with dedicated pods) project, err := s.projectRepo.Get(ctx, domain.ProjectID(projectID)) - if err != nil { - return "", domain.ErrProjectNotFound + if err == nil && project.PodName != "" { + return s.podExecutor, project.PodName, nil } - if project.PodName == "" { - return "", fmt.Errorf("project %s has no pod", projectID) + + // If no worker executor configured, fall back to the old behavior + if s.workerExecutor == nil { + if err != nil { + return nil, "", domain.ErrProjectNotFound + } + // Project exists but has no pod - this is the error case we're trying to fix + return nil, "", domain.ErrProjectNotFound } - return project.PodName, nil + + // Check if project exists in database (skeleton projects) + if s.db != nil { + log := logging.FromContext(ctx).WithService("sdlc") + var exists bool + dbErr := s.db.QueryRowContext(ctx, `SELECT EXISTS(SELECT 1 FROM projects WHERE id = $1)`, projectID).Scan(&exists) + if dbErr != nil { + log.Warn("failed to check project existence in database", + logging.FieldProjectID, projectID, + logging.FieldError, dbErr, + ) + // Fall through to project not found + } else if exists { + // Project exists in database but no pod - use worker executor + log.Info("using worker executor for skeleton project", logging.FieldProjectID, projectID) + return s.workerExecutor, projectID, nil + } + } + + return nil, "", domain.ErrProjectNotFound } // GetState returns the global SDLC state for a project. func (s *SDLCService) GetState(ctx context.Context, projectID string) (*sdlc.State, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.GetState(ctx, podName) + return exec.GetState(ctx, target) } // GetNext returns the classifier's recommendation for the next action. func (s *SDLCService) GetNext(ctx context.Context, projectID, feature string) (*sdlc.Classification, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.GetNext(ctx, podName, feature) + return exec.GetNext(ctx, target, feature) } // ListFeatures returns all features in a project. func (s *SDLCService) ListFeatures(ctx context.Context, projectID string) ([]*sdlc.Feature, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.ListFeatures(ctx, podName) + return exec.ListFeatures(ctx, target) } // GetFeature returns a single feature by slug. func (s *SDLCService) GetFeature(ctx context.Context, projectID, slug string) (*sdlc.Feature, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.GetFeature(ctx, podName, slug) + return exec.GetFeature(ctx, target, slug) } // CreateFeature creates a new feature. func (s *SDLCService) CreateFeature(ctx context.Context, projectID, slug, title string) (*sdlc.Feature, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - f, err := s.sdlcExec.CreateFeature(ctx, podName, slug, title) + f, err := exec.CreateFeature(ctx, target, slug, title) if err != nil { return nil, err } - s.logger.Info("feature created", "project", projectID, "feature", slug) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("feature created", logging.FieldProjectID, projectID, "feature", slug) return f, nil } // TransitionFeature moves a feature to the specified phase. func (s *SDLCService) TransitionFeature(ctx context.Context, projectID, slug string, phase sdlc.FeaturePhase) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.TransitionFeature(ctx, podName, slug, phase); err != nil { - s.logger.Error("transition feature failed", "project", projectID, "feature", slug, "phase", string(phase), "error", err) + log := logging.FromContext(ctx).WithService("sdlc") + if err := exec.TransitionFeature(ctx, target, slug, phase); err != nil { + log.Error("transition feature failed", logging.FieldProjectID, projectID, "feature", slug, "phase", string(phase), logging.FieldError, err) return err } - s.logger.Info("feature transitioned", "project", projectID, "feature", slug, "phase", string(phase)) + log.Info("feature transitioned", logging.FieldProjectID, projectID, "feature", slug, "phase", string(phase)) return nil } // BlockFeature adds a blocker reason to a feature. func (s *SDLCService) BlockFeature(ctx context.Context, projectID, slug, reason string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.BlockFeature(ctx, podName, slug, reason); err != nil { + if err := exec.BlockFeature(ctx, target, slug, reason); err != nil { return err } - s.logger.Info("feature blocked", "project", projectID, "feature", slug, "reason", reason) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("feature blocked", logging.FieldProjectID, projectID, "feature", slug, "reason", reason) return nil } // UnblockFeature removes all blockers from a feature. func (s *SDLCService) UnblockFeature(ctx context.Context, projectID, slug string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.UnblockFeature(ctx, podName, slug); err != nil { + if err := exec.UnblockFeature(ctx, target, slug); err != nil { return err } - s.logger.Info("feature unblocked", "project", projectID, "feature", slug) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("feature unblocked", logging.FieldProjectID, projectID, "feature", slug) return nil } // DeleteFeature removes a feature entirely. func (s *SDLCService) DeleteFeature(ctx context.Context, projectID, slug string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.DeleteFeature(ctx, podName, slug); err != nil { + if err := exec.DeleteFeature(ctx, target, slug); err != nil { return err } - s.logger.Info("feature deleted", "project", projectID, "feature", slug) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("feature deleted", logging.FieldProjectID, projectID, "feature", slug) return nil } // GetArtifactStatus returns artifact statuses for a feature. func (s *SDLCService) GetArtifactStatus(ctx context.Context, projectID, slug string) (map[sdlc.ArtifactType]*sdlc.Artifact, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.GetArtifactStatus(ctx, podName, slug) + return exec.GetArtifactStatus(ctx, target, slug) } // ApproveArtifact approves a feature artifact. func (s *SDLCService) ApproveArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.ApproveArtifact(ctx, podName, slug, artType); err != nil { + if err := exec.ApproveArtifact(ctx, target, slug, artType); err != nil { return err } - s.logger.Info("artifact approved", "project", projectID, "feature", slug, "artifact", string(artType)) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("artifact approved", logging.FieldProjectID, projectID, "feature", slug, "artifact", string(artType)) return nil } // RejectArtifact rejects a feature artifact. func (s *SDLCService) RejectArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.RejectArtifact(ctx, podName, slug, artType); err != nil { + if err := exec.RejectArtifact(ctx, target, slug, artType); err != nil { return err } - s.logger.Info("artifact rejected", "project", projectID, "feature", slug, "artifact", string(artType)) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("artifact rejected", logging.FieldProjectID, projectID, "feature", slug, "artifact", string(artType)) return nil } // PassArtifact marks a feature artifact as passed. func (s *SDLCService) PassArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.PassArtifact(ctx, podName, slug, artType); err != nil { + if err := exec.PassArtifact(ctx, target, slug, artType); err != nil { return err } - s.logger.Info("artifact passed", "project", projectID, "feature", slug, "artifact", string(artType)) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("artifact passed", logging.FieldProjectID, projectID, "feature", slug, "artifact", string(artType)) return nil } // FailArtifact marks a feature artifact as failed. func (s *SDLCService) FailArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.FailArtifact(ctx, podName, slug, artType); err != nil { + if err := exec.FailArtifact(ctx, target, slug, artType); err != nil { return err } - s.logger.Info("artifact failed", "project", projectID, "feature", slug, "artifact", string(artType)) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("artifact failed", logging.FieldProjectID, projectID, "feature", slug, "artifact", string(artType)) return nil } // NeedsFixArtifact marks a feature artifact as needing fixes. func (s *SDLCService) NeedsFixArtifact(ctx context.Context, projectID, slug string, artType sdlc.ArtifactType) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.NeedsFixArtifact(ctx, podName, slug, artType); err != nil { + if err := exec.NeedsFixArtifact(ctx, target, slug, artType); err != nil { return err } - s.logger.Info("artifact needs fix", "project", projectID, "feature", slug, "artifact", string(artType)) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("artifact needs fix", logging.FieldProjectID, projectID, "feature", slug, "artifact", string(artType)) return nil } // ListTasks returns all tasks for a feature. func (s *SDLCService) ListTasks(ctx context.Context, projectID, slug string) ([]sdlc.Task, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.ListTasks(ctx, podName, slug) + return exec.ListTasks(ctx, target, slug) } // AddTask adds a new task to a feature. func (s *SDLCService) AddTask(ctx context.Context, projectID, slug, title string) (*sdlc.Task, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.AddTask(ctx, podName, slug, title) + return exec.AddTask(ctx, target, slug, title) } // StartTask marks a task as in-progress. func (s *SDLCService) StartTask(ctx context.Context, projectID, slug, taskID string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - return s.sdlcExec.StartTask(ctx, podName, slug, taskID) + return exec.StartTask(ctx, target, slug, taskID) } // CompleteTask marks a task as complete. func (s *SDLCService) CompleteTask(ctx context.Context, projectID, slug, taskID string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - return s.sdlcExec.CompleteTask(ctx, podName, slug, taskID) + return exec.CompleteTask(ctx, target, slug, taskID) } // BlockTask marks a task as blocked. func (s *SDLCService) BlockTask(ctx context.Context, projectID, slug, taskID string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - return s.sdlcExec.BlockTask(ctx, podName, slug, taskID) + return exec.BlockTask(ctx, target, slug, taskID) } // QueryBlocked returns all blocked features in a project. func (s *SDLCService) QueryBlocked(ctx context.Context, projectID string) ([]port.BlockedInfo, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.QueryBlocked(ctx, podName) + return exec.QueryBlocked(ctx, target) } // QueryReady returns features ready for work in a project. func (s *SDLCService) QueryReady(ctx context.Context, projectID string) ([]port.ReadyInfo, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.QueryReady(ctx, podName) + return exec.QueryReady(ctx, target) } // QueryNeedsApproval returns features awaiting approval in a project. func (s *SDLCService) QueryNeedsApproval(ctx context.Context, projectID string) ([]port.ApprovalInfo, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.QueryNeedsApproval(ctx, podName) + return exec.QueryNeedsApproval(ctx, target) } // CreateBranch creates a feature branch and its manifest. func (s *SDLCService) CreateBranch(ctx context.Context, projectID, slug string) (*sdlc.BranchManifest, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - m, err := s.sdlcExec.CreateBranch(ctx, podName, slug) + m, err := exec.CreateBranch(ctx, target, slug) if err != nil { return nil, err } - s.logger.Info("branch created", "project", projectID, "feature", slug, "branch", m.Name) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("branch created", logging.FieldProjectID, projectID, "feature", slug, "branch", m.Name) return m, nil } // GetBranchStatus returns the full branch status including checklist. func (s *SDLCService) GetBranchStatus(ctx context.Context, projectID, slug string) (*port.BranchStatus, error) { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return nil, err } - return s.sdlcExec.GetBranchStatus(ctx, podName, slug) + return exec.GetBranchStatus(ctx, target, slug) } // SyncBranch syncs a feature branch with its base branch. func (s *SDLCService) SyncBranch(ctx context.Context, projectID, slug string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.SyncBranch(ctx, podName, slug); err != nil { + if err := exec.SyncBranch(ctx, target, slug); err != nil { return err } - s.logger.Info("branch synced", "project", projectID, "feature", slug) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("branch synced", logging.FieldProjectID, projectID, "feature", slug) return nil } // MergeFeature merges a feature branch after all gates pass. func (s *SDLCService) MergeFeature(ctx context.Context, projectID, slug, strategy string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.MergeFeature(ctx, podName, slug, strategy); err != nil { - s.logger.Error("merge feature failed", "project", projectID, "feature", slug, "error", err) + log := logging.FromContext(ctx).WithService("sdlc") + if err := exec.MergeFeature(ctx, target, slug, strategy); err != nil { + log.Error("merge feature failed", logging.FieldProjectID, projectID, "feature", slug, logging.FieldError, err) return err } - s.logger.Info("feature merged", "project", projectID, "feature", slug, "strategy", strategy) + log.Info("feature merged", logging.FieldProjectID, projectID, "feature", slug, "strategy", strategy) return nil } // ArchiveFeature archives a released feature. func (s *SDLCService) ArchiveFeature(ctx context.Context, projectID, slug string) error { - podName, err := s.resolveProjectPod(ctx, projectID) + exec, target, err := s.resolveExecutor(ctx, projectID) if err != nil { return err } - if err := s.sdlcExec.ArchiveFeature(ctx, podName, slug); err != nil { + if err := exec.ArchiveFeature(ctx, target, slug); err != nil { return err } - s.logger.Info("feature archived", "project", projectID, "feature", slug) + log := logging.FromContext(ctx).WithService("sdlc") + log.Info("feature archived", logging.FieldProjectID, projectID, "feature", slug) return nil } diff --git a/internal/service/sdlc_service_test.go b/internal/service/sdlc_service_test.go index b73c168..aebe654 100644 --- a/internal/service/sdlc_service_test.go +++ b/internal/service/sdlc_service_test.go @@ -273,7 +273,7 @@ func (m *mockProjectRepo) Unregister(_ context.Context, _ domain.ProjectID) erro func (m *mockProjectRepo) RefreshStatus(_ context.Context) error { return nil } func newTestService(exec port.SDLCExecutor, repo *mockProjectRepo) *SDLCService { - return NewSDLCService(exec, repo, SDLCServiceConfig{}) + return NewSDLCService(exec, repo) } func TestSDLCService_GetState(t *testing.T) { @@ -440,3 +440,55 @@ func TestSDLCService_AddTask(t *testing.T) { t.Errorf("expected title 'Add login form', got %s", task.Title) } } + +func TestSDLCService_DualExecutor_UsesPodExecutor(t *testing.T) { + // When project has a pod, should use pod executor + repo := newMockProjectRepo(&domain.Project{ + ID: "pod-project", + PodName: "pod-project-pod", + }) + podExec := &mockSDLCExecutor{ + getStateFn: func(_ context.Context, podName string) (*sdlc.State, error) { + if podName != "pod-project-pod" { + t.Errorf("expected podName 'pod-project-pod', got %s", podName) + } + return &sdlc.State{Version: 1}, nil + }, + } + workerExec := &mockSDLCExecutor{ + getStateFn: func(_ context.Context, _ string) (*sdlc.State, error) { + t.Error("worker executor should not be called for project with pod") + return nil, nil + }, + } + + svc := NewSDLCServiceWithWorker(podExec, workerExec, repo, nil) + + state, err := svc.GetState(context.Background(), "pod-project") + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if state.Version != 1 { + t.Errorf("expected version 1, got %d", state.Version) + } +} + +func TestSDLCService_DualExecutor_FallbackToOldBehavior(t *testing.T) { + // When no worker executor configured and project has no pod, should return error + repo := newMockProjectRepo(&domain.Project{ + ID: "no-pod-project", + PodName: "", // No pod + }) + podExec := &mockSDLCExecutor{} + + // Using NewSDLCService (single executor) should fail for project without pod + svc := NewSDLCService(podExec, repo) + + _, err := svc.GetState(context.Background(), "no-pod-project") + if err == nil { + t.Error("expected error for project without pod when no worker executor") + } + if !errors.Is(err, domain.ErrProjectNotFound) { + t.Errorf("expected ErrProjectNotFound, got %v", err) + } +} diff --git a/internal/service/verify_service.go b/internal/service/verify_service.go index a4921eb..0f4b825 100644 --- a/internal/service/verify_service.go +++ b/internal/service/verify_service.go @@ -4,27 +4,22 @@ package service import ( "context" "fmt" - "log/slog" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) // VerifyService orchestrates verify task submission and tracking. // It coordinates between the work queue (execution) for visual captures. type VerifyService struct { - queue port.WorkQueue - logger *slog.Logger + queue port.WorkQueue } // NewVerifyService creates a new verify service. -func NewVerifyService(queue port.WorkQueue, logger *slog.Logger) *VerifyService { - if logger == nil { - logger = slog.Default() - } +func NewVerifyService(queue port.WorkQueue) *VerifyService { return &VerifyService{ - queue: queue, - logger: logger.With("service", "verify"), + queue: queue, } } @@ -76,9 +71,10 @@ func (s *VerifyService) SubmitCapture(ctx context.Context, projectID string, spe return "", fmt.Errorf("enqueue verify task: %w", err) } - s.logger.Info("verify task enqueued", + log := logging.FromContext(ctx).WithService("verify") + log.Info("verify task enqueued", "task_id", taskID, - "project_id", projectID, + logging.FieldProjectID, projectID, "url", specWithDefaults.URL, "viewports", specWithDefaults.Viewports, ) diff --git a/internal/service/work_service.go b/internal/service/work_service.go index d69f028..532d9a0 100644 --- a/internal/service/work_service.go +++ b/internal/service/work_service.go @@ -4,9 +4,9 @@ package service import ( "context" "fmt" - "log/slog" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" "github.com/orchard9/rdev/internal/webhook" ) @@ -16,23 +16,12 @@ import ( type WorkService struct { queue port.WorkQueue webhookDispatcher *webhook.Dispatcher - logger *slog.Logger -} - -// WorkServiceConfig configures the work service. -type WorkServiceConfig struct { - Logger *slog.Logger } // NewWorkService creates a new work service. -func NewWorkService(queue port.WorkQueue, cfg WorkServiceConfig) *WorkService { - logger := cfg.Logger - if logger == nil { - logger = slog.Default() - } +func NewWorkService(queue port.WorkQueue) *WorkService { return &WorkService{ - queue: queue, - logger: logger, + queue: queue, } } @@ -72,9 +61,10 @@ func (s *WorkService) EnqueueTask(ctx context.Context, req EnqueueTaskRequest) ( return nil, fmt.Errorf("enqueue task: %w", err) } - s.logger.Info("task enqueued", + log := logging.FromContext(ctx).WithService("work") + log.Info("task enqueued", "task_id", taskID, - "project", req.ProjectID, + logging.FieldProjectID, req.ProjectID, "type", req.Type, "priority", req.Priority, ) @@ -97,10 +87,11 @@ func (s *WorkService) DequeueTask(ctx context.Context, workerID string) (*domain } if task != nil { - s.logger.Info("task claimed by worker", + log := logging.FromContext(ctx).WithService("work") + log.Info("task claimed by worker", "task_id", task.ID, "worker_id", workerID, - "project", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, ) } @@ -120,9 +111,10 @@ func (s *WorkService) CompleteTask(ctx context.Context, taskID string, result *d return fmt.Errorf("complete task: %w", err) } - s.logger.Info("task completed", + log := logging.FromContext(ctx).WithService("work") + log.Info("task completed", "task_id", taskID, - "project", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, ) @@ -153,15 +145,16 @@ func (s *WorkService) FailTaskWithCode(ctx context.Context, taskID string, errMs } // Check if it was requeued or permanently failed + log := logging.FromContext(ctx).WithService("work") updatedTask, _ := s.queue.GetTask(ctx, taskID) if updatedTask != nil && updatedTask.Status == domain.WorkTaskStatusFailed { - s.logger.Warn("task failed permanently", + log.Warn("task failed permanently", "task_id", taskID, - "project", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, - "error", errMsg, + logging.FieldError, errMsg, "error_code", code, - "retry_count", task.RetryCount, + logging.FieldRetryCount, task.RetryCount, ) // Send webhook notification for permanent failure @@ -169,12 +162,12 @@ func (s *WorkService) FailTaskWithCode(ctx context.Context, taskID string, errMs s.notifyCallback(task, "failed", nil, errMsg) } } else { - s.logger.Warn("task failed, will retry", + log.Warn("task failed, will retry", "task_id", taskID, - "project", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, - "error", errMsg, - "retry_count", task.RetryCount+1, + logging.FieldError, errMsg, + logging.FieldRetryCount, task.RetryCount+1, ) } @@ -192,9 +185,10 @@ func (s *WorkService) CancelTask(ctx context.Context, taskID string) error { return err } - s.logger.Info("task cancelled", + log := logging.FromContext(ctx).WithService("work") + log.Info("task cancelled", "task_id", taskID, - "project", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, ) @@ -244,10 +238,11 @@ func (s *WorkService) notifyCallback(task *domain.WorkTask, status string, resul // Dispatch webhook asynchronously go func() { if err := s.webhookDispatcher.DispatchToURL(task.CallbackURL, "work."+status, payload); err != nil { - s.logger.Error("failed to send callback", + log := logging.Default().WithService("work") + log.Error("failed to send callback", "task_id", task.ID, "callback_url", task.CallbackURL, - "error", err, + logging.FieldError, err.Error(), ) } }() diff --git a/internal/service/work_service_test.go b/internal/service/work_service_test.go index c559df4..cc03bbd 100644 --- a/internal/service/work_service_test.go +++ b/internal/service/work_service_test.go @@ -9,7 +9,7 @@ import ( func newTestWorkService() (*WorkService, *mockWorkQueue) { q := newMockWorkQueue() - svc := NewWorkService(q, WorkServiceConfig{}) + svc := NewWorkService(q) return svc, q } diff --git a/internal/service/worker_service.go b/internal/service/worker_service.go index df87813..293f545 100644 --- a/internal/service/worker_service.go +++ b/internal/service/worker_service.go @@ -3,10 +3,10 @@ package service import ( "context" - "log/slog" "time" "github.com/orchard9/rdev/internal/domain" + "github.com/orchard9/rdev/internal/logging" "github.com/orchard9/rdev/internal/port" ) @@ -25,22 +25,16 @@ type WorkerService struct { registry port.WorkerRegistry queue port.WorkQueue audit port.BuildAudit - logger *slog.Logger } // NewWorkerService creates a new worker service. func NewWorkerService( registry port.WorkerRegistry, queue port.WorkQueue, - logger *slog.Logger, ) *WorkerService { - if logger == nil { - logger = slog.Default() - } return &WorkerService{ registry: registry, queue: queue, - logger: logger.With("service", "worker"), } } @@ -64,7 +58,8 @@ func (s *WorkerService) Register(ctx context.Context, worker *domain.Worker) err return err } - s.logger.Info("worker registered", + log := logging.FromContext(ctx).WithService("worker") + log.Info("worker registered", "worker_id", worker.ID, "hostname", worker.Hostname, "version", worker.Version, @@ -85,7 +80,8 @@ func (s *WorkerService) Deregister(ctx context.Context, workerID string) error { return err } - s.logger.Info("worker deregistered", "worker_id", workerID) + log := logging.FromContext(ctx).WithService("worker") + log.Info("worker deregistered", "worker_id", workerID) return nil } @@ -109,30 +105,32 @@ func (s *WorkerService) ClaimTask(ctx context.Context, workerID string) (*domain return nil, nil // No tasks available } + log := logging.FromContext(ctx).WithService("worker") + // Mark worker as busy with the claimed task if err := s.registry.UpdateStatus(ctx, workerID, domain.WorkerStatusBusy, task.ID); err != nil { - s.logger.Warn("failed to update worker status after claim", + log.Warn("failed to update worker status after claim", "worker_id", workerID, "task_id", task.ID, - "error", err, + logging.FieldError, err, ) } // Update audit entry if available - persist status change to database if s.audit != nil { if err := s.audit.UpdateStatus(ctx, task.ID, domain.BuildStatusRunning, workerID); err != nil { - s.logger.Warn("failed to update audit status after claim", + log.Warn("failed to update audit status after claim", "task_id", task.ID, "worker_id", workerID, - "error", err, + logging.FieldError, err, ) } } - s.logger.Info("task claimed", + log.Info("task claimed", "task_id", task.ID, "worker_id", workerID, - "project_id", task.ProjectID, + logging.FieldProjectID, task.ProjectID, "type", task.Type, ) @@ -145,6 +143,8 @@ func (s *WorkerService) CompleteTask(ctx context.Context, workerID, taskID strin result = &domain.BuildResult{} } + log := logging.FromContext(ctx).WithService("worker") + // Convert domain build result to work result bwr := result.ToWorkResult() workResult := &domain.WorkResult{ @@ -155,9 +155,9 @@ func (s *WorkerService) CompleteTask(ctx context.Context, workerID, taskID strin // Update audit record (non-critical) if s.audit != nil { if err := s.audit.Update(ctx, taskID, result); err != nil { - s.logger.Warn("failed to update audit", + log.Warn("failed to update audit", "task_id", taskID, - "error", err, + logging.FieldError, err, ) } } @@ -169,17 +169,17 @@ func (s *WorkerService) CompleteTask(ctx context.Context, workerID, taskID strin // Return worker to idle if err := s.registry.UpdateStatus(ctx, workerID, domain.WorkerStatusIdle, ""); err != nil { - s.logger.Warn("failed to return worker to idle", + log.Warn("failed to return worker to idle", "worker_id", workerID, - "error", err, + logging.FieldError, err, ) } - s.logger.Info("task completed", + log.Info("task completed", "task_id", taskID, "worker_id", workerID, "success", result.Success, - "duration_ms", result.DurationMs, + logging.FieldDuration, result.DurationMs, ) return nil @@ -193,12 +193,14 @@ func (s *WorkerService) FailTask(ctx context.Context, workerID, taskID string, r result = &domain.BuildResult{Success: false, Error: "unknown error"} } + log := logging.FromContext(ctx).WithService("worker") + // Update audit record with failure (non-critical) if s.audit != nil { if err := s.audit.Update(ctx, taskID, result); err != nil { - s.logger.Warn("failed to update audit on failure", + log.Warn("failed to update audit on failure", "task_id", taskID, - "error", err, + logging.FieldError, err, ) } } @@ -211,16 +213,16 @@ func (s *WorkerService) FailTask(ctx context.Context, workerID, taskID string, r // Return worker to idle if err := s.registry.UpdateStatus(ctx, workerID, domain.WorkerStatusIdle, ""); err != nil { - s.logger.Warn("failed to return worker to idle after failure", + log.Warn("failed to return worker to idle after failure", "worker_id", workerID, - "error", err, + logging.FieldError, err, ) } - s.logger.Info("task failed", + log.Info("task failed", "task_id", taskID, "worker_id", workerID, - "error", result.Error, + logging.FieldError, result.Error, ) return nil @@ -244,7 +246,8 @@ func (s *WorkerService) DrainWorker(ctx context.Context, workerID string) error return err } - s.logger.Info("worker draining", + log := logging.FromContext(ctx).WithService("worker") + log.Info("worker draining", "worker_id", workerID, "current_task", worker.CurrentTask, ) @@ -258,7 +261,8 @@ func (s *WorkerService) StartHealthChecker(ctx context.Context) { ticker := time.NewTicker(DefaultHeartbeatInterval) defer ticker.Stop() - s.logger.Info("worker health checker started", + log := logging.Default().WithService("worker") + log.Info("worker health checker started", "interval", DefaultHeartbeatInterval, "stale_threshold", DefaultStaleThreshold, ) @@ -266,14 +270,14 @@ func (s *WorkerService) StartHealthChecker(ctx context.Context) { for { select { case <-ctx.Done(): - s.logger.Info("worker health checker stopped") + log.Info("worker health checker stopped") return case <-ticker.C: count, err := s.registry.MarkStaleOffline(ctx, DefaultStaleThreshold) if err != nil { - s.logger.Error("failed to mark stale workers", "error", err) + log.Error("failed to mark stale workers", logging.FieldError, err) } else if count > 0 { - s.logger.Warn("marked workers offline", "count", count) + log.Warn("marked workers offline", "count", count) } } } diff --git a/internal/service/worker_service_test.go b/internal/service/worker_service_test.go index 1e728fb..efd5425 100644 --- a/internal/service/worker_service_test.go +++ b/internal/service/worker_service_test.go @@ -15,7 +15,7 @@ func TestWorkerService_Register(t *testing.T) { t.Run("registers valid worker", func(t *testing.T) { registry := newMockWorkerRegistry() queue := newMockWorkQueue() - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) err := svc.Register(ctx, &domain.Worker{ ID: "worker-1", @@ -42,7 +42,7 @@ func TestWorkerService_Register(t *testing.T) { t.Run("validates worker", func(t *testing.T) { registry := newMockWorkerRegistry() queue := newMockWorkQueue() - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) err := svc.Register(ctx, &domain.Worker{}) if err == nil { @@ -63,7 +63,7 @@ func TestWorkerService_Heartbeat(t *testing.T) { LastHeartbeat: time.Now().Add(-30 * time.Second), } - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) err := svc.Heartbeat(ctx, "worker-1") if err != nil { @@ -79,7 +79,7 @@ func TestWorkerService_Heartbeat(t *testing.T) { t.Run("returns error for nonexistent worker", func(t *testing.T) { registry := newMockWorkerRegistry() - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) err := svc.Heartbeat(ctx, "nonexistent") if err == nil { @@ -99,7 +99,7 @@ func TestWorkerService_Deregister(t *testing.T) { Status: domain.WorkerStatusIdle, } - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) err := svc.Deregister(ctx, "worker-1") if err != nil { @@ -132,7 +132,7 @@ func TestWorkerService_ClaimTask(t *testing.T) { CreatedAt: time.Now(), } - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) task, err := svc.ClaimTask(ctx, "worker-1") if err != nil { @@ -164,7 +164,7 @@ func TestWorkerService_ClaimTask(t *testing.T) { } queue := newMockWorkQueue() - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) task, err := svc.ClaimTask(ctx, "worker-1") if err != nil { @@ -199,7 +199,7 @@ func TestWorkerService_ClaimTask(t *testing.T) { Status: domain.BuildStatusPending, } - svc := NewWorkerService(registry, queue, nil).WithBuildAudit(audit) + svc := NewWorkerService(registry, queue).WithBuildAudit(audit) task, err := svc.ClaimTask(ctx, "worker-1") if err != nil { @@ -241,7 +241,7 @@ func TestWorkerService_CompleteTask(t *testing.T) { WorkerID: "worker-1", } - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) err := svc.CompleteTask(ctx, "worker-1", "task-1", &domain.BuildResult{ Success: true, @@ -284,7 +284,7 @@ func TestWorkerService_CompleteTask(t *testing.T) { WorkerID: "worker-1", } - svc := NewWorkerService(registry, queue, nil) + svc := NewWorkerService(registry, queue) err := svc.CompleteTask(ctx, "worker-1", "task-1", nil) if err != nil { @@ -307,7 +307,7 @@ func TestWorkerService_ListWorkers(t *testing.T) { registry.workers["worker-2"] = &domain.Worker{ID: "worker-2", Status: domain.WorkerStatusBusy} registry.workers["worker-3"] = &domain.Worker{ID: "worker-3", Status: domain.WorkerStatusIdle} - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) t.Run("lists all workers", func(t *testing.T) { workers, err := svc.ListWorkers(ctx, port.WorkerFilter{}) @@ -343,7 +343,7 @@ func TestWorkerService_DrainWorker(t *testing.T) { CurrentTask: "task-1", } - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) err := svc.DrainWorker(ctx, "worker-1") if err != nil { @@ -362,7 +362,7 @@ func TestWorkerService_DrainWorker(t *testing.T) { t.Run("returns error for nonexistent worker", func(t *testing.T) { registry := newMockWorkerRegistry() - svc := NewWorkerService(registry, newMockWorkQueue(), nil) + svc := NewWorkerService(registry, newMockWorkQueue()) err := svc.DrainWorker(ctx, "nonexistent") if err == nil { diff --git a/internal/worker/build_executor.go b/internal/worker/build_executor.go index 5d5d396..d298c4f 100644 --- a/internal/worker/build_executor.go +++ b/internal/worker/build_executor.go @@ -73,7 +73,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom streamID := task.ID // Use task ID as stream ID for SSE // Publish BuildEventStarted event - b.publishEvent(streamID, "BuildEventStarted", map[string]any{ + b.publishEvent(streamID, BuildEventStarted, map[string]any{ "task_id": task.ID, "project_id": task.ProjectID, "started_at": start.Format(time.RFC3339), @@ -81,7 +81,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom spec, err := b.parseSpec(task.Spec) if err != nil { - b.publishEvent(streamID, "BuildEventFailed", map[string]any{ + b.publishEvent(streamID, BuildEventFailed, map[string]any{ "task_id": task.ID, "error": fmt.Sprintf("invalid build spec: %v", err), }) @@ -115,7 +115,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom // This ensures the workspace is a valid git repo before the agent runs. if (spec.AutoCommit || spec.AutoPush) && b.podGitOps != nil { if spec.GitCloneURL == "" { - b.publishEvent(streamID, "BuildEventFailed", map[string]any{ + b.publishEvent(streamID, BuildEventFailed, map[string]any{ "task_id": task.ID, "error": "git_clone_url is required when auto_commit or auto_push is enabled", }) @@ -134,7 +134,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom cloneResult := b.podGitOps.CloneRepo(ctx, podName, workDir, spec.GitCloneURL) if cloneResult.Error != nil { - b.publishEvent(streamID, "BuildEventFailed", map[string]any{ + b.publishEvent(streamID, BuildEventFailed, map[string]any{ "task_id": task.ID, "error": fmt.Sprintf("git clone failed: %v", cloneResult.Error), }) @@ -146,7 +146,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom } if cloneResult.Cloned { - b.publishEvent(streamID, "BuildEventOutput", map[string]any{ + b.publishEvent(streamID, BuildEventOutput, map[string]any{ "content": fmt.Sprintf("Cloned repository to %s", workDir), }) } @@ -178,14 +178,14 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom // Execute the agent agentResult, err := agent.Execute(ctx, agentReq, func(event domain.AgentEvent) { // Publish all agent events to the SSE stream - eventType := "BuildEventOutput" + eventType := BuildEventOutput switch event.Type { case domain.AgentEventToolUse: - eventType = "BuildEventToolUse" + eventType = BuildEventToolUse case domain.AgentEventToolResult: - eventType = "BuildEventToolResult" + eventType = BuildEventToolResult case domain.AgentEventError: - eventType = "BuildEventError" + eventType = BuildEventError } b.publishEvent(streamID, eventType, map[string]any{ "content": event.Content, @@ -212,7 +212,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom }) if err != nil { - b.publishEvent(streamID, "BuildEventFailed", map[string]any{ + b.publishEvent(streamID, BuildEventFailed, map[string]any{ "task_id": task.ID, "error": fmt.Sprintf("agent execution failed: %v", err), "duration_ms": time.Since(start).Milliseconds(), @@ -230,6 +230,20 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom Success: agentResult.Success(), Output: outputBuilder.String(), DurationMs: time.Since(start).Milliseconds(), + Artifacts: make(map[string]string), + } + + // Include SDLC context in artifacts for callback routing + if spec.SDLCContext != nil { + if spec.SDLCContext.Feature != "" { + result.Artifacts["sdlc_feature"] = spec.SDLCContext.Feature + } + if spec.SDLCContext.ArtifactType != "" { + result.Artifacts["sdlc_artifact_type"] = spec.SDLCContext.ArtifactType + } + if spec.SDLCContext.TaskID != "" { + result.Artifacts["sdlc_task_id"] = spec.SDLCContext.TaskID + } } if !agentResult.Success() { @@ -271,7 +285,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom // Publish completion event if result.Success { - b.publishEvent(streamID, "BuildEventCompleted", map[string]any{ + b.publishEvent(streamID, BuildEventCompleted, map[string]any{ "task_id": task.ID, "success": true, "commit_sha": result.CommitSHA, @@ -279,7 +293,7 @@ func (b *BuildExecutor) Execute(ctx context.Context, task *domain.WorkTask) *dom "duration_ms": result.DurationMs, }) } else { - b.publishEvent(streamID, "BuildEventFailed", map[string]any{ + b.publishEvent(streamID, BuildEventFailed, map[string]any{ "task_id": task.ID, "error": result.Error, "duration_ms": result.DurationMs, @@ -330,6 +344,15 @@ type parsedBuildSpec struct { AutoCommit bool AutoPush bool GitCloneURL string + // SDLCContext holds SDLC-specific context for callback routing. + SDLCContext *sdlcContext +} + +// sdlcContext holds SDLC-specific context extracted from the task spec. +type sdlcContext struct { + Feature string + ArtifactType string + TaskID string } // parseSpec extracts typed BuildSpec fields from the generic map[string]any. @@ -343,12 +366,31 @@ func (b *BuildExecutor) parseSpec(spec map[string]any) (*parsedBuildSpec, error) autoPush, _ := spec["auto_push"].(bool) gitCloneURL, _ := spec["git_clone_url"].(string) - return &parsedBuildSpec{ + parsed := &parsedBuildSpec{ Prompt: prompt, AutoCommit: autoCommit, AutoPush: autoPush, GitCloneURL: gitCloneURL, - }, nil + } + + // Extract SDLC context if present + if sdlcCtx, ok := spec["sdlc_context"].(map[string]any); ok { + parsed.SDLCContext = &sdlcContext{ + Feature: stringFromMap(sdlcCtx, "feature"), + ArtifactType: stringFromMap(sdlcCtx, "artifact_type"), + TaskID: stringFromMap(sdlcCtx, "task_id"), + } + } + + return parsed, nil +} + +// stringFromMap safely extracts a string from a map[string]any. +func stringFromMap(m map[string]any, key string) string { + if v, ok := m[key].(string); ok { + return v + } + return "" } // truncate shortens a string to maxLen, adding "..." if truncated. diff --git a/internal/worker/external_health.go b/internal/worker/external_health.go index e57ef86..e1308af 100644 --- a/internal/worker/external_health.go +++ b/internal/worker/external_health.go @@ -133,7 +133,7 @@ func (c *ExternalHealthChecker) checkLoop() { // runChecks performs health checks on all configured systems in parallel. func (c *ExternalHealthChecker) runChecks() { - ctx, cancel := context.WithTimeout(c.ctx, 10*time.Second) + ctx, cancel := context.WithTimeout(c.ctx, TimeoutHealthCheck) defer cancel() var wg sync.WaitGroup diff --git a/internal/worker/mock_test.go b/internal/worker/mock_test.go index 0a59b93..1bf5737 100644 --- a/internal/worker/mock_test.go +++ b/internal/worker/mock_test.go @@ -370,9 +370,9 @@ func newTestDeps() *testDeps { } agentRegistry := &mockCodeAgentRegistry{agent: agent} - workerSvc := service.NewWorkerService(registry, queue, nil). + workerSvc := service.NewWorkerService(registry, queue). WithBuildAudit(audit) - workSvc := service.NewWorkService(queue, service.WorkServiceConfig{}) + workSvc := service.NewWorkService(queue) buildExec := NewBuildExecutor(agentRegistry, nil, nil, nil, nil) diff --git a/internal/worker/operation_cleanup.go b/internal/worker/operation_cleanup.go index 3624675..c30eb4e 100644 --- a/internal/worker/operation_cleanup.go +++ b/internal/worker/operation_cleanup.go @@ -103,7 +103,7 @@ func (c *OperationCleanup) cleanupLoop() { // runCleanup deletes operations older than the retention period. func (c *OperationCleanup) runCleanup() { - ctx, cancel := context.WithTimeout(c.ctx, 30*time.Second) + ctx, cancel := context.WithTimeout(c.ctx, TimeoutMaintenance) defer cancel() cutoff := time.Now().Add(-c.retentionPeriod) diff --git a/internal/worker/queue_maintenance.go b/internal/worker/queue_maintenance.go index 2c4ab21..0639d36 100644 --- a/internal/worker/queue_maintenance.go +++ b/internal/worker/queue_maintenance.go @@ -165,7 +165,7 @@ func (m *QueueMaintenance) metricsLoop() { // runMaintenance executes all maintenance tasks. func (m *QueueMaintenance) runMaintenance() { - ctx, cancel := context.WithTimeout(m.ctx, 30*time.Second) + ctx, cancel := context.WithTimeout(m.ctx, TimeoutMaintenance) defer cancel() m.requeueStaleTasks(ctx) @@ -229,7 +229,7 @@ func (m *QueueMaintenance) cleanupOldTasks(ctx context.Context) { // refreshMetrics fetches queue stats and updates Prometheus gauges. func (m *QueueMaintenance) refreshMetrics() { - ctx, cancel := context.WithTimeout(m.ctx, 5*time.Second) + ctx, cancel := context.WithTimeout(m.ctx, TimeoutQuickOp) defer cancel() stats, err := m.queue.GetStats(ctx) diff --git a/internal/worker/queue_processor.go b/internal/worker/queue_processor.go index 8198d61..0c36e6b 100644 --- a/internal/worker/queue_processor.go +++ b/internal/worker/queue_processor.go @@ -252,7 +252,7 @@ func (p *QueueProcessor) processNextCommand(ctx context.Context, projectID strin var outputMu sync.Mutex // Execute the command - execCtx, execCancel := context.WithTimeout(ctx, 10*time.Minute) + execCtx, execCancel := context.WithTimeout(ctx, TimeoutWorkExecution) defer execCancel() execResult, execErr := p.executor.Execute(execCtx, execCmd, project.PodName, func(line domain.OutputLine) { diff --git a/internal/worker/sdlc_executor.go b/internal/worker/sdlc_executor.go new file mode 100644 index 0000000..e90eb33 --- /dev/null +++ b/internal/worker/sdlc_executor.go @@ -0,0 +1,273 @@ +package worker + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "log/slog" + "os/exec" + "strings" + "time" + + "github.com/orchard9/rdev/internal/domain" +) + +// SDLCTaskExecutor handles WorkTaskTypeSDLC tasks by executing sdlc CLI commands +// inside worker pods via kubectl exec. This enables SDLC operations on skeleton +// projects that don't have dedicated pods. +type SDLCTaskExecutor struct { + podGitOps *PodGitOperations + namespace string + logger *slog.Logger +} + +// SDLCTaskExecutorConfig holds configuration for the SDLC task executor. +type SDLCTaskExecutorConfig struct { + // Namespace is the Kubernetes namespace for kubectl exec. + Namespace string + + // PodGitOps provides git clone/commit/push operations. + PodGitOps *PodGitOperations + + Logger *slog.Logger +} + +// NewSDLCTaskExecutor creates a new SDLC task executor. +func NewSDLCTaskExecutor(cfg SDLCTaskExecutorConfig) *SDLCTaskExecutor { + logger := cfg.Logger + if logger == nil { + logger = slog.Default() + } + return &SDLCTaskExecutor{ + podGitOps: cfg.PodGitOps, + namespace: cfg.Namespace, + logger: logger.With("component", "sdlc-task-executor"), + } +} + +// Execute runs an SDLC task by cloning the repo, executing the sdlc CLI command, +// and optionally committing/pushing changes. +func (e *SDLCTaskExecutor) Execute(ctx context.Context, task *domain.WorkTask) *domain.BuildResult { + start := time.Now() + + spec, err := e.parseSpec(task.Spec) + if err != nil { + return &domain.BuildResult{ + Success: false, + Error: fmt.Sprintf("invalid SDLC spec: %v", err), + DurationMs: time.Since(start).Milliseconds(), + } + } + + // Use the first available claudebox worker pod + podName := "claudebox-0" + + // Working directory in the pod + workDir := "/workspace" + + e.logger.Info("executing SDLC task", + "task_id", task.ID, + "project_id", task.ProjectID, + "command", spec.Command, + "pod", podName, + ) + + // 1. Clone repo to worker pod + if e.podGitOps == nil { + return &domain.BuildResult{ + Success: false, + Error: "pod git operations not configured", + DurationMs: time.Since(start).Milliseconds(), + } + } + + cloneResult := e.podGitOps.CloneRepo(ctx, podName, workDir, spec.GitCloneURL) + if cloneResult.Error != nil { + return &domain.BuildResult{ + Success: false, + Error: fmt.Sprintf("git clone failed: %v", cloneResult.Error), + DurationMs: time.Since(start).Milliseconds(), + } + } + + // 2. Ensure .sdlc/ is initialized (auto-init for skeleton projects) + if err := e.ensureSDLCInit(ctx, podName, workDir); err != nil { + e.logger.Warn("sdlc init check failed, continuing anyway", + "task_id", task.ID, + "error", err, + ) + } + + // 3. Run SDLC CLI command + output, err := e.runSDLCCommand(ctx, podName, workDir, spec.Command, spec.Args) + if err != nil { + return &domain.BuildResult{ + Success: false, + Error: fmt.Sprintf("sdlc command failed: %v", err), + Output: output, + DurationMs: time.Since(start).Milliseconds(), + } + } + + result := &domain.BuildResult{ + Success: true, + Output: output, + DurationMs: time.Since(start).Milliseconds(), + } + + // 4. Commit and push if enabled + if spec.AutoCommit { + commitMsg := fmt.Sprintf("sdlc: %s", spec.Command) + gitResult := e.podGitOps.CommitAndPush(ctx, podName, workDir, commitMsg, spec.AutoPush) + if gitResult.Error != nil { + result.Success = false + result.Error = fmt.Sprintf("git operations failed: %v", gitResult.Error) + return result + } + if gitResult.HasChanges { + result.CommitSHA = gitResult.CommitSHA + result.FilesChanged = gitResult.FilesChanged + e.logger.Info("SDLC changes committed", + "task_id", task.ID, + "commit", gitResult.CommitSHA, + "files", len(gitResult.FilesChanged), + "pushed", gitResult.Pushed, + ) + } + } + + e.logger.Info("SDLC task completed", + "task_id", task.ID, + "command", spec.Command, + "duration_ms", result.DurationMs, + ) + + return result +} + +// ensureSDLCInit checks if .sdlc/ exists and runs `sdlc init` if it doesn't. +// This enables SDLC operations on skeleton projects that don't have .sdlc/ pre-initialized. +func (e *SDLCTaskExecutor) ensureSDLCInit(ctx context.Context, podName, workDir string) error { + // Check if .sdlc/ directory exists + checkArgs := []string{ + "exec", "-n", e.namespace, podName, "--", + "sh", "-c", + fmt.Sprintf("test -d %s/.sdlc && echo exists || echo missing", workDir), + } + + cmd := exec.CommandContext(ctx, "kubectl", checkArgs...) + var stdout bytes.Buffer + cmd.Stdout = &stdout + + if err := cmd.Run(); err != nil { + return fmt.Errorf("check .sdlc failed: %w", err) + } + + if strings.TrimSpace(stdout.String()) == "exists" { + return nil // Already initialized + } + + // Run sdlc init + e.logger.Info("initializing .sdlc directory", "pod", podName, "workDir", workDir) + + initArgs := []string{ + "exec", "-n", e.namespace, podName, "--", + "sh", "-c", + fmt.Sprintf("cd %s && sdlc init --json", workDir), + } + + initCmd := exec.CommandContext(ctx, "kubectl", initArgs...) + var initStdout, initStderr bytes.Buffer + initCmd.Stdout = &initStdout + initCmd.Stderr = &initStderr + + if err := initCmd.Run(); err != nil { + return fmt.Errorf("sdlc init failed: %w: %s", err, initStderr.String()) + } + + e.logger.Info("sdlc initialized", "pod", podName, "output", initStdout.String()) + return nil +} + +// runSDLCCommand executes the sdlc CLI command in the worker pod. +func (e *SDLCTaskExecutor) runSDLCCommand(ctx context.Context, podName, workDir, command string, args []string) (string, error) { + // Build the full command: sdlc {command} {args...} --json + sdlcArgs := []string{command} + sdlcArgs = append(sdlcArgs, args...) + sdlcArgs = append(sdlcArgs, "--json") + + // Build kubectl exec command + kubectlArgs := []string{ + "exec", "-n", e.namespace, podName, "--", + "sh", "-c", + fmt.Sprintf("cd %s && sdlc %s", workDir, strings.Join(sdlcArgs, " ")), + } + + cmd := exec.CommandContext(ctx, "kubectl", kubectlArgs...) + var stdout, stderr bytes.Buffer + cmd.Stdout = &stdout + cmd.Stderr = &stderr + + if err := cmd.Run(); err != nil { + return stdout.String(), fmt.Errorf("%s: %s", err, stderr.String()) + } + + return stdout.String(), nil +} + +// parsedSDLCSpec holds typed fields extracted from the task spec map. +type parsedSDLCSpec struct { + Command string + Args []string + GitCloneURL string + AutoCommit bool + AutoPush bool +} + +// parseSpec extracts typed SDLCTaskSpec fields from the generic map[string]any. +func (e *SDLCTaskExecutor) parseSpec(spec map[string]any) (*parsedSDLCSpec, error) { + command, _ := spec["command"].(string) + if command == "" { + return nil, fmt.Errorf("command is required") + } + + gitCloneURL, _ := spec["git_clone_url"].(string) + if gitCloneURL == "" { + return nil, fmt.Errorf("git_clone_url is required") + } + + autoCommit, _ := spec["auto_commit"].(bool) + autoPush, _ := spec["auto_push"].(bool) + + // Parse args (can be []string or []any from JSON) + var args []string + if argsRaw, ok := spec["args"]; ok { + switch v := argsRaw.(type) { + case []string: + args = v + case []any: + for _, a := range v { + if s, ok := a.(string); ok { + args = append(args, s) + } + } + } + } + + return &parsedSDLCSpec{ + Command: command, + Args: args, + GitCloneURL: gitCloneURL, + AutoCommit: autoCommit, + AutoPush: autoPush, + }, nil +} + +// SDLCResult represents the parsed JSON output from an SDLC command. +// Used by WorkerSDLCExecutor to parse results. +type SDLCResult struct { + Success bool `json:"success"` + Data json.RawMessage `json:"data,omitempty"` + Error string `json:"error,omitempty"` +} diff --git a/internal/worker/sdlc_executor_test.go b/internal/worker/sdlc_executor_test.go new file mode 100644 index 0000000..938e99e --- /dev/null +++ b/internal/worker/sdlc_executor_test.go @@ -0,0 +1,157 @@ +package worker + +import ( + "context" + "testing" + "time" + + "github.com/orchard9/rdev/internal/domain" +) + +func TestSDLCTaskExecutor_ParseSpec(t *testing.T) { + exec := NewSDLCTaskExecutor(SDLCTaskExecutorConfig{ + Namespace: "rdev", + }) + + t.Run("valid spec", func(t *testing.T) { + spec, err := exec.parseSpec(map[string]any{ + "command": "feature-create", + "args": []any{"auth-flow", "--title", "Authentication Flow"}, + "git_clone_url": "https://git.example.com/owner/repo.git", + "auto_commit": true, + "auto_push": true, + }) + if err != nil { + t.Fatalf("parseSpec() error = %v", err) + } + if spec.Command != "feature-create" { + t.Errorf("got command %q, want %q", spec.Command, "feature-create") + } + if len(spec.Args) != 3 { + t.Errorf("got %d args, want 3", len(spec.Args)) + } + if spec.GitCloneURL != "https://git.example.com/owner/repo.git" { + t.Errorf("got git_clone_url %q", spec.GitCloneURL) + } + if !spec.AutoCommit { + t.Error("expected auto_commit = true") + } + if !spec.AutoPush { + t.Error("expected auto_push = true") + } + }) + + t.Run("missing command", func(t *testing.T) { + _, err := exec.parseSpec(map[string]any{ + "git_clone_url": "https://git.example.com/owner/repo.git", + }) + if err == nil { + t.Error("expected error for missing command") + } + }) + + t.Run("missing git_clone_url", func(t *testing.T) { + _, err := exec.parseSpec(map[string]any{ + "command": "feature-create", + }) + if err == nil { + t.Error("expected error for missing git_clone_url") + } + }) + + t.Run("args as string slice", func(t *testing.T) { + spec, err := exec.parseSpec(map[string]any{ + "command": "feature-create", + "args": []string{"arg1", "arg2"}, + "git_clone_url": "https://git.example.com/owner/repo.git", + }) + if err != nil { + t.Fatalf("parseSpec() error = %v", err) + } + if len(spec.Args) != 2 { + t.Errorf("got %d args, want 2", len(spec.Args)) + } + }) + + t.Run("empty args", func(t *testing.T) { + spec, err := exec.parseSpec(map[string]any{ + "command": "state", + "git_clone_url": "https://git.example.com/owner/repo.git", + }) + if err != nil { + t.Fatalf("parseSpec() error = %v", err) + } + if len(spec.Args) != 0 { + t.Errorf("got %d args, want 0", len(spec.Args)) + } + }) +} + +func TestSDLCTaskExecutor_Execute_NoPodGitOps(t *testing.T) { + exec := NewSDLCTaskExecutor(SDLCTaskExecutorConfig{ + Namespace: "rdev", + PodGitOps: nil, // No git operations configured + }) + + task := &domain.WorkTask{ + ID: "task-1", + ProjectID: "project-1", + Type: domain.WorkTaskTypeSDLC, + Spec: map[string]any{ + "command": "feature-create", + "args": []any{"auth-flow"}, + "git_clone_url": "https://git.example.com/owner/repo.git", + }, + CreatedAt: time.Now(), + } + + result := exec.Execute(context.Background(), task) + if result.Success { + t.Error("expected failure when pod git operations not configured") + } + if result.Error == "" { + t.Error("expected error message") + } +} + +func TestSDLCTaskExecutor_Execute_InvalidSpec(t *testing.T) { + exec := NewSDLCTaskExecutor(SDLCTaskExecutorConfig{ + Namespace: "rdev", + }) + + task := &domain.WorkTask{ + ID: "task-1", + ProjectID: "project-1", + Type: domain.WorkTaskTypeSDLC, + Spec: map[string]any{ + // Missing required fields + }, + CreatedAt: time.Now(), + } + + result := exec.Execute(context.Background(), task) + if result.Success { + t.Error("expected failure for invalid spec") + } + if result.Error == "" { + t.Error("expected error message for invalid spec") + } +} + +func TestSDLCTaskSpec_Valid(t *testing.T) { + // Verify the domain type is valid + spec := domain.SDLCTaskSpec{ + Command: "feature-create", + Args: []string{"auth-flow", "--title", "Auth Flow"}, + GitCloneURL: "https://git.example.com/owner/repo.git", + AutoCommit: true, + AutoPush: true, + } + + if spec.Command == "" { + t.Error("command should not be empty") + } + if len(spec.Args) != 3 { + t.Errorf("got %d args, want 3", len(spec.Args)) + } +} diff --git a/internal/worker/timeouts.go b/internal/worker/timeouts.go new file mode 100644 index 0000000..2be1d04 --- /dev/null +++ b/internal/worker/timeouts.go @@ -0,0 +1,30 @@ +package worker + +import "time" + +// Worker operation timeout categories. +// +// Use these constants instead of inline magic numbers in context.WithTimeout calls. +// Choose the category that matches the operation's characteristics: +// +// - TimeoutQuickOp: simple DB queries, metrics refresh, deregistration +// - TimeoutHealthCheck: parallel health checks against external systems +// - TimeoutMaintenance: maintenance operations (requeue, cleanup, mark stale) +// - TimeoutWorkExecution: long-running work execution (commands, builds) +const ( + // TimeoutQuickOp is for simple, fast operations (metrics refresh, deregister, quick queries). + // 5 seconds. These should complete nearly instantly. + TimeoutQuickOp = 5 * time.Second + + // TimeoutHealthCheck is for health checks against external systems (registry, CI, git). + // 10 seconds. Multiple parallel checks with headroom for slow responses. + TimeoutHealthCheck = 10 * time.Second + + // TimeoutMaintenance is for maintenance operations (requeue stale tasks, cleanup old data). + // 30 seconds. These may involve multiple DB operations. + TimeoutMaintenance = 30 * time.Second + + // TimeoutWorkExecution is for executing work items (commands, builds, agent tasks). + // 10 minutes. Long-running operations that stream output. + TimeoutWorkExecution = 10 * time.Minute +) diff --git a/internal/worker/work_executor.go b/internal/worker/work_executor.go index 17c8188..405a4a8 100644 --- a/internal/worker/work_executor.go +++ b/internal/worker/work_executor.go @@ -23,6 +23,7 @@ type WorkExecutor struct { workSvc *service.WorkService buildExec *BuildExecutor verifyExec *VerifyExecutor + sdlcExec *SDLCTaskExecutor logger *slog.Logger workerID string @@ -86,6 +87,7 @@ func NewWorkExecutor( workSvc *service.WorkService, buildExec *BuildExecutor, verifyExec *VerifyExecutor, + sdlcExec *SDLCTaskExecutor, cfg *WorkExecutorConfig, ) *WorkExecutor { if cfg == nil { @@ -114,6 +116,7 @@ func NewWorkExecutor( workSvc: workSvc, buildExec: buildExec, verifyExec: verifyExec, + sdlcExec: sdlcExec, logger: cfg.Logger.With("component", "work-executor"), workerID: cfg.WorkerID, hostname: hostname, @@ -168,7 +171,7 @@ func (e *WorkExecutor) Stop() { e.wg.Wait() // Deregister (best-effort, context is cancelled so use a fresh one) - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + ctx, cancel := context.WithTimeout(context.Background(), TimeoutQuickOp) defer cancel() if err := e.workerSvc.Deregister(ctx, e.workerID); err != nil { e.logger.Warn("failed to deregister worker", "error", err) @@ -287,6 +290,14 @@ func (e *WorkExecutor) executeTask(ctx context.Context, task *domain.WorkTask) * } } return e.verifyExec.Execute(ctx, task) + case domain.WorkTaskTypeSDLC: + if e.sdlcExec == nil { + return &domain.BuildResult{ + Success: false, + Error: "sdlc executor not configured", + } + } + return e.sdlcExec.Execute(ctx, task) default: return &domain.BuildResult{ Success: false, diff --git a/internal/worker/work_executor_test.go b/internal/worker/work_executor_test.go index 1fb56bd..e20d03a 100644 --- a/internal/worker/work_executor_test.go +++ b/internal/worker/work_executor_test.go @@ -21,7 +21,7 @@ func testLogger() *slog.Logger { func TestWorkExecutor_StartAndStop(t *testing.T) { deps := newTestDeps() - executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, &WorkExecutorConfig{ + executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, nil, &WorkExecutorConfig{ WorkerID: "test-worker-1", PollPeriod: 100 * time.Millisecond, HeartbeatPeriod: 100 * time.Millisecond, @@ -75,7 +75,7 @@ func TestWorkExecutor_ClaimsAndExecutesTask(t *testing.T) { } deps.queue.mu.Unlock() - executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, &WorkExecutorConfig{ + executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, nil, &WorkExecutorConfig{ WorkerID: "test-worker-2", PollPeriod: 50 * time.Millisecond, HeartbeatPeriod: 5 * time.Second, @@ -118,7 +118,7 @@ func TestWorkExecutor_FailsTaskOnAgentError(t *testing.T) { } deps.queue.mu.Unlock() - executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, &WorkExecutorConfig{ + executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, nil, &WorkExecutorConfig{ WorkerID: "test-worker-3", PollPeriod: 50 * time.Millisecond, HeartbeatPeriod: 5 * time.Second, @@ -164,7 +164,7 @@ func TestWorkExecutor_UnsupportedTaskType(t *testing.T) { } deps.queue.mu.Unlock() - executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, &WorkExecutorConfig{ + executor := NewWorkExecutor(deps.workerSvc, deps.workSvc, deps.buildExec, nil, nil, &WorkExecutorConfig{ WorkerID: "test-worker-4", PollPeriod: 50 * time.Millisecond, HeartbeatPeriod: 5 * time.Second, diff --git a/slack-preparation-thoughts-2.md b/slack-preparation-thoughts-2.md new file mode 100644 index 0000000..5a32b8d --- /dev/null +++ b/slack-preparation-thoughts-2.md @@ -0,0 +1,75 @@ +# Slack Preparation Phase 2 (Execution Plan) + +> Based on `slack-preparation-thoughts.md`, this plan details the specific files and commands needed to enable `slackpath-1` (Identity) and `slackpath-2` (Async Workers). + +## 1. Missing Templates (Priority: High) + +We must implement these templates in `internal/adapter/templates/templates/` so the Tree Runner can execute `add-worker`, `add-db`, and `add-redis`. + +### `worker` Template +* **Location:** `internal/adapter/templates/templates/worker` +* **Structure:** Go service similar to `go-api` but optimized for long-running tasks. +* **Key File:** `cmd/worker/main.go` (starts a queue consumer instead of an HTTP server). +* **Dockerfile:** Standard Go build. +* **Helm Chart:** Deployment (not Service/Ingress). + +### `postgres` Template +* **Location:** `internal/adapter/templates/templates/postgres` +* **Nature:** Infrastructure Wrapper. +* **Helm Chart:** Dependencies on `bitnami/postgresql` or a custom StatefulSet. +* **Outputs:** Connection string secret. + +### `redis` Template +* **Location:** `internal/adapter/templates/templates/redis` +* **Nature:** Infrastructure Wrapper. +* **Helm Chart:** Dependencies on `bitnami/redis`. +* **Outputs:** Host/Port secrets. + +## 2. Missing Shared Packages (Priority: Critical) + +The agent needs standard libraries to avoid writing insecure auth or buggy queues from scratch. These go in `pkg/` at the root of the project templates (or the `skeleton`). + +### `pkg/auth` (for Path 1) +* **JWT Handling:** `Sign(claims) string`, `Parse(token) (*Claims, error)`. +* **Middleware:** `func RequireAuth(next http.Handler) http.Handler`. +* **Context:** `func GetUser(ctx) User`. + +### `pkg/queue` (for Path 2) +* **Interface:** + ```go + type JobQueue interface { + Enqueue(ctx context.Context, topic string, payload any) error + Process(ctx context.Context, topic string, handler func(payload []byte) error) + } + ``` +* **Implementation:** Redis-based (using `go-redis/v9`). + +## 3. SDLC Commands (Priority: Critical) + +The cookbooks use commands that don't exist. We must create the prompt definitions. + +### `.claude/commands/spec-feature.md` +* **Goal:** Generate `spec.md`. +* **Instructions:** "You are a Technical PM. Analyze the feature slug. Write a requirements doc." + +### `.claude/commands/design-feature.md` +* **Goal:** Generate `design.md`. +* **Instructions:** "You are a System Architect. Analyze `spec.md`. Define DB Schema, API Contracts, and Package structure." + +### `.claude/commands/implement-feature.md` +* **Goal:** Write Code. +* **Instructions:** "You are a Senior Go Developer. Read `design.md`. Implement the changes. Run tests." + +## 4. API Verification (Priority: Medium) + +We need to ensure `rdev-api` actually handles the `POST /projects/{id}/builds` endpoint with the `prompt` payload correctly (routing it to the Claude Code agent). + +* **Check:** `cmd/rdev-api/internal/service/build_service.go` (or similar). +* **Verify:** Does it invoke the `claude` CLI inside the project pod? + +## Execution Order + +1. **Templates:** Create `worker`, `postgres`, `redis` folders. +2. **Packages:** Write `pkg/auth` and `pkg/queue` code to be included in the `skeleton` template. +3. **Commands:** Create the 3 markdown files in `.claude/commands/`. +4. **Test:** Run `slackpath-1`. diff --git a/slack-preparation-thoughts.md b/slack-preparation-thoughts.md new file mode 100644 index 0000000..a3cf10b --- /dev/null +++ b/slack-preparation-thoughts.md @@ -0,0 +1,67 @@ +# Slack Preparation Analysis + +To successfully build a Slack-like distributed system using the `rdev` agentic workflow, we must bridge the gap between our current capabilities and the requirements of the `slackpath-*` cookbooks. + +## 1. Success Enablers (What we have) + +* **`pkg/api` Chassis**: A solid Go service foundation (`App` struct) that handles routing, logging (`slog`), middleware, and graceful shutdown. This allows us to spin up consistent APIs quickly. +* **`go-api` Template**: A standardized backend service template in `internal/adapter/templates/templates/go-api` that likely uses the chassis. +* **`skeleton` Template**: A monorepo base to hold multiple services. +* **Tree Runner**: A robust orchestration engine (`tree-runner.sh`) that can execute complex workflows, manage state, and verify deployments. +* **Infrastructure**: We seem to have K8s/Woodpecker integration via `deploy-k8s` skill. + +## 2. Functionality Gaps (What is missing) + +### Critical Infrastructure +* **Missing Component Types**: The cookbooks assume `type: worker`, `type: postgres`, and `type: redis`. Currently, `internal/adapter/templates/templates` only shows `go-api`, `astro-landing`, and `skeleton`. + * *Risk:* `add-db` and `add-worker` steps will fail in the runner. +* **Missing Shared Packages**: + * `pkg/auth`: No standard JWT verification middleware. Agent will have to write security code from scratch (high risk). + * `pkg/redis` or `pkg/queue`: No standard wrapper for Redis interactions or job queues. + * `pkg/websocket`: No standard WS upgrader/handler. + +### SDLC Automation +* **Missing SDLC Commands**: The cookbooks rely on `/spec-feature`, `/design-feature`, and `/implement-feature`. These do **not** exist in `.claude/commands/`. +* **Missing API Logic**: The `rdev-api` endpoints for SDLC (`/sdlc/features`, `/builds`) need to be verified to ensure they support the "Prompt-to-Code" flow described in the cookbooks. + +## 3. Required Claude Configuration + +We need to create/update these to enable the agentic workflow: + +* **`.claude/commands/implement-feature.md`**: Instructions for the agent on how to take a requirement and produce code. +* **`.claude/commands/spec-feature.md`**: Instructions for generating a technical spec artifact. +* **`.claude/commands/design-feature.md`**: Instructions for generating a DB schema/API design artifact. +* **`.claude/skills/distributed-systems.md`**: A skill that teaches the agent about our specific patterns for Worker/API communication (e.g., "Always use `pkg/queue` for async tasks"). + +## 4. Required SDLC Commands (in `rdev-api`) + +The `rdev-api` needs to handle these operations (referenced in cookbooks): + +* `POST /projects/{id}/sdlc/features`: Register a feature. +* `POST /projects/{id}/builds`: Trigger an autonomous build task (Prompt -> Code). +* `GET /projects/{id}/sdlc/next`: The "Classifier" logic to tell the runner what to do next. + +## 5. Core Packages & Patterns to Implement + +Before running `slackpath-1`: + +1. **`pkg/auth`**: + * `GenerateToken(user User) (string, error)` + * `Middleware(secret string) func(http.Handler) http.Handler` + * `UserFromContext(ctx) User` + +2. **`pkg/queue`** (for Path 2): + * `Producer` interface (`Enqueue(job)`) + * `Consumer` interface (`RegisterHandler(type, func)`) + * Redis implementation. + +3. **`pkg/realtime`** (for Path 3): + * Websocket Hub implementation (register, unregister, broadcast). + * Redis Pub/Sub adapter for scaling across pods. + +## Action Plan + +1. **Scaffold Missing Templates**: Create `worker`, `redis` (helm chart wrapper), and `postgres` (helm chart wrapper) in `internal/adapter/templates/templates`. +2. **Build Shared Libs**: Implement `pkg/auth` and `pkg/queue` to standardize the "hard parts". +3. **Install SDLC Commands**: Create the missing markdown files in `.claude/commands`. +4. **Verify API**: Ensure `rdev-api` has the SDLC endpoints mounted.